diff options
Diffstat (limited to 'static/netbsd/man9/knote.9')
| -rw-r--r-- | static/netbsd/man9/knote.9 | 109 |
1 files changed, 109 insertions, 0 deletions
diff --git a/static/netbsd/man9/knote.9 b/static/netbsd/man9/knote.9 new file mode 100644 index 00000000..e8d29cec --- /dev/null +++ b/static/netbsd/man9/knote.9 @@ -0,0 +1,109 @@ +.\" $NetBSD: knote.9,v 1.17 2017/04/15 09:50:57 abhinav Exp $ +.\" +.\" Copyright (c) 2001, 2002, 2003 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This documentation is derived from text contributed by +.\" Luke Mewburn. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd February 18, 2004 +.Dt KNOTE 9 +.Os +.Sh NAME +.Nm knote , +.Nm KNOTE +.Nd raise kernel event +.Sh SYNOPSIS +.In sys/event.h +.Ft void +.Fn knote "struct klist *list" "long hint" +.Fn KNOTE "struct klist *list" "long hint" +.Sh DESCRIPTION +The +.Fn knote +function provides a hook into the kqueue kernel event notification +mechanism to allow sections of the kernel to raise a kernel event +in the form of a +.Sq knote , +which is a +.Fa struct knote +as defined in +.In sys/event.h . +.Pp +.Fn knote +takes a singly linked +.Fa list +of knotes, along with a +.Fa hint +(which is passed to the appropriate filter routine). +.Fn knote +then walks the +.Fa list +making calls to the filter routine for each knote. +As each knote contains a reference to the data structure that it is +attached to, the filter may choose to examine the data structure in +deciding whether an event should be reported. +The +.Fa hint +is used to pass in additional information, which may not be present in +the data structure that the filter examines. +.Pp +If the filter decides that the event should be returned, it returns a +non-zero value and +.Fn knote +links the knote onto the tail end of the active list in the +corresponding kqueue for the application to retrieve. +If the knote is already on the active list, no action is taken, but the +call to the filter occurs in order to provide an opportunity for the +filter to record the activity. +.Pp +.Fn knote +must not be called from interrupt contexts running at an interrupt +priority level higher than +.Xr splsched 9 . +.Pp +.Fn KNOTE +is a macro that calls +.Fn knote list hint +if +.Fa list +is not empty. +.\" .Sh ERRORS +.Sh SEE ALSO +.Xr kqueue 2 , +.Xr kfilter_register 9 +.Sh HISTORY +The +.Fn knote +and +.Fn KNOTE +functions first appeared in +.Fx 4.1 , +and then in +.Nx 2.0 . +.Sh AUTHORS +The +.Xr kqueue 2 +system was written by +.An Jonathan Lemon Aq Mt jlemon@FreeBSD.org . |
