module.h
来自「rtlinux-3.2源码」· C头文件 代码 · 共 64 行
H
64 行
/* * module.h compatibility header */#ifndef _COMPAT_MODULE_H#define _COMPAT_MODULE_H#include <linux/version.h>#if LINUX_VERSION_CODE < 0x020115#define MODULE_AUTHOR(a)#define MODULE_DESCRIPTION(a)#define MODULE_PARM(a,b)#endif#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,10)#define MODULE_LICENSE(x)#endif#if LINUX_VERSION_CODE < KERNEL_VERSION(2,2,18) /* ? */#if LINUX_VERSION_CODE < KERNEL_VERSION(2,1,0) #ifdef MODULE /* don't ask. It works. */ #define THIS_MODULE ((struct module *)&mod_use_count_) #else #define THIS_MODULE NULL #endif #define __MOD_INC_USE_COUNT(x) ((*(long *)(x))++, (*(long *)(x)) |= MOD_VISITED) #define __MOD_DEC_USE_COUNT(x) ((*(long *)(x))--, (*(long *)(x)) |= MOD_VISITED) #define EXPORT_SYMBOL(x)#else #ifdef MODULE #define THIS_MODULE &__this_module #else #define THIS_MODULE NULL #endif#endif#endif#if LINUX_VERSION_CODE < KERNEL_VERSION(2,2,18) /* ? */ typedef int (*__init_module_func_t)(void); typedef void (*__cleanup_module_func_t)(void); #define module_init(x) \ int init_module(void) __attribute__((alias(#x))); \ static inline __init_module_func_t __init_module_inline(void) \ { return x; } #define module_exit(x) \ void cleanup_module(void) __attribute__((alias(#x))); \ static inline __cleanup_module_func_t __cleanup_module_inline(void) \ { return x; }#endif#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,0)#define MODULE_DEVICE_TABLE(a,b) struct pci_device_id *module_device_table_unused = (b)#endif#include_next <linux/module.h>#endif /* _COMPAT_MODULE_H */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?