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.
|
The syscall number assigned to the module can be retrieved using the
modstat(3)
and
modfind(3)
library functions in libc.
The MACRO
SYSCALL_MODULE_HELPER()
includes
SYSCALL_MODULE()
and much of its boilerplate code.