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

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

?? rt2570sw.h

?? 臺灣RALink公司的 rt2570無線 802.11g 網卡的 驅動的源代碼 ,支持linux2.4以上的 內河
?? H
?? 第 1 頁 / 共 5 頁
字號:
/*
 ***************************************************************************
 * Ralink Tech Inc.
 * 4F, No. 2 Technology 5th Rd.
 * Science-based Industrial Park
 * Hsin-chu, Taiwan, R.O.C.
 *
 * (c) Copyright 2002-2004, Ralink Technology, Inc.
 *
 * This program is free software; you can redistribute it and/or modify  * 
 * it under the terms of the GNU General Public License as published by  * 
 * the Free Software Foundation; either version 2 of the License, or     * 
 * (at your option) any later version.                                   * 
 *                                                                       * 
 * This program is distributed in the hope that it will be useful,       * 
 * but WITHOUT ANY WARRANTY; without even the implied warranty of        * 
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         * 
 * GNU General Public License for more details.                          * 
 *                                                                       * 
 * You should have received a copy of the GNU General Public License     * 
 * along with this program; if not, write to the                         * 
 * Free Software Foundation, Inc.,                                       * 
 * 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             * 
 *                                                                       * 
 ************************************************************************
	Module Name:
	rt2570sw.h

	Abstract:

	Revision History:
	Who			When			What
	--------	----------		----------------------------------------------
	Name		Date			Modification logs
	Jan Lee		2005-06-01		Release
*/
#ifndef __vnetsw_h_OK__
#define __vnetsw_h_OK__



//red,extern	unsigned long	NIC_VENDOR_DRIVER_VERSION;//blue
////////////////////////////////////////////////////////////////////////////
// Frame Sizes
////////////////////////////////////////////////////////////////////////////

#define MAC_ADDRESS_LENGTH                  6

#define HEADER_SIZE                     14
#define MAXIMUM_PACKET_SIZE             1500

#define MAX_QUEUE_SIZE                  100

#define USB_TX_HEADER_SIZE              8//WLength+TxRate+PaddingBytes+Reserved
#define USB_RX_HEADER_SIZE              12

#define WIRELESS_HEADER_OVERHEAD        18
#define MAX_TX_PADDING_BYTES            50
#define MAX_RX_PADDING_BYTES            66
#define CRC32_BYTES                     4

#define MAX_WIRELESS_SIZE               WIRELESS_HEADER_OVERHEAD + HEADER_SIZE + MAXIMUM_PACKET_SIZE + CRC32_BYTES
extern unsigned long flagg;


typedef UCHAR ADDRESS[MAC_ADDRESS_LENGTH];

////////////////////////////////////////////////////////////////////////////
// NDIS related definitions
////////////////////////////////////////////////////////////////////////////
#define MAX_MULTICAST_ADDRESSES         32
#define MAX_LOOKAHEAD_SIZE              MAXIMUM_PACKET_SIZE + HEADER_SIZE
#define TRANSMIT_BUFFER_SPACE           0x3000
#define RECEIVE_BUFFER_SPACE            0x4000
#define MAXIMUM_SEND_PACKETS            8

#define OPER_RATE_SIZE                  4

#define SUPPORTED_RATES_SET_1           0
#define SUPPORTED_RATES_SET_2           1


////////////////////////////////////////////////////////////////////////////
// Memory Macros
////////////////////////////////////////////////////////////////////////////
#define FreeMemory(_buffer) kfree(_buffer)

////////////////////////////////////////////////////////////////////////////
// 802,11 related definitions
////////////////////////////////////////////////////////////////////////////
#define ESS_ID_SIZE                             32
#define AD_HOC_MODE                             1
#define INFRASTRUCTURE_MODE                     2
#define WEP_KEY_SIZE                            13 //128-bit encryption
#define PREAMBLE_TYPE_LONG                      0
#define PREAMBLE_TYPE_SHORT                     1

////////////////////////////////////////////////////////////////////////////
// used to track information on usb pipes in use
////////////////////////////////////////////////////////////////////////////
typedef struct __BULKUSB_PIPEINFO {
    BOOLEAN fPipeOpened;
} BULKUSB_PIPEINFO, *PBULKUSB_PIPEINFO;


//#pragma pack (push, 1)


#define RTVID1			0x148f //ralink
#define RTPID1			0x2570

#define RTVID2			0xb05 //Asus
#define RTPID2			0x1706

#define RTVID3			0x2001 //alpha
#define RTPID3			0x3c00

#define RTVID4			0x0B05 //MSI
#define RTPID4			0x1706

#define RTVID5			0x0B05 //MSI
#define RTPID5			0x1707

#define RTVID6			0x0707 //smc
#define RTPID6			0xEE13

#define GEMTEKVID			0x13B1 //gemtek
#define GEMTEKPID1			0x000D
#define GEMTEKPID2			0x0011

#define RTUSB_DEVICES { \
 {USB_DEVICE(RTVID1,RTPID1)},  \
 {USB_DEVICE(RTVID2,RTPID2)},  \
 {USB_DEVICE(RTVID3,RTPID3)},  \
 {USB_DEVICE(RTVID4,RTPID4)},  \
 {USB_DEVICE(RTVID5,RTPID5)},  \
 {USB_DEVICE(RTVID6,RTPID6)},  \
 {USB_DEVICE(GEMTEKVID,GEMTEKPID1)},  \
 {USB_DEVICE(GEMTEKVID,GEMTEKPID2)},  \
 {USB_DEVICE(0,0)}} /* end marker */



typedef struct urb *purbb_t;
typedef struct usb_ctrlrequest devctrlrequest;
// for vendor-specific control operations
#define CONTROL_TIMEOUT_MS	(500)			/* msec */
#define CONTROL_TIMEOUT_JIFFIES ((CONTROL_TIMEOUT_MS * HZ)/1000)
/* map devrequest fields onto usb_ctrlrequest's */
#define DEVREQ_REQUEST(x) ((x)->bRequest)
#define DEVREQ_REQUESTTYPE(x) ((x)->bRequestType)
#define DEVREQ_VALUE(x) ((x)->wValue)
#define DEVREQ_INDEX(x) ((x)->wIndex)
#define DEVREQ_LENGTH(x) ((x)->wLength)
#define PURB	purbb_t
#define PIRP	PVOID
#define PMDL PVOID

#define NDIS_OID UINT       

//
//  MACRO for debugging information
//
#if 1
extern ULONG    RTDebugLevel;

#define DBGPRINT(Level, fmt, args...) 					\
{									\
	if (Level <= RTDebugLevel)      				\
	{								\
		printk(NIC_DBG_STRING);					\
		printk(KERN_DEBUG fmt, ## args);			\
	}								\
}

#define DBGPRINT_RAW(Level, fmt, args...) 					\
{									\
	if (Level <= RTDebugLevel)      				\
	{								\
		printk(" ");					\
		printk(KERN_DEBUG fmt, ## args);			\
	}								\
}

#else
#define DBGPRINT(Level, fmt, args...)
#define DBGPRINT_RAW(Level, fmt, args...)
#endif


#  define assert(expr) \
        if(unlikely(!(expr))) {				        \
        printk(KERN_ERR "Assertion failed! %s,%s,%s,line=%d\n",	\
        #expr,__FILE__,__FUNCTION__,__LINE__);		        \
        }


//
// Defines the state of the LAN media
//
typedef enum _NDIS_MEDIA_STATE
{
    NdisMediaStateConnected,
    NdisMediaStateDisconnected
} NDIS_MEDIA_STATE, *PNDIS_MEDIA_STATE;


#define NdisMSetInformationComplete(handle, status)		\
{					\
}

#define NdisMIndicateStatusComplete(handle)		\
{					\
}

#define NdisMIndicateStatus(_M, _G, _SB, _BS)		\
{						\
}



//
//	The following structure defines the device power states.
//
typedef enum _NDIS_DEVICE_POWER_STATE
{
	NdisDeviceStateUnspecified = 0,
	NdisDeviceStateD0,
	NdisDeviceStateD1,
	NdisDeviceStateD2,
	NdisDeviceStateD3,
	NdisDeviceStateMaximum
} NDIS_DEVICE_POWER_STATE, *PNDIS_DEVICE_POWER_STATE;


#define ETH_LENGTH_OF_ADDRESS	6


#define STATUS_SUCCESS	0x00
#define STATUS_UNSUCCESSFUL 0x01

typedef LONG NTSTATUS;
typedef NTSTATUS *PNTSTATUS;

//
//	spin_lock enhanced for Nested spin lock
//
#define	NdisAllocateSpinLock(lock)		\
{									\
	spin_lock_init(lock);				\
}

#define NdisReleaseSpinLock(lock)						\
{										\
	if (in_interrupt())				\
{										\
		spin_unlock_irqrestore(lock, flagg);			\
}	\
	else						\
{										\
		spin_unlock(lock);			\
}	\
}

#define NdisAcquireSpinLock(lock)			\
{							\
	if (in_interrupt())				\
		spin_lock_irqsave(lock, flagg);			\
	else						\
		spin_lock(lock);			\
}


#define RTUSBFreeSkbBuffer(skb)				\
{											\
	dev_kfree_skb_any(skb);					\
}

#define RTUSBUp(pAd, semaphore)	\
{	\
	if(pAd->MLMEThr_pid>0)	\
	up(semaphore);	\
}

#define RTUSBCMDUp(pAd, semaphore)	\
{	\
	if(pAd->RTUSBCmdThr_pid>0)	\
	up(semaphore);	\
}


//Setup Packet used in Ctrl urb's filler....

#define FILL_REQUEST(a,aa,ab,ac,ad,ae)\
  do {\
      (a)->devreq->request = aa;\
      (a)->devreq->requesttype = ab;\
      (a)->devreq->value = cpu_to_le16(ac);\
      (a)->devreq->index = cpu_to_le16(ad);\
      (a)->devreq->length = cpu_to_le16(ae);\
  }while(0);



// direction is specified in TransferFlags

#define URB_FUNCTION_RESERVED0                      0x0016

//
// These are for sending vendor and class commands
// on the default pipe
//
// direction is specified in TransferFlags
//

#define URB_FUNCTION_VENDOR_DEVICE                   0x0017
#define URB_FUNCTION_VENDOR_INTERFACE                0x0018
#define URB_FUNCTION_VENDOR_ENDPOINT                 0x0019
#define URB_FUNCTION_VENDOR_OTHER                    0x0020

#define URB_FUNCTION_CLASS_DEVICE                    0x001A
#define URB_FUNCTION_CLASS_INTERFACE                 0x001B
#define URB_FUNCTION_CLASS_ENDPOINT                  0x001C
#define URB_FUNCTION_CLASS_OTHER                     0x001F

//
// Reserved function codes
//                                                                                                        
#define URB_FUNCTION_RESERVED                        0x001D

#define URB_FUNCTION_GET_CONFIGURATION               0x0026
#define URB_FUNCTION_GET_INTERFACE                   0x0027
                    
#define URB_FUNCTION_LAST                            0x0029


//define Vendor Command Constant
#define CMD_VendorReset	0x01
#define CMD_Disconnect	0x02
#define CMD_FunctionSwitch 0x03
#define CMD_SetTestMode	0x04
#define CMD_ClearTestMode 0x05
#define CMD_WriteMacRegister 0x06
#define CMD_ReadMacRegister 0x07
#define CMD_EEPROMWrite 0x08
#define CMD_EEPROMRead 0x09
#define CMD_MultipleRead 0x0A
#define CMD_MultipleWrite 0x0B
#define CMD_SingleRead 0x0C
#define CMD_SingleWrite 0x0D

#define NdisMSleep	mdelay


//  Assert MACRO to make sure program running
//
#undef  ASSERT
#define ASSERT(x)                                                                       \
{                                                                                       \
    if (!(x))                                                                           \
    {                                                                                   \
        printk(KERN_WARNING __FILE__ ":%d assert " #x "failed\n", __LINE__);		\
    }                                                                                   \
}

#if 0
#undef MOD_INC_USE_COUNT
#define MOD_INC_USE_COUNT	do { } while (0)

#undef MOD_DEC_USE_COUNT
#define MOD_DEC_USE_COUNT	do { } while (0)
#endif


//add by james

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产免费| 欧美综合久久久| 日韩综合在线视频| 亚洲一区日韩精品中文字幕| 国产精品伦一区| 国产精品免费视频网站| 国产精品久久久久久久蜜臀| 国产精品毛片大码女人| 综合中文字幕亚洲| 一区二区三区四区不卡在线 | 91免费视频网址| 99久久99久久精品免费看蜜桃| 99国产精品久久久久久久久久久| 97久久精品人人做人人爽| 色婷婷久久综合| 7878成人国产在线观看| 日韩精品一区二区三区三区免费| 精品久久一区二区三区| 欧美极品aⅴ影院| 亚洲欧洲另类国产综合| 亚洲国产精品自拍| 麻豆极品一区二区三区| 成人激情开心网| 欧美日韩一区在线观看| 欧美精品一区二区在线观看| 国产精品毛片久久久久久久| 亚洲一区二区黄色| 国产毛片精品国产一区二区三区| 99国内精品久久| 欧美一级电影网站| 国产精品夫妻自拍| 视频在线观看一区| 国产.精品.日韩.另类.中文.在线.播放 | 国产精品成人一区二区三区夜夜夜| 成人欧美一区二区三区视频网页| 久久久精品综合| 日韩美女久久久| 日韩黄色在线观看| 大白屁股一区二区视频| 日韩一级二级三级| 亚洲特级片在线| 国产一区二区精品在线观看| 欧美中文字幕不卡| 国产欧美日韩在线| 日本午夜一本久久久综合| jlzzjlzz欧美大全| 2023国产精品自拍| 亚洲图片有声小说| av不卡免费电影| 久久午夜老司机| 日本va欧美va精品发布| 色欧美片视频在线观看在线视频| 久久综合九色欧美综合狠狠| 亚洲成人免费观看| 色哟哟国产精品免费观看| 精品久久久久久综合日本欧美| 亚洲一区视频在线观看视频| k8久久久一区二区三区| 久久精品视频网| 精品一区二区三区视频在线观看| 欧美视频精品在线观看| 亚洲激情中文1区| 成人av一区二区三区| 欧美激情一区在线| 国产精品一色哟哟哟| 日韩欧美黄色影院| 日产国产欧美视频一区精品| 欧美久久久久久久久中文字幕| 国产欧美一区二区三区沐欲| 国精产品一区一区三区mba桃花 | 秋霞av亚洲一区二区三| 色av成人天堂桃色av| 中文字幕一区在线观看| 99麻豆久久久国产精品免费| 国产精品午夜在线观看| 成人综合日日夜夜| 国产精品美女久久福利网站| 国产suv精品一区二区6| 国产视频一区在线观看| 成人自拍视频在线观看| 国产精品无遮挡| 99久久婷婷国产| 夜夜嗨av一区二区三区中文字幕 | 久久久av毛片精品| 国产在线精品一区二区夜色 | 在线精品视频一区二区三四| 一区二区免费看| 欧美日韩高清在线播放| 日韩中文字幕1| 精品免费99久久| 国产乱码精品一区二区三区av| 久久精品欧美日韩| 99久精品国产| 亚洲最大成人综合| 欧美一卡2卡三卡4卡5免费| 国产一区视频在线看| 国产精品久久三| 欧美区视频在线观看| 久久99精品一区二区三区| 亚洲国产激情av| 在线欧美日韩精品| 国内精品自线一区二区三区视频| 欧美国产丝袜视频| 欧美性极品少妇| 国内成人免费视频| 中文字幕一区二区三区蜜月| 欧美日本韩国一区二区三区视频| 国产在线播放一区| 最新不卡av在线| 日韩欧美国产精品一区| 成年人午夜久久久| 免费观看30秒视频久久| 国产精品久久久久久久久免费相片 | 久久精品国产**网站演员| 久久综合色鬼综合色| 色综合色狠狠综合色| 裸体一区二区三区| 亚洲欧美日韩人成在线播放| 欧美v日韩v国产v| 欧洲色大大久久| 国产精品77777竹菊影视小说| 一区二区三区在线观看视频| 久久色中文字幕| 欧美巨大另类极品videosbest| 国产激情视频一区二区三区欧美 | 日韩美女天天操| 91国模大尺度私拍在线视频| 国产乱码一区二区三区| 五月天网站亚洲| 亚洲精品国产一区二区三区四区在线| 精品久久国产字幕高潮| 欧美精品一级二级三级| 91浏览器打开| caoporn国产精品| 国产不卡视频在线观看| 紧缚奴在线一区二区三区| 亚洲成av人片观看| 一区二区三区欧美日韩| 亚洲欧洲精品天堂一级| 国产日韩v精品一区二区| 精品欧美一区二区在线观看| 91麻豆精品国产91久久久更新时间 | 欧美午夜精品久久久久久孕妇| 国产成人精品一区二区三区四区 | 夜夜操天天操亚洲| 综合网在线视频| 一区免费观看视频| 国产精品素人视频| 国产日本欧洲亚洲| 国产午夜三级一区二区三| 91精品国产色综合久久不卡电影| 欧美日韩中文另类| 欧美精品丝袜久久久中文字幕| 在线区一区二视频| 欧美无砖专区一中文字| 欧美色视频在线观看| 欧美视频中文字幕| 91精品久久久久久蜜臀| 日韩一区二区三区视频在线| 欧美成人一区二区三区| 精品日韩99亚洲| 国产网红主播福利一区二区| 欧美国产激情二区三区| 中文字幕一区二区三区蜜月| 亚洲免费大片在线观看| 亚洲成人第一页| 免费高清不卡av| 国产成人99久久亚洲综合精品| 国产成人精品亚洲777人妖| www.欧美色图| 色av一区二区| 日韩久久免费av| 国产欧美日韩卡一| 亚洲激情男女视频| 日本伊人午夜精品| 国产91精品在线观看| 在线视频国内一区二区| 日韩欧美成人一区二区| 国产欧美综合在线观看第十页| 综合久久久久久| 三级在线观看一区二区| 国产黄人亚洲片| 在线视频综合导航| 日韩欧美成人激情| 中文字幕在线免费不卡| 天天av天天翘天天综合网| 国产在线精品一区二区夜色| 色妹子一区二区| 欧美xxxxxxxx| 亚洲伊人伊色伊影伊综合网| 久久狠狠亚洲综合| 日本黄色一区二区| 欧美精品一区二区三区在线播放| 一区二区三区视频在线观看| 狠狠色丁香婷婷综合久久片| 欧美亚洲精品一区| 欧美激情在线免费观看| 蜜臀91精品一区二区三区| 91亚洲精品一区二区乱码| 精品国产伦一区二区三区免费|