summaryrefslogtreecommitdiffstats
path: root/upstream/mageia-cauldron/man9/init_module.9
diff options
context:
space:
mode:
Diffstat (limited to 'upstream/mageia-cauldron/man9/init_module.9')
-rw-r--r--upstream/mageia-cauldron/man9/init_module.990
1 files changed, 90 insertions, 0 deletions
diff --git a/upstream/mageia-cauldron/man9/init_module.9 b/upstream/mageia-cauldron/man9/init_module.9
new file mode 100644
index 00000000..c582c168
--- /dev/null
+++ b/upstream/mageia-cauldron/man9/init_module.9
@@ -0,0 +1,90 @@
+.\" -*- nroff -*-
+.\"
+.\" copyright (C) 1997 Stephen Williams <steve@icarus.com>
+.\"
+.\" Permission is granted to make and distribute verbatim copies of this
+.\" manual provided the copyright notice and this permission notice are
+.\" preserved on all copies.
+.\"
+.\" Permission is granted to copy and distribute modified versions of this
+.\" manual under the conditions for verbatim copying, provided that the
+.\" entire resulting derived work is distributed under the terms of a
+.\" permission notice identical to this one
+.\"
+.\" Since the Linux kernel and libraries are constantly changing, this
+.\" manual page may be incorrect or out-of-date. The author(s) assume no
+.\" responsibility for errors or omissions, or for damages resulting from
+.\" the use of the information contained herein. The author(s) may not
+.\" have taken the same level of care in the production of this manual,
+.\" which is licensed free of charge, as they might when working
+.\" professionally.
+.\"
+.\" Formatted or processed versions of this manual, if unaccompanied by
+.\" the source, must acknowledge the copyright and authors of this work.
+.\"
+.TH init_module 9 "$Date:$" "Linux DDI" "Kernel Functions"
+.\"
+.\" Turn off hyphenation and right justification for the first sections.
+.hlm 0
+.na
+.\" The name should be formatted this way for apropos to work
+.SH NAME
+init_module, cleanup_module \- module load and unload functions
+.\"
+.\"
+.SH SYNOPSIS
+.B #include <linux/module.h>
+.br
+.B #include <linux/modversions.h>
+.sp
+.BI "int init_module(void);"
+.br
+.BI "void cleanup_module(void);"
+.HP
+.\"
+.\" Turn hyphenation and adjustment back on.
+.hlm 1
+.ad
+.SH DESCRIPTION
+These functions are not part of the kernel but entry points into
+loadable modules. These are the only symbols that must be externally
+defined in order to load a module into a running kernel.
+.PP
+When a module is loaded into a running kernel, the
+.BR init_module "(9)"
+function within that object file is called to set up the module. The
+implementation of that function initializes local features and
+uses functions such as
+.BR register_chrdev "(9)"
+to attach itself to the kernel. It then returns zero(0) if it
+succeeds. If there is a problem or the module decides that it cannot
+be loaded, it returns instead an error code (i.e.
+.IR -ENODEV )
+and the kernel releases the module again.
+.PP
+Once loaded, the
+.BR cleanup_module "(9)"
+function of a module is used by the kernel to remove the module
+again. The module detaches itself from the kernel and returns.
+.SH "RETURN VALUE"
+The
+.BR init_module "(9)"
+function returns 0 on success, or an error code <0 if the module
+cannot be initialized.
+.SH AVAILABILITY
+Linux 1.0+
+.SH "SEE ALSO"
+.hlm 0
+.na
+.BR MOD_INC_USE_COUNT "(9), " insmod "(1)"
+.ad
+.hlm 1
+.PP
+Also list some source files for the
+kernel that implement the functions of the page.
+.SH AUTHOR
+Stephen Williams <steve@icarus.com>
+.SH BUGS
+It is entirely up to the driver to be sure it is detached from the
+kernel when unloaded. If a module makes an error in this regard, bad
+things may happen.