Quick Reference
This section summarizes the kernel functions, variables, macros, and
/proc files that we’ve touched on in this
chapter. It is meant to act as a reference. Each item is listed after
the relevant header file, if any. A similar section appears at the end
of every chapter from here on, summarizing the new symbols introduced
in the chapter.
-
__KERNEL__,MODULE Preprocessor symbols, which must both be defined to compile modularized kernel code.
-
__SMP__ A preprocessor symbol that must be defined when compiling modules for symmetric multiprocessor systems.
-
int init_module(void);,void cleanup_module(void); Module entry points, which must be defined in the module object file.
-
#include <linux/init.h>,module_init(init_function);,module_exit(cleanup_function); The modern mechanism for marking a module’s initialization and cleanup functions.
-
#include <linux/module.h> Required header. It must be included by a module source.
-
MOD_INC_USE_COUNT;,MOD_DEC_USE_COUNT;,MOD_IN_USE; Macros that act on the usage count.
- /proc/modules
The list of currently loaded modules. Entries contain the module name, the amount of memory each module occupies, and the usage count. Extra strings are appended to each line to specify flags that are currently active for the module.
-
EXPORT_SYMTAB; Preprocessor macro, required for modules that export symbols.
-
EXPORT_NO_SYMBOLS; Macro used to specify that the module exports no symbols to the kernel.
-
EXPORT_SYMBOL ...