.\" Copyright (c) 2000 Jonathan Lemon .\" All rights reserved. .\" .\" 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 ``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 AUTHOR 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. .\" .\" %FreeBSD: src/lib/libc/sys/kqueue.2,v 1.40 2004/07/02 23:52:13 ru Exp % .\" .\" $FreeBSD$ .Dd April 14, 2000 .Dt KQUEUE 2 .Os .Sh ̾�� .Nm kqueue , .Nm kevent .Nd �����ͥ륤�٥�����Υᥫ�˥��� .Sh �饤�֥�� .Lb libc .Sh �� .In sys/types.h .In sys/event.h .In sys/time.h .Ft int .Fn kqueue "void" .Ft int .Fn kevent "int kq" "const struct kevent *changelist" "int nchanges" "struct kevent *eventlist" "int nevents" "const struct timespec *timeout" .Fn EV_SET "&kev" ident filter flags fflags data udata .Sh ���� .Fn kqueue �����ƥॳ����ϡ��ե��륿�ȸƤФ�뾮���ʥ����ͥ륳���ɤμ¹Է�̤˴�Ť��� ���٥�Ȥ�ȯ���䤢����֤���Ω��桼�������Τ������Ū����ˡ�����ޤ��� kevent �� (ident, filter) �Υڥ��ˤ�äƼ��̤���ޤ��� �����ǡ�ident �ϼ��̻ҡ�filter �ϥե��륿��ɽ���ޤ��� 1 �Ĥ� kqueue �ˤϡ�Ʊ�� kevent ��ʣ��¸�ߤ��뤳�ȤϤǤ��ޤ��� .Pp �ե��륿�ϡ�kevent �ν����Ͽ���� ��������¸�ߤ������֤Ф��뤿��˼¹Ԥ���ޤ��� �ޤ������륤�٥�Ȥ�ɾ���Τ���˥ե��륿���Ϥ���뤿�Ӥ˼¹Ԥ���ޤ��� ���֤���𤹤٤��ȥե��륿�����ꤷ�����ˤϡ� ���� kevent �ϥ桼��������Ǥ���褦�� kqueue ���֤���ޤ��� .Pp �桼���� kqueue ���� kevent �������褦�Ȥ����Ȥ��ˤ⡢ �ե��륿���¹Ԥ���ޤ��� �ե��륿�μ¹Ԥˤ�ꡢ���Υ��٥�Ȥ�ȥꥬ�������֤���Ω���Ƥ��ʤ����� �������줿���ˤϡ����� kevent �� kqueue ���������졢 �桼�����Ϥ���ޤ��� .Pp �ե��륿��ȥꥬ���륤�٥�Ȥ�ʣ��������Ǥ⡢ kqueue ����� kevent ��ʣ���֤����櫓�ǤϤ���ޤ��� ����ˡ��ե��륿��ʣ���Υ��٥�Ȥ�ñ��� kevent ��¤�Τؽ���ޤ��� �ե����뵭�һҤ��Ф��� .Fn close �θƤӽФ��ϡ����ε��һҤȤ��Ƥ��뤢���� kevent �������ޤ��� .Pp .Fn kqueue �����ƥॳ����Ͽ����Υ����ͥ륤�٥�ȥ��塼���������Ƶ��һҤ��֤��ޤ��� ���塼�� .Xr fork 2 ���������줿�ҥץ������ˤϷѾ�����ޤ��� �������ʤ��顢 .Dv RFFDG �ե饰�ʤ��� .Xr rfork 2 ���ƤӽФ��줿���ˤϡ����һҥơ��֥뤬��ͭ���졢2 �Ĥ� �ץ������֤� kqueue �ζ�ͭ����ǽ�ˤʤ�ޤ��� .Pp .Fn kevent �����ƥॳ����ϡ����塼�˥��٥�Ȥ���Ͽ������α��Τ����륤�٥�Ȥ� �桼�����֤�����˻��Ѥ���ޤ��� .Fa changelist ������ .Va kevent ��¤�Τ�����ؤΥݥ��Ǥ��� ���ι�¤�Τ� .In sys/event.h ���������Ƥ��ޤ��� ��α��Υ��٥�Ȥ塼�����ɤ�����ˡ� .Fa changelist �˴ޤޤ�Ƥ������Ƥ��ѹ���Ŭ�Ѥ��ޤ��� .Fa nchanges ������ .Fa changelist ���礭����Ϳ���ޤ��� .Fa eventlist ������ kevent ��¤�Τ�����ؤΥݥ��Ǥ��� .Fa nevents ������ .Fa eventlist ���礭������ꤷ�ޤ��� .Fa nevents �� 0 �λ��ˤϡ� .Xr select 2 �Ȥϰ�äơ����Ȥ� .Fa timeout ��������Ǥ� .Fn kevent �Ϥ��������ޤ��� .Fa timeout �� NULL �Ǥʤ��ݥ��ξ��ˤϡ�timespec ��¤�ΤǤ���Ȳ�ᤵ��ơ� ���٥�Ȥ��Ԥĺ����Ԥ����֤���ꤷ�ޤ��� .Fa timeout �� NULL �ݥ��ξ��ˤϡ� .Fn kevent ��̵���¤��Ԥ��ޤ��� �ݡ���θ��̤����뤿��ˤϡ� .Fa timeout �����ˡ�0 �� .Va timespec ��¤�Τ�ؤ��� NULL �Υݥ���Ϳ����٤��Ǥ��� .Fa changelist �� .Fa eventlist �Ѥ�Ʊ�������Ȥ����Ȥ��Ǥ��ޤ��� .Pp .Fn EV_SET �ޥ����� kevent ��¤�Τν�������ñ�ˤ��뤿����Ѱդ���Ƥ��ޤ��� .Pp .Va kevent ��¤�Τϼ��Τ褦���������Ƥ��ޤ�: .Bd -literal struct kevent { uintptr_t ident; /* ���Υ��٥�Ȥμ��̻� */ short filter; /* ���٥�ȤΥե��륿 */ u_short flags; /* kqueue �Υ��������ե饰 */ u_int fflags; /* �ե��륿�ե饰�� */ intptr_t data; /* �ե��륿�ǡ����� */ void *udata; /* ��Ʃ���ʥ桼���ǡ������̻� */ }; .Ed .Pp .Fa struct kevent �Υե�����ɤϰʲ��ΤȤ���Ǥ�: .Bl -tag -width XXXfilter .It ident ���Υ��٥�Ȥ��̤��뤿��˻��Ѥ�����ͤǤ��� ��̩�ʲ��Ϸ���դ���줿�ե��륿�ˤ����ꤵ��ޤ����� ���̤ϥե����뵭�һҤȤ��Ʋ�ᤵ��ޤ��� .It filter ���Υ��٥�Ȥ�������뤿��˻��Ѥ���륫���ͥ�ե��륿���̤��ޤ��� ���餫����������줿�����ƥ�ե��륿�ϸ�Ҥ��Ƥ���ޤ��� .It flags ���٥��ȯ�����˼¹Ԥ���٤����������Ǥ��� .It fflags �ե��륿��ͭ�Υե饰�Ǥ��� .It data �ե��륿��ͭ�Υǡ������ͤǤ��� .It udata �ѹ����줺�˥����ͥ���̤����Ϥ������Ʃ���ʥ桼��������ͤǤ��� .El .Pp .Va flags �ե�����ɤϰʲ����ͤ�ޤळ�Ȥ��Ǥ��ޤ�: .Bl -tag -width XXXEV_ONESHOT .It EV_ADD ���٥�Ȥ� kqueue ���ɲä��ޤ��� ��¸�Υ��٥�Ȥ�Ƥ��ɲä���ȡ����Υ��٥�ȤΥѥ������ѹ�����ޤ��� ��ʣ���륨��ȥ꤬�Ǥ���櫓�ǤϤ���ޤ��� ���٥�Ȥ��ɲä���ȡ�EV_DISABLE �ե饰�ˤ�äƾ����ʤ��¤�� ��ưŪ��ͭ���ˤ���ޤ��� .It EV_ENABLE ���٥�Ȥ��ȥꥬ���줿���ˡ� .Fn kevent �����Υ��٥�Ȥ��֤����Ȥ���Ĥ��ޤ��� .It EV_DISABLE ���٥�Ȥ�̵���ˤ��ޤ��� ����ˤ�� .Fn kevent �Ϥ��Υ��٥�Ȥ��֤��ʤ��ʤ�ޤ��� �ե��륿���Ȥ�̵���ˤ���ޤ��� .It EV_DELETE kqueue ���饤�٥�Ȥ������ޤ��� �ե����뵭�һҤ˷���դ����Ƥ��륤�٥�Ȥϡ� ���ε��һҤκǸ�Υ����������˼�ưŪ�˺������ޤ��� .It EV_ONESHOT �ե��륿���ǽ�ȥꥬ���줿�Ȥ��ˤΤߡ����٥�Ȥ��֤�褦�ˤ��ޤ��� �桼�������٥�Ȥ� kqueue ������������ǡ����Υ��٥�ȤϺ������ޤ��� .It EV_CLEAR �桼�������٥�Ȥ���������ˡ����ξ��֤�ꥻ�åȤ��ޤ��� ����ϸ��ߤξ��֤ǤϤʤ������֤��Ѳ�����𤹤�ե��륿��ͭ�ѤǤ��� ���Ĥ��Υե��륿�������Ǥ��Υե饰��ưŪ�˥��åȤ��Ƥ��� ���⤷��ʤ����Ȥ����դ��Ƥ��������� .It EV_EOF ���Υե��륿��ͭ�� EOF ���֤Ǥ��뤳�Ȥ�����ˡ� �ե��륿�����Υե饰�åȤ��뤳�Ȥ�����ޤ��� .It EV_ERROR ��Ҥ� .Sx ����� �Ȥ��Ƥ��������� .El .Pp ���餫����������줿�����ƥ�ե��륿�˼����ޤ��� ������ kevent ��¤�Τ� .Va fflags ����� .Va data �ե�����ɤ��ͳ���Ƥ��Ȥꤹ�뤳�Ȥ��Ǥ��ޤ��� .Bl -tag -width EVFILT_SIGNAL .It EVFILT_READ ���̻Ҥ˵��һҤ�����Ȥ��Ƽ��ޤ��� �ɼ���ǽ�ʥǡ���������Ȥ������ޤ��� ���Υե��륿�ο��ϡ����ε��һҤη��ˤ�꾯���ۤʤ�ޤ��� .Pp .Bl -tag -width 2n .It �����å� ������ .Fn listen ���Ϥ��줿�����åȤξ�硢��α��μ�����³������Ȥ������ޤ��� .Va data �ˤ� listen �ΥХå����� (backlog) ���礭�������äƤ��ޤ��� .Pp ����¾�Υ����åȵ��һҤξ�硢�����åȥХåե��� .Dv SO_RCVLOWAT ���ͤ���ˤ��ơ��ɤ��ǡ���������Ȥ������ޤ��� �ե��륿���ɲä���Ȥ��ˡ� .Va fflags �� NOTE_LOWAT �����ꤷ .Va data �˿������������ͤ���ꤹ�뤳�Ȥˤ�ꡢ �����ͤ� �ե��륿���Ȥκ������ͤǾ���뤳�Ȥ���ǽ�Ǥ��� ���Ȥ��ˤϡ� .Va data �ˤ��ɼ���ǽ�ʥץ��ȥ���ǡ����ΥХ��ȿ������äƤ��ޤ��� .Pp �����åȤ��ɼ��¦�����Ǥ��줿���ˤϡ��ե��륿�� .Va flags �� EV_EOF �����ꤷ�ޤ��� �����ǥ��顼�����������ˤϡ� .Va fflags �˥����åȥ��顼���֤��ޤ��� �����åȥХåե��������α��Υǡ������ĤäƤ��Ƥ⡢ (��³���ڤ줿���Ȥ�) EOF ���֤���뤳�Ȥ�����ޤ��� .It vnode �ե�����ݥ����ե�����κǸ� (EOF) �Ǥʤ��Ȥ������ޤ��� .Va data �ϸ��߰��֤���ե�����κǸ� (EOF) �ޤǤΥ��ե��åȤ����äƤ��ޤ��� �����ͤ���Ǥ��뤫�⤷��ޤ��� .It "FIFO �ȥѥ���" �ɤ��٤��ǡ���������Ȥ������ޤ��� .Va data �ˤ�ͭ���ʥХ��ȿ������äƤ��ޤ��� .Pp �Ǹ�ν����¦�����Ǥ����Ȥ��ˡ��ե��륿�� .Va flags �� EV_EOF �åȤ��ޤ��� EV_CLEAR ���Ϥ����Ȥǡ����Υե饰�ꥢ���뤳�Ȥ��Ǥ��� �ե��륿�ϥǡ������ɤ��褦�ˤʤ�Τ���餺�˺Ƥ��Ԥ��ޤ��� .It "BPF �ǥХ���" BPF �Хåե������դˤʤä��Ȥ���BPF �����ॢ���Ȥ���λ�����Ȥ��� �ޤ��� BPF �� .Dq ľ�ܥ⡼�� ��ͭ�����ɤ߹���٤��ǡ���������Ȥ��ˡ����ޤ��� ���ΤȤ��� .Va data �ˤ����Ѳ�ǽ�ʥХ��ȿ�������ޤ��� .El .It EVFILT_WRITE ���̻Ҥ˵��һҤ�����Ȥ��Ƽ��ޤ��� ���ε��һҤ�����߲�ǽ�ˤʤ뤿�Ӥ����ޤ��� �����åȡ��ѥ��פ���� FIFO �Ǥϡ� .Va data �ˤϽ���ߥХåե��λĤ��ΰ���礭�������äƤ��ޤ��� �ɼ��¦�����Ǥ����Ȥ��ˡ��ե��륿�� EV_EOF �åȤ��ޤ��� FIFO �ξ�硢EV_CLEAR ��Ȥ�����ꥢ���뤳�Ȥ��Ǥ��ޤ��� ���Υե��륿�� vnode �ޤ��� BPF �ǥХ����ݡ��Ȥ��Ƥ��ʤ����Ȥ� ���դ��Ƥ��������� .Pp �����åȤξ�硢�������ͤ���ӥ����åȥ��顼�μ�갷���� EVFULT_READ �ξ���Ʊ���Ǥ��� .It EVFILT_AIO ��Ʊ����������� sigevent ��ʬ�Ρ� .Va sigev_notify_kqueue �ˤϥ��٥�Ȥ��ղä��� kqueue �ε��һҤ����졢 .Va sigev_value �ˤ� udata ���ͤ����졢 .Va sigev_notify �ˤ� SIGEV_KEVENT ������ơ���Ʊ��������������ޤ��� .Fn aio_* �����ƥॳ���뤬�ƤӽФ��줿�Ȥ������Υ��٥�Ȥ� ���ꤵ�줿 kqueue ����Ͽ����ޤ��� .Fn aio_* �����ƥॳ����ˤ�ä��֤��줿 .Fa struct aiocb �� .Va ident �����˥��åȤ��ޤ��� ���Υե��륿�� aio_error ��Ʊ�ͤξ������ޤ��� .Pp �̤���ˡ�Ȥ��ơ� .Va ident �� kqueue ���һҤ������ kevent ��¤�Τ��������� ���Υ��ɥ쥹����Ʊ����� .Va aio_lio_opcode �ե�����ɤ��֤����Ȥ��ǽ�Ǥ��� �������ʤ��顢���Υ��ץ������� 64 �ӥåȥݥ��Υ������ƥ�����Ǥ� ư��ʤ��Ǥ��礦�������Ƥˤ���٤��ǤϤ���ޤ��� .It EVFILT_VNODE �ե����뵭�һҤ��̻Ҥˡ��ƻ뤹�륤�٥�Ȥ� .Va fflags �˰����Ȥ��Ƽ��ޤ��� ���ꤷ�����һҤ��Ф��ᤵ�줿���٥�Ȥ� 1 �İʾ�ȯ�������Ȥ������ޤ��� �ƻ뤹�륤�٥�Ȥ�ʲ��˼����ޤ�: .Bl -tag -width XXNOTE_RENAME .It NOTE_DELETE ���һҤ����Ȥ���ե�������Ф� .Fn unlink �����ƥॳ���뤬�ƤФ�ޤ����� .It NOTE_WRITE ���һҤ����Ȥ���ե�������Ф�����ߤ�������ޤ����� .It NOTE_EXTEND ���һҤ����Ȥ���ե�����Υ���������ĥ����ޤ����� .It NOTE_ATTRIB ���һҤ����Ȥ���ե������°�����ѹ�����ޤ����� .It NOTE_LINK �ե�����Υ�����ѹ�����ޤ����� .It NOTE_RENAME ���һҤ����Ȥ���ե����뤬��͡��व��ޤ����� .It NOTE_REVOKE �ե�����ؤΥ��������� .Xr revoke 2 �ˤ�ä�̵���ˤ��줿�����⤷���ϡ������ؤΥե����륷���ƥब �ޥ���Ȥ���Ƥ��ޤ��� .El .Pp ���Ȥ��ˡ� .Va fflags �˥ե��륿��ȥꥬ�������٥�Ȥ����äƤ��ޤ��� .It EVFILT_PROC �ƻ뤹��ץ����� ID ���̻Ҥˡ��ƻ뤹�륤�٥�Ȥ� .Va fflags �˰����Ȥ��Ƽ��ޤ��� �ᤵ�줿���٥�Ȥ� 1 �İʾ�ץ��������¹Ԥ���Ȥ������ޤ��� ����ץ�������¾�Υץ�����������˸��뤳�Ȥ��Ǥ�����ˤϡ� ���٥�ȤΥץ������˷���դ��뤳�Ȥ��Ǥ��ޤ��� �ƻ뤹�륤�٥�Ȥ˼����ޤ�: .Bl -tag -width XXNOTE_TRACKERR .It NOTE_EXIT �ץ���������λ���ޤ����� .It NOTE_FORK �ץ������� .Fn fork ��ƤӤޤ����� .It NOTE_EXEC �ץ������� .Xr execve 2 �ޤ�������θƤӽФ��ˤ�ꡢ�����Υץ�������¹Ԥ��ޤ����� .It NOTE_TRACK .Fn fork �θƤӽФ���ۤ��ơ��ץ����������פ��ޤ��� �ƥץ������� .Va fflags �ե�����ɤ� NOTE_TRACK �åȤ�����ꡢ�������ҥץ������� .Va fflags �� NOTE_CHILD �� .Va data �˿ƥץ������� PID �åȤ����ޤ��� .It NOTE_TRACKERR ���Υե饰�ϡ������ƥब�ҥץ������ؤΥ��٥�Ȥ� ����դ��뤳�Ȥ��Ǥ��ʤ��ä��Ȥ������ޤ��� �̾����ϻ����¤ˤ�������ޤ��� .El .Pp ���Ȥ��ˡ� .Va fflags �ϥե��륿��ȥꥬ�������٥�Ȥ����äƤ��ޤ��� .It EVFILT_SIGNAL �ƻ뤹�륷���ʥ��ֹ���̻Ҥ˰����Ȥ��Ƽ��ޤ��� Ϳ����줿�����ʥ뤬�ץ��������������줿�Ȥ������ޤ��� ����� .Fn signal ����� .Fn sigaction �λ��Ȥߤȶ�¸�����㤤ͥ���̤���äƤ��ޤ��� ���Ȥ����Υ����ʥ뤬 SIG_IGN �ȥޡ�������Ƥ����Ȥ��Ƥ⡢ �ե��륿�ϥץ���������������褦�Ȥ��������ʥ����Ƥ�Ͽ���ޤ��� �̾�Υ����ʥ����������θ�ˡ����٥�����Τ�ȯ�����ޤ��� .Va data �ˤ� .Fn kevent ��Ǹ�˸ƤӽФ��Ƥ���Υ����ʥ�ȯ���β�����֤�ޤ��� ���Υե��륿�������Ǽ�ưŪ�� EV_CLEAR �ե饰�åȤ��ޤ��� .It EVFILT_TIMER .Va ident �Ǽ��̤���롢Ǥ�դΥ����ޤ����ꤷ�ޤ��� �����ޤ��ɲä����硢 .Va data �ϥ����ॢ���Ȥ�ߥ���ñ�̤ǻ��ꤷ�ޤ��� EV_ONESHOT ����ꤷ�ʤ��¤ꡢ�����ޤϼ���Ū�Ǥ��� .Va data �ˤϡ� .Fn kevent ��Ǹ�˸ƤӽФ��Ƥ���Υ����ॢ���Ȥβ�����֤�ޤ��� ���Υե��륿�������Ǽ�ưŪ�� EV_CLEAR �ե饰�åȤ��ޤ��� .It Dv EVFILT_NETDEV ���̻ҤȤ��ƥͥåȥ�����ե������ε��һҤ��ꡢ �ƻ뤹�륤�٥�Ȥ� .Va fflags �˼��ޤ��� ���һҾ���ᤵ�줿���٥�Ȥ� 1 �İʾ�ȯ�������Ȥ������ޤ��� �ƻ��ǽ�ʥ��٥�Ȥϼ����̤�Ǥ�: .Bl -tag -width XXNOTE_LINKDOWN .It Dv NOTE_LINKUP ������åס� .It Dv NOTE_LINKDOWN ��������� .It Dv NOTE_LINKINV ����֤�̵���� .El .Pp ���Ȥ����ե��륿��ȥꥬ�������٥�Ȥ� .Va fflags �˳�Ǽ����ޤ��� .El .Sh ����� .Fn kqueue �����ƥॳ����Ͽ����Υ����ͥ륤�٥�ȥ��塼���������� �ե����뵭�һҤ��֤��ޤ��� �����ͥ륤�٥�ȥ��塼���������˥��顼�����ä����ˤϡ� �� -1 ���֤���� errno �����åȤ���ޤ��� .Pp .Fn kevent �����ƥॳ����� .Fa eventlist ������Ƥ��륤�٥�Ȥο����֤��ޤ��� ���ο��ϡ����� .Fa nevents ��Ϳ����줿�ͤޤǤǤ��� .Fa changelist �����Ǥν�����˥��顼��ȯ���������� .Fa eventlist �˽�ʬ��;�Ϥ�������ˤϡ� .Va flags �� .Dv EV_ERROR �����åȤ��졢 .Va data �˥����ƥ२�顼�����åȤ��줿���٥�Ȥ��� .Fa eventlist ���֤���ޤ��� ����ʤ���С� .Dv -1 ���֤��졢 .Dv errno �����顼���֤�����˥��åȤ���ޤ��� �����ڤ�ξ��ˤϡ� .Fn kevent �� 0 ���֤��ޤ��� .Sh ���顼 .Fn kqueue �����ƥॳ����ϰʲ��ξ��˼��Ԥ��ޤ�: .Bl -tag -width Er .It Bq Er ENOMEM �����ͥ뤬�����ͥ륭�塼�Τ���ν�ʬ�ʥ���γ�����Ƥ˼��Ԥ��ޤ����� .It Bq Er EMFILE �ץ������ε��һҥơ��֥뤬���դǤ��� .It Bq Er ENFILE �����ƥ�ե�����ơ��֥뤬���դǤ��� .El .Pp .Fn kevent �ؿ��ϰʲ��ξ��˼��Ԥ��ޤ�: .Bl -tag -width Er .It Bq Er EACCES �ץ��������ե��륿����Ͽ���븢�¤���äƤ��ޤ��� .It Bq Er EFAULT .Va kevent ��¤�Τ��ɼ��ޤ��Ͻ���ߤǥ��顼������ޤ����� .It Bq Er EBADF ���ꤵ�줿���һҤ�ͭ���ǤϤ���ޤ��� .It Bq Er EINTR �����ڤ����䡢��뤿��β��餫�Υ��٥�Ȥ� kqueue �� �֤�������ˡ������ʥ뤬��������ޤ����� .It Bq Er EINVAL ���ꤵ�줿�������ߥåȤޤ��ϥե��륿��̵���Ǥ��� .It Bq Er ENOENT �����ޤ��Ϻ�������٤����٥�Ȥ����Ĥ���ޤ��� .It Bq Er ENOMEM ���٥����Ͽ�Τ���Υ��꤬����ޤ��� .It Bq Er ESRCH ����դ��뤿��˻��ꤷ���ץ�������¸�ߤ��ޤ��� .El .Sh ��Ϣ���� .Xr aio_error 2 , .Xr aio_read 2 , .Xr aio_return 2 , .Xr poll 2 , .Xr read 2 , .Xr select 2 , .Xr sigaction 2 , .Xr write 2 , .Xr signal 3 .Sh ��� .Fn kqueue ����� .Fn kevent �����ƥॳ����� .Fx 4.1 �ǤϤ�����о줷�ޤ����� .Sh ��� .Fn kqueue �����ƥ�ȡ����Υޥ˥奢��ڡ����� .An Jonathan Lemon Aq jlemon@FreeBSD.org ���ޤ����� .Sh �Х� ���ߤϡ�UFS �ե����륷���ƥ��°���ʤ� .Xr vnode 9 ��ƻ뤹�뤳�Ȥ��Ǥ��ޤ��� .Pp .Dv EVFILT_NETDEV �ե��륿������������Ƥ���Τϡ�LINKUP �� LINKDOWN ������ .Xr miibus 4 �ɥ饤�Ф���Ѥ��Ƥ���ǥХ������Ф��ƤΤߤǤ��� ���Τ��ᡢ�����ͥåȥǥХ������Ф��Ƥ�ư��ޤ��� .Pp .Fa timeout ���ͤ� 24 ���֤����¤���Ƥ��ޤ��� ���Ĺ�������ॢ���Ȥϰ��ۤΤ����� 24 ���֤Ȥ��ƺƲ�ᤵ��ޤ���