195 #ifndef __SIMPLELINK_H__
196 #define __SIMPLELINK_H__
201 #define _u8 unsigned char
202 #define _i8 signed char
203 #define _u16 unsigned short
204 #define _i16 signed short
205 #define _u32 unsigned long
206 #define _i32 signed long
208 #define _volatile volatile
245 #define SL_DRIVER_VERSION "1.0.1.6"
246 #define SL_MAJOR_VERSION_NUM 1L
247 #define SL_MINOR_VERSION_NUM 0L
248 #define SL_VERSION_NUM 1L
249 #define SL_SUB_VERSION_NUM 6L
258 #undef SL_INC_ARG_CHECK
259 #undef SL_INC_EXT_API
260 #undef SL_INC_SOCK_SERVER_SIDE_API
261 #undef SL_INC_WLAN_PKG
262 #undef SL_INC_NET_CFG_PKG
264 #undef SL_INC_SET_UART_MODE
265 #undef SL_INC_NVMEM_PKG
266 #define SL_INC_STD_BSD_API_NAMING
267 #define SL_INC_SOCK_CLIENT_SIDE_API
268 #define SL_INC_SOCK_RECV_API
269 #define SL_INC_SOCK_SEND_API
270 #define SL_INC_SOCKET_PKG
271 #define SL_INC_NET_APP_PKG
276 #undef SL_INC_EXT_API
277 #undef SL_INC_NET_APP_PKG
278 #undef SL_INC_NET_CFG_PKG
280 #define SL_INC_ARG_CHECK
281 #define SL_INC_WLAN_PKG
282 #define SL_INC_SOCKET_PKG
283 #define SL_INC_SOCK_CLIENT_SIDE_API
284 #define SL_INC_SOCK_SERVER_SIDE_API
285 #define SL_INC_SOCK_RECV_API
286 #define SL_INC_SOCK_SEND_API
287 #define SL_INC_SET_UART_MODE
291 #define SL_INC_EXT_API
292 #define SL_INC_NET_APP_PKG
293 #define SL_INC_NET_CFG_PKG
294 #define SL_INC_FS_PKG
295 #define SL_INC_ARG_CHECK
296 #define SL_INC_WLAN_PKG
297 #define SL_INC_SOCKET_PKG
298 #define SL_INC_SOCK_CLIENT_SIDE_API
299 #define SL_INC_SOCK_SERVER_SIDE_API
300 #define SL_INC_SOCK_RECV_API
301 #define SL_INC_SOCK_SEND_API
302 #define SL_INC_SET_UART_MODE
305 #define SL_RET_CODE_OK (0)
306 #define SL_RET_CODE_INVALID_INPUT (-2)
307 #define SL_RET_CODE_SELF_ERROR (-3)
308 #define SL_RET_CODE_NWP_IF_ERROR (-4)
309 #define SL_RET_CODE_MALLOC_ERROR (-5)
310 #define SL_RET_CODE_ABORT (-6)
311 #define SL_RET_CODE_PROTOCOL_ERROR (-7)
315 #define sl_Memset(addr, val, len) memset(addr, val, (size_t)len)
316 #define sl_Memcpy(dest, src, len) memcpy(dest, src, (size_t)len)
319 #define SL_MAX_SOCKETS (_u8)(8)
321 #define SL_MAX_SOCKETS (_u8)(2)
338 #define TRUE (!FALSE)
345 typedef _u16 _SlOpcode_t;
346 typedef _u8 _SlArgSize_t;
347 typedef _i16 _SlDataSize_t;
348 typedef _i16 _SlReturnVal_t;
363 EVENT_PROPAGATION_BLOCK = 0,
364 EVENT_PROPAGATION_CONTINUE
366 } _SlEventPropogationStatus_e;
383 #include "../source/objInclusion.h"
391 #include "wlan_rx_filters.h"
396 #ifdef sl_GeneralEvtHdlr
397 #define _SlDrvHandleGeneralEvents sl_GeneralEvtHdlr
402 #ifdef sl_WlanEvtHdlr
403 #define _SlDrvHandleWlanEvents sl_WlanEvtHdlr
408 #ifdef sl_NetAppEvtHdlr
409 #define _SlDrvHandleNetAppEvents sl_NetAppEvtHdlr
414 #ifdef sl_HttpServerCallback
415 #define _SlDrvHandleHttpServerEvents sl_HttpServerCallback
420 #ifdef sl_SockEvtHdlr
421 #define _SlDrvHandleSockEvents sl_SockEvtHdlr
426 #define __CONCAT(x,y) x ## y
427 #define __CONCAT2(x,y) __CONCAT(x,y)
438 #if __CONCAT2(SL_EXT_LIB_1, _NOTIFY_GENERAL_EVENT)
439 extern _SlEventPropogationStatus_e __CONCAT2(SL_EXT_LIB_1, _GeneralEventHdl) (
SlDeviceEvent_t *);
440 #define SlExtLib1GeneralEventHandler __CONCAT2(SL_EXT_LIB_1, _GeneralEventHdl)
442 #undef EXT_LIB_REGISTERED_GENERAL_EVENTS
443 #define EXT_LIB_REGISTERED_GENERAL_EVENTS
447 #if __CONCAT2(SL_EXT_LIB_1, _NOTIFY_WLAN_EVENT)
448 extern _SlEventPropogationStatus_e __CONCAT2(SL_EXT_LIB_1, _WlanEventHdl) (
SlWlanEvent_t *);
449 #define SlExtLib1WlanEventHandler __CONCAT2(SL_EXT_LIB_1, _WlanEventHdl)
451 #undef EXT_LIB_REGISTERED_WLAN_EVENTS
452 #define EXT_LIB_REGISTERED_WLAN_EVENTS
456 #if __CONCAT2(SL_EXT_LIB_1, _NOTIFY_NETAPP_EVENT)
457 extern _SlEventPropogationStatus_e __CONCAT2(SL_EXT_LIB_1, _NetAppEventHdl) (
SlNetAppEvent_t *);
458 #define SlExtLib1NetAppEventHandler __CONCAT2(SL_EXT_LIB_1, _NetAppEventHdl)
460 #undef EXT_LIB_REGISTERED_NETAPP_EVENTS
461 #define EXT_LIB_REGISTERED_NETAPP_EVENTS
465 #if __CONCAT2(SL_EXT_LIB_1, _NOTIFY_HTTP_SERVER_EVENT)
467 #define SlExtLib1HttpServerEventHandler __CONCAT2(SL_EXT_LIB_1, _HttpServerEventHdl)
469 #undef EXT_LIB_REGISTERED_HTTP_SERVER_EVENTS
470 #define EXT_LIB_REGISTERED_HTTP_SERVER_EVENTS
474 #if __CONCAT2(SL_EXT_LIB_1, _NOTIFY_SOCK_EVENT)
475 extern _SlEventPropogationStatus_e __CONCAT2(SL_EXT_LIB_1, _SockEventHdl) (
SlSockEvent_t *);
476 #define SlExtLib1SockEventHandler __CONCAT2(SL_EXT_LIB_1, _SockEventHdl)
478 #undef EXT_LIB_REGISTERED_SOCK_EVENTS
479 #define EXT_LIB_REGISTERED_SOCK_EVENTS
488 #if __CONCAT2(SL_EXT_LIB_2, _NOTIFY_GENERAL_EVENT)
489 extern _SlEventPropogationStatus_e __CONCAT2(SL_EXT_LIB_2, _GeneralEventHdl) (
SlDeviceEvent_t *);
490 #define SlExtLib2GeneralEventHandler __CONCAT2(SL_EXT_LIB_2, _GeneralEventHdl)
492 #undef EXT_LIB_REGISTERED_GENERAL_EVENTS
493 #define EXT_LIB_REGISTERED_GENERAL_EVENTS
497 #if __CONCAT2(SL_EXT_LIB_2, _NOTIFY_WLAN_EVENT)
498 extern _SlEventPropogationStatus_e __CONCAT2(SL_EXT_LIB_2, _WlanEventHdl) (
SlWlanEvent_t *);
499 #define SlExtLib2WlanEventHandler __CONCAT2(SL_EXT_LIB_2, _WlanEventHdl)
501 #undef EXT_LIB_REGISTERED_WLAN_EVENTS
502 #define EXT_LIB_REGISTERED_WLAN_EVENTS
506 #if __CONCAT2(SL_EXT_LIB_2, _NOTIFY_NETAPP_EVENT)
507 extern _SlEventPropogationStatus_e __CONCAT2(SL_EXT_LIB_2, _NetAppEventHdl) (
SlNetAppEvent_t *);
508 #define SlExtLib2NetAppEventHandler __CONCAT2(SL_EXT_LIB_2, _NetAppEventHdl)
510 #undef EXT_LIB_REGISTERED_NETAPP_EVENTS
511 #define EXT_LIB_REGISTERED_NETAPP_EVENTS
515 #if __CONCAT2(SL_EXT_LIB_2, _NOTIFY_HTTP_SERVER_EVENT)
517 #define SlExtLib2HttpServerEventHandler __CONCAT2(SL_EXT_LIB_2, _HttpServerEventHdl)
519 #undef EXT_LIB_REGISTERED_HTTP_SERVER_EVENTS
520 #define EXT_LIB_REGISTERED_HTTP_SERVER_EVENTS
524 #if __CONCAT2(SL_EXT_LIB_2, _NOTIFY_SOCK_EVENT)
525 extern _SlEventPropogationStatus_e __CONCAT2(SL_EXT_LIB_2, _SockEventHdl) (
SlSockEvent_t *);
526 #define SlExtLib2SockEventHandler __CONCAT2(SL_EXT_LIB_2, _SockEventHdl)
528 #undef EXT_LIB_REGISTERED_SOCK_EVENTS
529 #define EXT_LIB_REGISTERED_SOCK_EVENTS
538 #if __CONCAT2(SL_EXT_LIB_3, _NOTIFY_GENERAL_EVENT)
539 extern _SlEventPropogationStatus_e __CONCAT2(SL_EXT_LIB_3, _GeneralEventHdl) (
SlDeviceEvent_t *);
540 #define SlExtLib3GeneralEventHandler __CONCAT2(SL_EXT_LIB_3, _GeneralEventHdl)
542 #undef EXT_LIB_REGISTERED_GENERAL_EVENTS
543 #define EXT_LIB_REGISTERED_GENERAL_EVENTS
547 #if __CONCAT2(SL_EXT_LIB_3, _NOTIFY_WLAN_EVENT)
548 extern _SlEventPropogationStatus_e __CONCAT2(SL_EXT_LIB_3, _WlanEventHdl) (
SlWlanEvent_t *);
549 #define SlExtLib3WlanEventHandler __CONCAT2(SL_EXT_LIB_3, _WlanEventHdl)
551 #undef EXT_LIB_REGISTERED_WLAN_EVENTS
552 #define EXT_LIB_REGISTERED_WLAN_EVENTS
556 #if __CONCAT2(SL_EXT_LIB_3, _NOTIFY_NETAPP_EVENT)
557 extern _SlEventPropogationStatus_e __CONCAT2(SL_EXT_LIB_3, _NetAppEventHdl) (
SlNetAppEvent_t *);
558 #define SlExtLib3NetAppEventHandler __CONCAT2(SL_EXT_LIB_3, _NetAppEventHdl)
560 #undef EXT_LIB_REGISTERED_NETAPP_EVENTS
561 #define EXT_LIB_REGISTERED_NETAPP_EVENTS
565 #if __CONCAT2(SL_EXT_LIB_3, _NOTIFY_HTTP_SERVER_EVENT)
567 #define SlExtLib3HttpServerEventHandler __CONCAT2(SL_EXT_LIB_3, _HttpServerEventHdl)
569 #undef EXT_LIB_REGISTERED_HTTP_SERVER_EVENTS
570 #define EXT_LIB_REGISTERED_HTTP_SERVER_EVENTS
574 #if __CONCAT2(SL_EXT_LIB_3, _NOTIFY_SOCK_EVENT)
575 extern _SlEventPropogationStatus_e __CONCAT2(SL_EXT_LIB_3, _SockEventHdl) (
SlSockEvent_t *);
576 #define SlExtLib3SockEventHandler __CONCAT2(SL_EXT_LIB_3, _SockEventHdl)
578 #undef EXT_LIB_REGISTERED_SOCK_EVENTS
579 #define EXT_LIB_REGISTERED_SOCK_EVENTS
588 #if __CONCAT2(SL_EXT_LIB_4, _NOTIFY_GENERAL_EVENT)
589 extern _SlEventPropogationStatus_e __CONCAT2(SL_EXT_LIB_4, _GeneralEventHdl) (
SlDeviceEvent_t *);
590 #define SlExtLib4GeneralEventHandler __CONCAT2(SL_EXT_LIB_4, _GeneralEventHdl)
592 #undef EXT_LIB_REGISTERED_GENERAL_EVENTS
593 #define EXT_LIB_REGISTERED_GENERAL_EVENTS
597 #if __CONCAT2(SL_EXT_LIB_4, _NOTIFY_WLAN_EVENT)
598 extern _SlEventPropogationStatus_e __CONCAT2(SL_EXT_LIB_4, _WlanEventHdl) (
SlWlanEvent_t *);
599 #define SlExtLib4WlanEventHandler __CONCAT2(SL_EXT_LIB_4, _WlanEventHdl)
601 #undef EXT_LIB_REGISTERED_WLAN_EVENTS
602 #define EXT_LIB_REGISTERED_WLAN_EVENTS
606 #if __CONCAT2(SL_EXT_LIB_4, _NOTIFY_NETAPP_EVENT)
607 extern _SlEventPropogationStatus_e __CONCAT2(SL_EXT_LIB_4, _NetAppEventHdl) (
SlNetAppEvent_t *);
608 #define SlExtLib4NetAppEventHandler __CONCAT2(SL_EXT_LIB_4, _NetAppEventHdl)
610 #undef EXT_LIB_REGISTERED_NETAPP_EVENTS
611 #define EXT_LIB_REGISTERED_NETAPP_EVENTS
615 #if __CONCAT2(SL_EXT_LIB_4, _NOTIFY_HTTP_SERVER_EVENT)
617 #define SlExtLib4HttpServerEventHandler __CONCAT2(SL_EXT_LIB_4, _HttpServerEventHdl)
619 #undef EXT_LIB_REGISTERED_HTTP_SERVER_EVENTS
620 #define EXT_LIB_REGISTERED_HTTP_SERVER_EVENTS
624 #if __CONCAT2(SL_EXT_LIB_4, _NOTIFY_SOCK_EVENT)
625 extern _SlEventPropogationStatus_e __CONCAT2(SL_EXT_LIB_4, _SockEventHdl) (
SlSockEvent_t *);
626 #define SlExtLib4SockEventHandler __CONCAT2(SL_EXT_LIB_4, _SockEventHdl)
628 #undef EXT_LIB_REGISTERED_SOCK_EVENTS
629 #define EXT_LIB_REGISTERED_SOCK_EVENTS
638 #if __CONCAT2(SL_EXT_LIB_5, _NOTIFY_GENERAL_EVENT)
639 extern _SlEventPropogationStatus_e __CONCAT2(SL_EXT_LIB_5, _GeneralEventHdl) (
SlDeviceEvent_t *);
640 #define SlExtLib5GeneralEventHandler __CONCAT2(SL_EXT_LIB_5, _GeneralEventHdl)
642 #undef EXT_LIB_REGISTERED_GENERAL_EVENTS
643 #define EXT_LIB_REGISTERED_GENERAL_EVENTS
647 #if __CONCAT2(SL_EXT_LIB_5, _NOTIFY_WLAN_EVENT)
648 extern _SlEventPropogationStatus_e __CONCAT2(SL_EXT_LIB_5, _WlanEventHdl) (
SlWlanEvent_t *);
649 #define SlExtLib5WlanEventHandler __CONCAT2(SL_EXT_LIB_5, _WlanEventHdl)
651 #undef EXT_LIB_REGISTERED_WLAN_EVENTS
652 #define EXT_LIB_REGISTERED_WLAN_EVENTS
656 #if __CONCAT2(SL_EXT_LIB_5, _NOTIFY_NETAPP_EVENT)
657 extern _SlEventPropogationStatus_e __CONCAT2(SL_EXT_LIB_5, _NetAppEventHdl) (
SlNetAppEvent_t *);
658 #define SlExtLib5NetAppEventHandler __CONCAT2(SL_EXT_LIB_5, _NetAppEventHdl)
660 #undef EXT_LIB_REGISTERED_NETAPP_EVENTS
661 #define EXT_LIB_REGISTERED_NETAPP_EVENTS
665 #if __CONCAT2(SL_EXT_LIB_5, _NOTIFY_HTTP_SERVER_EVENT)
667 #define SlExtLib5HttpServerEventHandler __CONCAT2(SL_EXT_LIB_5, _HttpServerEventHdl)
669 #undef EXT_LIB_REGISTERED_HTTP_SERVER_EVENTS
670 #define EXT_LIB_REGISTERED_HTTP_SERVER_EVENTS
674 #if __CONCAT2(SL_EXT_LIB_5, _NOTIFY_SOCK_EVENT)
675 extern _SlEventPropogationStatus_e __CONCAT2(SL_EXT_LIB_5, _SockEventHdl) (
SlSockEvent_t *);
676 #define SlExtLib5SockEventHandler __CONCAT2(SL_EXT_LIB_5, _SockEventHdl)
678 #undef EXT_LIB_REGISTERED_SOCK_EVENTS
679 #define EXT_LIB_REGISTERED_SOCK_EVENTS
686 #if defined(EXT_LIB_REGISTERED_GENERAL_EVENTS)
690 #if defined(EXT_LIB_REGISTERED_WLAN_EVENTS)
691 extern void _SlDrvHandleWlanEvents(
SlWlanEvent_t *slWlanEvent);
694 #if defined (EXT_LIB_REGISTERED_NETAPP_EVENTS)
698 #if defined(EXT_LIB_REGISTERED_HTTP_SERVER_EVENTS)
703 #if defined(EXT_LIB_REGISTERED_SOCK_EVENTS)
704 extern void _SlDrvHandleSockEvents(
SlSockEvent_t *slSockEvent);
708 typedef short (*_SlSpawnEntryFunc_t)(
void* pValue);
710 #define SL_SPAWN_FLAG_FROM_SL_IRQ_HANDLER (0X1)
712 #ifdef SL_PLATFORM_MULTI_THREADED
713 #include "../source/spawn.h"
715 #include "../source/nonos.h"
755 #if (defined(_SlDrvHandleGeneralEvents))
833 #if (defined(sl_WlanEvtHdlr))
864 #if (defined(sl_NetAppEvtHdlr))
886 #if (defined(sl_SockEvtHdlr))
918 #if (defined(sl_HttpServerCallback))
934 #if defined (sl_GetTimestamp)
_u32 sl_GetTimestamp(void)
SL get timestamp routine. It returns the timer counter value in ticks unit. The counter must count fr...
void sl_HttpServerCallback(SlHttpServerEvent_t *pSlHttpServerEvent, SlHttpServerResponse_t *pSlHttpServerResponse)
HTTP server async event.
void _SlDrvHandleGeneralEvents(SlDeviceEvent_t *slGeneralEvent)
General async event for inspecting general events.
void sl_SockEvtHdlr(SlSockEvent_t *pSlSockEvent)
Socket Async event handler.
void sl_WlanEvtHdlr(SlWlanEvent_t *pSlWlanEvent)
WLAN Async event handler.
void sl_NetAppEvtHdlr(SlNetAppEvent_t *pSlNetApp)
NETAPP Async event handler.