NAME
if_addrhook_add
,
if_addrhook_del
,
if_detachhook_add
,
if_detachhook_del
,
if_linkstatehook_add
,
if_linkstatehook_del
—
interface event hook API
SYNOPSIS
#include
<net/if_var.h>
void
if_addrhook_add
(struct
ifnet *ifp, struct task
*t);
void
if_addrhook_del
(struct
ifnet *ifp, struct task
*t);
void
if_detachhook_add
(struct
ifnet *ifp, struct task
*t);
void
if_detachhook_del
(struct
ifnet *ifp, struct task
*t);
void
if_linkstatehook_add
(struct
ifnet *ifp, struct task
*t);
void
if_linkstatehook_del
(struct
ifnet *ifp, struct task
*t);
DESCRIPTION
The interface hook API allows for the registration of a task that will be called when an IP address change, link state, or detach event occurs on the specified interface. Tasks should be initialised with task_add(9) or TASK_INITIALIZER(9) before being used with the following functions.
The
if_addrhook_add
()
function registers the task t on the
ifp interface. The event will fire every time an IPv4
or IPv6 address change occurs on the interface until explicitly removed with
if_addrhook_del
().
The
if_addrhook_del
()
function removes the task t from the
ifp interface.
The
if_detachhook_add
()
function registers the task t on the
ifp interface. The event will fire when the interface
is being destroyed.
The
if_detachhook_del
()
function removes the task t from the
ifp interface.
The
if_linkstatehook_add
()
function registers the task t on the
ifp interface. The event will fire for every link
state change, or when the interface is brought up or down, until explicitly
removed with if_linkstatehook_del
().
The
if_linkstatehook_del
()
function removes the task t from the
ifp interface.
CONTEXT
if_addrhook_add
(),
if_addrhook_del
(),
if_detachhook_add
(),
if_detachhook_del
(),
if_linkstatehook_add
(), and
if_linkstatehook_del
() can be called during
autoconf, from process context, or from interrupt context.