Fork of WIFI_API_32kRAM by
WIFI_Driver/nmc/socket_internal.h@0:4085cc9441f3, 2015-06-26 (annotated)
- 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?
User | Revision | Line number | New 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 |