NNN50 WIFI_API library

Dependents:   NNN50_CE_Test_UDP NNN50_linux_firmware NNN50_SoftAP_HelloWorld NNN50_BLEWIFISensor ... more

This is mbed compatible EthernetInterface lib exclude for Delta DFCM-NNN50 platform.

Additional information and examples can be found in mbed Handbook

Committer:
tsungta
Date:
Mon Sep 04 05:40:11 2017 +0000
Revision:
32:8298a2fb074f
Parent:
28:2abbf8463fa8
56:f4cc53f; Add getRSSI() to readout RSSI while connected with AP router; Add SSL support refer to TCPSocketConnection.connect()

Who changed what in which revision?

UserRevisionLine numberNew contents of line
tsungta 28:2abbf8463fa8 1 /**
tsungta 28:2abbf8463fa8 2 *
tsungta 28:2abbf8463fa8 3 * \file
tsungta 28:2abbf8463fa8 4 *
tsungta 28:2abbf8463fa8 5 * \brief BSD compatible socket interface internal types.
tsungta 28:2abbf8463fa8 6 *
tsungta 28:2abbf8463fa8 7 * Copyright (c) 2016-2017 Atmel Corporation. All rights reserved.
tsungta 28:2abbf8463fa8 8 *
tsungta 28:2abbf8463fa8 9 * \asf_license_start
tsungta 28:2abbf8463fa8 10 *
tsungta 28:2abbf8463fa8 11 * \page License
tsungta 28:2abbf8463fa8 12 *
tsungta 28:2abbf8463fa8 13 * Redistribution and use in source and binary forms, with or without
tsungta 28:2abbf8463fa8 14 * modification, are permitted provided that the following conditions are met:
tsungta 28:2abbf8463fa8 15 *
tsungta 28:2abbf8463fa8 16 * 1. Redistributions of source code must retain the above copyright notice,
tsungta 28:2abbf8463fa8 17 * this list of conditions and the following disclaimer.
tsungta 28:2abbf8463fa8 18 *
tsungta 28:2abbf8463fa8 19 * 2. Redistributions in binary form must reproduce the above copyright notice,
tsungta 28:2abbf8463fa8 20 * this list of conditions and the following disclaimer in the documentation
tsungta 28:2abbf8463fa8 21 * and/or other materials provided with the distribution.
tsungta 28:2abbf8463fa8 22 *
tsungta 28:2abbf8463fa8 23 * 3. The name of Atmel may not be used to endorse or promote products derived
tsungta 28:2abbf8463fa8 24 * from this software without specific prior written permission.
tsungta 28:2abbf8463fa8 25 *
tsungta 28:2abbf8463fa8 26 * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
tsungta 28:2abbf8463fa8 27 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
tsungta 28:2abbf8463fa8 28 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
tsungta 28:2abbf8463fa8 29 * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
tsungta 28:2abbf8463fa8 30 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
tsungta 28:2abbf8463fa8 31 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
tsungta 28:2abbf8463fa8 32 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
tsungta 28:2abbf8463fa8 33 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
tsungta 28:2abbf8463fa8 34 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
tsungta 28:2abbf8463fa8 35 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
tsungta 28:2abbf8463fa8 36 * POSSIBILITY OF SUCH DAMAGE.
tsungta 28:2abbf8463fa8 37 *
tsungta 28:2abbf8463fa8 38 * \asf_license_stop
tsungta 28:2abbf8463fa8 39 *
tsungta 28:2abbf8463fa8 40 */
tsungta 28:2abbf8463fa8 41 #ifndef __M2M_SOCKET_HOST_IF_H__
tsungta 28:2abbf8463fa8 42 #define __M2M_SOCKET_HOST_IF_H__
tsungta 28:2abbf8463fa8 43
tsungta 28:2abbf8463fa8 44
tsungta 28:2abbf8463fa8 45 #ifdef __cplusplus
tsungta 28:2abbf8463fa8 46 extern "C" {
tsungta 28:2abbf8463fa8 47 #endif
tsungta 28:2abbf8463fa8 48
tsungta 28:2abbf8463fa8 49 /*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
tsungta 28:2abbf8463fa8 50 INCLUDES
tsungta 28:2abbf8463fa8 51 *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*/
tsungta 28:2abbf8463fa8 52
tsungta 28:2abbf8463fa8 53 #ifndef _BOOT_
tsungta 28:2abbf8463fa8 54 #ifndef _FIRMWARE_
tsungta 28:2abbf8463fa8 55 #include "socket/include/socket.h"
tsungta 28:2abbf8463fa8 56 #else
tsungta 28:2abbf8463fa8 57 #include "m2m_types.h"
tsungta 28:2abbf8463fa8 58 #endif
tsungta 28:2abbf8463fa8 59 #endif
tsungta 28:2abbf8463fa8 60
tsungta 28:2abbf8463fa8 61 /*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
tsungta 28:2abbf8463fa8 62 MACROS
tsungta 28:2abbf8463fa8 63 *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*/
tsungta 28:2abbf8463fa8 64
tsungta 28:2abbf8463fa8 65 /*
tsungta 28:2abbf8463fa8 66 * HOSTNAME_MAX_SIZE is defined here and also in host_drv/socket/include/socket.h
tsungta 28:2abbf8463fa8 67 * The two definitions must match.
tsungta 28:2abbf8463fa8 68 */
tsungta 28:2abbf8463fa8 69 #ifdef _FIRMWARE_
tsungta 28:2abbf8463fa8 70 #define HOSTNAME_MAX_SIZE (64)
tsungta 28:2abbf8463fa8 71 #endif
tsungta 28:2abbf8463fa8 72
tsungta 28:2abbf8463fa8 73 #define SSL_MAX_OPT_LEN HOSTNAME_MAX_SIZE
tsungta 28:2abbf8463fa8 74
tsungta 28:2abbf8463fa8 75
tsungta 28:2abbf8463fa8 76
tsungta 28:2abbf8463fa8 77 #define SOCKET_CMD_INVALID 0x00
tsungta 28:2abbf8463fa8 78 /*!<
tsungta 28:2abbf8463fa8 79 Invlaid Socket command value.
tsungta 28:2abbf8463fa8 80 */
tsungta 28:2abbf8463fa8 81
tsungta 28:2abbf8463fa8 82
tsungta 28:2abbf8463fa8 83 #define SOCKET_CMD_BIND 0x41
tsungta 28:2abbf8463fa8 84 /*!<
tsungta 28:2abbf8463fa8 85 Socket Binding command value.
tsungta 28:2abbf8463fa8 86 */
tsungta 28:2abbf8463fa8 87
tsungta 28:2abbf8463fa8 88
tsungta 28:2abbf8463fa8 89 #define SOCKET_CMD_LISTEN 0x42
tsungta 28:2abbf8463fa8 90 /*!<
tsungta 28:2abbf8463fa8 91 Socket Listening command value.
tsungta 28:2abbf8463fa8 92 */
tsungta 28:2abbf8463fa8 93
tsungta 28:2abbf8463fa8 94
tsungta 28:2abbf8463fa8 95 #define SOCKET_CMD_ACCEPT 0x43
tsungta 28:2abbf8463fa8 96 /*!<
tsungta 28:2abbf8463fa8 97 Socket Accepting command value.
tsungta 28:2abbf8463fa8 98 */
tsungta 28:2abbf8463fa8 99
tsungta 28:2abbf8463fa8 100
tsungta 28:2abbf8463fa8 101 #define SOCKET_CMD_CONNECT 0x44
tsungta 28:2abbf8463fa8 102 /*!<
tsungta 28:2abbf8463fa8 103 Socket Connecting command value.
tsungta 28:2abbf8463fa8 104 */
tsungta 28:2abbf8463fa8 105
tsungta 28:2abbf8463fa8 106
tsungta 28:2abbf8463fa8 107 #define SOCKET_CMD_SEND 0x45
tsungta 28:2abbf8463fa8 108 /*!<
tsungta 28:2abbf8463fa8 109 Socket send command value.
tsungta 28:2abbf8463fa8 110 */
tsungta 28:2abbf8463fa8 111
tsungta 28:2abbf8463fa8 112
tsungta 28:2abbf8463fa8 113 #define SOCKET_CMD_RECV 0x46
tsungta 28:2abbf8463fa8 114 /*!<
tsungta 28:2abbf8463fa8 115 Socket Recieve command value.
tsungta 28:2abbf8463fa8 116 */
tsungta 28:2abbf8463fa8 117
tsungta 28:2abbf8463fa8 118
tsungta 28:2abbf8463fa8 119 #define SOCKET_CMD_SENDTO 0x47
tsungta 28:2abbf8463fa8 120 /*!<
tsungta 28:2abbf8463fa8 121 Socket sendTo command value.
tsungta 28:2abbf8463fa8 122 */
tsungta 28:2abbf8463fa8 123
tsungta 28:2abbf8463fa8 124
tsungta 28:2abbf8463fa8 125 #define SOCKET_CMD_RECVFROM 0x48
tsungta 28:2abbf8463fa8 126 /*!<
tsungta 28:2abbf8463fa8 127 Socket RecieveFrom command value.
tsungta 28:2abbf8463fa8 128 */
tsungta 28:2abbf8463fa8 129
tsungta 28:2abbf8463fa8 130
tsungta 28:2abbf8463fa8 131 #define SOCKET_CMD_CLOSE 0x49
tsungta 28:2abbf8463fa8 132 /*!<
tsungta 28:2abbf8463fa8 133 Socket Close command value.
tsungta 28:2abbf8463fa8 134 */
tsungta 28:2abbf8463fa8 135
tsungta 28:2abbf8463fa8 136
tsungta 28:2abbf8463fa8 137 #define SOCKET_CMD_DNS_RESOLVE 0x4A
tsungta 28:2abbf8463fa8 138 /*!<
tsungta 28:2abbf8463fa8 139 Socket DNS Resolve command value.
tsungta 28:2abbf8463fa8 140 */
tsungta 28:2abbf8463fa8 141
tsungta 28:2abbf8463fa8 142
tsungta 28:2abbf8463fa8 143 #define SOCKET_CMD_SSL_CONNECT 0x4B
tsungta 28:2abbf8463fa8 144 /*!<
tsungta 28:2abbf8463fa8 145 SSL-Socket Connect command value.
tsungta 28:2abbf8463fa8 146 */
tsungta 28:2abbf8463fa8 147
tsungta 28:2abbf8463fa8 148
tsungta 28:2abbf8463fa8 149 #define SOCKET_CMD_SSL_SEND 0x4C
tsungta 28:2abbf8463fa8 150 /*!<
tsungta 28:2abbf8463fa8 151 SSL-Socket Send command value.
tsungta 28:2abbf8463fa8 152 */
tsungta 28:2abbf8463fa8 153
tsungta 28:2abbf8463fa8 154
tsungta 28:2abbf8463fa8 155 #define SOCKET_CMD_SSL_RECV 0x4D
tsungta 28:2abbf8463fa8 156 /*!<
tsungta 28:2abbf8463fa8 157 SSL-Socket Recieve command value.
tsungta 28:2abbf8463fa8 158 */
tsungta 28:2abbf8463fa8 159
tsungta 28:2abbf8463fa8 160
tsungta 28:2abbf8463fa8 161 #define SOCKET_CMD_SSL_CLOSE 0x4E
tsungta 28:2abbf8463fa8 162 /*!<
tsungta 28:2abbf8463fa8 163 SSL-Socket Close command value.
tsungta 28:2abbf8463fa8 164 */
tsungta 28:2abbf8463fa8 165
tsungta 28:2abbf8463fa8 166
tsungta 28:2abbf8463fa8 167 #define SOCKET_CMD_SET_SOCKET_OPTION 0x4F
tsungta 28:2abbf8463fa8 168 /*!<
tsungta 28:2abbf8463fa8 169 Set Socket Option command value.
tsungta 28:2abbf8463fa8 170 */
tsungta 28:2abbf8463fa8 171
tsungta 28:2abbf8463fa8 172
tsungta 28:2abbf8463fa8 173 #define SOCKET_CMD_SSL_CREATE 0x50
tsungta 28:2abbf8463fa8 174 /*!<
tsungta 28:2abbf8463fa8 175 */
tsungta 28:2abbf8463fa8 176
tsungta 28:2abbf8463fa8 177
tsungta 28:2abbf8463fa8 178 #define SOCKET_CMD_SSL_SET_SOCK_OPT 0x51
tsungta 28:2abbf8463fa8 179 /*!<
tsungta 28:2abbf8463fa8 180 */
tsungta 28:2abbf8463fa8 181
tsungta 28:2abbf8463fa8 182
tsungta 28:2abbf8463fa8 183 #define SOCKET_CMD_PING 0x52
tsungta 28:2abbf8463fa8 184 /*!<
tsungta 28:2abbf8463fa8 185 */
tsungta 28:2abbf8463fa8 186
tsungta 28:2abbf8463fa8 187
tsungta 28:2abbf8463fa8 188 #define SOCKET_CMD_SSL_SET_CS_LIST 0x53
tsungta 28:2abbf8463fa8 189 /*!<
tsungta 28:2abbf8463fa8 190 Recommend instead using @ref M2M_SSL_REQ_SET_CS_LIST and
tsungta 28:2abbf8463fa8 191 associated response @ref M2M_SSL_RESP_SET_CS_LIST
tsungta 28:2abbf8463fa8 192 */
tsungta 28:2abbf8463fa8 193
tsungta 28:2abbf8463fa8 194
tsungta 28:2abbf8463fa8 195 #define SOCKET_CMD_SSL_BIND 0x54
tsungta 28:2abbf8463fa8 196 /*!<
tsungta 28:2abbf8463fa8 197 */
tsungta 28:2abbf8463fa8 198
tsungta 28:2abbf8463fa8 199
tsungta 28:2abbf8463fa8 200 #define SOCKET_CMD_SSL_EXP_CHECK 0x55
tsungta 28:2abbf8463fa8 201 /*!<
tsungta 28:2abbf8463fa8 202 */
tsungta 28:2abbf8463fa8 203
tsungta 28:2abbf8463fa8 204
tsungta 28:2abbf8463fa8 205
tsungta 28:2abbf8463fa8 206 #define PING_ERR_SUCCESS 0
tsungta 28:2abbf8463fa8 207 #define PING_ERR_DEST_UNREACH 1
tsungta 28:2abbf8463fa8 208 #define PING_ERR_TIMEOUT 2
tsungta 28:2abbf8463fa8 209
tsungta 28:2abbf8463fa8 210 /*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
tsungta 28:2abbf8463fa8 211 DATA TYPES
tsungta 28:2abbf8463fa8 212 *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*/
tsungta 28:2abbf8463fa8 213
tsungta 28:2abbf8463fa8 214
tsungta 28:2abbf8463fa8 215 /*!
tsungta 28:2abbf8463fa8 216 * @brief
tsungta 28:2abbf8463fa8 217 */
tsungta 28:2abbf8463fa8 218 typedef struct{
tsungta 28:2abbf8463fa8 219 uint16 u16Family;
tsungta 28:2abbf8463fa8 220 uint16 u16Port;
tsungta 28:2abbf8463fa8 221 uint32 u32IPAddr;
tsungta 28:2abbf8463fa8 222 }tstrSockAddr;
tsungta 28:2abbf8463fa8 223
tsungta 28:2abbf8463fa8 224
tsungta 28:2abbf8463fa8 225 typedef sint8 SOCKET;
tsungta 28:2abbf8463fa8 226 typedef tstrSockAddr tstrUIPSockAddr;
tsungta 28:2abbf8463fa8 227
tsungta 28:2abbf8463fa8 228
tsungta 28:2abbf8463fa8 229
tsungta 28:2abbf8463fa8 230 /*!
tsungta 28:2abbf8463fa8 231 @struct \
tsungta 28:2abbf8463fa8 232 tstrDnsReply
tsungta 28:2abbf8463fa8 233
tsungta 28:2abbf8463fa8 234 @brief
tsungta 28:2abbf8463fa8 235 DNS Reply, contains hostName and HostIP.
tsungta 28:2abbf8463fa8 236 */
tsungta 28:2abbf8463fa8 237 typedef struct{
tsungta 28:2abbf8463fa8 238 char acHostName[HOSTNAME_MAX_SIZE];
tsungta 28:2abbf8463fa8 239 uint32 u32HostIP;
tsungta 28:2abbf8463fa8 240 }tstrDnsReply;
tsungta 28:2abbf8463fa8 241
tsungta 28:2abbf8463fa8 242
tsungta 28:2abbf8463fa8 243 /*!
tsungta 28:2abbf8463fa8 244 @brief
tsungta 28:2abbf8463fa8 245 */
tsungta 28:2abbf8463fa8 246 typedef struct{
tsungta 28:2abbf8463fa8 247 tstrSockAddr strAddr;
tsungta 28:2abbf8463fa8 248 SOCKET sock;
tsungta 28:2abbf8463fa8 249 uint8 u8Void;
tsungta 28:2abbf8463fa8 250 uint16 u16SessionID;
tsungta 28:2abbf8463fa8 251 }tstrBindCmd;
tsungta 28:2abbf8463fa8 252
tsungta 28:2abbf8463fa8 253
tsungta 28:2abbf8463fa8 254 /*!
tsungta 28:2abbf8463fa8 255 @brief
tsungta 28:2abbf8463fa8 256 */
tsungta 28:2abbf8463fa8 257 typedef struct{
tsungta 28:2abbf8463fa8 258 SOCKET sock;
tsungta 28:2abbf8463fa8 259 sint8 s8Status;
tsungta 28:2abbf8463fa8 260 uint16 u16SessionID;
tsungta 28:2abbf8463fa8 261 }tstrBindReply;
tsungta 28:2abbf8463fa8 262
tsungta 28:2abbf8463fa8 263
tsungta 28:2abbf8463fa8 264 /*!
tsungta 28:2abbf8463fa8 265 * @brief
tsungta 28:2abbf8463fa8 266 */
tsungta 28:2abbf8463fa8 267 typedef struct{
tsungta 28:2abbf8463fa8 268 SOCKET sock;
tsungta 28:2abbf8463fa8 269 uint8 u8BackLog;
tsungta 28:2abbf8463fa8 270 uint16 u16SessionID;
tsungta 28:2abbf8463fa8 271 }tstrListenCmd;
tsungta 28:2abbf8463fa8 272
tsungta 28:2abbf8463fa8 273
tsungta 28:2abbf8463fa8 274 /*!
tsungta 28:2abbf8463fa8 275 @struct \
tsungta 28:2abbf8463fa8 276 tstrSocketRecvMsg
tsungta 28:2abbf8463fa8 277
tsungta 28:2abbf8463fa8 278 @brief Socket recv status.
tsungta 28:2abbf8463fa8 279
tsungta 28:2abbf8463fa8 280 It is passed to the APPSocketEventHandler with SOCKET_MSG_RECV or SOCKET_MSG_RECVFROM message type
tsungta 28:2abbf8463fa8 281 in a response to a user call to the recv or recvfrom.
tsungta 28:2abbf8463fa8 282 If the received data from the remote peer is larger than the USER Buffer size (given at recv call), the data is
tsungta 28:2abbf8463fa8 283 delivered to the user in a number of consecutive chunks according to the USER Buffer size.
tsungta 28:2abbf8463fa8 284 */
tsungta 28:2abbf8463fa8 285 typedef struct{
tsungta 28:2abbf8463fa8 286 SOCKET sock;
tsungta 28:2abbf8463fa8 287 sint8 s8Status;
tsungta 28:2abbf8463fa8 288 uint16 u16SessionID;
tsungta 28:2abbf8463fa8 289 }tstrListenReply;
tsungta 28:2abbf8463fa8 290
tsungta 28:2abbf8463fa8 291
tsungta 28:2abbf8463fa8 292 /*!
tsungta 28:2abbf8463fa8 293 * @brief
tsungta 28:2abbf8463fa8 294 */
tsungta 28:2abbf8463fa8 295 typedef struct{
tsungta 28:2abbf8463fa8 296 tstrSockAddr strAddr;
tsungta 28:2abbf8463fa8 297 SOCKET sListenSock;
tsungta 28:2abbf8463fa8 298 SOCKET sConnectedSock;
tsungta 28:2abbf8463fa8 299 uint16 u16AppDataOffset;
tsungta 28:2abbf8463fa8 300 /*!<
tsungta 28:2abbf8463fa8 301 In further packet send requests the host interface should put the user application
tsungta 28:2abbf8463fa8 302 data at this offset in the allocated shared data packet.
tsungta 28:2abbf8463fa8 303 */
tsungta 28:2abbf8463fa8 304 }tstrAcceptReply;
tsungta 28:2abbf8463fa8 305
tsungta 28:2abbf8463fa8 306
tsungta 28:2abbf8463fa8 307 /*!
tsungta 28:2abbf8463fa8 308 * @brief
tsungta 28:2abbf8463fa8 309 */
tsungta 28:2abbf8463fa8 310 typedef struct{
tsungta 28:2abbf8463fa8 311 tstrSockAddr strAddr;
tsungta 28:2abbf8463fa8 312 SOCKET sock;
tsungta 28:2abbf8463fa8 313 uint8 u8SslFlags;
tsungta 28:2abbf8463fa8 314 uint16 u16SessionID;
tsungta 28:2abbf8463fa8 315 }tstrConnectCmd;
tsungta 28:2abbf8463fa8 316
tsungta 28:2abbf8463fa8 317
tsungta 28:2abbf8463fa8 318 /*!
tsungta 28:2abbf8463fa8 319 @struct \
tsungta 28:2abbf8463fa8 320 tstrConnectReply
tsungta 28:2abbf8463fa8 321
tsungta 28:2abbf8463fa8 322 @brief
tsungta 28:2abbf8463fa8 323 Connect Reply, contains sock number and error value
tsungta 28:2abbf8463fa8 324 */
tsungta 28:2abbf8463fa8 325 typedef struct{
tsungta 28:2abbf8463fa8 326 SOCKET sock;
tsungta 28:2abbf8463fa8 327 sint8 s8Error;
tsungta 28:2abbf8463fa8 328 uint16 u16AppDataOffset;
tsungta 28:2abbf8463fa8 329 /*!<
tsungta 28:2abbf8463fa8 330 In further packet send requests the host interface should put the user application
tsungta 28:2abbf8463fa8 331 data at this offset in the allocated shared data packet.
tsungta 28:2abbf8463fa8 332 */
tsungta 28:2abbf8463fa8 333 }tstrConnectReply;
tsungta 28:2abbf8463fa8 334
tsungta 28:2abbf8463fa8 335
tsungta 28:2abbf8463fa8 336 /*!
tsungta 28:2abbf8463fa8 337 @brief
tsungta 28:2abbf8463fa8 338 */
tsungta 28:2abbf8463fa8 339 typedef struct{
tsungta 28:2abbf8463fa8 340 SOCKET sock;
tsungta 28:2abbf8463fa8 341 uint8 u8Void;
tsungta 28:2abbf8463fa8 342 uint16 u16DataSize;
tsungta 28:2abbf8463fa8 343 tstrSockAddr strAddr;
tsungta 28:2abbf8463fa8 344 uint16 u16SessionID;
tsungta 28:2abbf8463fa8 345 uint16 u16Void;
tsungta 28:2abbf8463fa8 346 }tstrSendCmd;
tsungta 28:2abbf8463fa8 347
tsungta 28:2abbf8463fa8 348
tsungta 28:2abbf8463fa8 349 /*!
tsungta 28:2abbf8463fa8 350 @struct \
tsungta 28:2abbf8463fa8 351 tstrSendReply
tsungta 28:2abbf8463fa8 352
tsungta 28:2abbf8463fa8 353 @brief
tsungta 28:2abbf8463fa8 354 Send Reply, contains socket number and number of sent bytes.
tsungta 28:2abbf8463fa8 355 */
tsungta 28:2abbf8463fa8 356 typedef struct{
tsungta 28:2abbf8463fa8 357 SOCKET sock;
tsungta 28:2abbf8463fa8 358 uint8 u8Void;
tsungta 28:2abbf8463fa8 359 sint16 s16SentBytes;
tsungta 28:2abbf8463fa8 360 uint16 u16SessionID;
tsungta 28:2abbf8463fa8 361 uint16 u16Void;
tsungta 28:2abbf8463fa8 362 }tstrSendReply;
tsungta 28:2abbf8463fa8 363
tsungta 28:2abbf8463fa8 364
tsungta 28:2abbf8463fa8 365 /*!
tsungta 28:2abbf8463fa8 366 * @brief
tsungta 28:2abbf8463fa8 367 */
tsungta 28:2abbf8463fa8 368 typedef struct{
tsungta 28:2abbf8463fa8 369 uint32 u32Timeoutmsec;
tsungta 28:2abbf8463fa8 370 SOCKET sock;
tsungta 28:2abbf8463fa8 371 uint8 u8Void;
tsungta 28:2abbf8463fa8 372 uint16 u16SessionID;
tsungta 28:2abbf8463fa8 373 }tstrRecvCmd;
tsungta 28:2abbf8463fa8 374
tsungta 28:2abbf8463fa8 375
tsungta 28:2abbf8463fa8 376 /*!
tsungta 28:2abbf8463fa8 377 @struct
tsungta 28:2abbf8463fa8 378 @brief
tsungta 28:2abbf8463fa8 379 */
tsungta 28:2abbf8463fa8 380 typedef struct{
tsungta 28:2abbf8463fa8 381 tstrSockAddr strRemoteAddr;
tsungta 28:2abbf8463fa8 382 sint16 s16RecvStatus;
tsungta 28:2abbf8463fa8 383 uint16 u16DataOffset;
tsungta 28:2abbf8463fa8 384 SOCKET sock;
tsungta 28:2abbf8463fa8 385 uint8 u8Void;
tsungta 28:2abbf8463fa8 386 uint16 u16SessionID;
tsungta 28:2abbf8463fa8 387 }tstrRecvReply;
tsungta 28:2abbf8463fa8 388
tsungta 28:2abbf8463fa8 389
tsungta 28:2abbf8463fa8 390 /*!
tsungta 28:2abbf8463fa8 391 * @brief
tsungta 28:2abbf8463fa8 392 */
tsungta 28:2abbf8463fa8 393 typedef struct{
tsungta 28:2abbf8463fa8 394 uint32 u32OptionValue;
tsungta 28:2abbf8463fa8 395 SOCKET sock;
tsungta 28:2abbf8463fa8 396 uint8 u8Option;
tsungta 28:2abbf8463fa8 397 uint16 u16SessionID;
tsungta 28:2abbf8463fa8 398 }tstrSetSocketOptCmd;
tsungta 28:2abbf8463fa8 399
tsungta 28:2abbf8463fa8 400
tsungta 28:2abbf8463fa8 401 typedef struct{
tsungta 28:2abbf8463fa8 402 SOCKET sslSock;
tsungta 28:2abbf8463fa8 403 uint8 __PAD24__[3];
tsungta 28:2abbf8463fa8 404 }tstrSSLSocketCreateCmd;
tsungta 28:2abbf8463fa8 405
tsungta 28:2abbf8463fa8 406
tsungta 28:2abbf8463fa8 407 /*!
tsungta 28:2abbf8463fa8 408 * @brief
tsungta 28:2abbf8463fa8 409 */
tsungta 28:2abbf8463fa8 410 typedef struct{
tsungta 28:2abbf8463fa8 411 SOCKET sock;
tsungta 28:2abbf8463fa8 412 uint8 u8Option;
tsungta 28:2abbf8463fa8 413 uint16 u16SessionID;
tsungta 28:2abbf8463fa8 414 uint32 u32OptLen;
tsungta 28:2abbf8463fa8 415 uint8 au8OptVal[SSL_MAX_OPT_LEN];
tsungta 28:2abbf8463fa8 416 }tstrSSLSetSockOptCmd;
tsungta 28:2abbf8463fa8 417
tsungta 28:2abbf8463fa8 418
tsungta 28:2abbf8463fa8 419 /*!
tsungta 28:2abbf8463fa8 420 */
tsungta 28:2abbf8463fa8 421 typedef struct{
tsungta 28:2abbf8463fa8 422 uint32 u32DestIPAddr;
tsungta 28:2abbf8463fa8 423 uint32 u32CmdPrivate;
tsungta 28:2abbf8463fa8 424 uint16 u16PingCount;
tsungta 28:2abbf8463fa8 425 uint8 u8TTL;
tsungta 28:2abbf8463fa8 426 uint8 __PAD8__;
tsungta 28:2abbf8463fa8 427 }tstrPingCmd;
tsungta 28:2abbf8463fa8 428
tsungta 28:2abbf8463fa8 429
tsungta 28:2abbf8463fa8 430 typedef struct{
tsungta 28:2abbf8463fa8 431 uint32 u32IPAddr;
tsungta 28:2abbf8463fa8 432 uint32 u32CmdPrivate;
tsungta 28:2abbf8463fa8 433 uint32 u32RTT;
tsungta 28:2abbf8463fa8 434 uint16 u16Success;
tsungta 28:2abbf8463fa8 435 uint16 u16Fail;
tsungta 28:2abbf8463fa8 436 uint8 u8ErrorCode;
tsungta 28:2abbf8463fa8 437 uint8 __PAD24__[3];
tsungta 28:2abbf8463fa8 438 }tstrPingReply;
tsungta 28:2abbf8463fa8 439
tsungta 28:2abbf8463fa8 440
tsungta 28:2abbf8463fa8 441 /*!
tsungta 28:2abbf8463fa8 442 @struct\
tsungta 28:2abbf8463fa8 443 tstrSslCertExpSettings
tsungta 28:2abbf8463fa8 444
tsungta 28:2abbf8463fa8 445 @brief SSL Certificate Expiry Validation Settings
tsungta 28:2abbf8463fa8 446
tsungta 28:2abbf8463fa8 447 @sa tenuSslCertExpSettings
tsungta 28:2abbf8463fa8 448 */
tsungta 28:2abbf8463fa8 449 typedef struct{
tsungta 28:2abbf8463fa8 450 uint32 u32CertExpValidationOpt;
tsungta 28:2abbf8463fa8 451 /*!<
tsungta 28:2abbf8463fa8 452 See @tenuSslCertExpSettings for possible values.
tsungta 28:2abbf8463fa8 453 */
tsungta 28:2abbf8463fa8 454 }tstrSslCertExpSettings;
tsungta 28:2abbf8463fa8 455
tsungta 28:2abbf8463fa8 456
tsungta 28:2abbf8463fa8 457 #ifdef __cplusplus
tsungta 28:2abbf8463fa8 458 }
tsungta 28:2abbf8463fa8 459 #endif /* __cplusplus */
tsungta 28:2abbf8463fa8 460
tsungta 28:2abbf8463fa8 461 #endif /* __M2M_SOCKET_HOST_IF_H__ */
tsungta 28:2abbf8463fa8 462