HOOK_ESTABLISH(9) BSD Kernel Developer's Manual HOOK_ESTABLISH(9)
hook_establish, hook_disestablish -- add or remove a hook from a speci-
hook_establish(struct hook_desc_head *head, int tail, void (*fn)(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 unde-
The startup and mountroot 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), domountroothooks(9), dostartuphooks(9),
BSD December 10, 2014 BSD