Update revision to use TI's mqtt and Freertos.

Dependencies:   mbed client server

Fork of cc3100_Test_mqtt_CM3 by David Fletcher

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers cc3100_protocol.h Source File

cc3100_protocol.h

00001 /*
00002  * protocol.h - CC31xx/CC32xx Host Driver Implementation
00003  *
00004  * Copyright (C) 2014 Texas Instruments Incorporated - http://www.ti.com/
00005  *
00006  *
00007  *  Redistribution and use in source and binary forms, with or without
00008  *  modification, are permitted provided that the following conditions
00009  *  are met:
00010  *
00011  *    Redistributions of source code must retain the above copyright
00012  *    notice, this list of conditions and the following disclaimer.
00013  *
00014  *    Redistributions in binary form must reproduce the above copyright
00015  *    notice, this list of conditions and the following disclaimer in the
00016  *    documentation and/or other materials provided with the
00017  *    distribution.
00018  *
00019  *    Neither the name of Texas Instruments Incorporated nor the names of
00020  *    its contributors may be used to endorse or promote products derived
00021  *    from this software without specific prior written permission.
00022  *
00023  *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
00024  *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
00025  *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
00026  *  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
00027  *  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
00028  *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
00029  *  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
00030  *  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
00031  *  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00032  *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00033  *  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00034  *
00035 */
00036 
00037 /*******************************************************************************\
00038 *
00039 *   FILE NAME:      protocol.h
00040 *
00041 *   DESCRIPTION:    Constant and data structure definitions and function
00042 *                   prototypes for the SL protocol module, which implements
00043 *                   processing of SimpleLink Commands.
00044 *
00045 *   AUTHOR:
00046 *
00047 \*******************************************************************************/
00048 
00049 #ifndef SL_PROTOCOL_TYPES_H_
00050 #define SL_PROTOCOL_TYPES_H_
00051 
00052 namespace mbed_cc3100 {
00053 
00054 /****************************************************************************
00055 **
00056 **  User I/F pools definitions
00057 **
00058 ****************************************************************************/
00059 
00060 /****************************************************************************
00061 **
00062 **  Definitions for SimpleLink Commands
00063 **
00064 ****************************************************************************/
00065 
00066 
00067 /* pattern for LE 8/16/32 or BE*/
00068 #define H2N_SYNC_PATTERN     {0xBBDDEEFF,0x4321,0x34,0x12}
00069 #define H2N_CNYS_PATTERN     {0xBBDDEEFF,0x8765,0x78,0x56}
00070 
00071 const uint32_t H2N_DUMMY_PATTERN         =  (uint32_t)0xFFFFFFFF;
00072 const uint32_t N2H_SYNC_PATTERN          =  (uint32_t)0xABCDDCBA;
00073 const uint32_t SYNC_PATTERN_LEN          =  (uint32_t)sizeof(uint32_t);
00074 const uint32_t UART_SET_MODE_MAGIC_CODE  =  (uint32_t)0xAA55AA55;
00075 #define SPI_16BITS_BUG(pattern)     (uint32_t)((uint32_t)pattern & (uint32_t)0xFFFF7FFF)
00076 #define SPI_8BITS_BUG(pattern)      (uint32_t)((uint32_t)pattern & (uint32_t)0xFFFFFF7F)
00077 
00078 
00079 
00080 typedef struct {
00081     uint16_t Opcode;
00082     uint16_t Len;
00083 } _SlGenericHeader_t;
00084 
00085 
00086 typedef struct {
00087     uint32_t  Long;
00088     uint16_t  Short;
00089     uint8_t  Byte1;
00090     uint8_t  Byte2;
00091 } _SlSyncPattern_t;
00092 
00093 typedef _SlGenericHeader_t _SlCommandHeader_t;
00094 
00095 typedef struct {
00096     _SlGenericHeader_t  GenHeader;
00097     uint8_t               TxPoolCnt;
00098     uint8_t               DevStatus;
00099     uint8_t               SocketTXFailure;
00100     uint8_t               SocketNonBlocking;
00101 } _SlResponseHeader_t;
00102 
00103 #define _SL_RESP_SPEC_HDR_SIZE (sizeof(_SlResponseHeader_t) - sizeof(_SlGenericHeader_t))
00104 #define _SL_RESP_HDR_SIZE       sizeof(_SlResponseHeader_t)
00105 #define _SL_CMD_HDR_SIZE        sizeof(_SlCommandHeader_t)
00106 
00107 #define _SL_RESP_ARGS_START(_pMsg) (((_SlResponseHeader_t *)(_pMsg)) + 1)
00108 
00109 /* Used only in NWP! */
00110 typedef struct {
00111     _SlCommandHeader_t  sl_hdr;
00112     uint8_t   func_args_start;
00113 } T_SCMD;
00114 
00115 
00116 const uint8_t WLAN_CONN_STATUS_BIT  =  0x01;
00117 const uint8_t EVENTS_Q_STATUS_BIT   =  0x02;
00118 const uint8_t PENDING_RCV_CMD_BIT   =  0x04;
00119 const uint8_t FW_BUSY_PACKETS_BIT   =  0x08;
00120 
00121 const uint32_t INIT_STA_OK          =  0x11111111;
00122 const uint32_t INIT_STA_ERR         =  0x22222222;
00123 const uint32_t INIT_AP_OK           =  0x33333333;
00124 const uint32_t INIT_AP_ERR          =  0x44444444;
00125 const uint32_t INIT_P2P_OK          =  0x55555555;
00126 const uint32_t INIT_P2P_ERR         =  0x66666666;
00127 
00128 /****************************************************************************
00129 **  OPCODES
00130 ****************************************************************************/
00131 const uint16_t SL_IPV4_IPV6_OFFSET                        =     ( 9 );
00132 const uint16_t SL_OPCODE_IPV4                             =     ( 0x0 << SL_IPV4_IPV6_OFFSET );
00133 const uint16_t SL_OPCODE_IPV6                             =     ( 0x1 << SL_IPV4_IPV6_OFFSET );
00134 
00135 const uint16_t SL_SYNC_ASYNC_OFFSET                       =     ( 10 );
00136 const uint16_t SL_OPCODE_SYNC                             =     (0x1 << SL_SYNC_ASYNC_OFFSET );
00137 const uint16_t SL_OPCODE_SILO_OFFSET                      =     ( 11 );
00138 const uint16_t SL_OPCODE_SILO_MASK                        =     ( 0xF << SL_OPCODE_SILO_OFFSET );
00139 const uint16_t SL_OPCODE_SILO_DEVICE                      =     ( 0x0 << SL_OPCODE_SILO_OFFSET );
00140 const uint16_t SL_OPCODE_SILO_WLAN                        =     ( 0x1 << SL_OPCODE_SILO_OFFSET );
00141 const uint16_t SL_OPCODE_SILO_SOCKET                      =     ( 0x2 << SL_OPCODE_SILO_OFFSET );
00142 const uint16_t SL_OPCODE_SILO_NETAPP                      =     ( 0x3 << SL_OPCODE_SILO_OFFSET );
00143 const uint16_t SL_OPCODE_SILO_NVMEM                       =     ( 0x4 << SL_OPCODE_SILO_OFFSET );
00144 const uint16_t SL_OPCODE_SILO_NETCFG                      =     ( 0x5 << SL_OPCODE_SILO_OFFSET );
00145 
00146 const uint16_t SL_FAMILY_SHIFT                            =     (0x4);
00147 const uint16_t SL_FLAGS_MASK                              =     (0xF);
00148 
00149 const uint16_t SL_OPCODE_DEVICE_INITCOMPLETE                         =          0x0008;
00150 const uint16_t SL_OPCODE_DEVICE_ABORT                                =          0x000C;
00151 const uint16_t SL_OPCODE_DEVICE_STOP_COMMAND                         =          0x8473;
00152 const uint16_t SL_OPCODE_DEVICE_STOP_RESPONSE                        =          0x0473;
00153 const uint16_t SL_OPCODE_DEVICE_STOP_ASYNC_RESPONSE                  =          0x0073;
00154 const uint16_t SL_OPCODE_DEVICE_DEVICEASYNCDUMMY                     =          0x0063;
00155 
00156 const uint16_t SL_OPCODE_DEVICE_VERSIONREADCOMMAND                   =          0x8470;
00157 const uint16_t SL_OPCODE_DEVICE_VERSIONREADRESPONSE                  =          0x0470;
00158 const uint16_t SL_OPCODE_DEVICE_DEVICEASYNCFATALERROR                =          0x0078;
00159 const uint16_t SL_OPCODE_WLAN_WLANCONNECTCOMMAND                     =          0x8C80;
00160 const uint16_t SL_OPCODE_WLAN_WLANCONNECTRESPONSE                    =          0x0C80;
00161 const uint16_t SL_OPCODE_WLAN_WLANASYNCCONNECTEDRESPONSE             =          0x0880;
00162 const uint16_t SL_OPCODE_WLAN_P2P_DEV_FOUND                          =          0x0830;
00163 const uint16_t SL_OPCODE_WLAN_CONNECTION_FAILED                      =          0x0831;
00164 const uint16_t SL_OPCODE_WLAN_P2P_NEG_REQ_RECEIVED                   =          0x0832;
00165 
00166 const uint16_t SL_OPCODE_WLAN_WLANDISCONNECTCOMMAND                  =          0x8C81;
00167 const uint16_t SL_OPCODE_WLAN_WLANDISCONNECTRESPONSE                 =          0x0C81;
00168 const uint16_t SL_OPCODE_WLAN_WLANASYNCDISCONNECTEDRESPONSE          =          0x0881;
00169 const uint16_t SL_OPCODE_WLAN_WLANCONNECTEAPCOMMAND                  =          0x8C82;
00170 const uint16_t SL_OPCODE_WLAN_WLANCONNECTEAPCRESPONSE                =          0x0C82;
00171 const uint16_t SL_OPCODE_WLAN_PROFILEADDCOMMAND                      =          0x8C83;
00172 const uint16_t SL_OPCODE_WLAN_PROFILEADDRESPONSE                     =          0x0C83;
00173 const uint16_t SL_OPCODE_WLAN_PROFILEGETCOMMAND                      =          0x8C84;
00174 const uint16_t SL_OPCODE_WLAN_PROFILEGETRESPONSE                     =          0x0C84;
00175 const uint16_t SL_OPCODE_WLAN_PROFILEDELCOMMAND                      =          0x8C85;
00176 const uint16_t SL_OPCODE_WLAN_PROFILEDELRESPONSE                     =          0x0C85;
00177 const uint16_t SL_OPCODE_WLAN_POLICYSETCOMMAND                       =          0x8C86;
00178 const uint16_t SL_OPCODE_WLAN_POLICYSETRESPONSE                      =          0x0C86;
00179 const uint16_t SL_OPCODE_WLAN_POLICYGETCOMMAND                       =          0x8C87;
00180 const uint16_t SL_OPCODE_WLAN_POLICYGETRESPONSE                      =          0x0C87;
00181 const uint16_t SL_OPCODE_WLAN_FILTERADD                              =          0x8C88;
00182 const uint16_t SL_OPCODE_WLAN_FILTERADDRESPONSE                      =          0x0C88;
00183 const uint16_t SL_OPCODE_WLAN_FILTERGET                              =          0x8C89;
00184 const uint16_t SL_OPCODE_WLAN_FILTERGETRESPONSE                      =          0x0C89;
00185 const uint16_t SL_OPCODE_WLAN_FILTERDELETE                           =          0x8C8A;
00186 const uint16_t SL_OPCODE_WLAN_FILTERDELETERESPOSNE                   =          0x0C8A;
00187 const uint16_t SL_OPCODE_WLAN_WLANGETSTATUSCOMMAND                   =          0x8C8F;
00188 const uint16_t SL_OPCODE_WLAN_WLANGETSTATUSRESPONSE                  =          0x0C8F;
00189 const uint16_t SL_OPCODE_WLAN_STARTTXCONTINUESCOMMAND                =          0x8CAA;
00190 const uint16_t SL_OPCODE_WLAN_STARTTXCONTINUESRESPONSE               =          0x0CAA;
00191 const uint16_t SL_OPCODE_WLAN_STOPTXCONTINUESCOMMAND                 =          0x8CAB;
00192 const uint16_t SL_OPCODE_WLAN_STOPTXCONTINUESRESPONSE                =          0x0CAB;
00193 const uint16_t SL_OPCODE_WLAN_STARTRXSTATCOMMAND                     =          0x8CAC;
00194 const uint16_t SL_OPCODE_WLAN_STARTRXSTATRESPONSE                    =          0x0CAC;
00195 const uint16_t SL_OPCODE_WLAN_STOPRXSTATCOMMAND                      =          0x8CAD;
00196 const uint16_t SL_OPCODE_WLAN_STOPRXSTATRESPONSE                     =          0x0CAD;
00197 const uint16_t SL_OPCODE_WLAN_GETRXSTATCOMMAND                       =          0x8CAF;
00198 const uint16_t SL_OPCODE_WLAN_GETRXSTATRESPONSE                      =          0x0CAF;
00199 const uint16_t SL_OPCODE_WLAN_POLICYSETCOMMANDNEW                    =          0x8CB0;
00200 const uint16_t SL_OPCODE_WLAN_POLICYSETRESPONSENEW                   =          0x0CB0;
00201 const uint16_t SL_OPCODE_WLAN_POLICYGETCOMMANDNEW                    =          0x8CB1;
00202 const uint16_t SL_OPCODE_WLAN_POLICYGETRESPONSENEW                   =          0x0CB1;
00203 
00204 const uint16_t SL_OPCODE_WLAN_SMART_CONFIG_START_COMMAND             =          0x8CB2;
00205 const uint16_t SL_OPCODE_WLAN_SMART_CONFIG_START_RESPONSE            =          0x0CB2;
00206 const uint16_t SL_OPCODE_WLAN_SMART_CONFIG_START_ASYNC_RESPONSE      =          0x08B2;
00207 const uint16_t SL_OPCODE_WLAN_SMART_CONFIG_STOP_COMMAND              =          0x8CB3;
00208 const uint16_t SL_OPCODE_WLAN_SMART_CONFIG_STOP_RESPONSE             =          0x0CB3;
00209 const uint16_t SL_OPCODE_WLAN_SMART_CONFIG_STOP_ASYNC_RESPONSE       =          0x08B3;
00210 const uint16_t SL_OPCODE_WLAN_SET_MODE                               =          0x8CB4;
00211 const uint16_t SL_OPCODE_WLAN_SET_MODE_RESPONSE                      =          0x0CB4;
00212 const uint16_t SL_OPCODE_WLAN_CFG_SET                                =          0x8CB5;
00213 const uint16_t SL_OPCODE_WLAN_CFG_SET_RESPONSE                       =          0x0CB5;
00214 const uint16_t SL_OPCODE_WLAN_CFG_GET                                =          0x8CB6;
00215 const uint16_t SL_OPCODE_WLAN_CFG_GET_RESPONSE                       =          0x0CB6;
00216 const uint16_t SL_OPCODE_WLAN_STA_CONNECTED                          =          0x082E;
00217 const uint16_t SL_OPCODE_WLAN_STA_DISCONNECTED                       =          0x082F;
00218 const uint16_t SL_OPCODE_WLAN_EAP_PROFILEADDCOMMAND                  =          0x8C67;
00219 const uint16_t SL_OPCODE_WLAN_EAP_PROFILEADDCOMMAND_RESPONSE         =          0x0C67;
00220 
00221 const uint16_t SL_OPCODE_SOCKET_SOCKET                               =          0x9401;
00222 const uint16_t SL_OPCODE_SOCKET_SOCKETRESPONSE                       =          0x1401;
00223 const uint16_t SL_OPCODE_SOCKET_CLOSE                                =          0x9402;
00224 const uint16_t SL_OPCODE_SOCKET_CLOSERESPONSE                        =          0x1402;
00225 const uint16_t SL_OPCODE_SOCKET_ACCEPT                               =          0x9403;
00226 const uint16_t SL_OPCODE_SOCKET_ACCEPTRESPONSE                       =          0x1403;
00227 const uint16_t SL_OPCODE_SOCKET_ACCEPTASYNCRESPONSE                  =          0x1003;
00228 const uint16_t SL_OPCODE_SOCKET_ACCEPTASYNCRESPONSE_V6               =          0x1203;
00229 const uint16_t SL_OPCODE_SOCKET_BIND                                 =          0x9404;
00230 const uint16_t SL_OPCODE_SOCKET_BIND_V6                              =          0x9604;
00231 const uint16_t SL_OPCODE_SOCKET_BINDRESPONSE                         =          0x1404;
00232 const uint16_t SL_OPCODE_SOCKET_LISTEN                               =          0x9405;
00233 const uint16_t SL_OPCODE_SOCKET_LISTENRESPONSE                       =          0x1405;
00234 const uint16_t SL_OPCODE_SOCKET_CONNECT                              =          0x9406;
00235 const uint16_t SL_OPCODE_SOCKET_CONNECT_V6                           =          0x9606;
00236 const uint16_t SL_OPCODE_SOCKET_CONNECTRESPONSE                      =          0x1406;
00237 const uint16_t SL_OPCODE_SOCKET_CONNECTASYNCRESPONSE                 =          0x1006;
00238 const uint16_t SL_OPCODE_SOCKET_SELECT                               =          0x9407;
00239 const uint16_t SL_OPCODE_SOCKET_SELECTRESPONSE                       =          0x1407;
00240 const uint16_t SL_OPCODE_SOCKET_SELECTASYNCRESPONSE                  =          0x1007;
00241 const uint16_t SL_OPCODE_SOCKET_SETSOCKOPT                           =          0x9408;
00242 const uint16_t SL_OPCODE_SOCKET_SETSOCKOPTRESPONSE                   =          0x1408;
00243 const uint16_t SL_OPCODE_SOCKET_GETSOCKOPT                           =          0x9409;
00244 const uint16_t SL_OPCODE_SOCKET_GETSOCKOPTRESPONSE                   =          0x1409;
00245 const uint16_t SL_OPCODE_SOCKET_RECV                                 =          0x940A;
00246 const uint16_t SL_OPCODE_SOCKET_RECVASYNCRESPONSE                    =          0x100A;
00247 const uint16_t SL_OPCODE_SOCKET_RECVFROM                             =          0x940B;
00248 const uint16_t SL_OPCODE_SOCKET_RECVFROMASYNCRESPONSE                =          0x100B;
00249 const uint16_t SL_OPCODE_SOCKET_RECVFROMASYNCRESPONSE_V6             =          0x120B;
00250 const uint16_t SL_OPCODE_SOCKET_SEND                                 =          0x940C;
00251 const uint16_t SL_OPCODE_SOCKET_SENDTO                               =          0x940D;
00252 const uint16_t SL_OPCODE_SOCKET_SENDTO_V6                            =          0x960D;
00253 const uint16_t SL_OPCODE_SOCKET_TXFAILEDASYNCRESPONSE                =          0x100E;
00254 const uint16_t SL_OPCODE_SOCKET_SOCKETASYNCEVENT                     =          0x100F;
00255 const uint16_t SL_OPCODE_NETAPP_START_COMMAND                        =          0x9C0A;
00256 const uint16_t SL_OPCODE_NETAPP_START_RESPONSE                       =          0x1C0A;
00257 const uint16_t SL_OPCODE_NETAPP_NETAPPSTARTRESPONSE                  =          0x1C0A;
00258 const uint16_t SL_OPCODE_NETAPP_STOP_COMMAND                         =          0x9C61;
00259 const uint16_t SL_OPCODE_NETAPP_STOP_RESPONSE                        =          0x1C61;
00260 const uint16_t SL_OPCODE_NETAPP_NETAPPSET                            =          0x9C0B;
00261 const uint16_t SL_OPCODE_NETAPP_NETAPPSETRESPONSE                    =          0x1C0B;
00262 const uint16_t SL_OPCODE_NETAPP_NETAPPGET                            =          0x9C27;
00263 const uint16_t SL_OPCODE_NETAPP_NETAPPGETRESPONSE                    =          0x1C27;
00264 const uint16_t SL_OPCODE_NETAPP_DNSGETHOSTBYNAME                     =          0x9C20;
00265 const uint16_t SL_OPCODE_NETAPP_DNSGETHOSTBYNAMERESPONSE             =          0x1C20;
00266 const uint16_t SL_OPCODE_NETAPP_DNSGETHOSTBYNAMEASYNCRESPONSE        =          0x1820;
00267 const uint16_t SL_OPCODE_NETAPP_DNSGETHOSTBYNAMEASYNCRESPONSE_V6     =          0x1A20;
00268 const uint16_t SL_OPCODE_NETAPP_NETAPP_MDNS_LOOKUP_SERVICE           =          0x9C71;
00269 const uint16_t SL_OPCODE_NETAPP_NETAPP_MDNS_LOOKUP_SERVICE_RESPONSE  =          0x1C72;
00270 const uint16_t SL_OPCODE_NETAPP_MDNSREGISTERSERVICE                  =          0x9C34;
00271 const uint16_t SL_OPCODE_NETAPP_MDNSREGISTERSERVICERESPONSE          =          0x1C34;
00272 const uint16_t SL_OPCODE_NETAPP_MDNSGETHOSTBYSERVICE                 =          0x9C35;
00273 const uint16_t SL_OPCODE_NETAPP_MDNSGETHOSTBYSERVICERESPONSE         =          0x1C35;
00274 const uint16_t SL_OPCODE_NETAPP_MDNSGETHOSTBYSERVICEASYNCRESPONSE    =          0x1835;
00275 const uint16_t SL_OPCODE_NETAPP_MDNSGETHOSTBYSERVICEASYNCRESPONSE_V6 =          0x1A35;
00276 const uint16_t SL_OPCODE_NETAPP_DNSGETHOSTBYADDR                     =          0x9C26;
00277 const uint16_t SL_OPCODE_NETAPP_DNSGETHOSTBYADDR_V6                  =          0x9E26;
00278 const uint16_t SL_OPCODE_NETAPP_DNSGETHOSTBYADDRRESPONSE             =          0x1C26;
00279 const uint16_t SL_OPCODE_NETAPP_DNSGETHOSTBYADDRASYNCRESPONSE        =          0x1826;
00280 const uint16_t SL_OPCODE_NETAPP_PINGSTART                            =          0x9C21;
00281 const uint16_t SL_OPCODE_NETAPP_PINGSTART_V6                         =          0x9E21;
00282 const uint16_t SL_OPCODE_NETAPP_PINGSTARTRESPONSE                    =          0x1C21;
00283 const uint16_t SL_OPCODE_NETAPP_PINGREPORTREQUEST                    =          0x9C22;
00284 const uint16_t SL_OPCODE_NETAPP_PINGREPORTREQUESTRESPONSE            =          0x1822;
00285 const uint16_t SL_OPCODE_NETAPP_PINGSTOP                             =          0x9C23;
00286 const uint16_t SL_OPCODE_NETAPP_PINGSTOPRESPONSE                     =          0x1C23;
00287 const uint16_t SL_OPCODE_NETAPP_ARPFLUSH                             =          0x9C24;
00288 const uint16_t SL_OPCODE_NETAPP_ARPFLUSHRESPONSE                     =          0x1C24;
00289 const uint16_t SL_OPCODE_NETAPP_IPACQUIRED                           =          0x1825;
00290 const uint16_t SL_OPCODE_NETAPP_IPV4_LOST                            =          0x1832;
00291 const uint16_t SL_OPCODE_NETAPP_DHCP_IPV4_ACQUIRE_TIMEOUT            =          0x1833;
00292 const uint16_t SL_OPCODE_NETAPP_IPACQUIRED_V6                        =          0x1A25;
00293 const uint16_t SL_OPCODE_NETAPP_IPERFSTARTCOMMAND                    =          0x9C28;
00294 const uint16_t SL_OPCODE_NETAPP_IPERFSTARTRESPONSE                   =          0x1C28;
00295 const uint16_t SL_OPCODE_NETAPP_IPERFSTOPCOMMAND                     =          0x9C29;
00296 const uint16_t SL_OPCODE_NETAPP_IPERFSTOPRESPONSE                    =          0x1C29;
00297 const uint16_t SL_OPCODE_NETAPP_CTESTSTARTCOMMAND                    =          0x9C2A;
00298 const uint16_t SL_OPCODE_NETAPP_CTESTSTARTRESPONSE                   =          0x1C2A;
00299 const uint16_t SL_OPCODE_NETAPP_CTESTASYNCRESPONSE                   =          0x182A;
00300 const uint16_t SL_OPCODE_NETAPP_CTESTSTOPCOMMAND                     =          0x9C2B;
00301 const uint16_t SL_OPCODE_NETAPP_CTESTSTOPRESPONSE                    =          0x1C2B;
00302 const uint16_t SL_OPCODE_NETAPP_IP_LEASED                            =          0x182C;
00303 const uint16_t SL_OPCODE_NETAPP_IP_RELEASED                          =          0x182D;
00304 const uint16_t SL_OPCODE_NETAPP_HTTPGETTOKENVALUE                    =          0x182E;
00305 const uint16_t SL_OPCODE_NETAPP_HTTPSENDTOKENVALUE                   =          0x9C2F;
00306 const uint16_t SL_OPCODE_NETAPP_HTTPPOSTTOKENVALUE                   =          0x1830;
00307 const uint16_t SL_OPCODE_NVMEM_FILEOPEN                              =          0xA43C;
00308 const uint16_t SL_OPCODE_NVMEM_FILEOPENRESPONSE                      =          0x243C;
00309 const uint16_t SL_OPCODE_NVMEM_FILECLOSE                             =          0xA43D;
00310 const uint16_t SL_OPCODE_NVMEM_FILECLOSERESPONSE                     =          0x243D;
00311 const uint16_t SL_OPCODE_NVMEM_FILEREADCOMMAND                       =          0xA440;
00312 const uint16_t SL_OPCODE_NVMEM_FILEREADRESPONSE                      =          0x2440;
00313 const uint16_t SL_OPCODE_NVMEM_FILEWRITECOMMAND                      =          0xA441;
00314 const uint16_t SL_OPCODE_NVMEM_FILEWRITERESPONSE                     =          0x2441;
00315 const uint16_t SL_OPCODE_NVMEM_FILEGETINFOCOMMAND                    =          0xA442;
00316 const uint16_t SL_OPCODE_NVMEM_FILEGETINFORESPONSE                   =          0x2442;
00317 const uint16_t SL_OPCODE_NVMEM_FILEDELCOMMAND                        =          0xA443;
00318 const uint16_t SL_OPCODE_NVMEM_FILEDELRESPONSE                       =          0x2443;
00319 const uint16_t SL_OPCODE_NVMEM_NVMEMFORMATCOMMAND                    =          0xA444;
00320 const uint16_t SL_OPCODE_NVMEM_NVMEMFORMATRESPONSE                   =          0x2444;
00321 
00322 const uint16_t SL_OPCODE_DEVICE_SETDEBUGLEVELCOMMAND                 =          0x846A;
00323 const uint16_t SL_OPCODE_DEVICE_SETDEBUGLEVELRESPONSE                =          0x046A;
00324 
00325 const uint16_t SL_OPCODE_DEVICE_NETCFG_SET_COMMAND                   =          0x8432;
00326 const uint16_t SL_OPCODE_DEVICE_NETCFG_SET_RESPONSE                  =          0x0432;
00327 const uint16_t SL_OPCODE_DEVICE_NETCFG_GET_COMMAND                   =          0x8433;
00328 const uint16_t SL_OPCODE_DEVICE_NETCFG_GET_RESPONSE                  =          0x0433;
00329 /*  */
00330 const uint16_t SL_OPCODE_DEVICE_SETUARTMODECOMMAND                   =          0x846B;
00331 const uint16_t SL_OPCODE_DEVICE_SETUARTMODERESPONSE                  =          0x046B;
00332 const uint16_t SL_OPCODE_DEVICE_SSISIZESETCOMMAND                    =          0x846B;
00333 const uint16_t SL_OPCODE_DEVICE_SSISIZESETRESPONSE                   =          0x046B;
00334 
00335 /*  */
00336 const uint16_t SL_OPCODE_DEVICE_EVENTMASKSET                         =          0x8464;
00337 const uint16_t SL_OPCODE_DEVICE_EVENTMASKSETRESPONSE                 =          0x0464;
00338 const uint16_t SL_OPCODE_DEVICE_EVENTMASKGET                         =          0x8465;
00339 const uint16_t SL_OPCODE_DEVICE_EVENTMASKGETRESPONSE                 =          0x0465;
00340 
00341 const uint16_t SL_OPCODE_DEVICE_DEVICEGET                            =          0x8466;
00342 const uint16_t SL_OPCODE_DEVICE_DEVICEGETRESPONSE                    =          0x0466;
00343 const uint16_t SL_OPCODE_DEVICE_DEVICESET                            =          0x84B7;
00344 const uint16_t SL_OPCODE_DEVICE_DEVICESETRESPONSE                    =          0x04B7;
00345 
00346 const uint16_t SL_OPCODE_WLAN_SCANRESULTSGETCOMMAND                  =          0x8C8C;
00347 const uint16_t SL_OPCODE_WLAN_SCANRESULTSGETRESPONSE                 =          0x0C8C;
00348 const uint16_t SL_OPCODE_WLAN_SMARTCONFIGOPTSET                      =          0x8C8D;
00349 const uint16_t SL_OPCODE_WLAN_SMARTCONFIGOPTSETRESPONSE              =          0x0C8D;
00350 const uint16_t SL_OPCODE_WLAN_SMARTCONFIGOPTGET                      =          0x8C8E;
00351 const uint16_t SL_OPCODE_WLAN_SMARTCONFIGOPTGETRESPONSE              =          0x0C8E;
00352 
00353 
00354 /* Rx Filters opcodes */
00355 const uint16_t SL_OPCODE_WLAN_WLANRXFILTERADDCOMMAND                 =          0x8C6C;
00356 const uint16_t SL_OPCODE_WLAN_WLANRXFILTERADDRESPONSE                =          0x0C6C;
00357 const uint16_t SL_OPCODE_WLAN_WLANRXFILTERSETCOMMAND                 =          0x8C6D;
00358 const uint16_t SL_OPCODE_WLAN_WLANRXFILTERSETRESPONSE                =          0x0C6D;
00359 const uint16_t SL_OPCODE_WLAN_WLANRXFILTERGETSTATISTICSINFOCOMMAND   =          0x8C6E;
00360 const uint16_t SL_OPCODE_WLAN_WLANRXFILTERGETSTATISTICSINFORESPONSE  =          0x0C6E;
00361 const uint16_t SL_OPCODE_WLAN_WLANRXFILTERGETCOMMAND                 =          0x8C6F;
00362 const uint16_t SL_OPCODE_WLAN_WLANRXFILTERGETRESPONSE                =          0x0C6F;
00363 const uint16_t SL_OPCODE_WLAN_WLANRXFILTERGETINFO                    =          0x8C70;
00364 const uint16_t SL_OPCODE_WLAN_WLANRXFILTERGETINFORESPONSE            =          0x0C70;
00365 
00366 
00367 /******************************************************************************************/
00368 /*   Device structs  */
00369 /******************************************************************************************/
00370 typedef uint32_t InitStatus_t;
00371 
00372 
00373 typedef struct {
00374     int32_t Status;
00375 } InitComplete_t;
00376 
00377 typedef struct {
00378     int16_t status;
00379     uint16_t padding;
00380 
00381 } _BasicResponse_t;
00382 
00383 typedef struct {
00384     uint16_t Timeout;
00385     uint16_t padding;
00386 } _DevStopCommand_t;
00387 
00388 typedef struct {
00389     uint32_t group;
00390     uint32_t mask;
00391 } _DevMaskEventSetCommand_t;
00392 
00393 typedef _BasicResponse_t _DevMaskEventSetResponse_t;
00394 
00395 
00396 typedef struct {
00397     uint32_t group;
00398 } _DevMaskEventGetCommand_t;
00399 
00400 
00401 typedef struct {
00402     uint32_t group;
00403     uint32_t mask;
00404 } _DevMaskEventGetResponse_t;
00405 
00406 
00407 typedef struct {
00408     uint32_t group;
00409 } _DevStatusGetCommand_t;
00410 
00411 
00412 typedef struct {
00413     uint32_t group;
00414     uint32_t status;
00415 } _DevStatusGetResponse_t;
00416 
00417 typedef struct {
00418     uint32_t  ChipId;
00419     uint32_t  FwVersion[4];
00420     uint8_t   PhyVersion[4];
00421 } _Device_VersionReadResponsePart_t;
00422 
00423 typedef struct {
00424     _Device_VersionReadResponsePart_t part;
00425     uint32_t                            NwpVersion[4];
00426     uint16_t                            RomVersion;
00427     uint16_t                            Padding;
00428 } _Device_VersionReadResponseFull_t;
00429 
00430 
00431 typedef struct {
00432     uint32_t BaudRate;
00433     uint8_t  FlowControlEnable;
00434 } _DevUartSetModeCommand_t;
00435 
00436 typedef _BasicResponse_t _DevUartSetModeResponse_t;
00437 
00438 /******************************************************/
00439 
00440 typedef struct {
00441     uint8_t SsiSizeInBytes;
00442     uint8_t Padding[3];
00443 } _StellarisSsiSizeSet_t;
00444 
00445 /*****************************************************************************************/
00446 /*   WLAN structs */
00447 /*****************************************************************************************/
00448 #define MAXIMAL_PASSWORD_LENGTH                 (64)
00449 
00450 typedef struct {
00451     uint8_t SecType;
00452     uint8_t SsidLen;
00453     uint8_t Bssid[6];
00454     uint8_t PasswordLen;
00455 } _WlanConnectCommon_t;
00456 
00457 #define SSID_STRING(pCmd)       (int8_t *)((_WlanConnectCommon_t *)(pCmd) + 1)
00458 #define PASSWORD_STRING(pCmd)   (SSID_STRING(pCmd) + ((_WlanConnectCommon_t *)(pCmd))->SsidLen)
00459 
00460 typedef struct {
00461     _WlanConnectCommon_t            Common;
00462     uint8_t                         UserLen;
00463     uint8_t                         AnonUserLen;
00464     uint8_t                         CertIndex;
00465     uint32_t                        EapBitmask;
00466 } _WlanConnectEapCommand_t;
00467 
00468 #define EAP_SSID_STRING(pCmd)       (int8_t *)((_WlanConnectEapCommand_t *)(pCmd) + 1)
00469 #define EAP_PASSWORD_STRING(pCmd)   (EAP_SSID_STRING(pCmd) + ((_WlanConnectEapCommand_t *)(pCmd))->Common.SsidLen)
00470 #define EAP_USER_STRING(pCmd)       (EAP_PASSWORD_STRING(pCmd) + ((_WlanConnectEapCommand_t *)(pCmd))->Common.PasswordLen)
00471 #define EAP_ANON_USER_STRING(pCmd)  (EAP_USER_STRING(pCmd) + ((_WlanConnectEapCommand_t *)(pCmd))->UserLen)
00472 
00473 
00474 typedef struct {
00475     uint8_t PolicyType;
00476     uint8_t       Padding;
00477     uint8_t PolicyOption;
00478     uint8_t PolicyOptionLen;
00479 } _WlanPoliciySetGet_t;
00480 
00481 
00482 typedef struct {
00483     uint32_t  minDwellTime;
00484     uint32_t  maxDwellTime;
00485     uint32_t  numProbeResponse;
00486     uint32_t  G_Channels_mask;
00487     int32_t   rssiThershold;
00488     int32_t   snrThershold;
00489     int32_t   defaultTXPower;
00490     uint16_t  intervalList[16];
00491 } _WlanScanParamSetCommand_t;
00492 
00493 
00494 typedef struct {
00495     int8_t  SecType;
00496     uint8_t SsidLen;
00497     uint8_t Priority;
00498     uint8_t Bssid[6];
00499     uint8_t   PasswordLen;
00500     uint8_t   WepKeyId;
00501 } _WlanAddGetProfile_t;
00502 
00503 
00504 typedef struct {
00505     _WlanAddGetProfile_t              Common;
00506     uint8_t                             UserLen;
00507     uint8_t                             AnonUserLen;
00508     uint8_t                             CertIndex;
00509     uint16_t                            padding;
00510     uint32_t                            EapBitmask;
00511 } _WlanAddGetEapProfile_t;
00512 
00513 #define PROFILE_SSID_STRING(pCmd)       ((int8_t *)((_WlanAddGetProfile_t *)(pCmd) + 1))
00514 #define PROFILE_PASSWORD_STRING(pCmd)   (PROFILE_SSID_STRING(pCmd) + ((_WlanAddGetProfile_t *)(pCmd))->SsidLen)
00515 
00516 #define EAP_PROFILE_SSID_STRING(pCmd)       (int8_t *)((_WlanAddGetEapProfile_t *)(pCmd) + 1)
00517 #define EAP_PROFILE_PASSWORD_STRING(pCmd)   (EAP_PROFILE_SSID_STRING(pCmd) + ((_WlanAddGetEapProfile_t *)(pCmd))->Common.SsidLen)
00518 #define EAP_PROFILE_USER_STRING(pCmd)       (EAP_PROFILE_PASSWORD_STRING(pCmd) + ((_WlanAddGetEapProfile_t *)(pCmd))->Common.PasswordLen)
00519 #define EAP_PROFILE_ANON_USER_STRING(pCmd)  (EAP_PROFILE_USER_STRING(pCmd) + ((_WlanAddGetEapProfile_t *)(pCmd))->UserLen)
00520 
00521 typedef struct {
00522     uint8_t index;
00523     uint8_t padding[3];
00524 } _WlanProfileDelGetCommand_t;
00525 
00526 typedef _BasicResponse_t _WlanGetNetworkListResponse_t;
00527 
00528 typedef struct {
00529     uint8_t     index;
00530     uint8_t     count;
00531     int8_t  padding[2];
00532 } _WlanGetNetworkListCommand_t;
00533 
00534 
00535 
00536 
00537 typedef struct {
00538     uint32_t                        groupIdBitmask;
00539     uint8_t                           cipher;
00540     uint8_t                           publicKeyLen;
00541     uint8_t                           group1KeyLen;
00542     uint8_t                           group2KeyLen;
00543 } _WlanSmartConfigStartCommand_t;
00544 
00545 #define SMART_CONFIG_START_PUBLIC_KEY_STRING(pCmd)       ((int8_t *)((_WlanSmartConfigStartCommand_t *)(pCmd) + 1))
00546 #define SMART_CONFIG_START_GROUP1_KEY_STRING(pCmd)       ((int8_t *) (SMART_CONFIG_START_PUBLIC_KEY_STRING(pCmd) + ((_WlanSmartConfigStartCommand_t *)(pCmd))->publicKeyLen))
00547 #define SMART_CONFIG_START_GROUP2_KEY_STRING(pCmd)       ((int8_t *) (SMART_CONFIG_START_GROUP1_KEY_STRING(pCmd) + ((_WlanSmartConfigStartCommand_t *)(pCmd))->group1KeyLen))
00548 
00549 typedef struct {
00550     uint8_t mode;
00551     uint8_t   padding[3];
00552 } _WlanSetMode_t;
00553 
00554 
00555 
00556 
00557 typedef struct {
00558     uint16_t  Status;
00559     uint16_t  ConfigId;
00560     uint16_t  ConfigOpt;
00561     uint16_t  ConfigLen;
00562 } _WlanCfgSetGet_t;
00563 
00564 
00565 //wlan_rx_filters moved
00566 
00567 typedef struct {
00568     uint16_t status;
00569     uint8_t  WlanRole;     /* 0 = station, 2 = AP */
00570     uint8_t  Ipv6Enabled;
00571     uint8_t  Ipv6DhcpEnabled;
00572 
00573     uint32_t ipV6Global[4];
00574     uint32_t ipV6Local[4];
00575     uint32_t ipV6DnsServer[4];
00576     uint8_t  Ipv6DhcpState;
00577 
00578 } _NetappIpV6configRetArgs_t;
00579 
00580 
00581 typedef struct {
00582     uint8_t  ipV4[4];
00583     uint8_t  ipV4Mask[4];
00584     uint8_t  ipV4Gateway[4];
00585     uint8_t  ipV4DnsServer[4];
00586     uint8_t  ipV4Start[4];
00587     uint8_t  ipV4End[4];
00588 } _NetCfgIpV4AP_Args_t;
00589 
00590 
00591 
00592 typedef struct {
00593     uint16_t status;
00594     uint8_t  MacAddr[6];
00595 } _MAC_Address_SetGet_t;
00596 
00597 
00598 typedef struct {
00599     uint16_t  Status;
00600     uint16_t    ConfigId;
00601     uint16_t    ConfigOpt;
00602     uint16_t    ConfigLen;
00603 } _NetCfgSetGet_t;
00604 
00605 typedef struct {
00606     uint16_t  Status;
00607     uint16_t  DeviceSetId;
00608     uint16_t  Option;
00609     uint16_t  ConfigLen;
00610 } _DeviceSetGet_t;
00611 
00612 
00613 
00614 
00615 /******************************************************************************************/
00616 /*   Socket structs  */
00617 /******************************************************************************************/
00618 
00619 typedef struct {
00620     uint8_t Domain;
00621     uint8_t Type;
00622     uint8_t Protocol;
00623     uint8_t Padding;
00624 } _SocketCommand_t;
00625 
00626 
00627 typedef struct {
00628     int16_t statusOrLen;
00629     uint8_t  sd;
00630     uint8_t  padding;
00631 } _SocketResponse_t;
00632 
00633 typedef struct {
00634     uint8_t sd;
00635     uint8_t family;
00636     uint8_t padding1;
00637     uint8_t padding2;
00638 } _AcceptCommand_t;
00639 
00640 
00641 typedef struct {
00642     int16_t statusOrLen;
00643     uint8_t sd;
00644     uint8_t family;
00645     uint16_t port;
00646     uint16_t paddingOrAddr;
00647     uint32_t address;
00648 } _SocketAddrAsyncIPv4Response_t;
00649 
00650 typedef struct {
00651     int16_t statusOrLen;
00652     uint8_t sd;
00653     uint8_t family;
00654     uint16_t port;
00655     uint8_t address[6];
00656 } _SocketAddrAsyncIPv6EUI48Response_t;
00657 typedef struct {
00658     int16_t statusOrLen;
00659     uint8_t sd;
00660     uint8_t family;
00661     uint16_t port;
00662     uint16_t paddingOrAddr;
00663     uint32_t address[4];
00664 } _SocketAddrAsyncIPv6Response_t;
00665 
00666 
00667 typedef struct {
00668     int16_t lenOrPadding;
00669     uint8_t sd;
00670     uint8_t FamilyAndFlags;
00671     uint16_t port;
00672     uint16_t paddingOrAddr;
00673     uint32_t address;
00674 } _SocketAddrIPv4Command_t;
00675 
00676 typedef struct {
00677     int16_t lenOrPadding;
00678     uint8_t sd;
00679     uint8_t FamilyAndFlags;
00680     uint16_t port;
00681     uint8_t address[6];
00682 } _SocketAddrIPv6EUI48Command_t;
00683 typedef struct {
00684     int16_t lenOrPadding;
00685     uint8_t sd;
00686     uint8_t FamilyAndFlags;
00687     uint16_t port;
00688     uint16_t paddingOrAddr;
00689     uint32_t address[4];
00690 } _SocketAddrIPv6Command_t;
00691 
00692 typedef union {
00693     _SocketAddrIPv4Command_t IpV4;
00694     _SocketAddrIPv6EUI48Command_t IpV6EUI48;
00695 #ifdef SL_SUPPORT_IPV6
00696     _SocketAddrIPv6Command_t IpV6;
00697 #endif
00698 } _SocketAddrCommand_u;
00699 
00700 typedef union {
00701     _SocketAddrAsyncIPv4Response_t IpV4;
00702     _SocketAddrAsyncIPv6EUI48Response_t IpV6EUI48;
00703 #ifdef SL_SUPPORT_IPV6
00704     _SocketAddrAsyncIPv6Response_t IpV6;
00705 #endif
00706 } _SocketAddrResponse_u;
00707 
00708 typedef struct {
00709     uint8_t sd;
00710     uint8_t backlog;
00711     uint8_t padding1;
00712     uint8_t padding2;
00713 } _ListenCommand_t;
00714 
00715 typedef struct {
00716     uint8_t sd;
00717     uint8_t padding0;
00718     uint8_t padding1;
00719     uint8_t padding2;
00720 } _CloseCommand_t;
00721 
00722 
00723 typedef struct {
00724     uint8_t nfds;
00725     uint8_t readFdsCount;
00726     uint8_t writeFdsCount;
00727     uint8_t padding;
00728     uint16_t readFds;
00729     uint16_t writeFds;
00730     uint16_t tv_usec;
00731     uint16_t tv_sec;
00732 } _SelectCommand_t;
00733 
00734 
00735 typedef struct {
00736     uint16_t status;
00737     uint8_t readFdsCount;
00738     uint8_t writeFdsCount;
00739     uint16_t readFds;
00740     uint16_t writeFds;
00741 } _SelectAsyncResponse_t;
00742 
00743 typedef struct {
00744     uint8_t sd;
00745     uint8_t level;
00746     uint8_t optionName;
00747     uint8_t optionLen;
00748 } _setSockOptCommand_t;
00749 
00750 typedef struct {
00751     uint8_t sd;
00752     uint8_t level;
00753     uint8_t optionName;
00754     uint8_t optionLen;
00755 } _getSockOptCommand_t;
00756 
00757 typedef struct {
00758     int16_t status;
00759     uint8_t sd;
00760     uint8_t optionLen;
00761 } _getSockOptResponse_t;
00762 
00763 
00764 typedef struct {
00765     uint16_t StatusOrLen;
00766     uint8_t  sd;
00767     uint8_t FamilyAndFlags;
00768 } _sendRecvCommand_t;
00769 
00770 //netapp structs moved
00771 
00772 /*****************************************************************************************
00773 *   FS structs
00774 ******************************************************************************************/
00775 
00776 typedef struct {
00777     uint32_t FileHandle;
00778     uint32_t Offset;
00779     uint16_t Len;
00780     uint16_t Padding;
00781 } _FsReadCommand_t;
00782 
00783 typedef struct {
00784     uint32_t Mode;
00785     uint32_t Token;
00786 } _FsOpenCommand_t;
00787 
00788 typedef struct {
00789     uint32_t FileHandle;
00790     uint32_t Token;
00791 } _FsOpenResponse_t;
00792 
00793 
00794 typedef struct {
00795     uint32_t FileHandle;
00796     uint32_t CertificFileNameLength;
00797     uint32_t SignatureLen;
00798 } _FsCloseCommand_t;
00799 
00800 
00801 typedef _BasicResponse_t _FsReadResponse_t;
00802 typedef _BasicResponse_t _FsDeleteResponse_t;
00803 typedef _BasicResponse_t _FsCloseResponse_t;
00804 
00805 typedef struct {
00806     uint16_t Status;
00807     uint16_t flags;
00808     uint32_t FileLen;
00809     uint32_t AllocatedLen;
00810     uint32_t Token[4];
00811 } _FsGetInfoResponse_t;
00812 
00813 typedef struct {
00814     uint8_t DeviceID;
00815     uint8_t Padding[3];
00816 } _FsFormatCommand_t;
00817 
00818 typedef _BasicResponse_t _FsFormatResponse_t;
00819 
00820 typedef struct {
00821     uint32_t Token;
00822 } _FsDeleteCommand_t;
00823 
00824 typedef   _FsDeleteCommand_t  _FsGetInfoCommand_t;
00825 
00826 typedef struct {
00827     uint32_t FileHandle;
00828     uint32_t Offset;
00829     uint16_t Len;
00830     uint16_t Padding;
00831 } _FsWriteCommand_t;
00832 
00833 typedef _BasicResponse_t _FsWriteResponse_t;
00834 
00835 
00836 /* TODO: Set MAx Async Payload length depending on flavor (Tiny, Small, etc.) */
00837 
00838 #ifdef SL_TINY_EXT
00839 #define SL_ASYNC_MAX_PAYLOAD_LEN        120  /* size must be aligned to 4 */
00840 #else
00841 #define SL_ASYNC_MAX_PAYLOAD_LEN        160 /* size must be aligned to 4 */
00842 #endif
00843 #define SL_ASYNC_MAX_MSG_LEN            (_SL_RESP_HDR_SIZE + SL_ASYNC_MAX_PAYLOAD_LEN)
00844 
00845 #define RECV_ARGS_SIZE                  (sizeof(_SocketResponse_t))
00846 #define RECVFROM_IPV4_ARGS_SIZE         (sizeof(_SocketAddrAsyncIPv4Response_t))
00847 #define RECVFROM_IPV6_ARGS_SIZE         (sizeof(_SocketAddrAsyncIPv6Response_t))
00848 
00849 #define SL_IPV4_ADDRESS_SIZE            (sizeof(uint32_t))
00850 #define SL_IPV6_ADDRESS_SIZE            (4 * sizeof(uint32_t))
00851 
00852 }//namespace mbed_cc3100
00853 
00854 #endif /*  _SL_PROTOCOL_TYPES_H_  */
00855