| Main index | Section 9 | Options |
#include <sys/sysent.h>
struct syscall_helper_data {
struct sysent new_sysent;
struct sysent old_sysent;
int syscall_no;
int registered;
};
The only valid flag for the flags argument to syscall_helper_register() is SY_THR_STATIC. This flag prevents the syscall from being unregistered.
Before use, the structure must be initialized with one of the SYSCALL_INIT_HELPER*() macros. In new code, syscall implementation functions shall be named sys_syscallname() and the regular macros shall be used.
For legacy syscall functions named without "sys_" prefixes, the "COMPAT" versions of the macros may be used.
The only valid flag for the flags argument to the "F" variants of the initializer macros is SYF_CAPENABLED. This flag indicates that the syscall is allowed in capability mode.
The syscall_helper_unregister() unregisters a system call. This function takes the same structure struct syscall_helper_data sd that was previously initialized in the manner described above and used in a successful invocation of syscall_helper_register().
| [EINVAL] | |
| The flags argument contained a value other than SY_THR_STATIC. | |
| [EINVAL] | |
| The specified syscall number, sd.syscall_no ( SYS_syscallname), was outside of the valid range of system call numbers (zero through SYS_MAXSYSCALL). | |
| [ENFILE] | |
| The system call table does not have any available slots. | |
| [EEXIST] | |
| The specified syscall number, sd.syscall_no ( SYS_syscallname), was already in use. | |
| SYSCALL_HELPER_REGISTER (9) | February 10, 2018 |
| Main index | Section 9 | Options |
Please direct any comments about this manual page service to Ben Bullock. Privacy policy.
| “ | A typical Unix /bin or /usr/bin directory contains a hundred different kinds of programs, written by dozens of egotistical programmers, each with its own syntax, operating paradigm, rules of use ... strategies for specifying options, and different sets of constraints. | ” |
| — The Unix Haters' handbook | ||