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

📄 hostap_compat.h

📁 IEEE 802.11a/b/g linux2.4/2.6 驱动程序源代码
💻 H
字号:
#ifndef HOSTAP_COMPAT_H#define HOSTAP_COMPAT_H#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,5,47))#define NEW_MODULE_CODE#endif#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,5,44))#define HOSTAP_QUEUE struct tq_struct#define PRISM2_SCHEDULE_TASK(q) \MOD_INC_USE_COUNT; \if (schedule_task((q)) == 0) \	MOD_DEC_USE_COUNT;static inline void flush_scheduled_work(void){	flush_scheduled_tasks();}static inline void INIT_WORK(struct tq_struct *tq,			     void (*routine)(void *), void *data){	INIT_LIST_HEAD(&tq->list);	tq->sync = 0;	tq->routine = routine;	tq->data = data;}#else /* kernel < 2.5.44 */#define HOSTAP_QUEUE struct work_struct#ifdef NEW_MODULE_CODE#define PRISM2_SCHEDULE_TASK(q) schedule_work(q);#else /* NEW_MODULE_CODE */#define PRISM2_SCHEDULE_TASK(q) \MOD_INC_USE_COUNT; \if (schedule_work((q)) == 0) \	MOD_DEC_USE_COUNT;#endif /* NEW_MODULE_CODE */#endif /* kernel < 2.5.44 */#define HOSTAP_TASKLET struct tasklet_struct#define HOSTAP_TASKLET_INIT(q, f, d) \do { memset((q), 0, sizeof(*(q))); (q)->func = (f); (q)->data = (d); } \while (0)#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,4,19))#define yield() schedule()#endif/* Interrupt handler backwards compatibility for Linux < 2.5.69 */#ifndef IRQ_NONE#define IRQ_NONE#define IRQ_HANDLED#define IRQ_RETVAL(x)typedef void irqreturn_t;#endif#ifndef MODULE_LICENSE#define MODULE_LICENSE(var)#endif#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,4,23))#define free_netdev(dev) kfree(dev)#endif#ifndef offset_in_page#define offset_in_page(p) ((unsigned long) (p) & ~PAGE_MASK)#endif#ifdef __IN_PCMCIA_PACKAGE__#undef pcmcia_access_configuration_register#define pcmcia_access_configuration_register(handle, reg) \	CardServices(AccessConfigurationRegister, handle, reg)#undef pcmcia_register_client#define pcmcia_register_client(handle, reg) \	CardServices(RegisterClient, handle, reg)#undef pcmcia_deregister_client#define pcmcia_deregister_client(handle) \	CardServices(DeregisterClient, handle)#undef pcmcia_get_first_tuple#define pcmcia_get_first_tuple(handle, tuple) \	CardServices(GetFirstTuple, handle, tuple)#undef pcmcia_get_next_tuple#define pcmcia_get_next_tuple(handle, tuple) \	CardServices(GetNextTuple, handle, tuple)#undef pcmcia_get_tuple_data#define pcmcia_get_tuple_data(handle, tuple) \	CardServices(GetTupleData, handle, tuple)#undef pcmcia_parse_tuple#define pcmcia_parse_tuple(handle, tuple, parse) \	CardServices(ParseTuple, handle, tuple, parse)#undef pcmcia_get_configuration_info#define pcmcia_get_configuration_info(handle, config) \	CardServices(GetConfigurationInfo, handle, config)#undef pcmcia_request_io#define pcmcia_request_io(handle, req) \	CardServices(RequestIO, handle, req)#undef pcmcia_request_irq#define pcmcia_request_irq(handle, req) \	CardServices(RequestIRQ, handle, req)#undef pcmcia_request_configuration#define pcmcia_request_configuration(handle, req) \	CardServices(RequestConfiguration, handle, req)#undef pcmcia_release_configuration#define pcmcia_release_configuration(handle) \	CardServices(ReleaseConfiguration, handle)#undef pcmcia_release_io#define pcmcia_release_io(handle, req) \	CardServices(ReleaseIO, handle, req)#undef pcmcia_release_irq#define pcmcia_release_irq(handle, req) \	CardServices(ReleaseIRQ, handle, req)#undef pcmcia_release_window#define pcmcia_release_window(win) \	CardServices(ReleaseWindow, win)#undef pcmcia_get_card_services_info#define pcmcia_get_card_services_info(info) \	CardServices(GetCardServicesInfo, info)#undef pcmcia_report_error#define pcmcia_report_error(handle, err) \	CardServices(ReportError, handle, err)#endif /* __IN_PCMCIA_PACKAGE__ */struct device;#endif /* HOSTAP_COMPAT_H */

⌨️ 快捷键说明

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