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

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

?? rt_linux.h

?? Linux下的RT系列無線網卡驅動,可以直接在x86平臺上編譯
?? H
?? 第 1 頁 / 共 2 頁
字號:
/* ************************************************************************* * Ralink Tech Inc. * 4F, No. 2 Technology 5th Rd. * Science-based Industrial Park * Hsin-chu, Taiwan, R.O.C. * * (c) Copyright 2002-2007, 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.             *  *                                                                       *  ************************************************************************* */ /***********************************************************************//*                                                                     *//*   Program:    rt_linux.c                                            *//*   Created:    4/21/2006 1:17:38 PM                                  *//*   Author:     Wu Xi-Kun                                             *//*   Comments:   `description`                                         *//*                                                                     *//*---------------------------------------------------------------------*//*                                                                     *//* History:                                                            *//*    Revision 1.1 4/21/2006 1:17:38 PM  xsikun                        *//*    Initial revision                                                 *//*                                                                     *//***********************************************************************/#include <linux/module.h>#include <linux/version.h>#include <linux/kernel.h>#include <linux/spinlock.h>#include <linux/init.h>#include <linux/string.h>#include <linux/timer.h>#include <linux/errno.h>#include <linux/slab.h>#include <linux/interrupt.h>#include <linux/pci.h>#include <linux/netdevice.h>#include <linux/etherdevice.h>#include <linux/skbuff.h>#include <linux/ethtool.h>#include <linux/wireless.h>#include <linux/proc_fs.h>#include <linux/delay.h>#include <linux/if_arp.h>#include <linux/ctype.h>#include <linux/vmalloc.h>#include <linux/wireless.h>#include <net/iw_handler.h>// load firmware#define __KERNEL_SYSCALLS__#include <linux/unistd.h>#include <asm/uaccess.h>#define MEM_ALLOC_FLAG      (GFP_ATOMIC) //(GFP_DMA | GFP_ATOMIC)//#define CONFIG_CKIP_SUPPORT#undef __inline#define __inline	   static inline #define CHAR            signed char#define INT             signed int#define SHORT           signed short#define UINT            unsigned int #undef  ULONG           //#define ULONG           unsigned int#define ULONG           unsigned long /* 32-bit in 32-bit CPU or										 64-bit in 64-bit CPU */#define USHORT          unsigned short#define UCHAR           unsigned chartypedef int					INT32;typedef int (*HARD_START_XMIT_FUNC)(struct sk_buff *skb, struct net_device *net_dev);// add by kathy#ifdef CONFIG_STA_SUPPORT#define PROFILE_PATH			"/etc/Wireless/RT2860STA/RT2860STA.dat"#define RT2860_IMAGE_FILE_NAME  "/etc/Wireless/RT2860STA/RT2860STA.bin"#define NIC_DEVICE_NAME			"RT2860STA"#define DRIVER_VERSION			"1.3.0.0"#endif // CONFIG_STA_SUPPORT //#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0)#define RTMP_TIME_AFTER(a,b)		\	(typecheck(unsigned long, (unsigned long)a) && \	 typecheck(unsigned long, (unsigned long)b) && \	 ((long)(b) - (long)(a) < 0))#define RTMP_TIME_AFTER_EQ(a,b)	\	(typecheck(unsigned long, (unsigned long)a) && \	 typecheck(unsigned long, (unsigned long)b) && \	 ((long)(a) - (long)(b) >= 0))#define RTMP_TIME_BEFORE(a,b)	RTMP_TIME_AFTER_EQ(b,a)#else#define RTMP_TIME_AFTER(a,b) time_after(a, b)#endif#define BOOLEAN         unsigned char//#define LARGE_INTEGER s64#define VOID            void//#define LONG            int#define LONG 			long#define LONGLONG        s64#define ULONGLONG       u64typedef VOID            *PVOID;typedef CHAR            *PCHAR;typedef UCHAR           *PUCHAR;typedef USHORT          *PUSHORT;typedef LONG            *PLONG;typedef ULONG           *PULONG;typedef UINT            *PUINT;#define OS_HZ			HZtypedef union _LARGE_INTEGER {    struct {        UINT LowPart;        INT32 HighPart;    } ;    struct {        UINT LowPart;        INT32 HighPart;    } u;    s64 QuadPart;} LARGE_INTEGER;#define ETH_LENGTH_OF_ADDRESS	6#define IN#define OUT#define TRUE        1#define FALSE       0#define NDIS_STATUS                             INT#define NDIS_STATUS_SUCCESS                     0x00#define NDIS_STATUS_FAILURE                     0x01#define NDIS_STATUS_INVALID_DATA				0x02#define NDIS_STATUS_RESOURCES                   0x03#define MIN_NET_DEVICE_FOR_AID			0x00		//0x00~0x3f#define MIN_NET_DEVICE_FOR_MBSSID		0x00		//0x00,0x10,0x20,0x30#define MIN_NET_DEVICE_FOR_WDS			0x10		//0x40,0x50,0x60,0x70#define MIN_NET_DEVICE_FOR_APCLI		0x20#ifdef CONFIG_STA_SUPPORT#define NDIS_PACKET_TYPE_DIRECTED		0#define NDIS_PACKET_TYPE_MULTICAST		1#define NDIS_PACKET_TYPE_BROADCAST		2#define NDIS_PACKET_TYPE_ALL_MULTICAST	3#endif // CONFIG_STA_SUPPORT //struct os_lock  {	spinlock_t		lock;	unsigned long  	flags;};struct os_cookie {	struct pci_dev 			*pci_dev;	dma_addr_t		  		pAd_pa;		struct tasklet_struct 	rx_done_task;	struct tasklet_struct 	mgmt_dma_done_task;	struct tasklet_struct 	ac0_dma_done_task;	struct tasklet_struct 	ac1_dma_done_task;	struct tasklet_struct 	ac2_dma_done_task;	struct tasklet_struct 	ac3_dma_done_task;	struct tasklet_struct 	hcca_dma_done_task;	struct tasklet_struct	fifo_statistic_full_task;	unsigned long			apd_pid; //802.1x daemon pid	INT						ioctl_if_type;	INT 					ioctl_if;};	typedef struct _VIRTUAL_ADAPTER{	struct net_device		*RtmpDev;	struct net_device		*VirtualDev;} VIRTUAL_ADAPTER, PVIRTUAL_ADAPTER;#undef  ASSERT#define ASSERT(x)                                                               \{                                                                               \    if (!(x))                                                                   \    {                                                                           \        printk(KERN_WARNING __FILE__ ":%d assert " #x "failed\n", __LINE__);    \    }                                                                           \}	typedef struct os_cookie	* POS_COOKIE;	typedef struct pci_dev 		* PPCI_DEV;	typedef struct net_device	* PNET_DEV;typedef void				* PNDIS_PACKET;typedef char				NDIS_PACKET;typedef PNDIS_PACKET		* PPNDIS_PACKET;typedef	dma_addr_t			NDIS_PHYSICAL_ADDRESS;typedef	dma_addr_t			* PNDIS_PHYSICAL_ADDRESS;//typedef struct timer_list	RALINK_TIMER_STRUCT;//typedef struct timer_list	* PRALINK_TIMER_STRUCT;//typedef struct os_lock		NDIS_SPIN_LOCK;typedef spinlock_t			NDIS_SPIN_LOCK;typedef struct timer_list	NDIS_MINIPORT_TIMER;typedef void				* NDIS_HANDLE;typedef char 				* PNDIS_BUFFER;void hex_dump(char *str, unsigned char *pSrcBufVA, unsigned int SrcBufLen);dma_addr_t linux_pci_map_single(void *handle, void *ptr, size_t size, int direction);void linux_pci_unmap_single(void *handle, dma_addr_t dma_addr, size_t size, int direction);////////////////////////////////////////// MOVE TO rtmp.h ?/////////////////////////////////////////#define PKTSRC_NDIS             0x7f#define PKTSRC_DRIVER           0x0f#define PRINT_MAC(addr)	\	addr[0], addr[1], addr[2], addr[3], addr[4], addr[5]#define RT2860_PCI_DEVICE_ID		0x0601#define PCI_MAP_SINGLE(_handle, _ptr, _size, _dir) \	linux_pci_map_single(_handle, _ptr, _size, _dir)#define PCI_UNMAP_SINGLE(_handle, _ptr, _size, _dir) \	linux_pci_unmap_single(_handle, _ptr, _size, _dir)#define BEACON_FRAME_DMA_CACHE_WBACK(_ptr, _size)	\	dma_cache_wback(_ptr, _size)//////////////////////////////////////////////////////////////////////////////////////#define NdisMIndicateStatus(_w, _x, _y, _z)#define NdisMediaStateConnected		1#define NdisMediaStateDisconnected	0typedef unsigned int	NDIS_MEDIA_STATE;typedef struct timer_list	RTMP_OS_TIMER;typedef struct  _RALINK_TIMER_STRUCT    {    RTMP_OS_TIMER		TimerObj;       // Ndis Timer object	BOOLEAN				Valid;			// Set to True when call RTMPInitTimer    BOOLEAN             State;          // True if timer cancelled    BOOLEAN             Repeat;         // True if periodic timer    ULONG               TimerValue;     // Timer value in milliseconds	ULONG				cookie;			// os specific object}   RALINK_TIMER_STRUCT, *PRALINK_TIMER_STRUCT;//#define DBG	1////  MACRO for debugging information//#ifdef DBGextern ULONG    RTDebugLevel;#define DBGPRINT_RAW(Level, Fmt)    \{                                   \    if (Level <= RTDebugLevel)      \    {                               \        printk Fmt;               \    }                               \}#define DBGPRINT(Level, Fmt)    DBGPRINT_RAW(Level, Fmt)#define DBGPRINT_ERR(Fmt)           \{                                   \    printk("ERROR!!! ");          \    printk Fmt;                  \}#define DBGPRINT_S(Status, Fmt)		\{									\	printk Fmt;					\}			#else#define DBGPRINT(Level, Fmt)#define DBGPRINT_RAW(Level, Fmt)#define DBGPRINT_S(Status, Fmt)#define DBGPRINT_ERR(Fmt)#endif////  spin_lock enhanced for Nested spin lock//#define NdisAllocateSpinLock(__lock)      \{                                       \    spin_lock_init((spinlock_t *)(__lock));               \}#define NdisFreeSpinLock(lock)          \{                                       \}#define RTMP_SEM_LOCK(__lock)					\{												\	spin_lock_bh((spinlock_t *)(__lock));				\}#define RTMP_SEM_UNLOCK(__lock)					\{												\	spin_unlock_bh((spinlock_t *)(__lock));				\}#define RTMP_IRQ_LOCK(__lock, __irqflags)					\{													\	spin_lock_irqsave((spinlock_t *)__lock, __irqflags);	\	pAd->irq_disabled |= 1; \}#define RTMP_IRQ_UNLOCK(__lock, __irqflag)						\{														\	pAd->irq_disabled &= 0; \	spin_unlock_irqrestore((spinlock_t *)(__lock), ((unsigned long)__irqflag));	\}#if 1#ifdef INF_TWINPASS

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
制服丝袜在线91| 亚洲 欧美综合在线网络| 亚洲女人小视频在线观看| 麻豆91小视频| 欧美亚洲国产一区在线观看网站| 久久夜色精品国产噜噜av| 亚洲成人动漫在线观看| 99精品偷自拍| 欧美激情一区二区三区四区| 麻豆91免费看| 日韩一区二区在线看| 亚洲自拍与偷拍| 91蜜桃在线观看| 日本一区二区不卡视频| 狠狠色2019综合网| 日韩美女视频在线| 蜜臀久久99精品久久久久宅男 | 久久久久97国产精华液好用吗| 亚洲视频免费在线观看| 成人性生交大片| 欧美精品一区二区三区蜜桃视频| 三级亚洲高清视频| 欧美在线你懂的| 亚洲欧美乱综合| 99免费精品视频| 亚洲色图视频网| 99久久精品国产一区| 一区在线中文字幕| 99久久精品免费精品国产| 国产精品久久久久久亚洲伦 | 午夜视频一区在线观看| 在线免费观看成人短视频| 亚洲乱码国产乱码精品精可以看 | 亚洲超丰满肉感bbw| 色天天综合色天天久久| 中文字幕亚洲一区二区av在线 | 奇米综合一区二区三区精品视频| 欧美探花视频资源| 日本亚洲欧美天堂免费| 欧美不卡激情三级在线观看| 精品制服美女久久| 国产色爱av资源综合区| caoporn国产精品| 亚洲美女淫视频| 欧美日韩国产综合视频在线观看| 同产精品九九九| 欧美一区二区三区在线观看| 麻豆极品一区二区三区| 国产日产精品一区| 色综合色狠狠综合色| 亚洲成人动漫在线免费观看| 3atv一区二区三区| 国产福利一区二区三区视频| 国产精品国产三级国产| 欧美性大战久久久| 免费在线观看成人| 中文天堂在线一区| 欧美日韩你懂得| 激情久久五月天| 亚洲欧洲精品一区二区三区| 欧美日韩综合不卡| 国产一区视频在线看| **性色生活片久久毛片| 欧美美女直播网站| 国产麻豆精品95视频| 亚洲精选免费视频| 精品99999| 欧美性猛交xxxx黑人交| 国产裸体歌舞团一区二区| 亚洲女厕所小便bbb| 日韩女同互慰一区二区| 99精品热视频| 精品一区二区三区蜜桃| 亚洲激情网站免费观看| 久久久久久夜精品精品免费| 色网综合在线观看| 激情深爱一区二区| 午夜精品久久久久久久99水蜜桃| 国产欧美日韩一区二区三区在线观看| 色噜噜狠狠色综合中国| 国产精品中文有码| 日韩综合在线视频| 中文字幕在线视频一区| 日韩一区二区精品| 欧美影院午夜播放| 成人免费视频视频在线观看免费| 午夜精品在线看| 亚洲乱码国产乱码精品精可以看 | 国产精品亲子伦对白| 欧美三级资源在线| www.66久久| 国产白丝网站精品污在线入口| 午夜精品久久久久久不卡8050| 中文字幕在线观看不卡视频| 26uuu亚洲婷婷狠狠天堂| 欧美中文字幕一区| 99久久精品久久久久久清纯| 高清不卡在线观看av| 美女网站色91| 日韩精品一二三| 亚洲成人精品影院| 亚洲图片有声小说| 亚洲精品视频在线观看免费| 国产精品白丝在线| 国产精品国产自产拍在线| 久久综合九色综合97婷婷女人| 欧美一区二区三区性视频| 欧美群妇大交群中文字幕| 欧美性xxxxxxxx| 欧美日韩精品系列| 欧美在线一二三四区| 欧美亚洲国产一区在线观看网站| 日本韩国欧美在线| 91精品办公室少妇高潮对白| 99国产精品久| 91福利精品第一导航| 欧美性猛交xxxx乱大交退制版 | 国产乱码精品一区二区三区av| 青青草成人在线观看| 免费人成黄页网站在线一区二区 | 日韩一级成人av| 这里是久久伊人| 欧美一区二区三区性视频| 欧美一级夜夜爽| 精品国免费一区二区三区| 久久众筹精品私拍模特| 欧美激情中文不卡| 亚洲天堂网中文字| 亚洲成av人片一区二区三区| 青青草国产精品97视觉盛宴| 精品亚洲国内自在自线福利| 国产成人免费视频网站高清观看视频| 国产成人av资源| 欧美中文字幕一区二区三区| 欧美一区二区观看视频| 亚洲精品一线二线三线无人区| 国产亚洲美州欧州综合国| 国产精品乱人伦中文| 一区二区久久久久久| 蜜臀国产一区二区三区在线播放| 国产一区二区调教| 色www精品视频在线观看| 欧美一卡二卡在线观看| 国产精品国产三级国产有无不卡| 亚洲国产精品久久久久婷婷884| 奇米一区二区三区av| 高清免费成人av| 欧美午夜精品一区二区蜜桃| 精品国产一区二区在线观看| 中文字幕一区二区三区av| 日韩经典中文字幕一区| 岛国一区二区在线观看| 欧美日韩国产三级| 国产亚洲综合色| 亚洲1区2区3区4区| 国产成人精品三级麻豆| 欧美午夜精品理论片a级按摩| 久久亚洲精品小早川怜子| 一区二区高清免费观看影视大全 | 国产精品麻豆视频| 免费日本视频一区| 在线观看日韩高清av| 久久精品一区二区三区四区| 一二三区精品视频| 国产v综合v亚洲欧| 制服.丝袜.亚洲.中文.综合| 中文字幕亚洲在| 国模娜娜一区二区三区| 欧美性大战久久久| 亚洲人成7777| 成人18视频在线播放| 日韩一二三区不卡| 一区二区三区国产豹纹内裤在线| 国产精品资源网| 欧美成人艳星乳罩| 丝袜诱惑亚洲看片| 欧美色电影在线| 亚洲素人一区二区| 成人黄色综合网站| 久久久国产午夜精品| 久久超碰97中文字幕| 91精品国模一区二区三区| 亚洲一区二区精品视频| 91视频免费看| 亚洲视频一区二区免费在线观看| 国产寡妇亲子伦一区二区| 日韩视频免费观看高清完整版 | 国产一区二区三区av电影| 欧美一区二区在线免费观看| 亚洲高清三级视频| 欧美色综合久久| 亚洲一区在线观看视频| 一本在线高清不卡dvd| 国产精品久久久久一区二区三区| 成人自拍视频在线| 国产精品日韩精品欧美在线 | 日本不卡123| 91精品国产综合久久久久| 日本亚洲一区二区| 精品久久久三级丝袜|