WE310F5  39.00.000
m2mb_ncm.h
Go to the documentation of this file.
1 /*===============================================================================================*/
2 /* >>> Copyright (C) Telit Communications S.p.A. Italy All Rights Reserved. <<< */
92 /*-----------------------------------------------------------------------------------------------*/
93 
99 /* Global declarations ==========================================================================*/
100 #ifndef M2MB_NCM_API_H_
101 #define M2MB_NCM_API_H_
102 
103 /* Feature flags used in M2MB_NCM_STA_CFG_T */
104 #define M2MB_NCM_FLAG_KEEP_ALIVE ( 1 << 0 )
105 #define M2MB_NCM_FLAG_DYNAMIC_KEEP_ALIVE ( 1 << 1 )
106 
107 #define M2MB_NCM_FLAG_ROAMING ( 1 << 2 )
108 #define M2MB_NCM_FLAG_WITH_STAT ( 1 << 3 )
110 #define M2MB_WPS_PIN_LENGTH 8
111 #define M2MB_SECURITY_KEY_LENGTH_MAX 64
112 /* Global typedefs ==============================================================================*/
113 
120 {
140 
151 typedef enum
152 {
158 
170 typedef enum
171 {
197 
208 typedef enum
209 {
230 
239 typedef enum
240 {
254 typedef struct M2MB_NCM_AP_PROFILE
255 {
268 
279 typedef struct M2MB_NCM_STA_CFG
280 {
291 
303 typedef struct M2MB_NCM_WPS_CFG
304 {
312 
314 {
339 typedef struct M2MB_NCM_AP_CFG
340 {
347 
360 {
365 
377 typedef struct M2MB_NCM_IP_CFG
378 {
387 
399 typedef struct M2MB_NCM_IFCFG
400 {
408  UINT8 ssid[33];
434 typedef struct M2MB_NCM_RETRY_CFG
435 {
459 
471 typedef struct M2MB_NCM_ROAMING_CFG
472 {
484 
490 typedef enum {
513  M2MB_L3_FAIL = 0x14,
515 
529 typedef struct M2MB_NCM_DEVICE_STATS
530 {
575 
587 {
592 
606 typedef union M2MB_NCM_CFG_PTR
607 {
634 
635 
636 
645 typedef VOID (* M2MB_NCM_CB_T)(UINT8 device_id, UINT8 event, INT32 status_code, VOID *cb_Ctx);
646 typedef VOID (* M2MB_NCM_SCAN_CB_T)(UINT8 device_id, UINT8 event_id, INT32 status, VOID *data);
647 
648 
649 /* Global functions =========================================================*/
650 /*---------------------------------------------------------------------------*/
711 /*---------------------------------------------------------------------------*/
712 UINT8 m2mb_ncm_init( UINT8 mode, UINT8 bandwidth, M2MB_NCM_CB_T cb, VOID *cb_ctx );
713 
714 /*---------------------------------------------------------------------------*/
772 /*-----------------------------------------------------------------------------------------------*/
774  M2MB_NCM_CFG_PTR_T *p );
775 
776 /*-----------------------------------------------------------------------------------------------*/
844 /*-----------------------------------------------------------------------------------------------*/
846  M2MB_NCM_CFG_PTR_T *p );
847 
848 /*-----------------------------------------------------------------------------------------------*/
931 /*---------------------------------------------------------------------------*/
932 INT32 m2mb_ncm_register_cb(UINT8 handle, M2MB_NCM_CB_T m2mb_ncm_cb,
933  VOID *Ctx);
934 /*---------------------------------------------------------------------------*/
935 
1060 /*-----------------------------------------------------------------------------------------------*/
1061 INT32 m2mb_ncm_start( UINT8 handle );
1062 /*---------------------------------------------------------------------------*/
1142 /*---------------------------------------------------------------------------*/
1143 INT32 m2mb_ncm_stop(UINT8 handle);
1144 /*---------------------------------------------------------------------------*/
1202 /*---------------------------------------------------------------------------*/
1204 /*---------------------------------------------------------------------------*/
1292 /*---------------------------------------------------------------------------*/
1294 /*---------------------------------------------------------------------------*/
1340 /*---------------------------------------------------------------------------*/
1342 /*---------------------------------------------------------------------------*/
1383 /*---------------------------------------------------------------------------*/
1384 INT32 m2mb_ncm_get_state(UINT8 device_id);
1385 /*---------------------------------------------------------------------------*/
1444 /*----------------------------------------------------------------------------*/
1445 INT32 m2mb_ncm_scan( UINT8 device_id, UINT8 *ssid, UINT8 no_of_channels,
1446  UINT8 *channel_list, UINT8 scan_type, UINT32 num_of_scan_entries,
1447  M2MB_WLAN_BSS_SCAN_INFO_T *scanentries, M2MB_NCM_SCAN_CB_T m2m_ncm_scan_cb, VOID *usr_ctx );
1448 /*----------------------------------------------------------------------------*/
1449 
1453 /*-----------------------------------------------------------------------------------------------*/
1454 
1455 #endif
UINT32 currEarlyWakeupAdjInMs
Definition: m2mb_ncm.h:565
UINT32 ucastNonNullRxPkts
Definition: m2mb_ncm.h:539
struct M2MB_NCM_CONNECTED_STA_INFO M2MB_NCM_CONNECTED_STA_INFO_T
Connected station information.
UINT32 ip_addr
Definition: m2mb_ncm.h:413
UINT32 ucastFilteredRejectedTxPkts
Definition: m2mb_ncm.h:547
struct M2MB_NCM_IFCFG M2MB_NCM_IFCFG_T
Network Connect Manager Interface configuration.
UINT32 bcastFilteredRejectedRxPkts
Definition: m2mb_ncm.h:552
INT32 m2mb_ncm_deregister_cb(UINT8 handle)
This API is used to deregister the user callback in NCM module.
struct M2MB_NCM_POWER_SAVE_CFG M2MB_NCM_POWER_SAVE_CFG_T
Structure of members for scan results.
UINT32 dns2
Definition: m2mb_ncm.h:420
#define M2MB_WLAN_MAC_LEN
M2MB_NWIF_IPV6_CONFIG_T * pIPv6Cfg
Definition: m2mb_ncm.h:381
#define M2MB_WPS_PIN_LENGTH
Definition: m2mb_ncm.h:110
UINT32 avgEarlyWakeupAdjInMs
Definition: m2mb_ncm.h:566
unsigned char UINT8
Definition: m2mb_types.h:86
UINT32 fastScanIntervalInMs
Definition: m2mb_ncm.h:436
UINT32 beaconResyncSuccessCnt
Definition: m2mb_ncm.h:563
M2MB_NCM_CFG_OPCODE_E
Opcode to be used in configuration API.
Definition: m2mb_ncm.h:208
union M2MB_NCM_CFG_PTR M2MB_NCM_CFG_PTR_T
Configuration pointer union.
UINT16 rssiLowThreshold
Definition: m2mb_ncm.h:473
INT8 * Hostname
Definition: m2mb_ncm.h:383
UINT32 mcastFilteredRejectedTxPkts
Definition: m2mb_ncm.h:549
struct M2MB_NCM_STA_CFG M2MB_NCM_STA_CFG_T
STA mode configuration information.
UINT8 device_id
Definition: m2mb_ncm.h:401
M2MB_NCM_POWER_SAVE_CFG_T * pPowerCfg
Definition: m2mb_ncm.h:631
UINT32 bcastFilteredRejectedTxPkts
Definition: m2mb_ncm.h:551
INT32 m2mb_ncm_stop(UINT8 handle)
Disconnect or Down the NCM module.
M2MB_WLAN_AUTH_TYPE_E auth_Mode
Definition: m2mb_ncm.h:263
UINT8 macAddr[M2MB_WLAN_MAC_LEN]
Definition: m2mb_ncm.h:588
UINT8 mac_addr[6]
Definition: m2mb_ncm.h:402
UINT8 ssid[M2MB_WLAN_MAX_SSID_LEN+1]
Definition: m2mb_ncm.h:258
VOID(* M2MB_NCM_SCAN_CB_T)(UINT8 device_id, UINT8 event_id, INT32 status, VOID *data)
Definition: m2mb_ncm.h:646
UINT32 m2mb_ncm_check_handle_init(UINT32 handle)
This API is used to check the handle is initialized or not.
UINT8 wps_support
Definition: m2mb_ncm.h:344
M2MB_STATUS_T m2mb_ncm_deinit(UINT8 handle)
This API is used to deintializes the NCM module.
INT32 M2MB_STATUS_T
Definition: m2mb_status.h:97
struct M2MB_NCM_WPS_CFG M2MB_NCM_WPS_CFG_T
Station mode WPS configuration information.
UINT16 l2_connect_count
Definition: m2mb_ncm.h:288
UINT32 homeDwellTimeInMs
Definition: m2mb_ncm.h:478
INT32 security
Definition: m2mb_ncm.h:411
M2MB_WLAN_AUTH_TYPE_E
Different authentication modes supported by WLAN.
M2MB_NCM_RETRY_CFG_T * pRtCfg
Definition: m2mb_ncm.h:619
UINT16 beaconInterval
Definition: m2mb_ncm.h:342
UINT32 slowScanIntervalInMs
Definition: m2mb_ncm.h:450
UINT32 uapsdTriggerTxCnt
Definition: m2mb_ncm.h:569
unsigned short UINT16
Definition: m2mb_types.h:87
INT32 channel
Definition: m2mb_ncm.h:410
Retry configuration.
Definition: m2mb_ncm.h:434
UINT32 mcastFilteredRejectedRxPkts
Definition: m2mb_ncm.h:550
UINT32 bcastFilteredAcceptedRxPkts
Definition: m2mb_ncm.h:546
UINT8 pin[M2MB_WPS_PIN_LENGTH+1]
Definition: m2mb_ncm.h:309
M2MB_NCM_IP_CFG_T * pIPCfg
Definition: m2mb_ncm.h:615
M2MB_L2_L3_NCM_EVENTS_ID_E
Events from NCM module.
Definition: m2mb_ncm.h:170
M2MB_NCM_AP_CFG_T * pAPCfg
Definition: m2mb_ncm.h:613
UINT8 dtimPeriod
Definition: m2mb_ncm.h:343
AP profile information.
Definition: m2mb_ncm.h:254
enum M2MB_NCM_CTX_STATES M2MB_NCM_CTX_STATES_E
Different states in NCM module.
struct M2MB_NCM_DEVICE_STATS M2MB_NCM_DEVICE_STATS_T
Packet count statistics.
M2MB_NCM_ROAMING_CFG_T * pRCfg
Definition: m2mb_ncm.h:621
M2MB_NCM_DHCP_SERVER_CFG_T * pDhcpSCfg
Definition: m2mb_ncm.h:617
struct M2MB_NCM_AP_PROFILE M2MB_NCM_AP_PROFILE_T
AP profile information.
UINT32 totalActiveTimeInMs
Definition: m2mb_ncm.h:570
UINT32 inactivity_ap_period
Definition: m2mb_ncm.h:345
UINT16 l2_connect_time_delay
Definition: m2mb_ncm.h:289
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:645
M2MB_DISASSOC_REASON_T
Disconnection reason.
Definition: m2mb_ncm.h:490
UINT32 ucastNonNullTxPkts
Definition: m2mb_ncm.h:537
UINT32 listenInterval
Definition: m2mb_ncm.h:283
M2MB_NCM_STA_CFG_T * pSTACfg
Definition: m2mb_ncm.h:611
signed char INT8
Definition: m2mb_types.h:80
DHCP server configuration for the device in AP mode.
Definition: m2mb_ncm.h:359
M2MB_NCM_AP_PROFILE_T * pAP
Definition: m2mb_ncm.h:608
UINT16 rssiHighThreshold
Definition: m2mb_ncm.h:474
Station mode WPS configuration information.
Definition: m2mb_ncm.h:303
UINT32 totalPowersaveTimeInMs
Definition: m2mb_ncm.h:572
UINT8 m2mb_ncm_init(UINT8 mode, UINT8 bandwidth, M2MB_NCM_CB_T cb, VOID *cb_ctx)
NCM module initialization.
UINT32 dns3
Definition: m2mb_ncm.h:421
UINT32 bcastFilteredAcceptedTxPkts
Definition: m2mb_ncm.h:545
void VOID
Definition: m2mb_types.h:74
M2MB_NCM_WPS_CFG_T * pWpsCfg
Definition: m2mb_ncm.h:629
M2MB_NWIF_DNS_SERVER_LIST_T * pDNSList
Definition: m2mb_ncm.h:385
UINT32 mcastFilteredAcceptedRxPkts
Definition: m2mb_ncm.h:544
INT32 m2mb_ncm_get_state(UINT8 device_id)
Current state of NCM module.
struct M2MB_NCM_IP_CFG M2MB_NCM_IP_CFG_T
Generic IP configuration.
INT32 m2mb_ncm_start(UINT8 handle)
This API is used to start the NCM module after initialization.
UINT16 channelList[1]
Definition: m2mb_ncm.h:482
UINT32 dns1
Definition: m2mb_ncm.h:419
UINT16 l3_retry_count
Definition: m2mb_ncm.h:286
M2MB_NCM_IFCFG_T * pIfCfg
Definition: m2mb_ncm.h:627
M2MB_NCM_CTX_STATES
Different states in NCM module.
Definition: m2mb_ncm.h:119
UINT32 keepAlivePeriod
Definition: m2mb_ncm.h:282
UINT32 ucastFilteredAcceptedRxPkts
Definition: m2mb_ncm.h:542
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.
Packet count statistics.
Definition: m2mb_ncm.h:529
UINT32 gateway
Definition: m2mb_ncm.h:417
M2MB_NCM_CONNECTED_STA_INFO_T * pInfo
Definition: m2mb_ncm.h:625
Network Connect Manager Interface configuration.
Definition: m2mb_ncm.h:399
M2MB_NCM_DEVICE_STATS_T * pStat
Definition: m2mb_ncm.h:623
M2MB_WLAN_ENCRYPT_TYPE_E encryption_Type
Definition: m2mb_ncm.h:265
INT32 wstate
Definition: m2mb_ncm.h:404
M2MB_NCM_INIT_MODE_E
Different modes.
Definition: m2mb_ncm.h:239
AP mode configuration information.
Definition: m2mb_ncm.h:339
UINT32 subnet_mask
Definition: m2mb_ncm.h:415
#define M2MB_WLAN_MAX_SSID_LEN
UINT8 security_Key[M2MB_SECURITY_KEY_LENGTH_MAX+1]
Definition: m2mb_ncm.h:261
STA mode configuration information.
Definition: m2mb_ncm.h:279
UINT32 fastScanDurationInMs
Definition: m2mb_ncm.h:441
struct M2MB_NCM_ROAMING_CFG M2MB_NCM_ROAMING_CFG_T
Roaming configuration.
struct M2MB_NCM_DHCP_SERVER_CFG M2MB_NCM_DHCP_SERVER_CFG_T
DHCP server configuration for the device in AP mode.
unsigned long int UINT32
Definition: m2mb_types.h:88
UINT32 earlyTerminationCnt
Definition: m2mb_ncm.h:567
UINT32 beaconsReceivedCnt
Definition: m2mb_ncm.h:562
Configuration pointer union.
Definition: m2mb_ncm.h:606
signed int INT32
Definition: m2mb_types.h:82
UINT16 scan_retry_time_delay
Definition: m2mb_ncm.h:285
UINT16 l3_retry_time_delay
Definition: m2mb_ncm.h:287
UINT32 ucastFilteredRejectedRxPkts
Definition: m2mb_ncm.h:548
Roaming configuration.
Definition: m2mb_ncm.h:471
M2MB_WLAN_ENCRYPT_TYPE_E
Different encryption modes supported by WLAN.
struct M2MB_NCM_RETRY_CFG M2MB_NCM_RETRY_CFG_T
Retry configuration.
UINT8 ssid[33]
Definition: m2mb_ncm.h:408
UINT32 uapsdTriggerRxCnt
Definition: m2mb_ncm.h:568
Generic IP configuration.
Definition: m2mb_ncm.h:377
UINT32 ucastFilteredAcceptedTxPkts
Definition: m2mb_ncm.h:541
IPV6 configuration.
Definition: m2mb_nwif.h:120
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.
UINT32 forceScanIntervalInMs
Definition: m2mb_ncm.h:479
struct M2MB_NCM_AP_CFG M2MB_NCM_AP_CFG_T
AP mode configuration information.
UINT32 maxL3ConnectCnt
Definition: m2mb_ncm.h:457
#define M2MB_SECURITY_KEY_LENGTH_MAX
Definition: m2mb_ncm.h:111
Connected station information.
Definition: m2mb_ncm.h:586
INT32 m2mb_ncm_scan(UINT8 device_id, UINT8 *ssid, UINT8 no_of_channels, UINT8 *channel_list, UINT8 scan_type, UINT32 num_of_scan_entries, M2MB_WLAN_BSS_SCAN_INFO_T *scanentries, M2MB_NCM_SCAN_CB_T m2m_ncm_scan_cb, VOID *usr_ctx)
This API is used to get the WLAN scan results. This API expects m2mb_ncm_init prior to it in STA mode...
UINT32 mcastFilteredAcceptedTxPkts
Definition: m2mb_ncm.h:543
UINT8 bssid_mac_addr[6]
Definition: m2mb_ncm.h:406
UINT16 scan_retry_count
Definition: m2mb_ncm.h:284
M2MB_NWIF_IPV4_CONFIG_T * pIPv4Cfg
Definition: m2mb_ncm.h:380
For use with m2mb_nwif_cfgget() to get IP addresses of DNS servers.
Definition: m2mb_nwif.h:136
M2MB_NCM_IPFLAG_SETTING_E
IP configuration.
Definition: m2mb_ncm.h:151
UINT32 featureFlag
Definition: m2mb_ncm.h:281
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.
IPV4 configuration.
Definition: m2mb_nwif.h:113
UINT8 hiddenSsid
Definition: m2mb_ncm.h:341
UINT32 beaconResyncFailureCnt
Definition: m2mb_ncm.h:564