NAME
SYSCALL_MODULE — syscall kernel module declaration macroSYNOPSIS
#include <sys/param.h>#include <sys/kernel.h>
#include <sys/proc.h>
#include <sys/module.h>
#include <sys/sysent.h> SYSCALL_MODULE(name, int *offset, struct sysent *new_sysent, modeventhand_t evh, void *arg);
DESCRIPTION
The SYSCALL_MODULE() macro declares a new syscall. SYSCALL_MODULE() expands into a kernel module declaration with name ‘sys/name
’.
The rest of the arguments expected by this macro are:
- offset
- A pointer to an int which saves the offset in struct sysent where the syscall is allocated. If the location pointed to by offset holds a non 0 number it will be used if possible. If it holds 0 then one will be assigned.
- new_sysent
- is a pointer to a structure that specifies the function implementing the syscall and the number of arguments this function needs (see <sys/sysent.h>).
- evh
- A pointer to the kernel module event handler function with the argument arg. Please refer to module(9) for more information.
- arg
- The argument passed to the callback functions of the evh event handler when it is called.
EXAMPLES
A minimal example for a syscall module can be found in /usr/share/examples/kld/syscall/module/syscall.c.SEE ALSO
module(9) /usr/share/examples/kld/syscall/module/syscall.cAUTHORS
This manual page was written by Alexander Langer <[email protected]>.January 24, 2015 | Debian |