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

📄 driver_ralink.h

📁 最新的Host AP 新添加了许多pcmcia 的驱动
💻 H
字号:
/* * WPA Supplicant - driver_ralink exported functions * Copyright (c) 2003-2005, Jouni Malinen <j@w1.fi> * Copyright (c) 2007, Snowpin Lee <snowpin_lee@ralinktech.com.tw> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. * * Alternatively, this software may be distributed under the terms of BSD * license. * * See README and COPYING for more details. */// Ralink defined OIDs#if WIRELESS_EXT <= 11#ifndef SIOCDEVPRIVATE#define SIOCDEVPRIVATE                              0x8BE0#endif#define SIOCIWFIRSTPRIV								SIOCDEVPRIVATE#endif#define RT_PRIV_IOCTL								(SIOCIWFIRSTPRIV + 0x0E)  #define RTPRIV_IOCTL_SET							(SIOCIWFIRSTPRIV + 0x02)// IEEE 802.11 OIDs  &  Ralink defined OIDs  ******// (RaConfig Set/QueryInform) ==>#define OID_GET_SET_TOGGLE							0x8000#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_BSSID_LIST_SCAN                  0x0508#define OID_802_11_SSID                             0x0509#define OID_802_11_BSSID                            0x050A#define OID_802_11_WEP_STATUS                       0x0510#define OID_802_11_AUTHENTICATION_MODE              0x0511#define OID_802_11_INFRASTRUCTURE_MODE              0x0512#define OID_802_11_TX_POWER_LEVEL                   0x0517#define OID_802_11_REMOVE_KEY                       0x0519#define OID_802_11_ADD_KEY                          0x0520#define OID_802_11_DEAUTHENTICATION                 0x0526#define OID_802_11_DROP_UNENCRYPTED                 0x0527#define OID_802_11_BSSID_LIST                       0x0609#define OID_802_3_CURRENT_ADDRESS                   0x060A#define OID_SET_COUNTERMEASURES                     0x0616#define OID_802_11_SET_IEEE8021X                    0x0617	// For IEEE8021x mode #define OID_802_11_SET_IEEE8021X_REQUIRE_KEY        0x0618  // For DynamicWEP in IEEE802.1x mode#define OID_802_11_PMKID                            0x0620#define RT_OID_WPA_SUPPLICANT_SUPPORT               0x0621  // for trigger driver enable/disable wpa_supplicant support #define RT_OID_WE_VERSION_COMPILED                  0x0622#define RT_OID_NEW_DRIVER                           0x0623#define PACKED  __attribute__ ((packed))//wpa_supplicant event flags#define	RT_ASSOC_EVENT_FLAG                         0x0101#define	RT_DISASSOC_EVENT_FLAG                      0x0102#define	RT_REQIE_EVENT_FLAG                         0x0103#define	RT_RESPIE_EVENT_FLAG                        0x0104#define	RT_ASSOCINFO_EVENT_FLAG                     0x0105#define RT_PMKIDCAND_FLAG                           0x0106#define RT_INTERFACE_DOWN                           0x0107#define RT_REPORT_AP_INFO                           0x0108//// IEEE 802.11 Structures and definitions//// new types for Media Specific Indications#ifndef ULONG#define CHAR            char#define INT             int#define SHORT           int#define UINT            u32#undef  ULONG           //#define ULONG           u32#define ULONG           unsigned long /* 32-bit in 32-bit CPU or 64-bit in 64-bit CPU */#define USHORT          unsigned short#define UCHAR           unsigned char#define uint32		u32#define uint8		u8#define BOOLEAN         u8//#define LARGE_INTEGER s64#define VOID            void#define LONG            long#define LONGLONG        s64#define ULONGLONG       u64typedef VOID            *PVOID;typedef CHAR            *PCHAR;typedef UCHAR           *PUCHAR;typedef USHORT          *PUSHORT;typedef LONG            *PLONG;typedef ULONG           *PULONG;typedef union _LARGE_INTEGER {    struct {        ULONG LowPart;        LONG HighPart;    }vv;    struct {        ULONG LowPart;        LONG HighPart;    } u;    s64 QuadPart;} LARGE_INTEGER;#endif#define NDIS_802_11_LENGTH_SSID         32#define NDIS_802_11_LENGTH_RATES        8#define NDIS_802_11_LENGTH_RATES_EX     16#define MAX_LEN_OF_SSID                 32#define MAC_ADDR_LEN                    6typedef UCHAR   NDIS_802_11_MAC_ADDRESS[6];// 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        0x0E// Added new types for OFDM 5G and 2.4Gtypedef enum _NDIS_802_11_NETWORK_TYPE{    Ndis802_11FH,     Ndis802_11DS,     Ndis802_11OFDM5,    Ndis802_11OFDM24,    Ndis802_11Automode,    Ndis802_11NetworkTypeMax    // not a real type, defined as an upper bound} NDIS_802_11_NETWORK_TYPE, *PNDIS_802_11_NETWORK_TYPE;//// 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  ULONG  NDIS_802_11_KEY_INDEX;typedef ULONGLONG   NDIS_802_11_KEY_RSC;// Key mapping keys require a BSSIDtypedef struct _NDIS_802_11_KEY{    UINT           Length;             // Length of this structure    UINT           KeyIndex;               UINT           KeyLength;          // length of key in bytes    NDIS_802_11_MAC_ADDRESS BSSID;    NDIS_802_11_KEY_RSC KeyRSC;    UCHAR           KeyMaterial[1];     // variable length depending on above field} NDIS_802_11_KEY, *PNDIS_802_11_KEY;typedef struct _NDIS_802_11_REMOVE_KEY{    UINT                   Length;        // Length of this structure    UINT                   KeyIndex;               NDIS_802_11_MAC_ADDRESS BSSID;      } NDIS_802_11_REMOVE_KEY, *PNDIS_802_11_REMOVE_KEY;typedef struct PACKED _NDIS_802_11_WEP{   UINT     Length;        // Length of this structure   UINT           KeyIndex;           // 0 is the per-client key, 1-N are the                                        // global keys   UINT     KeyLength;     // length of key in bytes   UCHAR     KeyMaterial[1];// 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;// PMKID Structurestypedef UCHAR   NDIS_802_11_PMKID_VALUE[16];typedef struct _BSSID_INFO{	NDIS_802_11_MAC_ADDRESS BSSID;	NDIS_802_11_PMKID_VALUE PMKID;} BSSID_INFO, *PBSSID_INFO;typedef struct _NDIS_802_11_PMKID{	ULONG Length;	ULONG BSSIDInfoCount;	BSSID_INFO BSSIDInfo[1];} NDIS_802_11_PMKID, *PNDIS_802_11_PMKID;//Added new types for PMKID Candidate lists.typedef struct _PMKID_CANDIDATE {	NDIS_802_11_MAC_ADDRESS BSSID;	ULONG Flags;} PMKID_CANDIDATE, *PPMKID_CANDIDATE;typedef struct _NDIS_802_11_PMKID_CANDIDATE_LIST{	ULONG Version;       // Version of the structure	ULONG NumCandidates; // No. of pmkid candidates	PMKID_CANDIDATE CandidateList[1];} NDIS_802_11_PMKID_CANDIDATE_LIST, *PNDIS_802_11_PMKID_CANDIDATE_LIST;//Flags for PMKID Candidate list structure#define NDIS_802_11_PMKID_CANDIDATE_PREAUTH_ENABLED	0x01// Add new authentication modestypedef enum _NDIS_802_11_AUTHENTICATION_MODE{   Ndis802_11AuthModeOpen,   Ndis802_11AuthModeShared,   Ndis802_11AuthModeAutoSwitch,   Ndis802_11AuthModeWPA,   Ndis802_11AuthModeWPAPSK,   Ndis802_11AuthModeWPANone,   Ndis802_11AuthModeWPA2,   Ndis802_11AuthModeWPA2PSK,       Ndis802_11AuthModeMax           // Not a real mode, defined as upper bound} NDIS_802_11_AUTHENTICATION_MODE, *PNDIS_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 PACKED _NDIS_802_11_SSID {    INT   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 PACKED _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 PACKED _NDIS_802_11_BSSID_LIST{   UINT             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 PACKED _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    UINT                                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 PACKED _NDIS_802_11_BSSID_LIST_EX{    UINT                   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 PACKED _NDIS_802_11_FIXED_IEs {    UCHAR Timestamp[8];    USHORT BeaconInterval;    USHORT Capabilities;} NDIS_802_11_FIXED_IEs, *PNDIS_802_11_FIXED_IEs;// Added new encryption types// Also aliased typedef to new nametypedef enum _NDIS_802_11_WEP_STATUS{   Ndis802_11WEPEnabled,   Ndis802_11Encryption1Enabled = Ndis802_11WEPEnabled,   Ndis802_11WEPDisabled,   Ndis802_11EncryptionDisabled = Ndis802_11WEPDisabled,   Ndis802_11WEPKeyAbsent,   Ndis802_11Encryption1KeyAbsent = Ndis802_11WEPKeyAbsent,   Ndis802_11WEPNotSupported,   Ndis802_11EncryptionNotSupported = Ndis802_11WEPNotSupported,   Ndis802_11Encryption2Enabled,   Ndis802_11Encryption2KeyAbsent,   Ndis802_11Encryption3Enabled,   Ndis802_11Encryption3KeyAbsent} NDIS_802_11_WEP_STATUS, *PNDIS_802_11_WEP_STATUS,  NDIS_802_11_ENCRYPTION_STATUS, *PNDIS_802_11_ENCRYPTION_STATUS;typedef enum _NDIS_802_11_RELOAD_DEFAULTS{   Ndis802_11ReloadWEPKeys} NDIS_802_11_RELOAD_DEFAULTS, *PNDIS_802_11_RELOAD_DEFAULTS;#define NDIS_802_11_AI_REQFI_CAPABILITIES      1#define NDIS_802_11_AI_REQFI_LISTENINTERVAL    2#define NDIS_802_11_AI_REQFI_CURRENTAPADDRESS  4#define NDIS_802_11_AI_RESFI_CAPABILITIES      1#define NDIS_802_11_AI_RESFI_STATUSCODE        2#define NDIS_802_11_AI_RESFI_ASSOCIATIONID     4typedef struct _NDIS_802_11_AI_REQFI{    USHORT Capabilities;    USHORT ListenInterval;    NDIS_802_11_MAC_ADDRESS  CurrentAPAddress;} NDIS_802_11_AI_REQFI, *PNDIS_802_11_AI_REQFI;typedef struct _NDIS_802_11_AI_RESFI{    USHORT Capabilities;    USHORT StatusCode;    USHORT AssociationId;} NDIS_802_11_AI_RESFI, *PNDIS_802_11_AI_RESFI;typedef struct _NDIS_802_11_ASSOCIATION_INFORMATION{    ULONG                   Length;    USHORT                  AvailableRequestFixedIEs;    NDIS_802_11_AI_REQFI    RequestFixedIEs;    ULONG                   RequestIELength;    ULONG                   OffsetRequestIEs;    USHORT                  AvailableResponseFixedIEs;    NDIS_802_11_AI_RESFI    ResponseFixedIEs;    ULONG                   ResponseIELength;    ULONG                   OffsetResponseIEs;} NDIS_802_11_ASSOCIATION_INFORMATION, *PNDIS_802_11_ASSOCIATION_INFORMATION;struct ndis_pmkid_entry {	struct ndis_pmkid_entry *next;	u8 bssid[ETH_ALEN];	u8 pmkid[16];};typedef struct _MLME_DEAUTH_REQ_STRUCT {    UCHAR        Addr[MAC_ADDR_LEN];    USHORT       Reason;} MLME_DEAUTH_REQ_STRUCT, *PMLME_DEAUTH_REQ_STRUCT;

⌨️ 快捷键说明

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