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.

Get Linux Device Drivers, Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.