|
HOOK_ESTABLISH(9)
Contents
|
hook_establish, hook_disestablish - add or remove a hook
from a specified
list
#include <sys/types.h>
#include <sys/systm.h>
void *
hook_establish(struct hook_desc_head *head, int tail, void
(*fn)(void *),
void *arg);
void
hook_disestablish(struct hook_desc_head *head, void
*cookie);
The hook_establish() function adds fn to the list of hooks
invoked by
dohooks(9). If tail is non-zero, the hook is added to the
tail of the
list denoted by the TAILQ_HEAD pointer head, otherwise to
the front. The
dohooks(9) function will at its invocation call each hook
from the front
of this list. When invoked, the hook function fn will be
passed arg as
its only argument.
The hook_disestablish() function removes the hook described
by the opaque
pointer cookie from the list of hooks denoted by the
TAILQ_HEAD pointer
head. If cookie is invalid, the result of
hook_disestablish() is undefined.
Both the startup- and shutdownhooks systems use this API for
their implementation.
If successful, hook_establish() returns an opaque pointer
describing the
newly established hook. Otherwise, it returns NULL.
dohooks(9), doshutdownhooks(9), dostartuphooks(9),
shutdownhook_establish(9), startuphook_establish(9)
OpenBSD 3.6 July 27, 2001
[ Back ] |