module.h

来自「<Linux1.0核心游记>电子书+书后源码+Linux1.0源码」· C头文件 代码 · 共 59 行

H
59
字号
/* * Dynamic loading of modules into the kernel. */#ifndef _LINUX_MODULE_H#define _LINUX_MODULE_H/* values of module.state */#define MOD_UNINITIALIZED 0#define MOD_RUNNING 1#define MOD_DELETED 2/* maximum length of module name */#define MOD_MAX_NAME 64/* maximum length of symbol name */#define SYM_MAX_NAME 60struct module {	struct module *next;	char *name;	int size;			/* size of module in pages */	void* addr;			/* address of module */	int state;	void (*cleanup)(void);		/* cleanup routine */};struct mod_routines {	int (*init)(void);		/* initialization routine */	void (*cleanup)(void);		/* cleanup routine */};struct kernel_sym {	unsigned long value;		/* value of symbol */	char name[SYM_MAX_NAME];	/* name of symbol */};extern struct module *module_list;/* * The first word of the module contains the use count. */#define GET_USE_COUNT(module)	(* (int *) (module)->addr)/* * define the count variable, and usage macros. */extern int mod_use_count_;#define MOD_INC_USE_COUNT      mod_use_count_++#define MOD_DEC_USE_COUNT      mod_use_count_--#define MOD_IN_USE	       (mod_use_count_ != 0)#endif

⌨️ 快捷键说明

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