TI's MQTT Demo with freertos CM4F

Dependencies:   mbed

Committer:
dflet
Date:
Thu Sep 03 14:07:01 2015 +0000
Revision:
0:1e7b5dd9edb4
First commit, it's been hanging around for a while. Updated SPI mode change 1 to 0.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dflet 0:1e7b5dd9edb4 1 /*
dflet 0:1e7b5dd9edb4 2 * protocol.h - CC31xx/CC32xx Host Driver Implementation
dflet 0:1e7b5dd9edb4 3 *
dflet 0:1e7b5dd9edb4 4 * Copyright (C) 2014 Texas Instruments Incorporated - http://www.ti.com/
dflet 0:1e7b5dd9edb4 5 *
dflet 0:1e7b5dd9edb4 6 *
dflet 0:1e7b5dd9edb4 7 * Redistribution and use in source and binary forms, with or without
dflet 0:1e7b5dd9edb4 8 * modification, are permitted provided that the following conditions
dflet 0:1e7b5dd9edb4 9 * are met:
dflet 0:1e7b5dd9edb4 10 *
dflet 0:1e7b5dd9edb4 11 * Redistributions of source code must retain the above copyright
dflet 0:1e7b5dd9edb4 12 * notice, this list of conditions and the following disclaimer.
dflet 0:1e7b5dd9edb4 13 *
dflet 0:1e7b5dd9edb4 14 * Redistributions in binary form must reproduce the above copyright
dflet 0:1e7b5dd9edb4 15 * notice, this list of conditions and the following disclaimer in the
dflet 0:1e7b5dd9edb4 16 * documentation and/or other materials provided with the
dflet 0:1e7b5dd9edb4 17 * distribution.
dflet 0:1e7b5dd9edb4 18 *
dflet 0:1e7b5dd9edb4 19 * Neither the name of Texas Instruments Incorporated nor the names of
dflet 0:1e7b5dd9edb4 20 * its contributors may be used to endorse or promote products derived
dflet 0:1e7b5dd9edb4 21 * from this software without specific prior written permission.
dflet 0:1e7b5dd9edb4 22 *
dflet 0:1e7b5dd9edb4 23 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
dflet 0:1e7b5dd9edb4 24 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
dflet 0:1e7b5dd9edb4 25 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
dflet 0:1e7b5dd9edb4 26 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
dflet 0:1e7b5dd9edb4 27 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
dflet 0:1e7b5dd9edb4 28 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
dflet 0:1e7b5dd9edb4 29 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
dflet 0:1e7b5dd9edb4 30 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
dflet 0:1e7b5dd9edb4 31 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
dflet 0:1e7b5dd9edb4 32 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
dflet 0:1e7b5dd9edb4 33 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
dflet 0:1e7b5dd9edb4 34 *
dflet 0:1e7b5dd9edb4 35 */
dflet 0:1e7b5dd9edb4 36
dflet 0:1e7b5dd9edb4 37 /*******************************************************************************\
dflet 0:1e7b5dd9edb4 38 *
dflet 0:1e7b5dd9edb4 39 * FILE NAME: protocol.h
dflet 0:1e7b5dd9edb4 40 *
dflet 0:1e7b5dd9edb4 41 * DESCRIPTION: Constant and data structure definitions and function
dflet 0:1e7b5dd9edb4 42 * prototypes for the SL protocol module, which implements
dflet 0:1e7b5dd9edb4 43 * processing of SimpleLink Commands.
dflet 0:1e7b5dd9edb4 44 *
dflet 0:1e7b5dd9edb4 45 * AUTHOR:
dflet 0:1e7b5dd9edb4 46 *
dflet 0:1e7b5dd9edb4 47 \*******************************************************************************/
dflet 0:1e7b5dd9edb4 48
dflet 0:1e7b5dd9edb4 49 #ifndef SL_PROTOCOL_TYPES_H_
dflet 0:1e7b5dd9edb4 50 #define SL_PROTOCOL_TYPES_H_
dflet 0:1e7b5dd9edb4 51
dflet 0:1e7b5dd9edb4 52 namespace mbed_cc3100 {
dflet 0:1e7b5dd9edb4 53
dflet 0:1e7b5dd9edb4 54 /****************************************************************************
dflet 0:1e7b5dd9edb4 55 **
dflet 0:1e7b5dd9edb4 56 ** User I/F pools definitions
dflet 0:1e7b5dd9edb4 57 **
dflet 0:1e7b5dd9edb4 58 ****************************************************************************/
dflet 0:1e7b5dd9edb4 59
dflet 0:1e7b5dd9edb4 60 /****************************************************************************
dflet 0:1e7b5dd9edb4 61 **
dflet 0:1e7b5dd9edb4 62 ** Definitions for SimpleLink Commands
dflet 0:1e7b5dd9edb4 63 **
dflet 0:1e7b5dd9edb4 64 ****************************************************************************/
dflet 0:1e7b5dd9edb4 65
dflet 0:1e7b5dd9edb4 66
dflet 0:1e7b5dd9edb4 67 /* pattern for LE 8/16/32 or BE*/
dflet 0:1e7b5dd9edb4 68 #define H2N_SYNC_PATTERN {0xBBDDEEFF,0x4321,0x34,0x12}
dflet 0:1e7b5dd9edb4 69 #define H2N_CNYS_PATTERN {0xBBDDEEFF,0x8765,0x78,0x56}
dflet 0:1e7b5dd9edb4 70
dflet 0:1e7b5dd9edb4 71 const uint32_t H2N_DUMMY_PATTERN = (uint32_t)0xFFFFFFFF;
dflet 0:1e7b5dd9edb4 72 const uint32_t N2H_SYNC_PATTERN = (uint32_t)0xABCDDCBA;
dflet 0:1e7b5dd9edb4 73 const uint32_t SYNC_PATTERN_LEN = (uint32_t)sizeof(uint32_t);
dflet 0:1e7b5dd9edb4 74 const uint32_t UART_SET_MODE_MAGIC_CODE = (uint32_t)0xAA55AA55;
dflet 0:1e7b5dd9edb4 75 #define SPI_16BITS_BUG(pattern) (uint32_t)((uint32_t)pattern & (uint32_t)0xFFFF7FFF)
dflet 0:1e7b5dd9edb4 76 #define SPI_8BITS_BUG(pattern) (uint32_t)((uint32_t)pattern & (uint32_t)0xFFFFFF7F)
dflet 0:1e7b5dd9edb4 77
dflet 0:1e7b5dd9edb4 78
dflet 0:1e7b5dd9edb4 79
dflet 0:1e7b5dd9edb4 80 typedef struct {
dflet 0:1e7b5dd9edb4 81 uint16_t Opcode;
dflet 0:1e7b5dd9edb4 82 uint16_t Len;
dflet 0:1e7b5dd9edb4 83 } _SlGenericHeader_t;
dflet 0:1e7b5dd9edb4 84
dflet 0:1e7b5dd9edb4 85
dflet 0:1e7b5dd9edb4 86 typedef struct {
dflet 0:1e7b5dd9edb4 87 uint32_t Long;
dflet 0:1e7b5dd9edb4 88 uint16_t Short;
dflet 0:1e7b5dd9edb4 89 uint8_t Byte1;
dflet 0:1e7b5dd9edb4 90 uint8_t Byte2;
dflet 0:1e7b5dd9edb4 91 } _SlSyncPattern_t;
dflet 0:1e7b5dd9edb4 92
dflet 0:1e7b5dd9edb4 93 typedef _SlGenericHeader_t _SlCommandHeader_t;
dflet 0:1e7b5dd9edb4 94
dflet 0:1e7b5dd9edb4 95 typedef struct {
dflet 0:1e7b5dd9edb4 96 _SlGenericHeader_t GenHeader;
dflet 0:1e7b5dd9edb4 97 uint8_t TxPoolCnt;
dflet 0:1e7b5dd9edb4 98 uint8_t DevStatus;
dflet 0:1e7b5dd9edb4 99 uint8_t SocketTXFailure;
dflet 0:1e7b5dd9edb4 100 uint8_t SocketNonBlocking;
dflet 0:1e7b5dd9edb4 101 } _SlResponseHeader_t;
dflet 0:1e7b5dd9edb4 102
dflet 0:1e7b5dd9edb4 103 #define _SL_RESP_SPEC_HDR_SIZE (sizeof(_SlResponseHeader_t) - sizeof(_SlGenericHeader_t))
dflet 0:1e7b5dd9edb4 104 #define _SL_RESP_HDR_SIZE sizeof(_SlResponseHeader_t)
dflet 0:1e7b5dd9edb4 105 #define _SL_CMD_HDR_SIZE sizeof(_SlCommandHeader_t)
dflet 0:1e7b5dd9edb4 106
dflet 0:1e7b5dd9edb4 107 #define _SL_RESP_ARGS_START(_pMsg) (((_SlResponseHeader_t *)(_pMsg)) + 1)
dflet 0:1e7b5dd9edb4 108
dflet 0:1e7b5dd9edb4 109 /* Used only in NWP! */
dflet 0:1e7b5dd9edb4 110 typedef struct {
dflet 0:1e7b5dd9edb4 111 _SlCommandHeader_t sl_hdr;
dflet 0:1e7b5dd9edb4 112 uint8_t func_args_start;
dflet 0:1e7b5dd9edb4 113 } T_SCMD;
dflet 0:1e7b5dd9edb4 114
dflet 0:1e7b5dd9edb4 115
dflet 0:1e7b5dd9edb4 116 const uint8_t WLAN_CONN_STATUS_BIT = 0x01;
dflet 0:1e7b5dd9edb4 117 const uint8_t EVENTS_Q_STATUS_BIT = 0x02;
dflet 0:1e7b5dd9edb4 118 const uint8_t PENDING_RCV_CMD_BIT = 0x04;
dflet 0:1e7b5dd9edb4 119 const uint8_t FW_BUSY_PACKETS_BIT = 0x08;
dflet 0:1e7b5dd9edb4 120
dflet 0:1e7b5dd9edb4 121 const uint32_t INIT_STA_OK = 0x11111111;
dflet 0:1e7b5dd9edb4 122 const uint32_t INIT_STA_ERR = 0x22222222;
dflet 0:1e7b5dd9edb4 123 const uint32_t INIT_AP_OK = 0x33333333;
dflet 0:1e7b5dd9edb4 124 const uint32_t INIT_AP_ERR = 0x44444444;
dflet 0:1e7b5dd9edb4 125 const uint32_t INIT_P2P_OK = 0x55555555;
dflet 0:1e7b5dd9edb4 126 const uint32_t INIT_P2P_ERR = 0x66666666;
dflet 0:1e7b5dd9edb4 127
dflet 0:1e7b5dd9edb4 128 /****************************************************************************
dflet 0:1e7b5dd9edb4 129 ** OPCODES
dflet 0:1e7b5dd9edb4 130 ****************************************************************************/
dflet 0:1e7b5dd9edb4 131 const uint16_t SL_IPV4_IPV6_OFFSET = ( 9 );
dflet 0:1e7b5dd9edb4 132 const uint16_t SL_OPCODE_IPV4 = ( 0x0 << SL_IPV4_IPV6_OFFSET );
dflet 0:1e7b5dd9edb4 133 const uint16_t SL_OPCODE_IPV6 = ( 0x1 << SL_IPV4_IPV6_OFFSET );
dflet 0:1e7b5dd9edb4 134
dflet 0:1e7b5dd9edb4 135 const uint16_t SL_SYNC_ASYNC_OFFSET = ( 10 );
dflet 0:1e7b5dd9edb4 136 const uint16_t SL_OPCODE_SYNC = (0x1 << SL_SYNC_ASYNC_OFFSET );
dflet 0:1e7b5dd9edb4 137 const uint16_t SL_OPCODE_SILO_OFFSET = ( 11 );
dflet 0:1e7b5dd9edb4 138 const uint16_t SL_OPCODE_SILO_MASK = ( 0xF << SL_OPCODE_SILO_OFFSET );
dflet 0:1e7b5dd9edb4 139 const uint16_t SL_OPCODE_SILO_DEVICE = ( 0x0 << SL_OPCODE_SILO_OFFSET );
dflet 0:1e7b5dd9edb4 140 const uint16_t SL_OPCODE_SILO_WLAN = ( 0x1 << SL_OPCODE_SILO_OFFSET );
dflet 0:1e7b5dd9edb4 141 const uint16_t SL_OPCODE_SILO_SOCKET = ( 0x2 << SL_OPCODE_SILO_OFFSET );
dflet 0:1e7b5dd9edb4 142 const uint16_t SL_OPCODE_SILO_NETAPP = ( 0x3 << SL_OPCODE_SILO_OFFSET );
dflet 0:1e7b5dd9edb4 143 const uint16_t SL_OPCODE_SILO_NVMEM = ( 0x4 << SL_OPCODE_SILO_OFFSET );
dflet 0:1e7b5dd9edb4 144 const uint16_t SL_OPCODE_SILO_NETCFG = ( 0x5 << SL_OPCODE_SILO_OFFSET );
dflet 0:1e7b5dd9edb4 145
dflet 0:1e7b5dd9edb4 146 const uint16_t SL_FAMILY_SHIFT = (0x4);
dflet 0:1e7b5dd9edb4 147 const uint16_t SL_FLAGS_MASK = (0xF);
dflet 0:1e7b5dd9edb4 148
dflet 0:1e7b5dd9edb4 149 const uint16_t SL_OPCODE_DEVICE_INITCOMPLETE = 0x0008;
dflet 0:1e7b5dd9edb4 150 const uint16_t SL_OPCODE_DEVICE_ABORT = 0x000C;
dflet 0:1e7b5dd9edb4 151 const uint16_t SL_OPCODE_DEVICE_STOP_COMMAND = 0x8473;
dflet 0:1e7b5dd9edb4 152 const uint16_t SL_OPCODE_DEVICE_STOP_RESPONSE = 0x0473;
dflet 0:1e7b5dd9edb4 153 const uint16_t SL_OPCODE_DEVICE_STOP_ASYNC_RESPONSE = 0x0073;
dflet 0:1e7b5dd9edb4 154 const uint16_t SL_OPCODE_DEVICE_DEVICEASYNCDUMMY = 0x0063;
dflet 0:1e7b5dd9edb4 155
dflet 0:1e7b5dd9edb4 156 const uint16_t SL_OPCODE_DEVICE_VERSIONREADCOMMAND = 0x8470;
dflet 0:1e7b5dd9edb4 157 const uint16_t SL_OPCODE_DEVICE_VERSIONREADRESPONSE = 0x0470;
dflet 0:1e7b5dd9edb4 158 const uint16_t SL_OPCODE_DEVICE_DEVICEASYNCFATALERROR = 0x0078;
dflet 0:1e7b5dd9edb4 159 const uint16_t SL_OPCODE_WLAN_WLANCONNECTCOMMAND = 0x8C80;
dflet 0:1e7b5dd9edb4 160 const uint16_t SL_OPCODE_WLAN_WLANCONNECTRESPONSE = 0x0C80;
dflet 0:1e7b5dd9edb4 161 const uint16_t SL_OPCODE_WLAN_WLANASYNCCONNECTEDRESPONSE = 0x0880;
dflet 0:1e7b5dd9edb4 162 const uint16_t SL_OPCODE_WLAN_P2P_DEV_FOUND = 0x0830;
dflet 0:1e7b5dd9edb4 163 const uint16_t SL_OPCODE_WLAN_CONNECTION_FAILED = 0x0831;
dflet 0:1e7b5dd9edb4 164 const uint16_t SL_OPCODE_WLAN_P2P_NEG_REQ_RECEIVED = 0x0832;
dflet 0:1e7b5dd9edb4 165
dflet 0:1e7b5dd9edb4 166 const uint16_t SL_OPCODE_WLAN_WLANDISCONNECTCOMMAND = 0x8C81;
dflet 0:1e7b5dd9edb4 167 const uint16_t SL_OPCODE_WLAN_WLANDISCONNECTRESPONSE = 0x0C81;
dflet 0:1e7b5dd9edb4 168 const uint16_t SL_OPCODE_WLAN_WLANASYNCDISCONNECTEDRESPONSE = 0x0881;
dflet 0:1e7b5dd9edb4 169 const uint16_t SL_OPCODE_WLAN_WLANCONNECTEAPCOMMAND = 0x8C82;
dflet 0:1e7b5dd9edb4 170 const uint16_t SL_OPCODE_WLAN_WLANCONNECTEAPCRESPONSE = 0x0C82;
dflet 0:1e7b5dd9edb4 171 const uint16_t SL_OPCODE_WLAN_PROFILEADDCOMMAND = 0x8C83;
dflet 0:1e7b5dd9edb4 172 const uint16_t SL_OPCODE_WLAN_PROFILEADDRESPONSE = 0x0C83;
dflet 0:1e7b5dd9edb4 173 const uint16_t SL_OPCODE_WLAN_PROFILEGETCOMMAND = 0x8C84;
dflet 0:1e7b5dd9edb4 174 const uint16_t SL_OPCODE_WLAN_PROFILEGETRESPONSE = 0x0C84;
dflet 0:1e7b5dd9edb4 175 const uint16_t SL_OPCODE_WLAN_PROFILEDELCOMMAND = 0x8C85;
dflet 0:1e7b5dd9edb4 176 const uint16_t SL_OPCODE_WLAN_PROFILEDELRESPONSE = 0x0C85;
dflet 0:1e7b5dd9edb4 177 const uint16_t SL_OPCODE_WLAN_POLICYSETCOMMAND = 0x8C86;
dflet 0:1e7b5dd9edb4 178 const uint16_t SL_OPCODE_WLAN_POLICYSETRESPONSE = 0x0C86;
dflet 0:1e7b5dd9edb4 179 const uint16_t SL_OPCODE_WLAN_POLICYGETCOMMAND = 0x8C87;
dflet 0:1e7b5dd9edb4 180 const uint16_t SL_OPCODE_WLAN_POLICYGETRESPONSE = 0x0C87;
dflet 0:1e7b5dd9edb4 181 const uint16_t SL_OPCODE_WLAN_FILTERADD = 0x8C88;
dflet 0:1e7b5dd9edb4 182 const uint16_t SL_OPCODE_WLAN_FILTERADDRESPONSE = 0x0C88;
dflet 0:1e7b5dd9edb4 183 const uint16_t SL_OPCODE_WLAN_FILTERGET = 0x8C89;
dflet 0:1e7b5dd9edb4 184 const uint16_t SL_OPCODE_WLAN_FILTERGETRESPONSE = 0x0C89;
dflet 0:1e7b5dd9edb4 185 const uint16_t SL_OPCODE_WLAN_FILTERDELETE = 0x8C8A;
dflet 0:1e7b5dd9edb4 186 const uint16_t SL_OPCODE_WLAN_FILTERDELETERESPOSNE = 0x0C8A;
dflet 0:1e7b5dd9edb4 187 const uint16_t SL_OPCODE_WLAN_WLANGETSTATUSCOMMAND = 0x8C8F;
dflet 0:1e7b5dd9edb4 188 const uint16_t SL_OPCODE_WLAN_WLANGETSTATUSRESPONSE = 0x0C8F;
dflet 0:1e7b5dd9edb4 189 const uint16_t SL_OPCODE_WLAN_STARTTXCONTINUESCOMMAND = 0x8CAA;
dflet 0:1e7b5dd9edb4 190 const uint16_t SL_OPCODE_WLAN_STARTTXCONTINUESRESPONSE = 0x0CAA;
dflet 0:1e7b5dd9edb4 191 const uint16_t SL_OPCODE_WLAN_STOPTXCONTINUESCOMMAND = 0x8CAB;
dflet 0:1e7b5dd9edb4 192 const uint16_t SL_OPCODE_WLAN_STOPTXCONTINUESRESPONSE = 0x0CAB;
dflet 0:1e7b5dd9edb4 193 const uint16_t SL_OPCODE_WLAN_STARTRXSTATCOMMAND = 0x8CAC;
dflet 0:1e7b5dd9edb4 194 const uint16_t SL_OPCODE_WLAN_STARTRXSTATRESPONSE = 0x0CAC;
dflet 0:1e7b5dd9edb4 195 const uint16_t SL_OPCODE_WLAN_STOPRXSTATCOMMAND = 0x8CAD;
dflet 0:1e7b5dd9edb4 196 const uint16_t SL_OPCODE_WLAN_STOPRXSTATRESPONSE = 0x0CAD;
dflet 0:1e7b5dd9edb4 197 const uint16_t SL_OPCODE_WLAN_GETRXSTATCOMMAND = 0x8CAF;
dflet 0:1e7b5dd9edb4 198 const uint16_t SL_OPCODE_WLAN_GETRXSTATRESPONSE = 0x0CAF;
dflet 0:1e7b5dd9edb4 199 const uint16_t SL_OPCODE_WLAN_POLICYSETCOMMANDNEW = 0x8CB0;
dflet 0:1e7b5dd9edb4 200 const uint16_t SL_OPCODE_WLAN_POLICYSETRESPONSENEW = 0x0CB0;
dflet 0:1e7b5dd9edb4 201 const uint16_t SL_OPCODE_WLAN_POLICYGETCOMMANDNEW = 0x8CB1;
dflet 0:1e7b5dd9edb4 202 const uint16_t SL_OPCODE_WLAN_POLICYGETRESPONSENEW = 0x0CB1;
dflet 0:1e7b5dd9edb4 203
dflet 0:1e7b5dd9edb4 204 const uint16_t SL_OPCODE_WLAN_SMART_CONFIG_START_COMMAND = 0x8CB2;
dflet 0:1e7b5dd9edb4 205 const uint16_t SL_OPCODE_WLAN_SMART_CONFIG_START_RESPONSE = 0x0CB2;
dflet 0:1e7b5dd9edb4 206 const uint16_t SL_OPCODE_WLAN_SMART_CONFIG_START_ASYNC_RESPONSE = 0x08B2;
dflet 0:1e7b5dd9edb4 207 const uint16_t SL_OPCODE_WLAN_SMART_CONFIG_STOP_COMMAND = 0x8CB3;
dflet 0:1e7b5dd9edb4 208 const uint16_t SL_OPCODE_WLAN_SMART_CONFIG_STOP_RESPONSE = 0x0CB3;
dflet 0:1e7b5dd9edb4 209 const uint16_t SL_OPCODE_WLAN_SMART_CONFIG_STOP_ASYNC_RESPONSE = 0x08B3;
dflet 0:1e7b5dd9edb4 210 const uint16_t SL_OPCODE_WLAN_SET_MODE = 0x8CB4;
dflet 0:1e7b5dd9edb4 211 const uint16_t SL_OPCODE_WLAN_SET_MODE_RESPONSE = 0x0CB4;
dflet 0:1e7b5dd9edb4 212 const uint16_t SL_OPCODE_WLAN_CFG_SET = 0x8CB5;
dflet 0:1e7b5dd9edb4 213 const uint16_t SL_OPCODE_WLAN_CFG_SET_RESPONSE = 0x0CB5;
dflet 0:1e7b5dd9edb4 214 const uint16_t SL_OPCODE_WLAN_CFG_GET = 0x8CB6;
dflet 0:1e7b5dd9edb4 215 const uint16_t SL_OPCODE_WLAN_CFG_GET_RESPONSE = 0x0CB6;
dflet 0:1e7b5dd9edb4 216 const uint16_t SL_OPCODE_WLAN_STA_CONNECTED = 0x082E;
dflet 0:1e7b5dd9edb4 217 const uint16_t SL_OPCODE_WLAN_STA_DISCONNECTED = 0x082F;
dflet 0:1e7b5dd9edb4 218 const uint16_t SL_OPCODE_WLAN_EAP_PROFILEADDCOMMAND = 0x8C67;
dflet 0:1e7b5dd9edb4 219 const uint16_t SL_OPCODE_WLAN_EAP_PROFILEADDCOMMAND_RESPONSE = 0x0C67;
dflet 0:1e7b5dd9edb4 220
dflet 0:1e7b5dd9edb4 221 const uint16_t SL_OPCODE_SOCKET_SOCKET = 0x9401;
dflet 0:1e7b5dd9edb4 222 const uint16_t SL_OPCODE_SOCKET_SOCKETRESPONSE = 0x1401;
dflet 0:1e7b5dd9edb4 223 const uint16_t SL_OPCODE_SOCKET_CLOSE = 0x9402;
dflet 0:1e7b5dd9edb4 224 const uint16_t SL_OPCODE_SOCKET_CLOSERESPONSE = 0x1402;
dflet 0:1e7b5dd9edb4 225 const uint16_t SL_OPCODE_SOCKET_ACCEPT = 0x9403;
dflet 0:1e7b5dd9edb4 226 const uint16_t SL_OPCODE_SOCKET_ACCEPTRESPONSE = 0x1403;
dflet 0:1e7b5dd9edb4 227 const uint16_t SL_OPCODE_SOCKET_ACCEPTASYNCRESPONSE = 0x1003;
dflet 0:1e7b5dd9edb4 228 const uint16_t SL_OPCODE_SOCKET_ACCEPTASYNCRESPONSE_V6 = 0x1203;
dflet 0:1e7b5dd9edb4 229 const uint16_t SL_OPCODE_SOCKET_BIND = 0x9404;
dflet 0:1e7b5dd9edb4 230 const uint16_t SL_OPCODE_SOCKET_BIND_V6 = 0x9604;
dflet 0:1e7b5dd9edb4 231 const uint16_t SL_OPCODE_SOCKET_BINDRESPONSE = 0x1404;
dflet 0:1e7b5dd9edb4 232 const uint16_t SL_OPCODE_SOCKET_LISTEN = 0x9405;
dflet 0:1e7b5dd9edb4 233 const uint16_t SL_OPCODE_SOCKET_LISTENRESPONSE = 0x1405;
dflet 0:1e7b5dd9edb4 234 const uint16_t SL_OPCODE_SOCKET_CONNECT = 0x9406;
dflet 0:1e7b5dd9edb4 235 const uint16_t SL_OPCODE_SOCKET_CONNECT_V6 = 0x9606;
dflet 0:1e7b5dd9edb4 236 const uint16_t SL_OPCODE_SOCKET_CONNECTRESPONSE = 0x1406;
dflet 0:1e7b5dd9edb4 237 const uint16_t SL_OPCODE_SOCKET_CONNECTASYNCRESPONSE = 0x1006;
dflet 0:1e7b5dd9edb4 238 const uint16_t SL_OPCODE_SOCKET_SELECT = 0x9407;
dflet 0:1e7b5dd9edb4 239 const uint16_t SL_OPCODE_SOCKET_SELECTRESPONSE = 0x1407;
dflet 0:1e7b5dd9edb4 240 const uint16_t SL_OPCODE_SOCKET_SELECTASYNCRESPONSE = 0x1007;
dflet 0:1e7b5dd9edb4 241 const uint16_t SL_OPCODE_SOCKET_SETSOCKOPT = 0x9408;
dflet 0:1e7b5dd9edb4 242 const uint16_t SL_OPCODE_SOCKET_SETSOCKOPTRESPONSE = 0x1408;
dflet 0:1e7b5dd9edb4 243 const uint16_t SL_OPCODE_SOCKET_GETSOCKOPT = 0x9409;
dflet 0:1e7b5dd9edb4 244 const uint16_t SL_OPCODE_SOCKET_GETSOCKOPTRESPONSE = 0x1409;
dflet 0:1e7b5dd9edb4 245 const uint16_t SL_OPCODE_SOCKET_RECV = 0x940A;
dflet 0:1e7b5dd9edb4 246 const uint16_t SL_OPCODE_SOCKET_RECVASYNCRESPONSE = 0x100A;
dflet 0:1e7b5dd9edb4 247 const uint16_t SL_OPCODE_SOCKET_RECVFROM = 0x940B;
dflet 0:1e7b5dd9edb4 248 const uint16_t SL_OPCODE_SOCKET_RECVFROMASYNCRESPONSE = 0x100B;
dflet 0:1e7b5dd9edb4 249 const uint16_t SL_OPCODE_SOCKET_RECVFROMASYNCRESPONSE_V6 = 0x120B;
dflet 0:1e7b5dd9edb4 250 const uint16_t SL_OPCODE_SOCKET_SEND = 0x940C;
dflet 0:1e7b5dd9edb4 251 const uint16_t SL_OPCODE_SOCKET_SENDTO = 0x940D;
dflet 0:1e7b5dd9edb4 252 const uint16_t SL_OPCODE_SOCKET_SENDTO_V6 = 0x960D;
dflet 0:1e7b5dd9edb4 253 const uint16_t SL_OPCODE_SOCKET_TXFAILEDASYNCRESPONSE = 0x100E;
dflet 0:1e7b5dd9edb4 254 const uint16_t SL_OPCODE_SOCKET_SOCKETASYNCEVENT = 0x100F;
dflet 0:1e7b5dd9edb4 255 const uint16_t SL_OPCODE_NETAPP_START_COMMAND = 0x9C0A;
dflet 0:1e7b5dd9edb4 256 const uint16_t SL_OPCODE_NETAPP_START_RESPONSE = 0x1C0A;
dflet 0:1e7b5dd9edb4 257 const uint16_t SL_OPCODE_NETAPP_NETAPPSTARTRESPONSE = 0x1C0A;
dflet 0:1e7b5dd9edb4 258 const uint16_t SL_OPCODE_NETAPP_STOP_COMMAND = 0x9C61;
dflet 0:1e7b5dd9edb4 259 const uint16_t SL_OPCODE_NETAPP_STOP_RESPONSE = 0x1C61;
dflet 0:1e7b5dd9edb4 260 const uint16_t SL_OPCODE_NETAPP_NETAPPSET = 0x9C0B;
dflet 0:1e7b5dd9edb4 261 const uint16_t SL_OPCODE_NETAPP_NETAPPSETRESPONSE = 0x1C0B;
dflet 0:1e7b5dd9edb4 262 const uint16_t SL_OPCODE_NETAPP_NETAPPGET = 0x9C27;
dflet 0:1e7b5dd9edb4 263 const uint16_t SL_OPCODE_NETAPP_NETAPPGETRESPONSE = 0x1C27;
dflet 0:1e7b5dd9edb4 264 const uint16_t SL_OPCODE_NETAPP_DNSGETHOSTBYNAME = 0x9C20;
dflet 0:1e7b5dd9edb4 265 const uint16_t SL_OPCODE_NETAPP_DNSGETHOSTBYNAMERESPONSE = 0x1C20;
dflet 0:1e7b5dd9edb4 266 const uint16_t SL_OPCODE_NETAPP_DNSGETHOSTBYNAMEASYNCRESPONSE = 0x1820;
dflet 0:1e7b5dd9edb4 267 const uint16_t SL_OPCODE_NETAPP_DNSGETHOSTBYNAMEASYNCRESPONSE_V6 = 0x1A20;
dflet 0:1e7b5dd9edb4 268 const uint16_t SL_OPCODE_NETAPP_NETAPP_MDNS_LOOKUP_SERVICE = 0x9C71;
dflet 0:1e7b5dd9edb4 269 const uint16_t SL_OPCODE_NETAPP_NETAPP_MDNS_LOOKUP_SERVICE_RESPONSE = 0x1C72;
dflet 0:1e7b5dd9edb4 270 const uint16_t SL_OPCODE_NETAPP_MDNSREGISTERSERVICE = 0x9C34;
dflet 0:1e7b5dd9edb4 271 const uint16_t SL_OPCODE_NETAPP_MDNSREGISTERSERVICERESPONSE = 0x1C34;
dflet 0:1e7b5dd9edb4 272 const uint16_t SL_OPCODE_NETAPP_MDNSGETHOSTBYSERVICE = 0x9C35;
dflet 0:1e7b5dd9edb4 273 const uint16_t SL_OPCODE_NETAPP_MDNSGETHOSTBYSERVICERESPONSE = 0x1C35;
dflet 0:1e7b5dd9edb4 274 const uint16_t SL_OPCODE_NETAPP_MDNSGETHOSTBYSERVICEASYNCRESPONSE = 0x1835;
dflet 0:1e7b5dd9edb4 275 const uint16_t SL_OPCODE_NETAPP_MDNSGETHOSTBYSERVICEASYNCRESPONSE_V6 = 0x1A35;
dflet 0:1e7b5dd9edb4 276 const uint16_t SL_OPCODE_NETAPP_DNSGETHOSTBYADDR = 0x9C26;
dflet 0:1e7b5dd9edb4 277 const uint16_t SL_OPCODE_NETAPP_DNSGETHOSTBYADDR_V6 = 0x9E26;
dflet 0:1e7b5dd9edb4 278 const uint16_t SL_OPCODE_NETAPP_DNSGETHOSTBYADDRRESPONSE = 0x1C26;
dflet 0:1e7b5dd9edb4 279 const uint16_t SL_OPCODE_NETAPP_DNSGETHOSTBYADDRASYNCRESPONSE = 0x1826;
dflet 0:1e7b5dd9edb4 280 const uint16_t SL_OPCODE_NETAPP_PINGSTART = 0x9C21;
dflet 0:1e7b5dd9edb4 281 const uint16_t SL_OPCODE_NETAPP_PINGSTART_V6 = 0x9E21;
dflet 0:1e7b5dd9edb4 282 const uint16_t SL_OPCODE_NETAPP_PINGSTARTRESPONSE = 0x1C21;
dflet 0:1e7b5dd9edb4 283 const uint16_t SL_OPCODE_NETAPP_PINGREPORTREQUEST = 0x9C22;
dflet 0:1e7b5dd9edb4 284 const uint16_t SL_OPCODE_NETAPP_PINGREPORTREQUESTRESPONSE = 0x1822;
dflet 0:1e7b5dd9edb4 285 const uint16_t SL_OPCODE_NETAPP_PINGSTOP = 0x9C23;
dflet 0:1e7b5dd9edb4 286 const uint16_t SL_OPCODE_NETAPP_PINGSTOPRESPONSE = 0x1C23;
dflet 0:1e7b5dd9edb4 287 const uint16_t SL_OPCODE_NETAPP_ARPFLUSH = 0x9C24;
dflet 0:1e7b5dd9edb4 288 const uint16_t SL_OPCODE_NETAPP_ARPFLUSHRESPONSE = 0x1C24;
dflet 0:1e7b5dd9edb4 289 const uint16_t SL_OPCODE_NETAPP_IPACQUIRED = 0x1825;
dflet 0:1e7b5dd9edb4 290 const uint16_t SL_OPCODE_NETAPP_IPV4_LOST = 0x1832;
dflet 0:1e7b5dd9edb4 291 const uint16_t SL_OPCODE_NETAPP_DHCP_IPV4_ACQUIRE_TIMEOUT = 0x1833;
dflet 0:1e7b5dd9edb4 292 const uint16_t SL_OPCODE_NETAPP_IPACQUIRED_V6 = 0x1A25;
dflet 0:1e7b5dd9edb4 293 const uint16_t SL_OPCODE_NETAPP_IPERFSTARTCOMMAND = 0x9C28;
dflet 0:1e7b5dd9edb4 294 const uint16_t SL_OPCODE_NETAPP_IPERFSTARTRESPONSE = 0x1C28;
dflet 0:1e7b5dd9edb4 295 const uint16_t SL_OPCODE_NETAPP_IPERFSTOPCOMMAND = 0x9C29;
dflet 0:1e7b5dd9edb4 296 const uint16_t SL_OPCODE_NETAPP_IPERFSTOPRESPONSE = 0x1C29;
dflet 0:1e7b5dd9edb4 297 const uint16_t SL_OPCODE_NETAPP_CTESTSTARTCOMMAND = 0x9C2A;
dflet 0:1e7b5dd9edb4 298 const uint16_t SL_OPCODE_NETAPP_CTESTSTARTRESPONSE = 0x1C2A;
dflet 0:1e7b5dd9edb4 299 const uint16_t SL_OPCODE_NETAPP_CTESTASYNCRESPONSE = 0x182A;
dflet 0:1e7b5dd9edb4 300 const uint16_t SL_OPCODE_NETAPP_CTESTSTOPCOMMAND = 0x9C2B;
dflet 0:1e7b5dd9edb4 301 const uint16_t SL_OPCODE_NETAPP_CTESTSTOPRESPONSE = 0x1C2B;
dflet 0:1e7b5dd9edb4 302 const uint16_t SL_OPCODE_NETAPP_IP_LEASED = 0x182C;
dflet 0:1e7b5dd9edb4 303 const uint16_t SL_OPCODE_NETAPP_IP_RELEASED = 0x182D;
dflet 0:1e7b5dd9edb4 304 const uint16_t SL_OPCODE_NETAPP_HTTPGETTOKENVALUE = 0x182E;
dflet 0:1e7b5dd9edb4 305 const uint16_t SL_OPCODE_NETAPP_HTTPSENDTOKENVALUE = 0x9C2F;
dflet 0:1e7b5dd9edb4 306 const uint16_t SL_OPCODE_NETAPP_HTTPPOSTTOKENVALUE = 0x1830;
dflet 0:1e7b5dd9edb4 307 const uint16_t SL_OPCODE_NVMEM_FILEOPEN = 0xA43C;
dflet 0:1e7b5dd9edb4 308 const uint16_t SL_OPCODE_NVMEM_FILEOPENRESPONSE = 0x243C;
dflet 0:1e7b5dd9edb4 309 const uint16_t SL_OPCODE_NVMEM_FILECLOSE = 0xA43D;
dflet 0:1e7b5dd9edb4 310 const uint16_t SL_OPCODE_NVMEM_FILECLOSERESPONSE = 0x243D;
dflet 0:1e7b5dd9edb4 311 const uint16_t SL_OPCODE_NVMEM_FILEREADCOMMAND = 0xA440;
dflet 0:1e7b5dd9edb4 312 const uint16_t SL_OPCODE_NVMEM_FILEREADRESPONSE = 0x2440;
dflet 0:1e7b5dd9edb4 313 const uint16_t SL_OPCODE_NVMEM_FILEWRITECOMMAND = 0xA441;
dflet 0:1e7b5dd9edb4 314 const uint16_t SL_OPCODE_NVMEM_FILEWRITERESPONSE = 0x2441;
dflet 0:1e7b5dd9edb4 315 const uint16_t SL_OPCODE_NVMEM_FILEGETINFOCOMMAND = 0xA442;
dflet 0:1e7b5dd9edb4 316 const uint16_t SL_OPCODE_NVMEM_FILEGETINFORESPONSE = 0x2442;
dflet 0:1e7b5dd9edb4 317 const uint16_t SL_OPCODE_NVMEM_FILEDELCOMMAND = 0xA443;
dflet 0:1e7b5dd9edb4 318 const uint16_t SL_OPCODE_NVMEM_FILEDELRESPONSE = 0x2443;
dflet 0:1e7b5dd9edb4 319 const uint16_t SL_OPCODE_NVMEM_NVMEMFORMATCOMMAND = 0xA444;
dflet 0:1e7b5dd9edb4 320 const uint16_t SL_OPCODE_NVMEM_NVMEMFORMATRESPONSE = 0x2444;
dflet 0:1e7b5dd9edb4 321
dflet 0:1e7b5dd9edb4 322 const uint16_t SL_OPCODE_DEVICE_SETDEBUGLEVELCOMMAND = 0x846A;
dflet 0:1e7b5dd9edb4 323 const uint16_t SL_OPCODE_DEVICE_SETDEBUGLEVELRESPONSE = 0x046A;
dflet 0:1e7b5dd9edb4 324
dflet 0:1e7b5dd9edb4 325 const uint16_t SL_OPCODE_DEVICE_NETCFG_SET_COMMAND = 0x8432;
dflet 0:1e7b5dd9edb4 326 const uint16_t SL_OPCODE_DEVICE_NETCFG_SET_RESPONSE = 0x0432;
dflet 0:1e7b5dd9edb4 327 const uint16_t SL_OPCODE_DEVICE_NETCFG_GET_COMMAND = 0x8433;
dflet 0:1e7b5dd9edb4 328 const uint16_t SL_OPCODE_DEVICE_NETCFG_GET_RESPONSE = 0x0433;
dflet 0:1e7b5dd9edb4 329 /* */
dflet 0:1e7b5dd9edb4 330 const uint16_t SL_OPCODE_DEVICE_SETUARTMODECOMMAND = 0x846B;
dflet 0:1e7b5dd9edb4 331 const uint16_t SL_OPCODE_DEVICE_SETUARTMODERESPONSE = 0x046B;
dflet 0:1e7b5dd9edb4 332 const uint16_t SL_OPCODE_DEVICE_SSISIZESETCOMMAND = 0x846B;
dflet 0:1e7b5dd9edb4 333 const uint16_t SL_OPCODE_DEVICE_SSISIZESETRESPONSE = 0x046B;
dflet 0:1e7b5dd9edb4 334
dflet 0:1e7b5dd9edb4 335 /* */
dflet 0:1e7b5dd9edb4 336 const uint16_t SL_OPCODE_DEVICE_EVENTMASKSET = 0x8464;
dflet 0:1e7b5dd9edb4 337 const uint16_t SL_OPCODE_DEVICE_EVENTMASKSETRESPONSE = 0x0464;
dflet 0:1e7b5dd9edb4 338 const uint16_t SL_OPCODE_DEVICE_EVENTMASKGET = 0x8465;
dflet 0:1e7b5dd9edb4 339 const uint16_t SL_OPCODE_DEVICE_EVENTMASKGETRESPONSE = 0x0465;
dflet 0:1e7b5dd9edb4 340
dflet 0:1e7b5dd9edb4 341 const uint16_t SL_OPCODE_DEVICE_DEVICEGET = 0x8466;
dflet 0:1e7b5dd9edb4 342 const uint16_t SL_OPCODE_DEVICE_DEVICEGETRESPONSE = 0x0466;
dflet 0:1e7b5dd9edb4 343 const uint16_t SL_OPCODE_DEVICE_DEVICESET = 0x84B7;
dflet 0:1e7b5dd9edb4 344 const uint16_t SL_OPCODE_DEVICE_DEVICESETRESPONSE = 0x04B7;
dflet 0:1e7b5dd9edb4 345
dflet 0:1e7b5dd9edb4 346 const uint16_t SL_OPCODE_WLAN_SCANRESULTSGETCOMMAND = 0x8C8C;
dflet 0:1e7b5dd9edb4 347 const uint16_t SL_OPCODE_WLAN_SCANRESULTSGETRESPONSE = 0x0C8C;
dflet 0:1e7b5dd9edb4 348 const uint16_t SL_OPCODE_WLAN_SMARTCONFIGOPTSET = 0x8C8D;
dflet 0:1e7b5dd9edb4 349 const uint16_t SL_OPCODE_WLAN_SMARTCONFIGOPTSETRESPONSE = 0x0C8D;
dflet 0:1e7b5dd9edb4 350 const uint16_t SL_OPCODE_WLAN_SMARTCONFIGOPTGET = 0x8C8E;
dflet 0:1e7b5dd9edb4 351 const uint16_t SL_OPCODE_WLAN_SMARTCONFIGOPTGETRESPONSE = 0x0C8E;
dflet 0:1e7b5dd9edb4 352
dflet 0:1e7b5dd9edb4 353
dflet 0:1e7b5dd9edb4 354 /* Rx Filters opcodes */
dflet 0:1e7b5dd9edb4 355 const uint16_t SL_OPCODE_WLAN_WLANRXFILTERADDCOMMAND = 0x8C6C;
dflet 0:1e7b5dd9edb4 356 const uint16_t SL_OPCODE_WLAN_WLANRXFILTERADDRESPONSE = 0x0C6C;
dflet 0:1e7b5dd9edb4 357 const uint16_t SL_OPCODE_WLAN_WLANRXFILTERSETCOMMAND = 0x8C6D;
dflet 0:1e7b5dd9edb4 358 const uint16_t SL_OPCODE_WLAN_WLANRXFILTERSETRESPONSE = 0x0C6D;
dflet 0:1e7b5dd9edb4 359 const uint16_t SL_OPCODE_WLAN_WLANRXFILTERGETSTATISTICSINFOCOMMAND = 0x8C6E;
dflet 0:1e7b5dd9edb4 360 const uint16_t SL_OPCODE_WLAN_WLANRXFILTERGETSTATISTICSINFORESPONSE = 0x0C6E;
dflet 0:1e7b5dd9edb4 361 const uint16_t SL_OPCODE_WLAN_WLANRXFILTERGETCOMMAND = 0x8C6F;
dflet 0:1e7b5dd9edb4 362 const uint16_t SL_OPCODE_WLAN_WLANRXFILTERGETRESPONSE = 0x0C6F;
dflet 0:1e7b5dd9edb4 363 const uint16_t SL_OPCODE_WLAN_WLANRXFILTERGETINFO = 0x8C70;
dflet 0:1e7b5dd9edb4 364 const uint16_t SL_OPCODE_WLAN_WLANRXFILTERGETINFORESPONSE = 0x0C70;
dflet 0:1e7b5dd9edb4 365
dflet 0:1e7b5dd9edb4 366
dflet 0:1e7b5dd9edb4 367 /******************************************************************************************/
dflet 0:1e7b5dd9edb4 368 /* Device structs */
dflet 0:1e7b5dd9edb4 369 /******************************************************************************************/
dflet 0:1e7b5dd9edb4 370 typedef uint32_t InitStatus_t;
dflet 0:1e7b5dd9edb4 371
dflet 0:1e7b5dd9edb4 372
dflet 0:1e7b5dd9edb4 373 typedef struct {
dflet 0:1e7b5dd9edb4 374 int32_t Status;
dflet 0:1e7b5dd9edb4 375 } InitComplete_t;
dflet 0:1e7b5dd9edb4 376
dflet 0:1e7b5dd9edb4 377 typedef struct {
dflet 0:1e7b5dd9edb4 378 int16_t status;
dflet 0:1e7b5dd9edb4 379 uint16_t padding;
dflet 0:1e7b5dd9edb4 380
dflet 0:1e7b5dd9edb4 381 } _BasicResponse_t;
dflet 0:1e7b5dd9edb4 382
dflet 0:1e7b5dd9edb4 383 typedef struct {
dflet 0:1e7b5dd9edb4 384 uint16_t Timeout;
dflet 0:1e7b5dd9edb4 385 uint16_t padding;
dflet 0:1e7b5dd9edb4 386 } _DevStopCommand_t;
dflet 0:1e7b5dd9edb4 387
dflet 0:1e7b5dd9edb4 388 typedef struct {
dflet 0:1e7b5dd9edb4 389 uint32_t group;
dflet 0:1e7b5dd9edb4 390 uint32_t mask;
dflet 0:1e7b5dd9edb4 391 } _DevMaskEventSetCommand_t;
dflet 0:1e7b5dd9edb4 392
dflet 0:1e7b5dd9edb4 393 typedef _BasicResponse_t _DevMaskEventSetResponse_t;
dflet 0:1e7b5dd9edb4 394
dflet 0:1e7b5dd9edb4 395
dflet 0:1e7b5dd9edb4 396 typedef struct {
dflet 0:1e7b5dd9edb4 397 uint32_t group;
dflet 0:1e7b5dd9edb4 398 } _DevMaskEventGetCommand_t;
dflet 0:1e7b5dd9edb4 399
dflet 0:1e7b5dd9edb4 400
dflet 0:1e7b5dd9edb4 401 typedef struct {
dflet 0:1e7b5dd9edb4 402 uint32_t group;
dflet 0:1e7b5dd9edb4 403 uint32_t mask;
dflet 0:1e7b5dd9edb4 404 } _DevMaskEventGetResponse_t;
dflet 0:1e7b5dd9edb4 405
dflet 0:1e7b5dd9edb4 406
dflet 0:1e7b5dd9edb4 407 typedef struct {
dflet 0:1e7b5dd9edb4 408 uint32_t group;
dflet 0:1e7b5dd9edb4 409 } _DevStatusGetCommand_t;
dflet 0:1e7b5dd9edb4 410
dflet 0:1e7b5dd9edb4 411
dflet 0:1e7b5dd9edb4 412 typedef struct {
dflet 0:1e7b5dd9edb4 413 uint32_t group;
dflet 0:1e7b5dd9edb4 414 uint32_t status;
dflet 0:1e7b5dd9edb4 415 } _DevStatusGetResponse_t;
dflet 0:1e7b5dd9edb4 416
dflet 0:1e7b5dd9edb4 417 typedef struct {
dflet 0:1e7b5dd9edb4 418 uint32_t ChipId;
dflet 0:1e7b5dd9edb4 419 uint32_t FwVersion[4];
dflet 0:1e7b5dd9edb4 420 uint8_t PhyVersion[4];
dflet 0:1e7b5dd9edb4 421 } _Device_VersionReadResponsePart_t;
dflet 0:1e7b5dd9edb4 422
dflet 0:1e7b5dd9edb4 423 typedef struct {
dflet 0:1e7b5dd9edb4 424 _Device_VersionReadResponsePart_t part;
dflet 0:1e7b5dd9edb4 425 uint32_t NwpVersion[4];
dflet 0:1e7b5dd9edb4 426 uint16_t RomVersion;
dflet 0:1e7b5dd9edb4 427 uint16_t Padding;
dflet 0:1e7b5dd9edb4 428 } _Device_VersionReadResponseFull_t;
dflet 0:1e7b5dd9edb4 429
dflet 0:1e7b5dd9edb4 430
dflet 0:1e7b5dd9edb4 431 typedef struct {
dflet 0:1e7b5dd9edb4 432 uint32_t BaudRate;
dflet 0:1e7b5dd9edb4 433 uint8_t FlowControlEnable;
dflet 0:1e7b5dd9edb4 434 } _DevUartSetModeCommand_t;
dflet 0:1e7b5dd9edb4 435
dflet 0:1e7b5dd9edb4 436 typedef _BasicResponse_t _DevUartSetModeResponse_t;
dflet 0:1e7b5dd9edb4 437
dflet 0:1e7b5dd9edb4 438 /******************************************************/
dflet 0:1e7b5dd9edb4 439
dflet 0:1e7b5dd9edb4 440 typedef struct {
dflet 0:1e7b5dd9edb4 441 uint8_t SsiSizeInBytes;
dflet 0:1e7b5dd9edb4 442 uint8_t Padding[3];
dflet 0:1e7b5dd9edb4 443 } _StellarisSsiSizeSet_t;
dflet 0:1e7b5dd9edb4 444
dflet 0:1e7b5dd9edb4 445 /*****************************************************************************************/
dflet 0:1e7b5dd9edb4 446 /* WLAN structs */
dflet 0:1e7b5dd9edb4 447 /*****************************************************************************************/
dflet 0:1e7b5dd9edb4 448 #define MAXIMAL_PASSWORD_LENGTH (64)
dflet 0:1e7b5dd9edb4 449
dflet 0:1e7b5dd9edb4 450 typedef struct {
dflet 0:1e7b5dd9edb4 451 uint8_t SecType;
dflet 0:1e7b5dd9edb4 452 uint8_t SsidLen;
dflet 0:1e7b5dd9edb4 453 uint8_t Bssid[6];
dflet 0:1e7b5dd9edb4 454 uint8_t PasswordLen;
dflet 0:1e7b5dd9edb4 455 } _WlanConnectCommon_t;
dflet 0:1e7b5dd9edb4 456
dflet 0:1e7b5dd9edb4 457 #define SSID_STRING(pCmd) (int8_t *)((_WlanConnectCommon_t *)(pCmd) + 1)
dflet 0:1e7b5dd9edb4 458 #define PASSWORD_STRING(pCmd) (SSID_STRING(pCmd) + ((_WlanConnectCommon_t *)(pCmd))->SsidLen)
dflet 0:1e7b5dd9edb4 459
dflet 0:1e7b5dd9edb4 460 typedef struct {
dflet 0:1e7b5dd9edb4 461 _WlanConnectCommon_t Common;
dflet 0:1e7b5dd9edb4 462 uint8_t UserLen;
dflet 0:1e7b5dd9edb4 463 uint8_t AnonUserLen;
dflet 0:1e7b5dd9edb4 464 uint8_t CertIndex;
dflet 0:1e7b5dd9edb4 465 uint32_t EapBitmask;
dflet 0:1e7b5dd9edb4 466 } _WlanConnectEapCommand_t;
dflet 0:1e7b5dd9edb4 467
dflet 0:1e7b5dd9edb4 468 #define EAP_SSID_STRING(pCmd) (int8_t *)((_WlanConnectEapCommand_t *)(pCmd) + 1)
dflet 0:1e7b5dd9edb4 469 #define EAP_PASSWORD_STRING(pCmd) (EAP_SSID_STRING(pCmd) + ((_WlanConnectEapCommand_t *)(pCmd))->Common.SsidLen)
dflet 0:1e7b5dd9edb4 470 #define EAP_USER_STRING(pCmd) (EAP_PASSWORD_STRING(pCmd) + ((_WlanConnectEapCommand_t *)(pCmd))->Common.PasswordLen)
dflet 0:1e7b5dd9edb4 471 #define EAP_ANON_USER_STRING(pCmd) (EAP_USER_STRING(pCmd) + ((_WlanConnectEapCommand_t *)(pCmd))->UserLen)
dflet 0:1e7b5dd9edb4 472
dflet 0:1e7b5dd9edb4 473
dflet 0:1e7b5dd9edb4 474 typedef struct {
dflet 0:1e7b5dd9edb4 475 uint8_t PolicyType;
dflet 0:1e7b5dd9edb4 476 uint8_t Padding;
dflet 0:1e7b5dd9edb4 477 uint8_t PolicyOption;
dflet 0:1e7b5dd9edb4 478 uint8_t PolicyOptionLen;
dflet 0:1e7b5dd9edb4 479 } _WlanPoliciySetGet_t;
dflet 0:1e7b5dd9edb4 480
dflet 0:1e7b5dd9edb4 481
dflet 0:1e7b5dd9edb4 482 typedef struct {
dflet 0:1e7b5dd9edb4 483 uint32_t minDwellTime;
dflet 0:1e7b5dd9edb4 484 uint32_t maxDwellTime;
dflet 0:1e7b5dd9edb4 485 uint32_t numProbeResponse;
dflet 0:1e7b5dd9edb4 486 uint32_t G_Channels_mask;
dflet 0:1e7b5dd9edb4 487 int32_t rssiThershold;
dflet 0:1e7b5dd9edb4 488 int32_t snrThershold;
dflet 0:1e7b5dd9edb4 489 int32_t defaultTXPower;
dflet 0:1e7b5dd9edb4 490 uint16_t intervalList[16];
dflet 0:1e7b5dd9edb4 491 } _WlanScanParamSetCommand_t;
dflet 0:1e7b5dd9edb4 492
dflet 0:1e7b5dd9edb4 493
dflet 0:1e7b5dd9edb4 494 typedef struct {
dflet 0:1e7b5dd9edb4 495 int8_t SecType;
dflet 0:1e7b5dd9edb4 496 uint8_t SsidLen;
dflet 0:1e7b5dd9edb4 497 uint8_t Priority;
dflet 0:1e7b5dd9edb4 498 uint8_t Bssid[6];
dflet 0:1e7b5dd9edb4 499 uint8_t PasswordLen;
dflet 0:1e7b5dd9edb4 500 uint8_t WepKeyId;
dflet 0:1e7b5dd9edb4 501 } _WlanAddGetProfile_t;
dflet 0:1e7b5dd9edb4 502
dflet 0:1e7b5dd9edb4 503
dflet 0:1e7b5dd9edb4 504 typedef struct {
dflet 0:1e7b5dd9edb4 505 _WlanAddGetProfile_t Common;
dflet 0:1e7b5dd9edb4 506 uint8_t UserLen;
dflet 0:1e7b5dd9edb4 507 uint8_t AnonUserLen;
dflet 0:1e7b5dd9edb4 508 uint8_t CertIndex;
dflet 0:1e7b5dd9edb4 509 uint16_t padding;
dflet 0:1e7b5dd9edb4 510 uint32_t EapBitmask;
dflet 0:1e7b5dd9edb4 511 } _WlanAddGetEapProfile_t;
dflet 0:1e7b5dd9edb4 512
dflet 0:1e7b5dd9edb4 513 #define PROFILE_SSID_STRING(pCmd) ((int8_t *)((_WlanAddGetProfile_t *)(pCmd) + 1))
dflet 0:1e7b5dd9edb4 514 #define PROFILE_PASSWORD_STRING(pCmd) (PROFILE_SSID_STRING(pCmd) + ((_WlanAddGetProfile_t *)(pCmd))->SsidLen)
dflet 0:1e7b5dd9edb4 515
dflet 0:1e7b5dd9edb4 516 #define EAP_PROFILE_SSID_STRING(pCmd) (int8_t *)((_WlanAddGetEapProfile_t *)(pCmd) + 1)
dflet 0:1e7b5dd9edb4 517 #define EAP_PROFILE_PASSWORD_STRING(pCmd) (EAP_PROFILE_SSID_STRING(pCmd) + ((_WlanAddGetEapProfile_t *)(pCmd))->Common.SsidLen)
dflet 0:1e7b5dd9edb4 518 #define EAP_PROFILE_USER_STRING(pCmd) (EAP_PROFILE_PASSWORD_STRING(pCmd) + ((_WlanAddGetEapProfile_t *)(pCmd))->Common.PasswordLen)
dflet 0:1e7b5dd9edb4 519 #define EAP_PROFILE_ANON_USER_STRING(pCmd) (EAP_PROFILE_USER_STRING(pCmd) + ((_WlanAddGetEapProfile_t *)(pCmd))->UserLen)
dflet 0:1e7b5dd9edb4 520
dflet 0:1e7b5dd9edb4 521 typedef struct {
dflet 0:1e7b5dd9edb4 522 uint8_t index;
dflet 0:1e7b5dd9edb4 523 uint8_t padding[3];
dflet 0:1e7b5dd9edb4 524 } _WlanProfileDelGetCommand_t;
dflet 0:1e7b5dd9edb4 525
dflet 0:1e7b5dd9edb4 526 typedef _BasicResponse_t _WlanGetNetworkListResponse_t;
dflet 0:1e7b5dd9edb4 527
dflet 0:1e7b5dd9edb4 528 typedef struct {
dflet 0:1e7b5dd9edb4 529 uint8_t index;
dflet 0:1e7b5dd9edb4 530 uint8_t count;
dflet 0:1e7b5dd9edb4 531 int8_t padding[2];
dflet 0:1e7b5dd9edb4 532 } _WlanGetNetworkListCommand_t;
dflet 0:1e7b5dd9edb4 533
dflet 0:1e7b5dd9edb4 534
dflet 0:1e7b5dd9edb4 535
dflet 0:1e7b5dd9edb4 536
dflet 0:1e7b5dd9edb4 537 typedef struct {
dflet 0:1e7b5dd9edb4 538 uint32_t groupIdBitmask;
dflet 0:1e7b5dd9edb4 539 uint8_t cipher;
dflet 0:1e7b5dd9edb4 540 uint8_t publicKeyLen;
dflet 0:1e7b5dd9edb4 541 uint8_t group1KeyLen;
dflet 0:1e7b5dd9edb4 542 uint8_t group2KeyLen;
dflet 0:1e7b5dd9edb4 543 } _WlanSmartConfigStartCommand_t;
dflet 0:1e7b5dd9edb4 544
dflet 0:1e7b5dd9edb4 545 #define SMART_CONFIG_START_PUBLIC_KEY_STRING(pCmd) ((int8_t *)((_WlanSmartConfigStartCommand_t *)(pCmd) + 1))
dflet 0:1e7b5dd9edb4 546 #define SMART_CONFIG_START_GROUP1_KEY_STRING(pCmd) ((int8_t *) (SMART_CONFIG_START_PUBLIC_KEY_STRING(pCmd) + ((_WlanSmartConfigStartCommand_t *)(pCmd))->publicKeyLen))
dflet 0:1e7b5dd9edb4 547 #define SMART_CONFIG_START_GROUP2_KEY_STRING(pCmd) ((int8_t *) (SMART_CONFIG_START_GROUP1_KEY_STRING(pCmd) + ((_WlanSmartConfigStartCommand_t *)(pCmd))->group1KeyLen))
dflet 0:1e7b5dd9edb4 548
dflet 0:1e7b5dd9edb4 549 typedef struct {
dflet 0:1e7b5dd9edb4 550 uint8_t mode;
dflet 0:1e7b5dd9edb4 551 uint8_t padding[3];
dflet 0:1e7b5dd9edb4 552 } _WlanSetMode_t;
dflet 0:1e7b5dd9edb4 553
dflet 0:1e7b5dd9edb4 554
dflet 0:1e7b5dd9edb4 555
dflet 0:1e7b5dd9edb4 556
dflet 0:1e7b5dd9edb4 557 typedef struct {
dflet 0:1e7b5dd9edb4 558 uint16_t Status;
dflet 0:1e7b5dd9edb4 559 uint16_t ConfigId;
dflet 0:1e7b5dd9edb4 560 uint16_t ConfigOpt;
dflet 0:1e7b5dd9edb4 561 uint16_t ConfigLen;
dflet 0:1e7b5dd9edb4 562 } _WlanCfgSetGet_t;
dflet 0:1e7b5dd9edb4 563
dflet 0:1e7b5dd9edb4 564
dflet 0:1e7b5dd9edb4 565 //wlan_rx_filters moved
dflet 0:1e7b5dd9edb4 566
dflet 0:1e7b5dd9edb4 567 typedef struct {
dflet 0:1e7b5dd9edb4 568 uint16_t status;
dflet 0:1e7b5dd9edb4 569 uint8_t WlanRole; /* 0 = station, 2 = AP */
dflet 0:1e7b5dd9edb4 570 uint8_t Ipv6Enabled;
dflet 0:1e7b5dd9edb4 571 uint8_t Ipv6DhcpEnabled;
dflet 0:1e7b5dd9edb4 572
dflet 0:1e7b5dd9edb4 573 uint32_t ipV6Global[4];
dflet 0:1e7b5dd9edb4 574 uint32_t ipV6Local[4];
dflet 0:1e7b5dd9edb4 575 uint32_t ipV6DnsServer[4];
dflet 0:1e7b5dd9edb4 576 uint8_t Ipv6DhcpState;
dflet 0:1e7b5dd9edb4 577
dflet 0:1e7b5dd9edb4 578 } _NetappIpV6configRetArgs_t;
dflet 0:1e7b5dd9edb4 579
dflet 0:1e7b5dd9edb4 580
dflet 0:1e7b5dd9edb4 581 typedef struct {
dflet 0:1e7b5dd9edb4 582 uint8_t ipV4[4];
dflet 0:1e7b5dd9edb4 583 uint8_t ipV4Mask[4];
dflet 0:1e7b5dd9edb4 584 uint8_t ipV4Gateway[4];
dflet 0:1e7b5dd9edb4 585 uint8_t ipV4DnsServer[4];
dflet 0:1e7b5dd9edb4 586 uint8_t ipV4Start[4];
dflet 0:1e7b5dd9edb4 587 uint8_t ipV4End[4];
dflet 0:1e7b5dd9edb4 588 } _NetCfgIpV4AP_Args_t;
dflet 0:1e7b5dd9edb4 589
dflet 0:1e7b5dd9edb4 590
dflet 0:1e7b5dd9edb4 591
dflet 0:1e7b5dd9edb4 592 typedef struct {
dflet 0:1e7b5dd9edb4 593 uint16_t status;
dflet 0:1e7b5dd9edb4 594 uint8_t MacAddr[6];
dflet 0:1e7b5dd9edb4 595 } _MAC_Address_SetGet_t;
dflet 0:1e7b5dd9edb4 596
dflet 0:1e7b5dd9edb4 597
dflet 0:1e7b5dd9edb4 598 typedef struct {
dflet 0:1e7b5dd9edb4 599 uint16_t Status;
dflet 0:1e7b5dd9edb4 600 uint16_t ConfigId;
dflet 0:1e7b5dd9edb4 601 uint16_t ConfigOpt;
dflet 0:1e7b5dd9edb4 602 uint16_t ConfigLen;
dflet 0:1e7b5dd9edb4 603 } _NetCfgSetGet_t;
dflet 0:1e7b5dd9edb4 604
dflet 0:1e7b5dd9edb4 605 typedef struct {
dflet 0:1e7b5dd9edb4 606 uint16_t Status;
dflet 0:1e7b5dd9edb4 607 uint16_t DeviceSetId;
dflet 0:1e7b5dd9edb4 608 uint16_t Option;
dflet 0:1e7b5dd9edb4 609 uint16_t ConfigLen;
dflet 0:1e7b5dd9edb4 610 } _DeviceSetGet_t;
dflet 0:1e7b5dd9edb4 611
dflet 0:1e7b5dd9edb4 612
dflet 0:1e7b5dd9edb4 613
dflet 0:1e7b5dd9edb4 614
dflet 0:1e7b5dd9edb4 615 /******************************************************************************************/
dflet 0:1e7b5dd9edb4 616 /* Socket structs */
dflet 0:1e7b5dd9edb4 617 /******************************************************************************************/
dflet 0:1e7b5dd9edb4 618
dflet 0:1e7b5dd9edb4 619 typedef struct {
dflet 0:1e7b5dd9edb4 620 uint8_t Domain;
dflet 0:1e7b5dd9edb4 621 uint8_t Type;
dflet 0:1e7b5dd9edb4 622 uint8_t Protocol;
dflet 0:1e7b5dd9edb4 623 uint8_t Padding;
dflet 0:1e7b5dd9edb4 624 } _SocketCommand_t;
dflet 0:1e7b5dd9edb4 625
dflet 0:1e7b5dd9edb4 626
dflet 0:1e7b5dd9edb4 627 typedef struct {
dflet 0:1e7b5dd9edb4 628 int16_t statusOrLen;
dflet 0:1e7b5dd9edb4 629 uint8_t sd;
dflet 0:1e7b5dd9edb4 630 uint8_t padding;
dflet 0:1e7b5dd9edb4 631 } _SocketResponse_t;
dflet 0:1e7b5dd9edb4 632
dflet 0:1e7b5dd9edb4 633 typedef struct {
dflet 0:1e7b5dd9edb4 634 uint8_t sd;
dflet 0:1e7b5dd9edb4 635 uint8_t family;
dflet 0:1e7b5dd9edb4 636 uint8_t padding1;
dflet 0:1e7b5dd9edb4 637 uint8_t padding2;
dflet 0:1e7b5dd9edb4 638 } _AcceptCommand_t;
dflet 0:1e7b5dd9edb4 639
dflet 0:1e7b5dd9edb4 640
dflet 0:1e7b5dd9edb4 641 typedef struct {
dflet 0:1e7b5dd9edb4 642 int16_t statusOrLen;
dflet 0:1e7b5dd9edb4 643 uint8_t sd;
dflet 0:1e7b5dd9edb4 644 uint8_t family;
dflet 0:1e7b5dd9edb4 645 uint16_t port;
dflet 0:1e7b5dd9edb4 646 uint16_t paddingOrAddr;
dflet 0:1e7b5dd9edb4 647 uint32_t address;
dflet 0:1e7b5dd9edb4 648 } _SocketAddrAsyncIPv4Response_t;
dflet 0:1e7b5dd9edb4 649
dflet 0:1e7b5dd9edb4 650 typedef struct {
dflet 0:1e7b5dd9edb4 651 int16_t statusOrLen;
dflet 0:1e7b5dd9edb4 652 uint8_t sd;
dflet 0:1e7b5dd9edb4 653 uint8_t family;
dflet 0:1e7b5dd9edb4 654 uint16_t port;
dflet 0:1e7b5dd9edb4 655 uint8_t address[6];
dflet 0:1e7b5dd9edb4 656 } _SocketAddrAsyncIPv6EUI48Response_t;
dflet 0:1e7b5dd9edb4 657 typedef struct {
dflet 0:1e7b5dd9edb4 658 int16_t statusOrLen;
dflet 0:1e7b5dd9edb4 659 uint8_t sd;
dflet 0:1e7b5dd9edb4 660 uint8_t family;
dflet 0:1e7b5dd9edb4 661 uint16_t port;
dflet 0:1e7b5dd9edb4 662 uint16_t paddingOrAddr;
dflet 0:1e7b5dd9edb4 663 uint32_t address[4];
dflet 0:1e7b5dd9edb4 664 } _SocketAddrAsyncIPv6Response_t;
dflet 0:1e7b5dd9edb4 665
dflet 0:1e7b5dd9edb4 666
dflet 0:1e7b5dd9edb4 667 typedef struct {
dflet 0:1e7b5dd9edb4 668 int16_t lenOrPadding;
dflet 0:1e7b5dd9edb4 669 uint8_t sd;
dflet 0:1e7b5dd9edb4 670 uint8_t FamilyAndFlags;
dflet 0:1e7b5dd9edb4 671 uint16_t port;
dflet 0:1e7b5dd9edb4 672 uint16_t paddingOrAddr;
dflet 0:1e7b5dd9edb4 673 uint32_t address;
dflet 0:1e7b5dd9edb4 674 } _SocketAddrIPv4Command_t;
dflet 0:1e7b5dd9edb4 675
dflet 0:1e7b5dd9edb4 676 typedef struct {
dflet 0:1e7b5dd9edb4 677 int16_t lenOrPadding;
dflet 0:1e7b5dd9edb4 678 uint8_t sd;
dflet 0:1e7b5dd9edb4 679 uint8_t FamilyAndFlags;
dflet 0:1e7b5dd9edb4 680 uint16_t port;
dflet 0:1e7b5dd9edb4 681 uint8_t address[6];
dflet 0:1e7b5dd9edb4 682 } _SocketAddrIPv6EUI48Command_t;
dflet 0:1e7b5dd9edb4 683 typedef struct {
dflet 0:1e7b5dd9edb4 684 int16_t lenOrPadding;
dflet 0:1e7b5dd9edb4 685 uint8_t sd;
dflet 0:1e7b5dd9edb4 686 uint8_t FamilyAndFlags;
dflet 0:1e7b5dd9edb4 687 uint16_t port;
dflet 0:1e7b5dd9edb4 688 uint16_t paddingOrAddr;
dflet 0:1e7b5dd9edb4 689 uint32_t address[4];
dflet 0:1e7b5dd9edb4 690 } _SocketAddrIPv6Command_t;
dflet 0:1e7b5dd9edb4 691
dflet 0:1e7b5dd9edb4 692 typedef union {
dflet 0:1e7b5dd9edb4 693 _SocketAddrIPv4Command_t IpV4;
dflet 0:1e7b5dd9edb4 694 _SocketAddrIPv6EUI48Command_t IpV6EUI48;
dflet 0:1e7b5dd9edb4 695 #ifdef SL_SUPPORT_IPV6
dflet 0:1e7b5dd9edb4 696 _SocketAddrIPv6Command_t IpV6;
dflet 0:1e7b5dd9edb4 697 #endif
dflet 0:1e7b5dd9edb4 698 } _SocketAddrCommand_u;
dflet 0:1e7b5dd9edb4 699
dflet 0:1e7b5dd9edb4 700 typedef union {
dflet 0:1e7b5dd9edb4 701 _SocketAddrAsyncIPv4Response_t IpV4;
dflet 0:1e7b5dd9edb4 702 _SocketAddrAsyncIPv6EUI48Response_t IpV6EUI48;
dflet 0:1e7b5dd9edb4 703 #ifdef SL_SUPPORT_IPV6
dflet 0:1e7b5dd9edb4 704 _SocketAddrAsyncIPv6Response_t IpV6;
dflet 0:1e7b5dd9edb4 705 #endif
dflet 0:1e7b5dd9edb4 706 } _SocketAddrResponse_u;
dflet 0:1e7b5dd9edb4 707
dflet 0:1e7b5dd9edb4 708 typedef struct {
dflet 0:1e7b5dd9edb4 709 uint8_t sd;
dflet 0:1e7b5dd9edb4 710 uint8_t backlog;
dflet 0:1e7b5dd9edb4 711 uint8_t padding1;
dflet 0:1e7b5dd9edb4 712 uint8_t padding2;
dflet 0:1e7b5dd9edb4 713 } _ListenCommand_t;
dflet 0:1e7b5dd9edb4 714
dflet 0:1e7b5dd9edb4 715 typedef struct {
dflet 0:1e7b5dd9edb4 716 uint8_t sd;
dflet 0:1e7b5dd9edb4 717 uint8_t padding0;
dflet 0:1e7b5dd9edb4 718 uint8_t padding1;
dflet 0:1e7b5dd9edb4 719 uint8_t padding2;
dflet 0:1e7b5dd9edb4 720 } _CloseCommand_t;
dflet 0:1e7b5dd9edb4 721
dflet 0:1e7b5dd9edb4 722
dflet 0:1e7b5dd9edb4 723 typedef struct {
dflet 0:1e7b5dd9edb4 724 uint8_t nfds;
dflet 0:1e7b5dd9edb4 725 uint8_t readFdsCount;
dflet 0:1e7b5dd9edb4 726 uint8_t writeFdsCount;
dflet 0:1e7b5dd9edb4 727 uint8_t padding;
dflet 0:1e7b5dd9edb4 728 uint16_t readFds;
dflet 0:1e7b5dd9edb4 729 uint16_t writeFds;
dflet 0:1e7b5dd9edb4 730 uint16_t tv_usec;
dflet 0:1e7b5dd9edb4 731 uint16_t tv_sec;
dflet 0:1e7b5dd9edb4 732 } _SelectCommand_t;
dflet 0:1e7b5dd9edb4 733
dflet 0:1e7b5dd9edb4 734
dflet 0:1e7b5dd9edb4 735 typedef struct {
dflet 0:1e7b5dd9edb4 736 uint16_t status;
dflet 0:1e7b5dd9edb4 737 uint8_t readFdsCount;
dflet 0:1e7b5dd9edb4 738 uint8_t writeFdsCount;
dflet 0:1e7b5dd9edb4 739 uint16_t readFds;
dflet 0:1e7b5dd9edb4 740 uint16_t writeFds;
dflet 0:1e7b5dd9edb4 741 } _SelectAsyncResponse_t;
dflet 0:1e7b5dd9edb4 742
dflet 0:1e7b5dd9edb4 743 typedef struct {
dflet 0:1e7b5dd9edb4 744 uint8_t sd;
dflet 0:1e7b5dd9edb4 745 uint8_t level;
dflet 0:1e7b5dd9edb4 746 uint8_t optionName;
dflet 0:1e7b5dd9edb4 747 uint8_t optionLen;
dflet 0:1e7b5dd9edb4 748 } _setSockOptCommand_t;
dflet 0:1e7b5dd9edb4 749
dflet 0:1e7b5dd9edb4 750 typedef struct {
dflet 0:1e7b5dd9edb4 751 uint8_t sd;
dflet 0:1e7b5dd9edb4 752 uint8_t level;
dflet 0:1e7b5dd9edb4 753 uint8_t optionName;
dflet 0:1e7b5dd9edb4 754 uint8_t optionLen;
dflet 0:1e7b5dd9edb4 755 } _getSockOptCommand_t;
dflet 0:1e7b5dd9edb4 756
dflet 0:1e7b5dd9edb4 757 typedef struct {
dflet 0:1e7b5dd9edb4 758 int16_t status;
dflet 0:1e7b5dd9edb4 759 uint8_t sd;
dflet 0:1e7b5dd9edb4 760 uint8_t optionLen;
dflet 0:1e7b5dd9edb4 761 } _getSockOptResponse_t;
dflet 0:1e7b5dd9edb4 762
dflet 0:1e7b5dd9edb4 763
dflet 0:1e7b5dd9edb4 764 typedef struct {
dflet 0:1e7b5dd9edb4 765 uint16_t StatusOrLen;
dflet 0:1e7b5dd9edb4 766 uint8_t sd;
dflet 0:1e7b5dd9edb4 767 uint8_t FamilyAndFlags;
dflet 0:1e7b5dd9edb4 768 } _sendRecvCommand_t;
dflet 0:1e7b5dd9edb4 769
dflet 0:1e7b5dd9edb4 770 //netapp structs moved
dflet 0:1e7b5dd9edb4 771
dflet 0:1e7b5dd9edb4 772 /*****************************************************************************************
dflet 0:1e7b5dd9edb4 773 * FS structs
dflet 0:1e7b5dd9edb4 774 ******************************************************************************************/
dflet 0:1e7b5dd9edb4 775
dflet 0:1e7b5dd9edb4 776 typedef struct {
dflet 0:1e7b5dd9edb4 777 uint32_t FileHandle;
dflet 0:1e7b5dd9edb4 778 uint32_t Offset;
dflet 0:1e7b5dd9edb4 779 uint16_t Len;
dflet 0:1e7b5dd9edb4 780 uint16_t Padding;
dflet 0:1e7b5dd9edb4 781 } _FsReadCommand_t;
dflet 0:1e7b5dd9edb4 782
dflet 0:1e7b5dd9edb4 783 typedef struct {
dflet 0:1e7b5dd9edb4 784 uint32_t Mode;
dflet 0:1e7b5dd9edb4 785 uint32_t Token;
dflet 0:1e7b5dd9edb4 786 } _FsOpenCommand_t;
dflet 0:1e7b5dd9edb4 787
dflet 0:1e7b5dd9edb4 788 typedef struct {
dflet 0:1e7b5dd9edb4 789 uint32_t FileHandle;
dflet 0:1e7b5dd9edb4 790 uint32_t Token;
dflet 0:1e7b5dd9edb4 791 } _FsOpenResponse_t;
dflet 0:1e7b5dd9edb4 792
dflet 0:1e7b5dd9edb4 793
dflet 0:1e7b5dd9edb4 794 typedef struct {
dflet 0:1e7b5dd9edb4 795 uint32_t FileHandle;
dflet 0:1e7b5dd9edb4 796 uint32_t CertificFileNameLength;
dflet 0:1e7b5dd9edb4 797 uint32_t SignatureLen;
dflet 0:1e7b5dd9edb4 798 } _FsCloseCommand_t;
dflet 0:1e7b5dd9edb4 799
dflet 0:1e7b5dd9edb4 800
dflet 0:1e7b5dd9edb4 801 typedef _BasicResponse_t _FsReadResponse_t;
dflet 0:1e7b5dd9edb4 802 typedef _BasicResponse_t _FsDeleteResponse_t;
dflet 0:1e7b5dd9edb4 803 typedef _BasicResponse_t _FsCloseResponse_t;
dflet 0:1e7b5dd9edb4 804
dflet 0:1e7b5dd9edb4 805 typedef struct {
dflet 0:1e7b5dd9edb4 806 uint16_t Status;
dflet 0:1e7b5dd9edb4 807 uint16_t flags;
dflet 0:1e7b5dd9edb4 808 uint32_t FileLen;
dflet 0:1e7b5dd9edb4 809 uint32_t AllocatedLen;
dflet 0:1e7b5dd9edb4 810 uint32_t Token[4];
dflet 0:1e7b5dd9edb4 811 } _FsGetInfoResponse_t;
dflet 0:1e7b5dd9edb4 812
dflet 0:1e7b5dd9edb4 813 typedef struct {
dflet 0:1e7b5dd9edb4 814 uint8_t DeviceID;
dflet 0:1e7b5dd9edb4 815 uint8_t Padding[3];
dflet 0:1e7b5dd9edb4 816 } _FsFormatCommand_t;
dflet 0:1e7b5dd9edb4 817
dflet 0:1e7b5dd9edb4 818 typedef _BasicResponse_t _FsFormatResponse_t;
dflet 0:1e7b5dd9edb4 819
dflet 0:1e7b5dd9edb4 820 typedef struct {
dflet 0:1e7b5dd9edb4 821 uint32_t Token;
dflet 0:1e7b5dd9edb4 822 } _FsDeleteCommand_t;
dflet 0:1e7b5dd9edb4 823
dflet 0:1e7b5dd9edb4 824 typedef _FsDeleteCommand_t _FsGetInfoCommand_t;
dflet 0:1e7b5dd9edb4 825
dflet 0:1e7b5dd9edb4 826 typedef struct {
dflet 0:1e7b5dd9edb4 827 uint32_t FileHandle;
dflet 0:1e7b5dd9edb4 828 uint32_t Offset;
dflet 0:1e7b5dd9edb4 829 uint16_t Len;
dflet 0:1e7b5dd9edb4 830 uint16_t Padding;
dflet 0:1e7b5dd9edb4 831 } _FsWriteCommand_t;
dflet 0:1e7b5dd9edb4 832
dflet 0:1e7b5dd9edb4 833 typedef _BasicResponse_t _FsWriteResponse_t;
dflet 0:1e7b5dd9edb4 834
dflet 0:1e7b5dd9edb4 835
dflet 0:1e7b5dd9edb4 836 /* TODO: Set MAx Async Payload length depending on flavor (Tiny, Small, etc.) */
dflet 0:1e7b5dd9edb4 837
dflet 0:1e7b5dd9edb4 838 #ifdef SL_TINY_EXT
dflet 0:1e7b5dd9edb4 839 #define SL_ASYNC_MAX_PAYLOAD_LEN 120 /* size must be aligned to 4 */
dflet 0:1e7b5dd9edb4 840 #else
dflet 0:1e7b5dd9edb4 841 #define SL_ASYNC_MAX_PAYLOAD_LEN 160 /* size must be aligned to 4 */
dflet 0:1e7b5dd9edb4 842 #endif
dflet 0:1e7b5dd9edb4 843 #define SL_ASYNC_MAX_MSG_LEN (_SL_RESP_HDR_SIZE + SL_ASYNC_MAX_PAYLOAD_LEN)
dflet 0:1e7b5dd9edb4 844
dflet 0:1e7b5dd9edb4 845 #define RECV_ARGS_SIZE (sizeof(_SocketResponse_t))
dflet 0:1e7b5dd9edb4 846 #define RECVFROM_IPV4_ARGS_SIZE (sizeof(_SocketAddrAsyncIPv4Response_t))
dflet 0:1e7b5dd9edb4 847 #define RECVFROM_IPV6_ARGS_SIZE (sizeof(_SocketAddrAsyncIPv6Response_t))
dflet 0:1e7b5dd9edb4 848
dflet 0:1e7b5dd9edb4 849 #define SL_IPV4_ADDRESS_SIZE (sizeof(uint32_t))
dflet 0:1e7b5dd9edb4 850 #define SL_IPV6_ADDRESS_SIZE (4 * sizeof(uint32_t))
dflet 0:1e7b5dd9edb4 851
dflet 0:1e7b5dd9edb4 852 }//namespace mbed_cc3100
dflet 0:1e7b5dd9edb4 853
dflet 0:1e7b5dd9edb4 854 #endif /* _SL_PROTOCOL_TYPES_H_ */
dflet 0:1e7b5dd9edb4 855