Fork of WIFI_API_32kRAM by Delta

Committer:
Marcomissyou
Date:
Fri Jun 26 09:44:35 2015 +0000
Revision:
0:4085cc9441f3
Commit WIFI_API_32kRAM; This API works on DFCM-NNN40-DT1R(32K RAM).

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Marcomissyou 0:4085cc9441f3 1 /*
Marcomissyou 0:4085cc9441f3 2 @file
Marcomissyou 0:4085cc9441f3 3 socket_internal.h
Marcomissyou 0:4085cc9441f3 4
Marcomissyou 0:4085cc9441f3 5 @brief
Marcomissyou 0:4085cc9441f3 6 */
Marcomissyou 0:4085cc9441f3 7 #ifndef __SOCKET_INTERNAL_H__
Marcomissyou 0:4085cc9441f3 8 #define __SOCKET_INTERNAL_H__
Marcomissyou 0:4085cc9441f3 9
Marcomissyou 0:4085cc9441f3 10
Marcomissyou 0:4085cc9441f3 11 #ifdef __cplusplus
Marcomissyou 0:4085cc9441f3 12 extern "C" {
Marcomissyou 0:4085cc9441f3 13 #endif
Marcomissyou 0:4085cc9441f3 14
Marcomissyou 0:4085cc9441f3 15 /*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
Marcomissyou 0:4085cc9441f3 16 INCLUDES
Marcomissyou 0:4085cc9441f3 17 *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*/
Marcomissyou 0:4085cc9441f3 18
Marcomissyou 0:4085cc9441f3 19 #include "socket_nmc.h"
Marcomissyou 0:4085cc9441f3 20
Marcomissyou 0:4085cc9441f3 21
Marcomissyou 0:4085cc9441f3 22 /*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
Marcomissyou 0:4085cc9441f3 23 MACROS
Marcomissyou 0:4085cc9441f3 24 *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*/
Marcomissyou 0:4085cc9441f3 25
Marcomissyou 0:4085cc9441f3 26
Marcomissyou 0:4085cc9441f3 27 #define SOCKET_CMD_INVALID 0x00
Marcomissyou 0:4085cc9441f3 28 /*< Invlaid Socket command value.
Marcomissyou 0:4085cc9441f3 29 */
Marcomissyou 0:4085cc9441f3 30 #define SOCKET_CMD_BIND 0x41
Marcomissyou 0:4085cc9441f3 31 /*< Socket Binding command value.
Marcomissyou 0:4085cc9441f3 32 */
Marcomissyou 0:4085cc9441f3 33 #define SOCKET_CMD_LISTEN 0x42
Marcomissyou 0:4085cc9441f3 34 /*< Socket Listening command value.
Marcomissyou 0:4085cc9441f3 35 */
Marcomissyou 0:4085cc9441f3 36 #define SOCKET_CMD_ACCEPT 0x43
Marcomissyou 0:4085cc9441f3 37 /*< Socket Accepting command value.
Marcomissyou 0:4085cc9441f3 38 */
Marcomissyou 0:4085cc9441f3 39 #define SOCKET_CMD_CONNECT 0x44
Marcomissyou 0:4085cc9441f3 40 /*< Socket Connecting command value.
Marcomissyou 0:4085cc9441f3 41 */
Marcomissyou 0:4085cc9441f3 42 #define SOCKET_CMD_SEND 0x45
Marcomissyou 0:4085cc9441f3 43 /*< Socket send command value.
Marcomissyou 0:4085cc9441f3 44 */
Marcomissyou 0:4085cc9441f3 45 #define SOCKET_CMD_RECV 0x46
Marcomissyou 0:4085cc9441f3 46 /*< Socket Recieve command value.
Marcomissyou 0:4085cc9441f3 47 */
Marcomissyou 0:4085cc9441f3 48 #define SOCKET_CMD_SENDTO 0x47
Marcomissyou 0:4085cc9441f3 49 /*< Socket sendTo command value.
Marcomissyou 0:4085cc9441f3 50 */
Marcomissyou 0:4085cc9441f3 51 #define SOCKET_CMD_RECVFROM 0x48
Marcomissyou 0:4085cc9441f3 52 /*< Socket RecieveFrom command value.
Marcomissyou 0:4085cc9441f3 53 */
Marcomissyou 0:4085cc9441f3 54 #define SOCKET_CMD_CLOSE 0x49
Marcomissyou 0:4085cc9441f3 55 /*< Socket Close command value.
Marcomissyou 0:4085cc9441f3 56 */
Marcomissyou 0:4085cc9441f3 57 #define SOCKET_CMD_DNS_RESOLVE 0x4A
Marcomissyou 0:4085cc9441f3 58 /*< Socket DNS Resolve command value.
Marcomissyou 0:4085cc9441f3 59 */
Marcomissyou 0:4085cc9441f3 60 #define SOCKET_CMD_SSL_CONNECT 0x4B
Marcomissyou 0:4085cc9441f3 61 /*< SSL-Socket Connect command value.
Marcomissyou 0:4085cc9441f3 62 */
Marcomissyou 0:4085cc9441f3 63 #define SOCKET_CMD_SSL_SEND 0x4C
Marcomissyou 0:4085cc9441f3 64 /*< SSL-Socket Send command value.
Marcomissyou 0:4085cc9441f3 65 */
Marcomissyou 0:4085cc9441f3 66 #define SOCKET_CMD_SSL_RECV 0x4D
Marcomissyou 0:4085cc9441f3 67 /*< SSL-Socket Recieve command value.
Marcomissyou 0:4085cc9441f3 68 */
Marcomissyou 0:4085cc9441f3 69 #define SOCKET_CMD_SSL_CLOSE 0x4E
Marcomissyou 0:4085cc9441f3 70 /*< SSL-Socket Close command value.
Marcomissyou 0:4085cc9441f3 71 */
Marcomissyou 0:4085cc9441f3 72 #define SOCKET_CMD_DHCP_CLIENT 0x4F
Marcomissyou 0:4085cc9441f3 73 /*< DHCP Client command value.
Marcomissyou 0:4085cc9441f3 74 */
Marcomissyou 0:4085cc9441f3 75 #define SOCKET_CMD_TCP_ERROR 0x50
Marcomissyou 0:4085cc9441f3 76 /*!< TCP Error command value.
Marcomissyou 0:4085cc9441f3 77 */
Marcomissyou 0:4085cc9441f3 78
Marcomissyou 0:4085cc9441f3 79
Marcomissyou 0:4085cc9441f3 80 /*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
Marcomissyou 0:4085cc9441f3 81 DATA TYPES
Marcomissyou 0:4085cc9441f3 82 *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*/
Marcomissyou 0:4085cc9441f3 83
Marcomissyou 0:4085cc9441f3 84
Marcomissyou 0:4085cc9441f3 85 /*
Marcomissyou 0:4085cc9441f3 86 * @brief
Marcomissyou 0:4085cc9441f3 87 */
Marcomissyou 0:4085cc9441f3 88 typedef struct{
Marcomissyou 0:4085cc9441f3 89 uint16 u16Family;
Marcomissyou 0:4085cc9441f3 90 uint16 u16Port;
Marcomissyou 0:4085cc9441f3 91 uint32 u32IPAddr;
Marcomissyou 0:4085cc9441f3 92 }tstrSockAddr;
Marcomissyou 0:4085cc9441f3 93
Marcomissyou 0:4085cc9441f3 94
Marcomissyou 0:4085cc9441f3 95
Marcomissyou 0:4085cc9441f3 96 /*
Marcomissyou 0:4085cc9441f3 97 @struct \
Marcomissyou 0:4085cc9441f3 98 tstrDnsReply
Marcomissyou 0:4085cc9441f3 99
Marcomissyou 0:4085cc9441f3 100 @brief
Marcomissyou 0:4085cc9441f3 101 DNS Reply, contains hostName and HostIP.
Marcomissyou 0:4085cc9441f3 102 */
Marcomissyou 0:4085cc9441f3 103 typedef struct{
Marcomissyou 0:4085cc9441f3 104 char acHostName[HOSTNAME_MAX_SIZE];
Marcomissyou 0:4085cc9441f3 105 uint32 u32HostIP;
Marcomissyou 0:4085cc9441f3 106 }tstrDnsReply;
Marcomissyou 0:4085cc9441f3 107
Marcomissyou 0:4085cc9441f3 108
Marcomissyou 0:4085cc9441f3 109 /*
Marcomissyou 0:4085cc9441f3 110 @struct \
Marcomissyou 0:4085cc9441f3 111 tstrDhcpClientReply
Marcomissyou 0:4085cc9441f3 112
Marcomissyou 0:4085cc9441f3 113 @brief
Marcomissyou 0:4085cc9441f3 114 DHCP Client Reply, contains OfferIP.
Marcomissyou 0:4085cc9441f3 115 */
Marcomissyou 0:4085cc9441f3 116 typedef struct{
Marcomissyou 0:4085cc9441f3 117 uint32 u32OfferIP;
Marcomissyou 0:4085cc9441f3 118 uint32 u32GatewayIP;
Marcomissyou 0:4085cc9441f3 119 }tstrDhcpClientReply;
Marcomissyou 0:4085cc9441f3 120
Marcomissyou 0:4085cc9441f3 121 /*
Marcomissyou 0:4085cc9441f3 122 @struct \
Marcomissyou 0:4085cc9441f3 123 tstrConnectReply
Marcomissyou 0:4085cc9441f3 124
Marcomissyou 0:4085cc9441f3 125 @brief
Marcomissyou 0:4085cc9441f3 126 Connect Reply, contains sock number and error value
Marcomissyou 0:4085cc9441f3 127 */
Marcomissyou 0:4085cc9441f3 128 typedef struct{
Marcomissyou 0:4085cc9441f3 129 SOCKET sock;
Marcomissyou 0:4085cc9441f3 130 sint8 s8Error;
Marcomissyou 0:4085cc9441f3 131 uint16 u16Void;
Marcomissyou 0:4085cc9441f3 132 }tstrConnectReply;
Marcomissyou 0:4085cc9441f3 133
Marcomissyou 0:4085cc9441f3 134
Marcomissyou 0:4085cc9441f3 135 /*
Marcomissyou 0:4085cc9441f3 136 @struct \
Marcomissyou 0:4085cc9441f3 137 tstrTCPErrorReply
Marcomissyou 0:4085cc9441f3 138
Marcomissyou 0:4085cc9441f3 139 @brief
Marcomissyou 0:4085cc9441f3 140 Connect Reply, contains sock number and error value
Marcomissyou 0:4085cc9441f3 141 */
Marcomissyou 0:4085cc9441f3 142 typedef struct{
Marcomissyou 0:4085cc9441f3 143 SOCKET sock;
Marcomissyou 0:4085cc9441f3 144 sint8 s8Error;
Marcomissyou 0:4085cc9441f3 145 uint16 u16Void;
Marcomissyou 0:4085cc9441f3 146 }tstrTCPErrorReply;
Marcomissyou 0:4085cc9441f3 147
Marcomissyou 0:4085cc9441f3 148 /*
Marcomissyou 0:4085cc9441f3 149 * @brief
Marcomissyou 0:4085cc9441f3 150 */
Marcomissyou 0:4085cc9441f3 151 typedef struct{
Marcomissyou 0:4085cc9441f3 152 tstrSockAddr strAddr;
Marcomissyou 0:4085cc9441f3 153 SOCKET sListenSock;
Marcomissyou 0:4085cc9441f3 154 SOCKET sConnectedSock;
Marcomissyou 0:4085cc9441f3 155 uint16 u16Void;
Marcomissyou 0:4085cc9441f3 156 }tstrAcceptReply;
Marcomissyou 0:4085cc9441f3 157
Marcomissyou 0:4085cc9441f3 158
Marcomissyou 0:4085cc9441f3 159 /*
Marcomissyou 0:4085cc9441f3 160 @brief
Marcomissyou 0:4085cc9441f3 161 */
Marcomissyou 0:4085cc9441f3 162 typedef struct{
Marcomissyou 0:4085cc9441f3 163 SOCKET sock;
Marcomissyou 0:4085cc9441f3 164 sint8 s8Status;
Marcomissyou 0:4085cc9441f3 165 uint16 u16Void;
Marcomissyou 0:4085cc9441f3 166 }tstrBindReply;
Marcomissyou 0:4085cc9441f3 167
Marcomissyou 0:4085cc9441f3 168
Marcomissyou 0:4085cc9441f3 169 /*
Marcomissyou 0:4085cc9441f3 170 @struct \
Marcomissyou 0:4085cc9441f3 171 tstrSocketRecvMsg
Marcomissyou 0:4085cc9441f3 172
Marcomissyou 0:4085cc9441f3 173 @brief Socket recv status.
Marcomissyou 0:4085cc9441f3 174
Marcomissyou 0:4085cc9441f3 175 It is passed to the APPSocketEventHandler with SOCKET_MSG_RECV or SOCKET_MSG_RECVFROM message type
Marcomissyou 0:4085cc9441f3 176 in a response to a user call to the recv or recvfrom.
Marcomissyou 0:4085cc9441f3 177 If the received data from the remote peer is larger than the USER Buffer size (given at recv call), the data is
Marcomissyou 0:4085cc9441f3 178 delivered to the user in a number of consecutive chunks according to the USER Buffer size.
Marcomissyou 0:4085cc9441f3 179 */
Marcomissyou 0:4085cc9441f3 180 typedef struct{
Marcomissyou 0:4085cc9441f3 181 SOCKET sock;
Marcomissyou 0:4085cc9441f3 182 sint8 s8Status;
Marcomissyou 0:4085cc9441f3 183 uint16 u16Void;
Marcomissyou 0:4085cc9441f3 184 }tstrListenReply;
Marcomissyou 0:4085cc9441f3 185
Marcomissyou 0:4085cc9441f3 186
Marcomissyou 0:4085cc9441f3 187 /*
Marcomissyou 0:4085cc9441f3 188 @struct \
Marcomissyou 0:4085cc9441f3 189 tstrSendReply
Marcomissyou 0:4085cc9441f3 190
Marcomissyou 0:4085cc9441f3 191 @brief
Marcomissyou 0:4085cc9441f3 192 Send Reply, contains socket number and number of sent bytes.
Marcomissyou 0:4085cc9441f3 193 */
Marcomissyou 0:4085cc9441f3 194 typedef struct{
Marcomissyou 0:4085cc9441f3 195 SOCKET sock;
Marcomissyou 0:4085cc9441f3 196 uint8 u8Void;
Marcomissyou 0:4085cc9441f3 197 sint16 s16SentBytes;
Marcomissyou 0:4085cc9441f3 198 }tstrSendReply;
Marcomissyou 0:4085cc9441f3 199
Marcomissyou 0:4085cc9441f3 200
Marcomissyou 0:4085cc9441f3 201 /*
Marcomissyou 0:4085cc9441f3 202 @struct
Marcomissyou 0:4085cc9441f3 203 @brief
Marcomissyou 0:4085cc9441f3 204 */
Marcomissyou 0:4085cc9441f3 205 typedef struct{
Marcomissyou 0:4085cc9441f3 206 tstrSockAddr strRemoteAddr;
Marcomissyou 0:4085cc9441f3 207 sint16 s16RecvStatus;
Marcomissyou 0:4085cc9441f3 208 uint16 u16DataOffset;
Marcomissyou 0:4085cc9441f3 209 SOCKET sock;
Marcomissyou 0:4085cc9441f3 210 uint8 u8Void;
Marcomissyou 0:4085cc9441f3 211 uint16 u16Void;
Marcomissyou 0:4085cc9441f3 212 }tstrRecvReply;
Marcomissyou 0:4085cc9441f3 213
Marcomissyou 0:4085cc9441f3 214 /*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
Marcomissyou 0:4085cc9441f3 215 FUNCTION PROTOTYPES
Marcomissyou 0:4085cc9441f3 216 *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*/
Marcomissyou 0:4085cc9441f3 217
Marcomissyou 0:4085cc9441f3 218 NMI_API void Socket_ReadSocketData(SOCKET sock, tstrSocketRecvMsg *pstrRecv,uint8 u8SocketMsg,
Marcomissyou 0:4085cc9441f3 219 uint32 u32StartAddress,uint16 u16ReadCount, uint8 u8Skip);
Marcomissyou 0:4085cc9441f3 220
Marcomissyou 0:4085cc9441f3 221 #ifdef __cplusplus
Marcomissyou 0:4085cc9441f3 222 }
Marcomissyou 0:4085cc9441f3 223 #endif /* __cplusplus */
Marcomissyou 0:4085cc9441f3 224
Marcomissyou 0:4085cc9441f3 225 #endif /* __SOCKET_H__ */
Marcomissyou 0:4085cc9441f3 226