WL865E4-P  36.07.001
m2mb_ncm.h
Go to the documentation of this file.
1 /*===============================================================================================*/
2 /* >>> Copyright (C) Telit Communications S.p.A. Italy All Rights Reserved. <<< */
64 /*-----------------------------------------------------------------------------------------------*/
65 
71 /* Global declarations ==========================================================================*/
72 #ifndef M2MB_NCM_API_H_
73 #define M2MB_NCM_API_H_
74 
75 /* Feature flags used in M2MB_NCM_STA_CFG_T */
76 #define M2MB_NCM_FLAG_KEEP_ALIVE ( 1 << 0 )
77 #define M2MB_NCM_FLAG_DYNAMIC_KEEP_ALIVE ( 1 << 1 )
78 
79 #define M2MB_NCM_FLAG_ROAMING ( 1 << 2 )
80 #define M2MB_NCM_FLAG_WITH_STAT ( 1 << 3 )
82 #define M2MB_WPS_PIN_LENGTH 8
83 #define M2MB_SECURITY_KEY_LENGTH_MAX 64
84 /* Global typedefs ==============================================================================*/
85 
91 typedef enum M2MB_NCM_CTX_STATES
92 {
112 
123 typedef enum
124 {
130 
142 typedef enum
143 {
167 
178 typedef enum
179 {
197 
206 typedef enum
207 {
220 typedef struct M2MB_NCM_AP_PROFILE
221 {
234 
245 typedef struct M2MB_NCM_STA_CFG
246 {
255 
267 typedef struct M2MB_NCM_WPS_CFG
268 {
276 
278 {
303 typedef struct M2MB_NCM_AP_CFG
304 {
311 
324 {
329 
341 typedef struct M2MB_NCM_IP_CFG
342 {
351 
363 typedef struct M2MB_NCM_IFCFG
364 {
372  UINT8 ssid[32];
398 typedef struct M2MB_NCM_RETRY_CFG
399 {
423 
435 typedef struct M2MB_NCM_ROAMING_CFG
436 {
448 
454 typedef enum {
477  M2MB_L3_FAIL = 0x14,
479 
493 typedef struct M2MB_NCM_DEVICE_STATS
494 {
539 
551 {
556 
570 typedef union M2MB_NCM_CFG_PTR
571 {
598 
599 
600 
609 typedef VOID (* M2MB_NCM_CB_T)(UINT8 device_id, UINT8 event, INT32 status_code, VOID *cb_Ctx);
610 
611 /* Global functions =========================================================*/
612 /*---------------------------------------------------------------------------*/
673 /*---------------------------------------------------------------------------*/
674 UINT8 m2mb_ncm_init( UINT8 mode, M2MB_NCM_CB_T cb, VOID *cb_ctx );
675 
676 /*---------------------------------------------------------------------------*/
734 /*-----------------------------------------------------------------------------------------------*/
736  M2MB_NCM_CFG_PTR_T *p );
737 
738 /*-----------------------------------------------------------------------------------------------*/
806 /*-----------------------------------------------------------------------------------------------*/
808  M2MB_NCM_CFG_PTR_T *p );
809 
810 /*-----------------------------------------------------------------------------------------------*/
893 /*---------------------------------------------------------------------------*/
894 INT32 m2mb_ncm_register_cb(UINT8 handle, M2MB_NCM_CB_T m2mb_ncm_cb,
895  VOID *Ctx);
896 /*---------------------------------------------------------------------------*/
897 
1022 /*-----------------------------------------------------------------------------------------------*/
1023 INT32 m2mb_ncm_start( UINT8 handle );
1024 /*---------------------------------------------------------------------------*/
1104 /*---------------------------------------------------------------------------*/
1106 /*---------------------------------------------------------------------------*/
1164 /*---------------------------------------------------------------------------*/
1166 /*---------------------------------------------------------------------------*/
1254 /*---------------------------------------------------------------------------*/
1255 UINT32 m2mb_ncm_deinit( UINT8 handle );
1256 /*---------------------------------------------------------------------------*/
1302 /*---------------------------------------------------------------------------*/
1304 /*---------------------------------------------------------------------------*/
1345 /*---------------------------------------------------------------------------*/
1346 INT32 m2mb_ncm_get_state(UINT8 device_id);
1347 /*---------------------------------------------------------------------------*/
1351 /*-----------------------------------------------------------------------------------------------*/
1352 
1353 #endif
UINT32 bcastFilteredRejectedTxPkts
Definition: m2mb_ncm.h:515
UINT32 ucastFilteredAcceptedTxPkts
Definition: m2mb_ncm.h:505
UINT32 uapsdTriggerRxCnt
Definition: m2mb_ncm.h:532
unsigned char UINT8
Definition: m2mb_types.h:83
#define M2MB_WPS_PIN_LENGTH
Definition: m2mb_ncm.h:82
M2MB_NCM_WPS_CFG_T * pWpsCfg
Definition: m2mb_ncm.h:593
Generic IP configuration.
Definition: m2mb_ncm.h:341
UINT32 mcastFilteredRejectedRxPkts
Definition: m2mb_ncm.h:514
M2MB_NCM_POWER_SAVE_CFG_T * pPowerCfg
Definition: m2mb_ncm.h:595
M2MB_NWIF_DNS_SERVER_LIST_T * pDNSList
Definition: m2mb_ncm.h:349
UINT8 security_Key[M2MB_SECURITY_KEY_LENGTH_MAX]
Definition: m2mb_ncm.h:231
UINT32 fastScanDurationInMs
Definition: m2mb_ncm.h:405
UINT32 bcastFilteredAcceptedRxPkts
Definition: m2mb_ncm.h:510
Retry configuration.
Definition: m2mb_ncm.h:398
#define M2MB_SECURITY_KEY_LENGTH_MAX
Definition: m2mb_ncm.h:83
M2MB_NCM_CTX_STATES
Different states in NCM module.
Definition: m2mb_ncm.h:91
UINT32 mcastFilteredAcceptedRxPkts
Definition: m2mb_ncm.h:508
INT32 m2mb_ncm_register_cb(UINT8 handle, M2MB_NCM_CB_T m2mb_ncm_cb, VOID *Ctx)
This API is used to register application callback in NCM module.
M2MB_L2_L3_NCM_EVENTS_ID_E
Events from NCM module.
Definition: m2mb_ncm.h:142
UINT8 dtimPeriod
Definition: m2mb_ncm.h:307
union M2MB_NCM_CFG_PTR M2MB_NCM_CFG_PTR_T
Configuration pointer union.
INT32 channel
Definition: m2mb_ncm.h:374
INT32 wstate
Definition: m2mb_ncm.h:368
UINT32 bcastFilteredRejectedRxPkts
Definition: m2mb_ncm.h:516
M2MB_NCM_INIT_MODE_E
Different modes.
Definition: m2mb_ncm.h:206
UINT32 mcastFilteredAcceptedTxPkts
Definition: m2mb_ncm.h:507
struct M2MB_NCM_AP_CFG M2MB_NCM_AP_CFG_T
AP mode configuration information.
struct M2MB_NCM_WPS_CFG M2MB_NCM_WPS_CFG_T
Station mode WPS configuration information.
UINT32 totalActiveTimeInMs
Definition: m2mb_ncm.h:534
#define M2MB_WLAN_MAC_LEN
M2MB_NCM_CONNECTED_STA_INFO_T * pInfo
Definition: m2mb_ncm.h:589
UINT32 ucastNonNullTxPkts
Definition: m2mb_ncm.h:501
UINT16 channelList[1]
Definition: m2mb_ncm.h:446
INT32 m2mb_ncm_start(UINT8 handle)
This API is used to start the NCM module after initialization.
UINT32 mcastFilteredRejectedTxPkts
Definition: m2mb_ncm.h:513
UINT8 wps_support
Definition: m2mb_ncm.h:308
UINT8 device_id
Definition: m2mb_ncm.h:365
struct M2MB_NCM_AP_PROFILE M2MB_NCM_AP_PROFILE_T
AP profile information.
UINT8 bssid_mac_addr[6]
Definition: m2mb_ncm.h:370
UINT8 m2mb_ncm_init(UINT8 mode, M2MB_NCM_CB_T cb, VOID *cb_ctx)
NCM module initialization.
UINT32 fastScanIntervalInMs
Definition: m2mb_ncm.h:400
INT32 m2mb_ncm_disconnect(UINT8 handle)
Disconnect or Down the NCM module.
M2MB_NCM_RETRY_CFG_T * pRtCfg
Definition: m2mb_ncm.h:583
UINT8 pin[M2MB_WPS_PIN_LENGTH]
Definition: m2mb_ncm.h:273
UINT32 ucastFilteredAcceptedRxPkts
Definition: m2mb_ncm.h:506
UINT32 avgEarlyWakeupAdjInMs
Definition: m2mb_ncm.h:530
UINT16 scan_retry_time_delay
Definition: m2mb_ncm.h:251
signed char INT8
Definition: m2mb_types.h:78
UINT32 totalPowersaveTimeInMs
Definition: m2mb_ncm.h:536
Packet count statistics.
Definition: m2mb_ncm.h:493
UINT8 hiddenSsid
Definition: m2mb_ncm.h:305
UINT16 l3_retry_time_delay
Definition: m2mb_ncm.h:253
UINT32 forceScanIntervalInMs
Definition: m2mb_ncm.h:443
UINT32 homeDwellTimeInMs
Definition: m2mb_ncm.h:442
M2MB_WLAN_ENCRYPT_TYPE_E encryption_Type
Definition: m2mb_ncm.h:228
UINT32 beaconsReceivedCnt
Definition: m2mb_ncm.h:526
unsigned short UINT16
Definition: m2mb_types.h:84
UINT32 ucastFilteredRejectedRxPkts
Definition: m2mb_ncm.h:512
struct M2MB_NCM_CONNECTED_STA_INFO M2MB_NCM_CONNECTED_STA_INFO_T
Connected station information.
UINT32 subnet_mask
Definition: m2mb_ncm.h:379
UINT32 ip_addr
Definition: m2mb_ncm.h:377
M2MB_WLAN_AUTH_TYPE_E
Different authentication modes supported by WLAN.
unsigned long int UINT32
Definition: m2mb_types.h:85
UINT32 dns3
Definition: m2mb_ncm.h:385
UINT32 m2mb_ncm_check_handle_init(UINT32 handle)
This API is used to check the handle is initialized or not.
UINT8 ssid[M2MB_WLAN_MAX_SSID_LEN]
Definition: m2mb_ncm.h:224
UINT8 ssid[32]
Definition: m2mb_ncm.h:372
Configuration pointer union.
Definition: m2mb_ncm.h:570
struct M2MB_NCM_STA_CFG M2MB_NCM_STA_CFG_T
STA mode configuration information.
INT8 * Hostname
Definition: m2mb_ncm.h:347
UINT32 inactivity_ap_period
Definition: m2mb_ncm.h:309
M2MB_NCM_DHCP_SERVER_CFG_T * pDhcpSCfg
Definition: m2mb_ncm.h:581
enum M2MB_NCM_CTX_STATES M2MB_NCM_CTX_STATES_E
Different states in NCM module.
INT32 m2mb_ncm_set_cfg(UINT8 handle, M2MB_NCM_CFG_OPCODE_E opCode, M2MB_NCM_CFG_PTR_T *p)
This API is used to set the different configurations in NCM module.
Roaming configuration.
Definition: m2mb_ncm.h:435
UINT8 mac_addr[6]
Definition: m2mb_ncm.h:366
UINT32 maxL3ConnectCnt
Definition: m2mb_ncm.h:421
M2MB_NCM_CFG_OPCODE_E
Opcode to be used in configuration API.
Definition: m2mb_ncm.h:178
UINT32 keepAlivePeriod
Definition: m2mb_ncm.h:248
UINT8 macAddr[M2MB_WLAN_MAC_LEN]
Definition: m2mb_ncm.h:552
struct M2MB_NCM_RETRY_CFG M2MB_NCM_RETRY_CFG_T
Retry configuration.
struct M2MB_NCM_DHCP_SERVER_CFG M2MB_NCM_DHCP_SERVER_CFG_T
DHCP server configuration for the device in AP mode.
M2MB_NCM_STA_CFG_T * pSTACfg
Definition: m2mb_ncm.h:575
UINT16 l3_retry_count
Definition: m2mb_ncm.h:252
IPV6 configuration.
Definition: m2mb_nwif.h:120
#define M2MB_WLAN_MAX_SSID_LEN
UINT32 ucastFilteredRejectedTxPkts
Definition: m2mb_ncm.h:511
UINT32 dns2
Definition: m2mb_ncm.h:384
INT32 m2mb_ncm_get_cfg(UINT8 handle, M2MB_NCM_CFG_OPCODE_E opCode, M2MB_NCM_CFG_PTR_T *p)
This API is used to get different configurations of NCM module.
void VOID
Definition: m2mb_types.h:72
UINT16 beaconInterval
Definition: m2mb_ncm.h:306
Connected station information.
Definition: m2mb_ncm.h:550
M2MB_NWIF_IPV4_CONFIG_T * pIPv4Cfg
Definition: m2mb_ncm.h:344
M2MB_DISASSOC_REASON_T
Disconnection reason.
Definition: m2mb_ncm.h:454
AP profile information.
Definition: m2mb_ncm.h:220
UINT32 currEarlyWakeupAdjInMs
Definition: m2mb_ncm.h:529
M2MB_NCM_ROAMING_CFG_T * pRCfg
Definition: m2mb_ncm.h:585
UINT32 uapsdTriggerTxCnt
Definition: m2mb_ncm.h:533
signed int INT32
Definition: m2mb_types.h:80
UINT32 beaconResyncFailureCnt
Definition: m2mb_ncm.h:528
For use with m2mb_nwif_cfgget() to get IP addresses of DNS servers.
Definition: m2mb_nwif.h:136
struct M2MB_NCM_DEVICE_STATS M2MB_NCM_DEVICE_STATS_T
Packet count statistics.
IPV4 configuration.
Definition: m2mb_nwif.h:113
M2MB_WLAN_AUTH_TYPE_E auth_Mode
Definition: m2mb_ncm.h:226
INT32 security
Definition: m2mb_ncm.h:375
INT32 m2mb_ncm_deregister_cb(UINT8 handle)
This API is used to deregister the user callback in NCM module.
VOID(* M2MB_NCM_CB_T)(UINT8 device_id, UINT8 event, INT32 status_code, VOID *cb_Ctx)
NCM module user callback prototype.
Definition: m2mb_ncm.h:609
struct M2MB_NCM_POWER_SAVE_CFG M2MB_NCM_POWER_SAVE_CFG_T
M2MB_NCM_IFCFG_T * pIfCfg
Definition: m2mb_ncm.h:591
DHCP server configuration for the device in AP mode.
Definition: m2mb_ncm.h:323
UINT32 bcastFilteredAcceptedTxPkts
Definition: m2mb_ncm.h:509
M2MB_NCM_IPFLAG_SETTING_E
IP configuration.
Definition: m2mb_ncm.h:123
Station mode WPS configuration information.
Definition: m2mb_ncm.h:267
struct M2MB_NCM_ROAMING_CFG M2MB_NCM_ROAMING_CFG_T
Roaming configuration.
UINT16 scan_retry_count
Definition: m2mb_ncm.h:250
M2MB_NWIF_IPV6_CONFIG_T * pIPv6Cfg
Definition: m2mb_ncm.h:345
M2MB_NCM_AP_PROFILE_T * pAP
Definition: m2mb_ncm.h:572
UINT16 rssiHighThreshold
Definition: m2mb_ncm.h:438
struct M2MB_NCM_IP_CFG M2MB_NCM_IP_CFG_T
Generic IP configuration.
UINT32 ucastNonNullRxPkts
Definition: m2mb_ncm.h:503
UINT32 listenInterval
Definition: m2mb_ncm.h:249
UINT32 earlyTerminationCnt
Definition: m2mb_ncm.h:531
struct M2MB_NCM_IFCFG M2MB_NCM_IFCFG_T
Network Connect Manager Interface configuration.
UINT32 dns1
Definition: m2mb_ncm.h:383
UINT32 m2mb_ncm_deinit(UINT8 handle)
This API is used to deintializes the NCM module.
UINT32 slowScanIntervalInMs
Definition: m2mb_ncm.h:414
M2MB_NCM_IP_CFG_T * pIPCfg
Definition: m2mb_ncm.h:579
Network Connect Manager Interface configuration.
Definition: m2mb_ncm.h:363
UINT32 gateway
Definition: m2mb_ncm.h:381
M2MB_NCM_AP_CFG_T * pAPCfg
Definition: m2mb_ncm.h:577
AP mode configuration information.
Definition: m2mb_ncm.h:303
UINT32 featureFlag
Definition: m2mb_ncm.h:247
INT32 m2mb_ncm_get_state(UINT8 device_id)
Current state of NCM module.
M2MB_WLAN_ENCRYPT_TYPE_E
Different encryption modes supported by WLAN.
UINT32 beaconResyncSuccessCnt
Definition: m2mb_ncm.h:527
STA mode configuration information.
Definition: m2mb_ncm.h:245
M2MB_NCM_DEVICE_STATS_T * pStat
Definition: m2mb_ncm.h:587
UINT16 rssiLowThreshold
Definition: m2mb_ncm.h:437