MODULE_DEPEND(9) BSD Kernel Developer's Manual MODULE_DEPEND(9)NAME
MODULE_DEPEND -- set kernel module dependencies
SYNOPSIS
#include <sys/param.h>
#include <sys/module.h>
MODULE_DEPEND(name, moddepend, int minversion, int prefversion, int maxversion);
DESCRIPTION
The MODULE_DEPEND() macro sets a dependency on another kernel module with name moddepend, which has registered its version with
MODULE_VERSION().
The MODULE_DEPEND() macro provides hints to the kernel loader(8) and to the kernel linker to ensure that the named dependency is loaded prior
to the existing module. It does not change or dictate the order in which modules are initialized at runtime.
Three versions must be specified for moddepend:
minversion The minimum version on which the current module can depend.
maxversion The maximum version on which the current module can depend.
prefversion The preferred version on which the current module can depend.
EXAMPLES
MODULE_DEPEND(foo, bar, 1, 3, 4);
SEE ALSO DECLARE_MODULE(9), module(9), MODULE_VERSION(9)AUTHORS
This manual page was written by Alexander Langer <alex@FreeBSD.org>.
BSD January 11, 2005 BSD
Check Out this Related Man Page
DECLARE_MODULE(9) BSD Kernel Developer's Manual DECLARE_MODULE(9)NAME
DECLARE_MODULE -- kernel module declaration macro
SYNOPSIS
#include <sys/param.h>
#include <sys/kernel.h>
#include <sys/module.h>
DECLARE_MODULE(name, moduledata_t data, sub, order);
DESCRIPTION
The DECLARE_MODULE() macro declares a generic kernel module. It is used to register the module with the system, using the SYSINIT() macro.
DECLARE_MODULE() is usually used within other macros, such as DRIVER_MODULE(9), DEV_MODULE(9) and SYSCALL_MODULE(9). Of course, it can also
be called directly, for example in order to implement dynamic sysctls.
The arguments it expects are:
name The module name, which will be used in the SYSINIT() call to identify the module.
data A moduledata_t structure, which contains two main items, the official name of the module name, which will be used in the module_t
structure and a pointer to the event handler function of type modeventhand_t.
sub An argument directed to the SYSINIT() macro. Valid values for this are contained in the sysinit_sub_id enumeration (see
<sys/kernel.h>) and specify the type of system startup interfaces. The DRIVER_MODULE(9) macro uses a value of SI_SUB_DRIVERS here
for example, since these modules contain a driver for a device. For kernel modules that are loaded at runtime, a value of
SI_SUB_EXEC is common.
order An argument for SYSINIT(). It represents the KLDs order of initialization within the subsystem. Valid values are defined in the
sysinit_elem_order enumeration (<sys/kernel.h>).
SEE ALSO DEV_MODULE(9), DRIVER_MODULE(9), module(9), SYSCALL_MODULE(9)
/usr/include/sys/kernel.h, /usr/share/examples/kld
AUTHORS
This manual page was written by Alexander Langer <alex@FreeBSD.org>, inspired by the KLD Facility Programming Tutorial by Andrew Reiter
<arr@watson.org>.
BSD January 6, 2005 BSD
I have one big module 2.6.18 kernel mod.c
I want to divide this to several files.
The problem is to write right Makefile
lib1.h
lib1.c
mod.c
mod.c works fine normally but when I divide into several files
and try to compile with this makefile
obj-m := mod.o
mod-objs := lib1.o
... (3 Replies)
How to implement hello world kernel module on ubuntu ?I want the hello.c and makefile file for the module and also steps for compilation and installation of the module.:wall: (1 Reply)
I have open suse kernel kernel 3.1.0-1.2-desktop on which I used kernel source 3.1.10-1.2 downloaded from kernel.org.
The module gets built.
While loading a kernel module I am getting Invalid module format error with description "first_driver: no symbol version for module_layout"
The... (5 Replies)