Quick Reference

This chapter introduced the following kernel symbols.

/etc/modules.conf

This is the configuration file for modprobe and depmod. It is used to configure demand loading and is described in the manpages for the two programs.

#include <linux/kmod.h> , int request_module(const char *name);

This function performs demand loading of modules.

void inter_module_register(const char *string, struct module *module, const void *data); , void inter_module_unregister(const char *);

inter_module_register makes data available to other modules via the inter-module communication system. When the data is no longer to be shared, inter_module_unregister will end that availability.

const void *inter_module_get(const char *string); , const void *inter_module_get_request(const char *string, const char *module); , void inter_module_put(const char *string);

The first two functions look up a string in the intermodule communication system; inter_module_get_request also attempts to load the given module if the string is not found. Both increment the usage count of the module that exported the string; inter_module_put should be called to decrement it when the data pointer is no longer needed.

#include <linux/config.h> , CONFIG_MODVERSIONS

This macro is defined only if the current kernel has been compiled to support versioned symbols.

#ifdef MODVERSIONS , #include <linux/modversions.h>

This header, which exists only if CONFIG_MODVERSIONS is valid, contains the versioned names for all the symbols exported by the kernel.

__GENKSYMS__

This macro is defined by make when preprocessing files to be read by genksyms to build new version codes. It is used to conditionally prevent inclusion of <linux/modversions.h> when building new checksums.

int call_usermodehelper(char *path, char *argv[], char *envp[]);

This function runs a user-mode program in the keventd process context.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset