| DOHOOKS(9) | Kernel Developer's Manual | DOHOOKS(9) |
dohooks — run all
hooks in a list
#include
<sys/types.h>
#include <sys/systm.h>
void
dohooks(struct
hook_desc_head *head, int
flags);
The
dohooks()
function invokes all hooks established using the
hook_establish(9) function. Hooks are called in the order
of the TAILQ that head points to, however
hook_establish(9) can put the hooks either at the head or
the tail of that queue, making it possible to call the hooks either in the
order of establishment, or its reverse.
The flags can specify HOOK_REMOVE to
remove already processed hooks from the hook list and
HOOK_FREE to also free them. In most cases either no
flags should be used or HOOK_REMOVE and
HOOK_FREE at the same time, since just HOOK_REMOVE
will drop the only reference to allocated memory and should only be used in
situations where freeing memory would be illegal and unnecessary.
This function is used to implement the dostartuphooks(9) macro.
| December 12, 2015 | Debian |