📄 wlan_ccx.h
字号:
/** @file wlan_11d.h * @brief This header file contains data structures and * function declarations of wlan_ccx.c * * Copyright (c) Marvell Semiconductor, Inc., 2003-2005 *//*************************************************************Change log: 10/11/05: add Doxygen format comments ************************************************************/#ifndef _WLAN_CCX_H#define _WLAN_CCX_H// For WinCE +++#define u8 UCHAR// For WinCE ---#define OS_INT8 char#define OS_UINT8 BYTE#define OS_UINT16 WORD#define OS_UINT32 DWORD#ifdef CCX_TPC#define CCX_TPC_MinPowerValue 5#define CCX_TPC_MaxPowerValue 17#endiftypedef ULONG FSW_CCX_CONFIGURATION;#define FSW_CCX_CONFIGURATION_ENABLE_CKIP 0x00000001#define FSW_CCX_CONFIGURATION_ENABLE_ROGUE_AP 0x00000002#define FSW_CCX_CONFIGURATION_ENABLE_CCKM 0x00000004#ifdef CCX_TPC/* Information Element IDs */typedef enum tagINFO_ELEMENT_CCX_IDS { ELE_CISCO_AIRONET = 133, /* 0x85 */ ELE_CISCO_ENCAPTRANS = 136, /* 0x88 (S20 in spec */ ELE_CISCO_APIP_ADDR = 149, /* 0x95 (S21 in spec */ ELE_CISCO_CLIENT_TX_PWR = 150, /* 0x96 */ ELE_CISCO_FAST_HANDOFF = 156, /* 0x9c */ ELE_CISCO_SYMBOL = 173, /* 0xAD (S22 in spec)*/ ELE_CISCO_MEASUREMENT_REQUEST = 38, /* 0x26 */ ELE_CISCO_MEASUREMENT_REPORT = 39, /* 0x27 */} INFO_ELEMENT_CCX_IDS;#endif // #ifdef CCX_TPC typedef enum _FSW_CCX_NETWORK_EAP{ FswCcx_NetworkEapOff = 0, FswCcx_NetworkEapOn, FswCcx_NetworkEapAllowed, FswCcx_NetworkEapPreferred} FSW_CCX_NETWORK_EAP;typedef struct _FSW_CCX_ROGUE_AP_DETECTED{ OS_UINT16 FailureReason; NDIS_802_11_MAC_ADDRESS RogueAPMacAddress; OS_INT8 RogueAPName[16];} FSW_CCX_ROGUE_AP_DETECTED,*PFSW_CCX_ROGUE_AP_DETECTED;typedef struct _FSW_CCX_AUTH_SUCCESS{ NDIS_802_11_SSID Ssid; NDIS_802_11_MAC_ADDRESS MacAddress;} FSW_CCX_AUTH_SUCCESS;typedef struct _FSW_CCX_CCKM_START{ OS_UINT8 Timestamp[8]; NDIS_802_11_MAC_ADDRESS BSSID;} FSW_CCX_CCKM_START,*PFSW_CCX_CCKM_START;typedef enum _FSW_CCX_CCKM_REQUEST_CODE{ FswCcx_CckmFirstTime = 0, FswCcx_CckmFastHandoff,} FSW_CCX_CCKM_REQUEST_CODE;typedef struct _FSW_CCX_CCKM_REQUEST{ FSW_CCX_CCKM_REQUEST_CODE RequestCode; OS_UINT32 AssociationRequestIELength; OS_UINT8 AssociationRequestIE[1];} FSW_CCX_CCKM_REQUEST,*PFSW_CCX_CCKM_REQUEST;typedef enum _FSW_CCX_CCKM_RESULT_CODE{ FswCcx_CckmSuccess = 0, FswCcx_CckmFailure, FswCcx_CckmNotInUse} FSW_CCX_CCKM_RESULT_CODE;typedef struct _FSW_CCX_CCKM_RESULT{ FSW_CCX_CCKM_RESULT_CODE ResultCode;} FSW_CCX_CCKM_RESULT,*PFSW_CCX_CCKM_RESULT;/** * CCX information for a specific BSS. Part of the BSS descriptor, setup * during scan interpretation and used if needed in association requests */typedef struct{ UCHAR ccxEnabled;#ifdef CCX_CCKM UCHAR cckmEnabled;#endif UCHAR maxPowerValid; UCHAR maxPower;} CCX_BSS_Info_t;#ifdef CCXtypedef struct _WPA_SUPPLICANT{ UCHAR Wpa_ie[256]; UCHAR Wpa_ie_len;} WPA_SUPPLICANT, *PWPA_SUPPLICANT;#endif extern void wlan_ccx_init(IN PMRVDRV_ADAPTER pAdapter);extern void wlan_ccx_free(void);/* Add any additional CCX elments to an association request to the firmware */extern int wlan_ccx_process_association_req(u8** pAssocBuf, CCX_BSS_Info_t* pCcxBssInfo, WPA_SUPPLICANT * pWpaInfo, UCHAR *timestamp, int enableCcxPwrLimit);/* Process any incoming bss elements in a scan response that are CCX related */extern int wlan_ccx_process_bss_elem(CCX_BSS_Info_t* pBSSID, u8* pBssElem);extern ULONG wlan_ccx_getFlags(void);extern void wlan_ccx_setFlags(ULONG flags);extern ULONG wlan_ccx_getEAPState(void);extern void wlan_ccx_setEAPState(ULONG state);extern void wlan_ccx_setRogueAP(FSW_CCX_ROGUE_AP_DETECTED *pRogueAP);extern void wlan_ccx_sendRogueAPList(IN PMRVDRV_ADAPTER Adapter);#ifdef CCX_CCKMextern int wlan_ccx_cckmStart(PUCHAR pTimestamp);#endifextern void wlan_ccx_setCurMAC( IN PNDIS_802_11_SSID curSsid, IN NDIS_802_11_MAC_ADDRESS curBSSID, IN NDIS_802_11_MAC_ADDRESS curStaMac );extern void wlan_ccx_send_packet(IN PMRVDRV_ADAPTER Adapter);extern int wlan_ccx_isCurPacket(PNDIS_PACKET pPacket);///crlo:slowping ++extern void wlan_ccx_clrCurPacket(void);///crlo:slowping --///crlo:fastroam ++typedef struct _CCX_AP_INFO_ /* list of current APs. */{ NDIS_802_11_MAC_ADDRESS alMACAddr; /* MAC address */ OS_UINT16 alChannel; /* channel of AP */ NDIS_802_11_SSID ssid; DWORD alDisassocTime; /* seconds since disassociated */} CCX_AP_INFO,*PCCX_AP_INFO;void wlan_ccx_send_ddp(IN PMRVDRV_ADAPTER Adapter);///crlo:fastroam --extern void wlan_ccx_authSuccess(void);extern void wlan_ccx_assocSuccess(void);extern void wlan_ccx_disconnect(void);#ifdef CCX_TPCextern void wlan_ccx_setTxPower(void);extern void wlan_ccx_recTxPower(int userPower);#endif///crlo:RadioMeasure ++/// Scan types for Operation ( all others are reserved )/// ref: Table 36-7#define PASSIVE_SCAN 0#define ACTIVE_SCAN 1#define BEACON_TABLE 2typedef enum { CCXPKT_INVALID, CCXPKT_BEACON_REQUEST} CCXPKT;/// Radio measurement request fieldstypedef struct _CCX_MEASURE_REQUEST_ { OS_UINT8 ChannelNumber; OS_UINT8 Operation; ///Defined as scan Mode for beacon req, ///spare for all others OS_UINT16 MeasureDuration; } CCX_MEASURE_REQUEST,*PCCX_MEASURE_REQUEST;typedef struct _pkt_param{ CCXPKT pkttype; union { CCX_MEASURE_REQUEST beaconReq; };} PKTPARAM, *PPKTPARAM;void wlan_ccx_send_BeaconTable(IN PMRVDRV_ADAPTER Adapter);void wlan_ccx_parse_iapp(IN PMRVDRV_ADAPTER Adapter, u8* pktBufPt, PPKTPARAM pPktParam);///crlo:RadioMeasure --#ifdef CCX_CCKM/// CCKM +++extern void wlan_ccx_CCKMRequest(PFSW_CCX_CCKM_REQUEST pdata);extern void wlan_ccx_CCKMResult(PFSW_CCX_CCKM_RESULT pdata);/// CCKM ---#endif#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -