📄 rt2570sw.h
字号:
TUPLE_CACHE TupleCache[MAX_CLIENT]; // Maximum number of tuple caches, only useful in Ad-Hoc UCHAR TupleCacheLastUpdateIndex; // 0..MAX_CLIENT-1 FRAGMENT_FRAME FragFrame; // Frame storage for fragment frame // For MiniportTransferData PUCHAR pRxData; // Pointer to current RxRing offset / fragment frame offset // Counters for 802.3 & generic. // Add 802.11 specific counters later COUNTER_802_3 Counters; // 802.3 counters COUNTER_802_11 WlanCounters; // 802.11 MIB counters COUNTER_RALINK RalinkCounters; // Ralink propriety counters COUNTER_DRS DrsCounters; // counters for Dynamic Rate Switching COUNTER_QA QACounters; // Ralink propriety counters NDIS_MEDIA_STATE MediaState; UCHAR StationState; NDIS_DEVICE_POWER_STATE CurrentPowerState; // Current device power state NDIS_DEVICE_POWER_STATE NextPowerState; // Next device power state PRIVATE_STRUC PrivateInfo; // Private information & counters // SpinLocks spinlock_t SendTxWaitQueueLock; // SendTxWaitQueue spinlock spinlock_t MLMEWaitQueueLock; // SendTxWaitQueue spinlock spinlock_t CmdQLock; // SendTxWaitQueue spinlock spinlock_t BulkOutLock; // SendTxWaitQueue spinlock spinlock_t ControlLock; // SendTxWaitQueue spinlock spinlock_t MLMEQLock; // SendTxWaitQueue spinlock spinlock_t GenericLock; // SendTxWaitQueue spinlock spinlock_t MemLock; // need to check // Reference count LONG RefCount; // Keep adapter refer count for checkforhang & halt ULONG SendRefCount; // number of packet that have not been confirmed ULONG RcvRefCount; // number of packets that have not been returned back // Various NDIS Event int ExitEvent; NDIS_MEDIA_STATE LinkIsActive; ULONG CurrentLookAhead; CmdQ CmdQ; DATA_BULKOUT_QUEUE DataQ; MLME_BULKOUT_QUEUE MLMEQ; // Boolean control for packet filter BOOLEAN bAcceptDirect; BOOLEAN bAcceptMulticast; BOOLEAN bAcceptBroadcast; BOOLEAN bAcceptAllMulticast; // Control to check Tx hang BOOLEAN bTxBusy; // Control disconnect / connect event generation ULONG LinkDownTime; UCHAR LastSsidLen; // the actual ssid length in used CHAR LastSsid[MAX_LEN_OF_SSID]; // NOT NULL-terminated MACADDR LastBssid; BOOLEAN bConfigChanged; // Config Change flag for the same SSID setting PORT_CONFIG PortCfg; MLME_STRUCT Mlme; ///////////////////// // USB ///////////////////// USHORT BulkOutMaxPacketSize; // 64 in XP USHORT BulkInMaxPacketSize; ///////////////////// // Control Flags ///////////////////// LONG PendingTx; atomic_t PendingRx; LONG PendingReset; LONG BulkOutFailed; LONG BulkInFailed; LONG DeviceFailed; UCHAR DeviceMode; BOOLEAN UnplugDevice; atomic_t TerminateThreads; atomic_t PendingIoCount; BOOLEAN BSSSelected; BOOLEAN StationWasAssociated; BOOLEAN StationIsAssociated; BOOLEAN StationIsAuthenticated; UCHAR WepLevel; BOOLEAN OutOfRangeDetected; BOOLEAN AddressOverrided; BOOLEAN AutoAuthentication; BOOLEAN AutoPreamble; BOOLEAN AutoJoin; BOOLEAN UseInternalFWImage; BOOLEAN AnyAP; PVOID pInformationBuffer; ULONG InformationBufferLength; PULONG pBytesWritten; PULONG pBytesNeeded; BOOLEAN SendDelimitingPacket; ULONG DelimitingPacketSent; UINT FragmentsSent; USHORT BulkOutLength; USHORT BulkOutRemained; BOOLEAN ContinBulkOut; USHORT BulkInRemained; BOOLEAN ContinBulkIn; BOOLEAN BeaconIntervalChangeAllowed; USHORT SentBeaconsCount; USHORT ReceivedBeaconsCount; LARGE_INTEGER TransmittedFragmentCount;#ifdef TEST_MODE_SUPPORT CmdQElmt CmdQElements[12];#else CmdQElmt CmdQElements[COMMAND_QUEUE_SIZE];#endif USHORT MACCounters[11]; TX_RATE_SWITCHING_STRUC TxRateSwitchingStruc[12]; ULONG CurrRateGoodTime; UCHAR CurrRateBadTime; UCHAR TxQuality; BBP_TUNING_PARAMETERS_STRUC BBPTuningParameters; ULONG LastRxRate; ULONG PacketsSentBetweenTBTTs; BOOLEAN ScanAllowed; // Alpha can't link up problem ULONG ExtraInfo; // Extra information for displaying status struct net_device_stats net_device_stats; /* interface statistics */ } RT2570ADAPTER, *PRT2570ADAPTER;#endif//////////////////////////////////////////////////////////////////////////////// inline FUNCTIONS//// IncrementIoCount and DecrementIoCount//// DESCRIPTION//// We keep a pending IO count. This count is initialized to one.// Subsequently, the count is incremented for each new IRP received or// created and is decremented when each IRP is completed.// Transition to 'one' therefore indicates no IO is pending and signals// Adapter->RemoveEvent. Transition to 'zero' signals an event// (Adapter->RemoveEvent) to enable device removal.//// INPUT//// Adapter Ptr to the adapter object//// OUTPUT//// -//////////////////////////////////////////////////////////////////////////////inline VOID IncrementIoCount(PRT2570ADAPTER Adapter);inline VOID DecrementIoCount(IN PRT2570ADAPTER pAdapter);////////////////////////////////////////////////////////////////////////////// __inline VOID EnQTxPacket(PRT2570ADAPTER Adapter, PNDIS_PACKET Packet)// {// PTX_QUEUE tempTxQnode;////// if (AllocateMemory(&tempTxQnode, sizeof(TX_QUEUE))!=NDIS_STATUS_SUCCESS)// {// NdisMSendComplete(Adapter->AdapterHandle, Packet, NDIS_STATUS_SUCCESS);// return;// }//// tempTxQnode->pNdisPacket = Packet;// tempTxQnode->next = NULL;//// if (Adapter->TxQHead==NULL)// {// Adapter->TxQHead = tempTxQnode;// }//// if (Adapter->TxQTail!=NULL)// {// Adapter->TxQTail->next = tempTxQnode;// }//// Adapter->TxQTail = tempTxQnode;// }////////////////////////////////////////////////////////////////////////////// __inline VOID DeQTxPacket(PRT2570ADAPTER Adapter)// {// PTX_QUEUE tempTxQnode;//// tempTxQnode = Adapter->TxQHead;// Adapter->TxQHead = tempTxQnode->next;//// if (Adapter->TxQHead==NULL)// {// Adapter->TxQTail=NULL;// }//// FreeMemory(tempTxQnode, sizeof(TX_QUEUE));// }#define DEVICE_VENDOR_REQUEST_OUT (USB_DIR_OUT | USB_TYPE_VENDOR | USB_RECIP_DEVICE) // 0x40#define DEVICE_VENDOR_REQUEST_IN (USB_DIR_IN | USB_TYPE_VENDOR | USB_RECIP_DEVICE ) //0xc0#define INTERFACE_VENDOR_REQUEST_OUT 0x41#define INTERFACE_VENDOR_REQUEST_IN 0xc1#define PL_RESET_IN (1<<3) /* reset input pipe */////////////////////////////////////////////////////////////////////////////// Misc definitions////////////////////////////////////////////////////////////////////////////#define OS_IS_WIN_2000 0 #define OS_IS_WIN_ME 1#define OS_IS_WIN_98 2#define OS_IS_WIN_XP 3////////////////////////////////////////////////////////////////////////////// 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_NOT_NET_MODE 0x10#define STATION_STATE_WAIT_ACTION 0x11 //under XP we need this state to allow XP to take control#define STATION_STATE_REJECTING_PACKETS 0x99 #define STATION_STATE_NO_CARD 0xf0 #define STATION_STATE_MGMT_ERROR 0xf1 #define STATION_STATE_GENERAL_ERROR 0xf2 #define STATION_STATE_POWER_DOWN 0xff////////////////////////////////////////////////////////////////////////////// SCAN Type Definitions////////////////////////////////////////////////////////////////////////////#define SCAN_TYPE_ACTIVE 0#define SCAN_TYPE_PASSIVE 1////////////////////////////////////////////////////////////////////////////// Operating Modes definitions////////////////////////////////////////////////////////////////////////////#define BSS_TYPE_AD_HOC 1#define BSS_TYPE_INFRASTRUCTURE 2//// Miniport routines in rtmp_main.c//VOID RTUSBHalt( IN PRT2570ADAPTER pAdapter, BOOLEAN IsFree);//// Private routines in rtmp_init.c//PUCHAR RTMPFindSection( IN PCHAR buffer, IN PCHAR section);INT RTMPIsFindSection( IN PUCHAR ptr, IN PUCHAR buffer);INT RTMPGetKeyParameter( IN PUCHAR section, IN PCHAR key, OUT PCHAR dest, IN INT destsize, IN PCHAR buffer);VOID RTMPReadParametersFromFile( IN PRT2570ADAPTER pAdapter);VOID NICReadEEPROMParameters( IN PRT2570ADAPTER pAdapter);VOID NICInitAsicFromEEPROM( IN PRT2570ADAPTER pAdapter);NDIS_STATUS NICInitRecv( IN PRT2570ADAPTER pAdapter);#if 0NDIS_STATUS NICReadAdapterInfo( IN PRT2570ADAPTER pAdapter);VOID NICInitializeAdapter( IN PRT2570ADAPTER pAdapter);#endif//blueVOID RT2570InitializeAsic( IN PRT2570ADAPTER pAdapter);VOID NICIssueReset( IN PRT2570ADAPTER pAdapter);#if 0VOID RTMPRingCleanUp( IN PRT2570ADAPTER pAdapter, IN UCHAR RingType);#endifVOID RxTest( IN PRT2570ADAPTER pAdapter);//#if 0NDIS_STATUS DbgSendPacket( IN PRT2570ADAPTER pAdapter, IN PNDIS_PACKET pPacket);#endifVOID PortCfgInit( IN PRT2570ADAPTER pAdapter);VOID NICResetFromError( IN PRT2570ADAPTER pAdapter);BOOLEAN NICCheckForHang( IN PRT2570ADAPTER pAdapter);VOID CreateThreads( struct net_device *net_dev);#if 0NDIS_STATUS RT2570ReadHWMACAddress( IN PRT2570ADAPTER pAdapter);#endifNDIS_STATUS RTUSBWriteHWMACAddress( IN PRT2570ADAPTER pAdapter);void AtoH(char * src, UCHAR * dest, int destlen);UCHAR BtoH(char ch);VOID RTMPInitTimer( IN PRT2570ADAPTER pAdapter, IN PRALINK_TIMER_STRUCT pTimer, IN PVOID pTimerFunc);VOID RTMPSetTimer( IN PRT2570ADAPTER pAdapter, IN PRALINK_TIMER_STRUCT pTimer, IN ULONG Value);VOID RTMPCancelTimer( IN PRALINK_TIMER_STRUCT pTimer);//// Private routines in rtmp_data.c//#if 0VOID RTMPHandleRxDoneInterrupt( IN PRT2570ADAPTER pAdapter);VOID RTMPHandleTxRingTxDoneInterrupt( IN PRT2570ADAPTER pAdapte
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -