Microchip® Advanced Software Framework

winc3400/wifi_drv/driver/include/m2m_types.h File Reference

WINC3400 IoT Application Interface Internal Types.

Copyright (c) 2017-2021 Microchip Technology Inc. and its subsidiaries.

#include "common/include/nm_common.h"

Data Structures

struct  tstrM2MAPConfig
 This structure holds the configuration parameters for the AP mode. It should be set by the application when it requests to enable the AP operation mode. The AP mode currently supports only OPEN and WEP security. More...
 
struct  tstrM2MAPConfigExt
 AP Configuration Extension. More...
 
struct  tstrM2MAPModeConfig
 AP Configuration. More...
 
struct  tstrM2mBatteryVoltage
 This struct stores the battery voltage. More...
 
struct  tstrM2mBleApiMsg
 This struct contains a BLE message. More...
 
struct  tstrM2MBLEInfo
 BLE Result. More...
 
struct  tstrM2mClientState
 This struct contains the information for the PS Client state. More...
 
struct  tstrM2mConnCredCmn
 Wi-Fi Connect Credentials Common section. More...
 
struct  tstrM2mConnCredHdr
 Wi-Fi Connect Credentials Header. More...
 
struct  tstrM2MConnInfo
 This struct contains the connection information. More...
 
struct  tstrM2MDefaultConnResp
 This struct contains the response error of m2m_default_connect. More...
 
struct  tstrM2MDeviceNameConfig
 This struct contains the Device Name of the WINC. It is used mainly for Wi-Fi Direct device discovery and WPS device information. More...
 
struct  tstrM2mEnableLogs
 This struct stores logging information. More...
 
struct  tstrM2MGainTable
 This struct contains the information of the gain table index from flash to be used. More...
 
struct  tstrM2MGainTableRsp
 This struct contains response when the firmware has failed to configure the gains from flash. More...
 
struct  tstrM2MGenericResp
 Generic success/error response. More...
 
struct  tstrM2MIPConfig
 This struct contains the static IP configuration. More...
 
struct  tstrM2mIpRsvdPkt
 This struct contains the size and data offset for the received packet. More...
 
struct  tstrM2mLsnInt
 This struct contains the Listen Interval. It is the value of the Wi-Fi StA Listen Interval when power save is enabled. It is given in units of Beacon period. It is the number of Beacon periods the WINC can sleep before it wakes up to receive data buffered for it in the AP. More...
 
struct  tstrM2MMulticastMac
 This struct contains the information from the Multicast filter. More...
 
struct  tstrM2MP2PConnect
 This struct contains the Listen Channel for P2P connect. More...
 
struct  tstrM2MProvisionInfo
 This struct contains the provisioning information obtained from the HTTP Provisioning server. More...
 
struct  tstrM2MProvisionModeConfig
 This struct contains the provisioning mode configuration. More...
 
struct  tstrM2mPsType
 This struct contains the Power Save configuration. More...
 
struct  tstrM2mPwrMode
 Power Mode. More...
 
struct  tstrM2mReqScanResult
 The Wi-Fi Scan results list is stored in firmware. This struct contains the index by which the application can request a certain scan result. More...
 
struct  tstrM2MScan
 This struct contains the Wi-Fi scan request. More...
 
struct  tstrM2mScanDone
 This struct contains the Wi-Fi scan result. More...
 
struct  tstrM2MScanOption
 This struct contains the configuration options for Wi-Fi scan. More...
 
struct  tstrM2MScanRegion
 This struct contains the Wi-Fi information for the channel regions. More...
 
struct  tstrM2Mservercmd
 This struct contains the information for the PS Server command. More...
 
struct  tstrM2mServerInit
 This struct contains the information for the PS Server initialization. More...
 
struct  tstrM2mSetMacAddress
 This struct contains the MAC address to be used. The WINC loads the mac address from the efuse by default to the WINC configuration memory, however, the application can overwrite the configuration memory with the mac address indicated from the Host. More...
 
struct  tstrM2mSlpReqTime
 This struct contains the sleep time for the Power Save request. More...
 
struct  tstrM2MSNTPConfig
 SNTP Client Configuration. More...
 
struct  tstrM2MStopScanOption
 This struct holds additional configuration options for Wi-Fi scan. More...
 
struct  tstrM2mTxPwrLevel
 This struct stores the Tx Power levels. More...
 
struct  tstrM2mWifi1xHdr
 Wi-Fi Authentication 802.1x header for parameters. The parameters (Domain, UserName, PrivateKey/Password) are appended to this structure. More...
 
struct  tstrM2mWifiApId
 Specify an access point (by SSID) More...
 
struct  tstrM2mWifiAuthInfoHdr
 Generic Wi-Fi authentication information to be sent in a separate HIF message of type M2M_WIFI_IND_CONN_PARAM (preceding M2M_WIFI_REQ_CONN). More...
 
struct  tstrM2mWifiConnectLegacy_1_2
 Wi-Fi Connect Request IMPORTANT: This structure is required only for legacy M2M_WIFI_REQ_CONNECT messages. For general usage, this structure is replaced by tstrM2mWifiConnHdr. More...
 
struct  tstrM2mWifiConnHdr
 Wi-Fi Connect Request (new format) for use with M2M_WIFI_REQ_CONN. This structure is sent across the HIF along with the relevant auth details. One of: tstrM2mWifiPsk tstrM2mWifiWep tstrM2mWifi1xHdr If further authentication details need to be sent (such as client certificate for 1x TLS), they are sent with header tstrM2mWifiAuthInfoHdr in a preceding HIF message of type M2M_WIFI_IND_CONN_PARAM. More...
 
struct  tstrM2MWifiMonitorModeCtrl
 This struct contains the Wi-Fi Monitor Mode Filter. It sets the filtering criteria for WLAN packets when monitoring mode is enabled. The received packets matching the filtering parameters, are passed directly to the application. More...
 
struct  tstrM2mWifiPsk
 Passphrase and PSK for WPA(2) PSK. More...
 
struct  tstrM2mWiFiRoaming
 Roaming related information. More...
 
struct  tstrM2MWifiRxPacketInfo
 This struct contains the Wi-Fi RX Frame Header. The M2M application has the ability to allow Wi-Fi monitoring mode for receiving all Wi-Fi Raw frames matching a well defined filtering criteria. When a target Wi-Fi packet is received, the header information are extracted and assigned in this structure. More...
 
struct  tstrM2mWifiscanResult
 This struct contains the information corresponding to an AP in the scan result list identified by its order (index) in the list. More...
 
struct  tstrM2MWifiSecInfoLegacy_1_2
 Authentication credentials to connect to a Wi-Fi network. IMPORTANT: This structure is required only for legacy M2M_WIFI_REQ_CONNECT messages. More...
 
struct  tstrM2mWifiStateChanged
 This struct contains the Wi-Fi connection state. More...
 
struct  tstrM2MWifiTxPacketInfo
 This struct contains the Wi-Fi TX Packet Info. The M2M Application has the ability to compose raw Wi-Fi frames (under the application responsibility). When transmitting a Wi-Fi packet, the application must supply the firmware with this structure for sending the target frame. More...
 
struct  tstrM2mWifiWep
 WEP security key header. More...
 
struct  tstrM2mWifiWepParamsLegacy_1_2
 WEP security key parameters. IMPORTANT: This structure is required only for legacy M2M_WIFI_REQ_CONNECT messages. More...
 
struct  tstrM2MWPSConnect
 This struct stores the WPS configuration parameters. More...
 
struct  tstrM2MWPSInfo
 WPS Result. More...
 
struct  tstrOtaControlSec
 Control Section Structure. The Control Section is used to define the working image and the validity of the roll-back image and its offset, also both firmware versions are kept in this structure. More...
 
struct  tstrOtaInitHdr
 This struct contains the OTA image header. More...
 
struct  tstrOtaUpdateInfo
 This struct contains the OTA update information. More...
 
struct  tstrOtaUpdateStatusResp
 This struct contains the OTA update status. More...
 
struct  tstrPrng
 M2M Request PRNG. More...
 
struct  tstrRootCertEcdsaKeyInfo
 Info about a ECDSA public key. More...
 
struct  tstrRootCertEntryHeader
 Header of a root certificate entry in flash. More...
 
struct  tstrRootCertFlashHeader
 Header of the root certificate flash storage area. More...
 
struct  tstrRootCertPubKeyInfo
 Info about the public key contained in a root certificate. More...
 
struct  tstrRootCertRsaKeyInfo
 Info about a RSA public key. More...
 
struct  tstrSslSetActiveCsList
 
struct  tstrSystemTime
 This struct contains the system time. More...
 
struct  tstrTlsSrvChunkHdr
 
struct  tstrTlsSrvSecFileEntry
 This struct contains a TLS certificate. More...
 
struct  tstrTlsSrvSecHdr
 This struct contains a set of TLS certificates. More...
 
union  tuniM2MWifiAuthLegacy_1_2
 Wi-Fi Security Parameters for all supported security modes. IMPORTANT: This structure is required only for legacy M2M_WIFI_REQ_CONNECT messages. More...
 

Macros

#define __PADDING_tstrM2MBLEInfo_   (4 - ((2 + M2M_MAX_SSID_LEN + M2M_MAX_PSK_LEN) % 4))
 
#define __PADDING_tstrM2MWPSInfo_   (4 - ((2 + M2M_MAX_SSID_LEN + M2M_MAX_PSK_LEN) % 4))
 
#define __PADDING_tstrSystemTime_   (4 - (7 % 4))
 
#define M2M_802_1X_MSCHAP2_FLAG   0x01
 
#define M2M_802_1X_PREPEND_DOMAIN_FLAG   0x40
 
#define M2M_802_1X_TLS_CLIENT_CERTIFICATE   1
 
#define M2M_802_1X_TLS_FLAG   0x02
 
#define M2M_802_1X_UNENCRYPTED_USERNAME_FLAG   0x80
 
#define M2M_AP_CMD_BASE   70
 
#define M2M_ASSOC_FAIL   ((uint8)4)
 
#define M2M_AUTH_1X_CERT_LEN_MAX   1584
 
#define M2M_AUTH_1X_PASSWORD_LEN_MAX   256
 
#define M2M_AUTH_1X_PRIVATEKEY_LEN_MAX   256
 
#define M2M_AUTH_1X_USER_LEN_MAX   100
 
#define M2M_AUTH_FAIL   ((uint8)3)
 
#define M2M_BUFFER_MAX_SIZE   (1600UL - 4)
 
#define M2M_CONFIG_CMD_BASE   1
 
#define M2M_CRED_ENCRYPT_FLAG   0x02
 
#define M2M_CRED_IS_ENCRYPTED_FLAG   0x20
 
#define M2M_CRED_IS_STORED_FLAG   0x10
 
#define M2M_CRED_STORE_FLAG   0x01
 
#define M2M_CUST_IE_LEN_MAX   252
 
#define M2M_DEVICE_NAME_MAX   48
 
#define M2M_DRIVER_VERSION_MAJOR_NO   (1)
 
#define M2M_DRIVER_VERSION_MINOR_NO   (2)
 
#define M2M_DRIVER_VERSION_PATCH_NO   (0)
 
#define M2M_ETHERNET_HDR_LEN   14
 
#define M2M_ETHERNET_HDR_OFFSET   34
 
#define M2M_FASTCONNECT_DEFAULT_RSSI_THRESH   (-45)
 
#define M2M_GEN_CMD_BASE   105
 
#define M2M_GET_HIF_BLOCK(hif_info)   ((uint8)(((hif_info) >> M2M_HIF_BLOCK_SHIFT) & M2M_HIF_BLOCK_MASK))
 
#define M2M_GET_HIF_INFO(hif_ver)   ((uint16)(((hif_ver) >> M2M_HIF_INFO_SHIFT) & M2M_HIF_INFO_MASK))
 
#define M2M_GET_HIF_LEVEL(hif_info)   ((uint16)(((hif_info) >> M2M_HIF_LEVEL_SHIFT) & M2M_HIF_LEVEL_MASK))
 
#define M2M_GET_HIF_MAJOR(hif_info)   ((uint8)(((hif_info) >> M2M_HIF_MAJOR_SHIFT) & M2M_HIF_MAJOR_MASK))
 
#define M2M_GET_HIF_MINOR(hif_info)   ((uint8)(((hif_info) >> M2M_HIF_MINOR_SHIFT) & M2M_HIF_MINOR_MASK))
 
#define M2M_HIF_BLOCK_MASK   (0x3)
 
#define M2M_HIF_BLOCK_SHIFT   (14)
 
#define M2M_HIF_BLOCK_VALUE   (2)
 
#define M2M_HIF_INFO_MASK   (0xffff)
 
#define M2M_HIF_INFO_SHIFT   (0)
 
#define M2M_HIF_LEVEL
 
#define M2M_HIF_LEVEL_MASK   (0x3fff)
 
#define M2M_HIF_LEVEL_SHIFT   (0)
 
#define M2M_HIF_MAJOR_MASK   (0x3f)
 
#define M2M_HIF_MAJOR_SHIFT   (8)
 
#define M2M_HIF_MAJOR_VALUE   (1)
 
#define M2M_HIF_MINOR_MASK   (0xff)
 
#define M2M_HIF_MINOR_SHIFT   (0)
 
#define M2M_HIF_MINOR_VALUE   (5)
 
#define M2M_JOIN_FAIL   ((uint8)2)
 
#define M2M_LISTEN_INTERVAL   1
 
#define M2M_MAC_ADDRES_LEN   6
 
#define M2M_MAKE_HIF_INFO(hif_level)
 
#define M2M_MAX_GRP_NUM_REQ   (127)
 
#define M2M_MAX_PSK_LEN   65
 
#define M2M_MAX_SSID_LEN   33
 
#define M2M_MIN_PSK_LEN   9
 
#define M2M_NTP_MAX_SERVER_NAME_LENGTH   32
 
#define M2M_OTA_CMD_BASE   100
 
#define M2M_SCAN_DEFAULT_NUM_PROBE   (2)
 
#define M2M_SCAN_DEFAULT_NUM_SLOTS   (2)
 
#define M2M_SCAN_DEFAULT_PASSIVE_SLOT_TIME   (300)
 
#define M2M_SCAN_DEFAULT_SLOT_TIME   (20)
 
#define M2M_SCAN_ERR_AP   ((sint8)-4)
 
#define M2M_SCAN_ERR_IP   ((sint8)-3)
 
#define M2M_SCAN_ERR_P2P   ((sint8)-5)
 
#define M2M_SCAN_ERR_WIFI   ((sint8)-2)
 
#define M2M_SCAN_ERR_WPS   ((sint8)-6)
 
#define M2M_SCAN_FAIL   ((uint8)1)
 
#define M2M_SERVER_CMD_BASE   100
 
#define M2M_STA_CMD_BASE   40
 
#define M2M_WIFI_CONN_BSSID_FLAG   0x01
 
#define M2M_WIFI_FRAME_SUB_TYPE_ANY   0xFF
 
#define M2M_WIFI_FRAME_TYPE_ANY   0xFF
 
#define MAX_HIDDEN_SITES   4
 
#define OTA_MAGIC_VALUE   (0x1ABCDEF9)
 
#define OTA_SHA256_DIGEST_SIZE   (32)
 
#define OTA_STATUS_INVALID   (0x23987718)
 
#define OTA_STATUS_VALID   (0x12526285)
 
#define PSK_CALC_LEN   40
 
#define TLS_CERTS_CHUNKED_SIG_VALUE   0x6ec8
 
#define TLS_FILE_NAME_MAX   48
 
#define TLS_SRV_SEC_MAX_FILES   8
 
#define TLS_SRV_SEC_START_PATTERN_LEN   8
 
#define tstrM2MSNTPConfig_PAD   (4 - ((M2M_NTP_MAX_SERVER_NAME_LENGTH + 1 + 1) % 4))
 
#define WEP_104_KEY_SIZE   ((uint8)13)
 
#define WEP_104_KEY_STRING_SIZE   ((uint8)26)
 
#define WEP_40_KEY_SIZE   ((uint8)5)
 
#define WEP_40_KEY_STRING_SIZE   ((uint8)10)
 
#define WEP_KEY_MAX_INDEX   ((uint8)4)
 

Enumerations

enum  tenuM2mApCmd {
  M2M_WIFI_REQ_ENABLE_AP_LEGACY = M2M_AP_CMD_BASE,
  M2M_WIFI_REQ_DISABLE_AP,
  M2M_WIFI_REQ_ENABLE_AP,
  M2M_WIFI_MAX_AP_ALL,
  M2M_WIFI_REQ_ENABLE_AP = M2M_AP_CMD_BASE,
  M2M_WIFI_REQ_DISABLE_AP,
  M2M_WIFI_REQ_RESTART_AP,
  M2M_WIFI_MAX_AP_ALL
}
 This enum contains WINC commands while in AP mode. More...
 
enum  tenuM2mConfigCmd {
  M2M_WIFI_REQ_RESTART = M2M_CONFIG_CMD_BASE,
  M2M_WIFI_REQ_SET_MAC_ADDRESS,
  M2M_WIFI_REQ_CURRENT_RSSI,
  M2M_WIFI_RESP_CURRENT_RSSI,
  M2M_WIFI_REQ_RESTRICT_BLE,
  M2M_WIFI_REQ_UNRESTRICT_BLE,
  M2M_WIFI_REQ_GET_CONN_INFO,
  M2M_WIFI_RESP_CONN_INFO,
  M2M_WIFI_REQ_SET_DEVICE_NAME,
  M2M_WIFI_REQ_START_PROVISION_MODE_LEGACY,
  M2M_WIFI_RESP_PROVISION_INFO,
  M2M_WIFI_REQ_STOP_PROVISION_MODE,
  M2M_WIFI_REQ_SET_SYS_TIME,
  M2M_WIFI_REQ_ENABLE_SNTP_CLIENT,
  M2M_WIFI_REQ_DISABLE_SNTP_CLIENT,
  M2M_WIFI_RESP_MEMORY_RECOVER,
  M2M_WIFI_REQ_CUST_INFO_ELEMENT,
  M2M_WIFI_REQ_SCAN,
  M2M_WIFI_RESP_SCAN_DONE,
  M2M_WIFI_REQ_SCAN_RESULT,
  M2M_WIFI_RESP_SCAN_RESULT,
  M2M_WIFI_REQ_SET_SCAN_OPTION,
  M2M_WIFI_REQ_SET_SCAN_REGION,
  M2M_WIFI_REQ_SET_POWER_PROFILE,
  M2M_WIFI_REQ_SET_TX_POWER,
  M2M_WIFI_REQ_SET_BATTERY_VOLTAGE,
  M2M_WIFI_REQ_SET_ENABLE_LOGS,
  M2M_WIFI_REQ_GET_SYS_TIME,
  M2M_WIFI_RESP_GET_SYS_TIME,
  M2M_WIFI_REQ_SEND_ETHERNET_PACKET,
  M2M_WIFI_RESP_ETHERNET_RX_PACKET,
  M2M_WIFI_REQ_SET_MAC_MCAST,
  M2M_WIFI_REQ_BLE_API_SEND,
  M2M_WIFI_RESP_BLE_API_RECV,
  M2M_WIFI_REQ_SET_GAIN_TABLE,
  M2M_WIFI_RESP_SET_GAIN_TABLE,
  M2M_WIFI_REQ_PASSIVE_SCAN,
  M2M_WIFI_REQ_CONFIG_SNTP,
  M2M_WIFI_REQ_START_PROVISION_MODE,
  M2M_WIFI_MAX_CONFIG_ALL,
  M2M_WIFI_REQ_RESTART = M2M_CONFIG_CMD_BASE,
  M2M_WIFI_REQ_SET_MAC_ADDRESS,
  M2M_WIFI_REQ_CURRENT_RSSI,
  M2M_WIFI_RESP_CURRENT_RSSI,
  M2M_WIFI_REQ_GET_CONN_INFO,
  M2M_WIFI_RESP_CONN_INFO,
  M2M_WIFI_REQ_SET_DEVICE_NAME,
  M2M_WIFI_REQ_START_PROVISION_MODE,
  M2M_WIFI_RESP_PROVISION_INFO,
  M2M_WIFI_REQ_STOP_PROVISION_MODE,
  M2M_WIFI_REQ_SET_SYS_TIME,
  M2M_WIFI_REQ_ENABLE_SNTP_CLIENT,
  M2M_WIFI_REQ_DISABLE_SNTP_CLIENT,
  M2M_WIFI_RESP_MEMORY_RECOVER,
  M2M_WIFI_REQ_CUST_INFO_ELEMENT,
  M2M_WIFI_REQ_SCAN,
  M2M_WIFI_RESP_SCAN_DONE,
  M2M_WIFI_REQ_SCAN_RESULT,
  M2M_WIFI_RESP_SCAN_RESULT,
  M2M_WIFI_REQ_SET_SCAN_OPTION,
  M2M_WIFI_REQ_SET_SCAN_REGION,
  M2M_WIFI_REQ_SET_POWER_PROFILE,
  M2M_WIFI_REQ_SET_TX_POWER,
  M2M_WIFI_REQ_SET_BATTERY_VOLTAGE,
  M2M_WIFI_REQ_SET_ENABLE_LOGS,
  M2M_WIFI_REQ_GET_SYS_TIME,
  M2M_WIFI_RESP_GET_SYS_TIME,
  M2M_WIFI_REQ_SEND_ETHERNET_PACKET,
  M2M_WIFI_RESP_ETHERNET_RX_PACKET,
  M2M_WIFI_REQ_SET_MAC_MCAST,
  M2M_WIFI_REQ_GET_PRNG,
  M2M_WIFI_RESP_GET_PRNG,
  M2M_WIFI_REQ_SCAN_SSID_LIST,
  M2M_WIFI_REQ_SET_GAINS,
  M2M_WIFI_REQ_PASSIVE_SCAN,
  M2M_WIFI_REQ_CONG_AUTO_RATE,
  M2M_WIFI_REQ_CONFIG_SNTP,
  M2M_WIFI_REQ_SET_GAIN_TABLE_IDX,
  M2M_WIFI_REQRSP_DELETE_APID,
  M2M_WIFI_MAX_CONFIG_ALL
}
 This enum contains host commands used to configure the WINC board. More...
 
enum  tenuM2mConnChangedErrcode {
  M2M_ERR_SCAN_FAIL = ((uint8)1),
  M2M_ERR_JOIN_FAIL,
  M2M_ERR_AUTH_FAIL,
  M2M_ERR_ASSOC_FAIL,
  M2M_ERR_CONN_INPROGRESS,
  M2M_ERR_SCAN_FAIL = ((uint8)1),
  M2M_ERR_JOIN_FAIL,
  M2M_ERR_AUTH_FAIL,
  M2M_ERR_ASSOC_FAIL,
  M2M_ERR_CONN_INPROGRESS
}
 
enum  tenuM2mConnState {
  M2M_WIFI_DISCONNECTED = 0,
  M2M_WIFI_CONNECTED,
  M2M_WIFI_ROAMED,
  M2M_WIFI_UNDEF = 0xff,
  M2M_WIFI_DISCONNECTED = 0,
  M2M_WIFI_CONNECTED,
  M2M_WIFI_ROAMED,
  M2M_WIFI_UNDEF = 0xff
}
 This enum contains all the Wi-Fi connection states. More...
 
enum  tenuM2mDefaultConnErrcode {
  M2M_DEFAULT_CONN_INPROGRESS = ((sint8)-23),
  M2M_DEFAULT_CONN_FAIL,
  M2M_DEFAULT_CONN_SCAN_MISMATCH,
  M2M_DEFAULT_CONN_EMPTY_LIST,
  M2M_DEFAULT_CONN_INPROGRESS = ((sint8)-23),
  M2M_DEFAULT_CONN_FAIL,
  M2M_DEFAULT_CONN_SCAN_MISMATCH,
  M2M_DEFAULT_CONN_EMPTY_LIST
}
 
enum  tenuM2mGenCmd {
  M2M_WIFI_REQRSP_DELETE_APID = M2M_GEN_CMD_BASE,
  M2M_WIFI_REQ_ROAMING,
  M2M_WIFI_REQ_SCAN_SSID_LIST,
  M2M_WIFI_REQ_SET_STOP_SCAN_OPTION,
  M2M_WIFI_MAX_GEN_ALL,
  M2M_WIFI_REQ_ROAMING = M2M_GEN_CMD_BASE,
  M2M_WIFI_REQ_XO_SLEEP_ENABLE,
  M2M_WIFI_REQ_SET_STOP_SCAN_OPTION,
  M2M_WIFI_MAX_GEN_ALL
}
 This enum contains additional WINC commands (overflow of previous enums). More...
 
enum  tenuM2mIpCmd {
  M2M_IP_REQ_STATIC_IP_CONF = ((uint8) 10),
  M2M_IP_REQ_ENABLE_DHCP,
  M2M_IP_REQ_DISABLE_DHCP,
  M2M_IP_REQ_STATIC_IP_CONF = ((uint8) 10),
  M2M_IP_REQ_ENABLE_DHCP,
  M2M_IP_REQ_DISABLE_DHCP
}
 This enum contains all the WINC commands related to IP. More...
 
enum  tenuM2mOtaCmd {
  M2M_OTA_REQ_NOTIF_SET_URL = M2M_OTA_CMD_BASE,
  M2M_OTA_REQ_NOTIF_CHECK_FOR_UPDATE,
  M2M_OTA_REQ_NOTIF_SCHED,
  M2M_OTA_REQ_START_UPDATE,
  M2M_OTA_REQ_SWITCH_FIRMWARE,
  M2M_OTA_REQ_ROLLBACK,
  M2M_OTA_REQ_ABORT,
  M2M_OTA_RESP_NOTIF_UPDATE_INFO,
  M2M_OTA_RESP_UPDATE_STATUS,
  M2M_OTA_REQ_TEST,
  M2M_OTA_MAX_ALL,
  M2M_OTA_REQ_NOTIF_SET_URL = M2M_OTA_CMD_BASE,
  M2M_OTA_REQ_NOTIF_CHECK_FOR_UPDATE,
  M2M_OTA_REQ_NOTIF_SCHED,
  M2M_OTA_REQ_START_FW_UPDATE,
  M2M_OTA_REQ_SWITCH_FIRMWARE,
  M2M_OTA_REQ_ROLLBACK_FW,
  M2M_OTA_RESP_NOTIF_UPDATE_INFO,
  M2M_OTA_RESP_UPDATE_STATUS,
  M2M_OTA_REQ_TEST,
  M2M_OTA_REQ_START_CRT_UPDATE,
  M2M_OTA_REQ_SWITCH_CRT_IMG,
  M2M_OTA_REQ_ROLLBACK_CRT,
  M2M_OTA_REQ_ABORT,
  M2M_OTA_REQ_HOST_FILE_STATUS,
  M2M_OTA_RESP_HOST_FILE_STATUS,
  M2M_OTA_REQ_HOST_FILE_DOWNLOAD,
  M2M_OTA_RESP_HOST_FILE_DOWNLOAD,
  M2M_OTA_REQ_HOST_FILE_READ,
  M2M_OTA_RESP_HOST_FILE_READ,
  M2M_OTA_REQ_HOST_FILE_ERASE,
  M2M_OTA_RESP_HOST_FILE_ERASE,
  M2M_OTA_MAX_ALL
}
 This enum contains all the WINC commands used for OTA operation. More...
 
enum  tenuM2mP2pCmd {
  M2M_WIFI_REQ_P2P_INT_CONNECT = M2M_P2P_CMD_BASE,
  M2M_WIFI_REQ_ENABLE_P2P,
  M2M_WIFI_REQ_DISABLE_P2P,
  M2M_WIFI_REQ_P2P_REPOST,
  M2M_WIFI_MAX_P2P_ALL
}
 This enum contains WINC commands while in P2P mode. More...
 
enum  tenuM2mPwrMode {
  PWR_AUTO = ((uint8) 1),
  PWR_LOW1,
  PWR_LOW2,
  PWR_HIGH,
  PWR_AUTO = ((uint8) 1),
  PWR_LOW1,
  PWR_LOW2,
  PWR_HIGH
}
 
enum  tenuM2mReqGroup {
  M2M_REQ_GROUP_MAIN = 0,
  M2M_REQ_GROUP_WIFI,
  M2M_REQ_GROUP_IP,
  M2M_REQ_GROUP_HIF,
  M2M_REQ_GROUP_OTA,
  M2M_REQ_GROUP_SSL,
  M2M_REQ_GROUP_SIGMA,
  M2M_REQ_GROUP_INTERNAL,
  M2M_REQ_GROUP_MAIN = 0,
  M2M_REQ_GROUP_WIFI,
  M2M_REQ_GROUP_IP,
  M2M_REQ_GROUP_HIF,
  M2M_REQ_GROUP_OTA,
  M2M_REQ_GROUP_SSL,
  M2M_REQ_GROUP_CRYPTO,
  M2M_REQ_GROUP_SIGMA,
  M2M_REQ_GROUP_INTERNAL
}
 
enum  tenuM2mReqpkt {
  M2M_REQ_CONFIG_PKT,
  M2M_REQ_DATA_PKT = 0x80,
  M2M_REQ_CONFIG_PKT,
  M2M_REQ_DATA_PKT = 0x80
}
 
enum  tenuM2mScanCh {
  M2M_WIFI_CH_1 = ((uint8) 1),
  M2M_WIFI_CH_2,
  M2M_WIFI_CH_3,
  M2M_WIFI_CH_4,
  M2M_WIFI_CH_5,
  M2M_WIFI_CH_6,
  M2M_WIFI_CH_7,
  M2M_WIFI_CH_8,
  M2M_WIFI_CH_9,
  M2M_WIFI_CH_10,
  M2M_WIFI_CH_11,
  M2M_WIFI_CH_12,
  M2M_WIFI_CH_13,
  M2M_WIFI_CH_14,
  M2M_WIFI_CH_ALL = ((uint8) 255),
  M2M_WIFI_CH_1 = ((uint8) 1),
  M2M_WIFI_CH_2,
  M2M_WIFI_CH_3,
  M2M_WIFI_CH_4,
  M2M_WIFI_CH_5,
  M2M_WIFI_CH_6,
  M2M_WIFI_CH_7,
  M2M_WIFI_CH_8,
  M2M_WIFI_CH_9,
  M2M_WIFI_CH_10,
  M2M_WIFI_CH_11,
  M2M_WIFI_CH_12,
  M2M_WIFI_CH_13,
  M2M_WIFI_CH_14,
  M2M_WIFI_CH_ALL = ((uint8) 255)
}
 This enum contains all the Wi-Fi RF channels. More...
 
enum  tenuM2mScanRegion {
  REG_CH_1 = ((uint16) 1 << 0),
  REG_CH_2 = ((uint16) 1 << 1),
  REG_CH_3 = ((uint16) 1 << 2),
  REG_CH_4 = ((uint16) 1 << 3),
  REG_CH_5 = ((uint16) 1 << 4),
  REG_CH_6 = ((uint16) 1 << 5),
  REG_CH_7 = ((uint16) 1 << 6),
  REG_CH_8 = ((uint16) 1 << 7),
  REG_CH_9 = ((uint16) 1 << 8),
  REG_CH_10 = ((uint16) 1 << 9),
  REG_CH_11 = ((uint16) 1 << 10),
  REG_CH_12 = ((uint16) 1 << 11),
  REG_CH_13 = ((uint16) 1 << 12),
  REG_CH_14 = ((uint16) 1 << 13),
  REG_CH_ALL = ((uint16) 0x3FFF),
  NORTH_AMERICA = ((uint16) 0x7FF),
  EUROPE = ((uint16) 0x1FFF),
  ASIA = ((uint16) 0x3FFF),
  REG_CH_1 = ((uint16) 1 << 0),
  REG_CH_2 = ((uint16) 1 << 1),
  REG_CH_3 = ((uint16) 1 << 2),
  REG_CH_4 = ((uint16) 1 << 3),
  REG_CH_5 = ((uint16) 1 << 4),
  REG_CH_6 = ((uint16) 1 << 5),
  REG_CH_7 = ((uint16) 1 << 6),
  REG_CH_8 = ((uint16) 1 << 7),
  REG_CH_9 = ((uint16) 1 << 8),
  REG_CH_10 = ((uint16) 1 << 9),
  REG_CH_11 = ((uint16) 1 << 10),
  REG_CH_12 = ((uint16) 1 << 11),
  REG_CH_13 = ((uint16) 1 << 12),
  REG_CH_14 = ((uint16) 1 << 13),
  REG_CH_ALL = ((uint16) 0x3FFF),
  NORTH_AMERICA = ((uint16) 0x7FF),
  EUROPE = ((uint16) 0x1FFF),
  ASIA = ((uint16) 0x3FFF)
}
 This enum contains all the Wi-Fi channel regions. More...
 
enum  tenuM2mSecType {
  M2M_WIFI_SEC_INVALID = 0,
  M2M_WIFI_SEC_OPEN,
  M2M_WIFI_SEC_WPA_PSK,
  M2M_WIFI_SEC_WEP,
  M2M_WIFI_SEC_802_1X,
  M2M_WIFI_NUM_AUTH_TYPES,
  M2M_WIFI_SEC_INVALID = 0,
  M2M_WIFI_SEC_OPEN,
  M2M_WIFI_SEC_WPA_PSK,
  M2M_WIFI_SEC_WEP,
  M2M_WIFI_SEC_802_1X,
  M2M_WIFI_NUM_AUTH_TYPES
}
 This enum contains all the supported Wi-Fi security types. More...
 
enum  tenuM2mServerCmd {
  M2M_WIFI_REQ_CLIENT_CTRL = M2M_SERVER_CMD_BASE,
  M2M_WIFI_RESP_CLIENT_INFO,
  M2M_WIFI_REQ_SERVER_INIT,
  M2M_WIFI_MAX_SERVER_ALL,
  M2M_WIFI_REQ_CLIENT_CTRL = M2M_SERVER_CMD_BASE,
  M2M_WIFI_RESP_CLIENT_INFO,
  M2M_WIFI_REQ_SERVER_INIT,
  M2M_WIFI_MAX_SERVER_ALL
}
 These commands are currently not supported. More...
 
enum  tenuM2mSetGainsErrcode {
  M2M_ERR_GAIN_TABLE_INVALID = ((sint8)-10),
  M2M_ERR_READ_GAIN_TABLE
}
 
enum  tenuM2mSigmaCmd {
  M2M_SIGMA_ENABLE = ((uint8) 3),
  M2M_SIGMA_TA_START,
  M2M_SIGMA_TA_STATS,
  M2M_SIGMA_TA_RECEIVE_STOP,
  M2M_SIGMA_ICMP_ARP,
  M2M_SIGMA_ICMP_RX,
  M2M_SIGMA_ICMP_TX,
  M2M_SIGMA_UDP_TX,
  M2M_SIGMA_UDP_TX_DEFER,
  M2M_SIGMA_SECURITY_POLICY,
  M2M_SIGMA_SET_SYSTIME,
  M2M_SIGMA_ENABLE = ((uint8) 3),
  M2M_SIGMA_TA_START,
  M2M_SIGMA_TA_STATS,
  M2M_SIGMA_TA_RECEIVE_STOP,
  M2M_SIGMA_ICMP_ARP,
  M2M_SIGMA_ICMP_RX,
  M2M_SIGMA_ICMP_TX,
  M2M_SIGMA_UDP_TX,
  M2M_SIGMA_UDP_TX_DEFER,
  M2M_SIGMA_SECURITY_POLICY,
  M2M_SIGMA_SET_SYSTIME
}
 This enum contains all the WINC commands related to Sigma. More...
 
enum  tenuM2mSsidMode {
  SSID_MODE_VISIBLE = 0,
  SSID_MODE_HIDDEN,
  SSID_MODE_VISIBLE = 0,
  SSID_MODE_HIDDEN
}
 
enum  tenuM2mSslCmd {
  M2M_SSL_REQ_CERT_VERIF,
  M2M_SSL_REQ_ECC,
  M2M_SSL_RESP_ECC,
  M2M_SSL_RSV,
  M2M_SSL_REQ_WRITE_OWN_CERTS,
  M2M_SSL_REQ_SET_CS_LIST,
  M2M_SSL_RESP_SET_CS_LIST,
  M2M_SSL_RESP_WRITE_OWN_CERTS,
  M2M_SSL_REQ_CERT_VERIF,
  M2M_SSL_REQ_ECC,
  M2M_SSL_RESP_ECC,
  M2M_SSL_IND_CRL,
  M2M_SSL_REQ_WRITE_OWN_CERTS,
  M2M_SSL_REQ_SET_CS_LIST,
  M2M_SSL_RESP_SET_CS_LIST,
  M2M_SSL_RESP_WRITE_OWN_CERTS
}
 This enum contains WINC commands related to TLS handshake. More...
 
enum  tenuM2mStaCmd {
  M2M_WIFI_REQ_CONNECT = M2M_STA_CMD_BASE,
  M2M_WIFI_REQ_DEFAULT_CONNECT,
  M2M_WIFI_RESP_DEFAULT_CONNECT,
  M2M_WIFI_REQ_DISCONNECT,
  M2M_WIFI_RESP_CON_STATE_CHANGED,
  M2M_WIFI_REQ_SLEEP,
  M2M_WIFI_REQ_WPS_SCAN,
  M2M_WIFI_REQ_WPS,
  M2M_WIFI_REQ_START_WPS,
  M2M_WIFI_REQ_DISABLE_WPS,
  M2M_WIFI_REQ_DHCP_CONF,
  M2M_WIFI_RESP_IP_CONFIGURED,
  M2M_WIFI_RESP_IP_CONFLICT,
  M2M_WIFI_REQ_ENABLE_MONITORING,
  M2M_WIFI_REQ_DISABLE_MONITORING,
  M2M_WIFI_RESP_WIFI_RX_PACKET,
  M2M_WIFI_REQ_SEND_WIFI_PACKET,
  M2M_WIFI_REQ_LSN_INT,
  M2M_WIFI_REQ_DOZE,
  M2M_WIFI_REQ_GET_PRNG,
  M2M_WIFI_RESP_GET_PRNG,
  M2M_WIFI_REQ_CONN,
  M2M_WIFI_IND_CONN_PARAM,
  M2M_WIFI_MAX_STA_ALL,
  M2M_WIFI_REQ_CONNECT = M2M_STA_CMD_BASE,
  M2M_WIFI_REQ_DEFAULT_CONNECT,
  M2M_WIFI_RESP_DEFAULT_CONNECT,
  M2M_WIFI_REQ_DISCONNECT,
  M2M_WIFI_RESP_CON_STATE_CHANGED,
  M2M_WIFI_REQ_SLEEP,
  M2M_WIFI_REQ_WPS_SCAN,
  M2M_WIFI_REQ_WPS,
  M2M_WIFI_REQ_START_WPS,
  M2M_WIFI_REQ_DISABLE_WPS,
  M2M_WIFI_REQ_DHCP_CONF,
  M2M_WIFI_RESP_IP_CONFIGURED,
  M2M_WIFI_RESP_IP_CONFLICT,
  M2M_WIFI_REQ_ENABLE_MONITORING,
  M2M_WIFI_REQ_DISABLE_MONITORING,
  M2M_WIFI_RESP_WIFI_RX_PACKET,
  M2M_WIFI_REQ_SEND_WIFI_PACKET,
  M2M_WIFI_REQ_LSN_INT,
  M2M_WIFI_REQ_DOZE,
  M2M_WIFI_REQ_CONN,
  M2M_WIFI_IND_CONN_PARAM,
  M2M_WIFI_REQ_DHCP_FAILURE,
  M2M_WIFI_MAX_STA_ALL
}
 This enum contains WINC commands while in Station mode. More...
 
enum  tenuM2mTxPwrLevel {
  TX_PWR_HIGH = ((uint8) 1),
  TX_PWR_MED,
  TX_PWR_LOW,
  TX_PWR_HIGH = ((uint8) 1),
  TX_PWR_MED,
  TX_PWR_LOW
}
 
enum  tenuM2mWepKeyIndex {
  M2M_WIFI_WEP_KEY_INDEX_1 = ((uint8) 1),
  M2M_WIFI_WEP_KEY_INDEX_2,
  M2M_WIFI_WEP_KEY_INDEX_3,
  M2M_WIFI_WEP_KEY_INDEX_4,
  M2M_WIFI_WEP_KEY_INDEX_1 = ((uint8) 1),
  M2M_WIFI_WEP_KEY_INDEX_2,
  M2M_WIFI_WEP_KEY_INDEX_3,
  M2M_WIFI_WEP_KEY_INDEX_4
}
 
enum  tenuM2mWifiMode {
  M2M_WIFI_MODE_NORMAL = ((uint8) 1),
  M2M_WIFI_MODE_CONFIG,
  M2M_WIFI_MODE_ETHERNET,
  M2M_WIFI_MODE_MAX,
  M2M_WIFI_MODE_NORMAL = ((uint8) 1),
  M2M_WIFI_MODE_ATE_HIGH,
  M2M_WIFI_MODE_ATE_LOW,
  M2M_WIFI_MODE_ETHERNET,
  M2M_WIFI_MODE_MAX
}
 This enum contains all the supported Wi-Fi Operation Modes. More...
 
enum  tenuOtaError {
  OTA_SUCCESS = (0),
  OTA_ERR_WORKING_IMAGE_LOAD_FAIL = ((sint8) -1),
  OTA_ERR_INVALID_CONTROL_SEC = ((sint8) -2),
  M2M_ERR_OTA_SWITCH_FAIL = ((sint8) -3),
  M2M_ERR_OTA_START_UPDATE_FAIL = ((sint8) -4),
  M2M_ERR_OTA_ROLLBACK_FAIL = ((sint8) -5),
  M2M_ERR_OTA_INVALID_FLASH_SIZE = ((sint8) -6),
  M2M_ERR_OTA_INVALID_ARG = ((sint8) -7),
  M2M_ERR_OTA_INPROGRESS = ((sint8) -8),
  OTA_SUCCESS = (0),
  OTA_ERR_WORKING_IMAGE_LOAD_FAIL = ((sint8) -1),
  OTA_ERR_INVALID_CONTROL_SEC = ((sint8) -2),
  M2M_ERR_OTA_SWITCH_FAIL = ((sint8) -3),
  M2M_ERR_OTA_START_UPDATE_FAIL = ((sint8) -4),
  M2M_ERR_OTA_ROLLBACK_FAIL = ((sint8) -5),
  M2M_ERR_OTA_INVALID_FLASH_SIZE = ((sint8) -6),
  M2M_ERR_OTA_INVALID_ARG = ((sint8) -7),
  M2M_ERR_OTA_INPROGRESS = ((sint8) -8)
}
 OTA Error codes. More...
 
enum  tenuOtaUpdateStatus {
  OTA_STATUS_SUCCESS = 0,
  OTA_STATUS_FAIL = 1,
  OTA_STATUS_INVALID_ARG = 2,
  OTA_STATUS_INVALID_RB_IMAGE = 3,
  OTA_STATUS_INVALID_FLASH_SIZE = 4,
  OTA_STATUS_ALREADY_ENABLED = 5,
  OTA_STATUS_UPDATE_INPROGRESS = 6,
  OTA_STATUS_IMAGE_VERIF_FAILED = 7,
  OTA_STATUS_CONNECTION_ERROR = 8,
  OTA_STATUS_SERVER_ERROR = 9,
  OTA_STATUS_ABORTED = 10,
  OTA_STATUS_SUCCESS = 0,
  OTA_STATUS_FAIL = 1,
  OTA_STATUS_INVALID_ARG = 2,
  OTA_STATUS_INVALID_RB_IMAGE = 3,
  OTA_STATUS_INVALID_FLASH_SIZE = 4,
  OTA_STATUS_ALREADY_ENABLED = 5,
  OTA_STATUS_UPDATE_INPROGRESS = 6,
  OTA_STATUS_IMAGE_VERIF_FAILED = 7,
  OTA_STATUS_CONNECTION_ERROR = 8,
  OTA_STATUS_SERVER_ERROR = 9,
  OTA_STATUS_ABORTED = 10
}
 This struct contains the OTA return status. More...
 
enum  tenuOtaUpdateStatusType {
  DL_STATUS = 1,
  SW_STATUS = 2,
  RB_STATUS = 3,
  AB_STATUS = 4,
  DL_STATUS = 1,
  SW_STATUS = 2,
  RB_STATUS = 3,
  AB_STATUS = 4,
  HFD_STATUS = 5
}
 This struct contains the OTA update status type. More...
 
enum  tenuPowerSaveModes {
  M2M_NO_PS,
  M2M_PS_AUTOMATIC,
  M2M_PS_H_AUTOMATIC,
  M2M_PS_DEEP_AUTOMATIC,
  M2M_PS_MANUAL,
  M2M_NO_PS,
  M2M_PS_AUTOMATIC,
  M2M_PS_H_AUTOMATIC,
  M2M_PS_DEEP_AUTOMATIC,
  M2M_PS_MANUAL
}
 This enum contains all the supported Wi-Fi Power Save modes. More...
 
enum  tenuRootCertPubKeyType {
  ROOT_CERT_PUBKEY_RSA = 1,
  ROOT_CERT_PUBKEY_ECDSA = 2,
  ROOT_CERT_PUBKEY_RSA = 1,
  ROOT_CERT_PUBKEY_ECDSA = 2
}
 This enum contains the supported public key types for TLS root certificates. More...
 
enum  tenuSNTPUseDHCP {
  SNTP_DISABLE_DHCP = 0,
  SNTP_ENABLE_DHCP = 1,
  SNTP_DISABLE_DHCP = 0,
  SNTP_ENABLE_DHCP = 1
}
 Use NTP server provided by the DHCP server. More...
 
enum  tenuTlsFlashStatus {
  TLS_FLASH_OK,
  TLS_FLASH_OK_NO_CHANGE,
  TLS_FLASH_ERR_CORRUPT,
  TLS_FLASH_ERR_NO_CHANGE,
  TLS_FLASH_ERR_UNKNOWN,
  TLS_FLASH_OK,
  TLS_FLASH_OK_NO_CHANGE,
  TLS_FLASH_ERR_CORRUPT,
  TLS_FLASH_ERR_NO_CHANGE,
  TLS_FLASH_ERR_UNKNOWN
}
 
enum  tenuWPSTrigger {
  WPS_PIN_TRIGGER = 0,
  WPS_PBC_TRIGGER = 4,
  WPS_PIN_TRIGGER = 0,
  WPS_PBC_TRIGGER = 4
}
 This enum contains the WPS triggering methods. More...
 

#define __PADDING_tstrM2MBLEInfo_   (4 - ((2 + M2M_MAX_SSID_LEN + M2M_MAX_PSK_LEN) % 4))
#define __PADDING_tstrM2MWPSInfo_   (4 - ((2 + M2M_MAX_SSID_LEN + M2M_MAX_PSK_LEN) % 4))
#define __PADDING_tstrSystemTime_   (4 - (7 % 4))

Padding for tstrSystemTime structure.

#define tstrM2MSNTPConfig_PAD   (4 - ((M2M_NTP_MAX_SERVER_NAME_LENGTH + 1 + 1) % 4))