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

📄 orinoco.h

📁 内核linux2.4.20,可跟rtlinux3.2打补丁 组成实时linux系统,编译内核
💻 H
字号:
/* orinoco.h *  * Common definitions to all pieces of the various orinoco * drivers */#ifndef _ORINOCO_H#define _ORINOCO_H/* To enable debug messages *///#define ORINOCO_DEBUG		3#if (! defined (WIRELESS_EXT)) || (WIRELESS_EXT < 10)#error "orinoco driver requires Wireless extensions v10 or later."#endif /* (! defined (WIRELESS_EXT)) || (WIRELESS_EXT < 10) */#define WIRELESS_SPY		// enable iwspy support#define ORINOCO_MAX_KEY_SIZE	14#define ORINOCO_MAX_KEYS	4typedef struct orinoco_key {	u16 len;	/* always store little-endian */	char data[ORINOCO_MAX_KEY_SIZE];} __attribute__ ((packed)) orinoco_key_t;typedef orinoco_key_t orinoco_keys_t[ORINOCO_MAX_KEYS];/*====================================================================*/struct orinoco_private {	void* card;	/* Pointer to card dependant structure */	/* card dependant extra reset code (i.e. bus/interface specific */	int (*card_reset_handler)(struct orinoco_private *);	spinlock_t lock;	long state;#define ORINOCO_STATE_INIRQ 0#define ORINOCO_STATE_DOIRQ 1	atomic_t queue_length;	/* Net device stuff */	struct net_device ndev;	struct net_device_stats stats;	struct iw_statistics wstats;	/* Hardware control variables */	hermes_t hw;	u16 txfid;	/* Capabilities of the hardware/firmware */	int firmware_type;#define FIRMWARE_TYPE_AGERE 1#define FIRMWARE_TYPE_INTERSIL 2#define FIRMWARE_TYPE_SYMBOL 3	int has_ibss, has_port3, prefer_port3, has_ibss_any, ibss_port;	int has_wep, has_big_wep;	int has_mwo;	int has_pm;	int has_preamble;	int need_card_reset, broken_reset, broken_allocate;	u16 channel_mask;	/* Current configuration */	u32 iw_mode;	int port_type, allow_ibss;	u16 wep_on, wep_restrict, tx_key;	orinoco_keys_t keys;	int bitratemode; 	char nick[IW_ESSID_MAX_SIZE+1];	char desired_essid[IW_ESSID_MAX_SIZE+1];	u16 frag_thresh, mwo_robust;	u16 channel;	u16 ap_density, rts_thresh;	u16 pm_on, pm_mcast, pm_period, pm_timeout;	u16 preamble;	int promiscuous, mc_count;#ifdef WIRELESS_SPY	int			spy_number;	u_char			spy_address[IW_MAX_SPY][ETH_ALEN];	struct iw_quality	spy_stat[IW_MAX_SPY];#endif	/* /proc based debugging stuff */	struct proc_dir_entry *dir_dev;	struct proc_dir_entry *dir_regs;	struct proc_dir_entry *dir_recs;};/*====================================================================*/extern struct list_head orinoco_instances;#ifdef ORINOCO_DEBUGextern int orinoco_debug;#define DEBUG(n, args...) do { if (orinoco_debug>(n)) printk(KERN_DEBUG args); } while(0)#define DEBUGMORE(n, args...) do { if (orinoco_debug>(n)) printk(args); } while (0)#else#define DEBUG(n, args...) do { } while (0)#define DEBUGMORE(n, args...) do { } while (0)#endif	/* ORINOCO_DEBUG */#define TRACE_ENTER(devname) DEBUG(2, "%s: -> " __FUNCTION__ "()\n", devname);#define TRACE_EXIT(devname)  DEBUG(2, "%s: <- " __FUNCTION__ "()\n", devname);#define RUP_EVEN(a) ( (a) % 2 ? (a) + 1 : (a) )/* struct net_device methods */extern int orinoco_init(struct net_device *dev);extern int orinoco_xmit(struct sk_buff *skb, struct net_device *dev);extern void orinoco_tx_timeout(struct net_device *dev);extern int orinoco_ioctl(struct net_device *dev, struct ifreq *rq, int cmd);extern int orinoco_change_mtu(struct net_device *dev, int new_mtu);extern void orinoco_set_multicast_list(struct net_device *dev);/* utility routines */extern void orinoco_shutdown(struct orinoco_private *dev);extern int orinoco_reset(struct orinoco_private *dev);extern int orinoco_setup(struct orinoco_private* priv);extern int orinoco_proc_dev_init(struct orinoco_private *dev);extern void orinoco_proc_dev_cleanup(struct orinoco_private *priv);extern void orinoco_interrupt(int irq, void * dev_id, struct pt_regs *regs);#endif /* _ORINOCO_H */

⌨️ 快捷键说明

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