⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 r8180_type.h

📁 linux 下的 PCI-RLT8180 driver module
💻 H
字号:
/* r8180_type.h: Part of Linux wireless lan driver for RTL8180. *//*        Written 2002-2003 by ShuChen.        This file is distributed according to the terms of        the GNU General Public License (GPL).        The original author may be reached as shuchen@realtek.com.tw		Versions:		1.0 - first release		1.1 - second release		1.2 - 2003-06-10*/#ifndef _INCLUDE_RTL8180_TYPE_H_#define _INCLUDE_RTL8180_TYPE_H_#include <linux/module.h>#include <linux/kernel.h>#include <linux/config.h>#include <linux/init.h>#include <linux/ioport.h>#include <linux/sched.h>#include <linux/types.h>#include <linux/slab.h>#include <linux/netdevice.h>//#include <linux/pci.h>#include <linux/etherdevice.h>#include <linux/delay.h>#include <linux/rtnetlink.h>#include <linux/wireless.h>#include <linux/timer.h>#include <linux/proc_fs.h>	// Necessary because we use the proc fs#include <linux/circ_buf.h>#include <asm/io.h>//----------------------------------------------------------------------------------------------// Endian//----------------------------------------------------------------------------------------------#ifndef RTL8180_DRV_ON_PC#define	RTL_BIG_ENDIAN	1//#define RTL_LITTLE_ENDIAN	1#endif //end #ifndef RTL8180_DRV_ON_PC#if !defined(RTL_BIG_ENDIAN) && !defined(RTL_LITTLE_ENDIAN)#error "Big/Little endian have NOT been defined!\n"#endif//----------------------------------------------------------------------------------------------// Enable debug messages//----------------------------------------------------------------------------------------------#define ENABLE_DBG_PRINT//----------------------------------------------------------------------------------------------// Enable SKB statistics//----------------------------------------------------------------------------------------------//#define ENABLE_RTL_SKB_STATS//#define ENABLE_RTL_SKB_TAGS_DBG//----------------------------------------------------------------------------------------------// Enable assert debugging//----------------------------------------------------------------------------------------------//#define ENABLE_RTL_ASSERT_DEBUG	//enable assert() debugging//----------------------------------------------------------------------------------------------// Enable proc file system debugginstatg//----------------------------------------------------------------------------------------------#define	ENABLE_RTL_PROC_DEBUG//----------------------------------------------------------------------------------------------// Enable chr device for signaling to upper layer//----------------------------------------------------------------------------------------------#define WLAN_CHR_MISC//----------------------------------------------------------------------------------------------// Get/Set unsigned 16 bit integer.//----------------------------------------------------------------------------------------------#define GetUint16(ptr)          ( (unsigned short)( (ptr[1]<<8) | ptr[0] ) )#define SetUint16(ptr,val16)    { ((unsigned char *)ptr)[0]=(val16 & 0x00FF); \                                  ((unsigned char *)ptr)[1]=((val16>>8) & 0x00FF);}//----------------------------------------------------------------------------------------------// Driver parameters//----------------------------------------------------------------------------------------------#define MAX_SSID_LEN		32#define MAX_NAME_LEN		32#define MAX_MULTICAST_FILTER_NUM 8struct rtl8180_priv {	struct net_device *dev;	//------------------------------------------------------	// Multicast address //2003-06-03	//------------------------------------------------------	unsigned long mc_register[2];	struct net_device_stats stats;	struct iw_statistics wlan_stats;	unsigned long ioaddr;	char essid[MAX_SSID_LEN + 1];	int essid_len;	char name[MAX_NAME_LEN + 1];	char nickname[MAX_NAME_LEN + 1];	int nickname_len;	char bssid[ETH_ALEN];	unsigned short rate;	int RF_TYPE;	void	*pwlanCtx;};/*=====================================================================================type definition.=====================================================================================*/#ifndef timer_ttypedef struct timer_list timer_t;#endif //#ifndef timer_t#define rtl_bool	unsigned char#define rtl_uint8	unsigned char#define rtl_uint16	unsigned short#define rtl_uint32	unsigned long#ifndef ENABLE_DBG_PRINT	extern void _printk(const char* fmt, ...);	#define printk      1 ? (void)0 : _printk#endifextern void r3k_flush_dcache_range (int start, int end);#ifdef WITHOUT_LINUX_KERNEL	#ifdef udelay		#undef udelay	#endif	#define udelay          _udelay	#ifdef mdelay		#undef mdelay	#endif	#define mdelay          _mdelay#endif	// WITHOUT_LINUX_KERNEL#undef RTL_R8#undef RTL_R16#undef RTL_R32#undef RTL_W8#undef RTL_W16#undef RTL_W32#ifdef RTL_IO_MAP/* write/read PIO register */# define RTL_W8(reg, val8)      outb ((val8), ioaddr + (reg))# define RTL_W16(reg, val16)    outw ((val16), ioaddr + (reg))# define RTL_W32(reg, val32)    outl ((val32), ioaddr + (reg))# define RTL_R8(reg)            inb (ioaddr + (reg))# define RTL_R16(reg)           inw (ioaddr + (reg))# define RTL_R32(reg)           ((unsigned long) inl (ioaddr + (reg)))#else/* write/read MMIO register */# define RTL_W8(reg, val8)      writeb ((val8), ioaddr + (reg))# define RTL_W16(reg, val16)    writew ((val16), ioaddr + (reg))# define RTL_W32(reg, val32)    writel ((val32), ioaddr + (reg))# define RTL_R8(reg)            readb (ioaddr + (reg))# define RTL_R16(reg)           readw (ioaddr + (reg))# define RTL_R32(reg)           ((unsigned long) readl (ioaddr + (reg)))#endif //end #ifdef RTL_IO_MAP#ifdef RTL8180_ASSERT_DEBUG_ENABLE#  define assert(expr) \        if(!(expr)) {						\        printk( "Assertion failed! %s at ......\n", #expr);	\        printk( "      ......%s,%s,line=%d\n",__FILE__,__FUNCTION__,__LINE__);	\        }#else#  define assert(expr) do {} while (0)#endif#define PRINT_DATA(desc,pData,len)\{\	int	i;\	printk("RTL8180: In %s() ---- %s (hex)", __FUNCTION__, desc); \	for(i=0;i<len;i++){\		if((i%16)==0)printk("\n      ");\		printk("0x%02x ", (pData)[i]);\	}\	printk("\n");\}//----------------------------------------------------------------------------------------------// Define debug printk//----------------------------------------------------------------------------------------------#define RTL_DDEBUG_ERR		0x10#define RTL_DDEBUG_INFO		0x02#define RTL_DDEBUG_OUTINFO	0x01#define RTL_DDEBUG_NONE		0x00extern char wlan_debug;#ifdef ENABLE_DBG_PRINT//----------------------------------------------------------------------------------------------#define	MLME_DPRINTK_ERR( fmt, args...)		if(wlan_debug & RTL_DDEBUG_ERR)printk("wlan0_MLME-%s " fmt, __FUNCTION__, ## args);#define	MLME_DPRINTK_INFO( fmt, args...)	if(wlan_debug & RTL_DDEBUG_INFO)printk("wlan0_MLME-%s " fmt, __FUNCTION__, ## args);#define	MLME_DPRINTK_OUTINFO( fmt, args...)	if(wlan_debug & RTL_DDEBUG_OUTINFO)printk("RTL8180: " fmt, ## args);#define	RX_DPRINTK_ERR( fmt, args...)		if(wlan_debug & RTL_DDEBUG_ERR)printk("wlan0_RX-%s " fmt, __FUNCTION__, ## args);#define	RX_DPRINTK_INFO( fmt, args...)		if(wlan_debug & RTL_DDEBUG_INFO)printk("wlan0_RX-%s " fmt, __FUNCTION__, ## args);#define	RX_DPRINTK_OUTINFO( fmt, args...)	if(wlan_debug & RTL_DDEBUG_OUTINFO)printk("RTL8180: " fmt, ## args);#define	TX_DPRINTK_ERR( fmt, args...)		if(wlan_debug & RTL_DDEBUG_ERR)printk("wlan0_TX-%s " fmt, __FUNCTION__, ## args);#define	TX_DPRINTK_INFO( fmt, args...)		if(wlan_debug & RTL_DDEBUG_INFO)printk("wlan0_TX-%s " fmt, __FUNCTION__, ## args);#define	TX_DPRINTK_OUTINFO( fmt, args...)	if(wlan_debug & RTL_DDEBUG_OUTINFO)printk("RTL8180: " fmt, ## args);#define	DPRINTK_ERR( fmt, args...)		if(wlan_debug & RTL_DDEBUG_ERR)printk("wlan0:%s " fmt, __FUNCTION__, ## args);#define	DPRINTK_INFO( fmt, args...)		if(wlan_debug & RTL_DDEBUG_INFO)printk("wlan0:%s " fmt, __FUNCTION__, ## args );#define	DPRINTK_OUTINFO( fmt, args...)		if(wlan_debug & RTL_DDEBUG_OUTINFO)printk("RTL8180: " fmt, ## args);#define	DPRINTK_OUTERR( fmt, args...)		printk("WLAN_DBG:" fmt, ## args);//----------------------------------------------------------------------------------------------#define EMILY_DPRINTK_OUTINFO( fmt, args...)          if(wlan_debug & RTL_DDEBUG_OUTINFO)printk(fmt, ## args);#else//----------------------------------------------------------------------------------------------#define	MLME_DPRINTK_ERR( fmt, args...)		;#define	MLME_DPRINTK_INFO( fmt, args...)	;#define	MLME_DPRINTK_OUTINFO( fmt, args...)	;#define	RX_DPRINTK_ERR( fmt, args...)		;#define	RX_DPRINTK_INFO( fmt, args...)		;#define	RX_DPRINTK_OUTINFO( fmt, args...)	;#define	TX_DPRINTK_ERR( fmt, args...)		;#define	TX_DPRINTK_INFO( fmt, args...)		;#define	TX_DPRINTK_OUTINFO( fmt, args...)	;#define	DPRINTK_ERR( fmt, args...)		;#define	DPRINTK_INFO( fmt, args...)		;#define	DPRINTK_OUTINFO( fmt, args...)		;#define	DPRINTK_OUTERR( fmt, args...)		printk("WLAN_DBG:" fmt, ## args);//----------------------------------------------------------------------------------------------#define EMILY_DPRINTK_OUTINFO( fmt, args...)    ;#endif //end #ifdef ENABLE_DBG_PRINT#endif //end #ifndef _INCLUDE_RTL8180_TYPE_H_

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -