NAME
mountroothook_establish
,
mountroothook_disestablish
—
add or remove a mountroot
hook
SYNOPSIS
#include
<sys/types.h>
#include <sys/systm.h>
void *
mountroothook_establish
(void
(*fn)(void *), void
*arg);
void
mountroothook_disestablish
(void
*cookie);
DESCRIPTION
The
mountroothook_establish
()
function adds fn to the list of hooks invoked by
domountroothooks(9) at mountroot. When invoked, the hook
function fn will be passed arg
as its only argument.
The
mountroothook_disestablish
()
function removes the hook described by the opaque pointer
cookie from the list of hooks to be invoked at
mountroot. If cookie is invalid, the result of
mountroothook_disestablish
() is undefined.
Mountroot hooks should be used to perform one-time activities that must happen immediately after the root filesystem has been mounted by the kernel, but before init(8) has been started.
Mountroot hooks are, like startup hooks, implemented via the more general dohooks(9) API.
RETURN VALUES
If successful, mountroothook_establish
()
returns an opaque pointer describing the newly established mountroot hook.
Otherwise, it returns NULL
.
EXAMPLES
It may be appropriate to use a mountroot hook to split the attach function of a device driver. Once the root filesystem is mounted, the hook will be called and it is safe to use loadfirmware(9) to get the firmware out of the filesystem.
SEE ALSO
BUGS
The names are clumsy, at best.