wifi8 2.0.0.0

Data Structures | Macros | Typedefs | Enumerations
wifi8_types.h File Reference
`#include "stdint.h"`

Go to the source code of this file.

## Data Structures
struct | wifi8_m2m_wifi1x_hdr_t
struct | wifi8_auth1x_mschap2_t
struct | wifi8_sockaddr_t
struct | wifi8_socket_buffer_t
struct | wifi8_in_addr_t
struct | wifi8_sockaddr_in_t
struct | wifi8_socket_recv_msg_t
struct | wifi8_socket_info_t
struct | wifi8_m2m_ap_config_t
struct | wifi8_network_id_t
struct | wifi8_m2m_rev_t
struct | wifi8_sock_addr_t
struct | wifi8_send_cmd_t
struct | wifi8_gp_regs_t
struct | wifi8_m2m_wifi_rx_packet_info_t
struct | wifi8_m2m_wifi_state_changed_t
struct | wifi8_m2m_scan_done_t
struct | wifi8_m2m_wps_info_t
struct | wifi8_m2m_wifiscan_result_t
struct | wifi8_listen_cmd_t
struct | wifi8_socket_bind_msg_t
struct | wifi8_bind_cmd_t
struct | wifi8_ssl_socket_create_cmd_t
struct | wifi8_recv_cmd_t
struct | wifi8_listen_reply_t
struct | wifi8_close_cmd_t
struct | wifi8_socket_t
struct | wifi8_bind_reply_t
struct | wifi8_socket_listen_msg_t
struct | wifi8_socket_accept_msg_t
struct | wifi8_connect_reply_t
struct | wifi8_connect_alpn_reply_t
struct | wifi8_socket_connect_msg_t
struct | wifi8_m2m_wifi_wep_params_t
struct | wifi8_m2m_ap_config_ext_t
struct | wifi8_m2m_ap_mode_config_t
struct | wifi8_m2m_provision_mode_config_t
struct | wifi8_m2m_wifi_wep_t
struct | wifi8_m2m_req_scan_result_t
struct | wifi8_m2m_scan_t
struct | wifi8_m2m_wifi_psk_t
struct | wifi8_auth_psk_t
struct | wifi8_auth_wep_t
struct | wifi8_m2m_conn_cred_hdr_t
struct | wifi8_m2m_conn_cred_cmn_t
struct | wifi8_m2m_wifi_wep_params_legacy_1_2_t
union | wifi8_m2m_wifi_auth_legacy_1_2_t
struct | wifi8_m2m_wifi_conn_hdr_t
struct | wifi8_m2m_wifi_sec_info_legacy_1_2_t
struct | wifi8_m2m_wifi_connect_legacy_1_2_t
struct | wifi8_nm_bus_capabilities_t
struct | wifi8_dns_reply_t
struct | wifi8_recv_reply_t
struct | wifi8_send_reply_t
struct | wifi8_ping_reply_t
struct | wifi8_accept_reply_t
struct | wifi8_connect_cmd_t
struct | wifi8_m2m_conn_info_t
struct | wifi8_m2mip_config_t
struct | wifi8_m2m_provision_info_t
struct | wifi8_m2m_default_conn_resp_t
struct | wifi8_m2m_ble_api_msg_t
struct | wifi8_prng_t
struct | wifi8_m2m_gain_table_rsp_t
struct | wifi8_m2m_generic_resp_t
struct | wifi8_m2m_gain_table_t
struct | wifi8_hif_hdr_t
struct | wifi8_system_time_t
struct | wifi8_eth_init_param_t
struct | wifi8_init_param_t

## Macros
#define | M2M_STA_CMD_BASE 40
#define | M2M_CONFIG_CMD_BASE 1
#define | M2M_AP_CMD_BASE 70
#define | M2M_SERVER_CMD_BASE 100
#define | M2M_GEN_CMD_BASE 105
#define | M2M_OTA_CMD_BASE 100
#define | WIFI8_CMD_INTERNAL_WRITE 0xc3
#define | WIFI8_CMD_INTERNAL_READ 0xc4
#define | WIFI8_CMD_DMA_EXT_WRITE 0xc7
#define | WIFI8_CMD_DMA_EXT_READ 0xc8
#define | WIFI8_CMD_SINGLE_WRITE 0xc9
#define | WIFI8_CMD_SINGLE_READ 0xca
#define | WIFI8_CMD_RESET 0xcf
#define | WIFI8_SPI_RESP_RETRY_COUNT (10)
#define | WIFI8_SPI_RETRY_COUNT (10)
#define | WIFI8_DATA_PKT_SZ_256 256
#define | WIFI8_DATA_PKT_SZ_512 512
#define | WIFI8_DATA_PKT_SZ_1K 1024
#define | WIFI8_DATA_PKT_SZ_4K (4 * 1024)
#define | WIFI8_DATA_PKT_SZ_8K (8 * 1024)
#define | WIFI8_DATA_PKT_SZ WIFI8_DATA_PKT_SZ_8K
#define | PROGRAM_START 0x26961735ul
#define | BOOT_SUCCESS 0x10add09eul
#define | BOOT_START 0x12345678ul
#define | NBIT31 (0x80000000ul)
#define | NBIT30 (0x40000000ul)
#define | NBIT29 (0x20000000ul)
#define | NBIT28 (0x10000000ul)
#define | NBIT27 (0x08000000ul)
#define | NBIT26 (0x04000000ul)
#define | NBIT25 (0x02000000ul)
#define | NBIT24 (0x01000000ul)
#define | NBIT23 (0x00800000ul)
#define | NBIT22 (0x00400000ul)
#define | NBIT21 (0x00200000ul)
#define | NBIT20 (0x00100000ul)
#define | NBIT19 (0x00080000ul)
#define | NBIT18 (0x00040000ul)
#define | NBIT17 (0x00020000ul)
#define | NBIT16 (0x00010000ul)
#define | NBIT15 (0x00008000ul)
#define | NBIT14 (0x00004000ul)
#define | NBIT13 (0x00002000ul)
#define | NBIT12 (0x00001000ul)
#define | NBIT11 (0x00000800ul)
#define | NBIT10 (0x00000400ul)
#define | NBIT9 (0x00000200ul)
#define | NBIT8 (0x00000100ul)
#define | NBIT7 (0x00000080ul)
#define | NBIT6 (0x00000040ul)
#define | NBIT5 (0x00000020ul)
#define | NBIT4 (0x00000010ul)
#define | NBIT3 (0x00000008ul)
#define | NBIT2 (0x00000004ul)
#define | NBIT1 (0x00000002ul)
#define | NBIT0 (0x00000001ul)
#define | NMI_PERIPH_REG_BASE 0x1000
#define | NMI_CHIPID (NMI_PERIPH_REG_BASE)
#define | rNMI_GP_REG_0 (0x149c)
#define | rNMI_GP_REG_1 (0x14A0)
#define | rNMI_GLB_RESET (0x1400)
#define | rNMI_BOOT_RESET_MUX (0x1118)
#define | NMI_STATE_REG (0x108c)
#define | BOOTROM_REG (0xc000cul)
#define | NMI_REV_REG (0x207acul) /*Also, Used to load ATE firmware from SPI Flash and to ensure that it is running too*/
#define | M2M_WAIT_FOR_HOST_REG (0x207bcul)
#define | M2M_FINISH_INIT_STATE 0x02532636ul
#define | M2M_FINISH_BOOT_ROM 0x10add09eul
#define | M2M_START_FIRMWARE 0xef522f61ul
#define | M2M_START_PS_FIRMWARE 0x94992610ul
#define | M2M_ATE_FW_START_VALUE (0x3C1CD57Dul) /*Also, Change this value in boot_firmware if it will be changed here*/
#define | M2M_ATE_FW_IS_UP_VALUE (0xD75DC1C3ul) /*Also, Change this value in ATE (Burst) firmware if it will be changed here*/
#define | REV_2B0 (0x2B0)
#define | REV_B0 (0x2B0)
#define | REV_3A0 (0x3A0)
#define | CHIP_ID_3000D (0x3000D0ul)
#define | GET_CHIPID() nmi_get_chipid()
#define | ISNMC1000(id) (((id & 0xfffff000ul) == 0x100000ul) ? 1 : 0)
#define | ISNMC1500(id) (((id & 0xfffff000ul) == 0x150000ul) ? 1 : 0)
#define | ISNMC3400(id) (((id & 0xfff0f000ul) == 0x300000ul) ? 1 : 0)
#define | REV(id) (((id)&0x00000ffful))
#define | EFUSED_MAC(value) (value & 0xffff0000ul)
#define | rHAVE_SDIO_IRQ_GPIO_BIT (NBIT0)
#define | rHAVE_USE_PMU_BIT (NBIT1)
#define | rHAVE_SLEEP_CLK_SRC_RTC_BIT (NBIT2)
#define | rHAVE_SLEEP_CLK_SRC_XO_BIT (NBIT3)
#define | rHAVE_EXT_PA_INV_TX_RX (NBIT4)
#define | rHAVE_LEGACY_RF_SETTINGS (NBIT5)
#define | rHAVE_LOGS_DISABLED_BIT (NBIT6)
#define | rHAVE_ETHERNET_MODE_BIT (NBIT7)
#define | NMI_GLB_RESET_0 (NMI_PERIPH_REG_BASE + 0x400)
#define | NMI_INTR_REG_BASE (NMI_PERIPH_REG_BASE + 0xa00)
#define | NMI_PIN_MUX_0 (NMI_PERIPH_REG_BASE + 0x408)
#define | NMI_INTR_ENABLE (NMI_INTR_REG_BASE)
#define | GET_UINT32(X, Y) (X[0 + Y] + ((uint32_t)X[1 + Y] << 8) + ((uint32_t)X[2 + Y] << 16) + ((uint32_t)X[3 + Y] << 24))
#define | M2M_HIF_INFO_SHIFT (0)
#define | M2M_HIF_INFO_MASK (0xffff)
#define | M2M_HIF_BLOCK_SHIFT (14)
#define | M2M_HIF_BLOCK_MASK (0x3)
#define | M2M_HIF_LEVEL_SHIFT (0)
#define | M2M_HIF_LEVEL_MASK (0x3fff)
#define | M2M_HIF_MAJOR_SHIFT (8)
#define | M2M_HIF_MAJOR_MASK (0x3f)
#define | M2M_HIF_MINOR_SHIFT (0)
#define | M2M_HIF_MINOR_MASK (0xff)
#define | M2M_GET_HIF_INFO(hif_ver) ((uint16_t)(((hif_ver) >> M2M_HIF_INFO_SHIFT) & M2M_HIF_INFO_MASK))
#define | M2M_GET_HIF_BLOCK(hif_info) ((uint8_t)(((hif_info) >> M2M_HIF_BLOCK_SHIFT) & M2M_HIF_BLOCK_MASK))
#define | M2M_GET_HIF_LEVEL(hif_info) ((uint16_t)(((hif_info) >> M2M_HIF_LEVEL_SHIFT) & M2M_HIF_LEVEL_MASK))
#define | M2M_GET_HIF_MAJOR(hif_info) ((uint8_t)(((hif_info) >> M2M_HIF_MAJOR_SHIFT) & M2M_HIF_MAJOR_MASK))
#define | M2M_GET_HIF_MINOR(hif_info) ((uint8_t)(((hif_info) >> M2M_HIF_MINOR_SHIFT) & M2M_HIF_MINOR_MASK))
#define | M2M_MAKE_HIF_INFO(hif_level)
#define | M2M_AUTH_1X_USER_LEN_MAX 100
#define | M2M_AUTH_1X_PASSWORD_LEN_MAX 256
#define | M2M_HIF_BLOCK_VALUE (2)
#define | M2M_HIF_MAJOR_VALUE (1)
#define | M2M_HIF_MINOR_VALUE (4)
#define | TCP_SOCK_MAX (7)
#define | UDP_SOCK_MAX 4
#define | RAW_SOCK_MAX 1
#define | MAX_SOCKET (TCP_SOCK_MAX + UDP_SOCK_MAX + RAW_SOCK_MAX)
#define | SOCKET_BUFFER_SIZE 1472
#define | TLS_RECORD_HEADER_LENGTH (5)
#define | ETHERNET_HEADER_OFFSET (34)
#define | ETHERNET_HEADER_LENGTH (14)
#define | TCP_IP_HEADER_LENGTH (40)
#define | UDP_IP_HEADER_LENGTH (28)
#define | IP_PACKET_OFFSET (ETHERNET_HEADER_LENGTH + ETHERNET_HEADER_OFFSET - M2M_HIF_HDR_OFFSET)
#define | TCP_TX_PACKET_OFFSET (IP_PACKET_OFFSET + TCP_IP_HEADER_LENGTH)
#define | UDP_TX_PACKET_OFFSET (IP_PACKET_OFFSET + UDP_IP_HEADER_LENGTH)
#define | SSL_TX_PACKET_OFFSET (TCP_TX_PACKET_OFFSET + TLS_RECORD_HEADER_LENGTH)
#define | SOCKET_REQUEST(ctx, req_id, req_args, req_size, req_payload, req_payload_size, req_payload_offset) hif_send(ctx, M2M_REQ_GROUP_IP, req_id, req_args, req_size, req_payload, req_payload_size, req_payload_offset)
#define | SSL_FLAGS_ACTIVE NBIT0
#define | M2M_802_1X_UNENCRYPTED_USERNAME_FLAG 0x80
#define | M2M_802_1X_PREPEND_DOMAIN_FLAG 0x40
#define | M2M_802_1X_MSCHAP2_FLAG 0x01
#define | SOCKET_CMD_BIND 0x41
#define | SOCKET_CMD_LISTEN 0x42
#define | SOCKET_CMD_ACCEPT 0x43
#define | SOCKET_CMD_CONNECT 0x44
#define | SOCKET_CMD_SEND 0x45
#define | SOCKET_CMD_RECV 0x46
#define | SOCKET_CMD_SENDTO 0x47
#define | SOCKET_CMD_RECVFROM 0x48
#define | SOCKET_CMD_CLOSE 0x49
#define | SOCKET_CMD_DNS_RESOLVE 0x4A
#define | SOCKET_CMD_SSL_CONNECT 0x4B
#define | SOCKET_CMD_SSL_SEND 0x4C
#define | SOCKET_CMD_SSL_RECV 0x4D
#define | SOCKET_CMD_SSL_CLOSE 0x4E
#define | SOCKET_CMD_SET_SOCKET_OPTION 0x4F
#define | SOCKET_CMD_SSL_CREATE 0x50
#define | SOCKET_CMD_SSL_SET_SOCK_OPT 0x51
#define | SOCKET_CMD_PING 0x52
#define | SOCKET_CMD_SSL_CONNECT_ALPN 0x53
#define | SOCKET_CMD_RAW_SET_SOCK_OPT 0x54
#define | PING_ERR_SUCCESS 0
#define | PING_ERR_DEST_UNREACH 1
#define | PING_ERR_TIMEOUT 2
#define | HOSTNAME_MAX_SIZE 100
#define | AF_INET 2
#define | SOCK_ERR_NO_ERROR 0
#define | SOCK_STREAM 1
#define | SOCK_DGRAM 2
#define | SOCK_RAW 3
#define | SOCKET_FLAGS_SSL 0x01
#define | SOCKET_FLAGS_IPPROTO_RAW 0x02
#define | RAW_SOCK_ID (TCP_SOCK_MAX + UDP_SOCK_MAX)
#define | _htons(A) (uint16_t)((((uint16_t)(A)) << 8) | (((uint16_t)(A)) >> 8))
#define | NM_BSP_B_L_32(x) (x)
#define | NM_BSP_B_L_16(x) (x)
#define | NMI_PERIPH_REG_BASE 0x1000
#define | NMI_CHIPID (NMI_PERIPH_REG_BASE)
#define | NMI_PIN_MUX_0 (NMI_PERIPH_REG_BASE + 0x408)
#define | NMI_INTR_ENABLE (NMI_INTR_REG_BASE)
#define | NMI_SPI_REG_BASE 0xe800
#define | NMI_SPI_CTL (NMI_SPI_REG_BASE)
#define | NMI_SPI_MASTER_DMA_ADDR (NMI_SPI_REG_BASE + 0x4)
#define | NMI_SPI_MASTER_DMA_COUNT (NMI_SPI_REG_BASE + 0x8)
#define | NMI_SPI_SLAVE_DMA_ADDR (NMI_SPI_REG_BASE + 0xc)
#define | NMI_SPI_SLAVE_DMA_COUNT (NMI_SPI_REG_BASE + 0x10)
#define | NMI_SPI_TX_MODE (NMI_SPI_REG_BASE + 0x20)
#define | NMI_SPI_PROTOCOL_CONFIG (NMI_SPI_REG_BASE + 0x24)
#define | NMI_SPI_INTR_CTL (NMI_SPI_REG_BASE + 0x2c)
#define | NMI_SPI_PROTOCOL_OFFSET (NMI_SPI_PROTOCOL_CONFIG - NMI_SPI_REG_BASE)
#define | NMI_GLB_RESET_0 (NMI_PERIPH_REG_BASE + 0x400)
#define | NMI_INTR_REG_BASE (NMI_PERIPH_REG_BASE + 0xa00)
#define | NMI_PIN_MUX_0 (NMI_PERIPH_REG_BASE + 0x408)
#define | NMI_INTR_ENABLE (NMI_INTR_REG_BASE)
#define | CORT_HOST_COMM (0x14)
#define | HOST_CORT_COMM (0x0e)
#define | WAKE_CLK_REG (0x1)
#define | CLOCKS_EN_REG (0x13)
#define | TIMEOUT (2000)
#define | WAKEUP_TRIALS (4)
#define | NMI_AHB_DATA_MEM_BASE 0x30000ul
#define | NMI_AHB_SHARE_MEM_BASE 0xd0000ul
#define | WIFI_HOST_RCV_CTRL_0 (0x1070)
#define | WIFI_HOST_RCV_CTRL_1 (0x1084)
#define | WIFI_HOST_RCV_CTRL_2 (0x1078)
#define | WIFI_HOST_RCV_CTRL_3 (0x106c)
#define | WIFI_HOST_RCV_CTRL_4 (0x150400ul)
#define | INTERRUPT_CORTUS_0_3000D0 (0x10a8)
#define | INTERRUPT_CORTUS_1_3000D0 (0x10ac)
#define | INTERRUPT_CORTUS_2_3000D0 (0x10b0)
#define | INTERRUPT_CORTUS_3_3000D0 (0x10b4)
#define | M2M_HIF_MAX_PACKET_SIZE (1600 - 4)
#define | M2M_HIF_HDR_OFFSET (sizeof(wifi8_hif_hdr_t) + 4)
#define | SOCKET_BUFFER_MAX_LENGTH 1400
#define | M2M_MAX_GRP_NUM_REQ (127)
#define | SOCKET_CMD_RAW_SET_SOCK_OPT 0x54
#define | HIF_OTA_RB_ONLY 0xFFFF
#define | HIFCODE_OTA_RB ((M2M_REQ_GROUP_OTA << 8) | M2M_OTA_REQ_ROLLBACK)
#define | HIFCODE_OTA_SW ((M2M_REQ_GROUP_OTA << 8) | M2M_OTA_REQ_SWITCH_FIRMWARE)
#define | HIFCODE_SSL_WRITECERT ((M2M_REQ_GROUP_SSL << 8) | M2M_SSL_REQ_WRITE_OWN_CERTS)
#define | HIFCODE_WIFI_PASSIVESCAN ((M2M_REQ_GROUP_WIFI << 8) | M2M_WIFI_REQ_PASSIVE_SCAN)
#define | HIFCODE_WIFI_CONN ((M2M_REQ_GROUP_WIFI << 8) | M2M_WIFI_REQ_CONN)
#define | HIFCODE_WIFI_CONN_PARAM ((M2M_REQ_GROUP_WIFI << 8) | M2M_WIFI_IND_CONN_PARAM)
#define | HIFCODE_WIFI_DELETE_CRED ((M2M_REQ_GROUP_WIFI << 8) | M2M_WIFI_REQRSP_DELETE_APID)
#define | HIFCODE_WIFI_START_PROV_MODE ((M2M_REQ_GROUP_WIFI << 8) | M2M_WIFI_REQ_START_PROVISION_MODE)
#define | HIFCODE_WIFI_ENABLE_AP ((M2M_REQ_GROUP_WIFI << 8) | M2M_WIFI_REQ_ENABLE_AP)
#define | HIFCODE_IP_RAW_SOCK_OPT ((M2M_REQ_GROUP_IP << 8) | SOCKET_CMD_RAW_SET_SOCK_OPT)
#define | NMI_PERIPH_REG_BASE 0x1000
#define | NMI_CHIPID (NMI_PERIPH_REG_BASE)
#define | NMI_PIN_MUX_0 (NMI_PERIPH_REG_BASE + 0x408)
#define | NMI_INTR_ENABLE (NMI_INTR_REG_BASE)
#define | NMI_SPI_REG_BASE 0xe800
#define | NMI_SPI_CTL (NMI_SPI_REG_BASE)
#define | NMI_SPI_MASTER_DMA_ADDR (NMI_SPI_REG_BASE + 0x4)
#define | NMI_SPI_MASTER_DMA_COUNT (NMI_SPI_REG_BASE + 0x8)
#define | NMI_SPI_SLAVE_DMA_ADDR (NMI_SPI_REG_BASE + 0xc)
#define | NMI_SPI_SLAVE_DMA_COUNT (NMI_SPI_REG_BASE + 0x10)
#define | NMI_SPI_TX_MODE (NMI_SPI_REG_BASE + 0x20)
#define | NMI_SPI_PROTOCOL_CONFIG (NMI_SPI_REG_BASE + 0x24)
#define | NMI_SPI_INTR_CTL (NMI_SPI_REG_BASE + 0x2c)
#define | NMI_SPI_PROTOCOL_OFFSET (NMI_SPI_PROTOCOL_CONFIG - NMI_SPI_REG_BASE)
#define | SPI_BASE NMI_SPI_REG_BASE
#define | SPI_RESP_RETRY_COUNT (10)
#define | SPI_RETRY_COUNT (10)
#define | DATA_PKT_SZ_256 256
#define | DATA_PKT_SZ_512 512
#define | DATA_PKT_SZ_1K 1024
#define | DATA_PKT_SZ_4K (4 * 1024)
#define | DATA_PKT_SZ_8K (8 * 1024)
#define | DATA_PKT_SZ DATA_PKT_SZ_8K
#define | NEW_HIF_LIST
#define | WIFI_1X_TLS_HS_FLAGS_PEER_AUTH NBIT1
#define | WIFI_1X_TLS_HS_FLAGS_PEER_CERTTIMECHECK NBIT2
#define | WIFI_1X_TLS_HS_FLAGS_REQUIRE_TIME NBIT3
#define | WIFI_1X_TLS_HS_FLAGS_SESSION_CACHING NBIT4
#define | WIFI_1X_TLS_HS_FLAGS_SPECIFY_ROOTCERT NBIT6
#define | WIFI_1X_TLS_HS_FLAGS_DEFAULT
#define | HIF_BLACKLIST_SZ (sizeof(gau16_hif_blacklist) / sizeof(gau16_hif_blacklist[0]))
#define | WEP_104_KEY_SIZE ((uint8_t)13)
#define | PSK_CALC_LEN 40
#define | M2M_MAC_ADDRES_LEN 6
#define | MAX_TRX_CFG_SZ 8
#define | M2M_CRED_ENCRYPT_FLAG 0x02
#define | M2M_WIFI_CONN_BSSID_FLAG 0x01
#define | M2M_CRED_STORE_FLAG 0x01
#define | M2M_OTA_CMD_BASE 100
#define | M2M_MAX_GRP_NUM_REQ (127)
#define | WEP_40_KEY_SIZE ((uint8_t)5)
#define | WEP_104_KEY_SIZE ((uint8_t)13)
#define | WEP_40_KEY_STRING_SIZE ((uint8_t)10)
#define | WEP_104_KEY_STRING_SIZE ((uint8_t)26)
#define | WEP_KEY_MAX_INDEX ((uint8_t)4)
#define | M2M_SCAN_DEFAULT_NUM_SLOTS (2)
#define | M2M_SCAN_DEFAULT_SLOT_TIME (20)
#define | M2M_SCAN_DEFAULT_PASSIVE_SLOT_TIME (300)
#define | M2M_SCAN_DEFAULT_NUM_PROBE (2)
#define | M2M_FASTCONNECT_DEFAULT_RSSI_THRESH (-45)
#define | NM_BUS_MAX_TRX_SZ 256
#define | M2M_MAX_SSID_LEN 33
#define | WEP_104_KEY_STRING_SIZE ((uint8_t)26)
#define | M2M_MAX_PSK_LEN 65
#define | __PADDING_TSTR_M2MWPS_INFO_ (4 - ((2 + M2M_MAX_SSID_LEN + M2M_MAX_PSK_LEN) % 4))
#define | __padding_tstr_system_time_ (4 - (7 % 4))

## Typedefs
typedef void(* | wifi8_app_wifi_cb_t) (uint8_t u8_msg_type, void *pv_msg)
typedef void(* | wifi8_app_mon_cb_t) (wifi8_m2m_wifi_rx_packet_info_t *pstr_wifi_rx_packet, uint8_t *pu8_payload, uint16_t u16_payload_size)
typedef void(* | wifi8_app_socket_cb_t) (int8_t sock, uint8_t u8_msg, void *pv_msg)
typedef void(* | wifi8_app_resolve_cb_t) (uint8_t *pu8_domain_name, uint32_t u32_server_ip)
typedef void(* | wifi8_ping_cb_t) (uint32_t u32ip_addr, uint32_t u32rtt, uint8_t u8_error_code)
typedef void(* | wifi8_app_eth_cb_t) (uint8_t u8_msg_type, void *pv_msg, void *pv_ctrl_buf)

## Enumerations
enum | wifi8_m2m_scan_ch_t { M2M_WIFI_CH_1 = ((uint8_t)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_t)255) }
enum | wifi8_m2m_sec_type_t { 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 }
enum | wifi8_m2m_conn_state_t { M2M_WIFI_DISCONNECTED = 0, M2M_WIFI_CONNECTED, M2M_WIFI_ROAMED, M2M_WIFI_UNDEF = 0xff }
enum | wifi8_m2m_sta_cmd_t { 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 }
enum | wifi8_m2m_config_cmd_t { 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 }
enum | wifi8_socket_callback_msg_t { SOCKET_MSG_BIND = 1, SOCKET_MSG_LISTEN, SOCKET_MSG_DNS_RESOLVE, SOCKET_MSG_ACCEPT, SOCKET_MSG_CONNECT, SOCKET_MSG_RECV, SOCKET_MSG_SEND, SOCKET_MSG_SENDTO, SOCKET_MSG_RECVFROM }
enum | wifi8_m2m_gen_cmd_t { M2M_WIFI_REQRSP_DELETE_APID = M2M_GEN_CMD_BASE, M2M_WIFI_REQ_ROAMING, M2M_WIFI_MAX_GEN_ALL }
enum | wifi8_m2m_ap_cmd_t { 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 }
enum | wifi8_m2m_ssid_mode_t { SSID_MODE_VISIBLE = 0, SSID_MODE_HIDDEN }
enum | wifi8_wifi_state_t { WIFI_STATE_DEINIT, WIFI_STATE_INIT, WIFI_STATE_START }
enum | wifi8_return_value_t { WIFI8_OK = 0, WIFI8_ERROR = -1 }
| WiFi 8 Click return value data. More...
enum | wifi8_m2m_wifi_mode_t { M2M_WIFI_MODE_NORMAL = ((uint8_t)1), M2M_WIFI_MODE_CONFIG, M2M_WIFI_MODE_ETHERNET, M2M_WIFI_MODE_MAX }
enum | wifi8_m2m_req_group_t { 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 }
enum | wifi8_m2m_reqpkt_t { M2M_REQ_CONFIG_PKT, M2M_REQ_DATA_PKT = 0x80 }
enum | wifi8_m2m_ssl_cmd_t { 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_SET_CERT_VERIF_MODE }
enum | wifi8_nm_state_t { NM_STATE_DEINIT, NM_STATE_INIT, NM_STATE_START }
enum | wifi8_m2m_ota_cmd_t { 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 }
enum | wifi8_m2m_server_cmd_t { M2M_WIFI_REQ_CLIENT_CTRL = M2M_SERVER_CMD_BASE, M2M_WIFI_RESP_CLIENT_INFO, M2M_WIFI_REQ_SERVER_INIT, M2M_WIFI_MAX_SERVER_ALL }
enum | wifi8_cred_store_option_t { WIFI_CRED_DONTSAVE, WIFI_CRED_SAVE_UNENCRYPTED, WIFI_CRED_SAVE_ENCRYPTED }
enum | wifi8_1x_option_t { WIFI_1X_BYPASS_SERVER_AUTH, WIFI_1X_TIME_VERIF_MODE, WIFI_1X_SESSION_CACHING, WIFI_1X_SPECIFIC_ROOTCERT }
enum | wifi8_tls_cert_exp_settings_t { TLS_CERT_EXP_CHECK_DISABLE, TLS_CERT_EXP_CHECK_ENABLE, TLS_CERT_EXP_CHECK_EN_IF_SYS_TIME }

## Macro Definition Documentation

## ◆ __PADDING_TSTR_M2MWPS_INFO_

#define __PADDING_TSTR_M2MWPS_INFO_ (4 - ((2 + M2M_MAX_SSID_LEN + M2M_MAX_PSK_LEN) % 4))

## ◆ __padding_tstr_system_time_

#define __padding_tstr_system_time_ (4 - (7 % 4))

padding for wifi8_system_time_t structure.

## ◆ _htons

#define _htons | ( |  | A | ) | (uint16_t)((((uint16_t)(A)) << 8) | (((uint16_t)(A)) >> 8))

## ◆ AF_INET

#define AF_INET 2

## ◆ BOOT_START

#define BOOT_START 0x12345678ul

## ◆ BOOT_SUCCESS

#define BOOT_SUCCESS 0x10add09eul

## ◆ BOOTROM_REG

#define BOOTROM_REG (0xc000cul)

## ◆ CHIP_ID_3000D

#define CHIP_ID_3000D (0x3000D0ul)

## ◆ CLOCKS_EN_REG

#define CLOCKS_EN_REG (0x13)

## ◆ CORT_HOST_COMM

#define CORT_HOST_COMM (0x14)

## ◆ DATA_PKT_SZ

#define DATA_PKT_SZ DATA_PKT_SZ_8K

## ◆ DATA_PKT_SZ_1K

#define DATA_PKT_SZ_1K 1024

## ◆ DATA_PKT_SZ_256

#define DATA_PKT_SZ_256 256

## ◆ DATA_PKT_SZ_4K

#define DATA_PKT_SZ_4K (4 * 1024)

## ◆ DATA_PKT_SZ_512

#define DATA_PKT_SZ_512 512

## ◆ DATA_PKT_SZ_8K

#define DATA_PKT_SZ_8K (8 * 1024)

## ◆ EFUSED_MAC

#define EFUSED_MAC | ( |  | value | ) | (value & 0xffff0000ul)

## ◆ ETHERNET_HEADER_LENGTH

#define ETHERNET_HEADER_LENGTH (14)

## ◆ ETHERNET_HEADER_OFFSET

#define ETHERNET_HEADER_OFFSET (34)

## ◆ GET_CHIPID

#define GET_CHIPID | ( |  | ) | nmi_get_chipid()

## ◆ GET_UINT32

#define GET_UINT32 | ( |  | X,
|  |  | Y
| ) |  | (X[0 + Y] + ((uint32_t)X[1 + Y] << 8) + ((uint32_t)X[2 + Y] << 16) + ((uint32_t)X[3 + Y] << 24))

## ◆ HIF_BLACKLIST_SZ

#define HIF_BLACKLIST_SZ (sizeof(gau16_hif_blacklist) / sizeof(gau16_hif_blacklist[0]))

## ◆ HIF_OTA_RB_ONLY

#define HIF_OTA_RB_ONLY 0xFFFF

## ◆ HIFCODE_IP_RAW_SOCK_OPT

#define HIFCODE_IP_RAW_SOCK_OPT ((M2M_REQ_GROUP_IP << 8) | SOCKET_CMD_RAW_SET_SOCK_OPT)

## ◆ HIFCODE_OTA_RB

#define HIFCODE_OTA_RB ((M2M_REQ_GROUP_OTA << 8) | M2M_OTA_REQ_ROLLBACK)

## ◆ HIFCODE_OTA_SW

#define HIFCODE_OTA_SW ((M2M_REQ_GROUP_OTA << 8) | M2M_OTA_REQ_SWITCH_FIRMWARE)

## ◆ HIFCODE_SSL_WRITECERT

#define HIFCODE_SSL_WRITECERT ((M2M_REQ_GROUP_SSL << 8) | M2M_SSL_REQ_WRITE_OWN_CERTS)

## ◆ HIFCODE_WIFI_CONN

#define HIFCODE_WIFI_CONN ((M2M_REQ_GROUP_WIFI << 8) | M2M_WIFI_REQ_CONN)

## ◆ HIFCODE_WIFI_CONN_PARAM

#define HIFCODE_WIFI_CONN_PARAM ((M2M_REQ_GROUP_WIFI << 8) | M2M_WIFI_IND_CONN_PARAM)

## ◆ HIFCODE_WIFI_DELETE_CRED

#define HIFCODE_WIFI_DELETE_CRED ((M2M_REQ_GROUP_WIFI << 8) | M2M_WIFI_REQRSP_DELETE_APID)

## ◆ HIFCODE_WIFI_ENABLE_AP

#define HIFCODE_WIFI_ENABLE_AP ((M2M_REQ_GROUP_WIFI << 8) | M2M_WIFI_REQ_ENABLE_AP)

## ◆ HIFCODE_WIFI_PASSIVESCAN

#define HIFCODE_WIFI_PASSIVESCAN ((M2M_REQ_GROUP_WIFI << 8) | M2M_WIFI_REQ_PASSIVE_SCAN)

## ◆ HIFCODE_WIFI_START_PROV_MODE

#define HIFCODE_WIFI_START_PROV_MODE ((M2M_REQ_GROUP_WIFI << 8) | M2M_WIFI_REQ_START_PROVISION_MODE)

## ◆ HOST_CORT_COMM

#define HOST_CORT_COMM (0x0e)

## ◆ HOSTNAME_MAX_SIZE

#define HOSTNAME_MAX_SIZE 100

## ◆ INTERRUPT_CORTUS_0_3000D0

#define INTERRUPT_CORTUS_0_3000D0 (0x10a8)

## ◆ INTERRUPT_CORTUS_1_3000D0

#define INTERRUPT_CORTUS_1_3000D0 (0x10ac)

## ◆ INTERRUPT_CORTUS_2_3000D0

#define INTERRUPT_CORTUS_2_3000D0 (0x10b0)

## ◆ INTERRUPT_CORTUS_3_3000D0

#define INTERRUPT_CORTUS_3_3000D0 (0x10b4)

## ◆ IP_PACKET_OFFSET

#define IP_PACKET_OFFSET (ETHERNET_HEADER_LENGTH + ETHERNET_HEADER_OFFSET - M2M_HIF_HDR_OFFSET)

## ◆ ISNMC1000

#define ISNMC1000 | ( |  | id | ) | (((id & 0xfffff000ul) == 0x100000ul) ? 1 : 0)

## ◆ ISNMC1500

#define ISNMC1500 | ( |  | id | ) | (((id & 0xfffff000ul) == 0x150000ul) ? 1 : 0)

## ◆ ISNMC3400

#define ISNMC3400 | ( |  | id | ) | (((id & 0xfff0f000ul) == 0x300000ul) ? 1 : 0)

## ◆ M2M_802_1X_MSCHAP2_FLAG

#define M2M_802_1X_MSCHAP2_FLAG 0x01

Flag to indicate 802.1x MsChapV2 credentials: domain/user-name/password.

## ◆ M2M_802_1X_PREPEND_DOMAIN_FLAG

#define M2M_802_1X_PREPEND_DOMAIN_FLAG 0x40

Flag to indicate that the 802.1x domain name should be prepended to the user-name: "Domain\Username". If the flag is not set then domain name is appended to the user-name: "Username@Domain". (Note that the '@' or '\' must be included in the domain name.)

## ◆ M2M_802_1X_UNENCRYPTED_USERNAME_FLAG

#define M2M_802_1X_UNENCRYPTED_USERNAME_FLAG 0x80

Flag to indicate that the 802.1x user-name should be sent (unencrypted) in the initial EAP identity response. Intended for use with EAP-TLS only.

## ◆ M2M_AP_CMD_BASE

#define M2M_AP_CMD_BASE 70

The base value of all the Access Point mode host commands opcodes.

## ◆ M2M_ATE_FW_IS_UP_VALUE

#define M2M_ATE_FW_IS_UP_VALUE (0xD75DC1C3ul) /*Also, Change this value in ATE (Burst) firmware if it will be changed here*/

## ◆ M2M_ATE_FW_START_VALUE

#define M2M_ATE_FW_START_VALUE (0x3C1CD57Dul) /*Also, Change this value in boot_firmware if it will be changed here*/

## ◆ M2M_AUTH_1X_PASSWORD_LEN_MAX

#define M2M_AUTH_1X_PASSWORD_LEN_MAX 256

## ◆ M2M_AUTH_1X_USER_LEN_MAX

#define M2M_AUTH_1X_USER_LEN_MAX 100

## ◆ M2M_CONFIG_CMD_BASE

#define M2M_CONFIG_CMD_BASE 1

The base value of all the Station mode host commands opcodes.

## ◆ M2M_CRED_ENCRYPT_FLAG

#define M2M_CRED_ENCRYPT_FLAG 0x02

## ◆ M2M_CRED_STORE_FLAG

#define M2M_CRED_STORE_FLAG 0x01

## ◆ M2M_FASTCONNECT_DEFAULT_RSSI_THRESH

#define M2M_FASTCONNECT_DEFAULT_RSSI_THRESH (-45)

## ◆ M2M_FINISH_BOOT_ROM

#define M2M_FINISH_BOOT_ROM 0x10add09eul

## ◆ M2M_FINISH_INIT_STATE

#define M2M_FINISH_INIT_STATE 0x02532636ul

## ◆ M2M_GEN_CMD_BASE

#define M2M_GEN_CMD_BASE 105

The base value of additional host wifi command opcodes. Usage restrictions (eg STA mode only) should always be made clear at the API layer in any case.

## ◆ M2M_GET_HIF_BLOCK

#define M2M_GET_HIF_BLOCK | ( |  | hif_info | ) | ((uint8_t)(((hif_info) >> M2M_HIF_BLOCK_SHIFT) & M2M_HIF_BLOCK_MASK))

## ◆ M2M_GET_HIF_INFO

#define M2M_GET_HIF_INFO | ( |  | hif_ver | ) | ((uint16_t)(((hif_ver) >> M2M_HIF_INFO_SHIFT) & M2M_HIF_INFO_MASK))

## ◆ M2M_GET_HIF_LEVEL

#define M2M_GET_HIF_LEVEL | ( |  | hif_info | ) | ((uint16_t)(((hif_info) >> M2M_HIF_LEVEL_SHIFT) & M2M_HIF_LEVEL_MASK))

## ◆ M2M_GET_HIF_MAJOR

#define M2M_GET_HIF_MAJOR | ( |  | hif_info | ) | ((uint8_t)(((hif_info) >> M2M_HIF_MAJOR_SHIFT) & M2M_HIF_MAJOR_MASK))

## ◆ M2M_GET_HIF_MINOR

#define M2M_GET_HIF_MINOR | ( |  | hif_info | ) | ((uint8_t)(((hif_info) >> M2M_HIF_MINOR_SHIFT) & M2M_HIF_MINOR_MASK))

## ◆ M2M_HIF_BLOCK_MASK

#define M2M_HIF_BLOCK_MASK (0x3)

## ◆ M2M_HIF_BLOCK_SHIFT

#define M2M_HIF_BLOCK_SHIFT (14)

## ◆ M2M_HIF_BLOCK_VALUE

#define M2M_HIF_BLOCK_VALUE (2)

Drv/Fw blocking compatibility check.

## ◆ M2M_HIF_HDR_OFFSET

#define M2M_HIF_HDR_OFFSET (sizeof(wifi8_hif_hdr_t) + 4)

The base value of all the OTA mode host commands opcodes. The OTA messages have their own group so op codes can extended from 1 to M2M_MAX_GRP_NUM_REQ.

## ◆ M2M_HIF_INFO_MASK

#define M2M_HIF_INFO_MASK (0xffff)

## ◆ M2M_HIF_INFO_SHIFT

#define M2M_HIF_INFO_SHIFT (0)

## ◆ M2M_HIF_LEVEL_MASK

#define M2M_HIF_LEVEL_MASK (0x3fff)

## ◆ M2M_HIF_LEVEL_SHIFT

#define M2M_HIF_LEVEL_SHIFT (0)

## ◆ M2M_HIF_MAJOR_MASK

#define M2M_HIF_MAJOR_MASK (0x3f)

## ◆ M2M_HIF_MAJOR_SHIFT

#define M2M_HIF_MAJOR_SHIFT (8)

## ◆ M2M_HIF_MAJOR_VALUE

#define M2M_HIF_MAJOR_VALUE (1)

Drv/Fw major compatibility check.

## ◆ M2M_HIF_MAX_PACKET_SIZE

#define M2M_HIF_MAX_PACKET_SIZE (1600 - 4)

## ◆ M2M_HIF_MINOR_MASK

#define M2M_HIF_MINOR_MASK (0xff)

## ◆ M2M_HIF_MINOR_SHIFT

#define M2M_HIF_MINOR_SHIFT (0)

## ◆ M2M_HIF_MINOR_VALUE

#define M2M_HIF_MINOR_VALUE (4)

Drv/Fw minor compatibility check.

## ◆ M2M_MAC_ADDRES_LEN

#define M2M_MAC_ADDRES_LEN 6

## ◆ M2M_MAKE_HIF_INFO

#define M2M_MAKE_HIF_INFO | ( |  | hif_level | ) |

Value:
( \
(((uint16_t)(hif_level)&M2M_HIF_LEVEL_MASK) << M2M_HIF_LEVEL_SHIFT) | \
(((uint16_t)M2M_HIF_BLOCK_VALUE & M2M_HIF_BLOCK_MASK) << M2M_HIF_BLOCK_SHIFT))

## ◆ M2M_MAX_GRP_NUM_REQ [1/2]

#define M2M_MAX_GRP_NUM_REQ (127)

## ◆ M2M_MAX_GRP_NUM_REQ [2/2]

#define M2M_MAX_GRP_NUM_REQ (127)

## ◆ M2M_MAX_PSK_LEN

#define M2M_MAX_PSK_LEN 65

## ◆ M2M_MAX_SSID_LEN

#define M2M_MAX_SSID_LEN 33

## ◆ M2M_OTA_CMD_BASE [1/2]

#define M2M_OTA_CMD_BASE 100

## ◆ M2M_OTA_CMD_BASE [2/2]

#define M2M_OTA_CMD_BASE 100

## ◆ M2M_SCAN_DEFAULT_NUM_PROBE

#define M2M_SCAN_DEFAULT_NUM_PROBE (2)

## ◆ M2M_SCAN_DEFAULT_NUM_SLOTS

#define M2M_SCAN_DEFAULT_NUM_SLOTS (2)

## ◆ M2M_SCAN_DEFAULT_PASSIVE_SLOT_TIME

#define M2M_SCAN_DEFAULT_PASSIVE_SLOT_TIME (300)

## ◆ M2M_SCAN_DEFAULT_SLOT_TIME

#define M2M_SCAN_DEFAULT_SLOT_TIME (20)

## ◆ M2M_SERVER_CMD_BASE

#define M2M_SERVER_CMD_BASE 100

The base value of all the Power Save mode host commands codes.

## ◆ M2M_STA_CMD_BASE

#define M2M_STA_CMD_BASE 40

The base value of all the Host configuration commands opcodes.

## ◆ M2M_START_FIRMWARE

#define M2M_START_FIRMWARE 0xef522f61ul

## ◆ M2M_START_PS_FIRMWARE

#define M2M_START_PS_FIRMWARE 0x94992610ul

## ◆ M2M_WAIT_FOR_HOST_REG

#define M2M_WAIT_FOR_HOST_REG (0x207bcul)

## ◆ M2M_WIFI_CONN_BSSID_FLAG

#define M2M_WIFI_CONN_BSSID_FLAG 0x01

## ◆ MAX_SOCKET

#define MAX_SOCKET (TCP_SOCK_MAX + UDP_SOCK_MAX + RAW_SOCK_MAX)

## ◆ MAX_TRX_CFG_SZ

#define MAX_TRX_CFG_SZ 8

## ◆ NBIT0

#define NBIT0 (0x00000001ul)

## ◆ NBIT1

#define NBIT1 (0x00000002ul)

## ◆ NBIT10

#define NBIT10 (0x00000400ul)

## ◆ NBIT11

#define NBIT11 (0x00000800ul)

## ◆ NBIT12

#define NBIT12 (0x00001000ul)

## ◆ NBIT13

#define NBIT13 (0x00002000ul)

## ◆ NBIT14

#define NBIT14 (0x00004000ul)

## ◆ NBIT15

#define NBIT15 (0x00008000ul)

## ◆ NBIT16

#define NBIT16 (0x00010000ul)

## ◆ NBIT17

#define NBIT17 (0x00020000ul)

## ◆ NBIT18

#define NBIT18 (0x00040000ul)

## ◆ NBIT19

#define NBIT19 (0x00080000ul)

## ◆ NBIT2

#define NBIT2 (0x00000004ul)

## ◆ NBIT20

#define NBIT20 (0x00100000ul)

## ◆ NBIT21

#define NBIT21 (0x00200000ul)

## ◆ NBIT22

#define NBIT22 (0x00400000ul)

## ◆ NBIT23

#define NBIT23 (0x00800000ul)

## ◆ NBIT24

#define NBIT24 (0x01000000ul)

## ◆ NBIT25

#define NBIT25 (0x02000000ul)

## ◆ NBIT26

#define NBIT26 (0x04000000ul)

## ◆ NBIT27

#define NBIT27 (0x08000000ul)

## ◆ NBIT28

#define NBIT28 (0x10000000ul)

## ◆ NBIT29

#define NBIT29 (0x20000000ul)

## ◆ NBIT3

#define NBIT3 (0x00000008ul)

## ◆ NBIT30

#define NBIT30 (0x40000000ul)

## ◆ NBIT31

#define NBIT31 (0x80000000ul)

## ◆ NBIT4

#define NBIT4 (0x00000010ul)

## ◆ NBIT5

#define NBIT5 (0x00000020ul)

## ◆ NBIT6

#define NBIT6 (0x00000040ul)

## ◆ NBIT7

#define NBIT7 (0x00000080ul)

## ◆ NBIT8

#define NBIT8 (0x00000100ul)

## ◆ NBIT9

#define NBIT9 (0x00000200ul)

## ◆ NEW_HIF_LIST

#define NEW_HIF_LIST

Value:
HIF_OTA_RB_ONLY, \
HIFCODE_SSL_WRITECERT, \
HIFCODE_WIFI_PASSIVESCAN, \
HIFCODE_WIFI_CONN, \
HIFCODE_WIFI_CONN_PARAM, \
HIFCODE_WIFI_DELETE_CRED, \
HIFCODE_WIFI_START_PROV_MODE, \
HIFCODE_WIFI_ENABLE_AP, \
HIFCODE_IP_RAW_SOCK_OPT

## ◆ NM_BSP_B_L_16

#define NM_BSP_B_L_16 | ( |  | x | ) | (x)

Retain endianness of 16bit word (In the case that Host is LE)

## ◆ NM_BSP_B_L_32

#define NM_BSP_B_L_32 | ( |  | x | ) | (x)

Retain endianness of 32bit word (In the case that Host is LE)

## ◆ NM_BUS_MAX_TRX_SZ

#define NM_BUS_MAX_TRX_SZ 256

## ◆ NMI_AHB_DATA_MEM_BASE

#define NMI_AHB_DATA_MEM_BASE 0x30000ul

## ◆ NMI_AHB_SHARE_MEM_BASE

#define NMI_AHB_SHARE_MEM_BASE 0xd0000ul

## ◆ NMI_CHIPID [1/3]

#define NMI_CHIPID (NMI_PERIPH_REG_BASE)

## ◆ NMI_CHIPID [2/3]

#define NMI_CHIPID (NMI_PERIPH_REG_BASE)

## ◆ NMI_CHIPID [3/3]

#define NMI_CHIPID (NMI_PERIPH_REG_BASE)

## ◆ NMI_GLB_RESET_0 [1/2]

#define NMI_GLB_RESET_0 (NMI_PERIPH_REG_BASE + 0x400)

## ◆ NMI_GLB_RESET_0 [2/2]

#define NMI_GLB_RESET_0 (NMI_PERIPH_REG_BASE + 0x400)

## ◆ NMI_INTR_ENABLE [1/4]

#define NMI_INTR_ENABLE (NMI_INTR_REG_BASE)

## ◆ NMI_INTR_ENABLE [2/4]

#define NMI_INTR_ENABLE (NMI_INTR_REG_BASE)

## ◆ NMI_INTR_ENABLE [3/4]

#define NMI_INTR_ENABLE (NMI_INTR_REG_BASE)

## ◆ NMI_INTR_ENABLE [4/4]

#define NMI_INTR_ENABLE (NMI_INTR_REG_BASE)

## ◆ NMI_INTR_REG_BASE [1/2]

#define NMI_INTR_REG_BASE (NMI_PERIPH_REG_BASE + 0xa00)

## ◆ NMI_INTR_REG_BASE [2/2]

#define NMI_INTR_REG_BASE (NMI_PERIPH_REG_BASE + 0xa00)

## ◆ NMI_PERIPH_REG_BASE [1/3]

#define NMI_PERIPH_REG_BASE 0x1000

## ◆ NMI_PERIPH_REG_BASE [2/3]

#define NMI_PERIPH_REG_BASE 0x1000

## ◆ NMI_PERIPH_REG_BASE [3/3]

#define NMI_PERIPH_REG_BASE 0x1000

## ◆ NMI_PIN_MUX_0 [1/4]

#define NMI_PIN_MUX_0 (NMI_PERIPH_REG_BASE + 0x408)

## ◆ NMI_PIN_MUX_0 [2/4]

#define NMI_PIN_MUX_0 (NMI_PERIPH_REG_BASE + 0x408)

## ◆ NMI_PIN_MUX_0 [3/4]

#define NMI_PIN_MUX_0 (NMI_PERIPH_REG_BASE + 0x408)

## ◆ NMI_PIN_MUX_0 [4/4]

#define NMI_PIN_MUX_0 (NMI_PERIPH_REG_BASE + 0x408)

## ◆ NMI_REV_REG

#define NMI_REV_REG (0x207acul) /*Also, Used to load ATE firmware from SPI Flash and to ensure that it is running too*/

## ◆ NMI_SPI_CTL [1/2]

#define NMI_SPI_CTL (NMI_SPI_REG_BASE)

## ◆ NMI_SPI_CTL [2/2]

#define NMI_SPI_CTL (NMI_SPI_REG_BASE)

## ◆ NMI_SPI_INTR_CTL [1/2]

#define NMI_SPI_INTR_CTL (NMI_SPI_REG_BASE + 0x2c)

## ◆ NMI_SPI_INTR_CTL [2/2]

#define NMI_SPI_INTR_CTL (NMI_SPI_REG_BASE + 0x2c)

## ◆ NMI_SPI_MASTER_DMA_ADDR [1/2]

#define NMI_SPI_MASTER_DMA_ADDR (NMI_SPI_REG_BASE + 0x4)

## ◆ NMI_SPI_MASTER_DMA_ADDR [2/2]

#define NMI_SPI_MASTER_DMA_ADDR (NMI_SPI_REG_BASE + 0x4)

## ◆ NMI_SPI_MASTER_DMA_COUNT [1/2]

#define NMI_SPI_MASTER_DMA_COUNT (NMI_SPI_REG_BASE + 0x8)

## ◆ NMI_SPI_MASTER_DMA_COUNT [2/2]

#define NMI_SPI_MASTER_DMA_COUNT (NMI_SPI_REG_BASE + 0x8)

## ◆ NMI_SPI_PROTOCOL_CONFIG [1/2]

#define NMI_SPI_PROTOCOL_CONFIG (NMI_SPI_REG_BASE + 0x24)

## ◆ NMI_SPI_PROTOCOL_CONFIG [2/2]

#define NMI_SPI_PROTOCOL_CONFIG (NMI_SPI_REG_BASE + 0x24)

## ◆ NMI_SPI_PROTOCOL_OFFSET [1/2]

#define NMI_SPI_PROTOCOL_OFFSET (NMI_SPI_PROTOCOL_CONFIG - NMI_SPI_REG_BASE)

## ◆ NMI_SPI_PROTOCOL_OFFSET [2/2]

#define NMI_SPI_PROTOCOL_OFFSET (NMI_SPI_PROTOCOL_CONFIG - NMI_SPI_REG_BASE)

## ◆ NMI_SPI_REG_BASE [1/2]

#define NMI_SPI_REG_BASE 0xe800

## ◆ NMI_SPI_REG_BASE [2/2]

#define NMI_SPI_REG_BASE 0xe800

## ◆ NMI_SPI_SLAVE_DMA_ADDR [1/2]

#define NMI_SPI_SLAVE_DMA_ADDR (NMI_SPI_REG_BASE + 0xc)

## ◆ NMI_SPI_SLAVE_DMA_ADDR [2/2]

#define NMI_SPI_SLAVE_DMA_ADDR (NMI_SPI_REG_BASE + 0xc)

## ◆ NMI_SPI_SLAVE_DMA_COUNT [1/2]

#define NMI_SPI_SLAVE_DMA_COUNT (NMI_SPI_REG_BASE + 0x10)

## ◆ NMI_SPI_SLAVE_DMA_COUNT [2/2]

#define NMI_SPI_SLAVE_DMA_COUNT (NMI_SPI_REG_BASE + 0x10)

## ◆ NMI_SPI_TX_MODE [1/2]

#define NMI_SPI_TX_MODE (NMI_SPI_REG_BASE + 0x20)

## ◆ NMI_SPI_TX_MODE [2/2]

#define NMI_SPI_TX_MODE (NMI_SPI_REG_BASE + 0x20)

## ◆ NMI_STATE_REG

#define NMI_STATE_REG (0x108c)

## ◆ PING_ERR_DEST_UNREACH

#define PING_ERR_DEST_UNREACH 1

## ◆ PING_ERR_SUCCESS

#define PING_ERR_SUCCESS 0

## ◆ PING_ERR_TIMEOUT

#define PING_ERR_TIMEOUT 2

## ◆ PROGRAM_START

#define PROGRAM_START 0x26961735ul

## ◆ PSK_CALC_LEN

#define PSK_CALC_LEN 40

## ◆ RAW_SOCK_ID

#define RAW_SOCK_ID (TCP_SOCK_MAX + UDP_SOCK_MAX)

## ◆ RAW_SOCK_MAX

#define RAW_SOCK_MAX 1

## ◆ REV

#define REV | ( |  | id | ) | (((id)&0x00000ffful))

## ◆ REV_2B0

#define REV_2B0 (0x2B0)

## ◆ REV_3A0

#define REV_3A0 (0x3A0)

## ◆ REV_B0

#define REV_B0 (0x2B0)

## ◆ rHAVE_ETHERNET_MODE_BIT

#define rHAVE_ETHERNET_MODE_BIT (NBIT7)

## ◆ rHAVE_EXT_PA_INV_TX_RX

#define rHAVE_EXT_PA_INV_TX_RX (NBIT4)

## ◆ rHAVE_LEGACY_RF_SETTINGS

#define rHAVE_LEGACY_RF_SETTINGS (NBIT5)

## ◆ rHAVE_LOGS_DISABLED_BIT

#define rHAVE_LOGS_DISABLED_BIT (NBIT6)

## ◆ rHAVE_SDIO_IRQ_GPIO_BIT

#define rHAVE_SDIO_IRQ_GPIO_BIT (NBIT0)

## ◆ rHAVE_SLEEP_CLK_SRC_RTC_BIT

#define rHAVE_SLEEP_CLK_SRC_RTC_BIT (NBIT2)

## ◆ rHAVE_SLEEP_CLK_SRC_XO_BIT

#define rHAVE_SLEEP_CLK_SRC_XO_BIT (NBIT3)

## ◆ rHAVE_USE_PMU_BIT

#define rHAVE_USE_PMU_BIT (NBIT1)

## ◆ rNMI_BOOT_RESET_MUX

#define rNMI_BOOT_RESET_MUX (0x1118)

## ◆ rNMI_GLB_RESET

#define rNMI_GLB_RESET (0x1400)

## ◆ rNMI_GP_REG_0

#define rNMI_GP_REG_0 (0x149c)

## ◆ rNMI_GP_REG_1

#define rNMI_GP_REG_1 (0x14A0)

## ◆ SOCK_DGRAM

#define SOCK_DGRAM 2

## ◆ SOCK_ERR_NO_ERROR

#define SOCK_ERR_NO_ERROR 0

## ◆ SOCK_RAW

#define SOCK_RAW 3

## ◆ SOCK_STREAM

#define SOCK_STREAM 1

## ◆ SOCKET_BUFFER_MAX_LENGTH

#define SOCKET_BUFFER_MAX_LENGTH 1400

## ◆ SOCKET_BUFFER_SIZE

#define SOCKET_BUFFER_SIZE 1472

## ◆ SOCKET_CMD_ACCEPT

#define SOCKET_CMD_ACCEPT 0x43

## ◆ SOCKET_CMD_BIND

#define SOCKET_CMD_BIND 0x41

## ◆ SOCKET_CMD_CLOSE

#define SOCKET_CMD_CLOSE 0x49

## ◆ SOCKET_CMD_CONNECT

#define SOCKET_CMD_CONNECT 0x44

## ◆ SOCKET_CMD_DNS_RESOLVE

#define SOCKET_CMD_DNS_RESOLVE 0x4A

## ◆ SOCKET_CMD_LISTEN

#define SOCKET_CMD_LISTEN 0x42

## ◆ SOCKET_CMD_PING

#define SOCKET_CMD_PING 0x52

## ◆ SOCKET_CMD_RAW_SET_SOCK_OPT [1/2]

#define SOCKET_CMD_RAW_SET_SOCK_OPT 0x54

## ◆ SOCKET_CMD_RAW_SET_SOCK_OPT [2/2]

#define SOCKET_CMD_RAW_SET_SOCK_OPT 0x54

## ◆ SOCKET_CMD_RECV

#define SOCKET_CMD_RECV 0x46

## ◆ SOCKET_CMD_RECVFROM

#define SOCKET_CMD_RECVFROM 0x48

## ◆ SOCKET_CMD_SEND

#define SOCKET_CMD_SEND 0x45

## ◆ SOCKET_CMD_SENDTO

#define SOCKET_CMD_SENDTO 0x47

## ◆ SOCKET_CMD_SET_SOCKET_OPTION

#define SOCKET_CMD_SET_SOCKET_OPTION 0x4F

## ◆ SOCKET_CMD_SSL_CLOSE

#define SOCKET_CMD_SSL_CLOSE 0x4E

## ◆ SOCKET_CMD_SSL_CONNECT

#define SOCKET_CMD_SSL_CONNECT 0x4B

## ◆ SOCKET_CMD_SSL_CONNECT_ALPN

#define SOCKET_CMD_SSL_CONNECT_ALPN 0x53

## ◆ SOCKET_CMD_SSL_CREATE

#define SOCKET_CMD_SSL_CREATE 0x50

## ◆ SOCKET_CMD_SSL_RECV

#define SOCKET_CMD_SSL_RECV 0x4D

## ◆ SOCKET_CMD_SSL_SEND

#define SOCKET_CMD_SSL_SEND 0x4C

## ◆ SOCKET_CMD_SSL_SET_SOCK_OPT

#define SOCKET_CMD_SSL_SET_SOCK_OPT 0x51

## ◆ SOCKET_FLAGS_IPPROTO_RAW

#define SOCKET_FLAGS_IPPROTO_RAW 0x02

## ◆ SOCKET_FLAGS_SSL

#define SOCKET_FLAGS_SSL 0x01

## ◆ SOCKET_REQUEST

#define SOCKET_REQUEST | ( |  | ctx,
|  |  | req_id,
|  |  | req_args,
|  |  | req_size,
|  |  | req_payload,
|  |  | req_payload_size,
|  |  | req_payload_offset
| ) |  | hif_send(ctx, M2M_REQ_GROUP_IP, req_id, req_args, req_size, req_payload, req_payload_size, req_payload_offset)

## ◆ SPI_BASE

#define SPI_BASE NMI_SPI_REG_BASE

## ◆ SPI_RESP_RETRY_COUNT

#define SPI_RESP_RETRY_COUNT (10)

## ◆ SPI_RETRY_COUNT

#define SPI_RETRY_COUNT (10)

## ◆ SSL_FLAGS_ACTIVE

#define SSL_FLAGS_ACTIVE NBIT0

## ◆ SSL_TX_PACKET_OFFSET

#define SSL_TX_PACKET_OFFSET (TCP_TX_PACKET_OFFSET + TLS_RECORD_HEADER_LENGTH)

## ◆ TCP_IP_HEADER_LENGTH

#define TCP_IP_HEADER_LENGTH (40)

## ◆ TCP_SOCK_MAX

#define TCP_SOCK_MAX (7)

Maximum number of simultaneous TCP sockets.

## ◆ TCP_TX_PACKET_OFFSET

#define TCP_TX_PACKET_OFFSET (IP_PACKET_OFFSET + TCP_IP_HEADER_LENGTH)

## ◆ TIMEOUT

#define TIMEOUT (2000)

## ◆ TLS_RECORD_HEADER_LENGTH

#define TLS_RECORD_HEADER_LENGTH (5)

## ◆ UDP_IP_HEADER_LENGTH

#define UDP_IP_HEADER_LENGTH (28)

## ◆ UDP_SOCK_MAX

#define UDP_SOCK_MAX 4

Maximum number of simultaneous UDP sockets.

## ◆ UDP_TX_PACKET_OFFSET

#define UDP_TX_PACKET_OFFSET (IP_PACKET_OFFSET + UDP_IP_HEADER_LENGTH)

## ◆ WAKE_CLK_REG

#define WAKE_CLK_REG (0x1)

## ◆ WAKEUP_TRIALS

#define WAKEUP_TRIALS (4)

## ◆ WEP_104_KEY_SIZE [1/2]

#define WEP_104_KEY_SIZE ((uint8_t)13)

## ◆ WEP_104_KEY_SIZE [2/2]

#define WEP_104_KEY_SIZE ((uint8_t)13)

## ◆ WEP_104_KEY_STRING_SIZE [1/2]

#define WEP_104_KEY_STRING_SIZE ((uint8_t)26)

## ◆ WEP_104_KEY_STRING_SIZE [2/2]

#define WEP_104_KEY_STRING_SIZE ((uint8_t)26)

## ◆ WEP_40_KEY_SIZE

#define WEP_40_KEY_SIZE ((uint8_t)5)

## ◆ WEP_40_KEY_STRING_SIZE

#define WEP_40_KEY_STRING_SIZE ((uint8_t)10)

## ◆ WEP_KEY_MAX_INDEX

#define WEP_KEY_MAX_INDEX ((uint8_t)4)

## ◆ WIFI8_CMD_DMA_EXT_READ

#define WIFI8_CMD_DMA_EXT_READ 0xc8

## ◆ WIFI8_CMD_DMA_EXT_WRITE

#define WIFI8_CMD_DMA_EXT_WRITE 0xc7

## ◆ WIFI8_CMD_INTERNAL_READ

#define WIFI8_CMD_INTERNAL_READ 0xc4

## ◆ WIFI8_CMD_INTERNAL_WRITE

#define WIFI8_CMD_INTERNAL_WRITE 0xc3

## ◆ WIFI8_CMD_RESET

#define WIFI8_CMD_RESET 0xcf

## ◆ WIFI8_CMD_SINGLE_READ

#define WIFI8_CMD_SINGLE_READ 0xca

## ◆ WIFI8_CMD_SINGLE_WRITE

#define WIFI8_CMD_SINGLE_WRITE 0xc9

## ◆ WIFI8_DATA_PKT_SZ

#define WIFI8_DATA_PKT_SZ WIFI8_DATA_PKT_SZ_8K

## ◆ WIFI8_DATA_PKT_SZ_1K

#define WIFI8_DATA_PKT_SZ_1K 1024

## ◆ WIFI8_DATA_PKT_SZ_256

#define WIFI8_DATA_PKT_SZ_256 256

## ◆ WIFI8_DATA_PKT_SZ_4K

#define WIFI8_DATA_PKT_SZ_4K (4 * 1024)

## ◆ WIFI8_DATA_PKT_SZ_512

#define WIFI8_DATA_PKT_SZ_512 512

## ◆ WIFI8_DATA_PKT_SZ_8K

#define WIFI8_DATA_PKT_SZ_8K (8 * 1024)

## ◆ WIFI8_SPI_RESP_RETRY_COUNT

#define WIFI8_SPI_RESP_RETRY_COUNT (10)

## ◆ WIFI8_SPI_RETRY_COUNT

#define WIFI8_SPI_RETRY_COUNT (10)

## ◆ WIFI_1X_TLS_HS_FLAGS_DEFAULT

#define WIFI_1X_TLS_HS_FLAGS_DEFAULT

Value:
( \
WIFI_1X_TLS_HS_FLAGS_PEER_AUTH | WIFI_1X_TLS_HS_FLAGS_PEER_CERTTIMECHECK | WIFI_1X_TLS_HS_FLAGS_SESSION_CACHING)

## ◆ WIFI_1X_TLS_HS_FLAGS_PEER_AUTH

#define WIFI_1X_TLS_HS_FLAGS_PEER_AUTH NBIT1

## ◆ WIFI_1X_TLS_HS_FLAGS_PEER_CERTTIMECHECK

#define WIFI_1X_TLS_HS_FLAGS_PEER_CERTTIMECHECK NBIT2

## ◆ WIFI_1X_TLS_HS_FLAGS_REQUIRE_TIME

#define WIFI_1X_TLS_HS_FLAGS_REQUIRE_TIME NBIT3

## ◆ WIFI_1X_TLS_HS_FLAGS_SESSION_CACHING

#define WIFI_1X_TLS_HS_FLAGS_SESSION_CACHING NBIT4

## ◆ WIFI_1X_TLS_HS_FLAGS_SPECIFY_ROOTCERT

#define WIFI_1X_TLS_HS_FLAGS_SPECIFY_ROOTCERT NBIT6

## ◆ WIFI_HOST_RCV_CTRL_0

#define WIFI_HOST_RCV_CTRL_0 (0x1070)

## ◆ WIFI_HOST_RCV_CTRL_1

#define WIFI_HOST_RCV_CTRL_1 (0x1084)

## ◆ WIFI_HOST_RCV_CTRL_2

#define WIFI_HOST_RCV_CTRL_2 (0x1078)

## ◆ WIFI_HOST_RCV_CTRL_3

#define WIFI_HOST_RCV_CTRL_3 (0x106c)

## ◆ WIFI_HOST_RCV_CTRL_4

#define WIFI_HOST_RCV_CTRL_4 (0x150400ul)

## Typedef Documentation

## ◆ wifi8_app_eth_cb_t

typedef void(* wifi8_app_eth_cb_t) (uint8_t u8_msg_type, void *pv_msg, void *pv_ctrl_buf)

## ◆ wifi8_app_mon_cb_t

typedef void(* wifi8_app_mon_cb_t) (wifi8_m2m_wifi_rx_packet_info_t *pstr_wifi_rx_packet, uint8_t *pu8_payload, uint16_t u16_payload_size)

## ◆ wifi8_app_resolve_cb_t

typedef void(* wifi8_app_resolve_cb_t) (uint8_t *pu8_domain_name, uint32_t u32_server_ip)

## ◆ wifi8_app_socket_cb_t

typedef void(* wifi8_app_socket_cb_t) (int8_t sock, uint8_t u8_msg, void *pv_msg)

## ◆ wifi8_app_wifi_cb_t

typedef void(* wifi8_app_wifi_cb_t) (uint8_t u8_msg_type, void *pv_msg)

## ◆ wifi8_ping_cb_t

typedef void(* wifi8_ping_cb_t) (uint32_t u32ip_addr, uint32_t u32rtt, uint8_t u8_error_code)

## Enumeration Type Documentation

## ◆ wifi8_1x_option_t

enum wifi8_1x_option_t

Enumerator
WIFI_1X_BYPASS_SERVER_AUTH | Server authentication for 802.1x connections. Values are of type int. 0: Authenticate server; Default, Recommended. 1: Bypass server authentication.
WIFI_1X_TIME_VERIF_MODE | Mode for checking expiry of server certificate chain. Values are of type tenuTlsCertExpSettings. Default is TLS_CERT_EXP_CHECK_EN_IF_SYS_TIME.
WIFI_1X_SESSION_CACHING | TLS session caching on/off for 802.1x connections. Values are of type int. 0: Session caching off. 1: Session caching on; Default. Note that the WINC implementation of PEAPv0 does not support session caching; this setting is ignored for PEAPv0 methods.
WIFI_1X_SPECIFIC_ROOTCERT | SHA1 digest of subject name of the root certificate to be used during server authentication. Values are: 20-byte arrays: authentication is limited to this particular root certificate; Recommended 0-byte array: authentication can succeed with any certificate in the WINC root certificate store; Default.

## ◆ wifi8_cred_store_option_t

enum wifi8_cred_store_option_t

Enumerator
WIFI_CRED_DONTSAVE | Credentials will not be stored in WINC flash.
WIFI_CRED_SAVE_UNENCRYPTED | Credentials will be stored unencrypted in WINC flash.
WIFI_CRED_SAVE_ENCRYPTED | Credentials will be stored encrypted in WINC flash. The encryption is not secure; it is merely intended to prevent sensitive information being leaked by an opportunistic read of WINC flash contents. The encryption keys involve WINC efuse contents, so WINC efuses should not be written while this option is in use.

## ◆ wifi8_m2m_ap_cmd_t

enum wifi8_m2m_ap_cmd_t

Enumerator
M2M_WIFI_REQ_ENABLE_AP_LEGACY | Request to enable AP mode.
M2M_WIFI_REQ_DISABLE_AP | Request to disable AP mode.
M2M_WIFI_REQ_ENABLE_AP | Request to enable AP mode.
M2M_WIFI_MAX_AP_ALL |

## ◆ wifi8_m2m_config_cmd_t

enum wifi8_m2m_config_cmd_t

Enumerator
M2M_WIFI_REQ_RESTART | Restart the WINC MAC layer, it's doesn't restart the IP layer.
M2M_WIFI_REQ_SET_MAC_ADDRESS | Set the WINC mac address (not possible for production effused boards).
M2M_WIFI_REQ_CURRENT_RSSI | Request the current connected AP RSSI.
M2M_WIFI_RESP_CURRENT_RSSI | Response to M2M_WIFI_REQ_CURRENT_RSSI with the RSSI value.
M2M_WIFI_REQ_RESTRICT_BLE | Request restrict ble.
M2M_WIFI_REQ_UNRESTRICT_BLE | Request unrestrict ble.
M2M_WIFI_REQ_GET_CONN_INFO | Request connection information.
M2M_WIFI_RESP_CONN_INFO | Response to M2M_WIFI_REQ_GET_CONN_INFO with the connection information.
M2M_WIFI_REQ_SET_DEVICE_NAME | Request to set WINC device name property.
M2M_WIFI_REQ_START_PROVISION_MODE_LEGACY | Request to start provisioning mode.
M2M_WIFI_RESP_PROVISION_INFO | Response to the host with the provisioning information.
M2M_WIFI_REQ_STOP_PROVISION_MODE | Request to stop provision mode.
M2M_WIFI_REQ_SET_SYS_TIME | Request to set system time.
M2M_WIFI_REQ_ENABLE_SNTP_CLIENT | Request to enable the simple network time protocol to get the time from the Internet. This is required for security purposes.
M2M_WIFI_REQ_DISABLE_SNTP_CLIENT | Request to disable the simple network time protocol for applications that do not need it.
M2M_WIFI_RESP_MEMORY_RECOVER | Reserved for debugging
M2M_WIFI_REQ_CUST_INFO_ELEMENT | Request to add custom information to the Beacons IE.
M2M_WIFI_REQ_SCAN | Request scan command.
M2M_WIFI_RESP_SCAN_DONE | Response to notify scan complete.
M2M_WIFI_REQ_SCAN_RESULT | Request for scan results.
M2M_WIFI_RESP_SCAN_RESULT | Response to provide the scan results.
M2M_WIFI_REQ_SET_SCAN_OPTION | Request to set scan options "slot time, slot number .. etc".
M2M_WIFI_REQ_SET_SCAN_REGION | Request to set scan region.
M2M_WIFI_REQ_SET_POWER_PROFILE | Request to set the Power Profile.
M2M_WIFI_REQ_SET_TX_POWER | Request to set the TX Power.
M2M_WIFI_REQ_SET_BATTERY_VOLTAGE | Request to set the Battery Voltage.
M2M_WIFI_REQ_SET_ENABLE_LOGS | Request to enable logs.
M2M_WIFI_REQ_GET_SYS_TIME | Request to get system time.
M2M_WIFI_RESP_GET_SYS_TIME | Response to retrieve the system time.
M2M_WIFI_REQ_SEND_ETHERNET_PACKET | Request to send Ethernet packet in bypass mode.
M2M_WIFI_RESP_ETHERNET_RX_PACKET | Response to receive an Ethernet packet in bypass mode.
M2M_WIFI_REQ_SET_MAC_MCAST | Request to set multicast filters.
M2M_WIFI_REQ_BLE_API_SEND | Request to send an Encapsulated BLE API MSG
M2M_WIFI_RESP_BLE_API_RECV | Response to receive an Encapsulated BLE API MSG
M2M_WIFI_REQ_SET_GAIN_TABLE | Request to use Gain table from Flash
M2M_WIFI_RESP_SET_GAIN_TABLE | Response to fail to use Gain table from Flash
M2M_WIFI_REQ_PASSIVE_SCAN | Request a passive scan.
M2M_WIFI_REQ_CONFIG_SNTP | Configure NTP servers.
M2M_WIFI_REQ_START_PROVISION_MODE | Request to start provisioning mode.
M2M_WIFI_MAX_CONFIG_ALL |

## ◆ wifi8_m2m_conn_state_t

enum wifi8_m2m_conn_state_t

Enumerator
M2M_WIFI_DISCONNECTED | Wi-Fi state is disconnected.
M2M_WIFI_CONNECTED | Wi-Fi state is connected.
M2M_WIFI_ROAMED | Wi-Fi state is roamed to new AP.
M2M_WIFI_UNDEF | Undefined Wi-Fi State.

## ◆ wifi8_m2m_gen_cmd_t

enum wifi8_m2m_gen_cmd_t

Enumerator
M2M_WIFI_REQRSP_DELETE_APID | Request/response to delete security credentials from WINC flash. (Processing matches tenuM2mConfigCmd.)
M2M_WIFI_REQ_ROAMING | Request to enable/disable wifi roaming.(Processing matches tenuM2mConfigCmd.)
M2M_WIFI_MAX_GEN_ALL |

## ◆ wifi8_m2m_ota_cmd_t

enum wifi8_m2m_ota_cmd_t

Enumerator
M2M_OTA_REQ_NOTIF_SET_URL | Reserved. Do not use.
M2M_OTA_REQ_NOTIF_CHECK_FOR_UPDATE | Reserved. Do not use.
M2M_OTA_REQ_NOTIF_SCHED | Reserved. Do not use.
M2M_OTA_REQ_START_UPDATE | Request to start an OTA update.
M2M_OTA_REQ_SWITCH_FIRMWARE | Request to switch firmware.
M2M_OTA_REQ_ROLLBACK | Request to perform an OTA rollback.
M2M_OTA_REQ_ABORT | Request to abort OTA.
M2M_OTA_RESP_NOTIF_UPDATE_INFO | Reserved. Do not use.
M2M_OTA_RESP_UPDATE_STATUS | Response to indicate the OTA update status.
M2M_OTA_REQ_TEST | Reserved. Do not use.
M2M_OTA_MAX_ALL |

## ◆ wifi8_m2m_req_group_t

enum wifi8_m2m_req_group_t

Enumerator
M2M_REQ_GROUP_MAIN |
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 |

## ◆ wifi8_m2m_reqpkt_t

enum wifi8_m2m_reqpkt_t

Enumerator
M2M_REQ_CONFIG_PKT |
M2M_REQ_DATA_PKT |

## ◆ wifi8_m2m_scan_ch_t

enum wifi8_m2m_scan_ch_t

Enumerator
M2M_WIFI_CH_1 | Channel 1.
M2M_WIFI_CH_2 | Channel 2.
M2M_WIFI_CH_3 | Channel 3.
M2M_WIFI_CH_4 | Channel 4.
M2M_WIFI_CH_5 | Channel 5.
M2M_WIFI_CH_6 | Channel 6.
M2M_WIFI_CH_7 | Channel 7.
M2M_WIFI_CH_8 | Channel 8.
M2M_WIFI_CH_9 | Channel 9.
M2M_WIFI_CH_10 | Channel 10.
M2M_WIFI_CH_11 | Channel 11.
M2M_WIFI_CH_12 | Channel 12.
M2M_WIFI_CH_13 | Channel 13.
M2M_WIFI_CH_14 | Channel 14.
M2M_WIFI_CH_ALL |

## ◆ wifi8_m2m_sec_type_t

enum wifi8_m2m_sec_type_t

Enumerator
M2M_WIFI_SEC_INVALID | Invalid security type.
M2M_WIFI_SEC_OPEN | Wi-Fi network is not secured.
M2M_WIFI_SEC_WPA_PSK | Wi-Fi network is secured with WPA/WPA2 personal(PSK).
M2M_WIFI_SEC_WEP | Security type WEP (40 or 104) OPEN OR SHARED.
M2M_WIFI_SEC_802_1X | Wi-Fi network is secured with WPA/WPA2 Enterprise.IEEE802.1x.
M2M_WIFI_NUM_AUTH_TYPES | Upper limit for enum value.

## ◆ wifi8_m2m_server_cmd_t

enum wifi8_m2m_server_cmd_t

Enumerator
M2M_WIFI_REQ_CLIENT_CTRL | Currently not supported.
M2M_WIFI_RESP_CLIENT_INFO | Currently not supported.
M2M_WIFI_REQ_SERVER_INIT | Currently not supported.
M2M_WIFI_MAX_SERVER_ALL |

## ◆ wifi8_m2m_ssid_mode_t

enum wifi8_m2m_ssid_mode_t

Enumerator
SSID_MODE_VISIBLE | SSID is visible to others.
SSID_MODE_HIDDEN | SSID is hidden.

## ◆ wifi8_m2m_ssl_cmd_t

enum wifi8_m2m_ssl_cmd_t

Enumerator
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_SET_CERT_VERIF_MODE |

## ◆ wifi8_m2m_sta_cmd_t

enum wifi8_m2m_sta_cmd_t

Enumerator
M2M_WIFI_REQ_CONNECT | Request to connect with a specified AP. This command is deprecated in favour of M2M_WIFI_REQ_CONN.
M2M_WIFI_REQ_DEFAULT_CONNECT | Request to connect with a cached AP.
M2M_WIFI_RESP_DEFAULT_CONNECT | Response for the default connect.
M2M_WIFI_REQ_DISCONNECT | Request to disconnect from the AP.
M2M_WIFI_RESP_CON_STATE_CHANGED | Response to indicate a change in the connection state.
M2M_WIFI_REQ_SLEEP | Request to sleep.
M2M_WIFI_REQ_WPS_SCAN | Request to WPS scan.
M2M_WIFI_REQ_WPS | Request to start WPS.
M2M_WIFI_REQ_START_WPS | This command is for internal use by the WINC and should not be used by the host driver.
M2M_WIFI_REQ_DISABLE_WPS | Request to disable WPS.
M2M_WIFI_REQ_DHCP_CONF | Response to indicate the obtained IP address.
M2M_WIFI_RESP_IP_CONFIGURED | This command is for internal use by the WINC and should not be used by the host driver.
M2M_WIFI_RESP_IP_CONFLICT | Response to indicate a conflict in obtained IP address. The user should re attempt the DHCP request.
M2M_WIFI_REQ_ENABLE_MONITORING | Request to enable monitor mode.
M2M_WIFI_REQ_DISABLE_MONITORING | Request to disable monitor mode.
M2M_WIFI_RESP_WIFI_RX_PACKET | Response to indicate a packet was received in monitor mode.
M2M_WIFI_REQ_SEND_WIFI_PACKET | Request to send a packet in monitor mode.
M2M_WIFI_REQ_LSN_INT | Request to set the listen interval.
M2M_WIFI_REQ_DOZE | Request to doze
M2M_WIFI_REQ_GET_PRNG | Request PRNG.
M2M_WIFI_RESP_GET_PRNG | Response for PRNG.
M2M_WIFI_REQ_CONN | New command to connect with AP. This replaces M2M_WIFI_REQ_CONNECT. (Firmware continues to handle M2M_WIFI_REQ_CONNECT for backwards compatibility purposes.)
M2M_WIFI_IND_CONN_PARAM | Provide extra information (such as Enterprise client certificate) required for connection.
M2M_WIFI_MAX_STA_ALL |

## ◆ wifi8_m2m_wifi_mode_t

enum wifi8_m2m_wifi_mode_t

Enumerator
M2M_WIFI_MODE_NORMAL | Customer firmware.
M2M_WIFI_MODE_CONFIG | Production test firmware.
M2M_WIFI_MODE_ETHERNET | Ethernet Mode
M2M_WIFI_MODE_MAX |

## ◆ wifi8_nm_state_t

enum wifi8_nm_state_t

Enumerator
NM_STATE_DEINIT | WINC is not initialized
NM_STATE_INIT | WINC has been initialized. SPI flash access is possible.
NM_STATE_START | WINC has started

## ◆ wifi8_return_value_t

enum wifi8_return_value_t

WiFi 8 Click return value data.

Predefined enum values for driver return values.

Enumerator
WIFI8_OK |
WIFI8_ERROR |

## ◆ wifi8_socket_callback_msg_t

enum wifi8_socket_callback_msg_t

Enumerator
SOCKET_MSG_BIND | Bind socket event.
SOCKET_MSG_LISTEN | Listen socket event.
SOCKET_MSG_DNS_RESOLVE | DNS Resolution event.
SOCKET_MSG_ACCEPT | Accept socket event.
SOCKET_MSG_CONNECT | Connect socket event.
SOCKET_MSG_RECV | Receive socket event.
SOCKET_MSG_SEND | Send socket event.
SOCKET_MSG_SENDTO | Sendto socket event.
SOCKET_MSG_RECVFROM | Recvfrom socket event.

## ◆ wifi8_tls_cert_exp_settings_t

enum wifi8_tls_cert_exp_settings_t

Enumerator
TLS_CERT_EXP_CHECK_DISABLE | Certificate expiry is not checked. Server authentication does not depend on expiry of certificates.
TLS_CERT_EXP_CHECK_ENABLE | Certificate expiry is checked and current time is required. Server authentication fails if a certificate has expired or the current time is unknown.
TLS_CERT_EXP_CHECK_EN_IF_SYS_TIME | Certificate expiry is only checked if current time is known. Server authentication fails if a certificate has expired; passes if the current time is unknown.

## ◆ wifi8_wifi_state_t

enum wifi8_wifi_state_t

Enumerator
WIFI_STATE_DEINIT | Wifi is not initialized
WIFI_STATE_INIT | Wifi has been initialized. WINC flash access is possible via m2m_flash APIs.
WIFI_STATE_START | Wifi has started

M2M_HIF_BLOCK_SHIFT
#define M2M_HIF_BLOCK_SHIFT
Definition: wifi8_types.h:146
M2M_HIF_BLOCK_VALUE
#define M2M_HIF_BLOCK_VALUE
Definition: wifi8_types.h:170
M2M_HIF_LEVEL_SHIFT
#define M2M_HIF_LEVEL_SHIFT
Definition: wifi8_types.h:148
M2M_HIF_BLOCK_MASK
#define M2M_HIF_BLOCK_MASK
Definition: wifi8_types.h:147
M2M_HIF_LEVEL_MASK
#define M2M_HIF_LEVEL_MASK
Definition: wifi8_types.h:149
WIFI_1X_TLS_HS_FLAGS_SESSION_CACHING
#define WIFI_1X_TLS_HS_FLAGS_SESSION_CACHING
Definition: wifi8_types.h:370
WIFI_1X_TLS_HS_FLAGS_PEER_CERTTIMECHECK
#define WIFI_1X_TLS_HS_FLAGS_PEER_CERTTIMECHECK
Definition: wifi8_types.h:368
HIF_OTA_RB_ONLY
#define HIF_OTA_RB_ONLY
Definition: wifi8_types.h:306