1cf3e6881e38d348c7eabcb354631ae646d115c1fAli Bahar/****************************************************************************** 2cf3e6881e38d348c7eabcb354631ae646d115c1fAli Bahar * 3cf3e6881e38d348c7eabcb354631ae646d115c1fAli Bahar * Copyright(c) 2007 - 2010 Realtek Corporation. All rights reserved. 4cf3e6881e38d348c7eabcb354631ae646d115c1fAli Bahar * 5cf3e6881e38d348c7eabcb354631ae646d115c1fAli Bahar * This program is free software; you can redistribute it and/or modify it 6cf3e6881e38d348c7eabcb354631ae646d115c1fAli Bahar * under the terms of version 2 of the GNU General Public License as 7cf3e6881e38d348c7eabcb354631ae646d115c1fAli Bahar * published by the Free Software Foundation. 8cf3e6881e38d348c7eabcb354631ae646d115c1fAli Bahar * 9cf3e6881e38d348c7eabcb354631ae646d115c1fAli Bahar * This program is distributed in the hope that it will be useful, but WITHOUT 10cf3e6881e38d348c7eabcb354631ae646d115c1fAli Bahar * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11cf3e6881e38d348c7eabcb354631ae646d115c1fAli Bahar * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12cf3e6881e38d348c7eabcb354631ae646d115c1fAli Bahar * more details. 13cf3e6881e38d348c7eabcb354631ae646d115c1fAli Bahar * 14cf3e6881e38d348c7eabcb354631ae646d115c1fAli Bahar * You should have received a copy of the GNU General Public License along with 15cf3e6881e38d348c7eabcb354631ae646d115c1fAli Bahar * this program; if not, write to the Free Software Foundation, Inc., 16cf3e6881e38d348c7eabcb354631ae646d115c1fAli Bahar * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA 17cf3e6881e38d348c7eabcb354631ae646d115c1fAli Bahar * 18cf3e6881e38d348c7eabcb354631ae646d115c1fAli Bahar * Modifications for inclusion into the Linux staging tree are 19cf3e6881e38d348c7eabcb354631ae646d115c1fAli Bahar * Copyright(c) 2010 Larry Finger. All rights reserved. 20cf3e6881e38d348c7eabcb354631ae646d115c1fAli Bahar * 21cf3e6881e38d348c7eabcb354631ae646d115c1fAli Bahar * Contact information: 22cf3e6881e38d348c7eabcb354631ae646d115c1fAli Bahar * WLAN FAE <wlanfae@realtek.com> 23cf3e6881e38d348c7eabcb354631ae646d115c1fAli Bahar * Larry Finger <Larry.Finger@lwfinger.net> 24cf3e6881e38d348c7eabcb354631ae646d115c1fAli Bahar * 25cf3e6881e38d348c7eabcb354631ae646d115c1fAli Bahar ******************************************************************************/ 262865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger#ifndef __WLAN_BSSDEF_H__ 272865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger#define __WLAN_BSSDEF_H__ 282865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 292865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger#define MAX_IE_SZ 768 302865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 312865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger#define NDIS_802_11_LENGTH_SSID 32 322865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger#define NDIS_802_11_LENGTH_RATES 8 332865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger#define NDIS_802_11_LENGTH_RATES_EX 16 342865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 352865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger/* Set of 8 data rates*/ 362865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingertypedef unsigned char NDIS_802_11_RATES[NDIS_802_11_LENGTH_RATES]; 372865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger/* Set of 16 data rates */ 382865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingertypedef unsigned char NDIS_802_11_RATES_EX[NDIS_802_11_LENGTH_RATES_EX]; 392865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 402865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingerstruct ndis_802_11_ssid { 410593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid u32 SsidLength; 420593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid u8 Ssid[32]; 432865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger}; 442865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 452865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingerenum NDIS_802_11_NETWORK_TYPE { 460593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid Ndis802_11FH, 470593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid Ndis802_11DS, 480593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid Ndis802_11OFDM5, 490593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid Ndis802_11OFDM24, 500593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid Ndis802_11NetworkTypeMax /* not a real type, defined as an upper bound*/ 512865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger}; 522865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 532865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingerstruct NDIS_802_11_CONFIGURATION_FH { 540593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid u32 Length; /* Length of structure */ 550593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid u32 HopPattern; /* As defined by 802.11, MSB set */ 560593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid u32 HopSet; /* to one if non-802.11 */ 570593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid u32 DwellTime; /* units are Kusec */ 582865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger}; 592865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 602865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger/* 612865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger FW will only save the channel number in DSConfig. 622865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger ODI Handler will convert the channel number to freq. number. 632865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger*/ 642865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingerstruct NDIS_802_11_CONFIGURATION { 650593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid u32 Length; /* Length of structure */ 660593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid u32 BeaconPeriod; /* units are Kusec */ 670593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid u32 ATIMWindow; /* units are Kusec */ 680593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid u32 DSConfig; /* Frequency, units are kHz */ 690593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid struct NDIS_802_11_CONFIGURATION_FH FHConfig; 702865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger}; 712865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 722865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingerenum NDIS_802_11_NETWORK_INFRASTRUCTURE { 730593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid Ndis802_11IBSS, 740593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid Ndis802_11Infrastructure, 750593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid Ndis802_11AutoUnknown, 760593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid Ndis802_11InfrastructureMax, /*Not a real value,defined as upper bound*/ 770593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid Ndis802_11APMode 782865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger}; 792865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 802865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingerstruct NDIS_802_11_FIXED_IEs { 810593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid u8 Timestamp[8]; 820593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid u16 BeaconInterval; 830593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid u16 Capabilities; 842865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger}; 852865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 862865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger/* 872865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger * Length is the 4 bytes multiples of the sume of 882865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger * 6 * sizeof (unsigned char) + 2 + sizeof (ndis_802_11_ssid) + sizeof (u32) 892865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger * + sizeof (s32) + sizeof (NDIS_802_11_NETWORK_TYPE) 902865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger * + sizeof (struct NDIS_802_11_CONFIGURATION) 912865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger * + sizeof (NDIS_802_11_RATES_EX) + IELength 922865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 932865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger * Except the IELength, all other fields are fixed length. Therefore, we can 942865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger * define a macro to present the partial sum. 952865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger */ 962865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 972865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingerstruct ndis_wlan_bssid_ex { 980593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid u32 Length; 990593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid unsigned char MacAddress[6]; 1000593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid u8 Reserved[2]; 1010593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid struct ndis_802_11_ssid Ssid; 1020593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid u32 Privacy; 1030593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid s32 Rssi; 1040593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid enum NDIS_802_11_NETWORK_TYPE NetworkTypeInUse; 1050593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid struct NDIS_802_11_CONFIGURATION Configuration; 1060593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid enum NDIS_802_11_NETWORK_INFRASTRUCTURE InfrastructureMode; 1070593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid NDIS_802_11_RATES_EX SupportedRates; 1080593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid u32 IELength; 1090593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid /*(timestamp, beacon interval, and capability information) */ 1100593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid u8 IEs[MAX_IE_SZ]; 1112865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger}; 1122865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 1132865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingerenum NDIS_802_11_AUTHENTICATION_MODE { 1140593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid Ndis802_11AuthModeOpen, 1150593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid Ndis802_11AuthModeShared, 1160593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid Ndis802_11AuthModeAutoSwitch, 1170593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid Ndis802_11AuthModeWPA, 1180593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid Ndis802_11AuthModeWPAPSK, 1190593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid Ndis802_11AuthModeWPANone, 1200593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid Ndis802_11AuthModeMax /* Not a real mode, defined as upper bound */ 1212865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger}; 1222865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 1232865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingerenum { 1240593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid Ndis802_11WEPEnabled, 1250593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid Ndis802_11Encryption1Enabled = Ndis802_11WEPEnabled, 1260593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid Ndis802_11WEPDisabled, 1270593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid Ndis802_11EncryptionDisabled = Ndis802_11WEPDisabled, 1280593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid Ndis802_11WEPKeyAbsent, 1290593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid Ndis802_11Encryption1KeyAbsent = Ndis802_11WEPKeyAbsent, 1300593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid Ndis802_11WEPNotSupported, 1310593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid Ndis802_11EncryptionNotSupported = Ndis802_11WEPNotSupported, 1320593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid Ndis802_11Encryption2Enabled, 1330593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid Ndis802_11Encryption2KeyAbsent, 1340593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid Ndis802_11Encryption3Enabled, 1350593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid Ndis802_11Encryption3KeyAbsent 1362865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger}; 1372865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 1382865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger#define NDIS_802_11_AI_REQFI_CAPABILITIES 1 1392865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger#define NDIS_802_11_AI_REQFI_LISTENINTERVAL 2 1402865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger#define NDIS_802_11_AI_REQFI_CURRENTAPADDRESS 4 1412865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 1422865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger#define NDIS_802_11_AI_RESFI_CAPABILITIES 1 1432865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger#define NDIS_802_11_AI_RESFI_STATUSCODE 2 1442865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger#define NDIS_802_11_AI_RESFI_ASSOCIATIONID 4 1452865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 1462865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingerstruct NDIS_802_11_AI_REQFI { 1470593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid u16 Capabilities; 1480593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid u16 ListenInterval; 1490593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid unsigned char CurrentAPAddress[6]; 1502865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger}; 1512865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 1522865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingerstruct NDIS_802_11_AI_RESFI { 1530593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid u16 Capabilities; 1540593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid u16 StatusCode; 1550593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid u16 AssociationId; 1562865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger}; 1572865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 1582865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingerstruct NDIS_802_11_ASSOCIATION_INFORMATION { 1590593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid u32 Length; 1600593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid u16 AvailableRequestFixedIEs; 1610593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid struct NDIS_802_11_AI_REQFI RequestFixedIEs; 1620593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid u32 RequestIELength; 1630593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid u32 OffsetRequestIEs; 1640593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid u16 AvailableResponseFixedIEs; 1650593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid struct NDIS_802_11_AI_RESFI ResponseFixedIEs; 1660593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid u32 ResponseIELength; 1670593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid u32 OffsetResponseIEs; 1682865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger}; 1692865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 1702865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger/* Key mapping keys require a BSSID*/ 1712865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingerstruct NDIS_802_11_KEY { 1720593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid u32 Length; /* Length of this structure */ 1730593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid u32 KeyIndex; 1740593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid u32 KeyLength; /* length of key in bytes */ 1750593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid unsigned char BSSID[6]; 1760593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid unsigned long long KeyRSC; 1770593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid u8 KeyMaterial[32]; /* variable length */ 1782865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger}; 1792865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 1802865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingerstruct NDIS_802_11_REMOVE_KEY { 1810593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid u32 Length; /* Length of this structure */ 1820593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid u32 KeyIndex; 1830593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid unsigned char BSSID[6]; 1842865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger}; 1852865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 1862865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingerstruct NDIS_802_11_WEP { 1870593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid u32 Length; /* Length of this structure */ 1880593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid u32 KeyIndex; /* 0 is the per-client key, 1890593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid * 1-N are the global keys */ 1900593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid u32 KeyLength; /* length of key in bytes */ 1910593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid u8 KeyMaterial[16]; /* variable length depending on above field */ 1922865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger}; 1932865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 1942865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger/* mask for authentication/integrity fields */ 1952865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger#define NDIS_802_11_AUTH_REQUEST_AUTH_FIELDS 0x0f 1962865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger#define NDIS_802_11_AUTH_REQUEST_REAUTH 0x01 1972865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger#define NDIS_802_11_AUTH_REQUEST_KEYUPDATE 0x02 1982865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger#define NDIS_802_11_AUTH_REQUEST_PAIRWISE_ERROR 0x06 1992865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger#define NDIS_802_11_AUTH_REQUEST_GROUP_ERROR 0x0E 2002865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 2012865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger/* MIC check time, 60 seconds. */ 2022865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger#define MIC_CHECK_TIME 60000000 2032865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 2042865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger#ifndef Ndis802_11APMode 2052865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger#define Ndis802_11APMode (Ndis802_11InfrastructureMax+1) 2062865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger#endif 2072865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 2082865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingerstruct wlan_network { 2092865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger struct list_head list; 2102865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger int network_type; /*refer to ieee80211.h for WIRELESS_11A/B/G */ 2112865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger int fixed; /* set to fixed when not to be removed asi 2122865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger * site-surveying */ 2132865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger unsigned int last_scanned; /*timestamp for the network */ 2142865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger int aid; /*will only be valid when a BSS is joined. */ 2152865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger int join_res; 2162865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger struct ndis_wlan_bssid_ex network; /*must be the last item */ 2172865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger}; 2182865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 2192865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingerenum VRTL_CARRIER_SENSE { 2200593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid DISABLE_VCS, 2210593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid ENABLE_VCS, 2220593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid AUTO_VCS 2232865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger}; 2242865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 2252865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingerenum VCS_TYPE { 2260593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid NONE_VCS, 2270593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid RTS_CTS, 2280593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid CTS_TO_SELF 2292865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger}; 2302865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 2312865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger#define PWR_CAM 0 2322865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger#define PWR_MINPS 1 2332865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger#define PWR_MAXPS 2 2342865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger#define PWR_UAPSD 3 2352865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger#define PWR_VOIP 4 2362865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 2372865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingerenum UAPSD_MAX_SP { 2382865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger NO_LIMIT, 2390593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid TWO_MSDU, 2400593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid FOUR_MSDU, 2410593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid SIX_MSDU 2422865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger}; 2432865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 2442865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger#define NUM_PRE_AUTH_KEY 16 2452865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger#define NUM_PMKID_CACHE NUM_PRE_AUTH_KEY 2462865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 2472865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger/* 2482865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger * WPA2 2492865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger */ 2502865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingerstruct wlan_bssid_ex { 2510593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid u32 Length; 2520593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid unsigned char MacAddress[6]; 2530593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid u8 Reserved[2]; 2540593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid struct ndis_802_11_ssid Ssid; 2550593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid u32 Privacy; 2560593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid s32 Rssi; 2570593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid enum NDIS_802_11_NETWORK_TYPE NetworkTypeInUse; 2580593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid struct NDIS_802_11_CONFIGURATION Configuration; 2590593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid enum NDIS_802_11_NETWORK_INFRASTRUCTURE InfrastructureMode; 2600593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid NDIS_802_11_RATES_EX SupportedRates; 2610593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid u32 IELength; 2620593758e4b71836d3a95714b626d273ee51173e0Javier M. Mellid u8 IEs[MAX_IE_SZ]; /* (timestamp, beacon interval, and capability 2632865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger * information) */ 2642865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger}; 2652865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 2662865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger#endif /* #ifndef WLAN_BSSDEF_H_ */ 2672865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 268