SimpleLink CC3120/CC3220 Host Driver  Version 2.0.1.27
Simplifies the implementation of Internet connectivity
protocol.h
1 /*
2  * protocol.h - CC31xx/CC32xx Host Driver Implementation
3  *
4  * Copyright (C) 2017 Texas Instruments Incorporated - https://www.ti.com/
5  *
6  *
7  * Redistribution and use in source and binary forms, with or without
8  * modification, are permitted provided that the following conditions
9  * are met:
10  *
11  * Redistributions of source code must retain the above copyright
12  * notice, this list of conditions and the following disclaimer.
13  *
14  * Redistributions in binary form must reproduce the above copyright
15  * notice, this list of conditions and the following disclaimer in the
16  * documentation and/or other materials provided with the
17  * distribution.
18  *
19  * Neither the name of Texas Instruments Incorporated nor the names of
20  * its contributors may be used to endorse or promote products derived
21  * from this software without specific prior written permission.
22  *
23  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
24  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
25  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
26  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
27  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
28  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
29  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
30  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
31  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
32  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
33  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34  *
35 */
36 
37 
38 /*******************************************************************************\
39 *
40 * FILE NAME: protocol.h
41 *
42 * DESCRIPTION: Constant and data structure definitions and function
43 * prototypes for the SL protocol module, which implements
44 * processing of SimpleLink Commands.
45 *
46 * AUTHOR:
47 *
48 \*******************************************************************************/
49 
50 #ifndef _SL_PROTOCOL_TYPES_H_
51 #define _SL_PROTOCOL_TYPES_H_
52 
53 #ifdef __cplusplus
54 extern "C" {
55 #endif
56 
57 /****************************************************************************
58 **
59 ** User I/F pools definitions
60 **
61 ****************************************************************************/
62 
63 /****************************************************************************
64 **
65 ** Definitions for SimpleLink Commands
66 **
67 ****************************************************************************/
68 
69 
70 /* pattern for LE 8/16/32 or BE*/
71 #define H2N_SYNC_PATTERN {0xBBDDEEFF,0x4321,0x34,0x12}
72 #define H2N_CNYS_PATTERN {0xBBDDEEFF,0x8765,0x78,0x56}
73 
74 #define H2N_DUMMY_PATTERN (_u32)0xFFFFFFFF
75 #define N2H_SYNC_PATTERN (_u32)0xABCDDCBA
76 #define SYNC_PATTERN_LEN (_u32)sizeof(_u32)
77 #define UART_SET_MODE_MAGIC_CODE (_u32)0xAA55AA55
78 #define SPI_16BITS_BUG(pattern) (_u32)((_u32)pattern & (_u32)0xFFFF7FFF)
79 #define SPI_8BITS_BUG(pattern) (_u32)((_u32)pattern & (_u32)0xFFFFFF7F)
80 
81 
82 typedef struct
83 {
84  _u16 Opcode;
85  _u16 Len;
87 
88 
89 typedef struct
90 {
91  _u32 Long;
92  _u16 Short;
93  _u8 Byte1;
94  _u8 Byte2;
96 
98 
99 typedef struct
100 {
101  _SlGenericHeader_t GenHeader;
102  _u8 TxPoolCnt;
103  _u8 DevStatus;
104  _u16 MinMaxPayload;
105  _u16 SocketTXFailure;
106  _u16 SocketNonBlocking;
108 
109 #define _SL_RESP_SPEC_HDR_SIZE (sizeof(_SlResponseHeader_t) - sizeof(_SlGenericHeader_t))
110 #define _SL_RESP_HDR_SIZE sizeof(_SlResponseHeader_t)
111 #define _SL_CMD_HDR_SIZE sizeof(_SlCommandHeader_t)
112 
113 #define _SL_RESP_ARGS_START(_pMsg) (((_SlResponseHeader_t *)(_pMsg)) + 1)
114 
115 /* Used only in NWP! */
116 typedef struct
117 {
118  _SlCommandHeader_t sl_hdr;
119  _u8 func_args_start;
120 } T_SCMD;
121 
122 /* _SlResponseHeader_t DevStatus bits */
123 #define _SL_DEV_STATUS_BIT_WLAN_CONN 0x01
124 #define _SL_DEV_STATUS_BIT_DROPPED_EVENTS 0x02
125 #define _SL_DEV_STATUS_BIT_LOCKED 0x04
126 #define _SL_DEV_STATUS_BIT_PROVISIONING_ACTIVE 0x08
127 #define _SL_DEV_STATUS_BIT_PROVISIONING_USER_INITIATED 0x10
128 #define _SL_DEV_STATUS_BIT_PRESERVATION 0x20
129 #define _SL_DEV_STATUS_BIT_PROVISIONING_ENABLE_API 0x40
130 
131 
132 /* Internal driver bits status (g_SlDeviceStatus) */
133 #define _SL_DRV_STATUS_BIT_RESTART_REQUIRED 0x100
134 #define _SL_DRV_STATUS_BIT_DEVICE_STARTED 0x200
135 #define _SL_DRV_STATUS_BIT_STOP_IN_PROGRESS 0x400
136 #define _SL_DRV_STATUS_BIT_START_IN_PROGRESS 0x800
137 
138 /****************************************************************************
139 ** OPCODES
140 ****************************************************************************/
141 #define SL_IPV4_IPV6_OFFSET ( 9 )
142 #define SL_OPCODE_IPV4 ( 0x0 << SL_IPV4_IPV6_OFFSET )
143 #define SL_OPCODE_IPV6 ( 0x1 << SL_IPV4_IPV6_OFFSET )
144 
145 #define SL_SYNC_ASYNC_OFFSET ( 10 )
146 #define SL_OPCODE_SYNC (0x1 << SL_SYNC_ASYNC_OFFSET )
147 #define SL_OPCODE_SILO_OFFSET ( 11 )
148 #define SL_OPCODE_SILO_MASK ( 0xF << SL_OPCODE_SILO_OFFSET )
149 #define SL_OPCODE_SILO_DEVICE ( 0x0 << SL_OPCODE_SILO_OFFSET )
150 #define SL_OPCODE_SILO_WLAN ( 0x1 << SL_OPCODE_SILO_OFFSET )
151 #define SL_OPCODE_SILO_SOCKET ( 0x2 << SL_OPCODE_SILO_OFFSET )
152 #define SL_OPCODE_SILO_NETAPP ( 0x3 << SL_OPCODE_SILO_OFFSET )
153 #define SL_OPCODE_SILO_FS ( 0x4 << SL_OPCODE_SILO_OFFSET )
154 #define SL_OPCODE_SILO_NETCFG ( 0x5 << SL_OPCODE_SILO_OFFSET )
155 #define SL_OPCODE_SILO_NETUTIL ( 0x6 << SL_OPCODE_SILO_OFFSET )
156 
157 #define SL_FAMILY_SHIFT (0x4)
158 #define SL_FLAGS_MASK (0xF)
159 
160 #define SL_OPCODE_DEVICE_INITCOMPLETE 0x0008
161 #define SL_OPCODE_DEVICE_ABORT 0x000C
162 #define SL_OPCODE_DEVICE_STOP_COMMAND 0x8473
163 #define SL_OPCODE_DEVICE_STOP_RESPONSE 0x0473
164 #define SL_OPCODE_DEVICE_STOP_ASYNC_RESPONSE 0x0073
165 #define SL_OPCODE_DEVICE_DEVICEASYNCDUMMY 0x0063
166 
167 #define SL_OPCODE_DEVICE_VERSIONREADCOMMAND 0x8470
168 #define SL_OPCODE_DEVICE_VERSIONREADRESPONSE 0x0470
169 #define SL_OPCODE_DEVICE_DEVICE_ASYNC_GENERAL_ERROR 0x0078
170 #define SL_OPCODE_DEVICE_FLOW_CTRL_ASYNC_EVENT 0x0079
171 
172 #define SL_OPCODE_WLAN_WLANCONNECTCOMMAND 0x8C80
173 #define SL_OPCODE_WLAN_WLANCONNECTRESPONSE 0x0C80
174 #define SL_OPCODE_WLAN_STA_ASYNCCONNECTEDRESPONSE 0x0880
175 #define SL_OPCODE_WLAN_P2PCL_ASYNCCONNECTEDRESPONSE 0x0892
176 
177 #define SL_OPCODE_WLAN_WLANDISCONNECTCOMMAND 0x8C81
178 #define SL_OPCODE_WLAN_WLANDISCONNECTRESPONSE 0x0C81
179 #define SL_OPCODE_WLAN_STA_ASYNCDISCONNECTEDRESPONSE 0x0881
180 #define SL_OPCODE_WLAN_P2PCL_ASYNCDISCONNECTEDRESPONSE 0x0894
181 
182 #define SL_OPCODE_WLAN_ASYNC_STA_ADDED 0x082E
183 #define SL_OPCODE_WLAN_ASYNC_P2PCL_ADDED 0x0896
184 #define SL_OPCODE_WLAN_ASYNC_STA_REMOVED 0x082F
185 #define SL_OPCODE_WLAN_ASYNC_P2PCL_REMOVED 0x0898
186 
187 #define SL_OPCODE_WLAN_P2P_DEV_FOUND 0x0830
188 #define SL_OPCODE_WLAN_P2P_CONNECTION_FAILED 0x0831
189 #define SL_OPCODE_WLAN_P2P_NEG_REQ_RECEIVED 0x0832
190 
191 #define SL_OPCODE_WLAN_WLANCONNECTEAPCOMMAND 0x8C82
192 #define SL_OPCODE_WLAN_WLANCONNECTEAPCRESPONSE 0x0C82
193 #define SL_OPCODE_WLAN_PROFILEADDCOMMAND 0x8C83
194 #define SL_OPCODE_WLAN_PROFILEADDRESPONSE 0x0C83
195 #define SL_OPCODE_WLAN_PROFILEGETCOMMAND 0x8C84
196 #define SL_OPCODE_WLAN_PROFILEGETRESPONSE 0x0C84
197 #define SL_OPCODE_WLAN_PROFILEDELCOMMAND 0x8C85
198 #define SL_OPCODE_WLAN_PROFILEDELRESPONSE 0x0C85
199 #define SL_OPCODE_WLAN_POLICYSETCOMMAND 0x8C86
200 #define SL_OPCODE_WLAN_POLICYSETRESPONSE 0x0C86
201 #define SL_OPCODE_WLAN_POLICYGETCOMMAND 0x8C87
202 #define SL_OPCODE_WLAN_POLICYGETRESPONSE 0x0C87
203 #define SL_OPCODE_WLAN_FILTERADD 0x8C88
204 #define SL_OPCODE_WLAN_FILTERADDRESPONSE 0x0C88
205 #define SL_OPCODE_WLAN_FILTERGET 0x8C89
206 #define SL_OPCODE_WLAN_FILTERGETRESPONSE 0x0C89
207 #define SL_OPCODE_WLAN_FILTERDELETE 0x8C8A
208 #define SL_OPCODE_WLAN_FILTERDELETERESPOSNE 0x0C8A
209 #define SL_OPCODE_WLAN_WLANGETSTATUSCOMMAND 0x8C8F
210 #define SL_OPCODE_WLAN_WLANGETSTATUSRESPONSE 0x0C8F
211 #define SL_OPCODE_WLAN_STARTTXCONTINUESCOMMAND 0x8CAA
212 #define SL_OPCODE_WLAN_STARTTXCONTINUESRESPONSE 0x0CAA
213 #define SL_OPCODE_WLAN_STOPTXCONTINUESCOMMAND 0x8CAB
214 #define SL_OPCODE_WLAN_STOPTXCONTINUESRESPONSE 0x0CAB
215 #define SL_OPCODE_WLAN_STARTRXSTATCOMMAND 0x8CAC
216 #define SL_OPCODE_WLAN_STARTRXSTATRESPONSE 0x0CAC
217 #define SL_OPCODE_WLAN_STOPRXSTATCOMMAND 0x8CAD
218 #define SL_OPCODE_WLAN_STOPRXSTATRESPONSE 0x0CAD
219 #define SL_OPCODE_WLAN_GETRXSTATCOMMAND 0x8CAF
220 #define SL_OPCODE_WLAN_GETRXSTATRESPONSE 0x0CAF
221 #define SL_OPCODE_WLAN_POLICYSETCOMMANDNEW 0x8CB0
222 #define SL_OPCODE_WLAN_POLICYSETRESPONSENEW 0x0CB0
223 #define SL_OPCODE_WLAN_POLICYGETCOMMANDNEW 0x8CB1
224 #define SL_OPCODE_WLAN_POLICYGETRESPONSENEW 0x0CB1
225 
226 #define SL_OPCODE_WLAN_PROVISIONING_PROFILE_ADDED_ASYNC_RESPONSE 0x08B2
227 #define SL_OPCODE_WLAN_SET_MODE 0x8CB4
228 #define SL_OPCODE_WLAN_SET_MODE_RESPONSE 0x0CB4
229 #define SL_OPCODE_WLAN_CFG_SET 0x8CB5
230 #define SL_OPCODE_WLAN_CFG_SET_RESPONSE 0x0CB5
231 #define SL_OPCODE_WLAN_CFG_GET 0x8CB6
232 #define SL_OPCODE_WLAN_CFG_GET_RESPONSE 0x0CB6
233 #define SL_OPCODE_WLAN_EAP_PROFILEADDCOMMAND 0x8C67
234 #define SL_OPCODE_WLAN_EAP_PROFILEADDCOMMAND_RESPONSE 0x0C67
235 
236 #define SL_OPCODE_SOCKET_SOCKET 0x9401
237 #define SL_OPCODE_SOCKET_SOCKETRESPONSE 0x1401
238 #define SL_OPCODE_SOCKET_CLOSE 0x9402
239 #define SL_OPCODE_SOCKET_CLOSERESPONSE 0x1402
240 #define SL_OPCODE_SOCKET_ACCEPT 0x9403
241 #define SL_OPCODE_SOCKET_ACCEPTRESPONSE 0x1403
242 #define SL_OPCODE_SOCKET_ACCEPTASYNCRESPONSE 0x1003
243 #define SL_OPCODE_SOCKET_ACCEPTASYNCRESPONSE_V6 0x1203
244 #define SL_OPCODE_SOCKET_BIND 0x9404
245 #define SL_OPCODE_SOCKET_BIND_V6 0x9604
246 #define SL_OPCODE_SOCKET_BINDRESPONSE 0x1404
247 #define SL_OPCODE_SOCKET_LISTEN 0x9405
248 #define SL_OPCODE_SOCKET_LISTENRESPONSE 0x1405
249 #define SL_OPCODE_SOCKET_CONNECT 0x9406
250 #define SL_OPCODE_SOCKET_CONNECT_V6 0x9606
251 #define SL_OPCODE_SOCKET_CONNECTRESPONSE 0x1406
252 #define SL_OPCODE_SOCKET_CONNECTASYNCRESPONSE 0x1006
253 #define SL_OPCODE_SOCKET_SELECT 0x9407
254 #define SL_OPCODE_SOCKET_SELECTRESPONSE 0x1407
255 #define SL_OPCODE_SOCKET_SELECTASYNCRESPONSE 0x1007
256 #define SL_OPCODE_SOCKET_SETSOCKOPT 0x9408
257 #define SL_OPCODE_SOCKET_SETSOCKOPTRESPONSE 0x1408
258 #define SL_OPCODE_SOCKET_GETSOCKOPT 0x9409
259 #define SL_OPCODE_SOCKET_GETSOCKOPTRESPONSE 0x1409
260 #define SL_OPCODE_SOCKET_RECV 0x940A
261 #define SL_OPCODE_SOCKET_RECVASYNCRESPONSE 0x100A
262 #define SL_OPCODE_SOCKET_RECVFROM 0x940B
263 #define SL_OPCODE_SOCKET_RECVFROMASYNCRESPONSE 0x100B
264 #define SL_OPCODE_SOCKET_RECVFROMASYNCRESPONSE_V6 0x120B
265 #define SL_OPCODE_SOCKET_SEND 0x940C
266 #define SL_OPCODE_SOCKET_SENDTO 0x940D
267 #define SL_OPCODE_SOCKET_SENDTO_V6 0x960D
268 #define SL_OPCODE_SOCKET_TXFAILEDASYNCRESPONSE 0x100E
269 #define SL_OPCODE_SOCKET_SOCKETASYNCEVENT 0x100F
270 #define SL_OPCODE_SOCKET_SOCKETCLOSEASYNCEVENT 0x1010
271 #define SL_OPCODE_NETAPP_START_COMMAND 0x9C0A
272 #define SL_OPCODE_NETAPP_START_RESPONSE 0x1C0A
273 #define SL_OPCODE_NETAPP_NETAPPSTARTRESPONSE 0x1C0A
274 #define SL_OPCODE_NETAPP_STOP_COMMAND 0x9C61
275 #define SL_OPCODE_NETAPP_STOP_RESPONSE 0x1C61
276 #define SL_OPCODE_NETAPP_NETAPPSET 0x9C0B
277 #define SL_OPCODE_NETAPP_NETAPPSETRESPONSE 0x1C0B
278 #define SL_OPCODE_NETAPP_NETAPPGET 0x9C27
279 #define SL_OPCODE_NETAPP_NETAPPGETRESPONSE 0x1C27
280 #define SL_OPCODE_NETAPP_DNSGETHOSTBYNAME 0x9C20
281 #define SL_OPCODE_NETAPP_DNSGETHOSTBYNAMERESPONSE 0x1C20
282 #define SL_OPCODE_NETAPP_DNSGETHOSTBYNAMEASYNCRESPONSE 0x1820
283 #define SL_OPCODE_NETAPP_DNSGETHOSTBYNAMEASYNCRESPONSE_V6 0x1A20
284 #define SL_OPCODE_NETAPP_NETAPP_MDNS_LOOKUP_SERVICE 0x9C71
285 #define SL_OPCODE_NETAPP_NETAPP_MDNS_LOOKUP_SERVICE_RESPONSE 0x1C72
286 #define SL_OPCODE_NETAPP_MDNSREGISTERSERVICE 0x9C34
287 #define SL_OPCODE_NETAPP_MDNSREGISTERSERVICERESPONSE 0x1C34
288 #define SL_OPCODE_NETAPP_MDNSGETHOSTBYSERVICE 0x9C35
289 #define SL_OPCODE_NETAPP_MDNSGETHOSTBYSERVICERESPONSE 0x1C35
290 #define SL_OPCODE_NETAPP_MDNSGETHOSTBYSERVICEASYNCRESPONSE 0x1835
291 #define SL_OPCODE_NETAPP_MDNSGETHOSTBYSERVICEASYNCRESPONSE_V6 0x1A35
292 #define SL_OPCODE_NETAPP_DNSGETHOSTBYADDR 0x9C26
293 #define SL_OPCODE_NETAPP_DNSGETHOSTBYADDR_V6 0x9E26
294 #define SL_OPCODE_NETAPP_DNSGETHOSTBYADDRRESPONSE 0x1C26
295 #define SL_OPCODE_NETAPP_DNSGETHOSTBYADDRASYNCRESPONSE 0x1826
296 #define SL_OPCODE_NETAPP_PINGSTART 0x9C21
297 #define SL_OPCODE_NETAPP_PINGSTART_V6 0x9E21
298 #define SL_OPCODE_NETAPP_PINGSTARTRESPONSE 0x1C21
299 #define SL_OPCODE_NETAPP_PINGREPORTREQUEST 0x9C22
300 #define SL_OPCODE_NETAPP_PINGREPORTREQUESTRESPONSE 0x1822
301 #define SL_OPCODE_NETAPP_ARPFLUSH 0x9C24
302 #define SL_OPCODE_NETAPP_ARPFLUSHRESPONSE 0x1C24
303 #define SL_OPCODE_NETAPP_IPACQUIRED 0x1825
304 #define SL_OPCODE_NETAPP_IPV4_LOST 0x1832
305 #define SL_OPCODE_NETAPP_DHCP_IPV4_ACQUIRE_TIMEOUT 0x1833
306 #define SL_OPCODE_NETAPP_IPACQUIRED_V6 0x1A25
307 #define SL_OPCODE_NETAPP_IPV6_LOST_V6 0x1A32
308 #define SL_OPCODE_NETAPP_IPERFSTARTCOMMAND 0x9C28
309 #define SL_OPCODE_NETAPP_IPERFSTARTRESPONSE 0x1C28
310 #define SL_OPCODE_NETAPP_IPERFSTOPCOMMAND 0x9C29
311 #define SL_OPCODE_NETAPP_IPERFSTOPRESPONSE 0x1C29
312 #define SL_OPCODE_NETAPP_CTESTSTARTCOMMAND 0x9C2A
313 #define SL_OPCODE_NETAPP_CTESTSTARTRESPONSE 0x1C2A
314 #define SL_OPCODE_NETAPP_CTESTASYNCRESPONSE 0x182A
315 #define SL_OPCODE_NETAPP_CTESTSTOPCOMMAND 0x9C2B
316 #define SL_OPCODE_NETAPP_CTESTSTOPRESPONSE 0x1C2B
317 #define SL_OPCODE_NETAPP_IP_LEASED 0x182C
318 #define SL_OPCODE_NETAPP_IP_RELEASED 0x182D
319 #define SL_OPCODE_NETAPP_HTTPGETTOKENVALUE 0x182E
320 #define SL_OPCODE_NETAPP_HTTPSENDTOKENVALUE 0x9C2F
321 #define SL_OPCODE_NETAPP_HTTPPOSTTOKENVALUE 0x1830
322 #define SL_OPCODE_NETAPP_IP_COLLISION 0x1831
323 
324 #define SL_OPCODE_NETAPP_REQUEST 0x1878
325 #define SL_OPCODE_NETAPP_RESPONSE 0x9C78
326 #define SL_OPCODE_NETAPP_SEND 0x9C79
327 #define SL_OPCODE_NETAPP_SENDRESPONSE 0x1C79
328 #define SL_OPCODE_NETAPP_RECEIVEREQUEST 0x9C7A
329 #define SL_OPCODE_NETAPP_RECEIVE 0x187B
330 
331 #define SL_OPCODE_NVMEM_FILEOPEN 0xA43C
332 #define SL_OPCODE_NVMEM_FILEOPENRESPONSE 0x243C
333 #define SL_OPCODE_NVMEM_FILECLOSE 0xA43D
334 #define SL_OPCODE_NVMEM_FILECLOSERESPONSE 0x243D
335 #define SL_OPCODE_NVMEM_FILEREADCOMMAND 0xA440
336 #define SL_OPCODE_NVMEM_FILEREADRESPONSE 0x2440
337 #define SL_OPCODE_NVMEM_FILEWRITECOMMAND 0xA441
338 #define SL_OPCODE_NVMEM_FILEWRITERESPONSE 0x2441
339 #define SL_OPCODE_NVMEM_FILEGETINFOCOMMAND 0xA442
340 #define SL_OPCODE_NVMEM_FILEGETINFORESPONSE 0x2442
341 #define SL_OPCODE_NVMEM_FILEDELCOMMAND 0xA443
342 #define SL_OPCODE_NVMEM_FILEDELRESPONSE 0x2443
343 #define SL_OPCODE_NVMEM_NVMEMFORMATCOMMAND 0xA444
344 #define SL_OPCODE_NVMEM_NVMEMFORMATRESPONSE 0x2444
345 #define SL_OPCODE_NVMEM_NVMEMGETFILELISTCOMMAND 0xA448
346 #define SL_OPCODE_NVMEM_NVMEMGETFILELISTRESPONSE 0x2448
347 
348 #define SL_OPCODE_NVMEM_NVMEMFSPROGRAMMINGCOMMAND 0xA44A
349 #define SL_OPCODE_NVMEM_NVMEMFSPROGRAMMINGRESPONSE 0x244A
350 #define SL_OPCODE_NVMEM_NVMEMFILESYSTEMCONTROLCOMMAND 0xA44B
351 #define SL_OPCODE_NVMEM_NVMEMFILESYSTEMCONTROLRESPONSE 0x244B
352 #define SL_OPCODE_NVMEM_NVMEMBUNDLECONTROLCOMMAND 0xA44C
353 #define SL_OPCODE_NVMEM_NVMEMBUNDLECONTROLRESPONSE 0x244C
354 
355 
356 #define SL_OPCODE_DEVICE_SETDEBUGLEVELCOMMAND 0x846A
357 #define SL_OPCODE_DEVICE_SETDEBUGLEVELRESPONSE 0x046A
358 
359 #define SL_OPCODE_DEVICE_NETCFG_SET_COMMAND 0x8432
360 #define SL_OPCODE_DEVICE_NETCFG_SET_RESPONSE 0x0432
361 #define SL_OPCODE_DEVICE_NETCFG_GET_COMMAND 0x8433
362 #define SL_OPCODE_DEVICE_NETCFG_GET_RESPONSE 0x0433
363 /* */
364 #define SL_OPCODE_DEVICE_SETUARTMODECOMMAND 0x846B
365 #define SL_OPCODE_DEVICE_SETUARTMODERESPONSE 0x046B
366 #define SL_OPCODE_DEVICE_SSISIZESETCOMMAND 0x846B
367 #define SL_OPCODE_DEVICE_SSISIZESETRESPONSE 0x046B
368 
369 /* */
370 #define SL_OPCODE_DEVICE_EVENTMASKSET 0x8464
371 #define SL_OPCODE_DEVICE_EVENTMASKSETRESPONSE 0x0464
372 #define SL_OPCODE_DEVICE_EVENTMASKGET 0x8465
373 #define SL_OPCODE_DEVICE_EVENTMASKGETRESPONSE 0x0465
374 
375 #define SL_OPCODE_DEVICE_DEVICEGET 0x8466
376 #define SL_OPCODE_DEVICE_DEVICEGETRESPONSE 0x0466
377 #define SL_OPCODE_DEVICE_DEVICESET 0x84B7
378 #define SL_OPCODE_DEVICE_DEVICESETRESPONSE 0x04B7
379 
380 #define SL_OPCODE_WLAN_SCANRESULTSGETCOMMAND 0x8C8C
381 #define SL_OPCODE_WLAN_SCANRESULTSGETRESPONSE 0x0C8C
382 #define SL_OPCODE_WLAN_SMARTCONFIGOPTSET 0x8C8D
383 #define SL_OPCODE_WLAN_SMARTCONFIGOPTSETRESPONSE 0x0C8D
384 #define SL_OPCODE_WLAN_SMARTCONFIGOPTGET 0x8C8E
385 #define SL_OPCODE_WLAN_SMARTCONFIGOPTGETRESPONSE 0x0C8E
386 
387 #define SL_OPCODE_WLAN_PROVISIONING_COMMAND 0x8C98
388 #define SL_OPCODE_WLAN_PROVISIONING_RESPONSE 0x0C98
389 #define SL_OPCODE_DEVICE_RESET_REQUEST_ASYNC_EVENT 0x0099
390 #define SL_OPCODE_WLAN_PROVISIONING_STATUS_ASYNC_EVENT 0x089A
391 
392 #define SL_OPCODE_FREE_BSD_RECV_BUFFER 0xCCCB
393 #define SL_OPCODE_FREE_NON_BSD_READ_BUFFER 0xCCCD
394 
395 
396 /* Rx Filters opcodes */
397 #define SL_OPCODE_WLAN_WLANRXFILTERADDCOMMAND 0x8C6C
398 #define SL_OPCODE_WLAN_WLANRXFILTERADDRESPONSE 0x0C6C
399 #define SL_OPCODE_WLAN_WLANRXFILTERGETSTATISTICSINFOCOMMAND 0x8C6E
400 #define SL_OPCODE_WLAN_WLANRXFILTERGETSTATISTICSINFORESPONSE 0x0C6E
401 #define SL_OPCODE_WLAN_WLANRXFILTERGETINFO 0x8C70
402 #define SL_OPCODE_WLAN_WLANRXFILTERGETINFORESPONSE 0x0C70
403 #define SL_OPCODE_WLAN_RX_FILTER_ASYNC_RESPONSE 0x089D
404 
405 /* Utils */
406 #define SL_OPCODE_NETUTIL_SET 0xB4BE
407 #define SL_OPCODE_NETUTIL_SETRESPONSE 0x34BE
408 #define SL_OPCODE_NETUTIL_GET 0xB4C0
409 #define SL_OPCODE_NETUTIL_GETRESPONSE 0x34C0
410 #define SL_OPCODE_NETUTIL_COMMAND 0xB4C1
411 #define SL_OPCODE_NETUTIL_COMMANDRESPONSE 0x34C1
412 #define SL_OPCODE_NETUTIL_COMMANDASYNCRESPONSE 0x30C1
413 
414 /******************************************************************************************/
415 /* Device structs */
416 /******************************************************************************************/
417 typedef _u32 InitStatus_t;
418 
419 typedef struct
420 {
421  _i32 Status;
422  _i32 ChipId;
423  _i32 MoreData;
425 
426 typedef struct
427 {
428  _i16 status;
429  _u16 sender;
431 
432 typedef struct
433 {
434  _u32 SessionNumber;
435  _u16 Caller;
436  _u16 Padding;
438 
439 typedef struct
440 {
441  _u16 Timeout;
442  _u16 Padding;
444 
445 typedef struct
446 {
447  _u32 Group;
448  _u32 Mask;
450 
452 
453 typedef struct
454 {
455  _u32 Group;
457 
458 typedef struct
459 {
460  _u32 Group;
461  _u32 Mask;
463 
464 typedef struct
465 {
466  _u32 Group;
468 
469 typedef struct
470 {
471  _u32 Group;
472  _u32 Status;
474 
475 typedef struct
476 {
477  _u32 ChipId;
478  _u32 FwVersion[4];
479  _u8 PhyVersion[4];
481 
482 typedef struct
483 {
485  _u32 NwpVersion[4];
486  _u16 RomVersion;
487  _u16 Padding;
489 
490 typedef struct
491 {
492  _u16 MinTxPayloadSize;
493  _u8 padding[6];
495 
496 typedef struct
497 {
498  _u32 BaudRate;
499  _u8 FlowControlEnable;
501 
503 
504 /******************************************************/
505 
506 typedef struct
507 {
508  _u8 SsiSizeInBytes;
509  _u8 Padding[3];
511 
512 /*****************************************************************************************/
513 /* WLAN structs */
514 /*****************************************************************************************/
515 #define MAXIMAL_PASSWORD_LENGTH (64)
516 
517 typedef struct
518 {
519  _u8 ProvisioningCmd;
520  _u8 RequestedRoleAfterSuccess;
521  _u16 InactivityTimeoutSec;
522  _u32 Flags;
524 
525 typedef struct{
526  _u8 SecType;
527  _u8 SsidLen;
528  _u8 Bssid[6];
529  _u8 PasswordLen;
531 
532 #define SSID_STRING(pCmd) (_i8 *)((SlWlanConnectCommon_t *)(pCmd) + 1)
533 #define PASSWORD_STRING(pCmd) (SSID_STRING(pCmd) + ((SlWlanConnectCommon_t *)(pCmd))->SsidLen)
534 
535 typedef struct{
536  SlWlanConnectCommon_t Common;
537  _u8 UserLen;
538  _u8 AnonUserLen;
539  _u8 CertIndex;
540  _u32 EapBitmask;
542 
543 #define EAP_SSID_STRING(pCmd) (_i8 *)((SlWlanConnectEapCommand_t *)(pCmd) + 1)
544 #define EAP_PASSWORD_STRING(pCmd) (EAP_SSID_STRING(pCmd) + ((SlWlanConnectEapCommand_t *)(pCmd))->Common.SsidLen)
545 #define EAP_USER_STRING(pCmd) (EAP_PASSWORD_STRING(pCmd) + ((SlWlanConnectEapCommand_t *)(pCmd))->Common.PasswordLen)
546 #define EAP_ANON_USER_STRING(pCmd) (EAP_USER_STRING(pCmd) + ((SlWlanConnectEapCommand_t *)(pCmd))->UserLen)
547 
548 typedef struct
549 {
550  _u8 PolicyType;
551  _u8 Padding;
552  _u8 PolicyOption;
553  _u8 PolicyOptionLen;
555 
556 typedef struct{
557  _u32 MinDwellTime;
558  _u32 MaxDwellTime;
559  _u32 NumProbeResponse;
560  _u32 G_Channels_mask;
561  _i32 RssiThershold;
562  _i32 SnrThershold;
563  _i32 DefaultTXPower;
564  _u16 IntervalList[16];
566 
567 typedef struct{
568  _i16 SecType;
569  _u8 SsidLen;
570  _u8 Priority;
571  _u8 Bssid[6];
572  _u8 PasswordLen;
573  _u8 WepKeyId;
575 
576 typedef struct{
577  SlWlanAddGetProfile_t Common;
578  _u8 UserLen;
579  _u8 AnonUserLen;
580  _u8 CertIndex;
581  _u8 padding;
582  _u32 EapBitmask;
584 
585 #define PROFILE_SSID_STRING(pCmd) ((_i8 *)((SlWlanAddGetProfile_t *)(pCmd) + 1))
586 #define PROFILE_PASSWORD_STRING(pCmd) (PROFILE_SSID_STRING(pCmd) + ((SlWlanAddGetProfile_t *)(pCmd))->SsidLen)
587 
588 #define EAP_PROFILE_SSID_STRING(pCmd) (_i8 *)((SlWlanAddGetEapProfile_t *)(pCmd) + 1)
589 #define EAP_PROFILE_PASSWORD_STRING(pCmd) (EAP_PROFILE_SSID_STRING(pCmd) + ((SlWlanAddGetEapProfile_t *)(pCmd))->Common.SsidLen)
590 #define EAP_PROFILE_USER_STRING(pCmd) (EAP_PROFILE_PASSWORD_STRING(pCmd) + ((SlWlanAddGetEapProfile_t *)(pCmd))->Common.PasswordLen)
591 #define EAP_PROFILE_ANON_USER_STRING(pCmd) (EAP_PROFILE_USER_STRING(pCmd) + ((SlWlanAddGetEapProfile_t *)(pCmd))->UserLen)
592 
593 typedef struct
594 {
595  _u8 Index;
596  _u8 Padding[3];
598 
600 
601 typedef struct
602 {
603  _u8 Index;
604  _u8 Count;
605  _i8 padding[2];
607 
608 typedef struct
609 {
610  _u32 GroupIdBitmask;
611  _u8 Cipher;
612  _u8 PublicKeyLen;
613  _u8 Padding[2];
615 
616 typedef struct
617 {
618  _u8 Mode;
619  _u8 Padding[3];
621 
622 typedef struct
623 {
624  _u16 Status;
625  _u16 ConfigId;
626  _u16 ConfigOpt;
627  _u16 ConfigLen;
629 
630 
631 /* ******************************************************************************/
632 /* RX filters - Start */
633 /* ******************************************************************************/
634 
635 typedef struct
636 {
637  SlWlanRxFilterRuleType_t RuleType;
638  SlWlanRxFilterFlags_u Flags;
639  SlWlanRxFilterID_t FilterId;
640  _u8 Padding;
642  SlWlanRxFilterTrigger_t Trigger;
643  SlWlanRxFilterAction_t Action;
645 
646 typedef struct
647 {
648  SlWlanRxFilterID_t FilterId;
649  _i16 Status;
650  _u8 Padding[1];
652 
653 typedef struct
654 {
655  _i16 Status;
656  _u8 Padding[2];
658 
659 typedef struct
660 {
661  _i16 Status;
662  _u16 OutputBufferLength;
663 
665 
666 
667 /* ******************************************************************************/
668 /* RX filters -- End */
669 /* ******************************************************************************/
670 
671 typedef struct
672 {
673  _u16 Status;
674  _u8 WlanRole; /* 0 = station, 2 = AP */
675  _u8 Ipv6Enabled;
676  _u8 DhcpEnabled;
677 
678  _u32 Global[4];
679  _u32 Local[4];
680  _u32 DnsServer[4];
681  _u8 DhcpState;
683 
684 typedef struct
685 {
686  _u8 Ip[4];
687  _u8 IpMask[4];
688  _u8 IpGateway[4];
689  _u8 IpDnsServer[4];
690  _u8 IpStart[4];
691  _u8 IpEnd[4];
693 
694 typedef struct
695 {
696  _u16 Status;
697  _u8 MacAddr[6];
699 
700 typedef struct
701 {
702  _u16 Status;
703  _u16 ConfigId;
704  _u16 ConfigOpt;
705  _u16 ConfigLen;
707 
708 typedef struct
709 {
710  _u16 Status;
711  _u16 DeviceSetId;
712  _u16 Option;
713  _u16 ConfigLen;
715 
716 
717 /******************************************************************************************/
718 /* Socket structs */
719 /******************************************************************************************/
720 
721 typedef struct
722 {
723  _u8 Domain;
724  _u8 Type;
725  _u8 Protocol;
726  _u8 Padding;
728 
729 typedef struct
730 {
731  _i16 StatusOrLen;
732  _u8 Sd;
733  _u8 Padding;
735 
736 typedef struct
737 {
738  _u8 Sd;
739  _u8 Family;
740  _u8 Padding1;
741  _u8 Padding2;
743 
744 typedef struct
745 {
746  _i16 StatusOrLen;
747  _u8 Sd;
748  _u8 Family;
749  _u16 Port;
750  _u16 PaddingOrAddr;
751  _u32 Address;
753 
754 typedef struct
755 {
756  _i16 StatusOrLen;
757  _u8 Sd;
758  _u8 Family;
759  _u16 Port;
760  _u8 Address[6];
762 
763 typedef struct
764 {
765  _i16 StatusOrLen;
766  _u8 Sd;
767  _u8 Family;
768  _u16 Port;
769  _u16 PaddingOrAddr;
770  _u32 Address[4];
772 
773 typedef struct
774 {
775  _i16 LenOrPadding;
776  _u8 Sd;
777  _u8 FamilyAndFlags;
778  _u16 Port;
779  _u16 PaddingOrAddr;
780  _u32 Address;
782 
783 typedef struct
784 {
785  _i16 LenOrPadding;
786  _u8 Sd;
787  _u8 FamilyAndFlags;
788  _u16 Port;
789  _u8 Address[6];
791 
792 typedef struct
793 {
794  _i16 LenOrPadding;
795  _u8 Sd;
796  _u8 FamilyAndFlags;
797  _u16 Port;
798  _u16 PaddingOrAddr;
799  _u32 Address[4];
801 
802 typedef union {
805 #ifdef SL_SUPPORT_IPV6
807 #endif
809 
810 typedef union {
813 #ifdef SL_SUPPORT_IPV6
815 #endif
817 
818 typedef struct
819 {
820  _u8 Sd;
821  _u8 Backlog;
822  _u8 Padding1;
823  _u8 Padding2;
825 
826 typedef struct
827 {
828  _u8 Sd;
829  _u8 Padding0;
830  _u8 Padding1;
831  _u8 Padding2;
833 
834 typedef struct
835 {
836  _u8 Nfds;
837  _u8 ReadFdsCount;
838  _u8 WriteFdsCount;
839  _u8 Padding;
840  _u16 ReadFds;
841  _u16 WriteFds;
842  _u16 tv_usec;
843  _u16 tv_sec;
845 
846 typedef struct
847 {
848  _u16 Status;
849  _u8 ReadFdsCount;
850  _u8 WriteFdsCount;
851  _u16 ReadFds;
852  _u16 WriteFds;
854 
855 typedef struct
856 {
857  _u8 Sd;
858  _u8 Level;
859  _u8 OptionName;
860  _u8 OptionLen;
862 
863 typedef struct
864 {
865  _u8 Sd;
866  _u8 Level;
867  _u8 OptionName;
868  _u8 OptionLen;
870 
871 typedef struct
872 {
873  _i16 Status;
874  _u8 Sd;
875  _u8 OptionLen;
877 
878 typedef struct
879 {
880  _u16 StatusOrLen;
881  _u8 Sd;
882  _u8 FamilyAndFlags;
884 
885 /*****************************************************************************************
886 * NETAPP structs
887 ******************************************************************************************/
888 
890 
891 typedef struct
892 {
893  _u32 AppId;
895 
896 typedef struct
897 {
898  _u16 Status;
899  _u16 AppId;
900  _u16 ConfigOpt;
901  _u16 ConfigLen;
903 typedef struct
904 {
905  _u16 PortNumber;
907 
908 typedef struct
909 {
910  _u8 AuthEnable;
912 
914 {
915  _u8 TokenNameLen;
916  _u8 Padd1;
917  _u16 Padd2;
919 
921 {
922  _u8 TokenValueLen;
923  _u8 TokenNameLen;
924  _u8 TokenName[SL_NETAPP_MAX_TOKEN_NAME_LEN];
925  _u16 Padd;
927 
929 {
930  _u8 PostActionLen;
931  _u8 TokenNameLen;
932  _u8 TokenValueLen;
933  _u8 padding;
935 
936 /*****************************************************************************************
937 * NETAPP Request/Response/Send/Receive
938 ******************************************************************************************/
940 {
941  _u8 AppId;
942  _u8 RequestType;
943  _u16 Handle;
944  _u16 MetadataLen;
945  _u16 PayloadLen;
946  _u32 Flags;
948 
950 {
951  _u16 Handle;
952  _u16 status;
953  _u16 MetadataLen;
954  _u16 PayloadLen;
955  _u32 Flags;
957 
959 {
960  _u16 Handle;
961  _u16 DataLen; /* can be data payload or metadata, depends on bit 1 in flags */
962  _u32 Flags;
964 
966 {
967  _u16 Handle;
968  _u16 MaxBufferLen;
969  _u32 Flags;
971 
973 {
974  _u16 Handle;
975  _u16 PayloadLen;
976  _u32 Flags;
978 
979 typedef struct
980 {
981  _u16 Len;
982  _u8 Family;
983  _u8 Padding;
985 
986 typedef struct
987 {
988  _u16 Status;
989  _u16 Padding;
990  _u32 Ip0;
991  _u32 Ip1;
992  _u32 Ip2;
993  _u32 Ip3;
995 
996 typedef struct
997 {
998  _u16 Status;
999  _u8 Padding1;
1000  _u8 Padding2;
1001  _u32 Ip0;
1003 
1004 typedef enum
1005 {
1006  CTST_BSD_UDP_TX,
1007  CTST_BSD_UDP_RX,
1008  CTST_BSD_TCP_TX,
1009  CTST_BSD_TCP_RX,
1010  CTST_BSD_TCP_SERVER_BI_DIR,
1011  CTST_BSD_TCP_CLIENT_BI_DIR,
1012  CTST_BSD_UDP_BI_DIR,
1013  CTST_BSD_RAW_TX,
1014  CTST_BSD_RAW_RX,
1015  CTST_BSD_RAW_BI_DIR,
1016  CTST_BSD_SECURED_TCP_TX,
1017  CTST_BSD_SECURED_TCP_RX,
1018  CTST_BSD_SECURED_TCP_SERVER_BI_DIR,
1019  CTST_BSD_SECURED_TCP_CLIENT_BI_DIR,
1020  CTST_BSD_UDP_TX_IPV6,
1021  CTST_BSD_UDP_RX_IPV6,
1022  CTST_BSD_TCP_TX_IPV6,
1023  CTST_BSD_TCP_RX_IPV6,
1024  CTST_BSD_TCP_SERVER_BI_DIR_IPV6,
1025  CTST_BSD_TCP_CLIENT_BI_DIR_IPV6,
1026  CTST_BSD_UDP_BI_DIR_IPV6,
1027  CTST_BSD_RAW_TX_IPV6,
1028  CTST_BSD_RAW_RX_IPV6,
1029  CTST_BSD_RAW_BI_DIR_IPV6,
1030  CTST_BSD_SECURED_TCP_TX_IPV6,
1031  CTST_BSD_SECURED_TCP_RX_IPV6,
1032  CTST_BSD_SECURED_TCP_SERVER_BI_DIR_IPV6,
1033  CTST_BSD_SECURED_TCP_CLIENT_BI_DIR_IPV6,
1034  CTST_RAW_TX,
1035  CTST_RAW_RX
1036  }CommTest_e;
1037 
1039 {
1040  _u32 Test;
1041  _u16 DestPort;
1042  _u16 SrcPort;
1043  _u32 DestAddr[4];
1044  _u32 PayloadSize;
1045  _u32 Timeout;
1046  _u32 CsEnabled;
1047  _u32 Secure;
1048  _u32 RawProtocol;
1049  _u8 Reserved1[4];
1051 
1052 typedef struct
1053 {
1054  _u8 Test;
1055  _u8 Socket;
1056  _i16 Status;
1057  _u32 StartTime;
1058  _u32 EndTime;
1059  _u16 TxKbitsSec;
1060  _u16 RxKbitsSec;
1061  _u32 OutOfOrderPackets;
1062  _u32 MissedPackets;
1063  _i16 Token;
1065 
1066 typedef struct
1067 {
1068  _u16 Status;
1069  _u16 RttMin;
1070  _u16 RttMax;
1071  _u16 RttAvg;
1072  _u32 NumSuccsessPings;
1073  _u32 NumSendsPings;
1074  _u32 TestTime;
1076 
1077 typedef struct
1078 {
1079  _u32 Ip;
1080  _u32 Gateway;
1081  _u32 Dns;
1083 
1084 typedef enum
1085 {
1086  ACQUIRED_IPV6_LOCAL = 1,
1087  ACQUIRED_IPV6_GLOBAL
1088 }IpV6AcquiredType_e;
1089 
1090 typedef struct
1091 {
1092  _u32 Type;
1093  _u32 Ip[4];
1094  _u32 Gateway[4];
1095  _u32 Dns[4];
1097 
1098 typedef union
1099 {
1100  SlSocketCommand_t EventMask;
1101  SlSendRecvCommand_t DeviceInit;
1103 
1104 /*****************************************************************************************
1105 * FS structs
1106 ******************************************************************************************/
1107 
1108 typedef struct
1109 {
1110  _u32 FileHandle;
1111  _u32 Offset;
1112  _u16 Len;
1113  _u16 Padding;
1115 
1116 typedef struct
1117 {
1118  _u32 Mode;
1119  _u32 Token;
1121 
1122 typedef struct
1123 {
1124  _u32 FileHandle;
1125  _u32 Token;
1127 
1128 
1129 typedef struct
1130 {
1131  _u32 FileHandle;
1132  _u32 CertificFileNameLength;
1133  _u32 SignatureLen;
1135 
1139 
1140 typedef struct
1141 {
1142  _u16 Status;
1143  _u16 Flags;
1144  _u32 FileLen;
1145  _u32 AllocatedLen;
1146  _u32 Token[4];
1147  _u32 FileStorageSize; /* The total size that the file required on the storage */
1148  _u32 FileWriteCounter; /* number of times in which the file have been written successfully */
1150 
1151 typedef struct
1152 {
1153  _u8 DeviceID;
1154  _u8 Padding[3];
1156 
1158 
1159 typedef struct
1160 {
1161  _u32 Token;
1163 
1165 
1166 typedef struct
1167 {
1168  _u32 FileHandle;
1169  _u32 Offset;
1170  _u16 Len;
1171  _u16 Padding;
1173 
1175 
1176 typedef struct
1177 {
1178  _u32 Token;
1179  _u8 Operation;
1180  _u8 Padding[3];
1181  _u32 FileNameLength;
1182  _u32 BufferLength;
1184 
1185 typedef struct
1186 {
1187  _i32 Status;
1188  _u32 Token;
1189  _u32 Len;
1191 
1192 typedef struct
1193 {
1194  _u16 IncludeFileFilters;
1195  _u8 Operation;
1196  _u8 Padding;
1198 
1199 typedef struct
1200 {
1201  _i32 Status;
1202  _u8 BundleState;
1203  _u8 Padding[3];
1205 
1206 typedef struct
1207 {
1208  _u16 KeyLen;
1209  _u16 ChunkLen;
1210  _u32 Flags;
1212 
1213 typedef struct
1214 {
1215  _i32 Status;
1217 
1218 typedef struct
1219 {
1220  _i32 Index; /* start point is -1 */
1221  _u8 Count;
1222  _u8 MaxEntryLen;
1223  _u8 Flags;
1224  _u8 Padding;
1226 
1227 typedef struct
1228 {
1229  _i32 NumOfEntriesOrError;
1230  _i32 Index; /* -1 , nothing was read */
1231  _u32 OutputBufferLength;
1233 
1234 /* TODO: Set MAx Async Payload length depending on flavor (Tiny, Small, etc.) */
1235 
1236 #ifdef SL_TINY
1237 #define SL_ASYNC_MAX_PAYLOAD_LEN 120 /* size must be aligned to 4 */
1238 #else
1239  #if defined(slcb_NetAppHttpServerHdlr) || defined(EXT_LIB_REGISTERED_HTTP_SERVER_EVENTS) || defined(slcb_NetAppRequestHdlr) || defined(EXT_LIB_REGISTERED_NETAPP_REQUEST_EVENTS)
1240  #define SL_ASYNC_MAX_PAYLOAD_LEN 1600 /* size must be aligned to 4 */
1241  #else
1242  #define SL_ASYNC_MAX_PAYLOAD_LEN 220 /* size must be aligned to 4 */
1243  #endif
1244 #endif
1245 
1246 #define SL_ASYNC_MAX_MSG_LEN (_SL_RESP_HDR_SIZE + SL_ASYNC_MAX_PAYLOAD_LEN)
1247 
1248 #define RECV_ARGS_SIZE (sizeof(SlSocketResponse_t))
1249 #define RECVFROM_IPV4_ARGS_SIZE (sizeof(SlSocketAddrAsyncIPv4Response_t))
1250 #define RECVFROM_IPV6_ARGS_SIZE (sizeof(SlSocketAddrAsyncIPv6Response_t))
1251 
1252 #define SL_IPV4_ADDRESS_SIZE (sizeof(_u32))
1253 #define SL_IPV6_ADDRESS_SIZE (4 * sizeof(_u32))
1254 
1255 
1256 /*****************************************************************************************
1257 * NetUtil structures
1258 ******************************************************************************************/
1259 /* Utils Set Get Header */
1260 typedef struct
1261 {
1262  _u32 ObjId;
1263  _i16 Status;
1264  _u16 Option;
1265  _u16 ValueLen;
1266  _u8 Padding[2];
1268 
1269 
1270 /* NetUtil Command Header */
1271 typedef struct
1272 {
1273  _u16 Cmd;
1274  _u16 AttribLen;
1275  _u16 InputLen;
1276  _u16 OutputLen;
1277 } SlNetUtilCmd_t;
1278 
1279 /* NetUtil Command Response Header */
1280 typedef struct
1281 {
1282  _u32 ObjId;
1283  _i16 Status;
1284  _u16 Cmd;
1285  _u16 OutputLen;
1286  _u8 Padding[2];
1288 
1289 #ifdef __cplusplus
1290 }
1291 #endif /* __cplusplus */
1292 
1293 #endif /* _SL_PROTOCOL_TYPES_H_ */
Definition: protocol.h:928