TI's CC3100 host driver and demo. Experimental and a work in progress.

Dependencies:   mbed

Committer:
dflet
Date:
Wed Nov 19 23:04:04 2014 +0000
Revision:
2:a3e52cf86086
Parent:
0:bbe98578d4c0
Added more boards!

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dflet 0:bbe98578d4c0 1 /*
dflet 0:bbe98578d4c0 2 * protocol.h - CC31xx/CC32xx Host Driver Implementation
dflet 0:bbe98578d4c0 3 *
dflet 0:bbe98578d4c0 4 * Copyright (C) 2014 Texas Instruments Incorporated - http://www.ti.com/
dflet 0:bbe98578d4c0 5 *
dflet 0:bbe98578d4c0 6 *
dflet 0:bbe98578d4c0 7 * Redistribution and use in source and binary forms, with or without
dflet 0:bbe98578d4c0 8 * modification, are permitted provided that the following conditions
dflet 0:bbe98578d4c0 9 * are met:
dflet 0:bbe98578d4c0 10 *
dflet 0:bbe98578d4c0 11 * Redistributions of source code must retain the above copyright
dflet 0:bbe98578d4c0 12 * notice, this list of conditions and the following disclaimer.
dflet 0:bbe98578d4c0 13 *
dflet 0:bbe98578d4c0 14 * Redistributions in binary form must reproduce the above copyright
dflet 0:bbe98578d4c0 15 * notice, this list of conditions and the following disclaimer in the
dflet 0:bbe98578d4c0 16 * documentation and/or other materials provided with the
dflet 0:bbe98578d4c0 17 * distribution.
dflet 0:bbe98578d4c0 18 *
dflet 0:bbe98578d4c0 19 * Neither the name of Texas Instruments Incorporated nor the names of
dflet 0:bbe98578d4c0 20 * its contributors may be used to endorse or promote products derived
dflet 0:bbe98578d4c0 21 * from this software without specific prior written permission.
dflet 0:bbe98578d4c0 22 *
dflet 0:bbe98578d4c0 23 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
dflet 0:bbe98578d4c0 24 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
dflet 0:bbe98578d4c0 25 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
dflet 0:bbe98578d4c0 26 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
dflet 0:bbe98578d4c0 27 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
dflet 0:bbe98578d4c0 28 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
dflet 0:bbe98578d4c0 29 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
dflet 0:bbe98578d4c0 30 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
dflet 0:bbe98578d4c0 31 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
dflet 0:bbe98578d4c0 32 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
dflet 0:bbe98578d4c0 33 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
dflet 0:bbe98578d4c0 34 *
dflet 0:bbe98578d4c0 35 */
dflet 0:bbe98578d4c0 36
dflet 0:bbe98578d4c0 37 /*******************************************************************************\
dflet 0:bbe98578d4c0 38 *
dflet 0:bbe98578d4c0 39 * FILE NAME: protocol.h
dflet 0:bbe98578d4c0 40 *
dflet 0:bbe98578d4c0 41 * DESCRIPTION: Constant and data structure definitions and function
dflet 0:bbe98578d4c0 42 * prototypes for the SL protocol module, which implements
dflet 0:bbe98578d4c0 43 * processing of SimpleLink Commands.
dflet 0:bbe98578d4c0 44 *
dflet 0:bbe98578d4c0 45 * AUTHOR:
dflet 0:bbe98578d4c0 46 *
dflet 0:bbe98578d4c0 47 \*******************************************************************************/
dflet 0:bbe98578d4c0 48
dflet 0:bbe98578d4c0 49 #ifndef _SL_PROTOCOL_TYPES_H_
dflet 0:bbe98578d4c0 50 #define _SL_PROTOCOL_TYPES_H_
dflet 0:bbe98578d4c0 51
dflet 0:bbe98578d4c0 52 #ifdef __cplusplus
dflet 0:bbe98578d4c0 53 extern "C" {
dflet 0:bbe98578d4c0 54 #endif
dflet 0:bbe98578d4c0 55
dflet 0:bbe98578d4c0 56 /****************************************************************************
dflet 0:bbe98578d4c0 57 **
dflet 0:bbe98578d4c0 58 ** User I/F pools definitions
dflet 0:bbe98578d4c0 59 **
dflet 0:bbe98578d4c0 60 ****************************************************************************/
dflet 0:bbe98578d4c0 61
dflet 0:bbe98578d4c0 62 /****************************************************************************
dflet 0:bbe98578d4c0 63 **
dflet 0:bbe98578d4c0 64 ** Definitions for SimpleLink Commands
dflet 0:bbe98578d4c0 65 **
dflet 0:bbe98578d4c0 66 ****************************************************************************/
dflet 0:bbe98578d4c0 67
dflet 0:bbe98578d4c0 68
dflet 0:bbe98578d4c0 69 /* pattern for LE 8/16/32 or BE*/
dflet 0:bbe98578d4c0 70 #define H2N_SYNC_PATTERN {0xBBDDEEFF,0x4321,0x34,0x12}
dflet 0:bbe98578d4c0 71 #define H2N_CNYS_PATTERN {0xBBDDEEFF,0x8765,0x78,0x56}
dflet 0:bbe98578d4c0 72
dflet 0:bbe98578d4c0 73 #define H2N_DUMMY_PATTERN (_u32)0xFFFFFFFF
dflet 0:bbe98578d4c0 74 #define N2H_SYNC_PATTERN (_u32)0xABCDDCBA
dflet 0:bbe98578d4c0 75 #define SYNC_PATTERN_LEN (_u32)sizeof(_u32)
dflet 0:bbe98578d4c0 76 #define UART_SET_MODE_MAGIC_CODE (_u32)0xAA55AA55
dflet 0:bbe98578d4c0 77 #define SPI_16BITS_BUG(pattern) (_u32)((_u32)pattern & (_u32)0xFFFF7FFF)
dflet 0:bbe98578d4c0 78 #define SPI_8BITS_BUG(pattern) (_u32)((_u32)pattern & (_u32)0xFFFFFF7F)
dflet 0:bbe98578d4c0 79
dflet 0:bbe98578d4c0 80
dflet 0:bbe98578d4c0 81
dflet 0:bbe98578d4c0 82 typedef struct
dflet 0:bbe98578d4c0 83 {
dflet 0:bbe98578d4c0 84 _u16 Opcode;
dflet 0:bbe98578d4c0 85 _u16 Len;
dflet 0:bbe98578d4c0 86 }_SlGenericHeader_t;
dflet 0:bbe98578d4c0 87
dflet 0:bbe98578d4c0 88
dflet 0:bbe98578d4c0 89 typedef struct
dflet 0:bbe98578d4c0 90 {
dflet 0:bbe98578d4c0 91 _u32 Long;
dflet 0:bbe98578d4c0 92 _u16 Short;
dflet 0:bbe98578d4c0 93 _u8 Byte1;
dflet 0:bbe98578d4c0 94 _u8 Byte2;
dflet 0:bbe98578d4c0 95 }_SlSyncPattern_t;
dflet 0:bbe98578d4c0 96
dflet 0:bbe98578d4c0 97 typedef _SlGenericHeader_t _SlCommandHeader_t;
dflet 0:bbe98578d4c0 98
dflet 0:bbe98578d4c0 99 typedef struct
dflet 0:bbe98578d4c0 100 {
dflet 0:bbe98578d4c0 101 _SlGenericHeader_t GenHeader;
dflet 0:bbe98578d4c0 102 _u8 TxPoolCnt;
dflet 0:bbe98578d4c0 103 _u8 DevStatus;
dflet 0:bbe98578d4c0 104 _u8 SocketTXFailure;
dflet 0:bbe98578d4c0 105 _u8 SocketNonBlocking;
dflet 0:bbe98578d4c0 106 }_SlResponseHeader_t;
dflet 0:bbe98578d4c0 107
dflet 0:bbe98578d4c0 108 #define _SL_RESP_SPEC_HDR_SIZE (sizeof(_SlResponseHeader_t) - sizeof(_SlGenericHeader_t))
dflet 0:bbe98578d4c0 109 #define _SL_RESP_HDR_SIZE sizeof(_SlResponseHeader_t)
dflet 0:bbe98578d4c0 110 #define _SL_CMD_HDR_SIZE sizeof(_SlCommandHeader_t)
dflet 0:bbe98578d4c0 111
dflet 0:bbe98578d4c0 112 #define _SL_RESP_ARGS_START(_pMsg) (((_SlResponseHeader_t *)(_pMsg)) + 1)
dflet 0:bbe98578d4c0 113
dflet 0:bbe98578d4c0 114 /* Used only in NWP! */
dflet 0:bbe98578d4c0 115 typedef struct
dflet 0:bbe98578d4c0 116 {
dflet 0:bbe98578d4c0 117 _SlCommandHeader_t sl_hdr;
dflet 0:bbe98578d4c0 118 _u8 func_args_start;
dflet 0:bbe98578d4c0 119 } T_SCMD;
dflet 0:bbe98578d4c0 120
dflet 0:bbe98578d4c0 121
dflet 0:bbe98578d4c0 122 #define WLAN_CONN_STATUS_BIT 0x01
dflet 0:bbe98578d4c0 123 #define EVENTS_Q_STATUS_BIT 0x02
dflet 0:bbe98578d4c0 124 #define PENDING_RCV_CMD_BIT 0x04
dflet 0:bbe98578d4c0 125 #define FW_BUSY_PACKETS_BIT 0x08
dflet 0:bbe98578d4c0 126
dflet 0:bbe98578d4c0 127 #define INIT_STA_OK 0x11111111
dflet 0:bbe98578d4c0 128 #define INIT_STA_ERR 0x22222222
dflet 0:bbe98578d4c0 129 #define INIT_AP_OK 0x33333333
dflet 0:bbe98578d4c0 130 #define INIT_AP_ERR 0x44444444
dflet 0:bbe98578d4c0 131 #define INIT_P2P_OK 0x55555555
dflet 0:bbe98578d4c0 132 #define INIT_P2P_ERR 0x66666666
dflet 0:bbe98578d4c0 133
dflet 0:bbe98578d4c0 134 /****************************************************************************
dflet 0:bbe98578d4c0 135 ** OPCODES
dflet 0:bbe98578d4c0 136 ****************************************************************************/
dflet 0:bbe98578d4c0 137 #define SL_IPV4_IPV6_OFFSET ( 9 )
dflet 0:bbe98578d4c0 138 #define SL_OPCODE_IPV4 ( 0x0 << SL_IPV4_IPV6_OFFSET )
dflet 0:bbe98578d4c0 139 #define SL_OPCODE_IPV6 ( 0x1 << SL_IPV4_IPV6_OFFSET )
dflet 0:bbe98578d4c0 140
dflet 0:bbe98578d4c0 141 #define SL_SYNC_ASYNC_OFFSET ( 10 )
dflet 0:bbe98578d4c0 142 #define SL_OPCODE_SYNC (0x1 << SL_SYNC_ASYNC_OFFSET )
dflet 0:bbe98578d4c0 143 #define SL_OPCODE_SILO_OFFSET ( 11 )
dflet 0:bbe98578d4c0 144 #define SL_OPCODE_SILO_MASK ( 0xF << SL_OPCODE_SILO_OFFSET )
dflet 0:bbe98578d4c0 145 #define SL_OPCODE_SILO_DEVICE ( 0x0 << SL_OPCODE_SILO_OFFSET )
dflet 0:bbe98578d4c0 146 #define SL_OPCODE_SILO_WLAN ( 0x1 << SL_OPCODE_SILO_OFFSET )
dflet 0:bbe98578d4c0 147 #define SL_OPCODE_SILO_SOCKET ( 0x2 << SL_OPCODE_SILO_OFFSET )
dflet 0:bbe98578d4c0 148 #define SL_OPCODE_SILO_NETAPP ( 0x3 << SL_OPCODE_SILO_OFFSET )
dflet 0:bbe98578d4c0 149 #define SL_OPCODE_SILO_NVMEM ( 0x4 << SL_OPCODE_SILO_OFFSET )
dflet 0:bbe98578d4c0 150 #define SL_OPCODE_SILO_NETCFG ( 0x5 << SL_OPCODE_SILO_OFFSET )
dflet 0:bbe98578d4c0 151
dflet 0:bbe98578d4c0 152 #define SL_FAMILY_SHIFT (0x4)
dflet 0:bbe98578d4c0 153 #define SL_FLAGS_MASK (0xF)
dflet 0:bbe98578d4c0 154
dflet 0:bbe98578d4c0 155 #define SL_OPCODE_DEVICE_INITCOMPLETE 0x0008
dflet 0:bbe98578d4c0 156 #define SL_OPCODE_DEVICE_STOP_COMMAND 0x8473
dflet 0:bbe98578d4c0 157 #define SL_OPCODE_DEVICE_STOP_RESPONSE 0x0473
dflet 0:bbe98578d4c0 158 #define SL_OPCODE_DEVICE_STOP_ASYNC_RESPONSE 0x0073
dflet 0:bbe98578d4c0 159 #define SL_OPCODE_DEVICE_DEVICEASYNCDUMMY 0x0063
dflet 0:bbe98578d4c0 160
dflet 0:bbe98578d4c0 161 #define SL_OPCODE_DEVICE_VERSIONREADCOMMAND 0x8470
dflet 0:bbe98578d4c0 162 #define SL_OPCODE_DEVICE_VERSIONREADRESPONSE 0x0470
dflet 0:bbe98578d4c0 163 #define SL_OPCODE_DEVICE_DEVICEASYNCFATALERROR 0x0078
dflet 0:bbe98578d4c0 164 #define SL_OPCODE_WLAN_WLANCONNECTCOMMAND 0x8C80
dflet 0:bbe98578d4c0 165 #define SL_OPCODE_WLAN_WLANCONNECTRESPONSE 0x0C80
dflet 0:bbe98578d4c0 166 #define SL_OPCODE_WLAN_WLANASYNCCONNECTEDRESPONSE 0x0880
dflet 0:bbe98578d4c0 167 #define SL_OPCODE_WLAN_P2P_DEV_FOUND 0x0830
dflet 0:bbe98578d4c0 168 #define SL_OPCODE_WLAN_CONNECTION_FAILED 0x0831
dflet 0:bbe98578d4c0 169 #define SL_OPCODE_WLAN_P2P_NEG_REQ_RECEIVED 0x0832
dflet 0:bbe98578d4c0 170
dflet 0:bbe98578d4c0 171 #define SL_OPCODE_WLAN_WLANDISCONNECTCOMMAND 0x8C81
dflet 0:bbe98578d4c0 172 #define SL_OPCODE_WLAN_WLANDISCONNECTRESPONSE 0x0C81
dflet 0:bbe98578d4c0 173 #define SL_OPCODE_WLAN_WLANASYNCDISCONNECTEDRESPONSE 0x0881
dflet 0:bbe98578d4c0 174 #define SL_OPCODE_WLAN_WLANCONNECTEAPCOMMAND 0x8C82
dflet 0:bbe98578d4c0 175 #define SL_OPCODE_WLAN_WLANCONNECTEAPCRESPONSE 0x0C82
dflet 0:bbe98578d4c0 176 #define SL_OPCODE_WLAN_PROFILEADDCOMMAND 0x8C83
dflet 0:bbe98578d4c0 177 #define SL_OPCODE_WLAN_PROFILEADDRESPONSE 0x0C83
dflet 0:bbe98578d4c0 178 #define SL_OPCODE_WLAN_PROFILEGETCOMMAND 0x8C84
dflet 0:bbe98578d4c0 179 #define SL_OPCODE_WLAN_PROFILEGETRESPONSE 0x0C84
dflet 0:bbe98578d4c0 180 #define SL_OPCODE_WLAN_PROFILEDELCOMMAND 0x8C85
dflet 0:bbe98578d4c0 181 #define SL_OPCODE_WLAN_PROFILEDELRESPONSE 0x0C85
dflet 0:bbe98578d4c0 182 #define SL_OPCODE_WLAN_POLICYSETCOMMAND 0x8C86
dflet 0:bbe98578d4c0 183 #define SL_OPCODE_WLAN_POLICYSETRESPONSE 0x0C86
dflet 0:bbe98578d4c0 184 #define SL_OPCODE_WLAN_POLICYGETCOMMAND 0x8C87
dflet 0:bbe98578d4c0 185 #define SL_OPCODE_WLAN_POLICYGETRESPONSE 0x0C87
dflet 0:bbe98578d4c0 186 #define SL_OPCODE_WLAN_FILTERADD 0x8C88
dflet 0:bbe98578d4c0 187 #define SL_OPCODE_WLAN_FILTERADDRESPONSE 0x0C88
dflet 0:bbe98578d4c0 188 #define SL_OPCODE_WLAN_FILTERGET 0x8C89
dflet 0:bbe98578d4c0 189 #define SL_OPCODE_WLAN_FILTERGETRESPONSE 0x0C89
dflet 0:bbe98578d4c0 190 #define SL_OPCODE_WLAN_FILTERDELETE 0x8C8A
dflet 0:bbe98578d4c0 191 #define SL_OPCODE_WLAN_FILTERDELETERESPOSNE 0x0C8A
dflet 0:bbe98578d4c0 192 #define SL_OPCODE_WLAN_WLANGETSTATUSCOMMAND 0x8C8F
dflet 0:bbe98578d4c0 193 #define SL_OPCODE_WLAN_WLANGETSTATUSRESPONSE 0x0C8F
dflet 0:bbe98578d4c0 194 #define SL_OPCODE_WLAN_STARTTXCONTINUESCOMMAND 0x8CAA
dflet 0:bbe98578d4c0 195 #define SL_OPCODE_WLAN_STARTTXCONTINUESRESPONSE 0x0CAA
dflet 0:bbe98578d4c0 196 #define SL_OPCODE_WLAN_STOPTXCONTINUESCOMMAND 0x8CAB
dflet 0:bbe98578d4c0 197 #define SL_OPCODE_WLAN_STOPTXCONTINUESRESPONSE 0x0CAB
dflet 0:bbe98578d4c0 198 #define SL_OPCODE_WLAN_STARTRXSTATCOMMAND 0x8CAC
dflet 0:bbe98578d4c0 199 #define SL_OPCODE_WLAN_STARTRXSTATRESPONSE 0x0CAC
dflet 0:bbe98578d4c0 200 #define SL_OPCODE_WLAN_STOPRXSTATCOMMAND 0x8CAD
dflet 0:bbe98578d4c0 201 #define SL_OPCODE_WLAN_STOPRXSTATRESPONSE 0x0CAD
dflet 0:bbe98578d4c0 202 #define SL_OPCODE_WLAN_GETRXSTATCOMMAND 0x8CAF
dflet 0:bbe98578d4c0 203 #define SL_OPCODE_WLAN_GETRXSTATRESPONSE 0x0CAF
dflet 0:bbe98578d4c0 204 #define SL_OPCODE_WLAN_POLICYSETCOMMANDNEW 0x8CB0
dflet 0:bbe98578d4c0 205 #define SL_OPCODE_WLAN_POLICYSETRESPONSENEW 0x0CB0
dflet 0:bbe98578d4c0 206 #define SL_OPCODE_WLAN_POLICYGETCOMMANDNEW 0x8CB1
dflet 0:bbe98578d4c0 207 #define SL_OPCODE_WLAN_POLICYGETRESPONSENEW 0x0CB1
dflet 0:bbe98578d4c0 208
dflet 0:bbe98578d4c0 209 #define SL_OPCODE_WLAN_SMART_CONFIG_START_COMMAND 0x8CB2
dflet 0:bbe98578d4c0 210 #define SL_OPCODE_WLAN_SMART_CONFIG_START_RESPONSE 0x0CB2
dflet 0:bbe98578d4c0 211 #define SL_OPCODE_WLAN_SMART_CONFIG_START_ASYNC_RESPONSE 0x08B2
dflet 0:bbe98578d4c0 212 #define SL_OPCODE_WLAN_SMART_CONFIG_STOP_COMMAND 0x8CB3
dflet 0:bbe98578d4c0 213 #define SL_OPCODE_WLAN_SMART_CONFIG_STOP_RESPONSE 0x0CB3
dflet 0:bbe98578d4c0 214 #define SL_OPCODE_WLAN_SMART_CONFIG_STOP_ASYNC_RESPONSE 0x08B3
dflet 0:bbe98578d4c0 215 #define SL_OPCODE_WLAN_SET_MODE 0x8CB4
dflet 0:bbe98578d4c0 216 #define SL_OPCODE_WLAN_SET_MODE_RESPONSE 0x0CB4
dflet 0:bbe98578d4c0 217 #define SL_OPCODE_WLAN_CFG_SET 0x8CB5
dflet 0:bbe98578d4c0 218 #define SL_OPCODE_WLAN_CFG_SET_RESPONSE 0x0CB5
dflet 0:bbe98578d4c0 219 #define SL_OPCODE_WLAN_CFG_GET 0x8CB6
dflet 0:bbe98578d4c0 220 #define SL_OPCODE_WLAN_CFG_GET_RESPONSE 0x0CB6
dflet 0:bbe98578d4c0 221 #define SL_OPCODE_WLAN_STA_CONNECTED 0x082E
dflet 0:bbe98578d4c0 222 #define SL_OPCODE_WLAN_STA_DISCONNECTED 0x082F
dflet 0:bbe98578d4c0 223 #define SL_OPCODE_WLAN_EAP_PROFILEADDCOMMAND 0x8C67
dflet 0:bbe98578d4c0 224 #define SL_OPCODE_WLAN_EAP_PROFILEADDCOMMAND_RESPONSE 0x0C67
dflet 0:bbe98578d4c0 225
dflet 0:bbe98578d4c0 226 #define SL_OPCODE_SOCKET_SOCKET 0x9401
dflet 0:bbe98578d4c0 227 #define SL_OPCODE_SOCKET_SOCKETRESPONSE 0x1401
dflet 0:bbe98578d4c0 228 #define SL_OPCODE_SOCKET_CLOSE 0x9402
dflet 0:bbe98578d4c0 229 #define SL_OPCODE_SOCKET_CLOSERESPONSE 0x1402
dflet 0:bbe98578d4c0 230 #define SL_OPCODE_SOCKET_ACCEPT 0x9403
dflet 0:bbe98578d4c0 231 #define SL_OPCODE_SOCKET_ACCEPTRESPONSE 0x1403
dflet 0:bbe98578d4c0 232 #define SL_OPCODE_SOCKET_ACCEPTASYNCRESPONSE 0x1003
dflet 0:bbe98578d4c0 233 #define SL_OPCODE_SOCKET_ACCEPTASYNCRESPONSE_V6 0x1203
dflet 0:bbe98578d4c0 234 #define SL_OPCODE_SOCKET_BIND 0x9404
dflet 0:bbe98578d4c0 235 #define SL_OPCODE_SOCKET_BIND_V6 0x9604
dflet 0:bbe98578d4c0 236 #define SL_OPCODE_SOCKET_BINDRESPONSE 0x1404
dflet 0:bbe98578d4c0 237 #define SL_OPCODE_SOCKET_LISTEN 0x9405
dflet 0:bbe98578d4c0 238 #define SL_OPCODE_SOCKET_LISTENRESPONSE 0x1405
dflet 0:bbe98578d4c0 239 #define SL_OPCODE_SOCKET_CONNECT 0x9406
dflet 0:bbe98578d4c0 240 #define SL_OPCODE_SOCKET_CONNECT_V6 0x9606
dflet 0:bbe98578d4c0 241 #define SL_OPCODE_SOCKET_CONNECTRESPONSE 0x1406
dflet 0:bbe98578d4c0 242 #define SL_OPCODE_SOCKET_CONNECTASYNCRESPONSE 0x1006
dflet 0:bbe98578d4c0 243 #define SL_OPCODE_SOCKET_SELECT 0x9407
dflet 0:bbe98578d4c0 244 #define SL_OPCODE_SOCKET_SELECTRESPONSE 0x1407
dflet 0:bbe98578d4c0 245 #define SL_OPCODE_SOCKET_SELECTASYNCRESPONSE 0x1007
dflet 0:bbe98578d4c0 246 #define SL_OPCODE_SOCKET_SETSOCKOPT 0x9408
dflet 0:bbe98578d4c0 247 #define SL_OPCODE_SOCKET_SETSOCKOPTRESPONSE 0x1408
dflet 0:bbe98578d4c0 248 #define SL_OPCODE_SOCKET_GETSOCKOPT 0x9409
dflet 0:bbe98578d4c0 249 #define SL_OPCODE_SOCKET_GETSOCKOPTRESPONSE 0x1409
dflet 0:bbe98578d4c0 250 #define SL_OPCODE_SOCKET_RECV 0x940A
dflet 0:bbe98578d4c0 251 #define SL_OPCODE_SOCKET_RECVASYNCRESPONSE 0x100A
dflet 0:bbe98578d4c0 252 #define SL_OPCODE_SOCKET_RECVFROM 0x940B
dflet 0:bbe98578d4c0 253 #define SL_OPCODE_SOCKET_RECVFROMASYNCRESPONSE 0x100B
dflet 0:bbe98578d4c0 254 #define SL_OPCODE_SOCKET_RECVFROMASYNCRESPONSE_V6 0x120B
dflet 0:bbe98578d4c0 255 #define SL_OPCODE_SOCKET_SEND 0x940C
dflet 0:bbe98578d4c0 256 #define SL_OPCODE_SOCKET_SENDTO 0x940D
dflet 0:bbe98578d4c0 257 #define SL_OPCODE_SOCKET_SENDTO_V6 0x960D
dflet 0:bbe98578d4c0 258 #define SL_OPCODE_SOCKET_TXFAILEDASYNCRESPONSE 0x100E
dflet 0:bbe98578d4c0 259 #define SL_OPCODE_SOCKET_SOCKETASYNCEVENT 0x100F
dflet 0:bbe98578d4c0 260 #define SL_OPCODE_NETAPP_START_COMMAND 0x9C0A
dflet 0:bbe98578d4c0 261 #define SL_OPCODE_NETAPP_START_RESPONSE 0x1C0A
dflet 0:bbe98578d4c0 262 #define SL_OPCODE_NETAPP_NETAPPSTARTRESPONSE 0x1C0A
dflet 0:bbe98578d4c0 263 #define SL_OPCODE_NETAPP_STOP_COMMAND 0x9C61
dflet 0:bbe98578d4c0 264 #define SL_OPCODE_NETAPP_STOP_RESPONSE 0x1C61
dflet 0:bbe98578d4c0 265 #define SL_OPCODE_NETAPP_NETAPPSET 0x9C0B
dflet 0:bbe98578d4c0 266 #define SL_OPCODE_NETAPP_NETAPPSETRESPONSE 0x1C0B
dflet 0:bbe98578d4c0 267 #define SL_OPCODE_NETAPP_NETAPPGET 0x9C27
dflet 0:bbe98578d4c0 268 #define SL_OPCODE_NETAPP_NETAPPGETRESPONSE 0x1C27
dflet 0:bbe98578d4c0 269 #define SL_OPCODE_NETAPP_DNSGETHOSTBYNAME 0x9C20
dflet 0:bbe98578d4c0 270 #define SL_OPCODE_NETAPP_DNSGETHOSTBYNAMERESPONSE 0x1C20
dflet 0:bbe98578d4c0 271 #define SL_OPCODE_NETAPP_DNSGETHOSTBYNAMEASYNCRESPONSE 0x1820
dflet 0:bbe98578d4c0 272 #define SL_OPCODE_NETAPP_DNSGETHOSTBYNAMEASYNCRESPONSE_V6 0x1A20
dflet 0:bbe98578d4c0 273 #define SL_OPCODE_NETAPP_NETAPP_MDNS_LOOKUP_SERVICE 0x9C71
dflet 0:bbe98578d4c0 274 #define SL_OPCODE_NETAPP_NETAPP_MDNS_LOOKUP_SERVICE_RESPONSE 0x1C72
dflet 0:bbe98578d4c0 275 #define SL_OPCODE_NETAPP_MDNSREGISTERSERVICE 0x9C34
dflet 0:bbe98578d4c0 276 #define SL_OPCODE_NETAPP_MDNSREGISTERSERVICERESPONSE 0x1C34
dflet 0:bbe98578d4c0 277 #define SL_OPCODE_NETAPP_MDNSGETHOSTBYSERVICE 0x9C35
dflet 0:bbe98578d4c0 278 #define SL_OPCODE_NETAPP_MDNSGETHOSTBYSERVICERESPONSE 0x1C35
dflet 0:bbe98578d4c0 279 #define SL_OPCODE_NETAPP_MDNSGETHOSTBYSERVICEASYNCRESPONSE 0x1835
dflet 0:bbe98578d4c0 280 #define SL_OPCODE_NETAPP_MDNSGETHOSTBYSERVICEASYNCRESPONSE_V6 0x1A35
dflet 0:bbe98578d4c0 281 #define SL_OPCODE_NETAPP_DNSGETHOSTBYADDR 0x9C26
dflet 0:bbe98578d4c0 282 #define SL_OPCODE_NETAPP_DNSGETHOSTBYADDR_V6 0x9E26
dflet 0:bbe98578d4c0 283 #define SL_OPCODE_NETAPP_DNSGETHOSTBYADDRRESPONSE 0x1C26
dflet 0:bbe98578d4c0 284 #define SL_OPCODE_NETAPP_DNSGETHOSTBYADDRASYNCRESPONSE 0x1826
dflet 0:bbe98578d4c0 285 #define SL_OPCODE_NETAPP_PINGSTART 0x9C21
dflet 0:bbe98578d4c0 286 #define SL_OPCODE_NETAPP_PINGSTART_V6 0x9E21
dflet 0:bbe98578d4c0 287 #define SL_OPCODE_NETAPP_PINGSTARTRESPONSE 0x1C21
dflet 0:bbe98578d4c0 288 #define SL_OPCODE_NETAPP_PINGREPORTREQUEST 0x9C22
dflet 0:bbe98578d4c0 289 #define SL_OPCODE_NETAPP_PINGREPORTREQUESTRESPONSE 0x1822
dflet 0:bbe98578d4c0 290 #define SL_OPCODE_NETAPP_PINGSTOP 0x9C23
dflet 0:bbe98578d4c0 291 #define SL_OPCODE_NETAPP_PINGSTOPRESPONSE 0x1C23
dflet 0:bbe98578d4c0 292 #define SL_OPCODE_NETAPP_ARPFLUSH 0x9C24
dflet 0:bbe98578d4c0 293 #define SL_OPCODE_NETAPP_ARPFLUSHRESPONSE 0x1C24
dflet 0:bbe98578d4c0 294 #define SL_OPCODE_NETAPP_IPACQUIRED 0x1825
dflet 0:bbe98578d4c0 295 #define SL_OPCODE_NETAPP_IPV4_LOST 0x1832
dflet 0:bbe98578d4c0 296 #define SL_OPCODE_NETAPP_DHCP_IPV4_ACQUIRE_TIMEOUT 0x1833
dflet 0:bbe98578d4c0 297 #define SL_OPCODE_NETAPP_IPACQUIRED_V6 0x1A25
dflet 0:bbe98578d4c0 298 #define SL_OPCODE_NETAPP_IPERFSTARTCOMMAND 0x9C28
dflet 0:bbe98578d4c0 299 #define SL_OPCODE_NETAPP_IPERFSTARTRESPONSE 0x1C28
dflet 0:bbe98578d4c0 300 #define SL_OPCODE_NETAPP_IPERFSTOPCOMMAND 0x9C29
dflet 0:bbe98578d4c0 301 #define SL_OPCODE_NETAPP_IPERFSTOPRESPONSE 0x1C29
dflet 0:bbe98578d4c0 302 #define SL_OPCODE_NETAPP_CTESTSTARTCOMMAND 0x9C2A
dflet 0:bbe98578d4c0 303 #define SL_OPCODE_NETAPP_CTESTSTARTRESPONSE 0x1C2A
dflet 0:bbe98578d4c0 304 #define SL_OPCODE_NETAPP_CTESTASYNCRESPONSE 0x182A
dflet 0:bbe98578d4c0 305 #define SL_OPCODE_NETAPP_CTESTSTOPCOMMAND 0x9C2B
dflet 0:bbe98578d4c0 306 #define SL_OPCODE_NETAPP_CTESTSTOPRESPONSE 0x1C2B
dflet 0:bbe98578d4c0 307 #define SL_OPCODE_NETAPP_IP_LEASED 0x182C
dflet 0:bbe98578d4c0 308 #define SL_OPCODE_NETAPP_IP_RELEASED 0x182D
dflet 0:bbe98578d4c0 309 #define SL_OPCODE_NETAPP_HTTPGETTOKENVALUE 0x182E
dflet 0:bbe98578d4c0 310 #define SL_OPCODE_NETAPP_HTTPSENDTOKENVALUE 0x9C2F
dflet 0:bbe98578d4c0 311 #define SL_OPCODE_NETAPP_HTTPPOSTTOKENVALUE 0x1830
dflet 0:bbe98578d4c0 312 #define SL_OPCODE_NVMEM_FILEOPEN 0xA43C
dflet 0:bbe98578d4c0 313 #define SL_OPCODE_NVMEM_FILEOPENRESPONSE 0x243C
dflet 0:bbe98578d4c0 314 #define SL_OPCODE_NVMEM_FILECLOSE 0xA43D
dflet 0:bbe98578d4c0 315 #define SL_OPCODE_NVMEM_FILECLOSERESPONSE 0x243D
dflet 0:bbe98578d4c0 316 #define SL_OPCODE_NVMEM_FILEREADCOMMAND 0xA440
dflet 0:bbe98578d4c0 317 #define SL_OPCODE_NVMEM_FILEREADRESPONSE 0x2440
dflet 0:bbe98578d4c0 318 #define SL_OPCODE_NVMEM_FILEWRITECOMMAND 0xA441
dflet 0:bbe98578d4c0 319 #define SL_OPCODE_NVMEM_FILEWRITERESPONSE 0x2441
dflet 0:bbe98578d4c0 320 #define SL_OPCODE_NVMEM_FILEGETINFOCOMMAND 0xA442
dflet 0:bbe98578d4c0 321 #define SL_OPCODE_NVMEM_FILEGETINFORESPONSE 0x2442
dflet 0:bbe98578d4c0 322 #define SL_OPCODE_NVMEM_FILEDELCOMMAND 0xA443
dflet 0:bbe98578d4c0 323 #define SL_OPCODE_NVMEM_FILEDELRESPONSE 0x2443
dflet 0:bbe98578d4c0 324 #define SL_OPCODE_NVMEM_NVMEMFORMATCOMMAND 0xA444
dflet 0:bbe98578d4c0 325 #define SL_OPCODE_NVMEM_NVMEMFORMATRESPONSE 0x2444
dflet 0:bbe98578d4c0 326
dflet 0:bbe98578d4c0 327 #define SL_OPCODE_DEVICE_SETDEBUGLEVELCOMMAND 0x846A
dflet 0:bbe98578d4c0 328 #define SL_OPCODE_DEVICE_SETDEBUGLEVELRESPONSE 0x046A
dflet 0:bbe98578d4c0 329
dflet 0:bbe98578d4c0 330 #define SL_OPCODE_DEVICE_NETCFG_SET_COMMAND 0x8432
dflet 0:bbe98578d4c0 331 #define SL_OPCODE_DEVICE_NETCFG_SET_RESPONSE 0x0432
dflet 0:bbe98578d4c0 332 #define SL_OPCODE_DEVICE_NETCFG_GET_COMMAND 0x8433
dflet 0:bbe98578d4c0 333 #define SL_OPCODE_DEVICE_NETCFG_GET_RESPONSE 0x0433
dflet 0:bbe98578d4c0 334 /* */
dflet 0:bbe98578d4c0 335 #define SL_OPCODE_DEVICE_SETUARTMODECOMMAND 0x846B
dflet 0:bbe98578d4c0 336 #define SL_OPCODE_DEVICE_SETUARTMODERESPONSE 0x046B
dflet 0:bbe98578d4c0 337 #define SL_OPCODE_DEVICE_SSISIZESETCOMMAND 0x846B
dflet 0:bbe98578d4c0 338 #define SL_OPCODE_DEVICE_SSISIZESETRESPONSE 0x046B
dflet 0:bbe98578d4c0 339
dflet 0:bbe98578d4c0 340 /* */
dflet 0:bbe98578d4c0 341 #define SL_OPCODE_DEVICE_EVENTMASKSET 0x8464
dflet 0:bbe98578d4c0 342 #define SL_OPCODE_DEVICE_EVENTMASKSETRESPONSE 0x0464
dflet 0:bbe98578d4c0 343 #define SL_OPCODE_DEVICE_EVENTMASKGET 0x8465
dflet 0:bbe98578d4c0 344 #define SL_OPCODE_DEVICE_EVENTMASKGETRESPONSE 0x0465
dflet 0:bbe98578d4c0 345
dflet 0:bbe98578d4c0 346 #define SL_OPCODE_DEVICE_DEVICEGET 0x8466
dflet 0:bbe98578d4c0 347 #define SL_OPCODE_DEVICE_DEVICEGETRESPONSE 0x0466
dflet 0:bbe98578d4c0 348 #define SL_OPCODE_DEVICE_DEVICESET 0x84B7
dflet 0:bbe98578d4c0 349 #define SL_OPCODE_DEVICE_DEVICESETRESPONSE 0x04B7
dflet 0:bbe98578d4c0 350
dflet 0:bbe98578d4c0 351 #define SL_OPCODE_WLAN_SCANRESULTSGETCOMMAND 0x8C8C
dflet 0:bbe98578d4c0 352 #define SL_OPCODE_WLAN_SCANRESULTSGETRESPONSE 0x0C8C
dflet 0:bbe98578d4c0 353 #define SL_OPCODE_WLAN_SMARTCONFIGOPTSET 0x8C8D
dflet 0:bbe98578d4c0 354 #define SL_OPCODE_WLAN_SMARTCONFIGOPTSETRESPONSE 0x0C8D
dflet 0:bbe98578d4c0 355 #define SL_OPCODE_WLAN_SMARTCONFIGOPTGET 0x8C8E
dflet 0:bbe98578d4c0 356 #define SL_OPCODE_WLAN_SMARTCONFIGOPTGETRESPONSE 0x0C8E
dflet 0:bbe98578d4c0 357
dflet 0:bbe98578d4c0 358 #define SL_OPCODE_FREE_BSD_RECV_BUFFER 0xCCCB
dflet 0:bbe98578d4c0 359 #define SL_OPCODE_FREE_NON_BSD_READ_BUFFER 0xCCCD
dflet 0:bbe98578d4c0 360
dflet 0:bbe98578d4c0 361
dflet 0:bbe98578d4c0 362 /* Rx Filters opcodes */
dflet 0:bbe98578d4c0 363 #define SL_OPCODE_WLAN_WLANRXFILTERADDCOMMAND 0x8C6C
dflet 0:bbe98578d4c0 364 #define SL_OPCODE_WLAN_WLANRXFILTERADDRESPONSE 0x0C6C
dflet 0:bbe98578d4c0 365 #define SL_OPCODE_WLAN_WLANRXFILTERSETCOMMAND 0x8C6D
dflet 0:bbe98578d4c0 366 #define SL_OPCODE_WLAN_WLANRXFILTERSETRESPONSE 0x0C6D
dflet 0:bbe98578d4c0 367 #define SL_OPCODE_WLAN_WLANRXFILTERGETSTATISTICSINFOCOMMAND 0x8C6E
dflet 0:bbe98578d4c0 368 #define SL_OPCODE_WLAN_WLANRXFILTERGETSTATISTICSINFORESPONSE 0x0C6E
dflet 0:bbe98578d4c0 369 #define SL_OPCODE_WLAN_WLANRXFILTERGETCOMMAND 0x8C6F
dflet 0:bbe98578d4c0 370 #define SL_OPCODE_WLAN_WLANRXFILTERGETRESPONSE 0x0C6F
dflet 0:bbe98578d4c0 371 #define SL_OPCODE_WLAN_WLANRXFILTERGETINFO 0x8C70
dflet 0:bbe98578d4c0 372 #define SL_OPCODE_WLAN_WLANRXFILTERGETINFORESPONSE 0x0C70
dflet 0:bbe98578d4c0 373
dflet 0:bbe98578d4c0 374
dflet 0:bbe98578d4c0 375 /******************************************************************************************/
dflet 0:bbe98578d4c0 376 /* Device structs */
dflet 0:bbe98578d4c0 377 /******************************************************************************************/
dflet 0:bbe98578d4c0 378 typedef _u32 InitStatus_t;
dflet 0:bbe98578d4c0 379
dflet 0:bbe98578d4c0 380
dflet 0:bbe98578d4c0 381 typedef struct
dflet 0:bbe98578d4c0 382 {
dflet 0:bbe98578d4c0 383 _i32 Status;
dflet 0:bbe98578d4c0 384 }InitComplete_t;
dflet 0:bbe98578d4c0 385
dflet 0:bbe98578d4c0 386 typedef struct
dflet 0:bbe98578d4c0 387 {
dflet 0:bbe98578d4c0 388 _i16 status;
dflet 0:bbe98578d4c0 389 _u16 padding;
dflet 0:bbe98578d4c0 390
dflet 0:bbe98578d4c0 391 }_BasicResponse_t;
dflet 0:bbe98578d4c0 392
dflet 0:bbe98578d4c0 393 typedef struct
dflet 0:bbe98578d4c0 394 {
dflet 0:bbe98578d4c0 395 _u16 Timeout;
dflet 0:bbe98578d4c0 396 _u16 padding;
dflet 0:bbe98578d4c0 397 }_DevStopCommand_t;
dflet 0:bbe98578d4c0 398
dflet 0:bbe98578d4c0 399 typedef struct
dflet 0:bbe98578d4c0 400 {
dflet 0:bbe98578d4c0 401 _u32 group;
dflet 0:bbe98578d4c0 402 _u32 mask;
dflet 0:bbe98578d4c0 403 }_DevMaskEventSetCommand_t;
dflet 0:bbe98578d4c0 404
dflet 0:bbe98578d4c0 405 typedef _BasicResponse_t _DevMaskEventSetResponse_t;
dflet 0:bbe98578d4c0 406
dflet 0:bbe98578d4c0 407
dflet 0:bbe98578d4c0 408 typedef struct
dflet 0:bbe98578d4c0 409 {
dflet 0:bbe98578d4c0 410 _u32 group;
dflet 0:bbe98578d4c0 411 }_DevMaskEventGetCommand_t;
dflet 0:bbe98578d4c0 412
dflet 0:bbe98578d4c0 413
dflet 0:bbe98578d4c0 414 typedef struct
dflet 0:bbe98578d4c0 415 {
dflet 0:bbe98578d4c0 416 _u32 group;
dflet 0:bbe98578d4c0 417 _u32 mask;
dflet 0:bbe98578d4c0 418 }_DevMaskEventGetResponse_t;
dflet 0:bbe98578d4c0 419
dflet 0:bbe98578d4c0 420
dflet 0:bbe98578d4c0 421 typedef struct
dflet 0:bbe98578d4c0 422 {
dflet 0:bbe98578d4c0 423 _u32 group;
dflet 0:bbe98578d4c0 424 }_DevStatusGetCommand_t;
dflet 0:bbe98578d4c0 425
dflet 0:bbe98578d4c0 426
dflet 0:bbe98578d4c0 427 typedef struct
dflet 0:bbe98578d4c0 428 {
dflet 0:bbe98578d4c0 429 _u32 group;
dflet 0:bbe98578d4c0 430 _u32 status;
dflet 0:bbe98578d4c0 431 }_DevStatusGetResponse_t;
dflet 0:bbe98578d4c0 432
dflet 0:bbe98578d4c0 433 typedef struct
dflet 0:bbe98578d4c0 434 {
dflet 0:bbe98578d4c0 435 _u32 ChipId;
dflet 0:bbe98578d4c0 436 _u32 FwVersion[4];
dflet 0:bbe98578d4c0 437 _u8 PhyVersion[4];
dflet 0:bbe98578d4c0 438 }_Device_VersionReadResponsePart_t;
dflet 0:bbe98578d4c0 439
dflet 0:bbe98578d4c0 440 typedef struct
dflet 0:bbe98578d4c0 441 {
dflet 0:bbe98578d4c0 442 _Device_VersionReadResponsePart_t part;
dflet 0:bbe98578d4c0 443 _u32 NwpVersion[4];
dflet 0:bbe98578d4c0 444 _u16 RomVersion;
dflet 0:bbe98578d4c0 445 _u16 Padding;
dflet 0:bbe98578d4c0 446 }_Device_VersionReadResponseFull_t;
dflet 0:bbe98578d4c0 447
dflet 0:bbe98578d4c0 448
dflet 0:bbe98578d4c0 449 typedef struct
dflet 0:bbe98578d4c0 450 {
dflet 0:bbe98578d4c0 451 _u32 BaudRate;
dflet 0:bbe98578d4c0 452 _u8 FlowControlEnable;
dflet 0:bbe98578d4c0 453 }_DevUartSetModeCommand_t;
dflet 0:bbe98578d4c0 454
dflet 0:bbe98578d4c0 455 typedef _BasicResponse_t _DevUartSetModeResponse_t;
dflet 0:bbe98578d4c0 456
dflet 0:bbe98578d4c0 457 /******************************************************/
dflet 0:bbe98578d4c0 458
dflet 0:bbe98578d4c0 459 typedef struct
dflet 0:bbe98578d4c0 460 {
dflet 0:bbe98578d4c0 461 _u8 SsiSizeInBytes;
dflet 0:bbe98578d4c0 462 _u8 Padding[3];
dflet 0:bbe98578d4c0 463 }_StellarisSsiSizeSet_t;
dflet 0:bbe98578d4c0 464
dflet 0:bbe98578d4c0 465 /*****************************************************************************************/
dflet 0:bbe98578d4c0 466 /* WLAN structs */
dflet 0:bbe98578d4c0 467 /*****************************************************************************************/
dflet 0:bbe98578d4c0 468 #define MAXIMAL_PASSWORD_LENGTH (64)
dflet 0:bbe98578d4c0 469
dflet 0:bbe98578d4c0 470 typedef struct{
dflet 0:bbe98578d4c0 471 _u8 SecType;
dflet 0:bbe98578d4c0 472 _u8 SsidLen;
dflet 0:bbe98578d4c0 473 _u8 Bssid[6];
dflet 0:bbe98578d4c0 474 _u8 PasswordLen;
dflet 0:bbe98578d4c0 475 }_WlanConnectCommon_t;
dflet 0:bbe98578d4c0 476
dflet 0:bbe98578d4c0 477 #define SSID_STRING(pCmd) (_i8 *)((_WlanConnectCommon_t *)(pCmd) + 1)
dflet 0:bbe98578d4c0 478 #define PASSWORD_STRING(pCmd) (SSID_STRING(pCmd) + ((_WlanConnectCommon_t *)(pCmd))->SsidLen)
dflet 0:bbe98578d4c0 479
dflet 0:bbe98578d4c0 480 typedef struct{
dflet 0:bbe98578d4c0 481 _WlanConnectCommon_t Common;
dflet 0:bbe98578d4c0 482 _u8 UserLen;
dflet 0:bbe98578d4c0 483 _u8 AnonUserLen;
dflet 0:bbe98578d4c0 484 _u8 CertIndex;
dflet 0:bbe98578d4c0 485 _u32 EapBitmask;
dflet 0:bbe98578d4c0 486 }_WlanConnectEapCommand_t;
dflet 0:bbe98578d4c0 487
dflet 0:bbe98578d4c0 488 #define EAP_SSID_STRING(pCmd) (_i8 *)((_WlanConnectEapCommand_t *)(pCmd) + 1)
dflet 0:bbe98578d4c0 489 #define EAP_PASSWORD_STRING(pCmd) (EAP_SSID_STRING(pCmd) + ((_WlanConnectEapCommand_t *)(pCmd))->Common.SsidLen)
dflet 0:bbe98578d4c0 490 #define EAP_USER_STRING(pCmd) (EAP_PASSWORD_STRING(pCmd) + ((_WlanConnectEapCommand_t *)(pCmd))->Common.PasswordLen)
dflet 0:bbe98578d4c0 491 #define EAP_ANON_USER_STRING(pCmd) (EAP_USER_STRING(pCmd) + ((_WlanConnectEapCommand_t *)(pCmd))->UserLen)
dflet 0:bbe98578d4c0 492
dflet 0:bbe98578d4c0 493
dflet 0:bbe98578d4c0 494 typedef struct
dflet 0:bbe98578d4c0 495 {
dflet 0:bbe98578d4c0 496 _u8 PolicyType;
dflet 0:bbe98578d4c0 497 _u8 Padding;
dflet 0:bbe98578d4c0 498 _u8 PolicyOption;
dflet 0:bbe98578d4c0 499 _u8 PolicyOptionLen;
dflet 0:bbe98578d4c0 500 }_WlanPoliciySetGet_t;
dflet 0:bbe98578d4c0 501
dflet 0:bbe98578d4c0 502
dflet 0:bbe98578d4c0 503 typedef struct{
dflet 0:bbe98578d4c0 504 _u32 minDwellTime;
dflet 0:bbe98578d4c0 505 _u32 maxDwellTime;
dflet 0:bbe98578d4c0 506 _u32 numProbeResponse;
dflet 0:bbe98578d4c0 507 _u32 G_Channels_mask;
dflet 0:bbe98578d4c0 508 _i32 rssiThershold;
dflet 0:bbe98578d4c0 509 _i32 snrThershold;
dflet 0:bbe98578d4c0 510 _i32 defaultTXPower;
dflet 0:bbe98578d4c0 511 _u16 intervalList[16];
dflet 0:bbe98578d4c0 512 }_WlanScanParamSetCommand_t;
dflet 0:bbe98578d4c0 513
dflet 0:bbe98578d4c0 514
dflet 0:bbe98578d4c0 515 typedef struct{
dflet 0:bbe98578d4c0 516 _i8 SecType;
dflet 0:bbe98578d4c0 517 _u8 SsidLen;
dflet 0:bbe98578d4c0 518 _u8 Priority;
dflet 0:bbe98578d4c0 519 _u8 Bssid[6];
dflet 0:bbe98578d4c0 520 _u8 PasswordLen;
dflet 0:bbe98578d4c0 521 _u8 WepKeyId;
dflet 0:bbe98578d4c0 522 }_WlanAddGetProfile_t;
dflet 0:bbe98578d4c0 523
dflet 0:bbe98578d4c0 524
dflet 0:bbe98578d4c0 525 typedef struct{
dflet 0:bbe98578d4c0 526 _WlanAddGetProfile_t Common;
dflet 0:bbe98578d4c0 527 _u8 UserLen;
dflet 0:bbe98578d4c0 528 _u8 AnonUserLen;
dflet 0:bbe98578d4c0 529 _u8 CertIndex;
dflet 0:bbe98578d4c0 530 _u16 padding;
dflet 0:bbe98578d4c0 531 _u32 EapBitmask;
dflet 0:bbe98578d4c0 532 }_WlanAddGetEapProfile_t;
dflet 0:bbe98578d4c0 533
dflet 0:bbe98578d4c0 534
dflet 0:bbe98578d4c0 535
dflet 0:bbe98578d4c0 536
dflet 0:bbe98578d4c0 537 #define PROFILE_SSID_STRING(pCmd) ((_i8 *)((_WlanAddGetProfile_t *)(pCmd) + 1))
dflet 0:bbe98578d4c0 538 #define PROFILE_PASSWORD_STRING(pCmd) (PROFILE_SSID_STRING(pCmd) + ((_WlanAddGetProfile_t *)(pCmd))->SsidLen)
dflet 0:bbe98578d4c0 539
dflet 0:bbe98578d4c0 540 #define EAP_PROFILE_SSID_STRING(pCmd) (_i8 *)((_WlanAddGetEapProfile_t *)(pCmd) + 1)
dflet 0:bbe98578d4c0 541 #define EAP_PROFILE_PASSWORD_STRING(pCmd) (EAP_PROFILE_SSID_STRING(pCmd) + ((_WlanAddGetEapProfile_t *)(pCmd))->Common.SsidLen)
dflet 0:bbe98578d4c0 542 #define EAP_PROFILE_USER_STRING(pCmd) (EAP_PROFILE_PASSWORD_STRING(pCmd) + ((_WlanAddGetEapProfile_t *)(pCmd))->Common.PasswordLen)
dflet 0:bbe98578d4c0 543 #define EAP_PROFILE_ANON_USER_STRING(pCmd) (EAP_PROFILE_USER_STRING(pCmd) + ((_WlanAddGetEapProfile_t *)(pCmd))->UserLen)
dflet 0:bbe98578d4c0 544
dflet 0:bbe98578d4c0 545
dflet 0:bbe98578d4c0 546
dflet 0:bbe98578d4c0 547 typedef struct
dflet 0:bbe98578d4c0 548 {
dflet 0:bbe98578d4c0 549 _u8 index;
dflet 0:bbe98578d4c0 550 _u8 padding[3];
dflet 0:bbe98578d4c0 551 }_WlanProfileDelGetCommand_t;
dflet 0:bbe98578d4c0 552
dflet 0:bbe98578d4c0 553 typedef _BasicResponse_t _WlanGetNetworkListResponse_t;
dflet 0:bbe98578d4c0 554
dflet 0:bbe98578d4c0 555 typedef struct
dflet 0:bbe98578d4c0 556 {
dflet 0:bbe98578d4c0 557 _u8 index;
dflet 0:bbe98578d4c0 558 _u8 count;
dflet 0:bbe98578d4c0 559 _i8 padding[2];
dflet 0:bbe98578d4c0 560 }_WlanGetNetworkListCommand_t;
dflet 0:bbe98578d4c0 561
dflet 0:bbe98578d4c0 562
dflet 0:bbe98578d4c0 563
dflet 0:bbe98578d4c0 564
dflet 0:bbe98578d4c0 565 typedef struct
dflet 0:bbe98578d4c0 566 {
dflet 0:bbe98578d4c0 567 _u32 groupIdBitmask;
dflet 0:bbe98578d4c0 568 _u8 cipher;
dflet 0:bbe98578d4c0 569 _u8 publicKeyLen;
dflet 0:bbe98578d4c0 570 _u8 group1KeyLen;
dflet 0:bbe98578d4c0 571 _u8 group2KeyLen;
dflet 0:bbe98578d4c0 572 }_WlanSmartConfigStartCommand_t;
dflet 0:bbe98578d4c0 573
dflet 0:bbe98578d4c0 574 #define SMART_CONFIG_START_PUBLIC_KEY_STRING(pCmd) ((_i8 *)((_WlanSmartConfigStartCommand_t *)(pCmd) + 1))
dflet 0:bbe98578d4c0 575 #define SMART_CONFIG_START_GROUP1_KEY_STRING(pCmd) ((_i8 *) (SMART_CONFIG_START_PUBLIC_KEY_STRING(pCmd) + ((_WlanSmartConfigStartCommand_t *)(pCmd))->publicKeyLen))
dflet 0:bbe98578d4c0 576 #define SMART_CONFIG_START_GROUP2_KEY_STRING(pCmd) ((_i8 *) (SMART_CONFIG_START_GROUP1_KEY_STRING(pCmd) + ((_WlanSmartConfigStartCommand_t *)(pCmd))->group1KeyLen))
dflet 0:bbe98578d4c0 577
dflet 0:bbe98578d4c0 578
dflet 0:bbe98578d4c0 579
dflet 0:bbe98578d4c0 580 typedef struct
dflet 0:bbe98578d4c0 581 {
dflet 0:bbe98578d4c0 582 _u8 mode;
dflet 0:bbe98578d4c0 583 _u8 padding[3];
dflet 0:bbe98578d4c0 584 }_WlanSetMode_t;
dflet 0:bbe98578d4c0 585
dflet 0:bbe98578d4c0 586
dflet 0:bbe98578d4c0 587
dflet 0:bbe98578d4c0 588
dflet 0:bbe98578d4c0 589 typedef struct
dflet 0:bbe98578d4c0 590 {
dflet 0:bbe98578d4c0 591 _u16 Status;
dflet 0:bbe98578d4c0 592 _u16 ConfigId;
dflet 0:bbe98578d4c0 593 _u16 ConfigOpt;
dflet 0:bbe98578d4c0 594 _u16 ConfigLen;
dflet 0:bbe98578d4c0 595 }_WlanCfgSetGet_t;
dflet 0:bbe98578d4c0 596
dflet 0:bbe98578d4c0 597
dflet 0:bbe98578d4c0 598 /* ******************************************************************************/
dflet 0:bbe98578d4c0 599 /* RX filters - Start */
dflet 0:bbe98578d4c0 600 /* ******************************************************************************/
dflet 0:bbe98578d4c0 601 /* -- 80 bytes */
dflet 0:bbe98578d4c0 602 typedef struct _WlanRxFilterAddCommand_t
dflet 0:bbe98578d4c0 603 {
dflet 0:bbe98578d4c0 604 /* -- 1 byte */
dflet 0:bbe98578d4c0 605 SlrxFilterRuleType_t RuleType;
dflet 0:bbe98578d4c0 606 /* -- 1 byte */
dflet 0:bbe98578d4c0 607 SlrxFilterFlags_t FilterFlags;
dflet 0:bbe98578d4c0 608 /* -- 1 byte */
dflet 0:bbe98578d4c0 609 SlrxFilterID_t FilterId;
dflet 0:bbe98578d4c0 610 /* -- 1 byte */
dflet 0:bbe98578d4c0 611 _u8 Padding;
dflet 0:bbe98578d4c0 612 /* -- 56 byte */
dflet 0:bbe98578d4c0 613 SlrxFilterRule_t Rule;
dflet 0:bbe98578d4c0 614 /* -- 12 byte ( 3 padding ) */
dflet 0:bbe98578d4c0 615 SlrxFilterTrigger_t Trigger;
dflet 0:bbe98578d4c0 616 /* -- 8 byte */
dflet 0:bbe98578d4c0 617 SlrxFilterAction_t Action;
dflet 0:bbe98578d4c0 618 }_WlanRxFilterAddCommand_t;
dflet 0:bbe98578d4c0 619
dflet 0:bbe98578d4c0 620
dflet 0:bbe98578d4c0 621
dflet 0:bbe98578d4c0 622 /* -- 4 bytes */
dflet 0:bbe98578d4c0 623 typedef struct l_WlanRxFilterAddCommandReponse_t
dflet 0:bbe98578d4c0 624 {
dflet 0:bbe98578d4c0 625 /* -- 1 byte */
dflet 0:bbe98578d4c0 626 SlrxFilterID_t FilterId;
dflet 0:bbe98578d4c0 627 /* -- 1 Byte */
dflet 0:bbe98578d4c0 628 _u8 Status;
dflet 0:bbe98578d4c0 629 /* -- 2 byte */
dflet 0:bbe98578d4c0 630 _u8 Padding[2];
dflet 0:bbe98578d4c0 631
dflet 0:bbe98578d4c0 632 }_WlanRxFilterAddCommandReponse_t;
dflet 0:bbe98578d4c0 633
dflet 0:bbe98578d4c0 634
dflet 0:bbe98578d4c0 635
dflet 0:bbe98578d4c0 636 /*
dflet 0:bbe98578d4c0 637 * \struct _WlanRxFilterSetCommand_t
dflet 0:bbe98578d4c0 638 */
dflet 0:bbe98578d4c0 639 typedef struct _WlanRxFilterSetCommand_t
dflet 0:bbe98578d4c0 640 {
dflet 0:bbe98578d4c0 641 _u16 InputBufferLength;
dflet 0:bbe98578d4c0 642 /* 1 byte */
dflet 0:bbe98578d4c0 643 SLrxFilterOperation_t RxFilterOperation;
dflet 0:bbe98578d4c0 644 _u8 Padding[1];
dflet 0:bbe98578d4c0 645 }_WlanRxFilterSetCommand_t;
dflet 0:bbe98578d4c0 646
dflet 0:bbe98578d4c0 647 /**
dflet 0:bbe98578d4c0 648 * \struct _WlanRxFilterSetCommandReponse_t
dflet 0:bbe98578d4c0 649 */
dflet 0:bbe98578d4c0 650 typedef struct _WlanRxFilterSetCommandReponse_t
dflet 0:bbe98578d4c0 651 {
dflet 0:bbe98578d4c0 652 /* 1 byte */
dflet 0:bbe98578d4c0 653 _u8 Status;
dflet 0:bbe98578d4c0 654 /* 3 bytes */
dflet 0:bbe98578d4c0 655 _u8 Padding[3];
dflet 0:bbe98578d4c0 656
dflet 0:bbe98578d4c0 657 }_WlanRxFilterSetCommandReponse_t;
dflet 0:bbe98578d4c0 658
dflet 0:bbe98578d4c0 659 /**
dflet 0:bbe98578d4c0 660 * \struct _WlanRxFilterGetCommand_t
dflet 0:bbe98578d4c0 661 */
dflet 0:bbe98578d4c0 662 typedef struct _WlanRxFilterGetCommand_t
dflet 0:bbe98578d4c0 663 {
dflet 0:bbe98578d4c0 664 _u16 OutputBufferLength;
dflet 0:bbe98578d4c0 665 /* 1 byte */
dflet 0:bbe98578d4c0 666 SLrxFilterOperation_t RxFilterOperation;
dflet 0:bbe98578d4c0 667 _u8 Padding[1];
dflet 0:bbe98578d4c0 668 }_WlanRxFilterGetCommand_t;
dflet 0:bbe98578d4c0 669
dflet 0:bbe98578d4c0 670 /**
dflet 0:bbe98578d4c0 671 * \struct _WlanRxFilterGetCommandReponse_t
dflet 0:bbe98578d4c0 672 */
dflet 0:bbe98578d4c0 673 typedef struct _WlanRxFilterGetCommandReponse_t
dflet 0:bbe98578d4c0 674 {
dflet 0:bbe98578d4c0 675 /* 1 byte */
dflet 0:bbe98578d4c0 676 _u8 Status;
dflet 0:bbe98578d4c0 677 /* 1 bytes */
dflet 0:bbe98578d4c0 678 _u8 Padding;
dflet 0:bbe98578d4c0 679 /* 2 byte */
dflet 0:bbe98578d4c0 680 _u16 OutputBufferLength;
dflet 0:bbe98578d4c0 681
dflet 0:bbe98578d4c0 682 }_WlanRxFilterGetCommandReponse_t;
dflet 0:bbe98578d4c0 683
dflet 0:bbe98578d4c0 684
dflet 0:bbe98578d4c0 685
dflet 0:bbe98578d4c0 686 /* ******************************************************************************/
dflet 0:bbe98578d4c0 687 /* RX filters -- End */
dflet 0:bbe98578d4c0 688 /* ******************************************************************************/
dflet 0:bbe98578d4c0 689
dflet 0:bbe98578d4c0 690 typedef struct
dflet 0:bbe98578d4c0 691 {
dflet 0:bbe98578d4c0 692 _u16 status;
dflet 0:bbe98578d4c0 693 _u8 WlanRole; /* 0 = station, 2 = AP */
dflet 0:bbe98578d4c0 694 _u8 Ipv6Enabled;
dflet 0:bbe98578d4c0 695 _u8 Ipv6DhcpEnabled;
dflet 0:bbe98578d4c0 696
dflet 0:bbe98578d4c0 697 _u32 ipV6Global[4];
dflet 0:bbe98578d4c0 698 _u32 ipV6Local[4];
dflet 0:bbe98578d4c0 699 _u32 ipV6DnsServer[4];
dflet 0:bbe98578d4c0 700 _u8 Ipv6DhcpState;
dflet 0:bbe98578d4c0 701
dflet 0:bbe98578d4c0 702 }_NetappIpV6configRetArgs_t;
dflet 0:bbe98578d4c0 703
dflet 0:bbe98578d4c0 704
dflet 0:bbe98578d4c0 705 typedef struct
dflet 0:bbe98578d4c0 706 {
dflet 0:bbe98578d4c0 707 _u8 ipV4[4];
dflet 0:bbe98578d4c0 708 _u8 ipV4Mask[4];
dflet 0:bbe98578d4c0 709 _u8 ipV4Gateway[4];
dflet 0:bbe98578d4c0 710 _u8 ipV4DnsServer[4];
dflet 0:bbe98578d4c0 711 _u8 ipV4Start[4];
dflet 0:bbe98578d4c0 712 _u8 ipV4End[4];
dflet 0:bbe98578d4c0 713 }_NetCfgIpV4AP_Args_t;
dflet 0:bbe98578d4c0 714
dflet 0:bbe98578d4c0 715
dflet 0:bbe98578d4c0 716
dflet 0:bbe98578d4c0 717 typedef struct
dflet 0:bbe98578d4c0 718 {
dflet 0:bbe98578d4c0 719 _u16 status;
dflet 0:bbe98578d4c0 720 _u8 MacAddr[6];
dflet 0:bbe98578d4c0 721 } _MAC_Address_SetGet_t;
dflet 0:bbe98578d4c0 722
dflet 0:bbe98578d4c0 723
dflet 0:bbe98578d4c0 724 typedef struct
dflet 0:bbe98578d4c0 725 {
dflet 0:bbe98578d4c0 726 _u16 Status;
dflet 0:bbe98578d4c0 727 _u16 ConfigId;
dflet 0:bbe98578d4c0 728 _u16 ConfigOpt;
dflet 0:bbe98578d4c0 729 _u16 ConfigLen;
dflet 0:bbe98578d4c0 730 }_NetCfgSetGet_t;
dflet 0:bbe98578d4c0 731
dflet 0:bbe98578d4c0 732 typedef struct
dflet 0:bbe98578d4c0 733 {
dflet 0:bbe98578d4c0 734 _u16 Status;
dflet 0:bbe98578d4c0 735 _u16 DeviceSetId;
dflet 0:bbe98578d4c0 736 _u16 Option;
dflet 0:bbe98578d4c0 737 _u16 ConfigLen;
dflet 0:bbe98578d4c0 738 }_DeviceSetGet_t;
dflet 0:bbe98578d4c0 739
dflet 0:bbe98578d4c0 740
dflet 0:bbe98578d4c0 741
dflet 0:bbe98578d4c0 742
dflet 0:bbe98578d4c0 743 /******************************************************************************************/
dflet 0:bbe98578d4c0 744 /* Socket structs */
dflet 0:bbe98578d4c0 745 /******************************************************************************************/
dflet 0:bbe98578d4c0 746
dflet 0:bbe98578d4c0 747 typedef struct
dflet 0:bbe98578d4c0 748 {
dflet 0:bbe98578d4c0 749 _u8 Domain;
dflet 0:bbe98578d4c0 750 _u8 Type;
dflet 0:bbe98578d4c0 751 _u8 Protocol;
dflet 0:bbe98578d4c0 752 _u8 Padding;
dflet 0:bbe98578d4c0 753 }_SocketCommand_t;
dflet 0:bbe98578d4c0 754
dflet 0:bbe98578d4c0 755
dflet 0:bbe98578d4c0 756 typedef struct
dflet 0:bbe98578d4c0 757 {
dflet 0:bbe98578d4c0 758 _i16 statusOrLen;
dflet 0:bbe98578d4c0 759 _u8 sd;
dflet 0:bbe98578d4c0 760 _u8 padding;
dflet 0:bbe98578d4c0 761 }_SocketResponse_t;
dflet 0:bbe98578d4c0 762
dflet 0:bbe98578d4c0 763 typedef struct
dflet 0:bbe98578d4c0 764 {
dflet 0:bbe98578d4c0 765 _u8 sd;
dflet 0:bbe98578d4c0 766 _u8 family;
dflet 0:bbe98578d4c0 767 _u8 padding1;
dflet 0:bbe98578d4c0 768 _u8 padding2;
dflet 0:bbe98578d4c0 769 }_AcceptCommand_t;
dflet 0:bbe98578d4c0 770
dflet 0:bbe98578d4c0 771
dflet 0:bbe98578d4c0 772 typedef struct
dflet 0:bbe98578d4c0 773 {
dflet 0:bbe98578d4c0 774 _i16 statusOrLen;
dflet 0:bbe98578d4c0 775 _u8 sd;
dflet 0:bbe98578d4c0 776 _u8 family;
dflet 0:bbe98578d4c0 777 _u16 port;
dflet 0:bbe98578d4c0 778 _u16 paddingOrAddr;
dflet 0:bbe98578d4c0 779 _u32 address;
dflet 0:bbe98578d4c0 780 }_SocketAddrAsyncIPv4Response_t;
dflet 0:bbe98578d4c0 781
dflet 0:bbe98578d4c0 782 typedef struct
dflet 0:bbe98578d4c0 783 {
dflet 0:bbe98578d4c0 784 _i16 statusOrLen;
dflet 0:bbe98578d4c0 785 _u8 sd;
dflet 0:bbe98578d4c0 786 _u8 family;
dflet 0:bbe98578d4c0 787 _u16 port;
dflet 0:bbe98578d4c0 788 _u8 address[6];
dflet 0:bbe98578d4c0 789 }_SocketAddrAsyncIPv6EUI48Response_t;
dflet 0:bbe98578d4c0 790 typedef struct
dflet 0:bbe98578d4c0 791 {
dflet 0:bbe98578d4c0 792 _i16 statusOrLen;
dflet 0:bbe98578d4c0 793 _u8 sd;
dflet 0:bbe98578d4c0 794 _u8 family;
dflet 0:bbe98578d4c0 795 _u16 port;
dflet 0:bbe98578d4c0 796 _u16 paddingOrAddr;
dflet 0:bbe98578d4c0 797 _u32 address[4];
dflet 0:bbe98578d4c0 798 }_SocketAddrAsyncIPv6Response_t;
dflet 0:bbe98578d4c0 799
dflet 0:bbe98578d4c0 800
dflet 0:bbe98578d4c0 801 typedef struct
dflet 0:bbe98578d4c0 802 {
dflet 0:bbe98578d4c0 803 _i16 lenOrPadding;
dflet 0:bbe98578d4c0 804 _u8 sd;
dflet 0:bbe98578d4c0 805 _u8 FamilyAndFlags;
dflet 0:bbe98578d4c0 806 _u16 port;
dflet 0:bbe98578d4c0 807 _u16 paddingOrAddr;
dflet 0:bbe98578d4c0 808 _u32 address;
dflet 0:bbe98578d4c0 809 }_SocketAddrIPv4Command_t;
dflet 0:bbe98578d4c0 810
dflet 0:bbe98578d4c0 811 typedef struct
dflet 0:bbe98578d4c0 812 {
dflet 0:bbe98578d4c0 813 _i16 lenOrPadding;
dflet 0:bbe98578d4c0 814 _u8 sd;
dflet 0:bbe98578d4c0 815 _u8 FamilyAndFlags;
dflet 0:bbe98578d4c0 816 _u16 port;
dflet 0:bbe98578d4c0 817 _u8 address[6];
dflet 0:bbe98578d4c0 818 }_SocketAddrIPv6EUI48Command_t;
dflet 0:bbe98578d4c0 819 typedef struct
dflet 0:bbe98578d4c0 820 {
dflet 0:bbe98578d4c0 821 _i16 lenOrPadding;
dflet 0:bbe98578d4c0 822 _u8 sd;
dflet 0:bbe98578d4c0 823 _u8 FamilyAndFlags;
dflet 0:bbe98578d4c0 824 _u16 port;
dflet 0:bbe98578d4c0 825 _u16 paddingOrAddr;
dflet 0:bbe98578d4c0 826 _u32 address[4];
dflet 0:bbe98578d4c0 827 }_SocketAddrIPv6Command_t;
dflet 0:bbe98578d4c0 828
dflet 0:bbe98578d4c0 829 typedef union {
dflet 0:bbe98578d4c0 830 _SocketAddrIPv4Command_t IpV4;
dflet 0:bbe98578d4c0 831 _SocketAddrIPv6EUI48Command_t IpV6EUI48;
dflet 0:bbe98578d4c0 832 #ifdef SL_SUPPORT_IPV6
dflet 0:bbe98578d4c0 833 _SocketAddrIPv6Command_t IpV6;
dflet 0:bbe98578d4c0 834 #endif
dflet 0:bbe98578d4c0 835 } _SocketAddrCommand_u;
dflet 0:bbe98578d4c0 836
dflet 0:bbe98578d4c0 837 typedef union {
dflet 0:bbe98578d4c0 838 _SocketAddrAsyncIPv4Response_t IpV4;
dflet 0:bbe98578d4c0 839 _SocketAddrAsyncIPv6EUI48Response_t IpV6EUI48;
dflet 0:bbe98578d4c0 840 #ifdef SL_SUPPORT_IPV6
dflet 0:bbe98578d4c0 841 _SocketAddrAsyncIPv6Response_t IpV6;
dflet 0:bbe98578d4c0 842 #endif
dflet 0:bbe98578d4c0 843 } _SocketAddrResponse_u;
dflet 0:bbe98578d4c0 844
dflet 0:bbe98578d4c0 845 typedef struct
dflet 0:bbe98578d4c0 846 {
dflet 0:bbe98578d4c0 847 _u8 sd;
dflet 0:bbe98578d4c0 848 _u8 backlog;
dflet 0:bbe98578d4c0 849 _u8 padding1;
dflet 0:bbe98578d4c0 850 _u8 padding2;
dflet 0:bbe98578d4c0 851 }_ListenCommand_t;
dflet 0:bbe98578d4c0 852
dflet 0:bbe98578d4c0 853 typedef struct
dflet 0:bbe98578d4c0 854 {
dflet 0:bbe98578d4c0 855 _u8 sd;
dflet 0:bbe98578d4c0 856 _u8 padding0;
dflet 0:bbe98578d4c0 857 _u8 padding1;
dflet 0:bbe98578d4c0 858 _u8 padding2;
dflet 0:bbe98578d4c0 859 }_CloseCommand_t;
dflet 0:bbe98578d4c0 860
dflet 0:bbe98578d4c0 861
dflet 0:bbe98578d4c0 862 typedef struct
dflet 0:bbe98578d4c0 863 {
dflet 0:bbe98578d4c0 864 _u8 nfds;
dflet 0:bbe98578d4c0 865 _u8 readFdsCount;
dflet 0:bbe98578d4c0 866 _u8 writeFdsCount;
dflet 0:bbe98578d4c0 867 _u8 padding;
dflet 0:bbe98578d4c0 868 _u16 readFds;
dflet 0:bbe98578d4c0 869 _u16 writeFds;
dflet 0:bbe98578d4c0 870 _u16 tv_usec;
dflet 0:bbe98578d4c0 871 _u16 tv_sec;
dflet 0:bbe98578d4c0 872 }_SelectCommand_t;
dflet 0:bbe98578d4c0 873
dflet 0:bbe98578d4c0 874
dflet 0:bbe98578d4c0 875 typedef struct
dflet 0:bbe98578d4c0 876 {
dflet 0:bbe98578d4c0 877 _u16 status;
dflet 0:bbe98578d4c0 878 _u8 readFdsCount;
dflet 0:bbe98578d4c0 879 _u8 writeFdsCount;
dflet 0:bbe98578d4c0 880 _u16 readFds;
dflet 0:bbe98578d4c0 881 _u16 writeFds;
dflet 0:bbe98578d4c0 882 }_SelectAsyncResponse_t;
dflet 0:bbe98578d4c0 883
dflet 0:bbe98578d4c0 884 typedef struct
dflet 0:bbe98578d4c0 885 {
dflet 0:bbe98578d4c0 886 _u8 sd;
dflet 0:bbe98578d4c0 887 _u8 level;
dflet 0:bbe98578d4c0 888 _u8 optionName;
dflet 0:bbe98578d4c0 889 _u8 optionLen;
dflet 0:bbe98578d4c0 890 }_setSockOptCommand_t;
dflet 0:bbe98578d4c0 891
dflet 0:bbe98578d4c0 892 typedef struct
dflet 0:bbe98578d4c0 893 {
dflet 0:bbe98578d4c0 894 _u8 sd;
dflet 0:bbe98578d4c0 895 _u8 level;
dflet 0:bbe98578d4c0 896 _u8 optionName;
dflet 0:bbe98578d4c0 897 _u8 optionLen;
dflet 0:bbe98578d4c0 898 }_getSockOptCommand_t;
dflet 0:bbe98578d4c0 899
dflet 0:bbe98578d4c0 900 typedef struct
dflet 0:bbe98578d4c0 901 {
dflet 0:bbe98578d4c0 902 _i16 status;
dflet 0:bbe98578d4c0 903 _u8 sd;
dflet 0:bbe98578d4c0 904 _u8 optionLen;
dflet 0:bbe98578d4c0 905 }_getSockOptResponse_t;
dflet 0:bbe98578d4c0 906
dflet 0:bbe98578d4c0 907
dflet 0:bbe98578d4c0 908 typedef struct
dflet 0:bbe98578d4c0 909 {
dflet 0:bbe98578d4c0 910 _u16 StatusOrLen;
dflet 0:bbe98578d4c0 911 _u8 sd;
dflet 0:bbe98578d4c0 912 _u8 FamilyAndFlags;
dflet 0:bbe98578d4c0 913 }_sendRecvCommand_t;
dflet 0:bbe98578d4c0 914
dflet 0:bbe98578d4c0 915 /*****************************************************************************************
dflet 0:bbe98578d4c0 916 * NETAPP structs
dflet 0:bbe98578d4c0 917 ******************************************************************************************/
dflet 0:bbe98578d4c0 918
dflet 0:bbe98578d4c0 919
dflet 0:bbe98578d4c0 920 typedef _BasicResponse_t _NetAppStartStopResponse_t;
dflet 0:bbe98578d4c0 921
dflet 0:bbe98578d4c0 922 typedef struct
dflet 0:bbe98578d4c0 923 {
dflet 0:bbe98578d4c0 924 _u32 appId;
dflet 0:bbe98578d4c0 925 }_NetAppStartStopCommand_t;
dflet 0:bbe98578d4c0 926
dflet 0:bbe98578d4c0 927 typedef struct
dflet 0:bbe98578d4c0 928 {
dflet 0:bbe98578d4c0 929 _u16 Status;
dflet 0:bbe98578d4c0 930 _u16 AppId;
dflet 0:bbe98578d4c0 931 _u16 ConfigOpt;
dflet 0:bbe98578d4c0 932 _u16 ConfigLen;
dflet 0:bbe98578d4c0 933 }_NetAppSetGet_t;
dflet 0:bbe98578d4c0 934 typedef struct
dflet 0:bbe98578d4c0 935 {
dflet 0:bbe98578d4c0 936 _u16 port_number;
dflet 0:bbe98578d4c0 937 } _NetAppHttpServerGetSet_port_num_t;
dflet 0:bbe98578d4c0 938
dflet 0:bbe98578d4c0 939 typedef struct
dflet 0:bbe98578d4c0 940 {
dflet 0:bbe98578d4c0 941 _u8 auth_enable;
dflet 0:bbe98578d4c0 942 }_NetAppHttpServerGetSet_auth_enable_t;
dflet 0:bbe98578d4c0 943
dflet 0:bbe98578d4c0 944 typedef struct _sl_NetAppHttpServerGetToken_t
dflet 0:bbe98578d4c0 945 {
dflet 0:bbe98578d4c0 946 _u8 token_name_len;
dflet 0:bbe98578d4c0 947 _u8 padd1;
dflet 0:bbe98578d4c0 948 _u16 padd2;
dflet 0:bbe98578d4c0 949 }sl_NetAppHttpServerGetToken_t;
dflet 0:bbe98578d4c0 950
dflet 0:bbe98578d4c0 951 typedef struct _sl_NetAppHttpServerSendToken_t
dflet 0:bbe98578d4c0 952 {
dflet 0:bbe98578d4c0 953 _u8 token_value_len;
dflet 0:bbe98578d4c0 954 _u8 token_name_len;
dflet 0:bbe98578d4c0 955 _u8 token_name[MAX_TOKEN_NAME_LEN];
dflet 0:bbe98578d4c0 956 _u16 padd;
dflet 0:bbe98578d4c0 957 }sl_NetAppHttpServerSendToken_t;
dflet 0:bbe98578d4c0 958
dflet 0:bbe98578d4c0 959 typedef struct _sl_NetAppHttpServerPostToken_t
dflet 0:bbe98578d4c0 960 {
dflet 0:bbe98578d4c0 961 _u8 post_action_len;
dflet 0:bbe98578d4c0 962 _u8 token_name_len;
dflet 0:bbe98578d4c0 963 _u8 token_value_len;
dflet 0:bbe98578d4c0 964 _u8 padding;
dflet 0:bbe98578d4c0 965 }sl_NetAppHttpServerPostToken_t;
dflet 0:bbe98578d4c0 966
dflet 0:bbe98578d4c0 967
dflet 0:bbe98578d4c0 968 typedef struct
dflet 0:bbe98578d4c0 969 {
dflet 0:bbe98578d4c0 970 _u16 Len;
dflet 0:bbe98578d4c0 971 _u8 family;
dflet 0:bbe98578d4c0 972 _u8 padding;
dflet 0:bbe98578d4c0 973 }_GetHostByNameCommand_t;
dflet 0:bbe98578d4c0 974
dflet 0:bbe98578d4c0 975 typedef struct
dflet 0:bbe98578d4c0 976 {
dflet 0:bbe98578d4c0 977 _u16 status;
dflet 0:bbe98578d4c0 978 _u16 padding;
dflet 0:bbe98578d4c0 979 _u32 ip0;
dflet 0:bbe98578d4c0 980 _u32 ip1;
dflet 0:bbe98578d4c0 981 _u32 ip2;
dflet 0:bbe98578d4c0 982 _u32 ip3;
dflet 0:bbe98578d4c0 983 }_GetHostByNameIPv6AsyncResponse_t;
dflet 0:bbe98578d4c0 984
dflet 0:bbe98578d4c0 985 typedef struct
dflet 0:bbe98578d4c0 986 {
dflet 0:bbe98578d4c0 987 _u16 status;
dflet 0:bbe98578d4c0 988 _u8 padding1;
dflet 0:bbe98578d4c0 989 _u8 padding2;
dflet 0:bbe98578d4c0 990 _u32 ip0;
dflet 0:bbe98578d4c0 991 }_GetHostByNameIPv4AsyncResponse_t;
dflet 0:bbe98578d4c0 992
dflet 0:bbe98578d4c0 993
dflet 0:bbe98578d4c0 994
dflet 0:bbe98578d4c0 995
dflet 0:bbe98578d4c0 996 typedef enum
dflet 0:bbe98578d4c0 997 {
dflet 0:bbe98578d4c0 998 CTST_BSD_UDP_TX,
dflet 0:bbe98578d4c0 999 CTST_BSD_UDP_RX,
dflet 0:bbe98578d4c0 1000 CTST_BSD_TCP_TX,
dflet 0:bbe98578d4c0 1001 CTST_BSD_TCP_RX,
dflet 0:bbe98578d4c0 1002 CTST_BSD_TCP_SERVER_BI_DIR,
dflet 0:bbe98578d4c0 1003 CTST_BSD_TCP_CLIENT_BI_DIR,
dflet 0:bbe98578d4c0 1004 CTST_BSD_UDP_BI_DIR,
dflet 0:bbe98578d4c0 1005 CTST_BSD_RAW_TX,
dflet 0:bbe98578d4c0 1006 CTST_BSD_RAW_RX,
dflet 0:bbe98578d4c0 1007 CTST_BSD_RAW_BI_DIR,
dflet 0:bbe98578d4c0 1008 CTST_BSD_SECURED_TCP_TX,
dflet 0:bbe98578d4c0 1009 CTST_BSD_SECURED_TCP_RX,
dflet 0:bbe98578d4c0 1010 CTST_BSD_SECURED_TCP_SERVER_BI_DIR,
dflet 0:bbe98578d4c0 1011 CTST_BSD_SECURED_TCP_CLIENT_BI_DIR
dflet 0:bbe98578d4c0 1012 }CommTest_e;
dflet 0:bbe98578d4c0 1013
dflet 0:bbe98578d4c0 1014 typedef struct _sl_protocol_CtestStartCommand_t
dflet 0:bbe98578d4c0 1015 {
dflet 0:bbe98578d4c0 1016 _u32 Test;
dflet 0:bbe98578d4c0 1017 _u16 DestPort;
dflet 0:bbe98578d4c0 1018 _u16 SrcPort;
dflet 0:bbe98578d4c0 1019 _u32 DestAddr[4];
dflet 0:bbe98578d4c0 1020 _u32 PayloadSize;
dflet 0:bbe98578d4c0 1021 _u32 timeout;
dflet 0:bbe98578d4c0 1022 _u32 csEnabled;
dflet 0:bbe98578d4c0 1023 _u32 secure;
dflet 0:bbe98578d4c0 1024 _u32 rawProtocol;
dflet 0:bbe98578d4c0 1025 _u8 reserved1[4];
dflet 0:bbe98578d4c0 1026 }_CtestStartCommand_t;
dflet 0:bbe98578d4c0 1027
dflet 0:bbe98578d4c0 1028 typedef struct
dflet 0:bbe98578d4c0 1029 {
dflet 0:bbe98578d4c0 1030 _u8 test;
dflet 0:bbe98578d4c0 1031 _u8 socket;
dflet 0:bbe98578d4c0 1032 _i16 status;
dflet 0:bbe98578d4c0 1033 _u32 startTime;
dflet 0:bbe98578d4c0 1034 _u32 endTime;
dflet 0:bbe98578d4c0 1035 _u16 txKbitsSec;
dflet 0:bbe98578d4c0 1036 _u16 rxKbitsSec;
dflet 0:bbe98578d4c0 1037 _u32 outOfOrderPackets;
dflet 0:bbe98578d4c0 1038 _u32 missedPackets;
dflet 0:bbe98578d4c0 1039 }_CtestAsyncResponse_t;
dflet 0:bbe98578d4c0 1040
dflet 0:bbe98578d4c0 1041 typedef struct
dflet 0:bbe98578d4c0 1042 {
dflet 0:bbe98578d4c0 1043 _u32 pingIntervalTime;
dflet 0:bbe98578d4c0 1044 _u16 PingSize;
dflet 0:bbe98578d4c0 1045 _u16 pingRequestTimeout;
dflet 0:bbe98578d4c0 1046 _u32 totalNumberOfAttempts;
dflet 0:bbe98578d4c0 1047 _u32 flags;
dflet 0:bbe98578d4c0 1048 _u32 ip0;
dflet 0:bbe98578d4c0 1049 _u32 ip1OrPaadding;
dflet 0:bbe98578d4c0 1050 _u32 ip2OrPaadding;
dflet 0:bbe98578d4c0 1051 _u32 ip3OrPaadding;
dflet 0:bbe98578d4c0 1052 }_PingStartCommand_t;
dflet 0:bbe98578d4c0 1053
dflet 0:bbe98578d4c0 1054 typedef struct
dflet 0:bbe98578d4c0 1055 {
dflet 0:bbe98578d4c0 1056 _u16 status;
dflet 0:bbe98578d4c0 1057 _u16 rttMin;
dflet 0:bbe98578d4c0 1058 _u16 rttMax;
dflet 0:bbe98578d4c0 1059 _u16 rttAvg;
dflet 0:bbe98578d4c0 1060 _u32 numSuccsessPings;
dflet 0:bbe98578d4c0 1061 _u32 numSendsPings;
dflet 0:bbe98578d4c0 1062 _u32 testTime;
dflet 0:bbe98578d4c0 1063 }_PingReportResponse_t;
dflet 0:bbe98578d4c0 1064
dflet 0:bbe98578d4c0 1065
dflet 0:bbe98578d4c0 1066 typedef struct
dflet 0:bbe98578d4c0 1067 {
dflet 0:bbe98578d4c0 1068 _u32 ip;
dflet 0:bbe98578d4c0 1069 _u32 gateway;
dflet 0:bbe98578d4c0 1070 _u32 dns;
dflet 0:bbe98578d4c0 1071 }_IpV4AcquiredAsync_t;
dflet 0:bbe98578d4c0 1072
dflet 0:bbe98578d4c0 1073
dflet 0:bbe98578d4c0 1074 typedef enum
dflet 0:bbe98578d4c0 1075 {
dflet 0:bbe98578d4c0 1076 ACQUIRED_IPV6_LOCAL = 1,
dflet 0:bbe98578d4c0 1077 ACQUIRED_IPV6_GLOBAL
dflet 0:bbe98578d4c0 1078 }IpV6AcquiredType_e;
dflet 0:bbe98578d4c0 1079
dflet 0:bbe98578d4c0 1080
dflet 0:bbe98578d4c0 1081 typedef struct
dflet 0:bbe98578d4c0 1082 {
dflet 0:bbe98578d4c0 1083 _u32 type;
dflet 0:bbe98578d4c0 1084 _u32 ip[4];
dflet 0:bbe98578d4c0 1085 _u32 gateway[4];
dflet 0:bbe98578d4c0 1086 _u32 dns[4];
dflet 0:bbe98578d4c0 1087 }_IpV6AcquiredAsync_t;
dflet 0:bbe98578d4c0 1088
dflet 0:bbe98578d4c0 1089
dflet 0:bbe98578d4c0 1090 typedef union
dflet 0:bbe98578d4c0 1091 {
dflet 0:bbe98578d4c0 1092 _SocketCommand_t EventMask;
dflet 0:bbe98578d4c0 1093 _sendRecvCommand_t DeviceInit;
dflet 0:bbe98578d4c0 1094 }_device_commands_t;
dflet 0:bbe98578d4c0 1095
dflet 0:bbe98578d4c0 1096 /*****************************************************************************************
dflet 0:bbe98578d4c0 1097 * FS structs
dflet 0:bbe98578d4c0 1098 ******************************************************************************************/
dflet 0:bbe98578d4c0 1099
dflet 0:bbe98578d4c0 1100 typedef struct
dflet 0:bbe98578d4c0 1101 {
dflet 0:bbe98578d4c0 1102 _u32 FileHandle;
dflet 0:bbe98578d4c0 1103 _u32 Offset;
dflet 0:bbe98578d4c0 1104 _u16 Len;
dflet 0:bbe98578d4c0 1105 _u16 Padding;
dflet 0:bbe98578d4c0 1106 }_FsReadCommand_t;
dflet 0:bbe98578d4c0 1107
dflet 0:bbe98578d4c0 1108 typedef struct
dflet 0:bbe98578d4c0 1109 {
dflet 0:bbe98578d4c0 1110 _u32 Mode;
dflet 0:bbe98578d4c0 1111 _u32 Token;
dflet 0:bbe98578d4c0 1112 }_FsOpenCommand_t;
dflet 0:bbe98578d4c0 1113
dflet 0:bbe98578d4c0 1114 typedef struct
dflet 0:bbe98578d4c0 1115 {
dflet 0:bbe98578d4c0 1116 _u32 FileHandle;
dflet 0:bbe98578d4c0 1117 _u32 Token;
dflet 0:bbe98578d4c0 1118 }_FsOpenResponse_t;
dflet 0:bbe98578d4c0 1119
dflet 0:bbe98578d4c0 1120
dflet 0:bbe98578d4c0 1121 typedef struct
dflet 0:bbe98578d4c0 1122 {
dflet 0:bbe98578d4c0 1123 _u32 FileHandle;
dflet 0:bbe98578d4c0 1124 _u32 CertificFileNameLength;
dflet 0:bbe98578d4c0 1125 _u32 SignatureLen;
dflet 0:bbe98578d4c0 1126 }_FsCloseCommand_t;
dflet 0:bbe98578d4c0 1127
dflet 0:bbe98578d4c0 1128
dflet 0:bbe98578d4c0 1129 typedef _BasicResponse_t _FsReadResponse_t;
dflet 0:bbe98578d4c0 1130 typedef _BasicResponse_t _FsDeleteResponse_t;
dflet 0:bbe98578d4c0 1131 typedef _BasicResponse_t _FsCloseResponse_t;
dflet 0:bbe98578d4c0 1132
dflet 0:bbe98578d4c0 1133 typedef struct
dflet 0:bbe98578d4c0 1134 {
dflet 0:bbe98578d4c0 1135 _u16 Status;
dflet 0:bbe98578d4c0 1136 _u16 flags;
dflet 0:bbe98578d4c0 1137 _u32 FileLen;
dflet 0:bbe98578d4c0 1138 _u32 AllocatedLen;
dflet 0:bbe98578d4c0 1139 _u32 Token[4];
dflet 0:bbe98578d4c0 1140 }_FsGetInfoResponse_t;
dflet 0:bbe98578d4c0 1141
dflet 0:bbe98578d4c0 1142 typedef struct
dflet 0:bbe98578d4c0 1143 {
dflet 0:bbe98578d4c0 1144 _u8 DeviceID;
dflet 0:bbe98578d4c0 1145 _u8 Padding[3];
dflet 0:bbe98578d4c0 1146 }_FsFormatCommand_t;
dflet 0:bbe98578d4c0 1147
dflet 0:bbe98578d4c0 1148 typedef _BasicResponse_t _FsFormatResponse_t;
dflet 0:bbe98578d4c0 1149
dflet 0:bbe98578d4c0 1150 typedef struct
dflet 0:bbe98578d4c0 1151 {
dflet 0:bbe98578d4c0 1152 _u32 Token;
dflet 0:bbe98578d4c0 1153 }_FsDeleteCommand_t;
dflet 0:bbe98578d4c0 1154
dflet 0:bbe98578d4c0 1155 typedef _FsDeleteCommand_t _FsGetInfoCommand_t;
dflet 0:bbe98578d4c0 1156
dflet 0:bbe98578d4c0 1157 typedef struct
dflet 0:bbe98578d4c0 1158 {
dflet 0:bbe98578d4c0 1159 _u32 FileHandle;
dflet 0:bbe98578d4c0 1160 _u32 Offset;
dflet 0:bbe98578d4c0 1161 _u16 Len;
dflet 0:bbe98578d4c0 1162 _u16 Padding;
dflet 0:bbe98578d4c0 1163 }_FsWriteCommand_t;
dflet 0:bbe98578d4c0 1164
dflet 0:bbe98578d4c0 1165 typedef _BasicResponse_t _FsWriteResponse_t;
dflet 0:bbe98578d4c0 1166
dflet 0:bbe98578d4c0 1167
dflet 0:bbe98578d4c0 1168
dflet 0:bbe98578d4c0 1169 /* Set Max Async Payload length depending on flavor (Tiny, Small, etc.) */
dflet 0:bbe98578d4c0 1170 #define SL_ASYNC_MAX_PAYLOAD_LEN 160 /* size must be aligned to 4 */
dflet 0:bbe98578d4c0 1171 #define SL_ASYNC_MAX_MSG_LEN (_SL_RESP_HDR_SIZE + SL_ASYNC_MAX_PAYLOAD_LEN)
dflet 0:bbe98578d4c0 1172
dflet 0:bbe98578d4c0 1173 #define RECV_ARGS_SIZE (sizeof(_SocketResponse_t))
dflet 0:bbe98578d4c0 1174 #define RECVFROM_IPV4_ARGS_SIZE (sizeof(_SocketAddrAsyncIPv4Response_t))
dflet 0:bbe98578d4c0 1175 #define RECVFROM_IPV6_ARGS_SIZE (sizeof(_SocketAddrAsyncIPv6Response_t))
dflet 0:bbe98578d4c0 1176
dflet 0:bbe98578d4c0 1177 #define SL_IPV4_ADDRESS_SIZE (sizeof(_u32))
dflet 0:bbe98578d4c0 1178 #define SL_IPV6_ADDRESS_SIZE (4 * sizeof(_u32))
dflet 0:bbe98578d4c0 1179
dflet 0:bbe98578d4c0 1180 #ifdef __cplusplus
dflet 0:bbe98578d4c0 1181 }
dflet 0:bbe98578d4c0 1182 #endif /* __cplusplus */
dflet 0:bbe98578d4c0 1183
dflet 0:bbe98578d4c0 1184 #endif /* _SL_PROTOCOL_TYPES_H_ */
dflet 0:bbe98578d4c0 1185