亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
欧美高清激情brazzers| 成人福利视频网站| 亚洲成精国产精品女| 自拍偷拍亚洲欧美日韩| 国产欧美一区二区精品婷婷| 久久久久久久综合| 奇米综合一区二区三区精品视频| 亚洲精品日韩一| 国产一区二区三区免费看| 色婷婷综合在线| ㊣最新国产の精品bt伙计久久| 精品国产免费人成电影在线观看四季 | 蜜臀av性久久久久蜜臀aⅴ流畅| 亚洲成人av资源| 日日夜夜一区二区| 久久国产精品第一页| 国产一区啦啦啦在线观看| 国产精品99久久久久久久vr| 波多野结衣欧美| 色老汉一区二区三区| 7777精品久久久大香线蕉| 日韩一级片在线播放| 国产视频在线观看一区二区三区| 日韩毛片在线免费观看| 午夜视频一区二区三区| 韩国成人精品a∨在线观看| 成人小视频在线| 欧美视频自拍偷拍| 精品国产亚洲在线| 亚洲精品亚洲人成人网| 蜜桃av一区二区三区| 日韩一区二区影院| 亚洲综合999| 成人免费毛片片v| 日韩久久久久久| 成人av资源在线| 欧美精品日日鲁夜夜添| 欧美精品一区二| 亚洲综合男人的天堂| 久久精品国产一区二区三| 99久久国产综合精品女不卡| 欧美剧情片在线观看| 中文字幕高清一区| 日韩av中文字幕一区二区三区 | 欧美视频一区二区三区四区 | 亚洲欧美日韩一区二区| 美腿丝袜亚洲三区| 色偷偷久久人人79超碰人人澡| 精品国产在天天线2019| 一区二区三区四区蜜桃| 国产91精品在线观看| 欧美福利电影网| 亚洲人成影院在线观看| 国产成人精品三级麻豆| 色悠悠久久综合| 欧美tickling网站挠脚心| 亚洲精品成人精品456| 国产一区在线观看视频| 欧美日韩精品福利| 一区二区三区四区亚洲| 成人丝袜18视频在线观看| 欧美一级高清大全免费观看| 亚洲高清三级视频| 色综合一区二区| 久久亚洲精精品中文字幕早川悠里 | 精品国产伦理网| 午夜精品久久久久久久久| 色综合天天综合狠狠| 国产亚洲污的网站| 国产精品一区二区你懂的| 精品美女一区二区| 毛片av一区二区| 777xxx欧美| 亚洲444eee在线观看| 欧美日韩国产一级| 亚洲第一搞黄网站| 欧美日韩专区在线| 亚洲国产精品天堂| 9191成人精品久久| 日本中文字幕一区二区有限公司| 欧美亚洲尤物久久| 丁香亚洲综合激情啪啪综合| 久久综合九色综合97婷婷| 毛片av中文字幕一区二区| 欧美成人一区二区三区在线观看| 青娱乐精品视频| 欧美大片在线观看一区| 久久99国产精品久久99果冻传媒| 3d动漫精品啪啪一区二区竹菊 | 麻豆久久久久久| 日韩免费一区二区三区在线播放| 久久99精品视频| 精品国产免费一区二区三区四区 | 91久久精品网| 日韩av中文字幕一区二区 | 成人美女在线观看| 亚洲精品大片www| 91看片淫黄大片一级在线观看| 欧美色国产精品| 8x8x8国产精品| 丝袜国产日韩另类美女| 欧美xxxxx牲另类人与| 国产激情一区二区三区桃花岛亚洲 | 91性感美女视频| 天堂影院一区二区| 久久青草欧美一区二区三区| 97精品国产97久久久久久久久久久久 | 国产在线一区观看| 亚洲天天做日日做天天谢日日欢| 欧美日韩不卡在线| 国产精品伊人色| 国产精品69久久久久水密桃| 中文字幕一区二区日韩精品绯色| 不卡的电影网站| 久久久久99精品一区| 五月综合激情婷婷六月色窝| 国产精品一区一区| 欧美在线观看视频在线| 极品美女销魂一区二区三区| 中文字幕中文乱码欧美一区二区| 欧美日韩在线电影| 成人精品视频.| 日韩电影在线观看电影| 亚洲欧美一区二区三区久本道91| 8x8x8国产精品| 色狠狠av一区二区三区| 国产一区二区三区电影在线观看| 亚洲午夜一区二区| 中文字幕一区二区三区精华液| 日韩一区二区三区免费看| 色婷婷久久久亚洲一区二区三区 | 九九久久精品视频| 亚洲成人你懂的| 欧美国产日韩在线观看| 色综合一区二区| 亚洲综合在线电影| 国产凹凸在线观看一区二区| 亚洲国产成人精品视频| 亚洲免费av高清| 亚洲色图色小说| 国产精品视频一二三区| 久久午夜免费电影| 欧美大胆人体bbbb| 欧美一区二区日韩| 在线不卡中文字幕播放| 色狠狠桃花综合| 欧洲av在线精品| 在线视频欧美精品| 欧美在线不卡视频| 色av成人天堂桃色av| 成人黄色网址在线观看| 成人91在线观看| 波多野结衣精品在线| 99精品久久只有精品| 91影院在线免费观看| 99久久99久久精品免费看蜜桃| 成人高清视频在线| 99久久综合国产精品| 经典三级视频一区| 亚洲国产高清在线观看视频| 国产不卡视频在线播放| 亚洲免费av观看| 夜夜嗨av一区二区三区网页| 亚洲国产成人av好男人在线观看| 一区二区三区久久| 首页国产欧美久久| 美女视频黄免费的久久| 国产剧情一区在线| 床上的激情91.| 91官网在线免费观看| 在线播放国产精品二区一二区四区| 欧美色精品在线视频| 欧美va日韩va| 国产精品成人网| 亚洲自拍都市欧美小说| 日韩国产欧美一区二区三区| 精品一区二区三区免费视频| 成人一级视频在线观看| 欧美亚洲一区二区在线| xf在线a精品一区二区视频网站| 国产午夜精品久久久久久久| 一区二区三区电影在线播| 五月天网站亚洲| 蜜乳av一区二区三区| 欧美午夜一区二区三区免费大片| 91久久精品日日躁夜夜躁欧美| 欧美亚洲国产一卡| 国产69精品一区二区亚洲孕妇| aa级大片欧美| 欧美一级欧美一级在线播放| 中文字幕+乱码+中文字幕一区| 亚洲自拍都市欧美小说| 国内精品久久久久影院色| 91视视频在线观看入口直接观看www | 99视频一区二区三区| 91精品国产综合久久精品麻豆 | 专区另类欧美日韩| 亚洲精品免费一二三区| 美女www一区二区| 日本精品一区二区三区高清|