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.