Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

module_depend(9) [freebsd man page]

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

MODULE(9)						   BSD Kernel Developer's Manual						 MODULE(9)

NAME
module -- structure describing a kernel module DESCRIPTION
Each module in the kernel is described by a module_t structure. The structure contains the name of the device, a unique ID number, a pointer to an event handler function and to an argument, which is given to the event handler, as well as some kernel internal data. The DECLARE_MODULE(9) macro registers the module with the system. When the module is loaded, the event handler function is called with the what argument set to MOD_LOAD. On unload it is first called with what set to MOD_QUIESCE. If the unload was not forced, a non-zero return will prevent the unload from hap- pening. If the unload continues what is set to MOD_UNLOAD. If the module returns non-zero to this, the unload will not happen. The difference between MOD_QUIESCE and MOD_UNLOAD is that the module should fail MOD_QUIESCE if it is currently in use, whereas MOD_UNLOAD should only fail if it is impossible to unload the module, for instance because there are memory references to the module which cannot be revoked. When the system is shutting down, what contains the value of MOD_SHUTDOWN. The module should return EOPNOTSUPP for unsupported and unrecognized values of what. EXAMPLES
#include <sys/param.h> #include <sys/kernel.h> #include <sys/module.h> static int foo_handler(module_t mod, int /*modeventtype_t*/ what, void *arg); static moduledata_t mod_data= { "foo", foo_handler, NULL }; MODULE_VERSION(foo, 1); MODULE_DEPEND(foo, bar, 1, 3, 4); DECLARE_MODULE(foo, mod_data, SI_SUB_EXEC, SI_ORDER_ANY); SEE ALSO
DECLARE_MODULE(9), DEV_MODULE(9), DRIVER_MODULE(9), MODULE_DEPEND(9), MODULE_VERSION(9), SYSCALL_MODULE(9) /usr/share/examples/kld AUTHORS
This manual page was written by Alexander Langer <alex@FreeBSD.org>. BSD
July 19, 2007 BSD
Man Page

3 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Kernel module compilation problem

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)
Discussion started by: marcintom
3 Replies

2. UNIX for Dummies Questions & Answers

hello world kermel module

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)
Discussion started by: pratibha
1 Replies

3. UNIX for Dummies Questions & Answers

insmod: Invalid module format error

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)
Discussion started by: rupeshkp728
5 Replies