123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849 |
- /*
- * Copyright (c) 1996, 2003 VIA Networking Technologies, Inc.
- * All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- *
- * File: 80211mgr.h
- *
- * Purpose: 802.11 management frames pre-defines.
- *
- *
- * Author: Lyndon Chen
- *
- * Date: May 8, 2002
- *
- */
- #ifndef __80211MGR_H__
- #define __80211MGR_H__
- #include "ttype.h"
- #include "80211hdr.h"
- /*--------------------- Export Definitions -------------------------*/
- #define WLAN_MIN_ARRAY 1
- // Information Element ID value
- #define WLAN_EID_SSID 0
- #define WLAN_EID_SUPP_RATES 1
- #define WLAN_EID_FH_PARMS 2
- #define WLAN_EID_DS_PARMS 3
- #define WLAN_EID_CF_PARMS 4
- #define WLAN_EID_TIM 5
- #define WLAN_EID_IBSS_PARMS 6
- #define WLAN_EID_COUNTRY 7
- #define WLAN_EID_CHALLENGE 16
- #define WLAN_EID_PWR_CONSTRAINT 32
- #define WLAN_EID_PWR_CAPABILITY 33
- #define WLAN_EID_TPC_REQ 34
- #define WLAN_EID_TPC_REP 35
- #define WLAN_EID_SUPP_CH 36
- #define WLAN_EID_CH_SWITCH 37
- #define WLAN_EID_MEASURE_REQ 38
- #define WLAN_EID_MEASURE_REP 39
- #define WLAN_EID_QUIET 40
- #define WLAN_EID_IBSS_DFS 41
- #define WLAN_EID_ERP 42
- // reference 802.11i 7.3.2 table 20
- #define WLAN_EID_RSN 48
- #define WLAN_EID_EXTSUPP_RATES 50
- // reference WiFi WPA spec.
- #define WLAN_EID_RSN_WPA 221
- #ifdef Cisco_ccx
- #define WLAN_EID_CCX 133
- #define WLAN_EID_CCX_IP 149
- #define WLAN_EID_CCX_Ver 221
- #endif
- #define WLAN_EID_ERP_NONERP_PRESENT 0x01
- #define WLAN_EID_ERP_USE_PROTECTION 0x02
- #define WLAN_EID_ERP_BARKER_MODE 0x04
- // Reason Codes
- #define WLAN_MGMT_REASON_RSVD 0
- #define WLAN_MGMT_REASON_UNSPEC 1
- #define WLAN_MGMT_REASON_PRIOR_AUTH_INVALID 2
- #define WLAN_MGMT_REASON_DEAUTH_LEAVING 3
- #define WLAN_MGMT_REASON_DISASSOC_INACTIVE 4
- #define WLAN_MGMT_REASON_DISASSOC_AP_BUSY 5
- #define WLAN_MGMT_REASON_CLASS2_NONAUTH 6
- #define WLAN_MGMT_REASON_CLASS3_NONASSOC 7
- #define WLAN_MGMT_REASON_DISASSOC_STA_HASLEFT 8
- #define WLAN_MGMT_REASON_CANT_ASSOC_NONAUTH 9
- #define WLAN_MGMT_REASON_DISASSOC_PWR_CAP_UNACCEPT 10
- #define WLAN_MGMT_REASON_DISASSOC_SUPP_CH_UNACCEPT 11
- #define WLAN_MGMT_REASON_INVALID_IE 13
- #define WLAN_MGMT_REASON_MIC_FAILURE 14
- #define WLAN_MGMT_REASON_4WAY_HANDSHAKE_TIMEOUT 15
- #define WLAN_MGMT_REASON_GRPKEY_UPDATE_TIMEOUT 16
- #define WLAN_MGMT_REASON_4WAY_INFO_DIFFERENT 17
- #define WLAN_MGMT_REASON_MULTCAST_CIPHER_INVALID 18
- #define WLAN_MGMT_REASON_UNCAST_CIPHER_INVALID 19
- #define WLAN_MGMT_REASON_AKMP_INVALID 20
- #define WLAN_MGMT_REASON_RSNE_UNSUPPORTED 21
- #define WLAN_MGMT_REASON_RSNE_CAP_INVALID 22
- #define WLAN_MGMT_REASON_80211X_AUTH_FAILED 23
- // Status Codes
- #define WLAN_MGMT_STATUS_SUCCESS 0
- #define WLAN_MGMT_STATUS_UNSPEC_FAILURE 1
- #define WLAN_MGMT_STATUS_CAPS_UNSUPPORTED 10
- #define WLAN_MGMT_STATUS_REASSOC_NO_ASSOC 11
- #define WLAN_MGMT_STATUS_ASSOC_DENIED_UNSPEC 12
- #define WLAN_MGMT_STATUS_UNSUPPORTED_AUTHALG 13
- #define WLAN_MGMT_STATUS_RX_AUTH_NOSEQ 14
- #define WLAN_MGMT_STATUS_CHALLENGE_FAIL 15
- #define WLAN_MGMT_STATUS_AUTH_TIMEOUT 16
- #define WLAN_MGMT_STATUS_ASSOC_DENIED_BUSY 17
- #define WLAN_MGMT_STATUS_ASSOC_DENIED_RATES 18
- #define WLAN_MGMT_STATUS_ASSOC_DENIED_SHORTPREAMBLE 19
- #define WLAN_MGMT_STATUS_ASSOC_DENIED_PBCC 20
- #define WLAN_MGMT_STATUS_ASSOC_DENIED_AGILITY 21
- // reference 802.11h 7.3.1.9
- //
- #define WLAN_MGMT_STATUS_ASSOC_REJECT_BCS_SPECTRUM_MNG 22
- #define WLAN_MGMT_STATUS_ASSOC_REJECT_BCS_PWR_CAP 23
- #define WLAN_MGMT_STATUS_ASSOC_REJECT_BCS_SUPP_CH 24
- //
- // reference 802.11g 7.3.1.9
- //
- #define WLAN_MGMT_STATUS_SHORTSLOTTIME_UNSUPPORTED 25
- #define WLAN_MGMT_STATUS_DSSSOFDM_UNSUPPORTED 26
- //
- // reference 802.11i 7.3.1.9 table 19
- //
- #define WLAN_MGMT_STATUS_INVALID_IE 40
- #define WLAN_MGMT_STATUS_GROUP_CIPHER_INVALID 41
- #define WLAN_MGMT_STATUS_PAIRWISE_CIPHER_INVALID 42
- #define WLAN_MGMT_STATUS_AKMP_INVALID 43
- #define WLAN_MGMT_STATUS_UNSUPPORT_RSN_IE_VER 44
- #define WLAN_MGMT_STATUS_INVALID_RSN_IE_CAP 45
- #define WLAN_MGMT_STATUS_CIPHER_REJECT 46
- // Auth Algorithm
- #define WLAN_AUTH_ALG_OPENSYSTEM 0
- #define WLAN_AUTH_ALG_SHAREDKEY 1
- // Management Frame Field Offsets
- // Note: Not all fields are listed because of variable lengths.
- // Note: These offsets are from the start of the frame data
- #define WLAN_BEACON_OFF_TS 0
- #define WLAN_BEACON_OFF_BCN_INT 8
- #define WLAN_BEACON_OFF_CAPINFO 10
- #define WLAN_BEACON_OFF_SSID 12
- #define WLAN_DISASSOC_OFF_REASON 0
- #define WLAN_ASSOCREQ_OFF_CAP_INFO 0
- #define WLAN_ASSOCREQ_OFF_LISTEN_INT 2
- #define WLAN_ASSOCREQ_OFF_SSID 4
- #define WLAN_ASSOCRESP_OFF_CAP_INFO 0
- #define WLAN_ASSOCRESP_OFF_STATUS 2
- #define WLAN_ASSOCRESP_OFF_AID 4
- #define WLAN_ASSOCRESP_OFF_SUPP_RATES 6
- #define WLAN_REASSOCREQ_OFF_CAP_INFO 0
- #define WLAN_REASSOCREQ_OFF_LISTEN_INT 2
- #define WLAN_REASSOCREQ_OFF_CURR_AP 4
- #define WLAN_REASSOCREQ_OFF_SSID 10
- #define WLAN_REASSOCRESP_OFF_CAP_INFO 0
- #define WLAN_REASSOCRESP_OFF_STATUS 2
- #define WLAN_REASSOCRESP_OFF_AID 4
- #define WLAN_REASSOCRESP_OFF_SUPP_RATES 6
- #define WLAN_PROBEREQ_OFF_SSID 0
- #define WLAN_PROBERESP_OFF_TS 0
- #define WLAN_PROBERESP_OFF_BCN_INT 8
- #define WLAN_PROBERESP_OFF_CAP_INFO 10
- #define WLAN_PROBERESP_OFF_SSID 12
- #define WLAN_AUTHEN_OFF_AUTH_ALG 0
- #define WLAN_AUTHEN_OFF_AUTH_SEQ 2
- #define WLAN_AUTHEN_OFF_STATUS 4
- #define WLAN_AUTHEN_OFF_CHALLENGE 6
- #define WLAN_DEAUTHEN_OFF_REASON 0
- //
- // Cipher Suite Selectors defiened in 802.11i
- //
- #define WLAN_11i_CSS_USE_GROUP 0
- #define WLAN_11i_CSS_WEP40 1
- #define WLAN_11i_CSS_TKIP 2
- #define WLAN_11i_CSS_CCMP 4
- #define WLAN_11i_CSS_WEP104 5
- #define WLAN_11i_CSS_UNKNOWN 255
- //
- // Authentication and Key Management Suite Selectors defined in 802.11i
- //
- #define WLAN_11i_AKMSS_802_1X 1
- #define WLAN_11i_AKMSS_PSK 2
- #define WLAN_11i_AKMSS_UNKNOWN 255
- // Measurement type definitions reference ieee 802.11h Table 20b
- #define MEASURE_TYPE_BASIC 0
- #define MEASURE_TYPE_CCA 1
- #define MEASURE_TYPE_RPI 2
- // Measurement request mode definitions reference ieee 802.11h Figure 46h
- #define MEASURE_MODE_ENABLE 0x02
- #define MEASURE_MODE_REQ 0x04
- #define MEASURE_MODE_REP 0x08
- // Measurement report mode definitions reference ieee 802.11h Figure 46m
- #define MEASURE_MODE_LATE 0x01
- #define MEASURE_MODE_INCAPABLE 0x02
- #define MEASURE_MODE_REFUSED 0x04
- /*--------------------- Export Classes ----------------------------*/
- /*--------------------- Export Variables --------------------------*/
- /*--------------------- Export Types ------------------------------*/
- // Information Element Types
- #pragma pack(1)
- typedef struct tagWLAN_IE {
- BYTE byElementID;
- BYTE len;
- } __attribute__ ((__packed__))
- WLAN_IE, *PWLAN_IE;
- // Service Set Identity (SSID)
- #pragma pack(1)
- typedef struct tagWLAN_IE_SSID {
- BYTE byElementID;
- BYTE len;
- BYTE abySSID[1];
- } __attribute__ ((__packed__))
- WLAN_IE_SSID, *PWLAN_IE_SSID;
- // Supported Rates
- #pragma pack(1)
- typedef struct tagWLAN_IE_SUPP_RATES {
- BYTE byElementID;
- BYTE len;
- BYTE abyRates[1];
- } __attribute__ ((__packed__))
- WLAN_IE_SUPP_RATES, *PWLAN_IE_SUPP_RATES;
- // FH Parameter Set
- #pragma pack(1)
- typedef struct _WLAN_IE_FH_PARMS {
- BYTE byElementID;
- BYTE len;
- WORD wDwellTime;
- BYTE byHopSet;
- BYTE byHopPattern;
- BYTE byHopIndex;
- } WLAN_IE_FH_PARMS, *PWLAN_IE_FH_PARMS;
- // DS Parameter Set
- #pragma pack(1)
- typedef struct tagWLAN_IE_DS_PARMS {
- BYTE byElementID;
- BYTE len;
- BYTE byCurrChannel;
- } __attribute__ ((__packed__))
- WLAN_IE_DS_PARMS, *PWLAN_IE_DS_PARMS;
- // CF Parameter Set
- #pragma pack(1)
- typedef struct tagWLAN_IE_CF_PARMS {
- BYTE byElementID;
- BYTE len;
- BYTE byCFPCount;
- BYTE byCFPPeriod;
- WORD wCFPMaxDuration;
- WORD wCFPDurRemaining;
- } __attribute__ ((__packed__))
- WLAN_IE_CF_PARMS, *PWLAN_IE_CF_PARMS;
- // TIM
- #pragma pack(1)
- typedef struct tagWLAN_IE_TIM {
- BYTE byElementID;
- BYTE len;
- BYTE byDTIMCount;
- BYTE byDTIMPeriod;
- BYTE byBitMapCtl;
- BYTE byVirtBitMap[1];
- } __attribute__ ((__packed__))
- WLAN_IE_TIM, *PWLAN_IE_TIM;
- // IBSS Parameter Set
- #pragma pack(1)
- typedef struct tagWLAN_IE_IBSS_PARMS {
- BYTE byElementID;
- BYTE len;
- WORD wATIMWindow;
- } __attribute__ ((__packed__))
- WLAN_IE_IBSS_PARMS, *PWLAN_IE_IBSS_PARMS;
- // Challenge Text
- #pragma pack(1)
- typedef struct tagWLAN_IE_CHALLENGE {
- BYTE byElementID;
- BYTE len;
- BYTE abyChallenge[1];
- } __attribute__ ((__packed__))
- WLAN_IE_CHALLENGE, *PWLAN_IE_CHALLENGE;
- #pragma pack(1)
- typedef struct tagWLAN_IE_RSN_EXT {
- BYTE byElementID;
- BYTE len;
- BYTE abyOUI[4];
- WORD wVersion;
- BYTE abyMulticast[4];
- WORD wPKCount;
- struct {
- BYTE abyOUI[4];
- } PKSList[1]; // the rest is variable so need to
- // overlay ieauth structure
- } WLAN_IE_RSN_EXT, *PWLAN_IE_RSN_EXT;
- #pragma pack(1)
- typedef struct tagWLAN_IE_RSN_AUTH {
- WORD wAuthCount;
- struct {
- BYTE abyOUI[4];
- } AuthKSList[1];
- } WLAN_IE_RSN_AUTH, *PWLAN_IE_RSN_AUTH;
- // RSN Identity
- #pragma pack(1)
- typedef struct tagWLAN_IE_RSN {
- BYTE byElementID;
- BYTE len;
- WORD wVersion;
- BYTE abyRSN[WLAN_MIN_ARRAY];
- } WLAN_IE_RSN, *PWLAN_IE_RSN;
- // CCX Identity DavidWang
- #pragma pack(1)
- typedef struct tagWLAN_IE_CCX {
- BYTE byElementID;
- BYTE len;
- BYTE abyCCX[30];
- } WLAN_IE_CCX, *PWLAN_IE_CCX;
- #pragma pack(1)
- typedef struct tagWLAN_IE_CCX_IP {
- BYTE byElementID;
- BYTE len;
- BYTE abyCCXOUI[4];
- BYTE abyCCXIP[4];
- BYTE abyCCXREV[2];
- } WLAN_IE_CCX_IP, *PWLAN_IE_CCX_IP;
- #pragma pack(1)
- typedef struct tagWLAN_IE_CCX_Ver {
- BYTE byElementID;
- BYTE len;
- BYTE abyCCXVer[5];
- } WLAN_IE_CCX_Ver, *PWLAN_IE_CCX_Ver;
- // ERP
- #pragma pack(1)
- typedef struct tagWLAN_IE_ERP {
- BYTE byElementID;
- BYTE len;
- BYTE byContext;
- } __attribute__ ((__packed__))
- WLAN_IE_ERP, *PWLAN_IE_ERP;
- #pragma pack(1)
- typedef struct _MEASEURE_REQ {
- BYTE byChannel;
- BYTE abyStartTime[8];
- BYTE abyDuration[2];
- } MEASEURE_REQ, *PMEASEURE_REQ,
- MEASEURE_REQ_BASIC, *PMEASEURE_REQ_BASIC,
- MEASEURE_REQ_CCA, *PMEASEURE_REQ_CCA,
- MEASEURE_REQ_RPI, *PMEASEURE_REQ_RPI;
- typedef struct _MEASEURE_REP_BASIC {
- BYTE byChannel;
- BYTE abyStartTime[8];
- BYTE abyDuration[2];
- BYTE byMap;
- } MEASEURE_REP_BASIC, *PMEASEURE_REP_BASIC;
- typedef struct _MEASEURE_REP_CCA {
- BYTE byChannel;
- BYTE abyStartTime[8];
- BYTE abyDuration[2];
- BYTE byCCABusyFraction;
- } MEASEURE_REP_CCA, *PMEASEURE_REP_CCA;
- typedef struct _MEASEURE_REP_RPI {
- BYTE byChannel;
- BYTE abyStartTime[8];
- BYTE abyDuration[2];
- BYTE abyRPIdensity[8];
- } MEASEURE_REP_RPI, *PMEASEURE_REP_RPI;
- typedef union _MEASEURE_REP {
- MEASEURE_REP_BASIC sBasic;
- MEASEURE_REP_CCA sCCA;
- MEASEURE_REP_RPI sRPI;
- } MEASEURE_REP, *PMEASEURE_REP;
- typedef struct _WLAN_IE_MEASURE_REQ {
- BYTE byElementID;
- BYTE len;
- BYTE byToken;
- BYTE byMode;
- BYTE byType;
- MEASEURE_REQ sReq;
- } WLAN_IE_MEASURE_REQ, *PWLAN_IE_MEASURE_REQ;
- typedef struct _WLAN_IE_MEASURE_REP {
- BYTE byElementID;
- BYTE len;
- BYTE byToken;
- BYTE byMode;
- BYTE byType;
- MEASEURE_REP sRep;
- } WLAN_IE_MEASURE_REP, *PWLAN_IE_MEASURE_REP;
- typedef struct _WLAN_IE_CH_SW {
- BYTE byElementID;
- BYTE len;
- BYTE byMode;
- BYTE byChannel;
- BYTE byCount;
- } WLAN_IE_CH_SW, *PWLAN_IE_CH_SW;
- typedef struct _WLAN_IE_QUIET {
- BYTE byElementID;
- BYTE len;
- BYTE byQuietCount;
- BYTE byQuietPeriod;
- BYTE abyQuietDuration[2];
- BYTE abyQuietOffset[2];
- } WLAN_IE_QUIET, *PWLAN_IE_QUIET;
- typedef struct _WLAN_IE_COUNTRY {
- BYTE byElementID;
- BYTE len;
- BYTE abyCountryString[3];
- BYTE abyCountryInfo[3];
- } WLAN_IE_COUNTRY, *PWLAN_IE_COUNTRY;
- typedef struct _WLAN_IE_PW_CONST {
- BYTE byElementID;
- BYTE len;
- BYTE byPower;
- } WLAN_IE_PW_CONST, *PWLAN_IE_PW_CONST;
- typedef struct _WLAN_IE_PW_CAP {
- BYTE byElementID;
- BYTE len;
- BYTE byMinPower;
- BYTE byMaxPower;
- } WLAN_IE_PW_CAP, *PWLAN_IE_PW_CAP;
- typedef struct _WLAN_IE_SUPP_CH {
- BYTE byElementID;
- BYTE len;
- BYTE abyChannelTuple[2];
- } WLAN_IE_SUPP_CH, *PWLAN_IE_SUPP_CH;
- typedef struct _WLAN_IE_TPC_REQ {
- BYTE byElementID;
- BYTE len;
- } WLAN_IE_TPC_REQ, *PWLAN_IE_TPC_REQ;
- typedef struct _WLAN_IE_TPC_REP {
- BYTE byElementID;
- BYTE len;
- BYTE byTxPower;
- BYTE byLinkMargin;
- } WLAN_IE_TPC_REP, *PWLAN_IE_TPC_REP;
- typedef struct _WLAN_IE_IBSS_DFS {
- BYTE byElementID;
- BYTE len;
- BYTE abyDFSOwner[6];
- BYTE byDFSRecovery;
- BYTE abyChannelMap[2];
- } WLAN_IE_IBSS_DFS, *PWLAN_IE_IBSS_DFS;
- #pragma pack()
- // Frame Types
- // prototype structure, all mgmt frame types will start with these members
- typedef struct tagWLAN_FR_MGMT {
- unsigned int uType;
- unsigned int len;
- PBYTE pBuf;
- PUWLAN_80211HDR pHdr;
- } WLAN_FR_MGMT, *PWLAN_FR_MGMT;
- // Beacon frame
- typedef struct tagWLAN_FR_BEACON {
- unsigned int uType;
- unsigned int len;
- PBYTE pBuf;
- PUWLAN_80211HDR pHdr;
- // fixed fields
- PQWORD pqwTimestamp;
- PWORD pwBeaconInterval;
- PWORD pwCapInfo;
- /*-- info elements ----------*/
- PWLAN_IE_SSID pSSID;
- PWLAN_IE_SUPP_RATES pSuppRates;
- // PWLAN_IE_FH_PARMS pFHParms;
- PWLAN_IE_DS_PARMS pDSParms;
- PWLAN_IE_CF_PARMS pCFParms;
- PWLAN_IE_TIM pTIM;
- PWLAN_IE_IBSS_PARMS pIBSSParms;
- PWLAN_IE_RSN pRSN;
- PWLAN_IE_RSN_EXT pRSNWPA;
- PWLAN_IE_ERP pERP;
- PWLAN_IE_SUPP_RATES pExtSuppRates;
- PWLAN_IE_COUNTRY pIE_Country;
- PWLAN_IE_PW_CONST pIE_PowerConstraint;
- PWLAN_IE_CH_SW pIE_CHSW;
- PWLAN_IE_IBSS_DFS pIE_IBSSDFS;
- PWLAN_IE_QUIET pIE_Quiet;
- } WLAN_FR_BEACON, *PWLAN_FR_BEACON;
- // IBSS ATIM frame
- typedef struct tagWLAN_FR_IBSSATIM {
- unsigned int uType;
- unsigned int len;
- PBYTE pBuf;
- PUWLAN_80211HDR pHdr;
- // fixed fields
- // info elements
- // this frame type has a null body
- } WLAN_FR_IBSSATIM, *PWLAN_FR_IBSSATIM;
- // Disassociation
- typedef struct tagWLAN_FR_DISASSOC {
- unsigned int uType;
- unsigned int len;
- PBYTE pBuf;
- PUWLAN_80211HDR pHdr;
- /*-- fixed fields -----------*/
- PWORD pwReason;
- /*-- info elements ----------*/
- } WLAN_FR_DISASSOC, *PWLAN_FR_DISASSOC;
- // Association Request
- typedef struct tagWLAN_FR_ASSOCREQ {
- unsigned int uType;
- unsigned int len;
- PBYTE pBuf;
- PUWLAN_80211HDR pHdr;
- /*-- fixed fields -----------*/
- PWORD pwCapInfo;
- PWORD pwListenInterval;
- /*-- info elements ----------*/
- PWLAN_IE_SSID pSSID;
- PWLAN_IE_SUPP_RATES pSuppRates;
- PWLAN_IE_RSN pRSN;
- PWLAN_IE_CCX pCCX;
- PWLAN_IE_CCX_IP pCCXIP;
- PWLAN_IE_CCX_Ver pCCXVER;
- PWLAN_IE_RSN_EXT pRSNWPA;
- PWLAN_IE_SUPP_RATES pExtSuppRates;
- PWLAN_IE_PW_CAP pCurrPowerCap;
- PWLAN_IE_SUPP_CH pCurrSuppCh;
- } WLAN_FR_ASSOCREQ, *PWLAN_FR_ASSOCREQ;
- // Association Response
- typedef struct tagWLAN_FR_ASSOCRESP {
- unsigned int uType;
- unsigned int len;
- PBYTE pBuf;
- PUWLAN_80211HDR pHdr;
- /*-- fixed fields -----------*/
- PWORD pwCapInfo;
- PWORD pwStatus;
- PWORD pwAid;
- /*-- info elements ----------*/
- PWLAN_IE_SUPP_RATES pSuppRates;
- PWLAN_IE_SUPP_RATES pExtSuppRates;
- } WLAN_FR_ASSOCRESP, *PWLAN_FR_ASSOCRESP;
- // Reassociation Request
- typedef struct tagWLAN_FR_REASSOCREQ {
- unsigned int uType;
- unsigned int len;
- PBYTE pBuf;
- PUWLAN_80211HDR pHdr;
- /*-- fixed fields -----------*/
- PWORD pwCapInfo;
- PWORD pwListenInterval;
- PIEEE_ADDR pAddrCurrAP;
- /*-- info elements ----------*/
- PWLAN_IE_SSID pSSID;
- PWLAN_IE_SUPP_RATES pSuppRates;
- PWLAN_IE_RSN pRSN;
- PWLAN_IE_CCX pCCX;
- PWLAN_IE_CCX_IP pCCXIP;
- PWLAN_IE_CCX_Ver pCCXVER;
- PWLAN_IE_RSN_EXT pRSNWPA;
- PWLAN_IE_SUPP_RATES pExtSuppRates;
- } WLAN_FR_REASSOCREQ, *PWLAN_FR_REASSOCREQ;
- // Reassociation Response
- typedef struct tagWLAN_FR_REASSOCRESP {
- unsigned int uType;
- unsigned int len;
- PBYTE pBuf;
- PUWLAN_80211HDR pHdr;
- /*-- fixed fields -----------*/
- PWORD pwCapInfo;
- PWORD pwStatus;
- PWORD pwAid;
- /*-- info elements ----------*/
- PWLAN_IE_SUPP_RATES pSuppRates;
- PWLAN_IE_SUPP_RATES pExtSuppRates;
- } WLAN_FR_REASSOCRESP, *PWLAN_FR_REASSOCRESP;
- // Probe Request
- typedef struct tagWLAN_FR_PROBEREQ {
- unsigned int uType;
- unsigned int len;
- PBYTE pBuf;
- PUWLAN_80211HDR pHdr;
- /*-- fixed fields -----------*/
- /*-- info elements ----------*/
- PWLAN_IE_SSID pSSID;
- PWLAN_IE_SUPP_RATES pSuppRates;
- PWLAN_IE_SUPP_RATES pExtSuppRates;
- } WLAN_FR_PROBEREQ, *PWLAN_FR_PROBEREQ;
- // Probe Response
- typedef struct tagWLAN_FR_PROBERESP {
- unsigned int uType;
- unsigned int len;
- PBYTE pBuf;
- PUWLAN_80211HDR pHdr;
- /*-- fixed fields -----------*/
- PQWORD pqwTimestamp;
- PWORD pwBeaconInterval;
- PWORD pwCapInfo;
- /*-- info elements ----------*/
- PWLAN_IE_SSID pSSID;
- PWLAN_IE_SUPP_RATES pSuppRates;
- PWLAN_IE_DS_PARMS pDSParms;
- PWLAN_IE_CF_PARMS pCFParms;
- PWLAN_IE_IBSS_PARMS pIBSSParms;
- PWLAN_IE_RSN pRSN;
- PWLAN_IE_RSN_EXT pRSNWPA;
- PWLAN_IE_ERP pERP;
- PWLAN_IE_SUPP_RATES pExtSuppRates;
- PWLAN_IE_COUNTRY pIE_Country;
- PWLAN_IE_PW_CONST pIE_PowerConstraint;
- PWLAN_IE_CH_SW pIE_CHSW;
- PWLAN_IE_IBSS_DFS pIE_IBSSDFS;
- PWLAN_IE_QUIET pIE_Quiet;
- } WLAN_FR_PROBERESP, *PWLAN_FR_PROBERESP;
- // Authentication
- typedef struct tagWLAN_FR_AUTHEN {
- unsigned int uType;
- unsigned int len;
- PBYTE pBuf;
- PUWLAN_80211HDR pHdr;
- /*-- fixed fields -----------*/
- PWORD pwAuthAlgorithm;
- PWORD pwAuthSequence;
- PWORD pwStatus;
- /*-- info elements ----------*/
- PWLAN_IE_CHALLENGE pChallenge;
- } WLAN_FR_AUTHEN, *PWLAN_FR_AUTHEN;
- // Deauthenication
- typedef struct tagWLAN_FR_DEAUTHEN {
- unsigned int uType;
- unsigned int len;
- PBYTE pBuf;
- PUWLAN_80211HDR pHdr;
- /*-- fixed fields -----------*/
- PWORD pwReason;
- /*-- info elements ----------*/
- } WLAN_FR_DEAUTHEN, *PWLAN_FR_DEAUTHEN;
- /*--------------------- Export Functions --------------------------*/
- void
- vMgrEncodeBeacon(
- PWLAN_FR_BEACON pFrame
- );
- void
- vMgrDecodeBeacon(
- PWLAN_FR_BEACON pFrame
- );
- void
- vMgrEncodeIBSSATIM(
- PWLAN_FR_IBSSATIM pFrame
- );
- void
- vMgrDecodeIBSSATIM(
- PWLAN_FR_IBSSATIM pFrame
- );
- void
- vMgrEncodeDisassociation(
- PWLAN_FR_DISASSOC pFrame
- );
- void
- vMgrDecodeDisassociation(
- PWLAN_FR_DISASSOC pFrame
- );
- void
- vMgrEncodeAssocRequest(
- PWLAN_FR_ASSOCREQ pFrame
- );
- void
- vMgrDecodeAssocRequest(
- PWLAN_FR_ASSOCREQ pFrame
- );
- void
- vMgrEncodeAssocResponse(
- PWLAN_FR_ASSOCRESP pFrame
- );
- void
- vMgrDecodeAssocResponse(
- PWLAN_FR_ASSOCRESP pFrame
- );
- void
- vMgrEncodeReassocRequest(
- PWLAN_FR_REASSOCREQ pFrame
- );
- void
- vMgrDecodeReassocRequest(
- PWLAN_FR_REASSOCREQ pFrame
- );
- void
- vMgrEncodeProbeRequest(
- PWLAN_FR_PROBEREQ pFrame
- );
- void
- vMgrDecodeProbeRequest(
- PWLAN_FR_PROBEREQ pFrame
- );
- void
- vMgrEncodeProbeResponse(
- PWLAN_FR_PROBERESP pFrame
- );
- void
- vMgrDecodeProbeResponse(
- PWLAN_FR_PROBERESP pFrame
- );
- void
- vMgrEncodeAuthen(
- PWLAN_FR_AUTHEN pFrame
- );
- void
- vMgrDecodeAuthen(
- PWLAN_FR_AUTHEN pFrame
- );
- void
- vMgrEncodeDeauthen(
- PWLAN_FR_DEAUTHEN pFrame
- );
- void
- vMgrDecodeDeauthen(
- PWLAN_FR_DEAUTHEN pFrame
- );
- void
- vMgrEncodeReassocResponse(
- PWLAN_FR_REASSOCRESP pFrame
- );
- void
- vMgrDecodeReassocResponse(
- PWLAN_FR_REASSOCRESP pFrame
- );
- #endif// __80211MGR_H__
|