KFILTER_REGISTER(9) NetBSD Kernel Developer's Manual KFILTER_REGISTER(9)
NAMEkfilter_register, kfilter_unregister -- add or remove kernel event fil-
ters
SYNOPSIS#include <sys/event.h>intkfilter_register(const char *name, struct filterops *filtops,
int *retfilter);
intkfilter_unregister(const char *name);
DESCRIPTION
The kfilter_register() function adds a new kernel event filter (kfilter)
to the system, for use by callers of kqueue(2) and kevent(2). name is
the name of the new filter (which must not already exist), and filtops is
a pointer to a filterops structure which describes the filter operations.
Both name and filtops will be copied to an internal data structure, and a
new filter number will be allocated. If retfilter is not NULL, then the
new filter number will be returned in the address pointed at by
retfilter.
The kfilter_unregister() function removes a kfilter named name that was
previously registered with kfilter_register(). If a filter with the same
name is later reregistered with kfilter_register(), it will get a differ-
ent filter number (i.e., filter numbers are not recycled). It is not
possible to unregister the system filters (i.e., those that start with
``EVFILT_'' and are documented in kqueue(2)).
The filterops structure is defined as follows:
struct filterops {
int f_isfd; /* true if ident == filedescriptor */
int (*f_attach)(struct knote *kn);
/* called when knote is ADDed */
void (*f_detach)(struct knote *kn);
/* called when knote is DELETEd */
int (*f_event)(struct knote *kn, long hint);
/* called when event is triggered */
};
If the filter operation is for a file descriptor, f_isfd should be non-
zero, otherwise it should be zero. This controls where the kqueue(2)
system stores the knotes for an object.
RETURN VALUESkfilter_register() returns 0 on success, EINVAL if there's an invalid
argument, or EEXIST if the filter already exists,
kfilter_unregister() returns 0 on success, EINVAL if there's an invalid
argument, or ENOENT if the filter doesn't exist.
SEE ALSOkqueue(2), free(9), knote(9), malloc(9)HISTORY
The kfilter_register() and kfilter_unregister() functions first appeared
in NetBSD 2.0.
AUTHORS
The kfilter_register() and kfilter_unregister() functions were imple-
mented by Luke Mewburn <lukem@NetBSD.org>.
NetBSD 6.0.1 October 23, 2002 NetBSD 6.0.1

You can also request any man page by name and (optionally) by section:

Command:

Section:

Architecture:

Collection:

Use the DEFAULT collection to view manual pages
for third-party software.