亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? rt2570sw.h

?? 臺灣RALink公司的 rt2570無線 802.11g 網(wǎng)卡的 驅(qū)動的源代碼 ,支持linux2.4以上的 內(nèi)河
?? H
?? 第 1 頁 / 共 5 頁
字號:

////////////////////////////////////////////////////////////////////////////
// VERSION_INFO exchanged between driver/application
////////////////////////////////////////////////////////////////////////////
typedef struct __VERSION_INFO{
    UCHAR   DriverMajorVersion;
    UCHAR   DriverMinorVersion;
    UCHAR   DriverSubVersion;
    USHORT  DriverBuild;

    USHORT  FwMajorVersion;
    USHORT  FwMinorVersion;
    USHORT  FwSubVersion;
    USHORT  FwBuild;
}VERSION_INFO, *PVERSION_INFO;

#if 0
////////////////////////////////////////////////////////////////////////////
// The RX_BUFFER structure forms the Received USB packet from the device
////////////////////////////////////////////////////////////////////////////
typedef struct __RX_BUFFER{
    USHORT      WLength;
    UCHAR       RxRate;       //This field is not used in this version of Drv/FW
    UCHAR       ChangeBSSID;
    UCHAR       Fragmentation;//This field is not used in this version of Drv/FW
    UCHAR       RSSI;
    UCHAR       LinkQuality;
    UCHAR       NoiseLevel;   //This field is not used in this version of Drv/FW
    UCHAR       RxTime[4];    //This field is not used in this version of Drv/FW
    UCHAR       WirelessPacket[MAX_WIRELESS_SIZE];
} RX_BUFFER, *PRX_BUFFER;
#endif


////////////////////////////////////////////////////////////////////////////
// The TX_BUFFER structure forms the transmitted USB packet to the device
////////////////////////////////////////////////////////////////////////////
typedef struct _TX_BUFFER{
//	UINT			BulkOutSize;
    TXD_STRUC		TxDesc;
    UCHAR			WirelessPacket[2342];
} TX_BUFFER, *PTX_BUFFER;


////////////////////////////////////////////////////////////////////////////
// The RTS_BUFFER structure forms the transmitted USB packet to the device
////////////////////////////////////////////////////////////////////////////
typedef struct __RTS_BUFFER{
    TXD_STRUC      TxDesc;
    UCHAR	       RTSPacket[16];
} RTS_BUFFER, *PRTS_BUFFER;

////////////////////////////////////////////////////////////////////////////
// The USB_CARD_CONFIG structure is used only during device initialization
// to pass the initial operationg parameters to device
////////////////////////////////////////////////////////////////////////////
typedef struct __USB_CARD_CONFIG{
    UCHAR       ExcludeUnencrypted;
    UCHAR       PromiscuousMode;
    UCHAR       ShortRetryLimit;
    UCHAR       EncryptionType;
    USHORT      RtsThreshold;
    USHORT      FragmentationThreshold;     // 256..2346
    UCHAR       BasicRateSet[4];
    BOOLEAN     AutoRateFallBack;           //0,1
    UCHAR       Channel;
    BOOLEAN     PrivacyInvoked;
    UCHAR       WEPDefaultKeyID;            // 0..3
    UCHAR       CurrentSSID[32];
    UCHAR       WEPDefaultKeyValue[4][WEP_KEY_SIZE];
    UCHAR       SSIDLen;
    UCHAR       ShortPreamble;
    USHORT      BeaconPeriod;
} USB_CARD_CONFIG, *PUSB_CARD_CONFIG;


////////////////////////////////////////////////////////////////////////////
// In WEP_INFO are kept all the WEP related parameters. This structure is
// also exchanged between driver and application.
////////////////////////////////////////////////////////////////////////////
typedef struct __WEP_INFO{
    UCHAR                       WepKeyToUse;
    UCHAR                       WepMode;
    USHORT                      AuthenticationType;
    UCHAR                       EncryptionLevel;
    UCHAR                       WepKey1[WEP_KEY_SIZE];
    UCHAR                       WepKey2[WEP_KEY_SIZE];
    UCHAR                       WepKey3[WEP_KEY_SIZE];
    UCHAR                       WepKey4[WEP_KEY_SIZE];
} WEP_INFO, *PWEP_INFO;


////////////////////////////////////////////////////////////////////////////
// In the STATISTICS structure are kept all the device's statitrics.
// This structure is also exchanged between driver and application.
////////////////////////////////////////////////////////////////////////////
typedef struct __STATISTICS{
    ULONG   TxDataPacketsOk;
    ULONG   TxDataPacketsError;
    ULONG   TxMgmtPacketsOk;
    ULONG   TxMgmtPacketsError;

    ULONG   RxDataPacketsOk;
    ULONG   RxDataPacketsError;
    ULONG   RxMgmtPacketsOk;
    ULONG   RxMgmtPacketsError;

    ULONG   RxLost;
    ULONG   TxPacketsRejectedNotReady;
    ULONG   TxPacketsRejectedResources;
    ULONG   MatchingBeacons;
}STATISTICS, *PSTATISTICS;

////////////////////////////////////////////////////////////////////////////
// The BSS_INFO and SITE_SURVEY_INFO structures are used to form a custom
// list of 12 maximum BSSs and keet there characteristics.
// This list is the one that application displays in Site Survey Tab.
////////////////////////////////////////////////////////////////////////////
typedef struct __BSS_INFO{
    UCHAR   Channel;
    UCHAR   SSID[ESS_ID_SIZE];
    UCHAR   SSIDsize;
    UCHAR   BSSID[6];
    UCHAR   RSSI;
    UCHAR   UsingWEP;
    UCHAR   PreambleType;
    USHORT  BeaconPeriod;
    UCHAR   BSSType;  //11->Ad-Hoc, 2->Infrastructure
}BSS_INFO, *PBSS_INFO;

#define MAX_AP_ENTRIES  30

typedef struct __SITE_SURVEY_INFO{
    BSS_INFO        BSSinfo[MAX_AP_ENTRIES];
    UCHAR           BSSsInList;
    UCHAR           UserSelectedIndex;
    UCHAR           SiteSurveyState;
}SITE_SURVEY_INFO, *PSITE_SURVEY_INFO;

#ifdef WINXP
typedef struct __XP_BSSID_LIST{
    ULONG                   NumberOfEntries;
    NDIS_WLAN_BSSID         NdisBSSIDEntry[MAX_AP_ENTRIES];
}XP_BSSID_LIST;
#endif

//#pragma pack(pop)



////////////////////////////////////////////////////////////////////////////
// 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;//next fragment expected
    UCHAR   WirelessPacket[MAX_WIRELESS_SIZE];
}FRAGMENTED_PACKET, *PFRAGMENTED_PACKET;

////////////////////////////////////////////////////////////////////////////
// The ASYNC_OID structure is used for holding the context of an OID call
// that the driver will complete asynchronously
////////////////////////////////////////////////////////////////////////////
typedef struct __ASYNC_OID{
    PVOID   InformationBuffer;
    ULONG   InformationBufferLength;
    PULONG  Bytes;
    PULONG  BytesNeeded;
}ASYNC_OID, *PASYNC_OID;

#if 1//RT2460
//
//  Some utility macros
//
#ifndef min
#define min(_a, _b)     (((_a) < (_b)) ? (_a) : (_b))
#endif

#ifndef max
#define max(_a, _b)     (((_a) > (_b)) ? (_a) : (_b))
#endif

#define INC_COUNTER(Val)    (Val.QuadPart++)

#define	INFRA_ON(_p)		        (((_p)->PortCfg.Massoc) == TRUE)	// Check Massoc
#define ADHOC_ON(_p)                (((_p)->PortCfg.Mibss) == TRUE)    // check Mibss

#define	RTMP_SET_PACKET_FRAGMENTS(_p, number)	((_p)->cb[10] = number)
#define RTMP_GET_PACKET_FRAGMENTS(_p)			((_p)->cb[10])
#define	RTMP_SET_PACKET_RTS(_p, number)			((_p)->cb[11] = number)
#define RTMP_GET_PACKET_RTS(_p)					((_p)->cb[11])
#define	RTMP_SET_PACKET_FIRST_CONTEXT(_p, number)	((_p)->cb[12] = number)
#define RTMP_GET_PACKET_FIRST_CONTEXT(_p)			((_p)->cb[12])
//blue,#define	RTMP_SET_PACKET_CONTEXTS_REQUIRED(_p, number)	((_p)->cb[13] = number)
//blue,#define RTMP_GET_PACKET_CONTEXTS_REQUIRED(_p)			((_p)->cb[13])
#define GET_NEXT_PACKET_IN_BULKOUT_QUEUE(_p)			((struct sk_buff **)&((_p)->cb[14]))


#define	MAKE_802_3_HEADER(_p, _pMac1, _pMac2, _pType)								\
{																					\
	NdisMoveMemory(_p, _pMac1, ETH_LENGTH_OF_ADDRESS);								\
	NdisMoveMemory((_p + ETH_LENGTH_OF_ADDRESS), _pMac2, ETH_LENGTH_OF_ADDRESS);	\
	NdisMoveMemory((_p + ETH_LENGTH_OF_ADDRESS * 2), _pType, LENGTH_802_3_TYPE);	\
}

//
// Register set pair for initialzation register set definition
//
typedef	struct	_RTMP_REG_PAIR
{
	ULONG	Register;
	ULONG	Value;
}	RTMP_REG_PAIR, *PRTMP_REG_PAIR;

//
// Register set pair for initialzation register set definition
//
typedef	struct	_RTMP_RF_REGS
{
	UCHAR   Channel;
	ULONG	R1;
	ULONG   R2;
	ULONG   R3;
	ULONG   R4;
}	RTMP_RF_REGS, *PRTMP_RF_REGS;

typedef	struct	_RTMP_RF_REGS_1
{
	UCHAR   Channel;
	ULONG	TempR2;
	ULONG	R1;
	ULONG   R2;
	ULONG   R3;
	ULONG   R4;
}	RTMP_RF_REGS_1, *PRTMP_RF_REGS_1;
//
//  Queue structure and macros
//
typedef struct  _QUEUE_ENTRY    {
    struct _QUEUE_ENTRY     *Next;
}   QUEUE_ENTRY, *PQUEUE_ENTRY;

// Queue structure
typedef struct  _QUEUE_HEADER   {
    PQUEUE_ENTRY    Head;
    PQUEUE_ENTRY    Tail;
    ULONG			Number;
}   QUEUE_HEADER, *PQUEUE_HEADER;

#define InitializeQueueHeader(QueueHeader)              \
{                                                       \
    (QueueHeader)->Head = (QueueHeader)->Tail = NULL;   \
    (QueueHeader)->Number = 0;							\
}

#define RemoveHeadQueue(QueueHeader)                \
(QueueHeader)->Head;                                \
{                                                   \
    PQUEUE_ENTRY pNext;                             \
    ASSERT((QueueHeader)->Head);                    \
    pNext = (QueueHeader)->Head->Next;              \
    (QueueHeader)->Head = pNext;                    \
    if (pNext == NULL)                              \
        (QueueHeader)->Tail = NULL;                 \
    (QueueHeader)->Number--;						\
}

#define InsertHeadQueue(QueueHeader, QueueEntry)            \
{                                                           \
    ((PQUEUE_ENTRY)QueueEntry)->Next = (QueueHeader)->Head; \
    (QueueHeader)->Head = (PQUEUE_ENTRY)(QueueEntry);       \
    if ((QueueHeader)->Tail == NULL)                        \
        (QueueHeader)->Tail = (PQUEUE_ENTRY)(QueueEntry);   \
    (QueueHeader)->Number++;								\
}

#define InsertTailQueue(QueueHeader, QueueEntry)                \
{                                                               \
    ((PQUEUE_ENTRY)QueueEntry)->Next = NULL;                    \
    if ((QueueHeader)->Tail)                                    \
        (QueueHeader)->Tail->Next = (PQUEUE_ENTRY)(QueueEntry); \
    else                                                        \
        (QueueHeader)->Head = (PQUEUE_ENTRY)(QueueEntry);       \
    (QueueHeader)->Tail = (PQUEUE_ENTRY)(QueueEntry);           \
    (QueueHeader)->Number++;									\
}

//
//  Macros for flag and ref count operations
//
#define RTMP_SET_FLAG(_M, _F)       ((_M)->Flags |= (_F))
#define RTMP_CLEAR_FLAG(_M, _F)     ((_M)->Flags &= ~(_F))
#define RTMP_CLEAR_FLAGS(_M)        ((_M)->Flags = 0)
#define RTMP_TEST_FLAG(_M, _F)      (((_M)->Flags & (_F)) != 0)
#define RTMP_TEST_FLAGS(_M, _F)     (((_M)->Flags & (_F)) == (_F))

#define RTMP_INC_REF(_A)            NdisInterlockedIncrement(&(_A)->RefCount)
#define RTMP_DEC_REF(_A)            NdisInterlockedDecrement(&(_A)->RefCount); ASSERT(_A->RefCount >= 0)
#define RTMP_GET_REF(_A)            ((_A)->RefCount)

#define RTMP_INC_RCV_REF(_A)        ((_A)->RcvRefCount++)
#define RTMP_DEC_RCV_REF(_A)        ((_A)->RcvRefCount--)
#define RTMP_GET_RCV_REF(_A)        ((_A)->RcvRefCount)

#define RTMP_INC_SEND_REF(_A)       ((_A)->SendRefCount++)
#define RTMP_DEC_SEND_REF(_A)       ((_A)->SendRefCount--)
#define RTMP_GET_SEND_REF(_A)       ((_A)->SendRefCount)

#define RTMP_OFFSET(field)          ((UINT)FIELD_OFFSET(RTMP_ADAPTER, field))
#define RTMP_SIZE(field)            sizeof(((PRT2570ADAPTER)0)->field)
#define PORT_OFFSET(field)          ((UINT)FIELD_OFFSET(PORT_CONFIG, field))
#define PORT_SIZE(field)            sizeof(((PPORT_CONFIG)0)->field)

#undef	NdisMoveMemory
#undef	NdisZeroMemory
#undef	NdisFillMemory
#undef	NdisEqualMemory

#define	NdisMoveMemory(Destination, Source, Length)	RTMPMoveMemory(Destination, Source, Length)
#define	NdisZeroMemory(Destination, Length)			RTMPZeroMemory(Destination, Length)
#define	NdisFillMemory(Destination, Length, Fill)	RTMPFillMemory(Destination, Length, Fill)
#define	NdisEqualMemory(Source1, Source2, Length)	RTMPEqualMemory(Source1, Source2, Length)

//blue,#define RTMP_IO_READ32(_A, _R, _pV) RTUSBReadMACRegister((_A), (_R), (_pV))
//blue,#define RTMP_IO_WRITE32(_A, _R, _V) RTUSBReadMACRegister((_A), (_R), (_V))
//
//  Statistic counter structure
//
//mandatory counters from general and Ethernet statistics objects
typedef struct _COUNTER_802_3
{
    // General Stats
	ULONG		GoodTransmits;
	ULONG		GoodReceives;
	ULONG		TxErrors;
	ULONG		RxErrors;
	ULONG		RxNoBuffer;

    // Ethernet Stats
	ULONG		RcvAlignmentErrors;
	ULONG		OneCollision;
	ULONG		MoreCollisions;

}   COUNTER_802_3, *PCOUNTER_802_3;
//OID_802_11_STATISTICS
typedef struct _COUNTER_802_11 {
    ULONG           Length;
    LARGE_INTEGER   TransmittedFragmentCount;
    LARGE_INTEGER   MulticastTransmittedFrameCount;
    LARGE_INTEGER   FailedCount;
    LARGE_INTEGER   NoRetryCount;
    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;
} COUNTER_802_11, *PCOUNTER_802_11;
//proprietary counters
typedef struct _COUNTER_RALINK {
    ULONG           TransmittedByteCount;   // both successful and failure, used to calculate TX throughput
    ULONG           ReceivedByteCount;      // both CRC okay and CRC error, used to calculate RX throughput
    ULONG           BeenDisassociatedCount;
    ULONG           BadCQIAutoRecoveryCount;
    ULONG           PoorCQIRoamingCount;
    ULONG           MgmtRingFullCount;
    ULONG           RxCount;
    ULONG           DecryptCount;
    ULONG           RxRingErrCount;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩一区 二区 三区 久久精品| 青草av.久久免费一区| a级高清视频欧美日韩| 国产精品欧美经典| 91香蕉视频污| 亚欧色一区w666天堂| 91精品国产美女浴室洗澡无遮挡| 久久国产夜色精品鲁鲁99| 久久久久国色av免费看影院| 成人教育av在线| 亚洲精品v日韩精品| 欧美欧美欧美欧美首页| 久久91精品国产91久久小草| 久久久精品国产99久久精品芒果| 91色婷婷久久久久合中文| 亚洲国产精品视频| 久久综合999| 99国产精品久久久久久久久久久| 亚洲福利视频一区二区| 久久精品人人做| 在线影视一区二区三区| 久久综合综合久久综合| 国产精品久久久久三级| 欧美久久久久久久久中文字幕| 久久国内精品视频| 亚洲精品国产精品乱码不99| 4438x亚洲最大成人网| 国产·精品毛片| 亚洲午夜久久久| 久久久久久久久久久久久久久99 | 亚洲国产精品t66y| 欧美日韩在线三级| 国产成人在线视频播放| 天天做天天摸天天爽国产一区| 2022国产精品视频| 欧美午夜电影网| 国产精品一区在线观看乱码| 亚洲国产精品自拍| 综合婷婷亚洲小说| 久久久夜色精品亚洲| 欧美精品久久一区二区三区| 99久久综合色| 国产一区二区三区久久悠悠色av| 亚洲成人av资源| 亚洲人成人一区二区在线观看| 日韩欧美一级片| 欧美伦理视频网站| 色综合天天综合狠狠| 国产一区二区三区美女| 日本成人在线网站| 亚洲国产精品久久人人爱 | 亚洲综合色成人| 国产精品白丝在线| 久久午夜免费电影| 6080日韩午夜伦伦午夜伦| 色综合久久88色综合天天6| 国产99久久久国产精品潘金| 久久99国产精品麻豆| 三级一区在线视频先锋| 亚洲一区在线观看网站| 亚洲欧美韩国综合色| 国产日产欧美精品一区二区三区| 日韩欧美的一区| 日韩一区二区在线看片| 欧美精品第一页| 欧美天天综合网| 在线观看免费一区| 色综合天天在线| 在线亚洲一区观看| 日本精品一区二区三区高清| 波波电影院一区二区三区| 岛国av在线一区| 丁香六月综合激情| 成人视屏免费看| 成人精品视频一区| 99国产精品久久久| 色狠狠桃花综合| 欧美视频在线一区二区三区 | 丰满白嫩尤物一区二区| 国产成人a级片| 国产**成人网毛片九色| 国产精品一区二区久久精品爱涩 | 日本女优在线视频一区二区 | 性感美女久久精品| 日韩va欧美va亚洲va久久| 午夜精品久久久久久| 天堂av在线一区| 久久精品国产在热久久| 国产在线精品一区二区三区不卡| 国产精品一品视频| av一区二区不卡| 日本丰满少妇一区二区三区| 在线亚洲人成电影网站色www| 精品视频在线免费观看| 日韩一区二区三区视频| 26uuu欧美日本| 国产精品日日摸夜夜摸av| 伊人婷婷欧美激情| 日韩av不卡在线观看| 国产一区二区三区四区五区美女| 岛国精品在线观看| 欧美三级视频在线观看| 日韩免费高清电影| 亚洲欧洲av一区二区三区久久| 亚洲国产一区二区三区| 国产伦精品一区二区三区免费| 波多野结衣中文字幕一区| 欧美三级在线视频| 久久久国产精品不卡| 亚洲综合激情网| 久久99久久精品| 91捆绑美女网站| 欧美一区二区三区免费在线看 | 精品视频在线免费| 久久精品欧美一区二区三区麻豆| 亚洲激情中文1区| 国产一区二区三区最好精华液| 一本大道av伊人久久综合| 日韩免费电影网站| 洋洋av久久久久久久一区| 狠狠色狠狠色综合| 欧美色图一区二区三区| 国产亚洲短视频| 日本色综合中文字幕| 色综合久久久久久久久久久| 欧美成人性福生活免费看| 成人福利视频在线| 精品国产免费一区二区三区香蕉 | 色八戒一区二区三区| 欧美mv和日韩mv的网站| 亚洲精品伦理在线| 国产剧情一区二区| 欧美精品精品一区| 亚洲欧美另类小说视频| 国产精品羞羞答答xxdd| 日韩欧美一区二区久久婷婷| 亚洲综合在线免费观看| 国产东北露脸精品视频| 欧美一区二区三区色| 亚洲综合区在线| 成人av在线一区二区| 日韩你懂的电影在线观看| 无码av免费一区二区三区试看| av亚洲精华国产精华| 日本一区二区三区电影| 韩国一区二区在线观看| 91精品国产综合久久福利软件| 国产欧美日本一区视频| 精品在线你懂的| 7777精品伊人久久久大香线蕉完整版| 国产精品国产成人国产三级| 欧美一区二区三区四区高清| 亚洲大型综合色站| 91国产免费看| 亚洲美女在线一区| 91在线国产福利| 亚洲三级免费观看| 91在线精品秘密一区二区| 国产精品视频免费看| 成人福利视频在线看| 成人欧美一区二区三区| 成人午夜私人影院| 国产精品私人自拍| 国产精品一二一区| 国产三级精品视频| 粉嫩13p一区二区三区| 国产三级久久久| 成人va在线观看| 亚洲欧洲中文日韩久久av乱码| www.色精品| 亚洲激情成人在线| 欧美亚洲国产一区二区三区va | 国产超碰在线一区| 欧美一区二区国产| 亚洲国产裸拍裸体视频在线观看乱了 | 欧美体内she精视频| 一区二区视频免费在线观看| 在线影视一区二区三区| 五月天中文字幕一区二区| 欧美人伦禁忌dvd放荡欲情| 日韩黄色小视频| 欧美tickle裸体挠脚心vk| 国产一区二区视频在线| 国产精品美女www爽爽爽| 在线视频国产一区| 日日欢夜夜爽一区| 欧美成人一区二区三区片免费| 国产高清精品在线| 一区二区欧美精品| 欧美一区二区日韩| 国产精品白丝av| 亚洲欧美激情在线| 正在播放一区二区| 国产精品一二三在| 一区二区三区中文字幕精品精品 | 欧美日韩另类国产亚洲欧美一级| 天天爽夜夜爽夜夜爽精品视频| 精品黑人一区二区三区久久 | 国产女人aaa级久久久级| 一本久久精品一区二区|