📄 wmi.h
字号:
A_UINT8 bssid[ATH_MAC_LEN];} __ATTRIB_PACK WMI_ADD_BAD_AP_CMD;/* * WMI_DELETE_BAD_AP_CMDID */typedef struct { A_UINT8 badApIndex; /* 0 to WMI_MAX_BAD_AP_INDEX */} __ATTRIB_PACK WMI_DELETE_BAD_AP_CMD;/* * WMI_SET_ACCESS_PARAMS_CMDID */#define WMI_DEFAULT_TXOP_ACPARAM 0 /* implies one MSDU */#define WMI_DEFAULT_ECWMIN_ACPARAM 4 /* corresponds to CWmin of 15 */#define WMI_DEFAULT_ECWMAX_ACPARAM 10 /* corresponds to CWmax of 1023 */#define WMI_MAX_CW_ACPARAM 15 /* maximum eCWmin or eCWmax */#define WMI_DEFAULT_AIFSN_ACPARAM 2#define WMI_MAX_AIFSN_ACPARAM 15typedef struct { A_UINT16 txop; /* in units of 32 usec */ A_UINT8 eCWmin; A_UINT8 eCWmax; A_UINT8 aifsn;} __ATTRIB_PACK WMI_SET_ACCESS_PARAMS_CMD;/* * WMI_SET_RETRY_LIMITS_CMDID * * This command is used to customize the number of retries the * wlan device will perform on a given frame. */#define WMI_MIN_RETRIES 2#define WMI_MAX_RETRIES 13typedef enum { MGMT_FRAMETYPE = 0, CONTROL_FRAMETYPE = 1, DATA_FRAMETYPE = 2} WMI_FRAMETYPE;typedef struct { A_UINT8 frameType; /* WMI_FRAMETYPE */ A_UINT8 trafficClass; /* applies only to DATA_FRAMETYPE */ A_UINT8 maxRetries;} __ATTRIB_PACK WMI_SET_RETRY_LIMITS_CMD;/* * WMI_SET_ROAM_CTRL_CMDID * * This command is used to influence the Roaming behaviour * Set the host biases of the BSSs before setting the roam mode as bias * based. *//* * Different types of Roam Control */typedef enum { WMI_FORCE_ROAM = 1, /* Roam to the specified BSSID */ WMI_SET_ROAM_MODE = 2, /* default ,progd bias, no roam */ WMI_SET_HOST_BIAS = 3, /* Set the Host Bias */} WMI_ROAM_CTRL_TYPE;#define WMI_MIN_ROAM_CTRL_TYPE WMI_FORCE_ROAM#define WMI_MAX_ROAM_CTRL_TYPE WMI_SET_HOST_BIAS/* * ROAM MODES */typedef enum { WMI_DEFAULT_ROAM_MODE = 1, /* RSSI based ROAM */ WMI_HOST_BIAS_ROAM_MODE = 2, /* HOST BIAS based ROAM */ WMI_LOCK_BSS_MODE = 3, /* Lock to the Current BSS - no Roam */ WMI_DISABLE_ROAM = 4 /* disables all auto-nomous roaming behaviour */} WMI_ROAM_MODE;/* * BSS HOST BIAS INFO */typedef struct { A_UINT8 bssid[ATH_MAC_LEN]; A_INT8 bias;} __ATTRIB_PACK WMI_BSS_BIAS;typedef struct { A_UINT8 numBss; WMI_BSS_BIAS bssBias[1];} __ATTRIB_PACK WMI_BSS_BIAS_INFO;typedef struct { A_UINT8 roamCtrlType; union { A_UINT8 bssid[ATH_MAC_LEN]; /* WMI_FORCE_ROAM */ A_UINT8 roamMode; /* WMI_SET_ROAM_MODE */ WMI_BSS_BIAS_INFO bssBiasInfo; /* WMI_SET_HOST_BIAS */ } __ATTRIB_PACK info;} __ATTRIB_PACK WMI_SET_ROAM_CTRL_CMD;/* * WMI_ENABLE_RM_CMDID */typedef struct { A_BOOL enable_radio_measurements;} __ATTRIB_PACK WMI_ENABLE_RM_CMD;/* * WMI_SET_MAX_OFFHOME_DURATION_CMDID */typedef struct { A_UINT8 max_offhome_duration;} __ATTRIB_PACK WMI_SET_MAX_OFFHOME_DURATION_CMD;/* * Command Replies *//* * WMI_GET_CHANNEL_LIST_CMDID reply */typedef struct { A_UINT8 reserved1; A_UINT8 numChannels; /* number of channels in reply */ A_UINT16 channelList[1]; /* channel in Mhz */} __ATTRIB_PACK WMI_CHANNEL_LIST_REPLY;typedef enum { A_SUCCEEDED = A_OK, A_MBOX1_OK = 1, A_MBOX2_OK = 2, A_MBOX3_OK = 3, A_FAILED_DELETE_INVALID_MBOX = 253, A_FAILED_CREATE_REMOVE_PSTREAM_FIRST = 254,} PSTREAM_REPLY_STATUS;typedef struct { A_UINT8 status; /* PSTREAM_REPLY_STATUS */ A_UINT8 txQueueNumber; A_UINT8 rxQueueNumber; A_UINT8 trafficClass; A_UINT8 trafficDirection; /* DIR_TYPE */} __ATTRIB_PACK WMI_CRE_PRIORITY_STREAM_REPLY;typedef struct { A_UINT8 status; /* PSTREAM_REPLY_STATUS */ A_UINT8 txQueueNumber; A_UINT8 rxQueueNumber; A_UINT8 trafficDirection; /* DIR_TYPE */ A_UINT8 trafficClass;} __ATTRIB_PACK WMI_DEL_PRIORITY_STREAM_REPLY;/* * List of Events (target to host) */typedef enum { WMI_READY_EVENTID = 0x1001, WMI_CONNECT_EVENTID, WMI_DISCONNECT_EVENTID, WMI_BSSINFO_EVENTID, WMI_CMDERROR_EVENTID, WMI_REGDOMAIN_EVENTID, WMI_PSTREAM_TIMEOUT_EVENTID, WMI_NEIGHBOR_REPORT_EVENTID, WMI_TKIP_MICERR_EVENTID, WMI_SCAN_COMPLETE_EVENTID, WMI_REPORT_STATISTICS_EVENTID, WMI_RSSI_THRESHOLD_EVENTID, WMI_ERROR_REPORT_EVENTID, WMI_OPT_RX_FRAME_EVENTID, WMI_REPORT_ROAM_TBL_EVENTID, WMI_EXTENSION_EVENTID, WMI_CAC_EVENTID, WMI_SNR_THRESHOLD_EVENTID, WMI_LQ_THRESHOLD_EVENTID, WMI_TX_RETRY_ERR_EVENTID, WMI_REPORT_ROAM_DATA_EVENTID,} WMI_EVENT_ID;typedef enum { WMI_11A_CAPABILITY = 1, WMI_11G_CAPABILITY = 2, WMI_11AG_CAPABILITY = 3,} WMI_PHY_CAPABILITY;typedef struct { A_UINT8 macaddr[ATH_MAC_LEN]; A_UINT8 phyCapability; /* WMI_PHY_CAPABILITY */} __ATTRIB_PACK WMI_READY_EVENT;/* * Connect Event */typedef struct { A_UINT16 channel; A_UINT8 bssid[ATH_MAC_LEN]; A_UINT16 listenInterval; A_UINT8 beaconIeLen; A_UINT8 assocReqLen; A_UINT8 assocRespLen; A_UINT8 assocInfo[1];} __ATTRIB_PACK WMI_CONNECT_EVENT;/* * Disconnect Event */typedef enum { NO_NETWORK_AVAIL = 0x01, LOST_LINK = 0x02, /* bmiss */ DISCONNECT_CMD = 0x03, BSS_DISCONNECTED = 0x04, AUTH_FAILED = 0x05, ASSOC_FAILED = 0x06, NO_RESOURCES_AVAIL = 0x07, CSERV_DISCONNECT = 0x08, INVALID_PROFILE = 0x0a,} WMI_DISCONNECT_REASON;typedef struct { A_UINT8 disconnectReason; /* see WMI_DISCONNECT_REASON */ A_UINT8 bssid[ATH_MAC_LEN]; /* set if known */ A_UINT8 assocRespLen; A_UINT8 assocInfo[1];} __ATTRIB_PACK WMI_DISCONNECT_EVENT;/* * BSS Info Event. * Mechanism used to inform host of the presence and characteristic of * wireless networks present. Consists of bss info header followed by * the beacon or probe-response frame body. The 802.11 header is not included. */typedef enum { BEACON_FTYPE = 0x1, PROBERESP_FTYPE,} WMI_BI_FTYPE;typedef struct { A_UINT16 channel; A_UINT8 frameType; /* see WMI_BI_FTYPE */ A_INT8 rssi; A_UINT8 bssid[ATH_MAC_LEN];} __ATTRIB_PACK WMI_BSS_INFO_HDR;/* * Command Error Event */typedef enum { INVALID_PARAM = 0x01, ILLEGAL_STATE = 0x02, INTERNAL_ERROR = 0x03,} WMI_ERROR_CODE;typedef struct { A_UINT16 commandId; A_UINT8 errorCode;} __ATTRIB_PACK WMI_CMD_ERROR_EVENT;/* * New Regulatory Domain Event */typedef struct { A_UINT32 regDomain;} __ATTRIB_PACK WMI_REG_DOMAIN_EVENT;typedef struct { A_UINT8 txQueueNumber; A_UINT8 rxQueueNumber; A_UINT8 trafficDirection;} __ATTRIB_PACK WMI_PSTREAM_TIMEOUT_EVENT;/* * The WMI_NEIGHBOR_REPORT Event is generated by the target to inform * the host of BSS's it has found that matches the current profile. * It can be used by the host to cache PMKs and/to initiate pre-authentication * if the BSS supports it. The first bssid is always the current associated * BSS. * The bssid and bssFlags information repeats according to the number * or APs reported. */typedef enum { WMI_DEFAULT_BSS_FLAGS = 0x00, WMI_PREAUTH_CAPABLE_BSS = 0x01, WMI_PMKID_VALID_BSS = 0x02,} WMI_BSS_FLAGS;typedef struct { A_UINT8 bssid[ATH_MAC_LEN]; A_UINT8 bssFlags; /* see WMI_BSS_FLAGS */} __ATTRIB_PACK WMI_NEIGHBOR_INFO;typedef struct { A_INT8 numberOfAps; WMI_NEIGHBOR_INFO neighbor[1];} __ATTRIB_PACK WMI_NEIGHBOR_REPORT_EVENT;/* * TKIP MIC Error Event */typedef struct { A_UINT8 keyid; A_UINT8 ismcast;} __ATTRIB_PACK WMI_TKIP_MICERR_EVENT;/* * WMI_SCAN_COMPLETE_EVENTID - no parameters */#define MAX_OPT_DATA_LEN 1400/* * WMI_SET_ADHOC_BSSID_CMDID */typedef struct { A_UINT8 bssid[ATH_MAC_LEN];} __ATTRIB_PACK WMI_SET_ADHOC_BSSID_CMD;/* * WMI_SET_OPT_MODE_CMDID */typedef enum { SPECIAL_OFF, SPECIAL_ON,} OPT_MODE_TYPE;typedef struct { A_UINT8 optMode;} __ATTRIB_PACK WMI_SET_OPT_MODE_CMD;/* * WMI_TX_OPT_FRAME_CMDID */typedef enum { OPT_PROBE_REQ = 0x01, OPT_PROBE_RESP = 0x02, OPT_CPPP_START = 0x03, OPT_CPPP_STOP = 0x04,} __ATTRIB_PACK WMI_OPT_FTYPE;typedef struct { A_UINT8 frmType; A_UINT8 dstAddr[ATH_MAC_LEN]; A_UINT8 bssid[ATH_MAC_LEN]; A_UINT16 optIEDataLen; A_UINT8 *optIEData;} __ATTRIB_PACK WMI_OPT_TX_FRAME_CMD;/* * Special frame receive Event. * Mechanism used to inform host of the receiption of the special frames. * Consists of special frame info header followed by special frame body. * The 802.11 header is not included. */typedef struct { A_UINT16 channel; A_UINT8 frameType; /* see WMI_OPT_FTYPE */ A_INT8 rssi; A_UINT8 srcAddr[ATH_MAC_LEN]; A_UINT8 bssid[ATH_MAC_LEN];} __ATTRIB_PACK WMI_OPT_RX_INFO_HDR;/* * Reporting statistics. */typedef struct { A_UINT32 tx_packets; A_UINT32 tx_bytes; A_UINT32 tx_unicast_pkts; A_UINT32 tx_unicast_bytes; A_UINT32 tx_multicast_pkts; A_UINT32 tx_multicast_bytes; A_UINT32 tx_broadcast_pkts; A_UINT32 tx_broadcast_bytes; A_UINT32 tx_rts_success_cnt; A_UINT32 tx_packet_per_ac[4]; A_UINT32 tx_errors; A_UINT32 tx_failed_cnt; A_UINT32 tx_retry_cnt; A_UINT32 tx_rts_fail_cnt;}__ATTRIB_PACK tx_stats_t;typedef struct { A_UINT32 rx_packets; A_UINT32 rx_bytes; A_UINT32 rx_unicast_pkts; A_UINT32 rx_unicast_bytes; A_UINT32 rx_multicast_pkts; A_UINT32 rx_multicast_bytes; A_UINT32 rx_broadcast_pkts; A_UINT32 rx_broadcast_bytes; A_UINT32 rx_fragment_pkt; A_UINT32 rx_errors; A_UINT32 rx_crcerr; A_UINT32 rx_key_cache_miss; A_UINT32 rx_decrypt_err; A_UINT32 rx_duplicate_frames;}__ATTRIB_PACK rx_stats_t;typedef struct { A_UINT32 tkip_local_mic_failure; A_UINT32 tkip_counter_measures_invoked; A_UINT32 tkip_replays; A_UINT32 tkip_format_errors; A_UINT32 ccmp_format_errors; A_UINT32 ccmp_replays;}__ATTRIB_PACK tkip_ccmp_stats_t;typedef struct { A_UINT32 power_save_failure_cnt;}__ATTRIB_PACK pm_stats_t;typedef struct { A_UINT32 cs_bmiss_cnt; A_UINT32 cs_lowRssi_cnt; A_UINT16 cs_connect_cnt; A_UINT16 cs_disconnect_cnt; A_UINT8 cs_aveBeacon_rssi; A_UINT8 cs_lastRoam_msec;}__ATTRIB_PACK cserv_stats_t;typedef struct { tx_stats_t tx_stats; rx_stats_t rx_stats; tkip_ccmp_stats_t tkipCcmpStats;}__ATTRIB_PACK wlan_net_stats_t;typedef struct { wlan_net_stats_t txrxStats; cserv_stats_t cservStats; pm_stats_t pmStats; A_INT16 noise_floor_calibation;}__ATTRIB_PACK WMI_TARGET_STATS;/* * WMI_RSSI_THRESHOLD_EVENTID. * Indicate the RSSI events to host. Events are indicated when we breach a * thresold value. */typedef enum{ WMI_RSSI_LOWTHRESHOLD_BELOW_LOWERVAL=1, WMI_RSSI_LOWTHRESHOLD_LOWERVAL, WMI_RSSI_LOWTHRESHOLD_UPPERVAL, WMI_RSSI_HIGHTHRESHOLD_LOWERVAL, WMI_RSSI_HIGHTHRESHOLD_HIGHERVAL}WMI_RSSI_THRESHOLD_VAL;typedef struct { A_UINT8 range;}__ATTRIB_PACK WMI_RSSI_THRESHOLD_EVENT;/* * WMI_ERROR_REPORT_EVENTID */typedef enum{ WMI_TARGET_PM_ERR_FAIL = 0x00000001, WMI_TARGET_KEY_NOT_FOUND = 0x00000002, WMI_TARGET_DECRYPTION_ERR = 0x00000004, WMI_TARGET_BMISS = 0x00000008, WMI_PSDISABLE_NODE_JOIN = 0x00000010}__ATTRIB_PACK WMI_TARGET_ERROR_VAL;typedef struct { A_UINT32 errorVal;}__ATTRIB_PACK WMI_TARGET_ERROR_REPORT_EVENT;/* * WMI_REPORT_ROAM_TBL_EVENTID */#define MAX_ROAM_TBL_CAND 5typedef struct { A_UINT8 bssid[ATH_MAC_LEN]; A_INT8 rssi; A_INT8 rssidt; A_INT8 last_rssi; A_INT32 roam_util; A_INT8 util; A_INT8 bias;} __ATTRIB_PACK WMI_BSS_ROAM_INFO;typedef struct { A_UINT8 roamMode; A_UINT8 numEntries; WMI_BSS_ROAM_INFO bssRoamInfo[1];} __ATTRIB_PACK WMI_TARGET_ROAM_TBL;/* * WMI_CAC_EVENTID */typedef enum { CAC_INDICATION_ADMISSION = 0x00, CAC_INDICATION_ADMISSION_RESP = 0x01, CAC_INDICATION_DELETE = 0x02, CAC_INDICATION_NO_RESP = 0x03,}CAC_INDICATION;#define WMM_TSPEC_IE_LEN 63typedef struct { A_UINT8 ac; A_UINT8 cac_indication; A_UINT8 statusCode; A_UINT8 tspecSuggestion[WMM_TSPEC_IE_LEN];}__ATTRIB_PACK WMI_CAC_EVENT;/* * developer commands *//* * WMI_SET_BITRATE_CMDID * * Get bit rate cmd uses same definition as set bit rate cmd */typedef enum { RATE_AUTO = -1, RATE_1Mb = 0, RATE_2Mb = 1, RATE_5_5Mb = 2, RATE_11Mb = 3, RATE_6Mb = 4, RATE_9Mb = 5, RATE_12Mb = 6, RATE_18Mb = 7, RATE_24Mb = 8, RATE_36Mb = 9, RATE_48Mb = 10, RATE_54Mb = 11,} WMI_BIT_RATE;typedef struct { A_INT8 rateIndex; /* see WMI_BIT_RATE */} __ATTRIB_PACK WMI_BIT_RATE_CMD, WMI_BIT_RATE_REPLY;typedef enum { ROAM_DATA_TIME = 1, /* Get The Roam Time Data */} ROAM_DATA_TYPE;typedef struct { A_UINT32 disassoc_time; A_UINT8 disassoc_bssid[ATH_MAC_LEN]; A_INT8 disassoc_bss_rssi; A_UINT32 no_txrx_time; A_UINT32 assoc_time; A_UINT8 assoc_bssid[ATH_MAC_LEN]; A_INT8 assoc_bss_rssi; A_UINT32 allow_txrx_time; A_UINT32 last_data_txrx_time; A_UINT32 first_data_txrx_time;} __ATTRIB_PACK WMI_TARGET_ROAM_TIME;typedef struct { A_UINT8 roamDataType; union { WMI_TARGET_ROAM_TIME roamTime; } u;} __ATTRIB_PACK WMI_TARGET_ROAM_DATA;#ifdef __cplusplus}#endif#endif /* _WMI_H_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -