RDK-B
wifi_hal_generic.h File Reference
#include <stddef.h>
Include dependency graph for wifi_hal_generic.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  __attribute__
 Wifi RADIUS Settings. More...
 
struct  __attribute__
 Wifi RADIUS Settings. More...
 
struct  __attribute__
 Wifi RADIUS Settings. More...
 
struct  __attribute__
 Wifi RADIUS Settings. More...
 
struct  __attribute__
 Wifi RADIUS Settings. More...
 
struct  __attribute__
 Wifi RADIUS Settings. More...
 
struct  __attribute__
 Wifi RADIUS Settings. More...
 
struct  __attribute__
 Wifi RADIUS Settings. More...
 
struct  __attribute__
 Wifi RADIUS Settings. More...
 
struct  __attribute__
 Wifi RADIUS Settings. More...
 
struct  __attribute__
 Wifi RADIUS Settings. More...
 
struct  __attribute__
 Wifi RADIUS Settings. More...
 
struct  wifi_twt_operation_t
 Wifi TWT Operation. More...
 
struct  wifi_twt_individual_params_t
 
struct  wifi_twt_broadcast_params_t
 
struct  wifi_twt_params_t
 
struct  wifi_80211ax_params_t
 
struct  wifi_twt_dev_info_t
 
struct  wifi_twt_sessions_t
 
struct  wifi_bsr_t
 
struct  wifi_ru_allocation_t
 
struct  wifi_dl_mu_stats_t
 
struct  wifi_ul_mu_stats_t
 
struct  _wifi_frame_info
 This structure hold the information about the wifi interface. More...
 
struct  _wifi_csi_data
 This structure hold the information about the wifi interface. More...
 
struct  _wifi_associated_dev3
 This structure hold the information about the wifi interface. More...
 

Macros

#define ULLONG   unsigned long long
 
#define ULONG   unsigned long
 
#define USHORT   unsigned short
 
#define BOOL   unsigned char
 
#define CHAR   char
 
#define UCHAR   unsigned char
 
#define INT   int
 
#define UINT   unsigned int
 
#define TRUE   1
 
#define FALSE   0
 
#define ENABLE   1
 
#define RETURN_OK   0
 
#define RETURN_ERR   -1
 
#define WIFI_HAL_SUCCESS   0
 
#define WIFI_HAL_ERROR   -1
 
#define WIFI_HAL_INTERNAL_ERROR   -2
 
#define WIFI_HAL_UNSUPPORTED   -3
 
#define WIFI_HAL_INVALID_ARGUMENTS   -4
 
#define WIFI_HAL_INVALID_VALUE   -5
 
#define RADIO_INDEX_1   1
 
#define RADIO_INDEX_2   2
 
#define RADIO_INDEX_3   3
 
#define AP_INDEX_1   1
 
#define AP_INDEX_2   2
 
#define AP_INDEX_3   3
 
#define AP_INDEX_4   4
 
#define AP_INDEX_5   5
 
#define AP_INDEX_6   6
 
#define AP_INDEX_7   7
 
#define AP_INDEX_8   8
 
#define AP_INDEX_9   9
 
#define AP_INDEX_10   10
 
#define AP_INDEX_11   11
 
#define AP_INDEX_12   12
 
#define AP_INDEX_13   13
 
#define AP_INDEX_14   14
 
#define AP_INDEX_15   15
 
#define AP_INDEX_16   16
 
#define AP_INDEX_17   17
 
#define AP_INDEX_18   18
 
#define AP_INDEX_19   19
 
#define AP_INDEX_20   20
 
#define AP_INDEX_21   21
 
#define AP_INDEX_22   22
 
#define AP_INDEX_23   23
 
#define AP_INDEX_24   24
 
#define MAX_NUM_RADIOS   2
 
#define MAX_NUM_VAP_PER_RADIO   8
 
#define MAC_STR_LEN   18
 
#define ETHER_ADDR_LEN   6
 
#define ACL_MACADDR_SIZE   18
 
#define ACL_MACFLT_NUM   16
 
#define MAC_LIST_SIZE   ( (ACL_MACADDR_SIZE * WL_MACADDR_SIZE) + 2 )
 
#define ACL_MAC_ARRAY_MAX   512
 
#define ASSOC_MAC_ARRAY_MAX   1024
 
#define SUPPORTED_STANDARDS_RADIO2_4GHZ   "b,g,n"
 
#define SUPPORTED_STANDARDS_RADIO5GHZ   "a,n,ac"
 
#define RESTORE_CNFG_FILE_NAME   "/data/.nvram_restore_cfg.txt"
 
#define NVRAM_LINE_MAX   (1024)
 
#define WIFI_HAL_MAJOR_VERSION   3
 
#define WIFI_HAL_MINOR_VERSION   0
 
#define WIFI_HAL_MAINTENANCE_VERSION   1
 
#define WIFI_HAL_VERSION   (WIFI_HAL_MAJOR_VERSION *1000+ WIFI_HAL_MINOR_VERSION *10+ WIFI_HAL_MAINTENANCE_VERSION)
 
#define MAX_NUM_TWT_SESSION   50
 
#define MAX_STA_PER_SESSION   100
 
#define MAX_BSR   32
 
#define MAX_RU_ALLOCATIONS   74
 
#define CONN_NEW   1
 
#define CONN_RENEW   2
 
#define CONN_RECONN_AFTER_INACTIVITY   3
 
#define KI1_VER_MASK   0xf8
 
#define KI1_PW_KEY   0x08
 
#define KI1_INSTALL   0x40
 
#define KI1_ACK   0x80
 
#define KI1_MSG1_BITS   (KI1_PW_KEY | KI1_ACK)
 
#define KI1_MSG3_BITS   (KI1_PW_KEY | KI1_INSTALL|KI1_ACK)
 
#define KI0_MIC   0x01
 
#define KI0_SECURE   0x02
 
#define KI0_ENCR   0x10
 
#define KI0_MSG3_BITS   (KI0_MIC | KI0_SECURE | KI0_ENCR)
 
#define KI0_MSG4_BITS   (KI0_MIC | KI0_SECURE)
 
#define KEY_MSG_1_OF_4(msg)   ((((msg)->key_info[1] & KI1_VER_MASK) == KI1_MSG1_BITS) && ((msg)->key_info[0] == 0))
 
#define KEY_MSG_2_OF_4(msg)   ((((msg)->key_info[1] & KI1_VER_MASK) == KI1_PW_KEY) && ((msg)->key_info[0] == KI0_MIC))
 
#define KEY_MSG_3_OF_4(msg)   ((((msg)->key_info[1] & KI1_VER_MASK) == KI1_MSG3_BITS) && ((msg)->key_info[0] == KI0_MSG3_BITS))
 
#define KEY_MSG_4_OF_4(msg)   ((((msg)->key_info[1] & KI1_VER_MASK) == KI1_PW_KEY) && ((msg)->key_info[0] == KI0_MSG4_BITS))
 
#define MAX_NUM_FREQ_BAND   4
 
#define MAX_CHANNELS   64
 
#define MAXNUMBEROFTRANSMIPOWERSUPPORTED   21
 
#define WIFI_HAL_RSN_SELECTOR(a, b, c, d)
 
#define WIFI_HAL_RSN_CIPHER_SUITE_NONE   WIFI_HAL_RSN_SELECTOR(0x00, 0x0f, 0xac, 0)
 
#define WIFI_HAL_RSN_CIPHER_SUITE_TKIP   WIFI_HAL_RSN_SELECTOR(0x00, 0x0f, 0xac, 2)
 
#define WIFI_HAL_RSN_CIPHER_SUITE_CCMP   WIFI_HAL_RSN_SELECTOR(0x00, 0x0f, 0xac, 4)
 
#define WIFI_HAL_RSN_CIPHER_SUITE_AES_128_CMAC   WIFI_HAL_RSN_SELECTOR(0x00, 0x0f, 0xac, 6)
 
#define WIFI_HAL_RSN_CIPHER_SUITE_NO_GROUP_ADDRESSED   WIFI_HAL_RSN_SELECTOR(0x00, 0x0f, 0xac, 7)
 
#define WIFI_HAL_RSN_CIPHER_SUITE_GCMP   WIFI_HAL_RSN_SELECTOR(0x00, 0x0f, 0xac, 8)
 
#define WIFI_HAL_RSN_CIPHER_SUITE_GCMP_256   WIFI_HAL_RSN_SELECTOR(0x00, 0x0f, 0xac, 9)
 
#define WIFI_HAL_RSN_CIPHER_SUITE_CCMP_256   WIFI_HAL_RSN_SELECTOR(0x00, 0x0f, 0xac, 10)
 
#define WIFI_HAL_RSN_CIPHER_SUITE_BIP_GMAC_128   WIFI_HAL_RSN_SELECTOR(0x00, 0x0f, 0xac, 11)
 
#define WIFI_HAL_RSN_CIPHER_SUITE_BIP_GMAC_256   WIFI_HAL_RSN_SELECTOR(0x00, 0x0f, 0xac, 12)
 
#define WIFI_HAL_RSN_CIPHER_SUITE_BIP_CMAC_256   WIFI_HAL_RSN_SELECTOR(0x00, 0x0f, 0xac, 13)
 
#define WIFI_CIPHER_CAPA_ENC_WEP40   0x00000001
 
#define WIFI_CIPHER_CAPA_ENC_WEP104   0x00000002
 
#define WIFI_CIPHER_CAPA_ENC_TKIP   0x00000004
 
#define WIFI_CIPHER_CAPA_ENC_CCMP   0x00000008
 
#define WIFI_CIPHER_CAPA_ENC_WEP128   0x00000010
 
#define WIFI_CIPHER_CAPA_ENC_GCMP   0x00000020
 
#define WIFI_CIPHER_CAPA_ENC_GCMP_256   0x00000040
 
#define WIFI_CIPHER_CAPA_ENC_CCMP_256   0x00000080
 
#define WIFI_CIPHER_CAPA_ENC_BIP   0x00000100
 
#define WIFI_CIPHER_CAPA_ENC_BIP_GMAC_128   0x00000200
 
#define WIFI_CIPHER_CAPA_ENC_BIP_GMAC_256   0x00000400
 
#define WIFI_CIPHER_CAPA_ENC_BIP_CMAC_256   0x00000800
 
#define WIFI_CIPHER_CAPA_ENC_GTK_NOT_USED   0x00001000
 
#define MAXIFACENAMESIZE   64
 
#define MAX_NR   8
 
#define MAX_NC   4
 
#define MAX_SUB_CARRIERS   256
 
#define MAX_PILOTS   26
 

Typedefs

typedef unsigned char mac_address_t[6]
 
typedef char mac_addr_str_t[18]
 
typedef mac_address_t bssid_t
 
typedef char ssid_t[32]
 
typedef unsigned int wifi_radio_index_t
 
typedef unsigned int u_int32_t
 
typedef char nas_id_t[49]
 
typedef unsigned char r0r1_key_t[16]
 
typedef char r0r1_key_str_t[33]
 
typedef char wifi_interface_name_t[32]
 
typedef char wifi_vap_name_t[64]
 
typedef int wifi_streams_rssi_t[8]
 
typedef unsigned int wifi_carrier_data_t[8][4]
 
typedef wifi_carrier_data_t wifi_csi_matrix_t[256]
 
typedef unsigned char wifi_evm_data_t[4][8]
 
typedef wifi_evm_data_t wifi_evm_matrix_t[26]
 
typedef struct _wifi_frame_info wifi_frame_info_t
 This structure hold the information about the wifi interface. More...
 
typedef struct _wifi_csi_data wifi_csi_data_t
 This structure hold the information about the wifi interface. More...
 
typedef struct _wifi_associated_dev3 wifi_associated_dev3_t
 This structure hold the information about the wifi interface. More...
 

Enumerations

enum  wifi_ip_family_t { wifi_ip_family_ipv4, wifi_ip_family_ipv6 }
 
enum  eWifiEnable { WIFI_HAL_DISABLE = 0, WIFI_HAL_ENABLE = 1 }
 
enum  wifi_freq_bands_t {
  WIFI_FREQUENCY_2_4_BAND = 0x1, WIFI_FREQUENCY_5_BAND = 0x2, WIFI_FREQUENCY_5L_BAND = 0x4, WIFI_FREQUENCY_5H_BAND = 0x8,
  WIFI_FREQUENCY_6_BAND = 0x10, WIFI_FREQUENCY_60_BAND = 0x20
}
 Wifi Frequency Band Types. More...
 
enum  wifi_channelBandwidth_t {
  WIFI_CHANNELBANDWIDTH_20MHZ = 0x1, WIFI_CHANNELBANDWIDTH_40MHZ = 0x2, WIFI_CHANNELBANDWIDTH_80MHZ = 0x4, WIFI_CHANNELBANDWIDTH_160MHZ = 0x8,
  WIFI_CHANNELBANDWIDTH_80_80MHZ = 0x10
}
 Wifi Channel Bandwidth Types. More...
 
enum  wifi_ieee80211Variant_t {
  WIFI_80211_VARIANT_A = 0x01, WIFI_80211_VARIANT_B = 0x02, WIFI_80211_VARIANT_G = 0x04, WIFI_80211_VARIANT_N = 0x08,
  WIFI_80211_VARIANT_H = 0x10, WIFI_80211_VARIANT_AC = 0x20, WIFI_80211_VARIANT_AD = 0x40, WIFI_80211_VARIANT_AX = 0x80
}
 Wifi 802.11 variant Types. More...
 
enum  wifi_bitrate_t {
  WIFI_BITRATE_DEFAULT = 0x0001, WIFI_BITRATE_1MBPS = 0x0002, WIFI_BITRATE_2MBPS = 0x0004, WIFI_BITRATE_5_5MBPS = 0x0008,
  WIFI_BITRATE_6MBPS = 0x0010, WIFI_BITRATE_9MBPS = 0x0020, WIFI_BITRATE_11MBPS = 0x0040, WIFI_BITRATE_12MBPS = 0x0080,
  WIFI_BITRATE_18MBPS = 0x0100, WIFI_BITRATE_24MBPS = 0x0200, WIFI_BITRATE_36MBPS = 0x0400, WIFI_BITRATE_48MBPS = 0x0800,
  WIFI_BITRATE_54MBPS = 0x1000
}
 Wifi supported bitrates. More...
 
enum  wifi_countrycode_type_t {
  wifi_countrycode_AC, wifi_countrycode_AD, wifi_countrycode_AE, wifi_countrycode_AF,
  wifi_countrycode_AG, wifi_countrycode_AI, wifi_countrycode_AL, wifi_countrycode_AM,
  wifi_countrycode_AN, wifi_countrycode_AO, wifi_countrycode_AQ, wifi_countrycode_AR,
  wifi_countrycode_AS, wifi_countrycode_AT, wifi_countrycode_AU, wifi_countrycode_AW,
  wifi_countrycode_AZ, wifi_countrycode_BA, wifi_countrycode_BB, wifi_countrycode_BD,
  wifi_countrycode_BE, wifi_countrycode_BF, wifi_countrycode_BG, wifi_countrycode_BH,
  wifi_countrycode_BI, wifi_countrycode_BJ, wifi_countrycode_BM, wifi_countrycode_BN,
  wifi_countrycode_BO, wifi_countrycode_BR, wifi_countrycode_BS, wifi_countrycode_BT,
  wifi_countrycode_BV, wifi_countrycode_BW, wifi_countrycode_BY, wifi_countrycode_BZ,
  wifi_countrycode_CA, wifi_countrycode_CC, wifi_countrycode_CD, wifi_countrycode_CF,
  wifi_countrycode_CG, wifi_countrycode_CH, wifi_countrycode_CI, wifi_countrycode_CK,
  wifi_countrycode_CL, wifi_countrycode_CM, wifi_countrycode_CN, wifi_countrycode_CO,
  wifi_countrycode_CP, wifi_countrycode_CR, wifi_countrycode_CU, wifi_countrycode_CV,
  wifi_countrycode_CY, wifi_countrycode_CX, wifi_countrycode_CZ, wifi_countrycode_DE,
  wifi_countrycode_DJ, wifi_countrycode_DK, wifi_countrycode_DM, wifi_countrycode_DO,
  wifi_countrycode_DZ, wifi_countrycode_EC, wifi_countrycode_EE, wifi_countrycode_EG,
  wifi_countrycode_EH, wifi_countrycode_ER, wifi_countrycode_ES, wifi_countrycode_ET,
  wifi_countrycode_FI, wifi_countrycode_FJ, wifi_countrycode_FK, wifi_countrycode_FM,
  wifi_countrycode_FO, wifi_countrycode_FR, wifi_countrycode_GA, wifi_countrycode_GB,
  wifi_countrycode_GD, wifi_countrycode_GE, wifi_countrycode_GF, wifi_countrycode_GG,
  wifi_countrycode_GH, wifi_countrycode_GI, wifi_countrycode_GL, wifi_countrycode_GM,
  wifi_countrycode_GN, wifi_countrycode_GP, wifi_countrycode_GQ, wifi_countrycode_GR,
  wifi_countrycode_GS, wifi_countrycode_GT, wifi_countrycode_GU, wifi_countrycode_GW,
  wifi_countrycode_GY, wifi_countrycode_HR, wifi_countrycode_HT, wifi_countrycode_HM,
  wifi_countrycode_HN, wifi_countrycode_HK, wifi_countrycode_HU, wifi_countrycode_IS,
  wifi_countrycode_IN, wifi_countrycode_ID, wifi_countrycode_IR, wifi_countrycode_IQ,
  wifi_countrycode_IE, wifi_countrycode_IL, wifi_countrycode_IM, wifi_countrycode_IT,
  wifi_countrycode_IO, wifi_countrycode_JM, wifi_countrycode_JP, wifi_countrycode_JE,
  wifi_countrycode_JO, wifi_countrycode_KE, wifi_countrycode_KG, wifi_countrycode_KH,
  wifi_countrycode_KI, wifi_countrycode_KM, wifi_countrycode_KN, wifi_countrycode_KP,
  wifi_countrycode_KR, wifi_countrycode_KW, wifi_countrycode_KY, wifi_countrycode_KZ,
  wifi_countrycode_LA, wifi_countrycode_LB, wifi_countrycode_LC, wifi_countrycode_LI,
  wifi_countrycode_LK, wifi_countrycode_LR, wifi_countrycode_LS, wifi_countrycode_LT,
  wifi_countrycode_LU, wifi_countrycode_LV, wifi_countrycode_LY, wifi_countrycode_MA,
  wifi_countrycode_MC, wifi_countrycode_MD, wifi_countrycode_ME, wifi_countrycode_MG,
  wifi_countrycode_MH, wifi_countrycode_MK, wifi_countrycode_ML, wifi_countrycode_MM,
  wifi_countrycode_MN, wifi_countrycode_MO, wifi_countrycode_MQ, wifi_countrycode_MR,
  wifi_countrycode_MS, wifi_countrycode_MT, wifi_countrycode_MU, wifi_countrycode_MV,
  wifi_countrycode_MW, wifi_countrycode_MX, wifi_countrycode_MY, wifi_countrycode_MZ,
  wifi_countrycode_NA, wifi_countrycode_NC, wifi_countrycode_NE, wifi_countrycode_NF,
  wifi_countrycode_NG, wifi_countrycode_NI, wifi_countrycode_NL, wifi_countrycode_NO,
  wifi_countrycode_NP, wifi_countrycode_NR, wifi_countrycode_NU, wifi_countrycode_NZ,
  wifi_countrycode_MP, wifi_countrycode_OM, wifi_countrycode_PA, wifi_countrycode_PE,
  wifi_countrycode_PF, wifi_countrycode_PG, wifi_countrycode_PH, wifi_countrycode_PK,
  wifi_countrycode_PL, wifi_countrycode_PM, wifi_countrycode_PN, wifi_countrycode_PR,
  wifi_countrycode_PS, wifi_countrycode_PT, wifi_countrycode_PW, wifi_countrycode_PY,
  wifi_countrycode_QA, wifi_countrycode_RE, wifi_countrycode_RO, wifi_countrycode_RS,
  wifi_countrycode_RU, wifi_countrycode_RW, wifi_countrycode_SA, wifi_countrycode_SB,
  wifi_countrycode_SD, wifi_countrycode_SE, wifi_countrycode_SC, wifi_countrycode_SG,
  wifi_countrycode_SH, wifi_countrycode_SI, wifi_countrycode_SJ, wifi_countrycode_SK,
  wifi_countrycode_SL, wifi_countrycode_SM, wifi_countrycode_SN, wifi_countrycode_SO,
  wifi_countrycode_SR, wifi_countrycode_ST, wifi_countrycode_SV, wifi_countrycode_SY,
  wifi_countrycode_SZ, wifi_countrycode_TA, wifi_countrycode_TC, wifi_countrycode_TD,
  wifi_countrycode_TF, wifi_countrycode_TG, wifi_countrycode_TH, wifi_countrycode_TJ,
  wifi_countrycode_TK, wifi_countrycode_TL, wifi_countrycode_TM, wifi_countrycode_TN,
  wifi_countrycode_TO, wifi_countrycode_TR, wifi_countrycode_TT, wifi_countrycode_TV,
  wifi_countrycode_TW, wifi_countrycode_TZ, wifi_countrycode_UA, wifi_countrycode_UG,
  wifi_countrycode_UM, wifi_countrycode_US, wifi_countrycode_UY, wifi_countrycode_UZ,
  wifi_countrycode_VA, wifi_countrycode_VC, wifi_countrycode_VE, wifi_countrycode_VG,
  wifi_countrycode_VI, wifi_countrycode_VN, wifi_countrycode_VU, wifi_countrycode_WF,
  wifi_countrycode_WS, wifi_countrycode_YE, wifi_countrycode_YT, wifi_countrycode_YU,
  wifi_countrycode_ZA, wifi_countrycode_ZM, wifi_countrycode_ZW, wifi_countrycode_max
}
 
enum  wifi_operating_env_t { wifi_operating_env_all, wifi_operating_env_indoor, wifi_operating_env_outdoor, wifi_operating_env_non_country }
 
enum  wifi_twt_agreement_type_t { wifi_twt_agreement_type_individual, wifi_twt_agreement_type_broadcast }
 Wifi TWT agreement type. More...
 
enum  wifi_ru_type_t {
  WIFI_RU_TYPE_26, WIFI_RU_TYPE_52, WIFI_RU_TYPE_106, WIFI_RU_TYPE_242,
  WIFI_RU_TYPE_484, WIFI_RU_TYPE_996, WIFI_RU_TYPE_2X996
}
 
enum  wifi_access_category_t { wifi_access_category_background, wifi_access_category_best_effort, wifi_access_category_video, wifi_access_category_voice }
 Wifi access category (AC) type. More...
 
enum  wifi_dl_mu_type_t { WIFI_DL_MU_TYPE_NONE, WIFI_DL_MU_TYPE_OFDMA, WIFI_DL_MU_TYPE_MIMO, WIFI_DL_MU_TYPE_OFDMA_MIMO }
 
enum  wifi_ul_mu_type_t { WIFI_UL_MU_TYPE_NONE, WIFI_UL_MU_TYPE_OFDMA }
 
enum  wifi_chan_eventType_t { WIFI_EVENT_CHANNELS_CHANGED, WIFI_EVENT_DFS_RADAR_DETECTED }
 
enum  wifi_connection_status_t { wifi_connection_status_disabled, wifi_connection_status_disconnected, wifi_connection_status_connected, wifi_connection_status_ap_not_found }
 

Functions

int wifi_getHalCapability (wifi_hal_capability_t *cap)
 Get HAL Capabilities. More...
 
int wifi_factoryReset ()
 Clears internal variables to implement a factory reset of the Wi-Fi subsystem. More...
 
int wifi_setLED (int radioIndex, unsigned char enable)
 Set the system LED status. More...
 
int wifi_init ()
 This function call initializes all Wi-Fi radios. More...
 
int wifi_reset ()
 Resets the Wifi subsystem. This includes reset of all Access Point variables. More...
 
int wifi_down ()
 Turns off transmit power for the entire Wifi subsystem, for all radios. More...
 
int wifi_createInitialConfigFiles ()
 This function creates wifi configuration files. More...
 
int wifi_createHostApdConfig (int apIndex, unsigned char createWpsCfg)
 Creates configuration variables needed for WPA/WPS. More...
 
int wifi_startHostApd ()
 Starts hostapd. More...
 
int wifi_stopHostApd ()
 Stops hostapd. More...