1183 lines
36 KiB
C
1183 lines
36 KiB
C
/*
|
|
* protocol.h - CC31xx/CC32xx Host Driver Implementation
|
|
*
|
|
* Copyright (C) 2014 Texas Instruments Incorporated - http://www.ti.com/
|
|
*
|
|
*
|
|
* Redistribution and use in source and binary forms, with or without
|
|
* modification, are permitted provided that the following conditions
|
|
* are met:
|
|
*
|
|
* Redistributions of source code must retain the above copyright
|
|
* notice, this list of conditions and the following disclaimer.
|
|
*
|
|
* Redistributions in binary form must reproduce the above copyright
|
|
* notice, this list of conditions and the following disclaimer in the
|
|
* documentation and/or other materials provided with the
|
|
* distribution.
|
|
*
|
|
* Neither the name of Texas Instruments Incorporated nor the names of
|
|
* its contributors may be used to endorse or promote products derived
|
|
* from this software without specific prior written permission.
|
|
*
|
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
*
|
|
*/
|
|
|
|
/*******************************************************************************\
|
|
*
|
|
* FILE NAME: protocol.h
|
|
*
|
|
* DESCRIPTION: Constant and data structure definitions and function
|
|
* prototypes for the SL protocol module, which implements
|
|
* processing of SimpleLink Commands.
|
|
*
|
|
* AUTHOR:
|
|
*
|
|
\*******************************************************************************/
|
|
|
|
#ifndef _SL_PROTOCOL_TYPES_H_
|
|
#define _SL_PROTOCOL_TYPES_H_
|
|
|
|
/****************************************************************************
|
|
**
|
|
** User I/F pools definitions
|
|
**
|
|
****************************************************************************/
|
|
|
|
/****************************************************************************
|
|
**
|
|
** Definitions for SimpleLink Commands
|
|
**
|
|
****************************************************************************/
|
|
|
|
|
|
/* pattern for LE 8/16/32 or BE*/
|
|
#define H2N_SYNC_PATTERN {0xBBDDEEFF,0x4321,0x34,0x12}
|
|
#define H2N_CNYS_PATTERN {0xBBDDEEFF,0x8765,0x78,0x56}
|
|
|
|
#define H2N_DUMMY_PATTERN (_u32)0xFFFFFFFF
|
|
#define N2H_SYNC_PATTERN (_u32)0xABCDDCBA
|
|
#define SYNC_PATTERN_LEN (_u32)sizeof(_u32)
|
|
#define UART_SET_MODE_MAGIC_CODE (_u32)0xAA55AA55
|
|
#define SPI_16BITS_BUG(pattern) (_u32)((_u32)pattern & (_u32)0xFFFF7FFF)
|
|
#define SPI_8BITS_BUG(pattern) (_u32)((_u32)pattern & (_u32)0xFFFFFF7F)
|
|
|
|
|
|
|
|
typedef struct
|
|
{
|
|
_u16 Opcode;
|
|
_u16 Len;
|
|
}_SlGenericHeader_t;
|
|
|
|
|
|
typedef struct
|
|
{
|
|
_u32 Long;
|
|
_u16 Short;
|
|
_u8 Byte1;
|
|
_u8 Byte2;
|
|
}_SlSyncPattern_t;
|
|
|
|
typedef _SlGenericHeader_t _SlCommandHeader_t;
|
|
|
|
typedef struct
|
|
{
|
|
_SlGenericHeader_t GenHeader;
|
|
_u8 TxPoolCnt;
|
|
_u8 DevStatus;
|
|
_u8 SocketTXFailure;
|
|
_u8 SocketNonBlocking;
|
|
}_SlResponseHeader_t;
|
|
|
|
#define _SL_RESP_SPEC_HDR_SIZE (sizeof(_SlResponseHeader_t) - sizeof(_SlGenericHeader_t))
|
|
#define _SL_RESP_HDR_SIZE sizeof(_SlResponseHeader_t)
|
|
#define _SL_CMD_HDR_SIZE sizeof(_SlCommandHeader_t)
|
|
|
|
#define _SL_RESP_ARGS_START(_pMsg) (((_SlResponseHeader_t *)(_pMsg)) + 1)
|
|
|
|
/* Used only in NWP! */
|
|
typedef struct
|
|
{
|
|
_SlCommandHeader_t sl_hdr;
|
|
_u8 func_args_start;
|
|
} T_SCMD;
|
|
|
|
|
|
#define WLAN_CONN_STATUS_BIT 0x01
|
|
#define EVENTS_Q_STATUS_BIT 0x02
|
|
#define PENDING_RCV_CMD_BIT 0x04
|
|
#define FW_BUSY_PACKETS_BIT 0x08
|
|
|
|
#define INIT_STA_OK 0x11111111
|
|
#define INIT_STA_ERR 0x22222222
|
|
#define INIT_AP_OK 0x33333333
|
|
#define INIT_AP_ERR 0x44444444
|
|
#define INIT_P2P_OK 0x55555555
|
|
#define INIT_P2P_ERR 0x66666666
|
|
|
|
/****************************************************************************
|
|
** OPCODES
|
|
****************************************************************************/
|
|
#define SL_IPV4_IPV6_OFFSET ( 9 )
|
|
#define SL_OPCODE_IPV4 ( 0x0 << SL_IPV4_IPV6_OFFSET )
|
|
#define SL_OPCODE_IPV6 ( 0x1 << SL_IPV4_IPV6_OFFSET )
|
|
|
|
#define SL_SYNC_ASYNC_OFFSET ( 10 )
|
|
#define SL_OPCODE_SYNC (0x1 << SL_SYNC_ASYNC_OFFSET )
|
|
#define SL_OPCODE_SILO_OFFSET ( 11 )
|
|
#define SL_OPCODE_SILO_MASK ( 0xF << SL_OPCODE_SILO_OFFSET )
|
|
#define SL_OPCODE_SILO_DEVICE ( 0x0 << SL_OPCODE_SILO_OFFSET )
|
|
#define SL_OPCODE_SILO_WLAN ( 0x1 << SL_OPCODE_SILO_OFFSET )
|
|
#define SL_OPCODE_SILO_SOCKET ( 0x2 << SL_OPCODE_SILO_OFFSET )
|
|
#define SL_OPCODE_SILO_NETAPP ( 0x3 << SL_OPCODE_SILO_OFFSET )
|
|
#define SL_OPCODE_SILO_NVMEM ( 0x4 << SL_OPCODE_SILO_OFFSET )
|
|
#define SL_OPCODE_SILO_NETCFG ( 0x5 << SL_OPCODE_SILO_OFFSET )
|
|
|
|
#define SL_FAMILY_SHIFT (0x4)
|
|
#define SL_FLAGS_MASK (0xF)
|
|
|
|
#define SL_OPCODE_DEVICE_INITCOMPLETE 0x0008
|
|
#define SL_OPCODE_DEVICE_ABORT 0x000C
|
|
#define SL_OPCODE_DEVICE_STOP_COMMAND 0x8473
|
|
#define SL_OPCODE_DEVICE_STOP_RESPONSE 0x0473
|
|
#define SL_OPCODE_DEVICE_STOP_ASYNC_RESPONSE 0x0073
|
|
#define SL_OPCODE_DEVICE_DEVICEASYNCDUMMY 0x0063
|
|
|
|
#define SL_OPCODE_DEVICE_VERSIONREADCOMMAND 0x8470
|
|
#define SL_OPCODE_DEVICE_VERSIONREADRESPONSE 0x0470
|
|
#define SL_OPCODE_DEVICE_DEVICEASYNCFATALERROR 0x0078
|
|
#define SL_OPCODE_WLAN_WLANCONNECTCOMMAND 0x8C80
|
|
#define SL_OPCODE_WLAN_WLANCONNECTRESPONSE 0x0C80
|
|
#define SL_OPCODE_WLAN_WLANASYNCCONNECTEDRESPONSE 0x0880
|
|
#define SL_OPCODE_WLAN_P2P_DEV_FOUND 0x0830
|
|
#define SL_OPCODE_WLAN_CONNECTION_FAILED 0x0831
|
|
#define SL_OPCODE_WLAN_P2P_NEG_REQ_RECEIVED 0x0832
|
|
|
|
#define SL_OPCODE_WLAN_WLANDISCONNECTCOMMAND 0x8C81
|
|
#define SL_OPCODE_WLAN_WLANDISCONNECTRESPONSE 0x0C81
|
|
#define SL_OPCODE_WLAN_WLANASYNCDISCONNECTEDRESPONSE 0x0881
|
|
#define SL_OPCODE_WLAN_WLANCONNECTEAPCOMMAND 0x8C82
|
|
#define SL_OPCODE_WLAN_WLANCONNECTEAPCRESPONSE 0x0C82
|
|
#define SL_OPCODE_WLAN_PROFILEADDCOMMAND 0x8C83
|
|
#define SL_OPCODE_WLAN_PROFILEADDRESPONSE 0x0C83
|
|
#define SL_OPCODE_WLAN_PROFILEGETCOMMAND 0x8C84
|
|
#define SL_OPCODE_WLAN_PROFILEGETRESPONSE 0x0C84
|
|
#define SL_OPCODE_WLAN_PROFILEDELCOMMAND 0x8C85
|
|
#define SL_OPCODE_WLAN_PROFILEDELRESPONSE 0x0C85
|
|
#define SL_OPCODE_WLAN_POLICYSETCOMMAND 0x8C86
|
|
#define SL_OPCODE_WLAN_POLICYSETRESPONSE 0x0C86
|
|
#define SL_OPCODE_WLAN_POLICYGETCOMMAND 0x8C87
|
|
#define SL_OPCODE_WLAN_POLICYGETRESPONSE 0x0C87
|
|
#define SL_OPCODE_WLAN_FILTERADD 0x8C88
|
|
#define SL_OPCODE_WLAN_FILTERADDRESPONSE 0x0C88
|
|
#define SL_OPCODE_WLAN_FILTERGET 0x8C89
|
|
#define SL_OPCODE_WLAN_FILTERGETRESPONSE 0x0C89
|
|
#define SL_OPCODE_WLAN_FILTERDELETE 0x8C8A
|
|
#define SL_OPCODE_WLAN_FILTERDELETERESPOSNE 0x0C8A
|
|
#define SL_OPCODE_WLAN_WLANGETSTATUSCOMMAND 0x8C8F
|
|
#define SL_OPCODE_WLAN_WLANGETSTATUSRESPONSE 0x0C8F
|
|
#define SL_OPCODE_WLAN_STARTTXCONTINUESCOMMAND 0x8CAA
|
|
#define SL_OPCODE_WLAN_STARTTXCONTINUESRESPONSE 0x0CAA
|
|
#define SL_OPCODE_WLAN_STOPTXCONTINUESCOMMAND 0x8CAB
|
|
#define SL_OPCODE_WLAN_STOPTXCONTINUESRESPONSE 0x0CAB
|
|
#define SL_OPCODE_WLAN_STARTRXSTATCOMMAND 0x8CAC
|
|
#define SL_OPCODE_WLAN_STARTRXSTATRESPONSE 0x0CAC
|
|
#define SL_OPCODE_WLAN_STOPRXSTATCOMMAND 0x8CAD
|
|
#define SL_OPCODE_WLAN_STOPRXSTATRESPONSE 0x0CAD
|
|
#define SL_OPCODE_WLAN_GETRXSTATCOMMAND 0x8CAF
|
|
#define SL_OPCODE_WLAN_GETRXSTATRESPONSE 0x0CAF
|
|
#define SL_OPCODE_WLAN_POLICYSETCOMMANDNEW 0x8CB0
|
|
#define SL_OPCODE_WLAN_POLICYSETRESPONSENEW 0x0CB0
|
|
#define SL_OPCODE_WLAN_POLICYGETCOMMANDNEW 0x8CB1
|
|
#define SL_OPCODE_WLAN_POLICYGETRESPONSENEW 0x0CB1
|
|
|
|
#define SL_OPCODE_WLAN_SMART_CONFIG_START_COMMAND 0x8CB2
|
|
#define SL_OPCODE_WLAN_SMART_CONFIG_START_RESPONSE 0x0CB2
|
|
#define SL_OPCODE_WLAN_SMART_CONFIG_START_ASYNC_RESPONSE 0x08B2
|
|
#define SL_OPCODE_WLAN_SMART_CONFIG_STOP_COMMAND 0x8CB3
|
|
#define SL_OPCODE_WLAN_SMART_CONFIG_STOP_RESPONSE 0x0CB3
|
|
#define SL_OPCODE_WLAN_SMART_CONFIG_STOP_ASYNC_RESPONSE 0x08B3
|
|
#define SL_OPCODE_WLAN_SET_MODE 0x8CB4
|
|
#define SL_OPCODE_WLAN_SET_MODE_RESPONSE 0x0CB4
|
|
#define SL_OPCODE_WLAN_CFG_SET 0x8CB5
|
|
#define SL_OPCODE_WLAN_CFG_SET_RESPONSE 0x0CB5
|
|
#define SL_OPCODE_WLAN_CFG_GET 0x8CB6
|
|
#define SL_OPCODE_WLAN_CFG_GET_RESPONSE 0x0CB6
|
|
#define SL_OPCODE_WLAN_STA_CONNECTED 0x082E
|
|
#define SL_OPCODE_WLAN_STA_DISCONNECTED 0x082F
|
|
#define SL_OPCODE_WLAN_EAP_PROFILEADDCOMMAND 0x8C67
|
|
#define SL_OPCODE_WLAN_EAP_PROFILEADDCOMMAND_RESPONSE 0x0C67
|
|
|
|
#define SL_OPCODE_SOCKET_SOCKET 0x9401
|
|
#define SL_OPCODE_SOCKET_SOCKETRESPONSE 0x1401
|
|
#define SL_OPCODE_SOCKET_CLOSE 0x9402
|
|
#define SL_OPCODE_SOCKET_CLOSERESPONSE 0x1402
|
|
#define SL_OPCODE_SOCKET_ACCEPT 0x9403
|
|
#define SL_OPCODE_SOCKET_ACCEPTRESPONSE 0x1403
|
|
#define SL_OPCODE_SOCKET_ACCEPTASYNCRESPONSE 0x1003
|
|
#define SL_OPCODE_SOCKET_ACCEPTASYNCRESPONSE_V6 0x1203
|
|
#define SL_OPCODE_SOCKET_BIND 0x9404
|
|
#define SL_OPCODE_SOCKET_BIND_V6 0x9604
|
|
#define SL_OPCODE_SOCKET_BINDRESPONSE 0x1404
|
|
#define SL_OPCODE_SOCKET_LISTEN 0x9405
|
|
#define SL_OPCODE_SOCKET_LISTENRESPONSE 0x1405
|
|
#define SL_OPCODE_SOCKET_CONNECT 0x9406
|
|
#define SL_OPCODE_SOCKET_CONNECT_V6 0x9606
|
|
#define SL_OPCODE_SOCKET_CONNECTRESPONSE 0x1406
|
|
#define SL_OPCODE_SOCKET_CONNECTASYNCRESPONSE 0x1006
|
|
#define SL_OPCODE_SOCKET_SELECT 0x9407
|
|
#define SL_OPCODE_SOCKET_SELECTRESPONSE 0x1407
|
|
#define SL_OPCODE_SOCKET_SELECTASYNCRESPONSE 0x1007
|
|
#define SL_OPCODE_SOCKET_SETSOCKOPT 0x9408
|
|
#define SL_OPCODE_SOCKET_SETSOCKOPTRESPONSE 0x1408
|
|
#define SL_OPCODE_SOCKET_GETSOCKOPT 0x9409
|
|
#define SL_OPCODE_SOCKET_GETSOCKOPTRESPONSE 0x1409
|
|
#define SL_OPCODE_SOCKET_RECV 0x940A
|
|
#define SL_OPCODE_SOCKET_RECVASYNCRESPONSE 0x100A
|
|
#define SL_OPCODE_SOCKET_RECVFROM 0x940B
|
|
#define SL_OPCODE_SOCKET_RECVFROMASYNCRESPONSE 0x100B
|
|
#define SL_OPCODE_SOCKET_RECVFROMASYNCRESPONSE_V6 0x120B
|
|
#define SL_OPCODE_SOCKET_SEND 0x940C
|
|
#define SL_OPCODE_SOCKET_SENDTO 0x940D
|
|
#define SL_OPCODE_SOCKET_SENDTO_V6 0x960D
|
|
#define SL_OPCODE_SOCKET_TXFAILEDASYNCRESPONSE 0x100E
|
|
#define SL_OPCODE_SOCKET_SOCKETASYNCEVENT 0x100F
|
|
#define SL_OPCODE_NETAPP_START_COMMAND 0x9C0A
|
|
#define SL_OPCODE_NETAPP_START_RESPONSE 0x1C0A
|
|
#define SL_OPCODE_NETAPP_NETAPPSTARTRESPONSE 0x1C0A
|
|
#define SL_OPCODE_NETAPP_STOP_COMMAND 0x9C61
|
|
#define SL_OPCODE_NETAPP_STOP_RESPONSE 0x1C61
|
|
#define SL_OPCODE_NETAPP_NETAPPSET 0x9C0B
|
|
#define SL_OPCODE_NETAPP_NETAPPSETRESPONSE 0x1C0B
|
|
#define SL_OPCODE_NETAPP_NETAPPGET 0x9C27
|
|
#define SL_OPCODE_NETAPP_NETAPPGETRESPONSE 0x1C27
|
|
#define SL_OPCODE_NETAPP_DNSGETHOSTBYNAME 0x9C20
|
|
#define SL_OPCODE_NETAPP_DNSGETHOSTBYNAMERESPONSE 0x1C20
|
|
#define SL_OPCODE_NETAPP_DNSGETHOSTBYNAMEASYNCRESPONSE 0x1820
|
|
#define SL_OPCODE_NETAPP_DNSGETHOSTBYNAMEASYNCRESPONSE_V6 0x1A20
|
|
#define SL_OPCODE_NETAPP_NETAPP_MDNS_LOOKUP_SERVICE 0x9C71
|
|
#define SL_OPCODE_NETAPP_NETAPP_MDNS_LOOKUP_SERVICE_RESPONSE 0x1C72
|
|
#define SL_OPCODE_NETAPP_MDNSREGISTERSERVICE 0x9C34
|
|
#define SL_OPCODE_NETAPP_MDNSREGISTERSERVICERESPONSE 0x1C34
|
|
#define SL_OPCODE_NETAPP_MDNSGETHOSTBYSERVICE 0x9C35
|
|
#define SL_OPCODE_NETAPP_MDNSGETHOSTBYSERVICERESPONSE 0x1C35
|
|
#define SL_OPCODE_NETAPP_MDNSGETHOSTBYSERVICEASYNCRESPONSE 0x1835
|
|
#define SL_OPCODE_NETAPP_MDNSGETHOSTBYSERVICEASYNCRESPONSE_V6 0x1A35
|
|
#define SL_OPCODE_NETAPP_DNSGETHOSTBYADDR 0x9C26
|
|
#define SL_OPCODE_NETAPP_DNSGETHOSTBYADDR_V6 0x9E26
|
|
#define SL_OPCODE_NETAPP_DNSGETHOSTBYADDRRESPONSE 0x1C26
|
|
#define SL_OPCODE_NETAPP_DNSGETHOSTBYADDRASYNCRESPONSE 0x1826
|
|
#define SL_OPCODE_NETAPP_PINGSTART 0x9C21
|
|
#define SL_OPCODE_NETAPP_PINGSTART_V6 0x9E21
|
|
#define SL_OPCODE_NETAPP_PINGSTARTRESPONSE 0x1C21
|
|
#define SL_OPCODE_NETAPP_PINGREPORTREQUEST 0x9C22
|
|
#define SL_OPCODE_NETAPP_PINGREPORTREQUESTRESPONSE 0x1822
|
|
#define SL_OPCODE_NETAPP_PINGSTOP 0x9C23
|
|
#define SL_OPCODE_NETAPP_PINGSTOPRESPONSE 0x1C23
|
|
#define SL_OPCODE_NETAPP_ARPFLUSH 0x9C24
|
|
#define SL_OPCODE_NETAPP_ARPFLUSHRESPONSE 0x1C24
|
|
#define SL_OPCODE_NETAPP_IPACQUIRED 0x1825
|
|
#define SL_OPCODE_NETAPP_IPV4_LOST 0x1832
|
|
#define SL_OPCODE_NETAPP_DHCP_IPV4_ACQUIRE_TIMEOUT 0x1833
|
|
#define SL_OPCODE_NETAPP_IPACQUIRED_V6 0x1A25
|
|
#define SL_OPCODE_NETAPP_IPERFSTARTCOMMAND 0x9C28
|
|
#define SL_OPCODE_NETAPP_IPERFSTARTRESPONSE 0x1C28
|
|
#define SL_OPCODE_NETAPP_IPERFSTOPCOMMAND 0x9C29
|
|
#define SL_OPCODE_NETAPP_IPERFSTOPRESPONSE 0x1C29
|
|
#define SL_OPCODE_NETAPP_CTESTSTARTCOMMAND 0x9C2A
|
|
#define SL_OPCODE_NETAPP_CTESTSTARTRESPONSE 0x1C2A
|
|
#define SL_OPCODE_NETAPP_CTESTASYNCRESPONSE 0x182A
|
|
#define SL_OPCODE_NETAPP_CTESTSTOPCOMMAND 0x9C2B
|
|
#define SL_OPCODE_NETAPP_CTESTSTOPRESPONSE 0x1C2B
|
|
#define SL_OPCODE_NETAPP_IP_LEASED 0x182C
|
|
#define SL_OPCODE_NETAPP_IP_RELEASED 0x182D
|
|
#define SL_OPCODE_NETAPP_HTTPGETTOKENVALUE 0x182E
|
|
#define SL_OPCODE_NETAPP_HTTPSENDTOKENVALUE 0x9C2F
|
|
#define SL_OPCODE_NETAPP_HTTPPOSTTOKENVALUE 0x1830
|
|
#define SL_OPCODE_NVMEM_FILEOPEN 0xA43C
|
|
#define SL_OPCODE_NVMEM_FILEOPENRESPONSE 0x243C
|
|
#define SL_OPCODE_NVMEM_FILECLOSE 0xA43D
|
|
#define SL_OPCODE_NVMEM_FILECLOSERESPONSE 0x243D
|
|
#define SL_OPCODE_NVMEM_FILEREADCOMMAND 0xA440
|
|
#define SL_OPCODE_NVMEM_FILEREADRESPONSE 0x2440
|
|
#define SL_OPCODE_NVMEM_FILEWRITECOMMAND 0xA441
|
|
#define SL_OPCODE_NVMEM_FILEWRITERESPONSE 0x2441
|
|
#define SL_OPCODE_NVMEM_FILEGETINFOCOMMAND 0xA442
|
|
#define SL_OPCODE_NVMEM_FILEGETINFORESPONSE 0x2442
|
|
#define SL_OPCODE_NVMEM_FILEDELCOMMAND 0xA443
|
|
#define SL_OPCODE_NVMEM_FILEDELRESPONSE 0x2443
|
|
#define SL_OPCODE_NVMEM_NVMEMFORMATCOMMAND 0xA444
|
|
#define SL_OPCODE_NVMEM_NVMEMFORMATRESPONSE 0x2444
|
|
|
|
#define SL_OPCODE_DEVICE_SETDEBUGLEVELCOMMAND 0x846A
|
|
#define SL_OPCODE_DEVICE_SETDEBUGLEVELRESPONSE 0x046A
|
|
|
|
#define SL_OPCODE_DEVICE_NETCFG_SET_COMMAND 0x8432
|
|
#define SL_OPCODE_DEVICE_NETCFG_SET_RESPONSE 0x0432
|
|
#define SL_OPCODE_DEVICE_NETCFG_GET_COMMAND 0x8433
|
|
#define SL_OPCODE_DEVICE_NETCFG_GET_RESPONSE 0x0433
|
|
/* */
|
|
#define SL_OPCODE_DEVICE_SETUARTMODECOMMAND 0x846B
|
|
#define SL_OPCODE_DEVICE_SETUARTMODERESPONSE 0x046B
|
|
#define SL_OPCODE_DEVICE_SSISIZESETCOMMAND 0x846B
|
|
#define SL_OPCODE_DEVICE_SSISIZESETRESPONSE 0x046B
|
|
|
|
/* */
|
|
#define SL_OPCODE_DEVICE_EVENTMASKSET 0x8464
|
|
#define SL_OPCODE_DEVICE_EVENTMASKSETRESPONSE 0x0464
|
|
#define SL_OPCODE_DEVICE_EVENTMASKGET 0x8465
|
|
#define SL_OPCODE_DEVICE_EVENTMASKGETRESPONSE 0x0465
|
|
|
|
#define SL_OPCODE_DEVICE_DEVICEGET 0x8466
|
|
#define SL_OPCODE_DEVICE_DEVICEGETRESPONSE 0x0466
|
|
#define SL_OPCODE_DEVICE_DEVICESET 0x84B7
|
|
#define SL_OPCODE_DEVICE_DEVICESETRESPONSE 0x04B7
|
|
|
|
#define SL_OPCODE_WLAN_SCANRESULTSGETCOMMAND 0x8C8C
|
|
#define SL_OPCODE_WLAN_SCANRESULTSGETRESPONSE 0x0C8C
|
|
#define SL_OPCODE_WLAN_SMARTCONFIGOPTSET 0x8C8D
|
|
#define SL_OPCODE_WLAN_SMARTCONFIGOPTSETRESPONSE 0x0C8D
|
|
#define SL_OPCODE_WLAN_SMARTCONFIGOPTGET 0x8C8E
|
|
#define SL_OPCODE_WLAN_SMARTCONFIGOPTGETRESPONSE 0x0C8E
|
|
|
|
|
|
/* Rx Filters opcodes */
|
|
#define SL_OPCODE_WLAN_WLANRXFILTERADDCOMMAND 0x8C6C
|
|
#define SL_OPCODE_WLAN_WLANRXFILTERADDRESPONSE 0x0C6C
|
|
#define SL_OPCODE_WLAN_WLANRXFILTERSETCOMMAND 0x8C6D
|
|
#define SL_OPCODE_WLAN_WLANRXFILTERSETRESPONSE 0x0C6D
|
|
#define SL_OPCODE_WLAN_WLANRXFILTERGETSTATISTICSINFOCOMMAND 0x8C6E
|
|
#define SL_OPCODE_WLAN_WLANRXFILTERGETSTATISTICSINFORESPONSE 0x0C6E
|
|
#define SL_OPCODE_WLAN_WLANRXFILTERGETCOMMAND 0x8C6F
|
|
#define SL_OPCODE_WLAN_WLANRXFILTERGETRESPONSE 0x0C6F
|
|
#define SL_OPCODE_WLAN_WLANRXFILTERGETINFO 0x8C70
|
|
#define SL_OPCODE_WLAN_WLANRXFILTERGETINFORESPONSE 0x0C70
|
|
|
|
|
|
/******************************************************************************************/
|
|
/* Device structs */
|
|
/******************************************************************************************/
|
|
typedef _u32 InitStatus_t;
|
|
|
|
|
|
typedef struct
|
|
{
|
|
_i32 Status;
|
|
}InitComplete_t;
|
|
|
|
typedef struct
|
|
{
|
|
_i16 status;
|
|
_u16 padding;
|
|
|
|
}_BasicResponse_t;
|
|
|
|
typedef struct
|
|
{
|
|
_u16 Timeout;
|
|
_u16 padding;
|
|
}_DevStopCommand_t;
|
|
|
|
typedef struct
|
|
{
|
|
_u32 group;
|
|
_u32 mask;
|
|
}_DevMaskEventSetCommand_t;
|
|
|
|
typedef _BasicResponse_t _DevMaskEventSetResponse_t;
|
|
|
|
|
|
typedef struct
|
|
{
|
|
_u32 group;
|
|
}_DevMaskEventGetCommand_t;
|
|
|
|
|
|
typedef struct
|
|
{
|
|
_u32 group;
|
|
_u32 mask;
|
|
}_DevMaskEventGetResponse_t;
|
|
|
|
|
|
typedef struct
|
|
{
|
|
_u32 group;
|
|
}_DevStatusGetCommand_t;
|
|
|
|
|
|
typedef struct
|
|
{
|
|
_u32 group;
|
|
_u32 status;
|
|
}_DevStatusGetResponse_t;
|
|
|
|
typedef struct
|
|
{
|
|
_u32 ChipId;
|
|
_u32 FwVersion[4];
|
|
_u8 PhyVersion[4];
|
|
}_Device_VersionReadResponsePart_t;
|
|
|
|
typedef struct
|
|
{
|
|
_Device_VersionReadResponsePart_t part;
|
|
_u32 NwpVersion[4];
|
|
_u16 RomVersion;
|
|
_u16 Padding;
|
|
}_Device_VersionReadResponseFull_t;
|
|
|
|
|
|
typedef struct
|
|
{
|
|
_u32 BaudRate;
|
|
_u8 FlowControlEnable;
|
|
}_DevUartSetModeCommand_t;
|
|
|
|
typedef _BasicResponse_t _DevUartSetModeResponse_t;
|
|
|
|
/******************************************************/
|
|
|
|
typedef struct
|
|
{
|
|
_u8 SsiSizeInBytes;
|
|
_u8 Padding[3];
|
|
}_StellarisSsiSizeSet_t;
|
|
|
|
/*****************************************************************************************/
|
|
/* WLAN structs */
|
|
/*****************************************************************************************/
|
|
#define MAXIMAL_PASSWORD_LENGTH (64)
|
|
|
|
typedef struct{
|
|
_u8 SecType;
|
|
_u8 SsidLen;
|
|
_u8 Bssid[6];
|
|
_u8 PasswordLen;
|
|
}_WlanConnectCommon_t;
|
|
|
|
#define SSID_STRING(pCmd) (_i8 *)((_WlanConnectCommon_t *)(pCmd) + 1)
|
|
#define PASSWORD_STRING(pCmd) (SSID_STRING(pCmd) + ((_WlanConnectCommon_t *)(pCmd))->SsidLen)
|
|
|
|
typedef struct{
|
|
_WlanConnectCommon_t Common;
|
|
_u8 UserLen;
|
|
_u8 AnonUserLen;
|
|
_u8 CertIndex;
|
|
_u32 EapBitmask;
|
|
}_WlanConnectEapCommand_t;
|
|
|
|
#define EAP_SSID_STRING(pCmd) (_i8 *)((_WlanConnectEapCommand_t *)(pCmd) + 1)
|
|
#define EAP_PASSWORD_STRING(pCmd) (EAP_SSID_STRING(pCmd) + ((_WlanConnectEapCommand_t *)(pCmd))->Common.SsidLen)
|
|
#define EAP_USER_STRING(pCmd) (EAP_PASSWORD_STRING(pCmd) + ((_WlanConnectEapCommand_t *)(pCmd))->Common.PasswordLen)
|
|
#define EAP_ANON_USER_STRING(pCmd) (EAP_USER_STRING(pCmd) + ((_WlanConnectEapCommand_t *)(pCmd))->UserLen)
|
|
|
|
|
|
typedef struct
|
|
{
|
|
_u8 PolicyType;
|
|
_u8 Padding;
|
|
_u8 PolicyOption;
|
|
_u8 PolicyOptionLen;
|
|
}_WlanPoliciySetGet_t;
|
|
|
|
|
|
typedef struct{
|
|
_u32 minDwellTime;
|
|
_u32 maxDwellTime;
|
|
_u32 numProbeResponse;
|
|
_u32 G_Channels_mask;
|
|
_i32 rssiThershold;
|
|
_i32 snrThershold;
|
|
_i32 defaultTXPower;
|
|
_u16 intervalList[16];
|
|
}_WlanScanParamSetCommand_t;
|
|
|
|
|
|
typedef struct{
|
|
_i8 SecType;
|
|
_u8 SsidLen;
|
|
_u8 Priority;
|
|
_u8 Bssid[6];
|
|
_u8 PasswordLen;
|
|
_u8 WepKeyId;
|
|
}_WlanAddGetProfile_t;
|
|
|
|
|
|
typedef struct{
|
|
_WlanAddGetProfile_t Common;
|
|
_u8 UserLen;
|
|
_u8 AnonUserLen;
|
|
_u8 CertIndex;
|
|
_u16 padding;
|
|
_u32 EapBitmask;
|
|
}_WlanAddGetEapProfile_t;
|
|
|
|
|
|
|
|
|
|
#define PROFILE_SSID_STRING(pCmd) ((_i8 *)((_WlanAddGetProfile_t *)(pCmd) + 1))
|
|
#define PROFILE_PASSWORD_STRING(pCmd) (PROFILE_SSID_STRING(pCmd) + ((_WlanAddGetProfile_t *)(pCmd))->SsidLen)
|
|
|
|
#define EAP_PROFILE_SSID_STRING(pCmd) (_i8 *)((_WlanAddGetEapProfile_t *)(pCmd) + 1)
|
|
#define EAP_PROFILE_PASSWORD_STRING(pCmd) (EAP_PROFILE_SSID_STRING(pCmd) + ((_WlanAddGetEapProfile_t *)(pCmd))->Common.SsidLen)
|
|
#define EAP_PROFILE_USER_STRING(pCmd) (EAP_PROFILE_PASSWORD_STRING(pCmd) + ((_WlanAddGetEapProfile_t *)(pCmd))->Common.PasswordLen)
|
|
#define EAP_PROFILE_ANON_USER_STRING(pCmd) (EAP_PROFILE_USER_STRING(pCmd) + ((_WlanAddGetEapProfile_t *)(pCmd))->UserLen)
|
|
|
|
|
|
|
|
typedef struct
|
|
{
|
|
_u8 index;
|
|
_u8 padding[3];
|
|
}_WlanProfileDelGetCommand_t;
|
|
|
|
typedef _BasicResponse_t _WlanGetNetworkListResponse_t;
|
|
|
|
typedef struct
|
|
{
|
|
_u8 index;
|
|
_u8 count;
|
|
_i8 padding[2];
|
|
}_WlanGetNetworkListCommand_t;
|
|
|
|
|
|
|
|
|
|
typedef struct
|
|
{
|
|
_u32 groupIdBitmask;
|
|
_u8 cipher;
|
|
_u8 publicKeyLen;
|
|
_u8 group1KeyLen;
|
|
_u8 group2KeyLen;
|
|
}_WlanSmartConfigStartCommand_t;
|
|
|
|
#define SMART_CONFIG_START_PUBLIC_KEY_STRING(pCmd) ((_i8 *)((_WlanSmartConfigStartCommand_t *)(pCmd) + 1))
|
|
#define SMART_CONFIG_START_GROUP1_KEY_STRING(pCmd) ((_i8 *) (SMART_CONFIG_START_PUBLIC_KEY_STRING(pCmd) + ((_WlanSmartConfigStartCommand_t *)(pCmd))->publicKeyLen))
|
|
#define SMART_CONFIG_START_GROUP2_KEY_STRING(pCmd) ((_i8 *) (SMART_CONFIG_START_GROUP1_KEY_STRING(pCmd) + ((_WlanSmartConfigStartCommand_t *)(pCmd))->group1KeyLen))
|
|
|
|
|
|
|
|
typedef struct
|
|
{
|
|
_u8 mode;
|
|
_u8 padding[3];
|
|
}_WlanSetMode_t;
|
|
|
|
|
|
|
|
|
|
typedef struct
|
|
{
|
|
_u16 Status;
|
|
_u16 ConfigId;
|
|
_u16 ConfigOpt;
|
|
_u16 ConfigLen;
|
|
}_WlanCfgSetGet_t;
|
|
|
|
|
|
/* ******************************************************************************/
|
|
/* RX filters - Start */
|
|
/* ******************************************************************************/
|
|
/* -- 80 bytes */
|
|
typedef struct _WlanRxFilterAddCommand_t
|
|
{
|
|
/* -- 1 byte */
|
|
SlrxFilterRuleType_t RuleType;
|
|
/* -- 1 byte */
|
|
SlrxFilterFlags_t FilterFlags;
|
|
/* -- 1 byte */
|
|
SlrxFilterID_t FilterId;
|
|
/* -- 1 byte */
|
|
_u8 Padding;
|
|
/* -- 56 byte */
|
|
SlrxFilterRule_t Rule;
|
|
/* -- 12 byte ( 3 padding ) */
|
|
SlrxFilterTrigger_t Trigger;
|
|
/* -- 8 byte */
|
|
SlrxFilterAction_t Action;
|
|
}_WlanRxFilterAddCommand_t;
|
|
|
|
|
|
|
|
/* -- 4 bytes */
|
|
typedef struct l_WlanRxFilterAddCommandReponse_t
|
|
{
|
|
/* -- 1 byte */
|
|
SlrxFilterID_t FilterId;
|
|
/* -- 1 Byte */
|
|
_u8 Status;
|
|
/* -- 2 byte */
|
|
_u8 Padding[2];
|
|
|
|
}_WlanRxFilterAddCommandReponse_t;
|
|
|
|
|
|
|
|
/*
|
|
* \struct _WlanRxFilterSetCommand_t
|
|
*/
|
|
typedef struct _WlanRxFilterSetCommand_t
|
|
{
|
|
_u16 InputBufferLength;
|
|
/* 1 byte */
|
|
SLrxFilterOperation_t RxFilterOperation;
|
|
_u8 Padding[1];
|
|
}_WlanRxFilterSetCommand_t;
|
|
|
|
/**
|
|
* \struct _WlanRxFilterSetCommandReponse_t
|
|
*/
|
|
typedef struct _WlanRxFilterSetCommandReponse_t
|
|
{
|
|
/* 1 byte */
|
|
_u8 Status;
|
|
/* 3 bytes */
|
|
_u8 Padding[3];
|
|
|
|
}_WlanRxFilterSetCommandReponse_t;
|
|
|
|
/**
|
|
* \struct _WlanRxFilterGetCommand_t
|
|
*/
|
|
typedef struct _WlanRxFilterGetCommand_t
|
|
{
|
|
_u16 OutputBufferLength;
|
|
/* 1 byte */
|
|
SLrxFilterOperation_t RxFilterOperation;
|
|
_u8 Padding[1];
|
|
}_WlanRxFilterGetCommand_t;
|
|
|
|
/**
|
|
* \struct _WlanRxFilterGetCommandReponse_t
|
|
*/
|
|
typedef struct _WlanRxFilterGetCommandReponse_t
|
|
{
|
|
/* 1 byte */
|
|
_u8 Status;
|
|
/* 1 bytes */
|
|
_u8 Padding;
|
|
/* 2 byte */
|
|
_u16 OutputBufferLength;
|
|
|
|
}_WlanRxFilterGetCommandReponse_t;
|
|
|
|
|
|
|
|
/* ******************************************************************************/
|
|
/* RX filters -- End */
|
|
/* ******************************************************************************/
|
|
|
|
typedef struct
|
|
{
|
|
_u16 status;
|
|
_u8 WlanRole; /* 0 = station, 2 = AP */
|
|
_u8 Ipv6Enabled;
|
|
_u8 Ipv6DhcpEnabled;
|
|
|
|
_u32 ipV6Global[4];
|
|
_u32 ipV6Local[4];
|
|
_u32 ipV6DnsServer[4];
|
|
_u8 Ipv6DhcpState;
|
|
|
|
}_NetappIpV6configRetArgs_t;
|
|
|
|
|
|
typedef struct
|
|
{
|
|
_u8 ipV4[4];
|
|
_u8 ipV4Mask[4];
|
|
_u8 ipV4Gateway[4];
|
|
_u8 ipV4DnsServer[4];
|
|
_u8 ipV4Start[4];
|
|
_u8 ipV4End[4];
|
|
}_NetCfgIpV4AP_Args_t;
|
|
|
|
|
|
|
|
typedef struct
|
|
{
|
|
_u16 status;
|
|
_u8 MacAddr[6];
|
|
} _MAC_Address_SetGet_t;
|
|
|
|
|
|
typedef struct
|
|
{
|
|
_u16 Status;
|
|
_u16 ConfigId;
|
|
_u16 ConfigOpt;
|
|
_u16 ConfigLen;
|
|
}_NetCfgSetGet_t;
|
|
|
|
typedef struct
|
|
{
|
|
_u16 Status;
|
|
_u16 DeviceSetId;
|
|
_u16 Option;
|
|
_u16 ConfigLen;
|
|
}_DeviceSetGet_t;
|
|
|
|
|
|
|
|
|
|
/******************************************************************************************/
|
|
/* Socket structs */
|
|
/******************************************************************************************/
|
|
|
|
typedef struct
|
|
{
|
|
_u8 Domain;
|
|
_u8 Type;
|
|
_u8 Protocol;
|
|
_u8 Padding;
|
|
}_SocketCommand_t;
|
|
|
|
|
|
typedef struct
|
|
{
|
|
_i16 statusOrLen;
|
|
_u8 sd;
|
|
_u8 padding;
|
|
}_SocketResponse_t;
|
|
|
|
typedef struct
|
|
{
|
|
_u8 sd;
|
|
_u8 family;
|
|
_u8 padding1;
|
|
_u8 padding2;
|
|
}_AcceptCommand_t;
|
|
|
|
|
|
typedef struct
|
|
{
|
|
_i16 statusOrLen;
|
|
_u8 sd;
|
|
_u8 family;
|
|
_u16 port;
|
|
_u16 paddingOrAddr;
|
|
_u32 address;
|
|
}_SocketAddrAsyncIPv4Response_t;
|
|
|
|
typedef struct
|
|
{
|
|
_i16 statusOrLen;
|
|
_u8 sd;
|
|
_u8 family;
|
|
_u16 port;
|
|
_u8 address[6];
|
|
}_SocketAddrAsyncIPv6EUI48Response_t;
|
|
typedef struct
|
|
{
|
|
_i16 statusOrLen;
|
|
_u8 sd;
|
|
_u8 family;
|
|
_u16 port;
|
|
_u16 paddingOrAddr;
|
|
_u32 address[4];
|
|
}_SocketAddrAsyncIPv6Response_t;
|
|
|
|
|
|
typedef struct
|
|
{
|
|
_i16 lenOrPadding;
|
|
_u8 sd;
|
|
_u8 FamilyAndFlags;
|
|
_u16 port;
|
|
_u16 paddingOrAddr;
|
|
_u32 address;
|
|
}_SocketAddrIPv4Command_t;
|
|
|
|
typedef struct
|
|
{
|
|
_i16 lenOrPadding;
|
|
_u8 sd;
|
|
_u8 FamilyAndFlags;
|
|
_u16 port;
|
|
_u8 address[6];
|
|
}_SocketAddrIPv6EUI48Command_t;
|
|
typedef struct
|
|
{
|
|
_i16 lenOrPadding;
|
|
_u8 sd;
|
|
_u8 FamilyAndFlags;
|
|
_u16 port;
|
|
_u16 paddingOrAddr;
|
|
_u32 address[4];
|
|
}_SocketAddrIPv6Command_t;
|
|
|
|
typedef union {
|
|
_SocketAddrIPv4Command_t IpV4;
|
|
_SocketAddrIPv6EUI48Command_t IpV6EUI48;
|
|
#ifdef SL_SUPPORT_IPV6
|
|
_SocketAddrIPv6Command_t IpV6;
|
|
#endif
|
|
} _SocketAddrCommand_u;
|
|
|
|
typedef union {
|
|
_SocketAddrAsyncIPv4Response_t IpV4;
|
|
_SocketAddrAsyncIPv6EUI48Response_t IpV6EUI48;
|
|
#ifdef SL_SUPPORT_IPV6
|
|
_SocketAddrAsyncIPv6Response_t IpV6;
|
|
#endif
|
|
} _SocketAddrResponse_u;
|
|
|
|
typedef struct
|
|
{
|
|
_u8 sd;
|
|
_u8 backlog;
|
|
_u8 padding1;
|
|
_u8 padding2;
|
|
}_ListenCommand_t;
|
|
|
|
typedef struct
|
|
{
|
|
_u8 sd;
|
|
_u8 padding0;
|
|
_u8 padding1;
|
|
_u8 padding2;
|
|
}_CloseCommand_t;
|
|
|
|
|
|
typedef struct
|
|
{
|
|
_u8 nfds;
|
|
_u8 readFdsCount;
|
|
_u8 writeFdsCount;
|
|
_u8 padding;
|
|
_u16 readFds;
|
|
_u16 writeFds;
|
|
_u16 tv_usec;
|
|
_u16 tv_sec;
|
|
}_SelectCommand_t;
|
|
|
|
|
|
typedef struct
|
|
{
|
|
_u16 status;
|
|
_u8 readFdsCount;
|
|
_u8 writeFdsCount;
|
|
_u16 readFds;
|
|
_u16 writeFds;
|
|
}_SelectAsyncResponse_t;
|
|
|
|
typedef struct
|
|
{
|
|
_u8 sd;
|
|
_u8 level;
|
|
_u8 optionName;
|
|
_u8 optionLen;
|
|
}_setSockOptCommand_t;
|
|
|
|
typedef struct
|
|
{
|
|
_u8 sd;
|
|
_u8 level;
|
|
_u8 optionName;
|
|
_u8 optionLen;
|
|
}_getSockOptCommand_t;
|
|
|
|
typedef struct
|
|
{
|
|
_i16 status;
|
|
_u8 sd;
|
|
_u8 optionLen;
|
|
}_getSockOptResponse_t;
|
|
|
|
|
|
typedef struct
|
|
{
|
|
_u16 StatusOrLen;
|
|
_u8 sd;
|
|
_u8 FamilyAndFlags;
|
|
}_sendRecvCommand_t;
|
|
|
|
/*****************************************************************************************
|
|
* NETAPP structs
|
|
******************************************************************************************/
|
|
|
|
|
|
typedef _BasicResponse_t _NetAppStartStopResponse_t;
|
|
|
|
typedef struct
|
|
{
|
|
_u32 appId;
|
|
}_NetAppStartStopCommand_t;
|
|
|
|
typedef struct
|
|
{
|
|
_u16 Status;
|
|
_u16 AppId;
|
|
_u16 ConfigOpt;
|
|
_u16 ConfigLen;
|
|
}_NetAppSetGet_t;
|
|
typedef struct
|
|
{
|
|
_u16 port_number;
|
|
} _NetAppHttpServerGetSet_port_num_t;
|
|
|
|
typedef struct
|
|
{
|
|
_u8 auth_enable;
|
|
}_NetAppHttpServerGetSet_auth_enable_t;
|
|
|
|
typedef struct _sl_NetAppHttpServerGetToken_t
|
|
{
|
|
_u8 token_name_len;
|
|
_u8 padd1;
|
|
_u16 padd2;
|
|
}sl_NetAppHttpServerGetToken_t;
|
|
|
|
typedef struct _sl_NetAppHttpServerSendToken_t
|
|
{
|
|
_u8 token_value_len;
|
|
_u8 token_name_len;
|
|
_u8 token_name[MAX_TOKEN_NAME_LEN];
|
|
_u16 padd;
|
|
}sl_NetAppHttpServerSendToken_t;
|
|
|
|
typedef struct _sl_NetAppHttpServerPostToken_t
|
|
{
|
|
_u8 post_action_len;
|
|
_u8 token_name_len;
|
|
_u8 token_value_len;
|
|
_u8 padding;
|
|
}sl_NetAppHttpServerPostToken_t;
|
|
|
|
|
|
typedef struct
|
|
{
|
|
_u16 Len;
|
|
_u8 family;
|
|
_u8 padding;
|
|
}_GetHostByNameCommand_t;
|
|
|
|
typedef struct
|
|
{
|
|
_u16 status;
|
|
_u16 padding;
|
|
_u32 ip0;
|
|
_u32 ip1;
|
|
_u32 ip2;
|
|
_u32 ip3;
|
|
}_GetHostByNameIPv6AsyncResponse_t;
|
|
|
|
typedef struct
|
|
{
|
|
_u16 status;
|
|
_u8 padding1;
|
|
_u8 padding2;
|
|
_u32 ip0;
|
|
}_GetHostByNameIPv4AsyncResponse_t;
|
|
|
|
|
|
|
|
|
|
typedef enum
|
|
{
|
|
CTST_BSD_UDP_TX,
|
|
CTST_BSD_UDP_RX,
|
|
CTST_BSD_TCP_TX,
|
|
CTST_BSD_TCP_RX,
|
|
CTST_BSD_TCP_SERVER_BI_DIR,
|
|
CTST_BSD_TCP_CLIENT_BI_DIR,
|
|
CTST_BSD_UDP_BI_DIR,
|
|
CTST_BSD_RAW_TX,
|
|
CTST_BSD_RAW_RX,
|
|
CTST_BSD_RAW_BI_DIR,
|
|
CTST_BSD_SECURED_TCP_TX,
|
|
CTST_BSD_SECURED_TCP_RX,
|
|
CTST_BSD_SECURED_TCP_SERVER_BI_DIR,
|
|
CTST_BSD_SECURED_TCP_CLIENT_BI_DIR
|
|
}CommTest_e;
|
|
|
|
typedef struct _sl_protocol_CtestStartCommand_t
|
|
{
|
|
_u32 Test;
|
|
_u16 DestPort;
|
|
_u16 SrcPort;
|
|
_u32 DestAddr[4];
|
|
_u32 PayloadSize;
|
|
_u32 timeout;
|
|
_u32 csEnabled;
|
|
_u32 secure;
|
|
_u32 rawProtocol;
|
|
_u8 reserved1[4];
|
|
}_CtestStartCommand_t;
|
|
|
|
typedef struct
|
|
{
|
|
_u8 test;
|
|
_u8 socket;
|
|
_i16 status;
|
|
_u32 startTime;
|
|
_u32 endTime;
|
|
_u16 txKbitsSec;
|
|
_u16 rxKbitsSec;
|
|
_u32 outOfOrderPackets;
|
|
_u32 missedPackets;
|
|
_i16 token;
|
|
}_CtestAsyncResponse_t;
|
|
|
|
typedef struct
|
|
{
|
|
_u32 pingIntervalTime;
|
|
_u16 PingSize;
|
|
_u16 pingRequestTimeout;
|
|
_u32 totalNumberOfAttempts;
|
|
_u32 flags;
|
|
_u32 ip0;
|
|
_u32 ip1OrPaadding;
|
|
_u32 ip2OrPaadding;
|
|
_u32 ip3OrPaadding;
|
|
}_PingStartCommand_t;
|
|
|
|
typedef struct
|
|
{
|
|
_u16 status;
|
|
_u16 rttMin;
|
|
_u16 rttMax;
|
|
_u16 rttAvg;
|
|
_u32 numSuccsessPings;
|
|
_u32 numSendsPings;
|
|
_u32 testTime;
|
|
}_PingReportResponse_t;
|
|
|
|
|
|
typedef struct
|
|
{
|
|
_u32 ip;
|
|
_u32 gateway;
|
|
_u32 dns;
|
|
}_IpV4AcquiredAsync_t;
|
|
|
|
|
|
typedef enum
|
|
{
|
|
ACQUIRED_IPV6_LOCAL = 1,
|
|
ACQUIRED_IPV6_GLOBAL
|
|
}IpV6AcquiredType_e;
|
|
|
|
|
|
typedef struct
|
|
{
|
|
_u32 type;
|
|
_u32 ip[4];
|
|
_u32 gateway[4];
|
|
_u32 dns[4];
|
|
}_IpV6AcquiredAsync_t;
|
|
|
|
|
|
typedef union
|
|
{
|
|
_SocketCommand_t EventMask;
|
|
_sendRecvCommand_t DeviceInit;
|
|
}_device_commands_t;
|
|
|
|
/*****************************************************************************************
|
|
* FS structs
|
|
******************************************************************************************/
|
|
|
|
typedef struct
|
|
{
|
|
_u32 FileHandle;
|
|
_u32 Offset;
|
|
_u16 Len;
|
|
_u16 Padding;
|
|
}_FsReadCommand_t;
|
|
|
|
typedef struct
|
|
{
|
|
_u32 Mode;
|
|
_u32 Token;
|
|
}_FsOpenCommand_t;
|
|
|
|
typedef struct
|
|
{
|
|
_u32 FileHandle;
|
|
_u32 Token;
|
|
}_FsOpenResponse_t;
|
|
|
|
|
|
typedef struct
|
|
{
|
|
_u32 FileHandle;
|
|
_u32 CertificFileNameLength;
|
|
_u32 SignatureLen;
|
|
}_FsCloseCommand_t;
|
|
|
|
|
|
typedef _BasicResponse_t _FsReadResponse_t;
|
|
typedef _BasicResponse_t _FsDeleteResponse_t;
|
|
typedef _BasicResponse_t _FsCloseResponse_t;
|
|
|
|
typedef struct
|
|
{
|
|
_u16 Status;
|
|
_u16 flags;
|
|
_u32 FileLen;
|
|
_u32 AllocatedLen;
|
|
_u32 Token[4];
|
|
}_FsGetInfoResponse_t;
|
|
|
|
typedef struct
|
|
{
|
|
_u8 DeviceID;
|
|
_u8 Padding[3];
|
|
}_FsFormatCommand_t;
|
|
|
|
typedef _BasicResponse_t _FsFormatResponse_t;
|
|
|
|
typedef struct
|
|
{
|
|
_u32 Token;
|
|
}_FsDeleteCommand_t;
|
|
|
|
typedef _FsDeleteCommand_t _FsGetInfoCommand_t;
|
|
|
|
typedef struct
|
|
{
|
|
_u32 FileHandle;
|
|
_u32 Offset;
|
|
_u16 Len;
|
|
_u16 Padding;
|
|
}_FsWriteCommand_t;
|
|
|
|
typedef _BasicResponse_t _FsWriteResponse_t;
|
|
|
|
|
|
|
|
/* TODO: Set MAx Async Payload length depending on flavor (Tiny, Small, etc.) */
|
|
|
|
|
|
#ifdef SL_TINY_EXT
|
|
#define SL_ASYNC_MAX_PAYLOAD_LEN 120 /* size must be aligned to 4 */
|
|
#else
|
|
#define SL_ASYNC_MAX_PAYLOAD_LEN 160 /* size must be aligned to 4 */
|
|
#endif
|
|
|
|
#define SL_ASYNC_MAX_MSG_LEN (_SL_RESP_HDR_SIZE + SL_ASYNC_MAX_PAYLOAD_LEN)
|
|
|
|
#define RECV_ARGS_SIZE (sizeof(_SocketResponse_t))
|
|
#define RECVFROM_IPV4_ARGS_SIZE (sizeof(_SocketAddrAsyncIPv4Response_t))
|
|
#define RECVFROM_IPV6_ARGS_SIZE (sizeof(_SocketAddrAsyncIPv6Response_t))
|
|
|
|
#define SL_IPV4_ADDRESS_SIZE (sizeof(_u32))
|
|
#define SL_IPV6_ADDRESS_SIZE (4 * sizeof(_u32))
|
|
|
|
#endif /* _SL_PROTOCOL_TYPES_H_ */
|