DeepCover Embedded Security in IoT: Public-key Secured Data Paths

Dependencies:   MaximInterface

The MAXREFDES155# is an internet-of-things (IoT) embedded-security reference design, built to authenticate and control a sensing node using elliptic-curve-based public-key cryptography with control and notification from a web server.

The hardware includes an ARM® mbed™ shield and attached sensor endpoint. The shield contains a DS2476 DeepCover® ECDSA/SHA-2 coprocessor, Wifi communication, LCD push-button controls, and status LEDs. The sensor endpoint is attached to the shield using a 300mm cable and contains a DS28C36 DeepCover ECDSA/SHA-2 authenticator, IR-thermal sensor, and aiming laser for the IR sensor. The MAXREFDES155# is equipped with a standard Arduino® form-factor shield connector for immediate testing using an mbed board such as the MAX32600MBED#. The combination of these two devices represent an IoT device. Communication to the web server is accomplished with the shield Wifi circuitry. Communication from the shield to the attached sensor module is accomplished over I2C . The sensor module represents an IoT endpoint that generates small data with a requirement for message authenticity/integrity and secure on/off operational control.

The design is hierarchical with each mbed platform and shield communicating data from the sensor node to a web server that maintains a centralized log and dispatches notifications as necessary. The simplicity of this design enables rapid integration into any star-topology IoT network to provide security with the low overhead and cost provided by the ECDSA-P256 asymmetric-key and SHA-256 symmetric-key algorithms.

More information about the MAXREFDES155# is available on the Maxim Integrated website.

Committer:
IanBenzMaxim
Date:
Fri Jan 19 10:28:27 2018 -0600
Revision:
15:75404fab3615
Parent:
0:33d4e66780c0
Updated MaximInterface revision.

Who changed what in which revision?

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