📄 oid.h
字号:
/*************************************************************************** * RT2x00 SourceForge Project - http://rt2x00.sourceforge.net * * * * 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., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * * * Licensed under the GNU GPL * * Original code supplied under license from RaLink Inc, 2004. * ***************************************************************************//*************************************************************************** * Module Name: oid.h * * Abstract: * * Revision History: * Who When What * -------- ---------- ------------------------------- * Name Date Modification logs * Jan Lee 2005-06-01 Release ***************************************************************************/#ifndef _OID_H_#define _OID_H_#if WIRELESS_EXT <= 11#ifndef SIOCDEVPRIVATE#define SIOCDEVPRIVATE 0x8BE0#endif#define SIOCIWFIRSTPRIV SIOCDEVPRIVATE#endif#define RTPRIV_IOCTL_AUTH (SIOCIWFIRSTPRIV + 0)#define RTPRIV_IOCTL_WEPSTATUS (SIOCIWFIRSTPRIV + 1)#define RTPRIV_IOCTL_WPAPSK (SIOCIWFIRSTPRIV + 2)#define RTPRIV_IOCTL_PSM (SIOCIWFIRSTPRIV + 3)#define RTPRIV_IOCTL_ADHOCMODE (SIOCIWFIRSTPRIV + 4)#define RTPRIV_IOCTL_RFMONTX (SIOCIWFIRSTPRIV + 5)#define RTPRIV_IOCTL_FORCEPRISMHEADER (SIOCIWFIRSTPRIV + 6)//// IEEE 802.11 OIDs//#ifdef RT2500_DBG#define RTPRIV_IOCTL_BBP SIOCIWFIRSTPRIV + 0x06#define RTPRIV_IOCTL_MAC SIOCIWFIRSTPRIV + 0x07#endif// OID definition, since NDIS 5.0 didn't define these, we need to define for our own#ifndef NDIS51_MINIPORT#define OID_GEN_MACHINE_NAME 0x0001021A//RaConfig2500 (SetInformation)-->#define RT_OID_802_11_COUNTRY_REGION 0x0507#define OID_802_11_BSSID_LIST_SCAN 0x0508#define OID_802_11_SSID 0x0509//also in get#define OID_802_11_BSSID 0x050A//also in get#define RT_OID_802_11_RADIO 0x050B//also in get#define RT_OID_802_11_PHY_MODE 0x050C//also in get#define RT_OID_802_11_STA_CONFIG 0x050D//also in get#define OID_802_11_DESIRED_RATES 0x050E#define RT_OID_802_11_PREAMBLE 0x050F//also in get#define OID_802_11_WEP_STATUS 0x0510//also in get#define OID_802_11_AUTHENTICATION_MODE 0x0511//also in get#define OID_802_11_INFRASTRUCTURE_MODE 0x0512//also in get#define RT_OID_802_11_RESET_COUNTERS 0x0513#define OID_802_11_RTS_THRESHOLD 0x0514//also in get#define OID_802_11_FRAGMENTATION_THRESHOLD 0x0515//also in get#define OID_802_11_POWER_MODE 0x0516//also in get#define OID_802_11_TX_POWER_LEVEL 0x0517#define RT_OID_802_11_ADD_WPA 0x0518#define OID_802_11_REMOVE_KEY 0x0519#define OID_802_11_ADD_KEY 0x0520#define RT_OID_REMOVE_ALLKEYS 0x0D730220#define OID_802_11_CONFIGURATION 0x0521//also in get#define OID_802_11_TX_PACKET_BURST 0x522 // NEWNEW#define RT_OID_802_11_QUERY_NOISE_LEVEL 0x523#define RT_OID_802_11_EXTRA_INFO 0x524#define RT_OID_DEVICE_NAME 0x0607#define RT_OID_VERSION_INFO 0x0608#define OID_802_11_BSSID_LIST 0x0609#define OID_802_3_CURRENT_ADDRESS 0x060A#define OID_GEN_MEDIA_CONNECT_STATUS 0x060B#define RT_OID_802_11_QUERY_LINK_STATUS 0x060C#define OID_802_11_RSSI 0x060D#define OID_802_11_STATISTICS 0x060E#define OID_GEN_RCV_OK 0x060F#define OID_GEN_RCV_NO_BUFFER 0x0610//<-- RaConfig2500 (SetInformation)//// IEEE 802.11 OIDs//#define OID_802_11_NETWORK_TYPES_SUPPORTED 0x0103#define OID_802_11_NETWORK_TYPE_IN_USE 0x0104#define OID_802_11_RSSI_TRIGGER 0x0107#define OID_802_11_NUMBER_OF_ANTENNAS 0x010B#define OID_802_11_RX_ANTENNA_SELECTED 0x010C#define OID_802_11_TX_ANTENNA_SELECTED 0x010D#define OID_802_11_SUPPORTED_RATES 0x010E#define OID_802_11_ADD_WEP 0x0112#define OID_802_11_REMOVE_WEP 0x0113#define OID_802_11_DISASSOCIATE 0x0114#define OID_802_11_PRIVACY_FILTER 0x0118#define OID_802_11_ASSOCIATION_INFORMATION 0x011E#define OID_802_11_TEST 0x011F// Renamed to reflect better the extended set of encryption status#define OID_802_11_ENCRYPTION_STATUS OID_802_11_WEP_STATUS#define OID_802_11_RELOAD_DEFAULTS 0x0D01011C// Added to allow key mapping and default keys//// IEEE 802.11 Structures and definitions//// new types for Media Specific Indications#define NDIS_802_11_LENGTH_SSID 32#define NDIS_802_11_LENGTH_RATES 8#define NDIS_802_11_LENGTH_RATES_EX 16typedef enum _NDIS_802_11_STATUS_TYPE{ Ndis802_11StatusType_Authentication, Ndis802_11StatusTypeMax // not a real type, defined as an upper bound} NDIS_802_11_STATUS_TYPE, *PNDIS_802_11_STATUS_TYPE;typedef UCHAR NDIS_802_11_MAC_ADDRESS[6];typedef struct _NDIS_802_11_STATUS_INDICATION{ NDIS_802_11_STATUS_TYPE StatusType;} NDIS_802_11_STATUS_INDICATION, *PNDIS_802_11_STATUS_INDICATION;// mask for authentication/integrity fields#define NDIS_802_11_AUTH_REQUEST_AUTH_FIELDS 0x0f#define NDIS_802_11_AUTH_REQUEST_REAUTH 0x01#define NDIS_802_11_AUTH_REQUEST_KEYUPDATE 0x02#define NDIS_802_11_AUTH_REQUEST_PAIRWISE_ERROR 0x06#define NDIS_802_11_AUTH_REQUEST_GROUP_ERROR 0x0Etypedef struct _NDIS_802_11_AUTHENTICATION_REQUEST{ ULONG Length; // Length of structure NDIS_802_11_MAC_ADDRESS Bssid; ULONG Flags;} NDIS_802_11_AUTHENTICATION_REQUEST, *PNDIS_802_11_AUTHENTICATION_REQUEST;// Added new types for OFDM 5G and 2.4Gtypedef enum _NDIS_802_11_NETWORK_TYPE{ Ndis802_11FH, Ndis802_11DS, Ndis802_11OFDM5, Ndis802_11OFDM24, Ndis802_11NetworkTypeMax // not a real type, defined as an upper bound} NDIS_802_11_NETWORK_TYPE, *PNDIS_802_11_NETWORK_TYPE;typedef struct _NDIS_802_11_NETWORK_TYPE_LIST{ ULONG NumberOfItems; // in list below, at least 1 NDIS_802_11_NETWORK_TYPE NetworkType [1];} NDIS_802_11_NETWORK_TYPE_LIST, *PNDIS_802_11_NETWORK_TYPE_LIST;typedef enum _NDIS_802_11_POWER_MODE{ Ndis802_11PowerModeCAM, Ndis802_11PowerModeMAX_PSP, Ndis802_11PowerModeFast_PSP, Ndis802_11PowerModeMax // not a real mode, defined as an upper bound} NDIS_802_11_POWER_MODE, *PNDIS_802_11_POWER_MODE;typedef ULONG NDIS_802_11_TX_POWER_LEVEL; // in milliwatts//// Received Signal Strength Indication//typedef LONG NDIS_802_11_RSSI; // in dBmtypedef struct _NDIS_802_11_CONFIGURATION_FH{ ULONG Length; // Length of structure ULONG HopPattern; // As defined by 802.11, MSB set ULONG HopSet; // to one if non-802.11 ULONG DwellTime; // units are Kusec} NDIS_802_11_CONFIGURATION_FH, *PNDIS_802_11_CONFIGURATION_FH;typedef struct _NDIS_802_11_CONFIGURATION{ ULONG Length; // Length of structure ULONG BeaconPeriod; // units are Kusec ULONG ATIMWindow; // units are Kusec ULONG DSConfig; // Frequency, units are kHz NDIS_802_11_CONFIGURATION_FH FHConfig;} NDIS_802_11_CONFIGURATION, *PNDIS_802_11_CONFIGURATION;typedef struct _NDIS_802_11_STATISTICS{ ULONG Length; // Length of structure LARGE_INTEGER TransmittedFragmentCount; LARGE_INTEGER MulticastTransmittedFrameCount; LARGE_INTEGER FailedCount; LARGE_INTEGER RetryCount; LARGE_INTEGER MultipleRetryCount; LARGE_INTEGER RTSSuccessCount; LARGE_INTEGER RTSFailureCount; LARGE_INTEGER ACKFailureCount; LARGE_INTEGER FrameDuplicateCount; LARGE_INTEGER ReceivedFragmentCount; LARGE_INTEGER MulticastReceivedFrameCount; LARGE_INTEGER FCSErrorCount;} NDIS_802_11_STATISTICS, *PNDIS_802_11_STATISTICS;typedef ULONG NDIS_802_11_KEY_INDEX;typedef ULONGLONG NDIS_802_11_KEY_RSC;// Key mapping keys require a BSSIDtypedef struct _NDIS_802_11_KEY{ ULONG Length; // Length of this structure ULONG KeyIndex; ULONG KeyLength; // length of key in bytes NDIS_802_11_MAC_ADDRESS BSSID; NDIS_802_11_KEY_RSC KeyRSC; UCHAR KeyMaterial[64]; // variable length depending on above field} NDIS_802_11_KEY, *PNDIS_802_11_KEY;typedef struct _NDIS_802_11_REMOVE_KEY{ ULONG Length; // Length of this structure ULONG KeyIndex; NDIS_802_11_MAC_ADDRESS BSSID; } NDIS_802_11_REMOVE_KEY, *PNDIS_802_11_REMOVE_KEY;typedef struct _NDIS_802_11_WEP{ ULONG Length; // Length of this structure ULONG KeyIndex; // 0 is the per-client key, 1-N are the // global keys ULONG KeyLength; // length of key in bytes UCHAR KeyMaterial[13];// variable length depending on above field} NDIS_802_11_WEP, *PNDIS_802_11_WEP;typedef enum _NDIS_802_11_NETWORK_INFRASTRUCTURE{ Ndis802_11IBSS, Ndis802_11Infrastructure, Ndis802_11AutoUnknown, Ndis802_11InfrastructureMax // Not a real value, defined as upper bound} NDIS_802_11_NETWORK_INFRASTRUCTURE, *PNDIS_802_11_NETWORK_INFRASTRUCTURE;// Add new authentication modestypedef enum _NDIS_802_11_AUTHENTICATION_MODE{ Ndis802_11AuthModeOpen, Ndis802_11AuthModeShared, Ndis802_11AuthModeAutoSwitch, Ndis802_11AuthModeWPA, Ndis802_11AuthModeWPAPSK, Ndis802_11AuthModeWPANone, Ndis802_11AuthModeMax // Not a real mode, defined as upper bound} NDIS_802_11_AUTHENTICATION_MODE, *PNDIS_802_11_AUTHENTICATION_MODE;typedef enum _RTPRIV_802_11_AUTHENTICATION_MODE{ RTPRIV802_11AuthModeOpen, RTPRIV802_11AuthModeShared, RTPRIV802_11AuthModeWPAPSK, RTPRIV802_11AuthModeMax // Not a real mode, defined as upper bound} RTPRIV_802_11_AUTHENTICATION_MODE, *PRTPRIV_802_11_AUTHENTICATION_MODE;typedef UCHAR NDIS_802_11_RATES[NDIS_802_11_LENGTH_RATES]; // Set of 8 data ratestypedef UCHAR NDIS_802_11_RATES_EX[NDIS_802_11_LENGTH_RATES_EX]; // Set of 16 data ratestypedef struct _NDIS_802_11_SSID{ ULONG SsidLength; // length of SSID field below, in bytes; // this can be zero. UCHAR Ssid[NDIS_802_11_LENGTH_SSID]; // SSID information field} NDIS_802_11_SSID, *PNDIS_802_11_SSID;typedef struct _NDIS_WLAN_BSSID{ ULONG Length; // Length of this structure NDIS_802_11_MAC_ADDRESS MacAddress; // BSSID UCHAR Reserved[2]; NDIS_802_11_SSID Ssid; // SSID ULONG Privacy; // WEP encryption requirement NDIS_802_11_RSSI Rssi; // receive signal // strength in dBm NDIS_802_11_NETWORK_TYPE NetworkTypeInUse; NDIS_802_11_CONFIGURATION Configuration; NDIS_802_11_NETWORK_INFRASTRUCTURE InfrastructureMode; NDIS_802_11_RATES SupportedRates;} NDIS_WLAN_BSSID, *PNDIS_WLAN_BSSID;typedef struct _NDIS_802_11_BSSID_LIST{ ULONG NumberOfItems; // in list below, at least 1 NDIS_WLAN_BSSID Bssid[1];} NDIS_802_11_BSSID_LIST, *PNDIS_802_11_BSSID_LIST;// Added Capabilities, IELength and IEs for each BSSIDtypedef struct _NDIS_WLAN_BSSID_EX{ ULONG Length; // Length of this structure NDIS_802_11_MAC_ADDRESS MacAddress; // BSSID UCHAR Reserved[2]; NDIS_802_11_SSID Ssid; // SSID ULONG Privacy; // WEP encryption requirement NDIS_802_11_RSSI Rssi; // receive signal // strength in dBm NDIS_802_11_NETWORK_TYPE NetworkTypeInUse; NDIS_802_11_CONFIGURATION Configuration; NDIS_802_11_NETWORK_INFRASTRUCTURE InfrastructureMode; NDIS_802_11_RATES_EX SupportedRates; ULONG IELength; UCHAR IEs[1];} NDIS_WLAN_BSSID_EX, *PNDIS_WLAN_BSSID_EX;typedef struct _NDIS_802_11_BSSID_LIST_EX{ ULONG NumberOfItems; // in list below, at least 1 NDIS_WLAN_BSSID_EX Bssid[1];} NDIS_802_11_BSSID_LIST_EX, *PNDIS_802_11_BSSID_LIST_EX;typedef struct _NDIS_802_11_FIXED_IEs { UCHAR Timestamp[8]; USHORT BeaconInterval; USHORT Capabilities;} NDIS_802_11_FIXED_IEs, *PNDIS_802_11_FIXED_IEs;typedef struct _NDIS_802_11_VARIABLE_IEs { UCHAR ElementID; UCHAR Length; // Number of bytes in data field UCHAR data[1];} NDIS_802_11_VARIABLE_IEs, *PNDIS_802_11_VARIABLE_IEs;typedef ULONG NDIS_802_11_FRAGMENTATION_THRESHOLD;typedef ULONG NDIS_802_11_RTS_THRESHOLD;typedef ULONG NDIS_802_11_ANTENNA;typedef enum _NDIS_802_11_PRIVACY_FILTER{ Ndis802_11PrivFilterAcceptAll, Ndis802_11PrivFilter8021xWEP} NDIS_802_11_PRIVACY_FILTER, *PNDIS_802_11_PRIVACY_FILTER;// Added new encryption types
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -