⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wmi.h

📁 Atheros Communications AR6001 WLAN Driver for SDIO installation Read Me March 26,2007 (based on
💻 H
📖 第 1 页 / 共 3 页
字号:
    WMI_REPORT_ROAM_TBL_EVENTID,
#endif
    WMI_EXTENSION_EVENTID,
#ifndef AR6K_FIRMWARE_1_0
    WMI_CAC_EVENTID,
    WMI_SNR_THRESHOLD_EVENTID,
    WMI_LQ_THRESHOLD_EVENTID,
    WMI_TX_RETRY_ERR_EVENTID,
    WMI_REPORT_ROAM_DATA_EVENTID,
#endif
} 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 */
} WMI_READY_EVENT;

/*
 * Connect Event
 */
typedef struct {
    A_UINT16    channel;
    A_UINT8     bssid[ATH_MAC_LEN];
    A_UINT16    listenInterval;
#ifndef AR6K_FIRMWARE_1_0
    A_UINT8     beaconIeLen;
#endif
    A_UINT8     assocReqLen;
    A_UINT8     assocRespLen;
    A_UINT8     assocInfo[1];
} 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];
} 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];
} 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;
} WMI_CMD_ERROR_EVENT;

/*
 * New Regulatory Domain Event
 */
typedef struct {
    A_UINT32    regDomain;
} WMI_REG_DOMAIN_EVENT;

typedef struct {
    A_UINT8     txQueueNumber;
    A_UINT8     rxQueueNumber;
    A_UINT8     trafficDirection;
} 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 */
} WMI_NEIGHBOR_INFO;

typedef struct {
    A_INT8      numberOfAps;
    WMI_NEIGHBOR_INFO neighbor[1];
} WMI_NEIGHBOR_REPORT_EVENT;

/*
 * TKIP MIC Error Event
 */
typedef struct {
    A_UINT8 keyid;
    A_UINT8 ismcast;
} WMI_TKIP_MICERR_EVENT;

/*
 * WMI_SCAN_COMPLETE_EVENTID - no parameters
 */
#ifdef AR6K_FIRMWARE_1_0
#define MAX_OPT_DATA_LEN 1500
#else
#define MAX_OPT_DATA_LEN 1400
#endif

/*
 * WMI_SET_ADHOC_BSSID_CMDID
 */
typedef struct {
    A_UINT8     bssid[ATH_MAC_LEN];
} WMI_SET_ADHOC_BSSID_CMD;

/*
 * WMI_SET_OPT_MODE_CMDID
 */
typedef enum {
    SPECIAL_OFF,
    SPECIAL_ON,
} OPT_MODE_TYPE;

typedef struct {
    A_UINT8     optMode;
} 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,
} 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;
} 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];
} 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;
#ifndef AR6K_FIRMWARE_1_0
    A_UINT32   tx_packet_per_ac[4];
#endif
    A_UINT32   tx_errors;            
    A_UINT32   tx_failed_cnt;
    A_UINT32   tx_retry_cnt;
    A_UINT32   tx_rts_fail_cnt;
}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;
}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;
}tkip_ccmp_stats_t;

typedef struct {
    A_UINT32   power_save_failure_cnt;
}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;
}cserv_stats_t;

typedef struct {
    tx_stats_t          tx_stats;
    rx_stats_t          rx_stats;
    tkip_ccmp_stats_t   tkipCcmpStats;
}wlan_net_stats_t;

typedef struct {
    wlan_net_stats_t    txrxStats;
    cserv_stats_t       cservStats;
    pm_stats_t          pmStats;
    A_INT16             noise_floor_calibation;
}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;
}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
}WMI_TARGET_ERROR_VAL;

typedef struct {
    A_UINT32 errorVal;
}WMI_TARGET_ERROR_REPORT_EVENT;

/*
 * WMI_REPORT_ROAM_TBL_EVENTID
 */
#define MAX_ROAM_TBL_CAND   5

typedef 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;
} WMI_BSS_ROAM_INFO;


typedef struct {
    A_UINT8  roamMode;
    A_UINT8  numEntries;
    WMI_BSS_ROAM_INFO bssRoamInfo[1];
} 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   63

typedef struct {
    A_UINT8 ac;
    A_UINT8 cac_indication;
    A_UINT8 statusCode;
    A_UINT8 tspecSuggestion[WMM_TSPEC_IE_LEN];
}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 */
} 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;
} WMI_TARGET_ROAM_TIME;

typedef struct {
    A_UINT8 roamDataType;
    union {
        WMI_TARGET_ROAM_TIME roamTime;
    } u;
} WMI_TARGET_ROAM_DATA;

#ifdef UNDER_CE
#pragma pack()
#endif

#ifdef __cplusplus
}
#endif

#endif /* _WMI_H_ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -