NAME
moduload — unload a kernel module on demand
SYNOPSIS
#include <sys/mod.h>
int moduload(long module_id);
DESCRIPTION
moduload
allows users with appropriate privilege to demand unload one or all unloadable
modules from the running kernel. A module is considered
unloadable
if it is not currently in use, if no module depending on it is currently loaded,
and if the module is not being loaded or unloaded from the kernel. If
module_id
is set to 0 (zero),
moduload
attempts to unload all unloadable modules, otherwise
moduload
attempts to unload the module specified by
module_id.
NOTES
moduload
is currently implemented as a macro.
RETURN VALUE
On success,
moduload
returns 0, otherwise it returns -1 and sets
errno
to indicate the error.
ERRORS
moduload
fails if one or more of the following are true:
- [EINVAL]
module_id
does not correspond to any valid currently loaded kernel module.
- [EPERM]
The calling process does not have appropriate privilege.
- [EBUSY]
There are outstanding references to the module, or modules that depend
on this module are currently loaded, or profiling is enabled, or the module
is in the process of being loaded or unloaded from the kernel.
- [ENOSYS]
The Dynamically Loadable Kernel Module feature is not initialized.