STARTUPHOOK_ESTABLISH(9) | Kernel Developer's Manual | STARTUPHOOK_ESTABLISH(9)

# NAME

`startuphook_establish`, `startuphook_disestablish` — add or remove a startup hook

# SYNOPSIS

`#include <sys/types.h>`
`#include <sys/systm.h>`

void *
`startuphook_establish`(void (*fn)(void *), void *arg);

void
`startuphook_disestablish`(void *cookie);

# DESCRIPTION

The `startuphook_establish`() function adds fn to the list of hooks invoked by dostartuphooks(9) at startup. When invoked, the hook function fn will be passed arg as its only argument.

The `startuphook_disestablish`() function removes the hook described by the opaque pointer cookie from the list of hooks to be invoked at startup. If cookie is invalid, the result of `startuphook_disestablish`() is undefined.

Startup hooks should be used to perform one-time activities that must happen immediately before the root and swap devices are configured, but after normal device autoconfiguration.

Startup hooks are implemented via the more general dohooks(9) API.

# RETURN VALUES

If successful, `startuphook_establish`() returns an opaque pointer describing the newly established startup hook. Otherwise, it returns `NULL`.

# SEE ALSO

dohooks(9), dostartuphooks(9)

# BUGS

The names are clumsy, at best.

December 10, 2014 | Debian