📄 vnetusba.h
字号:
typedef enum _802_11_AUTHENTICATION_MODE{ _802_11AuthModeOpen, _802_11AuthModeShared, _802_11AuthModeAutoSwitch, _802_11AuthModeWPA, _802_11AuthModeWPAPSK, _802_11AuthModeWPANone, _802_11AuthModeWPA2, _802_11AuthModeWPA2PSK, _802_11AuthModeMax} __802_11_AUTHENTICATION_MODE, *P_802_11_AUTHENTICATION_MODE;typedef enum _802_11_WEP_STATUS{ _802_11WEPEnabled, //0 _802_11Encryption1Enabled = _802_11WEPEnabled, //0 _802_11WEPDisabled, //1 _802_11EncryptionDisabled = _802_11WEPDisabled, //1 _802_11WEPKeyAbsent, //2 _802_11Encryption1KeyAbsent = _802_11WEPKeyAbsent, //2 _802_11WEPNotSupported, //3 _802_11EncryptionNotSupported = _802_11WEPNotSupported, //3 _802_11Encryption2Enabled, //4 _802_11Encryption2KeyAbsent,//5 _802_11Encryption3Enabled, //6 _802_11Encryption3KeyAbsent //7} __802_11_ENCRYPTION_STATUS, *P_802_11_ENCRYPTION_STATUS;//#define MAX_PMKID_LIST_ENTRIES 16#define MAX_PKMID_INFO_ENTRIES 16#define MAX_PMKID_COUNT 4#define RSN_ELEMENT_GROUP_SUITE_OFFSET 2#define RSN_ELEMENT_PW_SUITE_OFFSET 6#define RSN_ELEMENT_PW_LIST_OFFSET 8#define MIN_RSN_ELEMENT_DATA_SIZE 2// PMKID Structurestypedef UCHAR _802_11_PMKID_VALUE[16];typedef struct _BSSID_INFO{ MACADDR BSSID; _802_11_PMKID_VALUE PMKID;} BSSID_INFO, *PBSSID_INFO;typedef struct _802_11_PMKID_LIST{ ULONG Length; ULONG BSSIDInfoCount; BSSID_INFO BSSIDInfo[MAX_PMKID_LIST_ENTRIES];} __802_11_PMKID_LIST, *P__802_11_PMKID_LIST;typedef struct _PMKID_CANDIDATE { MACADDR BSSID; ULONG Flags;} PMKID_CANDIDATE, *PPMKID_CANDIDATE;typedef struct _PMKID_CANDIDATELIST{ ULONG Version; // Version of the structure ULONG NumCandidates; // No. of pmkid candidates PMKID_CANDIDATE CandidateList[MAX_PKMID_INFO_ENTRIES];} PMKID_CANDIDATELIST, *PPMKID_CANDIDATELIST;typedef enum _802_11_PRIVACY_FILTER{ _802_11PrivFilterAcceptAll, _802_11PrivFilter8021xWEP} __802_11_PRIVACY_FILTER, *P__802_11_PRIVACY_FILTER;typedef struct __SECURITY_INFO{ __802_11_AUTHENTICATION_MODE AuthenticationMode; __802_11_PRIVACY_FILTER PrivacyFilter; __802_11_ENCRYPTION_STATUS EncryptionStatus; ENCRYPTION_INFO EncryptionInfo; BOOLEAN AutoSwitchAuthAlgorithm; BOOLEAN PairwiseKeyAvailable; BOOLEAN GroupKeyAvailable; UCHAR InWpaMode; UCHAR MicErrorCnt; BOOLEAN AllKeysRemoved; BOOLEAN WPA_MixedModeDisabled; UCHAR MicBlackListEntries; MIC_BLACK_LIST MicBlackList[MAX_BSS_ENTRIES]; unsigned long long MicErrorDetected;#ifdef WPA2 __802_11_PMKID_LIST PMKIDList; PMKID_CANDIDATELIST PMKIDCandidateList; PMKID_CANDIDATELIST PMKIDCandidateList2App;#endif#ifdef CCX CCX_INFO CCXinfo;#endif}SECURITY_INFO, *PSECURITY_INFO;#define MAX_EAPOL_PACKETS 5//######################################################// common //// typedef enum __ASSOCIATION_METHOD{ AssocMethodNoRequest, AssocMethodAssociationRequest, AssocMethodReAssociationRequest}ASSOCIATION_METHOD, *PASSOCIATION_METHOD;typedef struct __EAPOL_BUFFER{ BOOLEAN InUse; ULONG Length; UCHAR Packet[1600];} EAPOL_BUFFER, *PEAPOL_BUFFER;#define MAX_ASSOC_BUFF_LEN 255typedef struct __ASSOCIATION_INFO{UCHAR CurrentBSSID[6];USHORT AssocCapabilities;UCHAR LastBSSID[6];USHORT ListenInterval;UCHAR CurrentAddress[6];USHORT BeaconPeriod;UCHAR DesiredSSID[MAX_SSID_LENGTH];UCHAR IPAddress[4];USHORT CwMin;USHORT CwMax;UCHAR PreambleType;UCHAR DesiredSSIDsize;UCHAR AssociationRequestRetryCnt;UCHAR ReAssociationRequestRetryCnt;USHORT AssociationRespFrameBodyBytes;ASSOCIATION_METHOD AssociationMethod;SITE_SURVEY_INFO SiteS;ULONG LastAssReasReqBytes;UCHAR LastAssReasReqFrameBody[1500];UCHAR AssReassIEInfoBuffer[MAX_ASSOC_BUFF_LEN];USHORT AssReassIEInfoBufferLength;}ASSOCIATION_INFO, *PASSOCIATION_INFO;typedef struct __AUTHENTICATION_INFO{ USHORT CurrentAuthentTransactionSeqNum; UCHAR AuthenticationRequestRetryCnt; USHORT ExpectedAuthentTransactionSeqNum; UCHAR pChallengeText[254]; UCHAR ChallengeTextLength;}AUTHENTICATION_INFO, *PAUTHENTICATION_INFO;typedef struct __RX_BUFFER { USHORT WLength; UCHAR RxRate; UCHAR newbss; UCHAR KeyIndex; char RSSI; UCHAR LinkQuality; UCHAR CipherType; ULONG Reserved; UCHAR WirelessPacket[MAX_WIRELESS_SIZE];}__attribute__((packed)) RX_BUFFER , *PRX_BUFFER ;#elsetypedef struct __RX_BUFFER { USHORT WLength; UCHAR RxRate; UCHAR newbss; UCHAR Fragmentation; UCHAR RSSI; UCHAR LinkQuality; UCHAR NoiseLevel; UCHAR RxTime[4]; UCHAR WirelessPacket[VNET_MAX_WIRELESS_PACKET];}__attribute__((packed)) RX_BUFFER, *PRX_BUFFER;#endiftypedef struct __VNET_ADAPTER { struct usb_device *usb;#if (LINUX_VERSION_CODE < 0x020500) struct usb_config_descriptor *config;#else struct usb_host_config *config;#endif struct net_device *net; struct net_device_stats *netstats;#ifdef WIRELESS_EXT struct iw_statistics *w_stats;#endif struct list_head *TxList; struct list_head *freeTx; struct timer_list *CtrlTimer; devrequest *devreq; wait_queue_head_t *ctrl_wait; wait_queue_head_t *remove_wait; RX_BUFFER RxInBuff; RX_BUFFER RxBuffUp; STATISTICS Stats; SECURITY_INFO SecurityInfo; ASSOCIATION_INFO AssociationInfo; AUTHENTICATION_INFO AuthenticationInfo; PDFU pDfu; purb_t ctrl_urb, rx_urb, tx_urb; spinlock_t lock; ULONG CrcTable[256]; unsigned long flags; ULONG dbg_mask; /* mask to control debug msgs, see DBG_* below */ int (*cmdhandler) (struct __VNET_ADAPTER * Adapter); int (*Enchandler) (struct __VNET_ADAPTER * Adapter, BOOLEAN SetKey, ULONG KeyIndex); int received; int dropped; int transmitted; USHORT AssocID; USHORT RtsThreshold; USHORT FragmentationThreshold;// UCHAR ctrl_buff[200]; UCHAR ctrl_buff[300]; UCHAR CmdStatus[40]; UCHAR SelectedSSID[ESSID_SIZE]; UCHAR ChannelVector[14]; UCHAR StationAddress[6]; UCHAR tmpMAC[6]; UCHAR FwVersion[4]; UCHAR OperationalRates[4]; UCHAR LastCommand[2]; UCHAR BulkInAddr; UCHAR BoardType; UCHAR TxPacketsPending;// Device Specific // Addresses // AP's Info UCHAR SSID_size; UCHAR Channel; // CardInfo UCHAR DevMode; //Parallel, .... UCHAR TxRate; UCHAR PowerMgmtMode; UCHAR PeriodicBeaconsCnt; UCHAR InternationalRoaming; UCHAR RadioIsOn; UCHAR OperatingMode; UCHAR Rssi; UCHAR LinkQuality; UCHAR StationState; UCHAR TempState; UCHAR PrivacyInvoked; UCHAR IsInternationalScanEnabled; UCHAR CurrentTXpowerIndbm; // General Info UCHAR RegDomain; //driver info UCHAR CallbacksPending; UCHAR ErrorCode; //Mgmt Info BOOLEAN SetKey; UCHAR EapolMsg; UCHAR LeapChallenge; UCHAR TmpKeyIndex; UCHAR KeyIndex; BOOLEAN TxEapPending; BOOLEAN IsBroadcast; BOOLEAN IsTxKey; BOOLEAN IsPairwiseKey; BOOLEAN IsGroupKey;}VNet_ADAPTER, *PVNet_ADAPTER;#ifdef ATMEL_WLANtypedef struct __TX_BUFFER { USHORT WLength; UCHAR TxRate; UCHAR PaddingBytes; UCHAR KeyID; UCHAR CipherType; UCHAR CipherLength; UCHAR Reserved; UCHAR WirelessPacket[MAX_WIRELESS_SIZE];}__attribute__((packed)) TX_BUFFER , *PTX_BUFFER ;#elsetypedef struct __TX_BUFFER { USHORT WLength; UCHAR TxRate; UCHAR PaddingBytes; UCHAR Reserved[4]; UCHAR WirelessPacket[1534];}__attribute__((packed)) TX_BUFFER, *PTX_BUFFER;#endiftypedef struct __TxList { struct list_head tx_list; struct sk_buff *skb; PVNet_ADAPTER Adapter; PTX_BUFFER tx_buff; USHORT length; UCHAR status;}__attribute__((packed)) TX_LIST, *PTX_LIST;#ifdef ATMEL_WLAN#define MAX_ENCRYPTION_KEY_SIZE 40#define CIPHER_SUITE_NONE 0#define CIPHER_SUITE_WEP_64 1#define CIPHER_SUITE_TKIP 2#define CIPHER_SUITE_AES 3 #define CIPHER_SUITE_CCX 4#define CIPHER_SUITE_WEP_128 5#endif#ifdef USBDBG//# define dbgusb(format, arg...) printk(KERN_INFO format, ## arg);/* some flags to control dbgcond */#define DBG_STATE 0x00000001 /* show state changes */#define DBG_IOCTL 0x00000002 /* show ioctl calls */#define DBG_FW_DL 0x00000004 /* firmware download */#define DBG_INIT 0x00000008 /* initialization */#define DBG_SCAN 0x00000010 /* scanning (I)BSS */#define DBG_CTRL_CB 0x00000020 /* ctrl_callback */#define DBG_CMD_CB 0x00000040 /* GetCmd_callback */#define DBG_RX_CB 0x00000080 /* RxCallback */#define DBG_DFU_CB 0x00000100 /* DFU callback */#define DBG_CRC_CHECK 0x00000200 /* CRC check in RxCallback */#define DBG_CTRL_URB 0x00000400 /* SendCtrlUrb */#define DBG_CMDS 0x00000800 /* debug all commands to adapter */#define DBG_JOIN 0x00001000 /* Join request and answer */#define DBG_START_IBSS 0x00002000 /* debug only the START_IBSS cmds */#define DBG_WEP 0x00004000 /* debug WEP keys */#define DBG_BEACON 0x00008000 /* debug all incoming beacon msgs - many ! */#define DBG_AUTH 0x00010000 /* debug AUTH msgs */#define DBG_TXDATA 0x00020000 /* debug first bytes of wireless tx data - for every packet ! */#define DBG_TX 0x00040000 /* debug other TX stuff, e.g. en/dequeueing */#define DBG_SCHEDULE 0x00080000 /* debug scheduling */#define DBG_ASSOC 0x00100000 /* debug association */#define DBG_DISASS 0x00200000 /* debug disassociation */#define DBG_CONFIG 0x00400000 /* debug configuration */#define DBG_RXDATA 0x00800000 /* debug rx data packets - every packet ! */#define DBG_TX_CB 0x01000000 /* debug the TxOk callback */# define dbgcond(flag, format, arg...) \ do {\ if ((flag) & Adapter->dbg_mask) \ printk(format, ## arg);\ } while (0)# ifdef INSANEDBG#define dbgusbnl(format, arg...) {\ printk(KERN_INFO format "\n" , ## arg);\ udelay(1000);udelay(1000);udelay(1000);}# else# define dbgusbnl(format, arg...) printk(KERN_INFO format "\n" , ## arg);# endif#else# define dbgcond(flag, format, arg...)# define dbgusb(format, arg...) {}# define dbgusbnl(format, arg...) {}#endif#include "stdinclude.h"#endif //__vnetusba_h_OK__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -