📄 vnet.h
字号:
USHORT MajorVer; USHORT MinorVer; USHORT FuncCtrl; UCHAR Reserved[2]; //This field is undocumented for ATMEL use ONLY#if (defined PCI) UCHAR GenericIRQType;#endif UCHAR Reserved1[2];} IFACE, *PIFACE;#define IFACE_INT_STATUS_OFFSET 0#define IFACE_INT_MASK_OFFSET 1#define IFACE_LOCKOUT_HOST_OFFSET 2#define IFACE_LOCKOUT_MAC_OFFSET 3#define IFACE_FUNC_CTRL_OFFSET 28#define IFACE_MAC_STAT_OFFSET 30#define IFACE_GENERIC_INT_TYPE_OFFSET 32//// IFACE MACROS & definitions////// FuncCtrl field: //#define FUNC_CTRL_TxENABLE (UCHAR)0x10#define FUNC_CTRL_RxENABLE (UCHAR)0x20#define FUNC_CTRL_INIT_COMPLETE (UCHAR)0x01#define MAX_WPA_ELEMENT_SIZE 200 //52+...#define WPA_ELEMENT_GROUP_SUITE_OFFSET 6#define WPA_ELEMENT_PW_SUITE_OFFSET 10#define WPA_ELEMENT_PW_LIST_OFFSET 12#define MIN_WPA_ELEMENT_DATA_SIZE 6#define MAX_RSSI_SAMPLES 32#define MAX_RECONNECT_RETRIES 9#define MAX_EAPOL_PACKETS 5#define EAPOL_KEY_INFO_TYPE 0x0008#define EAPOL_KEY_INFO_ACK 0x0080#define EAPOL_KEY_INFO_INDEX 0x0030#define EAPOL_KEY_INFO_REQUEST 0x0800#define EAPOL_KEY_INFO_ERROR 0x0400#define EAPOL_KEY_INFO_SECURE 0x0200#define EAPOL_KEY_INFO_MIC 0x0100#define EAPOL_BAD_VERSION 1#define EAPOL_REJECT 2#define EAPOL_DESCRIPTOR_TYPE 4#define EAPOL_MIC_ERROR 5#define EAPOL_ASF_ALERT 6//// Station States definitions//#define STATION_STATE_INITIALIZING 0x00#define STATION_STATE_SCANNING 0x01#define STATION_STATE_JOINNING 0x02#define STATION_STATE_AUTHENTICATING 0x03#define STATION_STATE_ASSOCIATING 0x04#define STATION_STATE_READY 0x05#define STATION_STATE_OUT_OF_RANGE 0x06#define STATION_STATE_DISASSOCIATING 0x07#define STATION_STATE_DIAUTHENTICATING 0x08#define STATION_STATE_REASSOCIATING 0x09#define STATION_STATE_FORCED_JOINNING 0x0a#define STATION_STATE_RECONFIGURING 0x0b#define STATION_STATE_FW_UPGRADE 0x0c#define STATION_STATE_FORCED_JOIN_FAILURE 0x0d#define STATION_STATE_RESETTING 0x0e#define STATION_STATE_RESET_PENDING 0x0f#define STATION_STATE_SNIFFER_MODE 0x10#define STATION_STATE_WAIT_ACTION 0x11 //under XP we need this state to allow XP to initiate a new scan#define STATION_STATE_TEST_MODE 0x12#define STATION_STATE_RADIO_OFF 0x13//errors: error code field is valid#define STATION_STATE_NO_CARD 0xf0#define STATION_STATE_MGMT_ERROR 0xf1#define MIN_BEACON_PROBE_BYTES 60#define MAX_BEACON_PROBE_BYTES MAX_IE_LENGTH#define MAX_ASSOCIATION_FR_BODY_BYTES 150 //54 + 50 (WPA) + ....#ifndef ATMEL_WLAN#define CMD_BLK_PARM_SIZE 76#define MIB_CMD_DATA_SIZE 72#else#define CMD_BLK_PARM_SIZE 216#define MIB_MAX_DATA_BYTES 212#endif //ATMEL_WLANtypedef struct __CMD_BLOCK_STRUCT{ UCHAR Command; UCHAR Status; UCHAR Error_Offset; UCHAR Reserved; UCHAR Parameters[CMD_BLK_PARM_SIZE];} CMD_BLOCK_STRUCT;#define CMD_Q_FLAG_IDLE 0#define CMD_Q_FLAG_PENDING 1#define CMD_Q_FLAG_IN_PROGRESS 2#define CMD_Q_FLAG_COMPLETED 3typedef struct __CMD_Q { UCHAR Flags; CMD_BLOCK_STRUCT CmdBlock; PUCHAR pOutBuf; ULONG OutBufLength; UCHAR Reserved[4];} CMD_Q, *PCMD_Q;//// Regulatory Domains//#define REG_DOMAIN_FCC 0x10 //Channels 1-11#define REG_DOMAIN_DOC 0x20 //Channel 11#define REG_DOMAIN_ETSI 0x30 //Channel 1-13#define REG_DOMAIN_SPAIN 0x31 //Channel 10-11#define REG_DOMAIN_FRANCE 0x32 //Channel 10-13#define REG_DOMAIN_MKK 0x40 //Channel 14#define REG_DOMAIN_MKK1 0x41 //Channel 1-14#define REG_DOMAIN_ISRAEL 0x50 //Channel 3-7#ifdef RX_CRC//////////////////////////////////////////////////////////////////////////////// The FRAGMENTED_PACKET structure is used for the reassembly of the// fragmented 802.11 packets in the driver//////////////////////////////////////////////////////////////////////////////typedef struct __FRAGMENTED_PACKET{ USHORT Sequence; USHORT CurrentLen; UCHAR SourceAddress[6]; UCHAR FragmentNumber; UCHAR WirelessPacket[MAX_WIRELESS_FRAME_SIZE];} FRAGMENTED_PACKET, *PFRAGMENTED_PACKET;#endiftypedef struct __EAPOL_KEY_DESCRIPTOR{ UCHAR DescriptorType; USHORT KeyInformation; USHORT KeyLength; UCHAR ReplayCounter[8]; UCHAR KeyNOnce[32]; UCHAR KeyIV[16]; UCHAR KeyRSC[8];//Contains RSC for key. Only in 3-4, and GTK1. Other messages 0. (For TKIP-->TSC 6 btyes) UCHAR KeyID[8];//Reserved set to 0 UCHAR KeyMIC[16]; USHORT KeyMaterialLength; PUCHAR KeyMaterial;//should be=keyMaterialLength} EAPOL_KEY_DESCRIPTOR, *PEAPOL_KEY_DESCRIPTOR;typedef struct __EAPOL_BUFFER{ BOOLEAN InUse; ULONG Length; UCHAR Packet[1600];} EAPOL_BUFFER, *PEAPOL_BUFFER;#include "mib.h"typedef struct __VNet_ADAPTER { // // I/O // UINT IoBaseAddr; ULONG IoPortsLen; ULONG IoBase; BOOLEAN IOregistered; // // Interrupt // UCHAR InterruptStatus; UCHAR InterruptType; UCHAR InterruptMask; // UCHAR BusType; UINT MulticastListMax; ULONG PacketFilter; ULONG CurrentLookAhead; UCHAR Lookahead[MAX_WIRELESS_FRAME_SIZE]; UCHAR PermanentAddress[VNet_LENGTH_OF_ADDRESS];#if (LINUX_VERSION_CODE >= 0x020213) struct net_device *dev;#else struct device *dev;#endif // // Statistics // STATISTICS Stats; // // TX // USHORT TxDescFree; USHORT TxDescHead; USHORT TxDescTail; USHORT TxDescPrevious; USHORT TxFreeBuffMem; USHORT TxBuffHead; USHORT TxBuffTail; USHORT TxBuffEnd; USHORT TxBuffStart; ULONG Transmissions; ULONG CompletedTransmissions; ULONG PendingTxPackets; // // RX // USHORT RxDescHead; USHORT RxBuffEnd; USHORT RxBuffStart; ULONG Receptions; ULONG RxPacketLen; BOOLEAN IndicateReceiveDone; EAPOL_BUFFER EapolBuffer[MAX_EAPOL_PACKETS]; UCHAR RxBuf[MAX_WIRELESS_FRAME_SIZE];#ifdef RX_CRC ULONG RxCrcError; ULONG CrcTable[256]; FRAGMENTED_PACKET FragPacket;#endif ULONG MiniportResets; CMD_Q CmdQ[MAX_CMD_Q_ENTRIES]; // // parameters // UCHAR Channel; UCHAR OperatingMode; USHORT RtsThreshold; USHORT FragmentationThreshold; UCHAR DataFramesTxRate; IFACE HostInfo; USHORT HostInfoBase; CHAR Rssi; UCHAR LinkQuality; UCHAR DriverDesc[MAX_DRIVER_DESC_LENGTH]; UCHAR DriverDescSize; BOOLEAN AutoPreambleDetection; UCHAR BasicRatesIndex; BOOLEAN NetAddressOverride; UCHAR SupportedRatesLength; UCHAR SupportedRates[OPER_RATE_SIZE]; CHAR RssiSample[MAX_RSSI_SAMPLES]; CHAR RssiIndex;///////////////////////////////////////////////// UCHAR InitialChannel; USHORT InitialRtsThreshold; USHORT InitialFragmentationThreshold; UCHAR InitialDataFramesTxRate; UCHAR InitialPreambleType; UCHAR InitialPowerMgmtMode; BOOLEAN InitialRadioIsOn; UCHAR InitialIntRoamingEnabled; UCHAR AssociationRspnsFrameBody[MAX_ASSOCIATION_FR_BODY_BYTES]; ///////////////////////////////////////////////// // // State/Control vars // UCHAR StationState; BOOLEAN StationWasAssociated; BOOLEAN StationIsAssociated; BOOLEAN StationIsOutOfRange; BOOLEAN MiniportResetRequest; BOOLEAN MiniportResetPending; UCHAR SiteSurveyState; UCHAR CardType; UCHAR IndicateConnectState; BOOLEAN RejectPendingTxPackets; BOOLEAN WepIsConfigured; BOOLEAN ConnectToAnyBSS; CHAR CurrentBSSindex; BOOLEAN FastScan; BOOLEAN CmdPending; BOOLEAN RadioIsOn; BOOLEAN HwRadioIsOn; UCHAR RegDomainIndex; UCHAR UseWzcs; UCHAR WasUsingWzcs; // when entering non-Net modes we force UseWzcs to 0 // and we use WasUsingWzcs to restore it to the last value BOOLEAN InSnifferMode; BOOLEAN DeviceIsUp; UCHAR ReConnectRetry; // // 802.11 // UCHAR SelectedSSID[MAX_SSID_LENGTH]; UCHAR LastSSID[MAX_SSID_LENGTH]; UCHAR LastSSIDSize; UCHAR InitialSSIDsize; UCHAR InitialSSID[MAX_SSID_LENGTH]; UCHAR BSSID[6];#ifdef ATMEL_WLAN BOOLEAN TxEapPending;#endif BOOLEAN ApSelected; UCHAR PowerMgmtMode; UCHAR TxPowerLevel; USHORT DefaultBeaconPeriod;#ifdef ATMEL_WLAN BSS_INFO_EX BSSinfo[MAX_BSS_ENTRIES]; BSS_INFO_EX BSSinfo2App[MAX_BSS_ENTRIES];#endif#if (!defined ATMEL_WLAN) BSS_INFO BSSinfo[MAX_BSS_ENTRIES]; BSS_INFO BSSinfo2App[MAX_BSS_ENTRIES];#endif UCHAR BSSListEntries; UCHAR BSSListEntries2App; ULONG MgmtErrorCode; UCHAR PeriodicBeaconsCnt; UCHAR IntRoamingEnabled;// VALID_CHANNELS ValidChannels; UCHAR ChannelVector[14]; UCHAR RegDomain; UCHAR LastAssReasReqFrameBody[1500]; ULONG LastAssReasReqBytes;#ifdef INT_ROAM MDOMAIN_MIB MultiDomainMib;#endif AUTHENTICATION_INFO AuthenticationInfo; ASSOCIATION_INFO AssociationInfo; SECURITY_INFO SecurityInfo; // //Timers // struct timer_list *MgmtTimer; struct pci_dev *pci; UCHAR IsUp; ULONG dbg_mask; /* mask to control debug msgs, see DBG_* below */ // // application support // VERSION_INFO VersionInfo; UCHAR DeviceID[MAX_DEVICE_ID_LENGTH]; UCHAR DeviceIDsize; // // DFU // UCHAR VendorID; UCHAR FlashID; ULONG FlashTotalBytes; ULONG FirmwareFileLength; PUCHAR MappedFirmwareBuffer; BOOLEAN WorkingWithDefaultFW; PUCHAR pCIS; PUCHAR pHardConfig; BOOLEAN InvalidMACaddress; // //Debug // UCHAR CmdQHead; UCHAR CmdQTail; CHAR CmdQEntries; CHAR JoinInQCnt; CHAR StartInQCnt;} VNet_ADAPTER, * PVNet_ADAPTER;#define VNET_ASSERT(A) {}#ifdef PCMCIA_DEBUG//# 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_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 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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -