Microchip® Advanced Software Framework

m2m_types.h File Reference

WINC Application Interface Internal Types.

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

Data Structures

struct  tstrConfAutoRate
 Auto TX rate selection parameters passed to m2m_wifi_conf_auto_rate. More...
 
struct  tstrCyptoResp
 crypto response More...
 
struct  tstrM2MAPConfig
 AP Configuration. More...
 
struct  tstrM2MAPConfigExt
 AP Configuration Extension. More...
 
struct  tstrM2MAPModeConfig
 AP Configuration. More...
 
struct  tstrM2mBatteryVoltage
 Battery Voltage. More...
 
struct  tstrM2mClientState
 PS Client State. More...
 
struct  tstrM2mConnCredCmn
 Wi-Fi Connect Credentials Common section. More...
 
struct  tstrM2mConnCredHdr
 Wi-Fi Connect Credentials Header. More...
 
struct  tstrM2MConnInfo
 M2M Provisioning Information obtained from the HTTP Provisioning server. More...
 
struct  tstrM2MDefaultConnResp
 Response error of the m2m_default_connect. More...
 
struct  tstrM2MDeviceNameConfig
 Device name. More...
 
struct  tstrM2mEnableLogs
 Enable Firmware logs. More...
 
struct  tstrM2MGenericResp
 Generic success/error response. More...
 
struct  tstrM2MIPConfig
 IP configuration (static/DHCP). The same structure is used for DCHP callback as well as static IP configuration. More...
 
struct  tstrM2mIpRsvdPkt
 Received Packet Size and Data Offset. More...
 
struct  tstrM2mLsnInt
 Listen interval. More...
 
struct  tstrM2MMulticastMac
 M2M add/remove multi-cast mac address. More...
 
struct  tstrM2MProvisionInfo
 M2M Provisioning Information obtained from the HTTP Provisioning server. More...
 
struct  tstrM2MProvisionModeConfig
 M2M Provisioning Mode Configuration. More...
 
struct  tstrM2mPsType
 Power Save Configuration. More...
 
struct  tstrM2mPwrMode
 Power Mode. More...
 
struct  tstrM2mReqScanResult
 Scan Result Request. More...
 
struct  tstrM2MScan
 Wi-Fi Scan Request. More...
 
struct  tstrM2mScanDone
 Wi-Fi Scan Result. More...
 
struct  tstrM2MScanOption
 This struct contains the configuration options for Wi-Fi scan. More...
 
struct  tstrM2MScanRegion
 Wi-Fi channel regulation region information. More...
 
struct  tstrM2Mservercmd
 PS Server CMD. More...
 
struct  tstrM2mServerInit
 PS Server initialization. More...
 
struct  tstrM2mSetMacAddress
 Sets the MAC address from application. The WINC load the mac address from the effuse by default to the WINC configuration memory, but that function is used to let the application overwrite the configuration memory with the mac address from the host. More...
 
struct  tstrM2mSlpReqTime
 Manual power save request sleep time. More...
 
struct  tstrM2MSNTPConfig
 SNTP Client Configuration. More...
 
struct  tstrM2MStopScanOption
 This struct holds additional configuration options for Wi-Fi scan. More...
 
struct  tstrM2mTxPwrLevel
 Tx power level. 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  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  tstrM2mWiFiGainIdx
 Gain Table index selection corresponding to specific WiFi region. More...
 
struct  tstrM2mWifiGainsParams
 Gain Values. More...
 
struct  tstrM2MWifiMonitorModeCtrl
 Wi-Fi Monitor Mode Filter. More...
 
struct  tstrM2mWifiPsk
 Passphrase and PSK for WPA(2) PSK. More...
 
struct  tstrM2mWiFiRoaming
 Roaming related information . More...
 
struct  tstrM2MWifiRxPacketInfo
 Wi-Fi RX Frame Header. More...
 
struct  tstrM2mWifiscanResult
 Wi-Fi Scan Result. More...
 
struct  tstrM2mWifiStateChanged
 Wi-Fi Connection State. More...
 
struct  tstrM2MWifiTxPacketInfo
 Wi-Fi TX Packet Info. More...
 
struct  tstrM2mWifiWep
 WEP security key header. More...
 
struct  tstrM2mWiFiXOSleepEnable
 Choose to keep the XO on or off over deep sleep. More...
 
struct  tstrM2MWPSConnect
 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  tstrOtaHostFileEraseStatusResp
 Host File OTA Information. More...
 
struct  tstrOtaHostFileGetStatusResp
 Host File OTA Information. More...
 
struct  tstrOtaHostFileReadStatusResp
 Host File OTA Information. 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  tstrSslSetActiveCsList
 
struct  tstrSystemTime
 Used for time storage. More...
 
struct  tstrTlsCrlEntry
 Certificate data for inclusion in a revocation list (CRL) More...
 
struct  tstrTlsCrlInfo
 Certificate revocation list details. More...
 
struct  tstrTlsSrvChunkHdr
 
struct  tstrTlsSrvSecFileEntry
 This struct contains a TLS certificate. More...
 
struct  tstrTlsSrvSecHdr
 This struct contains a set of TLS certificates. More...
 

Macros

#define DEFAULT_CONF_AR_INITIALIZER   { 5, 1, TX_RATE_AUTO, TX_RATE_AUTO, 10, 5, 3 }
 
#define HFD_INVALID_HANDLER   (0xff)
 
#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_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_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_CRYPTO_CMD_BASE   1
 
#define M2M_CUST_IE_LEN_MAX   252
 
#define M2M_DEVICE_NAME_MAX   48
 
#define M2M_DRV_VERSION_SHIFT   (16)
 
#define M2M_ETHERNET_HDR_LEN   14
 
#define M2M_ETHERNET_HDR_OFFSET   34
 
#define M2M_FASTCONNECT_DEFAULT_RSSI_THRESH   (-45)
 
#define M2M_FW_VERSION_SHIFT   (0)
 
#define M2M_GEN_CMD_BASE   105
 
#define M2M_GET_DRV_MAJOR(ver_info_word)   M2M_GET_MAJOR(M2M_GET_DRV_VER(ver_info_word))
 
#define M2M_GET_DRV_MINOR(ver_info_word)   M2M_GET_MINOR(M2M_GET_DRV_VER(ver_info_word))
 
#define M2M_GET_DRV_PATCH(ver_info_word)   M2M_GET_PATCH(M2M_GET_DRV_VER(ver_info_word))
 
#define M2M_GET_DRV_VER(ver_info_word)   ((uint16) ((ver_info_word) >> M2M_DRV_VERSION_SHIFT))
 
#define M2M_GET_FW_MAJOR(ver_info_word)   M2M_GET_MAJOR(M2M_GET_FW_VER(ver_info_word))
 
#define M2M_GET_FW_MINOR(ver_info_word)   M2M_GET_MINOR(M2M_GET_FW_VER(ver_info_word))
 
#define M2M_GET_FW_PATCH(ver_info_word)   M2M_GET_PATCH(M2M_GET_FW_VER(ver_info_word))
 
#define M2M_GET_FW_VER(ver_info_word)   ((uint16) ((ver_info_word) >> M2M_FW_VERSION_SHIFT))
 
#define M2M_GET_MAJOR(ver_info_hword)   ((uint8)((ver_info_hword) >> M2M_MAJOR_SHIFT) & 0xff)
 
#define M2M_GET_MINOR(ver_info_hword)   ((uint8)((ver_info_hword) >> M2M_MINOR_SHIFT) & 0x0f)
 
#define M2M_GET_PATCH(ver_info_hword)   ((uint8)((ver_info_hword) >> M2M_PATCH_SHIFT) & 0x0f)
 
#define M2M_LISTEN_INTERVAL   1
 
#define M2M_MAC_ADDRES_LEN   6
 
#define M2M_MAJOR_SHIFT   (8)
 
#define M2M_MAKE_VERSION(major, minor, patch)
 
#define M2M_MAKE_VERSION_INFO(fw_major, fw_minor, fw_patch, drv_major, drv_minor, drv_patch)
 
#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_MIN_REQ_DRV_SVN_VERSION   (0)
 
#define M2M_MIN_REQ_DRV_VERSION_MAJOR_NO   (19)
 
#define M2M_MIN_REQ_DRV_VERSION_MINOR_NO   (3)
 
#define M2M_MIN_REQ_DRV_VERSION_PATCH_NO   (0)
 
#define M2M_MINOR_SHIFT   (4)
 
#define M2M_NTP_MAX_SERVER_NAME_LENGTH   32
 
#define M2M_OTA_CMD_BASE   100
 
#define M2M_PATCH_SHIFT   (0)
 
#define M2M_RELEASE_VERSION_MAJOR_NO   (19)
 
#define M2M_RELEASE_VERSION_MINOR_NO   (7)
 
#define M2M_RELEASE_VERSION_PATCH_NO   (3)
 
#define M2M_RELEASE_VERSION_SVN_VERSION   (SVN_REVISION)
 
#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   (30)
 
#define M2M_SERVER_CMD_BASE   100
 
#define M2M_SHA256_CONTEXT_BUFF_LEN   (128)
 
#define M2M_STA_CMD_BASE   40
 
#define M2M_WIFI_CONN_BSSID_FLAG   0x01
 
#define MAX_FILE_READ_STEP   128
 
#define MAX_HIDDEN_SITES   4
 
#define OTA_FORMAT_VER_0   (0)
 
#define OTA_FORMAT_VER_1   (1)
 
#define OTA_FORMAT_VER_2   (2)
 
#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 PWR_DEFAULT   PWR_HIGH
 
#define REL_19_0_0_VER   M2M_MAKE_VERSION_INFO(19,0,0,18,1,1)
 
#define REL_19_1_0_VER   M2M_MAKE_VERSION_INFO(19,1,0,18,2,0)
 
#define REL_19_2_0_VER   M2M_MAKE_VERSION_INFO(19,2,0,19,2,0)
 
#define REL_19_2_1_VER   M2M_MAKE_VERSION_INFO(19,2,1,19,2,0)
 
#define REL_19_2_2_VER   M2M_MAKE_VERSION_INFO(19,2,2,19,2,0)
 
#define REL_19_3_0_VER   M2M_MAKE_VERSION_INFO(19,3,0,19,3,0)
 
#define REL_19_3_1_VER   M2M_MAKE_VERSION_INFO(19,3,1,19,3,0)
 
#define REL_19_4_0_VER   M2M_MAKE_VERSION_INFO(19,4,0,19,3,0)
 
#define REL_19_4_1_VER   M2M_MAKE_VERSION_INFO(19,4,1,19,3,0)
 
#define REL_19_4_2_VER   M2M_MAKE_VERSION_INFO(19,4,2,19,3,0)
 
#define REL_19_4_3_VER   M2M_MAKE_VERSION_INFO(19,4,3,19,3,0)
 
#define REL_19_4_4_VER   M2M_MAKE_VERSION_INFO(19,4,4,19,3,0)
 
#define REL_19_4_5_VER   M2M_MAKE_VERSION_INFO(19,4,5,19,3,0)
 
#define REL_19_4_6_VER   M2M_MAKE_VERSION_INFO(19,4,6,19,3,0)
 
#define REL_19_5_0_VER   M2M_MAKE_VERSION_INFO(19,5,0,19,3,0)
 
#define REL_19_5_1_VER   M2M_MAKE_VERSION_INFO(19,5,1,19,3,0)
 
#define REL_19_5_2_VER   M2M_MAKE_VERSION_INFO(19,5,2,19,3,0)
 
#define REL_19_5_3_VER   M2M_MAKE_VERSION_INFO(19,5,3,19,3,0)
 
#define REL_19_6_0_VER   M2M_MAKE_VERSION_INFO(19,6,0,19,3,0)
 
#define REL_19_6_4_VER   M2M_MAKE_VERSION_INFO(19,6,4,19,3,0)
 
#define REL_19_7_0_VER   M2M_MAKE_VERSION_INFO(19,7,0,19,3,0)
 
#define REL_19_7_1_VER   M2M_MAKE_VERSION_INFO(19,7,1,19,3,0)
 
#define REL_19_7_2_VER   M2M_MAKE_VERSION_INFO(19,7,2,19,3,0)
 
#define REL_19_7_3_VER   M2M_MAKE_VERSION_INFO(19,7,3,19,3,0)
 
#define TLS_CERTS_CHUNKED_SIG_VALUE   0x6ec8
 
#define TLS_CRL_DATA_MAX_LEN   64
 
#define TLS_CRL_MAX_ENTRIES   10
 
#define TLS_CRL_TYPE_CERT_HASH   1
 
#define TLS_CRL_TYPE_NONE   0
 
#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)
 
#define WLAN_11B_RATES_INITIALIZER
 
#define WLAN_11BG_RATES_ASC_INITIALIZER
 
#define WLAN_11BGN_RATES_ASC_INITIALIZER
 
#define WLAN_11G_RATES_INITIALIZER
 
#define WLAN_11N_RATES_INITIALIZER
 

Enumerations

enum  tenuFlashLUTEntryID {
  ENTRY_ID_FW = 0x0011,
  ENTRY_ID_PLLGAIN = 0x0021,
  ENTRY_ID_TLSROOT = 0x0031,
  ENTRY_ID_TLSCLIENT = 0x0032,
  ENTRY_ID_TLSSERVER = 0x0033,
  ENTRY_ID_CONNPARAMS = 0x0034,
  ENTRY_ID_HTTPFILES = 0x0035,
  ENTRY_ID_TLSCOMMON = 0x0036,
  ENTRY_ID_HOSTFILE = 0x0041
}
 
enum  tenuM2mApCmd {
  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_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
}
 
enum  tenuM2mConnState {
  M2M_WIFI_DISCONNECTED = 0,
  M2M_WIFI_CONNECTED,
  M2M_WIFI_ROAMED,
  M2M_WIFI_UNDEF = 0xff
}
 Wi-Fi Connection State. More...
 
enum  tenuM2mCryptoCmd {
  M2M_CRYPTO_REQ_SHA256_INIT = M2M_CRYPTO_CMD_BASE,
  M2M_CRYPTO_RESP_SHA256_INIT,
  M2M_CRYPTO_REQ_SHA256_UPDATE,
  M2M_CRYPTO_RESP_SHA256_UPDATE,
  M2M_CRYPTO_REQ_SHA256_FINISH,
  M2M_CRYPTO_RESP_SHA256_FINISH,
  M2M_CRYPTO_REQ_RSA_SIGN_GEN,
  M2M_CRYPTO_RESP_RSA_SIGN_GEN,
  M2M_CRYPTO_REQ_RSA_SIGN_VERIFY,
  M2M_CRYPTO_RESP_RSA_SIGN_VERIFY,
  M2M_CRYPTO_MAX_ALL
}
 
enum  tenuM2mDefaultConnErrcode {
  M2M_DEFAULT_CONN_INPROGRESS = ((sint8)-23),
  M2M_DEFAULT_CONN_FAIL,
  M2M_DEFAULT_CONN_SCAN_MISMATCH,
  M2M_DEFAULT_CONN_EMPTY_LIST
}
 
enum  tenuM2mGenCmd {
  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
}
 
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_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  tenuM2mPwrMode {
  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_CRYPTO,
  M2M_REQ_GROUP_SIGMA,
  M2M_REQ_GROUP_INTERNAL
}
 
enum  tenuM2mReqpkt {
  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)
}
 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)
}
 Wi-Fi RF Channels. 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
}
 Wi-Fi Supported 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
}
 This enum contains WINC commands while in PS mode. These command are currently not supported. More...
 
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
}
 
enum  tenuM2mSsidMode {
  SSID_MODE_VISIBLE = 0,
  SSID_MODE_HIDDEN
}
 
enum  tenuM2mSslCmd {
  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
}
 
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_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
}
 
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
}
 
enum  tenuM2mWifiMode {
  M2M_WIFI_MODE_NORMAL = ((uint8) 1),
  M2M_WIFI_MODE_ATE_HIGH,
  M2M_WIFI_MODE_ATE_LOW,
  M2M_WIFI_MODE_ETHERNET,
  M2M_WIFI_MODE_MAX
}
 Wi-Fi Operation Mode. 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 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
}
 This struct contains the OTA return status. More...
 
enum  tenuOtaUpdateStatusType {
  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
}
 Power Save Modes. More...
 
enum  tenuSNTPUseDHCP {
  SNTP_DISABLE_DHCP = 0,
  SNTP_ENABLE_DHCP = 1
}
 Use NTP server provided by the DHCP server. More...
 
enum  tenuSslCertExpSettings {
  SSL_CERT_EXP_CHECK_DISABLE,
  SSL_CERT_EXP_CHECK_ENABLE,
  SSL_CERT_EXP_CHECK_EN_IF_SYS_TIME
}
 SSL Certificate Expiry Validation Options. More...
 
enum  tenuTlsFlashStatus {
  TLS_FLASH_OK,
  TLS_FLASH_OK_NO_CHANGE,
  TLS_FLASH_ERR_CORRUPT,
  TLS_FLASH_ERR_NO_CHANGE,
  TLS_FLASH_ERR_UNKNOWN
}
 
enum  tenuWlanTxRate {
  TX_RATE_AUTO = 0xFF,
  TX_RATE_LOWEST = 0xFE,
  TX_RATE_1 = 0x00,
  TX_RATE_2 = 0x01,
  TX_RATE_5_5 = 0x02,
  TX_RATE_11 = 0x03,
  TX_RATE_6 = 0x0B,
  TX_RATE_9 = 0x0F,
  TX_RATE_12 = 0x0A,
  TX_RATE_18 = 0x0E,
  TX_RATE_24 = 0x09,
  TX_RATE_36 = 0x0D,
  TX_RATE_48 = 0x08,
  TX_RATE_54 = 0x0C,
  TX_RATE_MCS_0 = 0x80,
  TX_RATE_MCS_1 = 0x81,
  TX_RATE_MCS_2 = 0x82,
  TX_RATE_MCS_3 = 0x83,
  TX_RATE_MCS_4 = 0x84,
  TX_RATE_MCS_5 = 0x85,
  TX_RATE_MCS_6 = 0x86,
  TX_RATE_MCS_7 = 0x87
}
 All possible supported 802.11 WLAN TX rates. More...
 
enum  tenuWPSTrigger {
  WPS_PIN_TRIGGER = 0,
  WPS_PBC_TRIGGER = 4
}
 WPS Triggering Methods. More...
 

Functions

 _Static_assert ((sizeof(tstrM2mPwrMode)%4)==0,"Structure alignment error")
 
 _Static_assert ((sizeof(tstrM2mTxPwrLevel)%4)==0,"Structure alignment error")
 
 _Static_assert ((sizeof(tstrM2mWiFiGainIdx)%4)==0,"Structure alignment error")
 
 _Static_assert ((sizeof(tstrM2mEnableLogs)%4)==0,"Structure alignment error")
 
 _Static_assert ((sizeof(tstrM2mBatteryVoltage)%4)==0,"Structure alignment error")
 
 _Static_assert ((sizeof(tstrM2mWiFiRoaming)%4)==0,"Structure alignment error")
 
 _Static_assert ((sizeof(tstrM2mWiFiXOSleepEnable)%4)==0,"Structure alignment error")
 
 _Static_assert ((sizeof(tstrM2mConnCredHdr)%4)==0,"Structure alignment error")
 
 _Static_assert ((sizeof(tstrM2mConnCredCmn)%4)==0,"Structure alignment error")
 
 _Static_assert ((sizeof(tstrM2mWifiWep)%4)==0,"Structure alignment error")
 
 _Static_assert ((sizeof(tstrM2mWifiPsk)%4)==0,"Structure alignment error")
 
 _Static_assert ((sizeof(tstrM2mWifi1xHdr)%4)==0,"Structure alignment error")
 
 _Static_assert ((sizeof(tstrM2mWifiAuthInfoHdr)%4)==0,"Structure alignment error")
 
 _Static_assert ((sizeof(tstrM2mWifiConnHdr)%4)==0,"Structure alignment error")
 
 _Static_assert ((sizeof(tstrM2mWifiApId)%4)==0,"Structure alignment error")
 
 _Static_assert ((sizeof(tstrM2MGenericResp)%4)==0,"Structure alignment error")
 
 _Static_assert ((sizeof(tstrM2MWPSConnect)%4)==0,"Structure alignment error")
 
 _Static_assert ((sizeof(tstrM2MDefaultConnResp)%4)==0,"Structure alignment error")
 
 _Static_assert ((sizeof(tstrM2MScanOption)%4)==0,"Structure alignment error")
 
 _Static_assert ((sizeof(tstrM2MStopScanOption)%4)==0,"Structure alignment error")
 
 _Static_assert ((sizeof(tstrM2MScanRegion)%4)==0,"Structure alignment error")
 
 _Static_assert ((sizeof(tstrCyptoResp)%4)==0,"Structure alignment error")
 
 _Static_assert ((sizeof(tstrM2mScanDone)%4)==0,"Structure alignment error")
 
 _Static_assert ((sizeof(tstrM2mReqScanResult)%4)==0,"Structure alignment error")
 
 _Static_assert ((sizeof(tstrM2mWifiscanResult)%4)==0,"Structure alignment error")
 
 _Static_assert ((sizeof(tstrM2mWifiStateChanged)%4)==0,"Structure alignment error")
 
 _Static_assert ((sizeof(tstrM2mPsType)%4)==0,"Structure alignment error")
 
 _Static_assert ((sizeof(tstrM2mLsnInt)%4)==0,"Structure alignment error")
 
 _Static_assert ((sizeof(tstrM2MWifiMonitorModeCtrl)%4)==0,"Structure alignment error")
 
 _Static_assert ((sizeof(tstrM2MWifiRxPacketInfo)%4)==0,"Structure alignment error")
 
 _Static_assert ((sizeof(tstrM2MAPConfig)%4)==0,"Structure alignment error")
 
 _Static_assert ((sizeof(tstrM2MAPConfigExt)%4)==0,"Structure alignment error")
 
 _Static_assert ((sizeof(tstrM2MAPModeConfig)%4)==0,"Structure alignment error")
 
 _Static_assert ((sizeof(tstrM2mServerInit)%4)==0,"Structure alignment error")
 
 _Static_assert ((sizeof(tstrM2mClientState)%4)==0,"Structure alignment error")
 
 _Static_assert ((sizeof(tstrM2Mservercmd)%4)==0,"Structure alignment error")
 
 _Static_assert ((sizeof(tstrM2mSetMacAddress)%4)==0,"Structure alignment error")
 
 _Static_assert ((sizeof(tstrM2MProvisionModeConfig)%4)==0,"Structure alignment error")
 
 _Static_assert ((sizeof(tstrM2MConnInfo)%4)==0,"Structure alignment error")
 
 _Static_assert ((sizeof(tstrM2MSNTPConfig)%4)==0,"Structure alignment error")
 
 _Static_assert ((sizeof(tstrSystemTime)%4)==0,"Structure alignment error")
 
 _Static_assert ((sizeof(tstrM2MMulticastMac)%4)==0,"Structure alignment error")
 
 _Static_assert ((sizeof(tstrPrng)%4)==0,"Structure alignment error")
 
 _Static_assert ((sizeof(tstrConfAutoRate)%4)==0,"Structure alignment error")
 
 _Static_assert ((sizeof(tstrTlsCrlEntry)%4)==0,"Structure alignment error")
 
 _Static_assert ((sizeof(tstrOtaUpdateStatusResp)%4)==0,"Structure alignment error")
 
 _Static_assert ((sizeof(tstrOtaUpdateInfo)%4)==0,"Structure alignment error")
 
 _Static_assert ((sizeof(tstrOtaHostFileGetStatusResp)%4)==0,"Structure alignment error")
 
 _Static_assert ((sizeof(tstrOtaHostFileReadStatusResp)%4)==0,"Structure alignment error")
 
 _Static_assert ((sizeof(tstrOtaHostFileEraseStatusResp)%4)==0,"Structure alignment error")
 

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