diff --git a/ja_JP.eucJP/man/man9/DECLARE_MODULE.9 b/ja_JP.eucJP/man/man9/DECLARE_MODULE.9 new file mode 100644 index 0000000000..a0a0b85c37 --- /dev/null +++ b/ja_JP.eucJP/man/man9/DECLARE_MODULE.9 @@ -0,0 +1,117 @@ +.\" -*- nroff -*- +.\" +.\" Copyright (c) 2000 Alexander Langer +.\" +.\" All rights reserved. +.\" +.\" This program is free software. +.\" +.\" 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 DEVELOPERS ``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 DEVELOPERS 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/share/man/man9/DECLARE_MODULE.9,v 1.2.2.3 2001/12/17 11:30:18 ru Exp % +.\" $FreeBSD$ +.\" +.Dd March 3, 2001 +.Dt DECLARE_MODULE 9 +.Os +.Sh ̾¾Î +.Nm DECLARE_MODULE +.Nd ¥«¡¼¥Í¥ë¥â¥¸¥å¡¼¥ëÀë¸À¥Þ¥¯¥í +.Sh ½ñ¼° +.In sys/module.h +.Fn DECLARE_MODULE "name" "moduledata_t data" "sub" "order" +.Sh ²òÀâ +.Fn DECLARE_MODULE +¥Þ¥¯¥í¤Ï°ìÈÌŪ¤Ê¥«¡¼¥Í¥ë¥â¥¸¥å¡¼¥ë¤òÀë¸À¤·¤Þ¤¹¡£ +¤³¤ì¤Ï +.Fn SYSINIT +¥Þ¥¯¥í¤ò»ÈÍѤ·¤Æ¡¢¤½¤Î¥â¥¸¥å¡¼¥ë¤ò¥·¥¹¥Æ¥à¤ËÅÐÏ¿¤·¤Þ¤¹¡£ +.Fn DECLARE_MODULE +¤ÏÄ̾ +.Xr DRIVER_MODULE 9 , +.Xr DEV_MODULE 9 +¤ª¤è¤Ó +.Xr SYSCALL_MODULE 9 +¤Î¤è¤¦¤Ê¾¤Î¥Þ¥¯¥í¤ÎÃæ¤Ç»ÈÍѤµ¤ì¤Þ¤¹¡£ +¤·¤«¤·¤Ê¤¬¤é¡¢Î㤨¤ÐưŪ¤Ê sysctl ¤ò¼ÂÁõ¤¹¤ë¤¿¤á¤Ë¡¢ +ľÀܸƤӽФµ¤ì¤ë¤³¤È¤¬¤â¤Á¤í¤ó²Äǽ¤Ç¤¹¡£ +.Pp +.Fn DECLARE_MODULE +¤Ø¤Î°ú¿ô¤Ï°Ê²¼¤Î¤È¤ª¤ê¤Ç¤¹¡£ +.Pp +.Fa name +¤Ï¥â¥¸¥å¡¼¥ë¤Î̾Á°¤Ç¡¢¤½¤Î¥â¥¸¥å¡¼¥ë¤ò¼±Ê̤¹¤ë¤¿¤á¤Ë +.Fn SYSINIT +¤Î¸Æ¤Ó½Ð¤·¤Ç»ÈÍѤµ¤ì¤Þ¤¹¡£ +.Pp +.Fa data +¤Ï 2 ¤Ä¤Î¼çÍפÊÍ×ÁǤò´Þ¤à +.Vt moduledata_t +¹½Â¤ÂΤؤΥݥ¤¥ó¥¿¤Ç¤¹¡£¤½¤ÎÍ×ÁǤϡ¢ +.Vt module_t +¹½Â¤ÂΤÎÃæ¤Ç»ÈÍѤµ¤ì¤ë¥â¥¸¥å¡¼¥ë̾¤ÎÀµ¼°Ì¾¾Î¤ª¤è¤Ó·¿ +.Vt modeventhand_t +¤Î¥¤¥Ù¥ó¥È¥Ï¥ó¥É¥é´Ø¿ô¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¹¡£ +.Pp +.Fa sub +¤Ï +.Fn SYSINIT +¥Þ¥¯¥í¤Ø¤ÎľÀܤΰú¿ô¤Ç¤¹¡£ +¤³¤Î¤¿¤á¤ÎÍ­¸ú¤ÊÃÍ¤Ï +.\" .Vt sysstem_sub_id XXX sysinit_sub_id ¤Î´Ö°ã¤¤? +.Vt sysinit_sub_id +Îóµó¤Ë +.Pa ( kernel.h +¤ò»²¾È) ´Þ¤Þ¤ì¤Æ¤¤¤Æ¡¢¥·¥¹¥Æ¥à¥¹¥¿¡¼¥È¥¢¥Ã¥×¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î·¿¤òÌÀ¼¨¤·¤Þ¤¹¡£ +Î㤨¤Ð +.Xr DRIVER_MODULE 9 +¥Þ¥¯¥í¤Ï¡¢¥É¥é¥¤¥Ð¥â¥¸¥å¡¼¥ë¤Ï¥Ç¥Ð¥¤¥¹¤Î¤¿¤á¤Î¥É¥é¥¤¥Ð¤ò´Þ¤ó¤Ç¤¤¤ë¤Î¤Ç¡¢¤³¤³¤Ë +.Dv SI_SUB_DRIVERS +¤ÎÃͤò»ÈÍѤ·¤Þ¤¹¡£ +¼Â¹Ô»þ¤Ë¥í¡¼¥É¤µ¤ì¤ë¥«¡¼¥Í¥ë¥â¥¸¥å¡¼¥ë¤Ë¤Ï¡¢ +.Dv SI_SUB_EXEC +¤ÎÃͤ¬¶¦Ä̤Ǥ¹¡£ +.Pp +.Fa order +¤ÎÃÍ¤Ï +.Fn SYSINIT +¤Î¤¿¤á¤Î¤â¤¦ 1 ¤Ä¤Î°ú¿ô¤Ç¤¹¡£ +¤³¤ì¤Ï KLD ¤Î¥µ¥Ö¥·¥¹¥Æ¥àÆâ¤Î½é´ü²½¤Î½ç½ø¤ò°ÕÌ£¤·¤Þ¤¹¡£ +Í­¸ú¤ÊÃÍ¤Ï +.Vt sysinit_elem_order +Îóµó +.Pa ( kernel.h +¤ò»²¾È) ¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ +.Sh ´ØÏ¢¹àÌÜ +.Xr DEV_MODULE 9 , +.Xr DRIVER_MODULE 9 , +.Xr module 9 , +.Xr SYSCALL_MODULE 9 +.Pp +.Pa /usr/include/sys/kernel.h , +.Pa /usr/share/examples/kld +.Sh ºî¼Ô +.An -nosplit +¤³¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ï +.An Andrew Reiter Aq arr@watson.org +¤¬½ñ¤¤¤¿ KLD Facility Programming Tutorial ¤Ë¿¨È¯¤µ¤ì¤Æ¡¢ +.An Alexander Langer Aq alex@FreeBSD.org +¤¬½ñ¤­¤Þ¤·¤¿¡£ diff --git a/ja_JP.eucJP/man/man9/DELAY.9 b/ja_JP.eucJP/man/man9/DELAY.9 new file mode 100644 index 0000000000..2b776f4ddd --- /dev/null +++ b/ja_JP.eucJP/man/man9/DELAY.9 @@ -0,0 +1,47 @@ +.\" +.\" Copyright (c) 2000 Alfred Perlstein +.\" +.\" All rights reserved. +.\" +.\" This program is free software. +.\" +.\" 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 DEVELOPERS ``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 DEVELOPERS 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/share/man/man9/DELAY.9,v 1.1.2.3 2001/12/17 11:30:18 ru Exp % +.\" $FreeBSD$ +.\" +.Dd November 21, 2000 +.Os +.Dt DELAY 9 +.Sh ̾¾Î +.Nm DELAY +.Nd »þ´Ö´Ö³Ö¤Î¤¿¤á¤Î¥Ó¥¸¡¼¥ë¡¼¥× +.Sh ½ñ¼° +.In machine/clock.h +.Ft void +.Fn DELAY "int delay" +.Sh ²òÀâ +.Fa delay +¥Þ¥¤¥¯¥íÉà (1/1000000 ÉÃ) ´ÖÃٱ䤷¤Þ¤¹¡£ +.Sh ºî¼Ô +¤³¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ï +.An Alfred Perlstein +¤¬½ñ¤­¤Þ¤·¤¿¡£ diff --git a/ja_JP.eucJP/man/man9/DEVICE_IDENTIFY.9 b/ja_JP.eucJP/man/man9/DEVICE_IDENTIFY.9 new file mode 100644 index 0000000000..233c57df25 --- /dev/null +++ b/ja_JP.eucJP/man/man9/DEVICE_IDENTIFY.9 @@ -0,0 +1,95 @@ +.\" -*- nroff -*- +.\" +.\" Copyright (c) 2001 Alexander Langer +.\" +.\" All rights reserved. +.\" +.\" This program is free software. +.\" +.\" 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 DEVELOPERS ``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 DEVELOPERS 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/share/man/man9/DEVICE_IDENTIFY.9,v 1.2.2.5 2002/03/19 18:24:16 schweikh Exp % +.\" $FreeBSD$ +.Dd March 10, 2001 +.Dt DEVICE_IDENTIFY 9 +.Os +.Sh ̾¾Î +.Nm DEVICE_IDENTIFY +.Nd ¥Ç¥Ð¥¤¥¹¤Î¼±Ê̤Ȥ½¤ÎÅÐÏ¿ +.Sh ½ñ¼° +.In sys/param.h +.In sys/bus.h +.Ft void +.Fn DEVICE_IDENTIFY "driver_t *driver" "device_t parent" +.Sh ²òÀâ +¥Ç¥Ð¥¤¥¹¤Î¤¿¤á¤Î¼±ÊÌ´Ø¿ô¤Ï¡¢Î㤨¤Ð ISA ¥Ð¥¹¤Ê¤É¤Î¡¢»Ò¥Ç¥Ð¥¤¥¹¤òÆÈΩ¤·¤Æ +¼±Ê̤Ǥ­¤Ê¤¤¥Ð¥¹¾å¤Î¥Ç¥Ð¥¤¥¹¤Î¤¿¤á¤Ë¤À¤±É¬ÍפȤµ¤ì¤Þ¤¹¡£ +¤³¤ì¤Ï¥Ç¥Ð¥¤¥¹¤òǧ¼± (ÂçÄñ¤Ï¥Ï¡¼¥É¥¦¥§¥¢¤ÎÆÃÄê¤Î¥ì¥¸¥¹¥¿¤Ë +¥¢¥¯¥»¥¹¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¹Ô¤ï¤ì¤Þ¤¹) ¤·¡¢ +¤½¤Î¥Ç¥Ð¥¤¥¹¤Ë´Ø¤·¤Æ¥«¡¼¥Í¥ë¤ËÄÌÃΤ·¡¢ +¿·¤·¤¤¥Ç¥Ð¥¤¥¹¤Î¼ÂÂΤòºîÀ®¤¹¤ë¤¿¤á¤Ë¡¢»ÈÍѤµ¤ì¤Þ¤¹¡£ +.Pp +.Xr BUS_ADD_CHILD 9 +¤Ï¥Ð¥¹¤Î»Ò¥Ç¥Ð¥¤¥¹¤È¤·¤Æ¡¢¥Ç¥Ð¥¤¥¹¤òÅÐÏ¿¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ +¤½¤Î¥Ç¥Ð¥¤¥¹¤Î (IRQ ¤ä I/O ¥Ý¡¼¥È¤Î¤è¤¦¤Ê) ¥ê¥½¡¼¥¹¤Ï¡¢¸Ä¡¹¤Î¥ê¥½¡¼¥¹¤Î¤¿¤á¤Ë +.Fn bus_set_resource +(¾ÜºÙ¤Ï +.Xr bus_set_resource 9 +¤ò»²¾È) +¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤Ë¤è¤Ã¤Æ¥«¡¼¥Í¥ë¤ËÅÐÏ¿¤µ¤ì¤Þ¤¹¡£ +.Sh »ÈÍÑÎã +°Ê²¼¤Îµ¿»÷¥³¡¼¥É¤Ï¡¢¥Ï¡¼¥É¥¦¥§¥¢¤Î°ìÉô¤ò¥×¥í¡¼¥Ö¤·¡¢¥Ç¥Ð¥¤¥¹¤È +¤½¤Î¥ê¥½¡¼¥¹ (I/O ¥Ý¡¼¥È) ¤ò¥«¡¼¥Í¥ë¤ËÅÐÏ¿¤¹¤ë´Ø¿ô¤ÎÎã¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£ +¥Ç¥Ð¥¤¥¹¤Î²òÀâ¤âÀßÄꤷ¤Æ¤¤¤Þ¤¹¡£ +.Bd -literal +void +foo_identify(driver_t *driver, device_t parent) +{ + device_t child; + + ¥Ç¥Ð¥¤¥¹¾ðÊó¤Î¼è¤ê½Ð¤·; + if (¥µ¥Ý¡¼¥È¤¹¤ë¥Ç¥Ð¥¤¥¹¤¦¤Á¤Î 1 ¤Ä¤¬¥Þ¥Ã¥Á¤¹¤ë) { + child = BUS_ADD_CHILD(parent, 0, "foo", -1); + device_set_desc_copy(child, "foo chip ver.123"); + device_set_driver(child, driver); + bus_set_resource(child, SYS_RES_IOPORT, 0, FOO_IOADDR, 1); + } +} +.Ed +.Sh Ìá¤êÃÍ +À®¸ù»þ¤Ë¤Ï 0 ¤¬ÊÖ¤µ¤ì¡¢¤½¤ì°Ê³°¤Î¾ì¹ç¤ÏŬÀڤʥ¨¥é¡¼ +.Xr ( errno 2 +»²¾È) ¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£ +.Sh ´ØÏ¢¹àÌÜ +.Xr BUS_ADD_CHILD 9 , +.Xr bus_set_resource 9 , +.Xr device 9 , +.Xr device_add_child 9 , +.Xr DEVICE_ATTACH 9 , +.Xr DEVICE_DETACH 9 , +.Xr DEVICE_PROBE 9 , +.Xr device_set_desc_copy 9 , +.Xr device_set_driver 9 , +.Xr DEVICE_SHUTDOWN 9 +.Sh ºî¼Ô +¤³¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ï +.An Alexander Langer Aq alex@FreeBSD.org +¤¬½ñ¤­¤Þ¤·¤¿¡£ diff --git a/ja_JP.eucJP/man/man9/DEV_MODULE.9 b/ja_JP.eucJP/man/man9/DEV_MODULE.9 new file mode 100644 index 0000000000..7604ef9200 --- /dev/null +++ b/ja_JP.eucJP/man/man9/DEV_MODULE.9 @@ -0,0 +1,105 @@ +.\" -*- nroff -*- +.\" +.\" Copyright (c) 2001 Alexander Langer +.\" +.\" All rights reserved. +.\" +.\" This program is free software. +.\" +.\" 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 DEVELOPERS ``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 DEVELOPERS 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/share/man/man9/DEV_MODULE.9,v 1.1.2.3 2001/12/17 11:30:18 ru Exp % +.\" +.\" $FreeBSD$ +.Dd March 11, 2001 +.Dt DEV_MODULE 9 +.Os +.Sh ̾¾Î +.Nm DEV_MODULE +.Nd ¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð¥â¥¸¥å¡¼¥ëÀë¸À¥Þ¥¯¥í +.Sh ½ñ¼° +.In sys/module.h +.In sys/conf.h +.Fn DEV_MODULE "name" "modeventhand_t evh" "void *arg" +.Sh ²òÀâ +.Fn DEV_MODULE +¥Þ¥¯¥í¤Ï¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð¥«¡¼¥Í¥ë¥â¥¸¥å¡¼¥ë¤òÀë¸À¤·¤Þ¤¹¡£ +¤³¤ì¤Ï +.Vt moduledata_t +¹½Â¤ÂΤòËä¤á¤Æ¡¢¤½¤ì¤«¤é +.Fn DECLARE_MODULE +¤òÀµ¤·¤¤°ú¿ô¤Ç¸Æ¤Ó½Ð¤·¤Þ¤¹¡£¤³¤³¤Ç¡¢ +.Fa name +¤Ï¥â¥¸¥å¡¼¥ë̾¤Ç¡¢ +.Fa ( arg +¤ò°ú¿ô¤È¤·¤Æ»ý¤Ä) +.Fa evh +¤Ï¤½¤Î¥â¥¸¥å¡¼¥ë¤Î¤¿¤á¤Î¥¤¥Ù¥ó¥È¥Ï¥ó¥É¥é¤Ç¤¹ (¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï +.Xr DECLARE_MODULE 9 +¤ò»²¾È)¡£ +¥¤¥Ù¥ó¥È¥Ï¥ó¥É¥é¤Ï¥í¡¼¥É»þ¤Ë +.Fn make_dev +¤Ç¥Ç¥Ð¥¤¥¹¤òºîÀ®¤·¡¢¥¢¥ó¥í¡¼¥É¤µ¤ì¤ë»þ¤Ë +.Fn destroy_dev +¤Ç¤½¤Î¥Ç¥Ð¥¤¥¹¤òÇ˲õ¤¹¤ë¤³¤È¤ò¡¢´üÂÔ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ +.Sh »ÈÍÑÎã +.Bd -literal +#include +#include + +static struct cdevsw foo_devsw = { ... }; + +static dev_t sdev; + +static int +foo_load(module_t mod, int cmd, void *arg) +{ + int err = 0; + + switch (cmd) { + case MOD_LOAD: + sdev = make_dev(&foo_devsw, 0, UID_ROOT, GID_WHEEL, 0600, "foo"); + break; /* À®¸ù */ + + case MOD_UNLOAD: + case MOD_SHUTDOWN: + destroy_dev(sdev); + break; /* À®¸ù */ + + default: + err = EINVAL; + break; + } + + return(err); +} + +DEV_MODULE(foo, foo_load, NULL); +.Ed +.Sh ´ØÏ¢¹àÌÜ +.Xr DECLARE_MODULE 9 , +.Xr destroy_dev 9 , +.Xr make_dev 9 , +.Xr module 9 +.Sh ºî¼Ô +¤³¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ï +.An Alexander Langer Aq alex@FreeBSD.org +¤¬½ñ¤­¤Þ¤·¤¿¡£ diff --git a/ja_JP.eucJP/man/man9/MODULE_DEPEND.9 b/ja_JP.eucJP/man/man9/MODULE_DEPEND.9 new file mode 100644 index 0000000000..ee0a32be30 --- /dev/null +++ b/ja_JP.eucJP/man/man9/MODULE_DEPEND.9 @@ -0,0 +1,63 @@ +.\" -*- nroff -*- +.\" +.\" Copyright (c) 2001 Alexander Langer +.\" +.\" All rights reserved. +.\" +.\" This program is free software. +.\" +.\" 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 DEVELOPERS ``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 DEVELOPERS 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/share/man/man9/MODULE_DEPEND.9,v 1.1.2.3 2001/12/17 11:30:18 ru Exp % +.\" +.\" $FreeBSD$ +.Dd March 11, 2001 +.Dt MODULE_DEPEND 9 +.Os +.Sh ̾¾Î +.Nm MODULE_DEPEND +.Nd ¥«¡¼¥Í¥ë¥â¥¸¥å¡¼¥ë°Í¸À­¤ÎÀßÄê +.Sh ½ñ¼° +.In sys/module.h +.Fn MODULE_DEPEND "name" "moddepend" "int minversion" "int prefversion" "int maxversion" +.Sh ²òÀâ +.Fn MODULE_DEPEND +¥Þ¥¯¥í¤Ï¡¢ +.Fn MODULE_VERSION +¤Ç¤½¤Î¥Ð¡¼¥¸¥ç¥ó¤ò´û¤ËÅÐÏ¿¤·¤Æ¤¤¤ë +.Fa moddepend +¤È¤¤¤¦Ì¾Á°¤ÎÊ̤Υ«¡¼¥Í¥ë¥â¥¸¥å¡¼¥ë¤È¤Î°Í¸À­¤òÀßÄꤷ¤Þ¤¹¡£ +¤É¤Î¥â¥¸¥å¡¼¥ë¤¬°Í¸¤Ç¤­¤ë¤Î¤«¡¢3 ¤Ä¤Î¥Ð¡¼¥¸¥ç¥ó¤¬ÌÀ¼¨¤µ¤ì¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ +¤½¤ì¤Ï¤³¤Î¥â¥¸¥å¡¼¥ë¤¬°Í¸¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡¢Ë¾¤Þ¤·¤¤¥Ð¡¼¥¸¥ç¥ó¤Ï¤â¤Á¤í¤ó¡¢ +ºÇ¾®¤ÈºÇÂç¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤¹¡£ +.Sh »ÈÍÑÎã +.Bd -literal +MODULE_DEPEND(foo, bar, 1, 3, 4); +.Ed +.Sh ´ØÏ¢¹àÌÜ +.Xr DECLARE_MODULE 9 , +.Xr module 9 , +.Xr MODULE_VERSION 9 +.Sh ºî¼Ô +¤³¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ï +.An -nosplit +.An Alexander Langer Aq alex@FreeBSD.org +¤¬½ñ¤­¤Þ¤·¤¿¡£ diff --git a/ja_JP.eucJP/man/man9/MODULE_VERSION.9 b/ja_JP.eucJP/man/man9/MODULE_VERSION.9 new file mode 100644 index 0000000000..3f0b496aab --- /dev/null +++ b/ja_JP.eucJP/man/man9/MODULE_VERSION.9 @@ -0,0 +1,61 @@ +.\" -*- nroff -*- +.\" +.\" Copyright (c) 2001 Alexander Langer +.\" +.\" All rights reserved. +.\" +.\" This program is free software. +.\" +.\" 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 DEVELOPERS ``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 DEVELOPERS 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/share/man/man9/MODULE_VERSION.9,v 1.2.2.3 2001/12/17 11:30:18 ru Exp % +.\" +.\" $FreeBSD$ +.Dd March 11, 2001 +.Dt MODULE_VERSION 9 +.Os +.Sh ̾¾Î +.Nm MODULE_VERSION +.Nd ¥«¡¼¥Í¥ë¥â¥¸¥å¡¼¥ë¥Ð¡¼¥¸¥ç¥ó¤ÎÀßÄê +.Sh ½ñ¼° +.In sys/module.h +.Fn MODULE_VERSION "name" "int version" +.Sh ²òÀâ +.Fn MODULE_VERSION +¥Þ¥¯¥í¤Ï +.Fa name +¤È¸Æ¤Ð¤ì¤Æ¤¤¤ë¥â¥¸¥å¡¼¥ë¤Î¥Ð¡¼¥¸¥ç¥ó¤òÀßÄꤷ¤Þ¤¹¡£ +¤½¤ì¤Ç¡¢Â¾¤Î¥«¡¼¥Í¥ë¥â¥¸¥å¡¼¥ë¤¬¤³¤Î¥â¥¸¥å¡¼¥ë +.Xr ( MODULE_DEPEND 9 +»²¾È) ¤Ë°Í¸¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£ +.Sh »ÈÍÑÎã +.Bd -literal +MODULE_VERSION(foo, 1); +.Ed +.Sh ´ØÏ¢¹àÌÜ +.Xr DECLARE_MODULE 9 , +.Xr module 9 , +.Xr MODULE_DEPEND 9 +.Sh ºî¼Ô +¤³¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ï +.An -nosplit +.An Alexander Langer Aq alex@FreeBSD.org +¤¬½ñ¤­¤Þ¤·¤¿¡£ diff --git a/ja_JP.eucJP/man/man9/Makefile b/ja_JP.eucJP/man/man9/Makefile index d31f6d7016..fb2bd10c5a 100644 --- a/ja_JP.eucJP/man/man9/Makefile +++ b/ja_JP.eucJP/man/man9/Makefile @@ -1,198 +1,248 @@ +# $FreeBSD$ MAN9 = BUS_PRINT_CHILD.9\ BUS_READ_IVAR.9\ BUS_SETUP_INTR.9\ + DECLARE_MODULE.9\ + DELAY.9\ DEVICE_ATTACH.9\ DEVICE_DETACH.9\ + DEVICE_IDENTIFY.9\ DEVICE_PROBE.9\ DEVICE_SHUTDOWN.9\ + DEV_MODULE.9\ DRIVER_MODULE.9\ KASSERT.9\ MD5.9\ + MODULE_DEPEND.9\ + MODULE_VERSION.9\ SPLASSERT.9\ + SYSCALL_MODULE.9\ VFS.9\ VFS_CHECKEXP.9\ VFS_FHTOVP.9\ VFS_INIT.9\ VFS_MOUNT.9\ VFS_QUOTACTL.9\ VFS_ROOT.9\ VFS_START.9\ VFS_STATFS.9\ VFS_SYNC.9\ VFS_UNMOUNT.9\ VFS_VGET.9\ VFS_VPTOFH.9\ VOP_ACCESS.9\ VOP_ACLCHECK.9\ VOP_ADVLOCK.9\ VOP_ATTRIB.9\ VOP_BWRITE.9\ VOP_CREATE.9\ VOP_FSYNC.9\ VOP_GETACL.9\ VOP_GETEXTATTR.9\ VOP_GETPAGES.9\ VOP_INACTIVE.9\ VOP_IOCTL.9\ VOP_LEASE.9\ VOP_LINK.9\ VOP_LOCK.9\ + VOP_LOOKUP.9\ VOP_MMAP.9\ VOP_OPENCLOSE.9\ VOP_PATHCONF.9\ VOP_PRINT.9\ VOP_RDWR.9\ + VOP_READDIR.9\ VOP_READLINK.9\ VOP_REALLOCBLKS.9\ VOP_REMOVE.9\ + VOP_RENAME.9\ VOP_SETACL.9\ VOP_SETEXTATTR.9\ VOP_STRATEGY.9\ acl.9\ at_exit.9\ at_fork.9\ bios.9\ boot.9\ bus_alloc_resource.9\ bus_generic_attach.9\ bus_generic_detach.9\ bus_generic_map_intr.9\ bus_generic_print_child.9\ bus_generic_read_ivar.9\ bus_generic_shutdown.9\ bus_release_resource.9\ cd.9\ copy.9\ devclass.9\ devclass_add_driver.9\ devclass_find.9\ devclass_get_device.9\ devclass_get_devices.9\ devclass_get_maxunit.9\ devclass_get_name.9\ devclass_get_softc.9\ device.9\ device_add_child.9\ device_delete_child.9\ device_enable.9\ device_find_child.9\ device_get_children.9\ device_get_devclass.9\ device_get_driver.9\ device_get_ivars.9\ device_get_softc.9\ device_get_state.9\ device_get_unit.9\ device_probe_and_attach.9\ device_quiet.9\ device_set_desc.9\ device_set_flags.9\ + devstat.9\ devtoname.9\ driver.9\ + extattr.9\ fetch.9\ inittodr.9\ intro.9\ kernacc.9\ make_dev.9\ malloc.9\ + mi_switch.9\ microtime.9\ microuptime.9\ + module.9\ + posix4.9\ panic.9\ physio.9\ + psignal.9\ resettodr.9\ + sbuf.9\ spl.9\ store.9\ style.9\ + suser.9\ + sysctl_add_oid.9\ + sysctl_ctx_init.9\ + time.9\ tvtohz.9\ uio.9\ + vfs_unmountall.9\ vget.9\ + vnode.9\ vput.9\ vref.9\ vrele.9\ - vslock.9 + vslock.9\ + zone.9 MLINKS+=DRIVER_MODULE.9 MULTI_DRIVER_MODULE.9 MLINKS+=MD5.9 MD5Init.9 MD5.9 MD5Transform.9 MLINKS+=VOP_ATTRIB.9 VOP_GETATTR.9 MLINKS+=VOP_ATTRIB.9 VOP_SETATTR.9 MLINKS+=VOP_CREATE.9 VOP_MKDIR.9 MLINKS+=VOP_CREATE.9 VOP_MKNOD.9 MLINKS+=VOP_CREATE.9 VOP_SYMLINK.9 MLINKS+=VOP_GETPAGES.9 VOP_PUTPAGES.9 MLINKS+=VOP_INACTIVE.9 VOP_RECLAIM.9 MLINKS+=VOP_LOCK.9 VOP_ISLOCKED.9 MLINKS+=VOP_LOCK.9 VOP_UNLOCK.9 MLINKS+=VOP_LOCK.9 vn_lock.9 MLINKS+=VOP_OPENCLOSE.9 VOP_CLOSE.9 MLINKS+=VOP_OPENCLOSE.9 VOP_OPEN.9 MLINKS+=VOP_RDWR.9 VOP_READ.9 MLINKS+=VOP_RDWR.9 VOP_WRITE.9 MLINKS+=VOP_REMOVE.9 VOP_RMDIR.9 MLINKS+=at_exit.9 rm_at_exit.9 MLINKS+=at_fork.9 rm_at_fork.9 MLINKS+=copy.9 copyin.9 copy.9 copyinstr.9 copy.9 copyout.9 copy.9 copystr.9 -#MLINKS+=devstat.9 devicestat.9 devstat.9 devstat_add_entry.9 -#MLINKS+=devstat.9 devstat_remove_entry.9 devstat.9 devstat_start_transaction.9 -#MLINKS+=devstat.9 devstat_end_transaction.9 +MLINKS+=devstat.9 devicestat.9 +MLINKS+=devstat.9 devstat_add_entry.9 +MLINKS+=devstat.9 devstat_remove_entry.9 +MLINKS+=devstat.9 devstat_start_transaction.9 +MLINKS+=devstat.9 devstat_end_transaction.9 MLINKS+=fetch.9 fubyte.9 fetch.9 fuswintr.9 fetch.9 fusword.9 fetch.9 fuword.9 #MLINKS+=ifnet.9 if_data.9 ifnet.9 ifaddr.9 ifnet.9 ifqueue.9 MLINKS+=kernacc.9 useracc.9 MLINKS+=make_dev.9 destroy_dev.9 MLINKS+=malloc.9 FREE.9 malloc.9 MALLOC.9 malloc.9 free.9 #MLINKS+=mi_switch.9 cpu_switch.9 -#MLINKS+=posix4.9 p1003_1b.9 -#MLINKS+=psignal.9 gsignal.9 psignal.9 pgsignal.9 +MLINKS+=posix4.9 p1003_1b.9 +MLINKS+=psignal.9 gsignal.9 +MLINKS+=psignal.9 pgsignal.9 #MLINKS+=rtalloc.9 rtalloc1.9 rtalloc.9 rtalloc_ign.9 #MLINKS+=sleep.9 tsleep.9 sleep.9 wakeup.9 sleep.9 wakeup_one.9 #MLINKS+=sleep.9 asleep.9 sleep.9 await.9 #MLINKS+=buf.9 bp.9 MLINKS+=spl.9 spl0.9 MLINKS+=spl.9 splbio.9 spl.9 splclock.9 spl.9 splhigh.9 spl.9 splimp.9 MLINKS+=spl.9 splnet.9 spl.9 splsoftclock.9 spl.9 splsofttty.9 MLINKS+=spl.9 splstatclock.9 spl.9 spltty.9 spl.9 splvm.9 spl.9 splx.9 MLINKS+=store.9 subyte.9 store.9 suswintr.9 store.9 susword.9 store.9 suword.9 -#MLINKS+=time.9 boottime.9 time.9 mono_time.9 time.9 runtime.9 +MLINKS+=time.9 boottime.9 time.9 mono_time.9 time.9 runtime.9 #MLINKS+=timeout.9 untimeout.9 MLINKS+=uio.9 uiomove.9 MLINKS+=vref.9 VREF.9 MLINKS+=vslock.9 vsunlock.9 MLINKS+=device_add_child.9 device_add_child_ordered.9 MLINKS+=device_enable.9 device_disable.9 MLINKS+=device_enable.9 device_is_enabled.9 MLINKS+=device_get_state.9 device_busy.9 MLINKS+=device_get_state.9 device_unbusy.9 MLINKS+=device_get_state.9 device_is_alive.9 MLINKS+=device_quiet.9 device_verbose.9 MLINKS+=device_quiet.9 device_is_quiet.9 MLINKS+=device_set_desc.9 device_get_desc.9 MLINKS+=device_set_desc.9 device_set_desc_copy.9 MLINKS+=device_set_flags.9 device_get_flags.9 MLINKS+=devclass_add_driver.9 devclass_delete_driver.9 MLINKS+=devclass_add_driver.9 devclass_find_driver.9 MLINKS+=BUS_READ_IVAR.9 BUS_WRITE_IVAR.9 MLINKS+=bus_generic_read_ivar.9 bus_generic_write_ivar.9 -MLINKS+=microtime.9 getmicrotime.9 microtime.9 nanotime.9 +MLINKS+=microtime.9 getmicrotime.9 +MLINKS+=microtime.9 nanotime.9 MLINKS+=microtime.9 getnanotime.9 -MLINKS+=microuptime.9 getmicrouptime.9 microuptime.9 nanouptime.9 +MLINKS+=microuptime.9 getmicrouptime.9 +MLINKS+=microuptime.9 nanouptime.9 MLINKS+=microuptime.9 getnanouptime.9 -#MLINKS+=sysctl_add_oid.9 sysctl_remove_oid.9 -#MLINKS+=sysctl_add_oid.9 SYSCTL_ADD_OID.9 -#MLINKS+=sysctl_add_oid.9 SYSCTL_ADD_NODE.9 -#MLINKS+=sysctl_add_oid.9 SYSCTL_ADD_STRING.9 -#MLINKS+=sysctl_add_oid.9 SYSCTL_ADD_INT.9 -#MLINKS+=sysctl_add_oid.9 SYSCTL_ADD_UINT.9 -#MLINKS+=sysctl_add_oid.9 SYSCTL_ADD_LONG.9 -#MLINKS+=sysctl_add_oid.9 SYSCTL_ADD_ULONG.9 -#MLINKS+=sysctl_add_oid.9 SYSCTL_ADD_OPAQUE.9 -#MLINKS+=sysctl_add_oid.9 SYSCTL_ADD_STRUCT.9 -#MLINKS+=sysctl_add_oid.9 SYSCTL_ADD_PROC.9 -#MLINKS+=sysctl_ctx_init.9 sysctl_ctx_free.9 -#MLINKS+=sysctl_ctx_init.9 sysctl_ctx_entry_add.9 -#MLINKS+=sysctl_ctx_init.9 sysctl_ctx_entry_del.9 -#MLINKS+=sysctl_ctx_init.9 sysctl_ctx_entry_find.9 +MLINKS+=sysctl_add_oid.9 sysctl_remove_oid.9 +MLINKS+=sysctl_add_oid.9 SYSCTL_ADD_OID.9 +MLINKS+=sysctl_add_oid.9 SYSCTL_ADD_NODE.9 +MLINKS+=sysctl_add_oid.9 SYSCTL_ADD_STRING.9 +MLINKS+=sysctl_add_oid.9 SYSCTL_ADD_INT.9 +MLINKS+=sysctl_add_oid.9 SYSCTL_ADD_UINT.9 +MLINKS+=sysctl_add_oid.9 SYSCTL_ADD_LONG.9 +MLINKS+=sysctl_add_oid.9 SYSCTL_ADD_ULONG.9 +MLINKS+=sysctl_add_oid.9 SYSCTL_ADD_OPAQUE.9 +MLINKS+=sysctl_add_oid.9 SYSCTL_ADD_STRUCT.9 +MLINKS+=sysctl_add_oid.9 SYSCTL_ADD_PROC.9 +MLINKS+=sysctl_ctx_init.9 sysctl_ctx_free.9 +MLINKS+=sysctl_ctx_init.9 sysctl_ctx_entry_add.9 +MLINKS+=sysctl_ctx_init.9 sysctl_ctx_entry_del.9 +MLINKS+=sysctl_ctx_init.9 sysctl_ctx_entry_find.9 -.include "bsd.prog.mk" +MLINKS+=sbuf.9 sbuf_new.9 +MLINKS+=sbuf.9 sbuf_clear.9 +MLINKS+=sbuf.9 sbuf_setpos.9 +MLINKS+=sbuf.9 sbuf_cat.9 +MLINKS+=sbuf.9 sbuf_cpy.9 +MLINKS+=sbuf.9 sbuf_printf.9 +MLINKS+=sbuf.9 sbuf_putc.9 +MLINKS+=sbuf.9 sbuf_overflowed.9 +MLINKS+=sbuf.9 sbuf_finish.9 +MLINKS+=sbuf.9 sbuf_data.9 +MLINKS+=sbuf.9 sbuf_len.9 +MLINKS+=sbuf.9 sbuf_delete.9 + +MLINKS+=zone.9 zalloc.9 +MLINKS+=zone.9 zfree.9 +MLINKS+=zone.9 zalloci.9 +MLINKS+=zone.9 zfreei.9 +MLINKS+=zone.9 zinit.9 +MLINKS+=zone.9 zinitna.9 +MLINKS+=zone.9 zbootinit.9 +.include "bsd.prog.mk" diff --git a/ja_JP.eucJP/man/man9/SYSCALL_MODULE.9 b/ja_JP.eucJP/man/man9/SYSCALL_MODULE.9 new file mode 100644 index 0000000000..5529c98857 --- /dev/null +++ b/ja_JP.eucJP/man/man9/SYSCALL_MODULE.9 @@ -0,0 +1,83 @@ +.\" -*- nroff -*- +.\" +.\" Copyright (c) 2001 Alexander Langer +.\" +.\" All rights reserved. +.\" +.\" This program is free software. +.\" +.\" 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 DEVELOPERS ``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 DEVELOPERS 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/share/man/man9/SYSCALL_MODULE.9,v 1.2.2.2 2001/12/17 11:30:18 ru Exp % +.\" +.\" $FreeBSD$ +.Dd April 27, 2001 +.Dt SYSCALL_MODULE 9 +.Os +.Sh ̾¾Î +.Nm SYSCALL_MODULE +.Nd syscall ¥«¡¼¥Í¥ë¥â¥¸¥å¡¼¥ëÀë¸À¥Þ¥¯¥í +.Sh ½ñ¼° +.In sys/proc.h +.In sys/module.h +.In sys/sysent.h +.Fn SYSCALL_MODULE name "int *offset" "struct sysent new_sysent" "modeventhand_t evh" "void *arg" +.Sh ²òÀâ +.Fn SYSCALL_MODULE +¥Þ¥¯¥í¤Ï¿·¤·¤¤ syscall ¤òÀë¸À¤·¤Þ¤¹¡£ +.Fn SYSCALL_MODULE +¤Ï +.Fa name +¤È¤¤¤¦Ì¾Á°¤Î¥«¡¼¥Í¥ë¥â¥¸¥å¡¼¥ë¤ÎÀë¸À¤ËŸ³«¤µ¤ì¤Þ¤¹¡£ +.Pp +.Fa offset +¤Ï +.Vt int +·¿¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¢¤ê¡¢ +¤½¤³¤Ë¤Ï¤½¤Î syscall ¤¬³ä¤êÅö¤Æ¤é¤ì¤¿ +.Vt "struct sysent" +¹½Â¤ÂΤÎÃæ¤Î¥ª¥Õ¥»¥Ã¥È°ÌÃÖ¤¬Êݸ¤µ¤ì¤Þ¤¹¡£ +.Pp +.Fa new_sysent +¤Ï syscall ¤ò¼ÂÁõ¤¹¤ë´Ø¿ô¤ª¤è¤Ó¤³¤Î´Ø¿ô¤¬É¬ÍפȤ¹¤ë°ú¿ô¤Î¸Ä¿ô +.Aq ( Pa sys/sysent.h +»²¾È) ¤òÌÀ¼¨¤·¤Þ¤¹¡£ +.Pp +.Fa evh +¤Ï¡¢¥«¡¼¥Í¥ë¥â¥¸¥å¡¼¥ë¤Î¥¤¥Ù¥ó¥È¥Ï¥ó¥É¥é´Ø¿ô¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¢¤ê¡¢ +¤³¤Î´Ø¿ô¤Ï°ú¿ô +.Fa arg +¤ò¼è¤ê¤Þ¤¹¡£ +¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï +.Xr module 9 +¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.Sh »ÈÍÑÎã +syscall ¥â¥¸¥å¡¼¥ë¤Î¤¿¤á¤ÎºÇÄã¸Â¤ÎÎ㤬¡¢ +.Pa /usr/share/examples/kld/syscall/module/syscall.c +¤ÎÃæ¤Ë¸«¤Ä¤±¤é¤ì¤Þ¤¹¡£ +.Sh ´ØÏ¢¹àÌÜ +.Xr module 9 +.Pp +.Pa /usr/share/examples/kld/syscall/module/syscall.c +.Sh ºî¼Ô +¤³¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ï +.An Alexander Langer Aq alex@FreeBSD.org +¤¬½ñ¤­¤Þ¤·¤¿¡£ diff --git a/ja_JP.eucJP/man/man9/VOP_LOOKUP.9 b/ja_JP.eucJP/man/man9/VOP_LOOKUP.9 new file mode 100644 index 0000000000..4bacb50652 --- /dev/null +++ b/ja_JP.eucJP/man/man9/VOP_LOOKUP.9 @@ -0,0 +1,455 @@ +.\" -*- nroff -*- +.\" +.\" Copyright (c) 1996 Doug Rabson +.\" +.\" All rights reserved. +.\" +.\" This program is free software. +.\" +.\" 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 DEVELOPERS ``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 DEVELOPERS 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/share/man/man9/VOP_LOOKUP.9,v 1.8.2.5 2001/12/17 11:30:18 ru Exp % +.\" +.\" $FreeBSD$ +.Dd November 24, 1997 +.Os +.Dt VOP_LOOKUP 9 +.Sh ̾¾Î +.Nm VOP_LOOKUP +.Nd ¥Ñ¥¹Ì¾¤Î¹½À®Í×ÁǤÎÄ´ºº +.Sh ½ñ¼° +.In sys/param.h +.In sys/vnode.h +.In sys/namei.h +.Ft int +.Fn VOP_LOOKUP "struct vnode *dvp" "struct vnode **vpp" "struct componentname *cnp" +.Sh ²òÀâ +¤³¤Î¥¨¥ó¥È¥ê¥Ý¥¤¥ó¥È¤ÏÍ¿¤¨¤é¤ì¤¿¥Ç¥£¥ì¥¯¥È¥êÆâ¤Îñ°ì¤Î¥Ñ¥¹Ì¾Í×ÁǤòÄ´¤Ù¤Þ¤¹¡£ +.Pp +°ú¿ô¤Ï°Ê²¼¤Î¤È¤ª¤ê¤Ç¤¹¡£ +.Bl -tag -width vpp +.It Ar dvp +¸¡º÷¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Î¥í¥Ã¥¯¤µ¤ì¤¿ vnode ¤Ç¤¹¡£ +.It Ar vpp +·ë²Ì¤Î¥í¥Ã¥¯¤µ¤ì¤¿ vnode ¤¬³ÊǼ¤µ¤ì¤ë¤Ù¤­ÊÑ¿ô¤Î¥¢¥É¥ì¥¹¤Ç¤¹¡£ +.It Ar cnp +¸¡º÷¤µ¤ì¤ë¤¿¤á¤Î¥Ñ¥¹Ì¾Í×ÁǤǤ¹¡£ +.El +.Pp +.Fa cnp +¤Ï°Ê²¼¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë componentname ¹½Â¤ÂΤؤΥݥ¤¥ó¥¿¤Ç¤¹¡£ +.Bd -literal +struct componentname { + /* + * lookup ¤Ø¤Î°ú¿ô¤Ç¤¹¡£ + */ + u_long cn_nameiop; /* namei Áàºî */ + u_long cn_flags; /* namei ¤Ø¤Î¥Õ¥é¥° */ + struct proc *cn_proc; /* lookup ¤òÍ׵ᤷ¤Æ¤¤¤ë¥×¥í¥»¥¹ */ + struct ucred *cn_cred; /* ¾ÚÌÀ */ + /* + * ¸¡º÷¥ë¡¼¥Á¥ó¤ª¤è¤Ó¥³¥ß¥Ã¥È¥ë¡¼¥Á¥ó¤Ç¶¦Í­¤µ¤ì¤Þ¤¹¡£ + */ + char *cn_pnbuf; /* ¥Ñ¥¹Ì¾¥Ð¥Ã¥Õ¥¡ */ + char *cn_nameptr; /* ¸¡º÷¤µ¤ì¤¿Ì¾Á°¤Ø¤Î¥Ý¥¤¥ó¥¿ */ + long cn_namelen; /* ¸¡º÷¤µ¤ì¤¿Í×ÁǤÎŤµ */ + u_long cn_hash; /* ¸¡º÷¤µ¤ì¤¿Ì¾Á°¤Î¥Ï¥Ã¥·¥åÃÍ */ + long cn_consume; /* lookup() ¤Ç¾ÃÈñ¤¹¤ëʸ»ú¿ô */ +}; +.Ed +.Pp +¥Ñ¥¹Ì¾¤ÎÍ×ÁǤò¥í¥Ã¥¯¤µ¤ì¤¿ vnode ¤Ø¤Î¥Ý¥¤¥ó¥¿¤ËÊÑ´¹¤·¤Þ¤¹¡£ +¤³¤ì¤¬Àµ¤ËÃæ¿´¤Ç¤¢¤ê¡¢¤è¤êÊ£»¨¤Ê¥ë¡¼¥Á¥ó¤Ç¤¹¡£ +¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬¸·Ì©¤Ê¥Ä¥ê¡¼³¬ÁؤËÊݤ¿¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢ +¥Ç¥Ã¥É¥í¥Ã¥¯¾õÂ֤˴٤뤳¤È¤¬¤¢¤ê¤Þ¤¹¡£ +.Pp +.Fa cnp->cn_nameiop +°ú¿ô¤Ï¡¢¥ª¥Ö¥¸¥§¥¯¥È¤ÎÍÑÅÓÌÜŪ¤Ë°Í¸¤·¡¢ +.Dv LOOKUP , +.Dv CREATE , +.Dv RENAME , +¤Þ¤¿¤Ï +.Dv DELETE +¤Ç¤¹¡£ +.Dv CREATE , +.Dv RENAME , +¤Þ¤¿¤Ï +.Dv DELETE +¤¬ÌÀ¼¨¤µ¤ì¤¿¤È¤­¤Ë¤Ï¡¢¥Ç¥£¥ì¥¯¥È¥ê¥¨¥ó¥È¥ê¤ÎºîÀ®¡¢Ì¾Á°Êѹ¹¡¢ºï½ü¤Ë +»ÈÍѤ¹¤ë¾ðÊ󤬷׻»¤Ç¤­¤Þ¤¹¡£ +.Pp +VOP_LOOKUP ¤ÎÁ´ÂΤγµÍפǤ¹¡£ +.Bd -ragged -offset indent +¥Ç¥£¥ì¥¯¥È¥ê¤Î¥¢¥¯¥»¥¹¸¢¤ò¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£ +¥­¥ã¥Ã¥·¥å¤ÎÃæ¤Î̾Á°¤ò¸¡º÷¤·¡¢¤â¤·¸«¤Ä¤«¤ì¤Ð¡¢¤½¤Î̾Á°¤òÊÖ¤·¤Þ¤¹¡£ +¥Ç¥£¥ì¥¯¥È¥ê¤ÎÃæ¤Î̾Á°¤ò¸¡º÷¤·¡¢found ¤Þ¤¿¤Ï notfound ¤ËŬÀڤ˿ʤߤޤ¹¡£ +.Ed +.Pp +notfound: +.Bd -ragged -offset indent +ºîÀ®¤Þ¤¿¤Ï̾Á°Êѹ¹¤Ç¥Ñ¥¹Ì¾¤ÎºÇ¸å¤Î¾ì¹ç¤Ë¤Ï¡¢ +.Er EJUSTRETURN +¤òÊÖ¤·¡¢ÍøÍѲÄǽ¤Ê°ÌÃ֤˾ðÊó¤ò»Ä¤·¤Þ¤¹¡£¤½¤¦¤Ç¤Ê¤±¤ì¤Ð +.Er ENOENT +¤òÊÖ¤·¤Þ¤¹¡£ +.Ed +.Pp +found: +.Bd -ragged -offset indent +¥Ñ¥¹Ì¾¤ÎºÇ¸å¤Çºï½ü¤Î¾ì¹ç¤Ë¤Ï¡¢ºï½ü¤ò²Äǽ¤Ë¤¹¤ë¾ðÊó¤òÊÖ¤·¤Þ¤¹¡£ +¥Ñ¥¹Ì¾¤ÎºÇ¸å¤Ç̾Á°Êѹ¹¤Î¾ì¹ç¤Ë¤Ï¡¢Êѹ¹Àè¤Î inode ¤ò¥í¥Ã¥¯¤·¤Æ +̾Á°Êѹ¹¤ò²Äǽ¤Ë¤¹¤ë¾ðÊó¤òÊÖ¤·¤Þ¤¹¡£ +ºÇ¸å¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢Ì¾Á°¤ò¥­¥ã¥Ã¥·¥å¤ËÄɲä·¤Þ¤¹¡£ +ºÇ¸å¤ÇºîÀ®¤Ç¤âºï½ü¤Ç¤â¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢Ì¾Á°¤ò¥­¥ã¥Ã¥·¥å¤ËÄɲä·¤Þ¤¹¡£ +.Ed +.Sh ¥í¥Ã¥¯ +¥Ç¥£¥ì¥¯¥È¥ê +.Fa dvp +¤Ï¥¨¥ó¥È¥ê»þ¤Ë¥í¥Ã¥¯¤µ¤ì¤Æ¤¤¤ë¤Ù¤­¤Ç¤¹¡£ +¥¨¥é¡¼ (Ãí: Ìá¤êÃÍ +.Er EJUSTRETURN +¤Ï¥¨¥é¡¼¤È¤Ï¤ß¤Ê¤µ¤ì¤Þ¤»¤ó) ¤¬¸¡½Ð¤µ¤ì¤¿¾ì¹ç¤Ë¤Ï¡¢¥í¥Ã¥¯¤µ¤ì¤¿¤Þ¤ÞÌá¤ê¤Þ¤¹¡£ +¤·¤«¤·¤Ê¤¬¤é¡¢ +.Fa cnp->cn_flags +¤Ë +.Dv LOCKPARENT +¤ª¤è¤Ó +.Dv ISLASTCN +¤ÎξÊý¤¬ÌÀ¼¨¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢¥¢¥ó¥í¥Ã¥¯¤µ¤ì¤Þ¤»¤ó¡£ +¥¨¥ó¥È¥ê¤¬¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ÎÃæ¤Ç¸«¤Ä¤«¤Ã¤¿¾ì¹ç¤Ë¤Ï¡¢¥í¥Ã¥¯¤µ¤ì¤ÆÊÖ¤µ¤ì¤Þ¤¹¡£ +.Sh Ìá¤êÃÍ +Í×ÁǤ¬¸«¤Ä¤«¤Ã¤¿¾ì¹ç¤Ë¤Ï¡¢ +.Fa *vpp +¤Ë¤½¤Î¥Õ¥¡¥¤¥ë¤Î¥í¥Ã¥¯¤µ¤ì¤¿ vnode ¤¬ÀßÄꤵ¤ì¤Æ¡¢0 ¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£ +¸¡º÷¤µ¤ì¤Æ¤¤¤ëÍ×ÁǤ¬ "." ¤Î¾ì¹ç¡¢¤½¤Î vnode ¤Ï +.Xr vref 9 +¤ò»ÈÍѤ·¤ÆÄɲ䵤줿;ʬ¤Ê»²¾È¤òÆÀ¤Þ¤¹¡£ +¤³¤Î¾ì¹ç¤Ï¡¢¸Æ¤Ó½Ð¤·Â¦¤¬Å¬Àڤ˥í¥Ã¥¯¤ò²òÊü¤¹¤ë¤³¤È¤ËÃí°Õ¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ +.Pp +Í×ÁǤ¬¸«¤Ä¤«¤é¤ºÁàºî¤¬ +.Dv CREATE +¤Þ¤¿¤Ï +.Dv RENAME +¤Ç¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢¥Õ¥é¥° +.Dv ISLASTCN +¤¬ÌÀ¼¨¤µ¤ì¤ÆÁàºî¤ÏÀ®¸ù¤·¡¢ÆÃÊ̤ÊÌá¤êÃÍ +.Er EJUSTRETURN +¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£ +¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢Å¬Àڤʥ¨¥é¡¼¥³¡¼¥É¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£ +.Sh µ¼»÷¥³¡¼¥É +.Bd -literal +int +vop_lookup(struct vnode *dvp, + struct vnode **vpp, + struct componentname *cnp) +{ + int error; + int nameiop = cnp->cn_nameiop; + int flags = cnp->cn_flags; + int lockparent = flags & LOCKPARENT; + int islastcn = flags & ISLASTCN; + struct vnode *vp = NULL; + + /* + * ¥Ç¥£¥ì¥¯¥È¥ê¤Î¥¢¥¯¥»¥¹¸¢¤ò¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£ + */ + if (dvp->v_type != VDIR) + return ENOTDIR; + + error = VOP_ACCESS(dvp, VEXEC, cred, cnp->cn_proc); + if (error) + return (error); + + if (islastcn && (dvp->v_mount->mnt_flag & MNT_RDONLY) && + (cnp->cn_nameiop == DELETE || cnp->cn_nameiop == RENAME)) + return (EROFS); + + /* + * ¥Ç¥£¥ì¥¯¥È¥ê/̾Á°¤Î¥Ú¥¢¤Î¤¿¤á¤Î̾Á°¥­¥ã¥Ã¥·¥å¤ò¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£ + * ¤³¤ì¤Ï¡¢Â¸ºß¤·¤Æ¤¤¤Ê¤¤Ì¾Á°¤Î¾ì¹ç¤Ë¤Ï ENOENT ¤ò¡¢Ì¾Á°¤¬¸«¤Ä¤«¤Ã¤¿ + * ¾ì¹ç¤Ë¤Ï -1 ¤ò¡¢¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ï 0 ¤òÊÖ¤·¤Þ¤¹¡£ + */ + error = cache_lookup(dvp, vpp, cnp); + if (error) { + int vpid; + + if (error = ENOENT) + return error; + + vp = *vpp; + if (dvp == vp) { /* "." ¾å¤òõ¤·¤Þ¤¹ */ + VREF(vp); + error = 0; + } else if (flags & ISDOTDOT) { + /* + * ¥Ç¥Ã¥É¥í¥Ã¥¯¤òÈò¤±¤ë¤¿¤á¡¢".." ¤Î¥í¥Ã¥¯¤µ¤ì¤¿ vnode ¤ò + * ¼èÆÀ¤¹¤ëÁ°¤Ë¡¢¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ò¥¢¥ó¥í¥Ã¥¯¤¹¤ëɬÍפ¬ + * ¤¢¤ê¤Þ¤¹¡£ + */ + VOP_UNLOCK(dvp); + error = vget(vp, 1); + if (!error) { + if (lockparent && islastcn) + error = VOP_LOCK(dvp); + } + } else { + error = vget(vp, 1); + if (error || !(lockparent && islastcn)) { + VOP_UNLOCK(dvp); + } + } + + /* + * ¥í¥Ã¥¯¤òÂԤäƤ¤¤ë´Ö¤ËÆÃÀ­¤Î¿ô¤¬ÊѲ½¤·¤Æ¤¤¤Ê¤¤¤³¤È¤ò + * ¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£ + */ + if (!error) { + if (vpid == vp->v_id) { + /* + * lockparent && islastcn ¤Î¾ì¹ç¤Ë¤Ï dvp ¤¬¥í¥Ã¥¯ + * ¤µ¤ì¤Þ¤¹¡£vp ¤¬¥í¥Ã¥¯¤µ¤ì¤Þ¤¹¡£ + */ + return (0); + } + vput(vp); + + if (dvp != vp && lockparent && islastcn) + VOP_UNLOCK(pdp); + } + + /* + * °Ê²¼¤Î¥Ç¥£¥ì¥¯¥È¥ê¸¡º÷¤Î¤¿¤á¤Ë dvp ¤òºÆÅÙ¥í¥Ã¥¯¤·¤Þ¤¹¡£ + */ + error = VOP_LOCK(dvp); + if (error) { + return (error); + } + + *vpp = NULL; + } + + /* + * Í×ÁÇ cnp->cn_nameptr ¤Î¤¿¤á¤Ë dvp ¤ò¸¡º÷¤·¤Þ¤¹¡£ + */ + ...; + + if (!found) { + if ((nameiop == CREATE || nameiop == RENAME) + && islastcn + && directory dvp has not been removed) { + /* + * ¥Ç¥£¥ì¥¯¥È¥ê¤Î½ñ¹þ¤ß¸¢¤ò¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£ + */ + + /* + * ¤Ç¤­¤ë¸Â¤ê¡¢¥Ç¥£¥ì¥¯¥È¥ê¤ÎÃæ¤Î¿·¤·¤¤Í×ÁǤÎ̾Á°¤Î¤¿¤á¤Ë + * ½½Ê¬¤ËÂ礭¤¤¾ì½ê¤Î°ÌÃÖ¤òµ­Ï¿¤·¤Þ¤¹¡£¤³¤ì¤Ï dvp ¤Î¤¿¤á¤Î + * vnode ¤Î»äŪ¥Ç¡¼¥¿¤ÎÃæ¤Ëµ­Ï¿¤µ¤ì¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£ + * VOP_CREATE ¤Þ¤¿¤Ï VOP_RENAME ¤Ç¸å¤Ç»ÈÍѤ¹¤ë¤¿¤á¤Ë¡¢ + * ¥Ñ¥¹Ì¾¤ËÊÝ»ý¤¹¤ë¤¿¤á¤Ë SAVENAME ¥Õ¥é¥°¤òÀßÄꤷ¤Þ¤¹¡£ + */ + cnp->cn_flags |= SAVENAME; + if (!lockparent) + /* + * ¾åµ­¤Çµ­Ï¿¤µ¤ì¤¿ÄɲäΥǡ¼¥¿¤Ï lockparent ¤¬ÌÀ¼¨ + * ¤µ¤ì¤¿»þ¤Ë¤Î¤ßÍ­ÍѤǤ¢¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ + */ + VOP_UNLOCK(dvp); + + return EJUSTRETURN; + } + + /* + * ¥­¥ã¥Ã¥·¥å¤Ë̾Á°¤òÁÞÆþ¤¹¤ë¤³¤È¤ò¹Íθ¤·¤Þ¤¹¡£ + */ + if ((cnp->cn_flags & MAKEENTRY) && nameiop != CREATE) + cache_enter(dvp, NULL, cnp); + + return ENOENT; + } else { + /* + * ºï½ü¤Ç¥Ñ¥¹Ì¾¤ÎºÇ¸å¤Î¾ì¹ç¤Ë¤Ï¡¢¥Õ¥¡¥¤¥ë¤Îºï½ü¤Ë»ÈÍѤǤ­¤ë + * ¥Ñ¥é¥á¡¼¥¿¤òÊÖ¤·¤Þ¤¹¡£wantparent ¥Õ¥é¥°¤¬ÀßÄꤵ¤ì¤Æ¤¤¤Ê¤¤ + * ¾ì¹ç¤Ë¤Ï¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Î¤ß¤òÊÖ¤·¡¢¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ï + * ³¤±¤Æ¤½¤Î inode ¤ò¥í¥Ã¥¯¤·¡¢"." ¤ËÃí°Õ¤·¤Þ¤¹¡£ + */ + if (nameiop == DELETE && islastcn) { + /* + * ¥Ç¥£¥ì¥¯¥È¥ê¤Î½ñ¹þ¤ß¸¢¤ò¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£ + */ + error = VOP_ACCESS(dvp, VWRITE, cred, cnp->cn_proc); + if (error) + return (error); + + if (found entry is same as dvp) { + VREF(dvp); + *vpp = dvp; + return 0; + } + + error = VFS_VGET(dvp->v_mount, ..., &vp); + if (error) + return error; + + if (directory is sticky + && cred->cr_uid != 0 + && cred->cr_uid != owner of dvp + && owner of vp != cred->cr_uid) { + vput(vp); + return EPERM; + } + *vpp = vp; + if (!lockparent) + VOP_UNLOCK(dvp); + + return 0; + } + + /* + * ºÆ½ñ¹þ¤ß (RENAME) ¤Î¾ì¹ç¤Ë¤Ï¡¢¤½¤Î inode ¤ª¤è¤Ó¸½ºß¤Î + * ¥Ç¥£¥ì¥¯¥È¥ê¤òºÆ½ñ¹þ¤ß¤¹¤ë¤¿¤á¤ËÍ׵ᤵ¤ì¤ë¾ðÊó¤òÊÖ¤·¤Þ¤¹¡£ + * Ä̾ï¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¶õ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¢¤ë¤³¤È¤ò³Îǧ¤¹¤ë¤¿¤á¤Ë¡¢ + * ¥Ç¥£¥ì¥¯¥È¥ê¥¨¥ó¥È¥ê¤Î inode ¤ò¼èÆÀ¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ + */ + if (nameiop == RENAME && wantparent && islastcn) { + error = VOP_ACCESS(dvp, VWRITE, cred, cnp->cn_proc); + if (error) + return (error); + + /* + * "." ¤ò¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£ + */ + if (found entry is same as dvp) + return EISDIR; + + error = VFS_VGET(dvp->v_mount, ..., &vp); + if (error) + return error; + *vpp = vp; + /* + * ¸å¤Ç VOP_RENAME ¤Ç»ÈÍѤ¹¤ë¤¿¤á¤Ë̾Á°¤òÊݸ¤·¤Þ¤¹¡£ + */ + cnp->cn_flags |= SAVENAME; + if (!lockparent) + VOP_UNLOCK(dvp); + + return 0; + } + + /* + * ̾Á°¤ÎÊÑ´¹¤Î¥¹¥Æ¥Ã¥×¤ÎÁ´ÍƤǤ¹¡£¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤¬¸½ºß¤Î + * ¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤ÎÁêÂФǤ¢¤ë¾ì¹ç¤Ë¤Ï¡¢ºÆÅÙɬÍפˤʤë¤Î¤Ç¡¢ + * ¥Ç¥£¥ì¥¯¥È¥ê¤ò 'vput' ¤·¤Þ¤»¤ó¡£Âå¤ï¤ê¤Ë "pdp" ¤È¤·¤Æ + * ¥¢¥ó¥í¥Ã¥¯¤µ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê¤òÊݸ¤·¤Þ¤¹¡£¼èÆÀ¤¹¤ëÁ°¤Ë¤½¤Î + * inode ¤¬ºï½ü¤µ¤ì¤Ê¤¤¤³¤È¤òÊݾڤ¹¤ë¤¿¤á¤Ë¡¢¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ò + * ¥¢¥ó¥í¥Ã¥¯¤¹¤ëÁ°¤ËÌÜŪ¤Î inode ¤ò¼èÆÀ¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ + * ¥ë¡¼¥È¤«¤é¥Ç¥£¥ì¥¯¥È¥ê¥Ä¥ê¡¼¤ò²¼¤ëÊý¸þ¤Ç inode ¤ò¼èÆÀ¤¹¤ë + * ¤³¤È¤Ç¡¢¥Ç¥Ã¥É¥í¥Ã¥¯¤ò¾ï¤ËͽËɤ·¤Þ¤¹¡£½¾¤¬¤Ã¤Æ¡¢µÕ¸þ¤­¤Î + * ¥Ý¥¤¥ó¥¿ ".." ¤òé¤ë¤È¤­¤Ë¤Ï¡¢Í׵ᤵ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê¤ò¼èÆÀ¤¹¤ë + * Á°¤Ë¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤ò¥¢¥ó¥í¥Ã¥¯¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£".." ¤Ë + * ´ØÏ¢ÉÕ¤±¤é¤ì¤¿ inode ¤Î¤¿¤á¤Î VFS_VGET ¤¬Ìá¤ëÁ°¤Ë¡¢¸½ºß¤Î + * ¤ª¤è¤Ó¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤ÎξÊý¤¬ºï½ü¤µ¤ì¤¿¾ì¹ç¤Ë¤Ï¡¢¤³¤³¤ËÀøºßŪ¤Ê + * ¶¥¹ç¾õÂÖ¤¬¤¢¤ê¤Þ¤¹¡£¤­¤ï¤á¤ÆÊ£»¨¤Ê¥Ç¥Ã¥É¥í¥Ã¥¯¸¡½Ð¥¢¥ë¥´¥ê¥º¥à + * ¤Î¼ÂÁõ¤Ê¤·¤Ë¤³¤Î¶¥¹ç¾õÂÖ¤òÈò¤±¤ë¤³¤È¤¬¤Ç¤­¤Ê¤¤¤Î¤Ç¡¢¤³¤Î + * ¶¥¹ç¾õÂÖ¤ÎȯÀ¸¤¬µ©¤Ç¤¢¤ë¤³¤È¤ò´üÂÔ¤·¤Æ¤¤¤Þ¤¹¡£¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬¡¢ + * ".." °Ê³°¤Ë¡¢¥Ç¥£¥ì¥¯¥È¥ê¹½Â¤¤ÎÃæ¤ËÁ̤ê¤ò»Ø¤¹¥Ï¡¼¥É¥ê¥ó¥¯¤ò + * »ý¤Ä¾ì¹ç¡¢¤³¤Î´Êñ¤Ê¥Ç¥Ã¥É¥í¥Ã¥¯¸¡½Ðµ¡¹½¤¬Æ¯¤«¤Ê¤¤¤³¤È¤Ë¤âÃí°Õ + * ¤·¤Æ¤¯¤À¤µ¤¤¡£ + */ + if (flags & ISDOTDOT) { + VOP_UNLOCK(dvp); /* inode ¤ò¼èÆÀ¤¹¤ë¤¿¤á¤Î¶¥¹ç¤Ç¤¹ */ + error = VFS_VGET(dvp->v_mount, ..., &vp); + if (error) { + VOP_LOCK(dvp); + return (error); + } + if (lockparent && islastcn) { + error = VOP_LOCK(dvp); + if (error) { + vput(vp); + return error; + } + } + *vpp = vp; + } else if (found entry is same as dvp) { + VREF(dvp); /* Î㤨¤Ð "." ¤Ê¤É¡¢¼«Ê¬¼«¿È¤¬É¬ÍפǤ¹ */ + *vpp = dvp; + } else { + error = VFS_VGET(dvp->v_mount, ..., &vp); + if (error) + return (error); + if (!lockparent || !islastcn) + VOP_UNLOCK(dvp); + *vpp = vp; + } + + /* + * ŬÀڤǤ¢¤ì¤Ð̾Á°¤ò¥­¥ã¥Ã¥·¥å¤ËÁÞÆþ¤·¤Þ¤¹¡£ + */ + if (cnp->cn_flags & MAKEENTRY) + cache_enter(dvp, *vpp, cnp); + return (0); + } +} +.Ed +.Sh ¥¨¥é¡¼ +.Bl -tag -width Er +.It Bq Er ENOTDIR +vnode +.Fa dvp +¤¬¥Ç¥£¥ì¥¯¥È¥ê¤òɽ¤ï¤·¤Æ¤¤¤Þ¤»¤ó¡£ +.It Bq Er ENOENT +Í×ÁÇ +.Fa dvp +¤¬¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤Ï¸«¤Ä¤«¤ê¤Þ¤»¤ó¡£ +.It Bq Er EACCES +ÌÀ¼¨¤µ¤ì¤¿Áàºî¤Î¤¿¤á¤Î¥¢¥¯¥»¥¹¤¬µñÈݤµ¤ì¤Þ¤·¤¿¡£ +.It Bq Er EJUSTRETURN +.Dv CREATE +¤Þ¤¿¤Ï +.Dv RENAME +¤ÎÁàºî¤ÏÀ®¸ù¤Ç¤¹¡£ +.El +.Sh ´ØÏ¢¹àÌÜ +.Xr VOP_ABORTOP 9 , +.Xr VOP_ACCESS 9 , +.Xr VOP_CREATE 9 , +.Xr VOP_MKDIR 9 , +.Xr VOP_MKNOD 9 , +.Xr VOP_RENAME 9 , +.Xr VOP_SYMLINK 9 , +.\" ²¼¤Î´ØÏ¢¹àÌܤò¥Þ¡¼¥¸ by A.Ikeuchi¡£ +.Xr vnode 9 +.Sh Îò»Ë +´Ø¿ô +.Nm +¤Ï +.Bx 4.3 +¤ÇÅо줷¤Þ¤·¤¿¡£ +.\" ¾å¤Î´ØÏ¢¹àÌܤ˥ޡ¼¥¸ by A.Ikeuchi¡£ +.\" .Sh ´ØÏ¢¹àÌÜ +.\" .Xr vnode 9 +.Sh ºî¼Ô +¤³¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ï +.Pa ufs_lookup.c +¤ÎÃæ¤Î¥³¥á¥ó¥È¤«¤é¤Î¥Æ¥­¥¹¥È¤ò»È¤Ã¤Æ¡¢ +.An Doug Rabson +¤¬½ñ¤­¤Þ¤·¤¿¡£ diff --git a/ja_JP.eucJP/man/man9/VOP_READDIR.9 b/ja_JP.eucJP/man/man9/VOP_READDIR.9 new file mode 100644 index 0000000000..0eb7872bdb --- /dev/null +++ b/ja_JP.eucJP/man/man9/VOP_READDIR.9 @@ -0,0 +1,169 @@ +.\" -*- nroff -*- +.\" +.\" Copyright (c) 1996 Doug Rabson +.\" +.\" All rights reserved. +.\" +.\" This program is free software. +.\" +.\" 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 DEVELOPERS ``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 DEVELOPERS 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/share/man/man9/VOP_READDIR.9,v 1.6.2.1 2001/12/17 11:30:18 ru Exp % +.\" +.\" $FreeBSD$ +.Dd July 24, 1996 +.Os +.Dt VOP_READDIR 9 +.Sh ̾¾Î +.Nm VOP_READDIR +.Nd ¥Ç¥£¥ì¥¯¥È¥êÆâÍÆ¤ÎÆÉ¹þ¤ß +.Sh ½ñ¼° +.In sys/param.h +.In sys/dirent.h +.In sys/vnode.h +.Ft int +.Fn VOP_READDIR "struct vnode *vp" "struct uio *uio" "struct ucred *cred" "int *eofflag" "int *ncookies" "u_long **cookies" +.Sh ²òÀâ +¥Ç¥£¥ì¥¯¥È¥ê¥¨¥ó¥È¥ê¤òÆÉ¹þ¤ß¤Þ¤¹¡£ +.Bl -tag -width ncookies +.It Ar vp +¥Ç¥£¥ì¥¯¥È¥ê¤Î vnode ¤Ç¤¹¡£ +.It Ar uio +¥Ç¥£¥ì¥¯¥È¥êÆâÍÆ¤òÆÉ¹þ¤à¾ì½ê¤Ç¤¹¡£ +.It Ar cred +¸Æ¤Ó½Ð¤·Â¦¤Î¾ÚÌÀ¤Ç¤¹¡£ +.It Ar eofflag +¥Õ¥¡¥¤¥ë½ªÃ¼¤Î¾õÂÖ¤òÊÖ¤·¤Þ¤¹ (ɬÍפʤ±¤ì¤Ð NULL)¡£ +.It Ar ncookies +NFS ¤Î¤¿¤á¤ËºîÀ®¤µ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê¥¯¥Ã¥­¡¼¤Î¿ô¤Ç¤¹ (ɬÍפʤ±¤ì¤Ð NULL)¡£ +.It Ar cookies +NFS ¤Î¤¿¤á¤Î¥Ç¥£¥ì¥¯¥È¥ê¸¡º÷¥¯¥Ã¥­¡¼¤Ç¤¹ (ɬÍפʤ±¤ì¤Ð NULL)¡£ +.El +.Pp +¥Ç¥£¥ì¥¯¥È¥êÆâÍÆ¤Ï +.Dv struct dirent +¹½Â¤ÂÎ¤ËÆÉ¹þ¤Þ¤ì¤Þ¤¹¡£ +¥Ç¥£¥¹¥¯¾å¤Î¹½Â¤ÂΤ¬¤³¤ì¤È°ã¤Ã¤Æ¤¤¤ë¾ì¹ç¡¢ÊÑ´¹¤¬É¬ÍפȤʤê¤Þ¤¹¡£ +.Sh ¥í¥Ã¥¯ +¥Ç¥£¥ì¥¯¥È¥ê¤Ï¥¨¥ó¥È¥ê»þ¤Ë¥í¥Ã¥¯¤µ¤ì¤Æ¤¤¤ë¤Ù¤­¤Ç¤¢¤ê¡¢ +½ªÎ»»þ¤Þ¤Ç¥í¥Ã¥¯¤µ¤ì¤Þ¤¹¡£ +.Sh Ìá¤êÃÍ +À®¸ù»þ¤Ë¤Ï 0 ¤¬ÊÖ¤µ¤ì¡¢¤½¤¦¤Ç¤Ê¤±¤ì¤Ð¥¨¥é¡¼¥³¡¼¥É¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£ +.Pp +NFS ¥µ¡¼¥Ð¤«¤é¸Æ¤Ó½Ð¤µ¤ì¤¿¾ì¹ç¤Ë¤Ï¡¢Äɲäΰú¿ô +.Fa eofflag , +.Fa ncookies +¤ª¤è¤Ó +.Fa cookies +¤¬Í¿¤¨¤é¤ì¤Þ¤¹¡£ +.Fa *eofflag +¤ÎÃͤϡ¢ÆÉ¹þ¤ßÃæ¤Ë¥Ç¥£¥ì¥¯¥È¥ê¤ÎºÇ¸å¤Ë㤷¤¿¾ì¹ç¤Ë¤Ï¡¢ +TRUE ¤ËÀßÄꤵ¤ì¤ë¤Ù¤­¤Ç¤¹¡£ +¥Ç¥£¥ì¥¯¥È¥ê¸¡º÷¥¯¥Ã¥­¡¼¤Ï NFS ¥¯¥é¥¤¥¢¥ó¥È¤ËÊÖ¤µ¤ì¡¢¸å¤Ç¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ò +Ä̤·¤Æ¥Ç¥£¥ì¥¯¥È¥ê¤ÎÆÉ¹þ¤ß¤òºÆ³«¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£ +¥Ç¥£¥ì¥¯¥È¥ê¥¨¥ó¥È¥êËè¤Ë 1 ¤Ä¤Î¥¯¥Ã¥­¡¼¤¬ÊÖ¤µ¤ì¤ë¤Ù¤­¤Ç¤¹¡£ +¥¯¥Ã¥­¡¼¤ÎÃͤϡ¢¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¥ª¥Õ¥»¥Ã¥È¤Ç¤¢¤ê¡¢ +Âбþ¤¹¤ë¥Ç¥£¥¹¥¯¾å¤Î¥Ç¥£¥ì¥¯¥È¥ê¥¨¥ó¥È¥ê¤¬¤½¤³¤«¤é³«»Ï¤·¤Þ¤¹¡£ +¥¯¥Ã¥­¡¼¤Î¤¿¤á¤Î¥á¥â¥ê¤Ï°Ê²¼¤ò»ÈÍѤ·¤Æ³ä¤êÅö¤Æ¤é¤ì¤ë¤Ù¤­¤Ç¤¹¡£ +.Pp +.Bd -literal + ...; + *ncookies = number of entries read; + *cookies = (u_int*)# + malloc(*ncookies * sizeof(u_int), M_TEMP, M_WAITOK); +.Ed +.Sh µ¿»÷¥³¡¼¥É +.Bd -literal +int +vop_readdir(struct vnode *vp, struct uio *uio, struct ucred *cred, + int *eofflag, int *ncookies, u_int **cookies) +{ + off_t off; + int error = 0; + + /* + * ¥¯¥Ã¥­¡¼¤ÎÀ¸À®»þ¤Ë¸å¤Ç»È¤¦¤¿¤á¤Ë¸µ¤Î¥ª¥Õ¥»¥Ã¥È¤ò³Ð¤¨¤Þ¤¹¡£ + */ + off = uio->uio_offset; + + /* + * uio->uio_offset ¤«¤é»Ï¤Þ¤ë¥Ç¥£¥ì¥¯¥È¥êÆâÍÆ¤ò uio ¤Ë¤è¤Ã¤Æ + * »Ø¤µ¤ì¤ë¥Ð¥Ã¥Õ¥¡¤ËÆÉ¹þ¤ß¤Þ¤¹¡£ + */ + ...; + + if (!error && ncookies != NULL) { + struct dirent *dpStart; + struct dirent *dpEnd; + struct dirent *dp; + int count; + u_int *cookiebuf; + u_int *cookiep; + + if (uio->uio_segflg != UIO_SYSSPACE || uio->uio_iovcnt != 1) + panic("vop_readdir: unexpected uio from NFS server"); + + /* + * º£ uio ¤ËÆÉ¹þ¤ó¤ÀÍ×ÁǤò²òÀϤ·¤Þ¤¹¡£ + */ + dpStart = (struct dirent *) + (uio->uio_iov->iov_base - (uio->uio_offset - off)); + dpEnd = (struct dirent *) uio->uio_iov->iov_base; + + /* + * ¥¨¥ó¥È¥ê¿ô¤Î¿ô¤¨¾å¤² + */ + for (dp = dpStart, count = 0; + dp < dpEnd; + dp = (struct dirent *)((caddr_t) dp + dp->d_reclen)) + count++; + + cookiebuf = (u_int *) malloc(count * sizeof(u_int), M_TEMP, M_WAITOK); + for (dp = dpStart; cookiep = cookiebuf; + dp < dpEnd; + dp = (struct dirent *)((caddr_t) dp + dp->d_reclen)) { + off += dp->d_reclen; + *cookiep++ = (u_int) off; + } + *ncookies = count; + *cookies = cookiebuf; + } + + if (eofflag && uio->uio_offset is past the end of the directory) { + *eofflag = TRUE; + } + + return error; +} +.Ed +.Sh ¥¨¥é¡¼ +.Bl -tag -width Er +.It Bq Er EINVAL +¥Ç¥£¥ì¥¯¥È¥êÆâ¤ÎÉÔÀµ¤Ê¥ª¥Õ¥»¥Ã¥È¤«¤éÆÉ¹þ¤â¤¦¤È¤·¤Þ¤·¤¿¡£ +.It Bq Er EIO +¥Ç¥£¥ì¥¯¥È¥ê¤ÎÆÉ¹þ¤ßÃæ¤Ë¡¢ÆÉ¼è¤ê¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿¡£ +.El +.Sh ´ØÏ¢¹àÌÜ +.Xr vnode 9 +.Sh AUTHORS +¤³¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ï +.An Doug Rabson +¤¬½ñ¤­¤Þ¤·¤¿¡£ diff --git a/ja_JP.eucJP/man/man9/VOP_RENAME.9 b/ja_JP.eucJP/man/man9/VOP_RENAME.9 new file mode 100644 index 0000000000..a98bdf03a4 --- /dev/null +++ b/ja_JP.eucJP/man/man9/VOP_RENAME.9 @@ -0,0 +1,318 @@ +.\" -*- nroff -*- +.\" +.\" Copyright (c) 1996 Doug Rabson +.\" +.\" All rights reserved. +.\" +.\" This program is free software. +.\" +.\" 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 DEVELOPERS ``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 DEVELOPERS 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/share/man/man9/VOP_RENAME.9,v 1.10.2.2 2001/12/17 11:30:18 ru Exp % +.\" +.\" $FreeBSD$ +.Dd July 24, 1996 +.Os +.Dt VOP_RENAME 9 +.Sh ̾¾Î +.Nm VOP_RENAME +.Nd ¥Õ¥¡¥¤¥ë¤Î̾Á°Êѹ¹ +.Sh ½ñ¼° +.In sys/param.h +.In sys/vnode.h +.Ft int +.Fn VOP_RENAME "struct vnode *fdvp" "struct vnode *fvp" "struct componentname *fcnp" "struct vnode *tdvp" "struct vnode *tvp" "struct componentname *tcnp" +.Sh ²òÀâ +¤³¤ì¤Ï¥Õ¥¡¥¤¥ë¤Î̾Á°Êѹ¹¤ò¤·¡¢ +¤â¤·¤«¤¹¤ë¤È¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤òÊѹ¹¤¹¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£ +Êѹ¹Àè¤Î¥ª¥Ö¥¸¥§¥¯¥È¤¬Â¸ºß¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢ºÇ½é¤Ëºï½ü¤µ¤ì¤Þ¤¹¡£ +.Pp +°ú¿ô¤Ï°Ê²¼¤Î¤È¤ª¤ê¤Ç¤¹¡£ +.Bl -tag -width fdvp +.It Ar fdvp +¸Å¤¤¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤Î vnode ¤Ç¤¹¡£ +.It Ar fvp +̾Á°Êѹ¹¤µ¤ì¤ë¤Ù¤­¥Õ¥¡¥¤¥ë¤Î vnode ¤Ç¤¹¡£ +.It Ar fcnp +¥Õ¥¡¥¤¥ë¤Î¸½ºß¤Î̾Á°¤Ë¤Ä¤¤¤Æ¤Î¥Ñ¥¹Ì¾¾ðÊó¤Ç¤¹¡£ +.It Ar tdvp +¿·¤·¤¤¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤Î vnode ¤Ç¤¹¡£ +.It Ar tvp +(¤â¤·Â¸ºß¤¹¤ë¤Ê¤é¤Ð) Êѹ¹Àè¤Î¥Õ¥¡¥¤¥ë¤Î vnode ¤Ç¤¹¡£ +.It Ar tcnp +¥Õ¥¡¥¤¥ë¤Î¿·¤·¤¤Ì¾Á°¤Ë¤Ä¤¤¤Æ¤Î¥Ñ¥¹Ì¾¾ðÊó¤Ç¤¹¡£ +.El +.Sh ¥í¥Ã¥¯ +¥¨¥ó¥È¥ê»þ¤Ë¤Ï¡¢Êѹ¹¸µ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ª¤è¤Ó¥Õ¥¡¥¤¥ë¤Ï¥í¥Ã¥¯¤µ¤ì¤Æ¤ª¤é¤º¡¢ +¤½¤ì¤é¤Î»²¾È¥«¥¦¥ó¥È¤ÏÁý¤ä¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ +¤³¤Î VOP ¥ë¡¼¥Á¥ó¤ÏÌá¤ëÁ°¤ËξÊý¤ËÂФ·¤Æ +.Fn vrele +¤ò¸Æ¤Ó½Ð¤¹¤Ï¤º¤Ç¤¹¡£ +.Pp +Êѹ¹Àè¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ª¤è¤Ó¥Õ¥¡¥¤¥ë¤Ï¡¢¤½¤ì¤é¤Î»²¾È¥«¥¦¥ó¥È¤¬Áý¤ä¤µ¤ì¤ë¤Î¤Ï +¤â¤Á¤í¤ó¡¢¥í¥Ã¥¯¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ +¤³¤Î VOP ¥ë¡¼¥Á¥ó¤ÏÌá¤ëÁ°¤ËξÊý¤ËÂФ·¤Æ +.Fn vput +¤ò¸Æ¤Ó½Ð¤¹¤Ï¤º¤Ç¤¹¡£ +.Sh µ¿»÷¥³¡¼¥É +.Bd -literal +int +vop_rename(struct vnode *fdvp, struct vnode *fvp, struct componentname *fcnp, + struct vnode *tdvp, struct vnode *tvp, struct componentname *tcnp) +{ + int doingdirectory = 0; + int error = 0; + + /* + * ¥Ç¥Ð¥¤¥¹¤ò¤Þ¤¿¤¬¤ë̾Á°Êѹ¹¤Î¤¿¤á¤Î¥Á¥§¥Ã¥¯¤Ç¤¹¡£ + */ + if (fvp->v_mount != tdvp->v_mount) { + error = EXDEV; + abortit: + VOP_ABORTOP(tdvp, tcnp); + if (tdvp == tvp) + vrele(tdvp); + else + vput(tdvp); + if (tvp) + vput(tvp); + VOP_ABORTOP(fdvp, fcnp); + vrele(fdvp); + vrele(fvp); + return error; + } + + if (tvp exists and is immutable) { + error = EPERM; + goto abortit; + } + + /* + * ¥ê¥ó¥¯Ì¾¤ò¾Ã¤½¤¦¤È¤·¤Æ¤¤¤ë¤«¤É¤¦¤«¤Î¥Á¥§¥Ã¥¯¤Ç¤¹¡£ + */ + if (fvp == tvp) { + if (fvp->v_type == VDIR) { + error = EINVAL; + goto abortit; + } + + /* + * Êѹ¹Àè¤ò²òÊü¤·¤Þ¤¹¡£ + */ + VOP_ABORTOP(tdvp, tcnp); + vput(tdvp); + vput(tvp); + + /* + * Êѹ¹¸µ¤òºï½ü¤·¤Þ¤¹¡£¾¯¤·°ÛÍͤÊÍ×ÁǤǤ¹¡£ + */ + vrele(fdvp); + vrele(fvp); + fcnp->cn_flags &= ~MODMASK; + fcnp->cn_flags |= LOCKPARENT | LOCKLEAF; + fcnp->cn_nameiop = DELETE; + VREF(fdvp); + error = relookup(fdvp, &fvp, fcnp); + if (error == 0) + vrele(fdvp); + return VOP_REMOVE(fdvp, fvp, fcnp); + } + + if (fvp is immutable) { + error = EPERM; + goto abortit; + } + + error = VOP_LOCK(fvp); + if (error) + goto abortit; + + if (vp is a directory) { + /* + * ÌÀÇò¤ÊÍýͳ¤Î¤¿¤á¡¢".", ".." ¤È "." ¤ÎÊÌ̾¤òÈò¤±¤Þ¤¹¡£ + */ + if ((fcnp->cn_namelen == 1 && fcnp->cn_nameptr[0] == '.') + || fdvp == fvp + || ((fcnp->cn_flags | tcnp->cn_flags) & ISDOTDOT)) { + VOP_UNLOCK(fvp); + error = EINVAL; + goto abortit; + } + doingdirectory = 1; + } + vrele(fdvp); + + /* + * °ÜưÍ×ÁÇ¤Î³èÆ°Ãæ¤Î´Ö¤Ï¡¢fvp ¤Î¥ê¥ó¥¯¥«¥¦¥ó¥È¤òÁý¤ä¤·¤Þ¤¹¡£ + * ºî¶È´°Î»¤ÎÁ°¤Ë¥¯¥é¥Ã¥·¥å¤·¤¿¾ì¹ç¤Ë¤Ï¡¢¥ê¥ó¥¯¥«¥¦¥ó¥È¤Ï´Ö°ã¤Ã¤Æ + * ¤¤¤ë¤Ç¤·¤ç¤¦¤¬¡¢½¤Àµ²Äǽ¤Ç¤¹¡£ + */ + ...; + + /* + * ¤½¤ì¤«¤é (Î㤨¤Ð¥Ç¥£¥ì¥¯¥È¥ê¤¬¿·¤·¤¤¿Æ¤òÆÀ¤ë¤Ê¤É) ".." ¤¬Êѹ¹ + * ¤µ¤ì¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢Êѹ¹¸µ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ÏÊѹ¹Àè¤è¤ê¤â + * ¾å°Ì¤Î¥Ç¥£¥ì¥¯¥È¥ê³¬Áؤ˺ߤäƤϤʤê¤Þ¤»¤ó¡£¤³¤ì¤ÏÊѹ¹¸µ¤Î + * ¥Ç¥£¥ì¥¯¥È¥ê°Ê²¼¤ÎÁ´¤Æ¤¬¸É»ù¤È¤Ê¤ë¤«¤é¤Ç¤¹¡£¤Þ¤¿¡¢¥æ¡¼¥¶¤Ï + * Êѹ¹¸µ¤Ç ".." ¤òÊѹ¹¤Ç¤­¤ë¤è¤¦¤Ë½ñ¹þ¤ß¥Ñ¡¼¥ß¥·¥ç¥ó¤ò»ý¤Ã¤Æ + * ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ + */ + error = VOP_ACCESS(fvp, VWRITE, tcnp->cn_cred, tcnp->cn_proc); + VOP_UNLOCK(fvp); + if (doingdirectory && fdvp != tdvp) { + /* + * ¥Ñ¥¹Ì¾¤Î¾×ÆÍ¤ò¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£ + */ + ...; + } + + /* + * Êѹ¹À褬¸ºß¤·¤Ê¤¤¾ì¹ç¡¢Êѹ¹Àè¤òÊѹ¹¸µ¤Ë¥ê¥ó¥¯¤·¤Æ¡¢Êѹ¹¸µ¤ò + * ¥¢¥ó¥ê¥ó¥¯¤·¤Þ¤¹¡£¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¡¢Êѹ¹Àè¥Ç¥£¥ì¥¯¥È¥ê¤ò½ñ¤­´¹¤¨¤Æ + * Êѹ¹¸µ¤ò»²¾È¤¹¤ë¤è¤¦¤Ë¤·¡¢¸µ¤Î¥¨¥ó¥È¥ê¤òºï½ü¤·¤Þ¤¹¡£ + */ + if (tvp == NULL) { + /* + * ¿·¤·¤¤¥Ç¥£¥ì¥¯¥È¥ê¤Î ".." ¤Î¥¢¥«¥¦¥ó¥È¡£ + */ + if (doingdirectory && fdvp != tdvp) { + /* + * tdvp ¤Î¥ê¥ó¥¯¥«¥¦¥ó¥È¤òÁý¤ä¤·¤Þ¤¹¡£ + */ + ...; + } + + /* + * ¿·¤·¤¤¥Ç¥£¥ì¥¯¥È¥ê¤Ç̾Á°¤òÄɲä·¤Þ¤¹¡£ + */ + ...; + + if (error) { + if (doingdirectory && fdvp != tdvp) { + /* + * tdvp ¤Ç¤¢¤ì¤Ð¥ê¥ó¥¯¥«¥¦¥ó¥È¤ò¸º¤é¤·¤Þ¤¹¡£ + */ + ...; + } + goto bad; + } + vput(tdvp); + } else { + /* + * Êѹ¹À褬¥Ç¥£¥ì¥¯¥È¥ê¤Î¾ì¹ç¡¢¤³¤ì¤Ï¶õ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤º¡¢¤³¤ì¤Ø¤Î + * ¥ê¥ó¥¯¤¬¤¢¤Ã¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£¤Þ¤¿¡¢Êѹ¹¸µ¤ÈÊѹ¹Àè¤Ï°ìÃפ¹¤ë + * (ξÊý¤È¤â¥Ç¥£¥ì¥¯¥È¥ê¡¢¤Þ¤¿¤ÏξÊý¤È¤â¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤Ï¤Ê¤¤) + * ¤³¤È¤òÊݾڤ·¤Æ¤¯¤À¤µ¤¤¡£ + */ + if (tvp is a directory) { + if (tvp is not empty) { + error = ENOTEMPTY; + goto bad; + } + if (!doingdirectory) { + error = ENOTDIR; + goto bad; + } + /* + * ¥Ç¥£¥ì¥¯¥È¥ê¤¬¾Ã¤¨µî¤Ã¤¿¤¿¤á¡¢Ì¾Á°¥­¥ã¥Ã¥·¥å¤ò¹¹¿·¤·¤Þ¤¹¡£ + */ + cache_purge(tdvp); + } else if (doingdirectory) { + error = ENOTDIR; + goto bad; + } + + /* + * fvp ¤¬»Ø¤¹ tdvp ¤Î̾Á° tcnp ¤òÊѹ¹¤·¤Þ¤¹¡£ + */ + ...; + + /* + * Êѹ¹Àè¥Ç¥£¥ì¥¯¥È¥ê¤¬Êѹ¹¸µ¤ÈƱ¤¸¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢ + * Êѹ¹Àè¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Î¿Æ¤Î¥ê¥ó¥¯¥«¥¦¥ó¥È¤ò¸º¤é¤·¤Þ¤¹¡£ + * ".." ¤Ë¤è¤ê¡¢¤½¤Î¿Æ¤ËÂФ¹¤ëÌá¤êÊý¸þ¤Î¥ê¥ó¥¯¤È¤Ê¤ë»ö¼Â¤ò¡¢ + * ÀâÌÀ¤¹¤ë¤â¤Î¤Ç¤¹¡£ + */ + if (doingdirectory && fdvp == tdvp) { + /* + * tdvp ¤Î¥ê¥ó¥¯¥«¥¦¥ó¥È¤ò¸º¤é¤·¤Þ¤¹¡£ + */ + ...; + } + vput(tdvp); + + /* + * ¥Ç¥£¥ì¥¯¥È¥ê¤¬¤â¤Ï¤ä¤½¤ì¤ò»Ø¤µ¤Ê¤¤¤Î¤Ç¡¢tvp ¤Î¥ê¥ó¥¯¥«¥¦¥ó¥È¤ò + * ¸º¤é¤·¤Þ¤¹¡£ + */ + ...; + if (doingdirectory) { + /* + * ¸Å¤¤¥Ç¥£¥ì¥¯¥È¥ê tvp ¤ò¤­¤ì¤¤¤Ë¤·¤Þ¤¹¡£ + */ + ...; + } + vput(tvp); + } + + /* + * Êѹ¹¸µ¤ò¥¢¥ó¥ê¥ó¥¯¤·¤Þ¤¹¡£¥Ç¥£¥ì¥¯¥È¥ê¤¬¿·¤·¤¤¿Æ¤Ë°Üư¤µ¤ì¤ë¾ì¹ç + * ¤Ë¤Ï¡¢¤½¤Î ".." ¥¨¥ó¥È¥ê¤ò¹¹¿·¤·¤Þ¤¹¡£¤³¤³¤Ç¡¢¤¿¤¯¤µ¤ó¤ÎÌñ²ð¤Ê + * UFS ¤Î¥³¡¼¥É¤¬¾Ê¤«¤ì¤Þ¤·¤¿¡£ + */ + ...; + +bad: + if (tvp) + vput(tvp); + vput(tdvp); +out: + if (VOP_LOCK(fvp) == 0) { + /* + * fvp ¤Î¥ê¥ó¥¯¥«¥¦¥ó¥È¤ò¥Ç¥¯¥ê¥á¥ó¥È + */ + ...; + vput(fvp); + } else + vrele(fvp); + + return error; +} +.Ed +.Sh ¥¨¥é¡¼ +.Bl -tag -width Er +.It Bq Er EPERM +¥Õ¥¡¥¤¥ë¤¬Êѹ¹²Äǽ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ +.It Bq Er EXDEV +¥Ç¥Ð¥¤¥¹¤ò¤Þ¤¿¤¬¤ë°Üư¤Ç¤¹¡£ +.It Bq Er EINVAL +ÉÔÀµ¤Ê¥Ç¥£¥ì¥¯¥È¥ê¤Î̾Á°Êѹ¹¤Ç¤¹¡£ +.It Bq Er ENOTDIR +¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¥Õ¥¡¥¤¥ë¤Ë¤Þ¤¿¤Ï¤½¤ÎµÕ¤Ë̾Á°Êѹ¹¤·¤è¤¦¤È¤·¤Þ¤·¤¿¡£ +.It Bq Er ENOTEMPTY +¶õ¤Ç¤Ï¤Ê¤¤¥Ç¥£¥ì¥¯¥È¥ê¤òºï½ü¤·¤è¤¦¤È¤·¤Þ¤·¤¿¡£ +.El +.Sh ´ØÏ¢¹àÌÜ +.Xr vnode 9 +.Sh ºî¼Ô +¤³¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ï +.An Doug Rabson +¤¬½ñ¤­¤Þ¤·¤¿¡£ diff --git a/ja_JP.eucJP/man/man9/devstat.9 b/ja_JP.eucJP/man/man9/devstat.9 new file mode 100644 index 0000000000..14e1c72dd7 --- /dev/null +++ b/ja_JP.eucJP/man/man9/devstat.9 @@ -0,0 +1,431 @@ +.\" +.\" Copyright (c) 1998, 1999 Kenneth D. Merry. +.\" 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. +.\" 3. The name of the author may not be used to endorse or promote products +.\" derived from this software without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 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/share/man/man9/devstat.9,v 1.10.2.5 2001/12/17 11:30:18 ru Exp % +.\" +.\" $FreeBSD$ +.Dd May 22, 1998 +.Dt DEVSTAT 9 +.Os +.Sh ̾¾Î +.Nm devstat , +.Nm devstat_add_entry , +.Nm devstat_end_transaction , +.Nm devstat_end_transaction_buf , +.Nm devstat_remove_entry , +.Nm devstat_start_transaction +.Nd ¥Ç¥Ð¥¤¥¹Åý·×¤Îµ­Ï¿¤Î¤¿¤á¤Î¥«¡¼¥Í¥ë¥¤¥ó¥¿¥Õ¥§¡¼¥¹ +.Sh ½ñ¼° +.In sys/devicestat.h +.Ft void +.Fo devstat_add_entry +.Fa "struct devstat *ds" +.Fa "const char *dev_name" +.Fa "int unit_number" +.Fa "u_int32_t block_size" +.Fa "devstat_support_flags flags" +.Fa "devstat_type_flags device_type" +.Fa "devstat_priority priority" +.Fc +.Ft void +.Fn devstat_remove_entry "struct devstat *ds" +.Ft void +.Fn devstat_start_transaction "struct devstat *ds" +.Ft void +.Fo devstat_end_transaction +.Fa "struct devstat *ds" +.Fa "u_int32_t bytes" +.Fa "devstat_tag_type tag_type" +.Fa "devstat_trans_flags flags" +.Fc +.Ft void +.Fo devstat_end_transaction_buf +.Fa "struct devstat *ds" +.Fa "struct buf *bp" +.Fc +.Sh ²òÀâ +devstat ¥µ¥Ö¥·¥¹¥Æ¥à¤Ï¡¢¤½¤Î̾¾Î¤¬°Å¼¨¤¹¤ëÍͤˡ¢ +¥Ç¥Ð¥¤¥¹Åý·×¤òµ­Ï¿¤¹¤ë¤¿¤á¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ç¤¹¡£ +¤³¤ÎÌÜŪ¤Ï¡¢Å¬Å٤˾ܺ٤ÊÅý·×¾ðÊó¤òµ­Ï¿¤·¤Ä¤Ä¡¢ +µ­Ï¿¤Ë»ÈÍѤ¹¤ë CPU »þ´Ö¤òºÇ¾®¤È¤¹¤ë¤È¤¤¤¦¤â¤Î¤Ç¤¹¡£ +½¾¤Ã¤Æ¡¢ +.Nm +¤Î¥³¡¼¥É¤Î¥«¡¼¥Í¥ëÆâ¤ÎÉôʬ¤Ç¤Ï¡¢¼ÂºÝ¤ÎÅý·×Ū¤Ê·×»»¤Ï¹Ô¤Ê¤ï¤ì¤Æ¤¤¤Þ¤»¤ó¡£ +Âå¤ï¤ê¤Ë¡¢¤³¤ì¤Ï¥æ¡¼¥¶¥×¥í¥°¥é¥à¤¬¼è¤ê°·¤¦¤è¤¦¤Ë»Ä¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ +.Pp +.Fn devstat_add_entry +¤Ï +.Nm +¥µ¥Ö¥·¥¹¥Æ¥à¤Ë¥Ç¥Ð¥¤¥¹¤òÅÐÏ¿¤·¤Þ¤¹¡£ +¸Æ¤Ó½Ð¤·Â¦¤Ï¤³¤Î´Ø¿ô¤Î¸Æ¤Ó½Ð¤·¤ÎÁ°¤Ë¡¢´û¤Ë³äÅö¤Æ¤é¤ì \fB0 ¤Ç¥¯¥ê¥¢ +¤µ¤ì¤¿\fR devstat ¹½Â¤ÂΤò»ý¤Ã¤Æ¤¤¤ë¤³¤È¤ò´üÂÔ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ +.Fn devstat_add_entry +¤Ï´ö¤Ä¤«¤Î°ú¿ô¤ò¼è¤ê¤Þ¤¹¡£ +.Bl -tag -width device_type +.It ds +¥¯¥é¥¤¥¢¥ó¥È¤Ë¤è¤Ã¤Æ³äÅö¤Æ¤é¤ì 0 ¤Ç¥¯¥ê¥¢¤µ¤ì¤¿¡¢ +.Va devstat +¹½Â¤ÂΤǤ¹¡£ +.It dev_name +¥Ç¥Ð¥¤¥¹¤Î̾Á°¤Ç¤¹¡£Î㤨¤Ð da, cd, sa ¤Ç¤¹¡£ +.It unit_number +¥Ç¥Ð¥¤¥¹¥æ¥Ë¥Ã¥ÈÈÖ¹æ¤Ç¤¹¡£ +.It block_size +¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢¥Ç¥Ð¥¤¥¹¤Î¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤Ç¤¹¡£ +¥Ç¥Ð¥¤¥¹¤¬¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¤Þ¤¿¤Ï +.Nm +¥ê¥¹¥È¤Ë¤½¤Î¥Ç¥Ð¥¤¥¹¤¬Äɲ䵤ì¤ë»þÅÀ¤Ç¤Ï¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤¬È½¤Ã¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢ +0 ¤ËÀßÄꤵ¤ì¤ë¤Ù¤­¤Ç¤¹¡£ +.It flags +¥Ç¥Ð¥¤¥¹¤Ë¤è¤Ã¤ÆÁàºî¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¤«¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¤ò¼¨¤¹ +¥Õ¥é¥°¤Ç¤¹¡£¾ÜºÙ¤Ï°Ê²¼¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.It device_type +¥Ç¥Ð¥¤¥¹¤Î·¿¤Ç¤¹¡£ +¤³¤ì¤Ï 3 ¤Ä¤ÎÉôʬ¡¢´ðËÜŪ¤Ê¥Ç¥Ð¥¤¥¹¤Î·¿ (Î㤨¤Ð¡¢Ä¾ÀÜ¥¢¥¯¥»¥¹¡¢CDROM¡¢ +½ç¼¡¥¢¥¯¥»¥¹)¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î·¿ (IDE, SCSI ¤Þ¤¿¤Ï¤½¤Î¾) ¤ª¤è¤Ó +Ä̲᤹¤ë¥Ç¥Ð¥¤¥¹¤ò¼¨¤¹¤¿¤á¤Î¥Ñ¥¹¥¹¥ë¡¼¥Õ¥é¥°¤Ë¡¢Ê¬³ä¤µ¤ì¤Þ¤¹¡£ +´°Á´¤Ê·¿¤Î¥ê¥¹¥È¤Ï°Ê²¼¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.It priority +¥Ç¥Ð¥¤¥¹¤ÎÍ¥ÀèÅ٤Ǥ¹¡£ +Í¥ÀèÅ٤ϥǥХ¤¥¹¤Î +.Nm devstat +¥ê¥¹¥È¤ÎÃæ¤Ç¤É¤Î¤è¤¦¤Ë¥Ç¥Ð¥¤¥¹¤òʤÓÂØ¤¨¤ë¤«¤ò·èÄꤹ¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ +¥Ç¥Ð¥¤¥¹¤ÏºÇ½é¤ËÍ¥ÀèÅÙ (¹â¤¤Êý¤«¤éÄ㤤Êý) ¤Ë¤è¤Ã¤Æ¡¢ +¤½¤ì¤«¤é¥¢¥¿¥Ã¥Á¤µ¤ì¤¿½çÈ֤ˤè¤Ã¤ÆÊ¤ÓÂØ¤¨¤é¤ì¤Þ¤¹¡£ +ÍøÍѲÄǽ¤ÊÍ¥ÀèÅ٤δ°Á´¤Ê¥ê¥¹¥È¤Ï°Ê²¼¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.El +.Pp +.Fn devstat_remove_entry +¤Ï +.Nm +¥µ¥Ö¥·¥¹¥Æ¥à¤«¤é¥Ç¥Ð¥¤¥¹¤òºï½ü¤·¤Þ¤¹¡£ +¤³¤ì¤Ï°ú¿ô¤È¤·¤ÆÅö¤Î¥Ç¥Ð¥¤¥¹¤Î devstat ¹½Â¤ÂΤò¼è¤ê¤Þ¤¹¡£ +.Nm +À¤ÂåÈÖ¹æ¤ÏÁý¤ä¤µ¤ì¥Ç¥Ð¥¤¥¹¤Î¿ô¤Ï¸º¤é¤µ¤ì¤Þ¤¹¡£ +.Pp +.Fn devstat_start_transaction +¤Ï +.Nm +¥µ¥Ö¥·¥¹¥Æ¥à¤Ë½èÍý¤Î³«»Ï¤òÅÐÏ¿¤·¤Þ¤¹¡£ +¸Ä¡¹¤Î½èÍý¤Î³«»Ï¤Ç¥Ó¥¸¡¼¥«¥¦¥ó¥È¤¬Áý¤ä¤µ¤ì¤Þ¤¹¡£ +¥Ç¥Ð¥¤¥¹¤¬¥¢¥¤¥É¥ë¤«¤é¥Ó¥¸¡¼¤Ë°Ü¤Ã¤¿¤È¤­¤Ë¤Ï¡¢¥·¥¹¥Æ¥à uptime ¤¬ +.Va devstat +¹½Â¤ÂΤΠ+.Va start_time +¥Õ¥£¡¼¥ë¥É¤Ëµ­Ï¿¤µ¤ì¤Þ¤¹¡£ +.Pp +.Fn devstat_end_transaction +¤Ï +.Nm +¥µ¥Ö¥·¥¹¥Æ¥à¤Ë½èÍý¤Î½ªÎ»¤òÅÐÏ¿¤·¤Þ¤¹¡£ +¤³¤ì¤Ï 4 ¤Ä¤Î°ú¿ô¤ò¼è¤ê¤Þ¤¹¡£ +.Bl -tag -width tag_type +.It ds +Åö¤Î¥Ç¥Ð¥¤¥¹¤Î¤¿¤á¤Î +.Va devstat +¹½Â¤ÂΤǤ¹¡£ +.It bytes +¤³¤Î½èÍý¤ÇžÁ÷¤µ¤ì¤¿¥Ð¥¤¥È¿ô¤Ç¤¹¡£ +.It tag_type +½èÍý¤Î¥¿¥°¤Î·¿¤Ç¤¹¡£¥¿¥°¤Î·¿¤Ï°Ê²¼¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.It flags +¤½¤Î½èÍý¤¬ÆÉ¹þ¤ß¤À¤Ã¤¿¤Î¤«¡¢½ñ¹þ¤ß¤À¤Ã¤¿¤Î¤«¡¢ +¤Þ¤¿¤ÏžÁ÷¤µ¤ì¤¿¥Ç¡¼¥¿¤¬¤Ê¤«¤Ã¤¿¤Î¤«¤ò¼¨¤¹½èÍý¥Õ¥é¥°¤Ç¤¹¡£ +.El +.Pp +.Fn devstat_end_transaction_buf +¤Ï¡¢biodone() ¤Î½àÈ÷¤¬À°¤Ã¤Æ¤¤¤ë +.Va "struct buf" +¤«¤é¤¹¤Ù¤Æ¤Î¾ðÊó¤ò°ú¤­½Ð¤¹¤¿¤á¤Î¡¢ +.Fn devstat_end_transaction +¤Î¤¿¤á¤Î¥é¥Ã¥Ñ¤Ç¤¹¡£ +.Pp +.Va devstat +¹½Â¤ÂΤϰʲ¼¤Î¥Õ¥£¡¼¥ë¥É¤Ç¹½À®¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ +.Bl -tag -width dev_creation_time +.It dev_links +¸Ä¡¹¤Î +.Va devstat +¤ÏÅÐÏ¿¤µ¤ì¤¿¤È¤­¤Ë¥ê¥ó¥¯¤µ¤ì¤¿¥ê¥¹¥È¤ËÃÖ¤«¤ì¤Þ¤¹¡£ +.Va dev_links +¥Õ¥£¡¼¥ë¥É¤Ë¤Ï +.Va devstat +¹½Â¤ÂΤΥꥹ¥È¤ÎÃæ¤Î¼¡¤Î¥¨¥ó¥È¥ê¤Ø¤Î¥Ý¥¤¥ó¥¿¤¬Æþ¤ê¤Þ¤¹¡£ +.It device_number +¥Ç¥Ð¥¤¥¹ÈÖ¹æ¤Ï¡¢¸Ä¡¹¤Î¥Ç¥Ð¥¤¥¹¤Î¤¿¤á¤Î°ì°Õ¤Ê¼±Ê̻ҤǤ¹¡£ +¥Ç¥Ð¥¤¥¹ÈÖ¹æ¤Ï¡¢¸Ä¡¹¤Î¿·¤·¤¤¥Ç¥Ð¥¤¥¹¤¬ÅÐÏ¿¤µ¤ì¤ë¤´¤È¤ËÁý¤ä¤µ¤ì¤Þ¤¹¡£ +¸½ºß¤Ï¥Ç¥Ð¥¤¥¹ÈÖ¹æ¤Ïñ¤Ê¤ë 32 ¥Ó¥Ã¥ÈÀ°¿ô¤Ç¤¹¤¬¡¢40 ²¯¸Ä¤òͤ¨¤ë +¥Ç¥Ð¥¤¥¹ÅþÃ奤¥Ù¥ó¥È¤ò»ý¤Ä¥·¥¹¥Æ¥à¤¬¤¢¤ì¤Ð¡¢³ÈÄ¥¤¹¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£ +.It device_name +¥Ç¥Ð¥¤¥¹Ì¾¾Î¤Ï¥É¥é¥¤¥ÐÅÐÏ¿¤Ë¤è¤Ã¤ÆÍ¿¤¨¤é¤ì¤ëʸ»úÎó¤Ç¤¢¤ê¡¢ +¼«Ê¬¼«¿È¤ò¼±Ê̤¹¤ë¤¿¤á¤Ë»ÈÍѤǤ­¤Þ¤¹ (Î㤨¤Ð +.Dq da , +.Dq cd , +.Dq sa , +¤Ê¤É)¡£ +.It unit_number +¥æ¥Ë¥Ã¥ÈÈÖ¹æ¤ÏÅö¤Î¼þÊÕÁõÃ֤Υɥ饤¥ÐÆÃÍ­¤Î¼ÂÂΤò¼±Ê̤·¤Þ¤¹¡£ +.It bytes_written +¤³¤ì¤Ï¤½¤Î¥Ç¥Ð¥¤¥¹¤Ë´û¤Ë½ñ¹þ¤Þ¤ì¤¿¥Ð¥¤¥È¿ô¤Ç¤¹¡£ +¤³¤Î¿ô¤Ï¸½ºß¤ÏÉ乿¤Ê¤· 64 ¥Ó¥Ã¥ÈÀ°¿ô¤Ç¤¹¡£ +32 ¥Ó¥Ã¥È¤ÎÀ°¿ô¤ò»È¤Ã¤¿¾ì¹ç¤Ë¤Ï¥·¥¹¥Æ¥à¤Ë¤è¤Ã¤Æ¤Ï¤¹¤°¤Ë¥«¥¦¥ó¥¿¤¬ +°ì²ó¤ê¤·¤Æ¤·¤Þ¤¦¤È¤¤¤¦ÌäÂê¤ò¡¢¤³¤ì¤Ë¤è¤ê²óÈò¤Ç¤­¤ë¤È´üÂÔ¤·¤Æ¤¤¤Þ¤¹¡£ +.It bytes_read +¤³¤ì¤Ï¤½¤Î¥Ç¥Ð¥¤¥¹¤«¤é´û¤ËÆÉ¹þ¤Þ¤ì¤¿¥Ð¥¤¥È¿ô¤Ç¤¹¡£ +.It bytes_freed +¤³¤ì¤Ï¤½¤Î¥Ç¥Ð¥¤¥¹¾å¤Î´û¤Ë²òÊü/¾Ãµî¤µ¤ì¤¿¥Ð¥¤¥È¿ô¤Ç¤¹¡£ +.It num_reads +¤³¤ì¤Ï¤½¤Î¥Ç¥Ð¥¤¥¹¤«¤é¤ÎÆÉ¹þ¤ß²ó¿ô¤Ç¤¹¡£ +.It num_writes +¤³¤ì¤Ï¤½¤Î¥Ç¥Ð¥¤¥¹¤Ø¤Î½ñ¹þ¤ß²ó¿ô¤Ç¤¹¡£ +.It num_frees +¤³¤ì¤Ï¤½¤Î¥Ç¥Ð¥¤¥¹¾å¤Î²òÊü/¾ÃµîÁàºî¤Î²ó¿ô¤Ç¤¹¡£ +.It num_other +¤³¤ì¤Ï¤½¤Î¥Ç¥Ð¥¤¥¹¤Ø¤ÎÆÉ¹þ¤ß¤Ç¤â½ñ¹þ¤ß¤Ç¤â¤Ê¤¤½èÍý¤Î²ó¿ô¤Ç¤¹¡£ +Î㤨¤Ð¡¢ +.Tn SCSI +¥É¥é¥¤¥Ð¤Ï¤·¤Ð¤·¤Ð¥Æ¥¹¥È¥æ¥Ë¥Ã¥È¥ì¥Ç¥£¥³¥Þ¥ó¥É¤ò +.Tn SCSI +¥Ç¥Ð¥¤¥¹¤ËÁ÷¤ê¤Þ¤¹¡£ +¤½¤Î¥Æ¥¹¥È¥æ¥Ë¥Ã¥È¥ì¥Ç¥£¥³¥Þ¥ó¥É¤Ï¥Ç¡¼¥¿¤òÁ´¤¯ÆÉ¹þ¤ß¤Þ¤¿¤Ï½ñ¹þ¤ß¤Þ¤»¤ó¡£ +¤³¤ì¤Ïñ¤Ë¤½¤Î¾õÂÖ¤òÊÖ¤µ¤»¤ë¤À¤±¤Ë¤¹¤®¤Þ¤»¤ó¡£ +.It busy_count +¤³¤ì¤Ï¤½¤Î¥Ç¥Ð¥¤¥¹¤Î¤¿¤á¤Î¸½ºß̤²ò·è¤Î½èÍý¤Î¿ô¤Ç¤¹¡£ +¤³¤ì¤Ï 0 ¤ò·è¤·¤Æ²¼²ó¤ë¤Ù¤­¤Ç¤Ï¤Ê¤¯¡¢¥¢¥¤¥É¥ë¤Î¥Ç¥Ð¥¤¥¹¤Ç¤Ï 0 ¤Ë¤Ê¤ë¤Ù¤­¤Ç¤¹¡£ +¤³¤ì¤é¤Î¾õÂ֤Τ¤¤º¤ì¤«¤¬¿¿¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤Î¥³¡¼¥É¤Î +.Fn devstat_start_transaction +¤È +.Fn devstat_end_transaction +¤Î¸Æ¤Ó½Ð¤·Êý¤ËÌäÂ꤬¤¢¤ë¤³¤È¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£ +¸Ä¡¹¤Î½èÍý¤Ë¤Ï¤¿¤À 1 ¤Ä¤Î½èÍý³«»Ï¥¤¥Ù¥ó¥È¤¬¤¢¤ë¤Ù¤­¤Ç¤¢¤ê¡¢ +³Æ½èÍý¤ËÂФ·¤Æ 1 ¤Ä¤Î½èÍý½ªÎ»¥¤¥Ù¥ó¥È¤¬¤¢¤ë¤Ù¤­¤Ç¤¹¡£ +.It block_size +¤½¤Î¥Ç¥Ð¥¤¥¹¤¬¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤ò»ý¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢ +¤³¤ì¤Ï¤½¤Î¥Ç¥Ð¥¤¥¹¤Î¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤Ç¤¹¡£ +.It tag_types +¤³¤ì¤Ï¥Ç¥Ð¥¤¥¹¤ËÁ÷¤é¤ì¤¿ÍÍ¡¹¤Ê¥¿¥°¤Î·¿¤Î¿ô¤òµ­Ï¿¤¹¤ë¤¿¤á¤Î +¥«¥¦¥ó¥¿¤ÎÇÛÎó¤Ç¤¹¡£ +¥¿¥°¤Î·¿¤Î¥ê¥¹¥È¤Ï°Ê²¼¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.It dev_creation_time +¤³¤ì¤Ï¤½¤Î¥Ç¥Ð¥¤¥¹¤¬ÅÐÏ¿¤µ¤ì¤¿¤È¤­¤Î +.Fn getmicrotime +¤Ë¤è¤Ã¤ÆÊó¹ð¤µ¤ì¤ë»þ´Ö¤Ç¤¹ +.It busy_time +¤³¤ì¤Ï¡¢¥Ç¥Ð¥¤¥¹¤Î¥Ó¥¸¡¼¥«¥¦¥ó¥È¤¬ 0 ¤è¤êÂ礭¤«¤Ã¤¿»þ´Ö¤ÎÎ̤Ǥ¹¡£ +¤³¤ì¤Ï¥Ó¥¸¡¼¥«¥¦¥ó¥È¤¬ 0 ¤ËÌá¤Ã¤¿¤È¤­¤Ë¤Î¤ß¹¹¿·¤µ¤ì¤Þ¤¹¡£ +.It start_time +¤³¤ì¤Ï¤½¤Î¥Ç¥Ð¥¤¥¹¤Î¥Ó¥¸¡¼¥«¥¦¥ó¥È¤¬ 0 ¤«¤é 1 ¤Ë°Ü¤Ã¤¿¤È¤­¤Î +.Fn getmicrouptime +¤Ë¤è¤Ã¤ÆÊó¹ð¤µ¤ì¤ë»þ´Ö¤Ç¤¹ +.It last_comp_time +¤³¤ì¤Ï½èÍý¤¬´°Á´¤Ë½ª¤ï¤Ã¤¿¤È¤­¤Î +.Fn getmicrouptime +¤Ë¤è¤Ã¤ÆÊó¹ð¤µ¤ì¤ë»þ´Ö¤Ç¤¹ +¤³¤ì¤Ï¥Ç¥Ð¥¤¥¹¥Ó¥¸¡¼»þ´Ö¤ò·×»»¤¹¤ë¤¿¤á¤Ë +.Va start_time +¤È°ì½ï¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ +.It flags +¤³¤ì¤é¤Î¥Õ¥é¥°¤Ï¸Ä¡¹¤Î¥Ç¥Ð¥¤¥¹¤Ë¤è¤Ã¤Æ¡¢¤É¤ÎÅý·×¬Ä꤬¥µ¥Ý¡¼¥È +¤µ¤ì¤Æ¤¤¤ë¤Î¤«¤ò¼¨¤·¤Þ¤¹¡£ +¤³¤ì¤é¤Î¥Õ¥é¥°¤ÏËÜÍè¤Ï¡¢Åý·×¤ò²òÆÉ¤¹¤ë¥æ¡¼¥¶Â¦¤Î¥×¥í¥°¥é¥à¤ÎÊä½õ¤È¤·¤Æ +Ư¤¯¤³¤È¤ò°Õ¿Þ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ +.It device_type +¤³¤ì¤Ï¥Ç¥Ð¥¤¥¹¤Î·¿¤Ç¤¹¡£¤³¤ì¤Ï 3 ¤Ä¤ÎÉôʬ¤«¤é¹½À®¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ +¥Ç¥Ð¥¤¥¹¤Î·¿ (Î㤨¤Ð¡¢Ä¾ÀÜ¥¢¥¯¥»¥¹¡¢CDROM¡¢½ç¼¡¥¢¥¯¥»¥¹¡¢¤Ê¤É)¡¢ +¥¤¥ó¥¿¥Õ¥§¡¼¥¹ (IDE, SCSI ¤Þ¤¿¤Ï¤½¤Î¾) ¤ª¤è¤ÓÅö¤Î¥Ç¥Ð¥¤¥¹¤¬ +¥Ñ¥¹¥¹¥ë¡¼¥É¥é¥¤¥Ð¤Ç¤¢¤ë¤«¤É¤¦¤«¡¢¤Ç¤¹¡£ +¥Ç¥Ð¥¤¥¹¤Î·¿¤Î´°Á´¤Ê¥ê¥¹¥È¤Ï°Ê²¼¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.It priority +¤³¤ì¤ÏÍ¥ÀèÅ٤Ǥ¹¡£¤³¤ì¤Ï¥Ç¥Ð¥¤¥¹¤ò +.Nm +¥ê¥¹¥È¤Î²¿½è¤ËÁÞÆþ¤¹¤ë¤Î¤«¤ò·èÄꤹ¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤ëºÇ½é¤Î¥Ñ¥é¥á¡¼¥¿¤Ç¤¹¡£ +2 ÈÖÌܤΥѥé¥á¡¼¥¿¤Ï¥¢¥¿¥Ã¥Á¤Î½çÈ֤Ǥ¹¡£ +ÍøÍѲÄǽ¤ÊÍ¥ÀèÅ٤Υꥹ¥È¤Ï°Ê²¼¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +.El +.Pp +¸Ä¡¹¤Î¥Ç¥Ð¥¤¥¹¤Ï¥Ç¥Ð¥¤¥¹¤Î·¿¤¬Í¿¤¨¤é¤ì¤Þ¤¹¡£¥Ñ¥¹¥¹¥ë¡¼¥Ç¥Ð¥¤¥¹¤Ï +¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò¶¡µë¤¹¤ë¤¿¤á¤Î¥Ç¥Ð¥¤¥¹¤ÈƱ¤¸´ðÁÃŪ¤Ê¥Ç¥Ð¥¤¥¹¤Î·¿¤È +¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò»ý¤Á¤Þ¤¹¤¬¡¢¥Ñ¥¹¥¹¥ë¡¼¥Õ¥é¥°¤âÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£ +´ðËܤΥǥХ¤¥¹¤Î·¿¤Ï +.Tn SCSI +¤Î¥Ç¥Ð¥¤¥¹·¿ÈÖ¹æ¤È°ìÃפ·¤Æ¤¤¤Þ¤¹¡£¤½¤Î¤¿¤á +.Tn SCSI +¼þÊÕÁõÃ֤Ǥϡ¢Ìä¹ç¤»¤«¤éÊÖ¤µ¤ì¤¿¥Ç¥Ð¥¤¥¹¤Î·¿¤Ï¡¢Ä̾ +.Tn SCSI +¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î·¿¤È¤â¤·Å¬ÀڤǤ¢¤ì¤Ð¥Ñ¥¹¥¹¥ë¡¼¥Õ¥é¥°¤Ç OR ¤µ¤ì¤Þ¤¹¡£ +¥Ç¥Ð¥¤¥¹¤Î·¿¤Î¥Õ¥é¥°¤Ï°Ê²¼¤Î¤È¤ª¤ê¤Ç¤¹¡£ +.Bd -literal -offset indent +typedef enum { + DEVSTAT_TYPE_DIRECT = 0x000, + DEVSTAT_TYPE_SEQUENTIAL = 0x001, + DEVSTAT_TYPE_PRINTER = 0x002, + DEVSTAT_TYPE_PROCESSOR = 0x003, + DEVSTAT_TYPE_WORM = 0x004, + DEVSTAT_TYPE_CDROM = 0x005, + DEVSTAT_TYPE_SCANNER = 0x006, + DEVSTAT_TYPE_OPTICAL = 0x007, + DEVSTAT_TYPE_CHANGER = 0x008, + DEVSTAT_TYPE_COMM = 0x009, + DEVSTAT_TYPE_ASC0 = 0x00a, + DEVSTAT_TYPE_ASC1 = 0x00b, + DEVSTAT_TYPE_STORARRAY = 0x00c, + DEVSTAT_TYPE_ENCLOSURE = 0x00d, + DEVSTAT_TYPE_FLOPPY = 0x00e, + DEVSTAT_TYPE_MASK = 0x00f, + DEVSTAT_TYPE_IF_SCSI = 0x010, + DEVSTAT_TYPE_IF_IDE = 0x020, + DEVSTAT_TYPE_IF_OTHER = 0x030, + DEVSTAT_TYPE_IF_MASK = 0x0f0, + DEVSTAT_TYPE_PASS = 0x100 +} devstat_type_flags; +.Ed +.Pp +¥Ç¥Ð¥¤¥¹¤Ï¤½¤ì¤é¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿Í¥ÀèÅÙ¤ò»ý¤Ã¤Æ¤¤¤Æ¡¢ +.Nm +¥ê¥¹¥È¤Î¤ª¤ª¤è¤½²¿½è¤ËÃÖ¤«¤ì¤ë¤Î¤«¤òÀ©¸æ¤·¤Þ¤¹¡£ +Í¥ÀèÅ٤ϰʲ¼¤Î¤È¤ª¤ê¤Ç¤¹¡£ +.Bd -literal -offset indent +typedef enum { + DEVSTAT_PRIORITY_MIN = 0x000, + DEVSTAT_PRIORITY_OTHER = 0x020, + DEVSTAT_PRIORITY_PASS = 0x030, + DEVSTAT_PRIORITY_FD = 0x040, + DEVSTAT_PRIORITY_WFD = 0x050, + DEVSTAT_PRIORITY_TAPE = 0x060, + DEVSTAT_PRIORITY_CD = 0x090, + DEVSTAT_PRIORITY_DISK = 0x110, + DEVSTAT_PRIORITY_ARRAY = 0x120, + DEVSTAT_PRIORITY_MAX = 0xfff +} devstat_priority; +.Ed +.Pp +¸Ä¡¹¤Î¥Ç¥Ð¥¤¥¹¤Ï²¿¤ÎÁàºî¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¤«¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¤Î¤«¤ò¼¨¤¹¡¢ +¤½¤ì¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿¥Õ¥é¥°¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£ +.Va devstat_support_flags +¤ÎÃͤϰʲ¼¤Î¤È¤ª¤ê¤Ç¤¹¡£ +.Bl -tag -width DEVSTAT_NO_ORDERED_TAGS +.It DEVSTAT_ALL_SUPPORTED +¥Ç¥Ð¥¤¥¹¤Ë¤è¤Ã¤ÆÁ´¤Æ¤ÎÅý·×¤Î·¿¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ +.It DEVSTAT_NO_BLOCKSIZE +¤³¤Î¥Ç¥Ð¥¤¥¹¤Ï¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤ò»ý¤Ã¤Æ¤¤¤Þ¤»¤ó¡£ +.It DEVSTAT_NO_ORDERED_TAGS +¤³¤Î¥Ç¥Ð¥¤¥¹¤Ï½ç½ø¥¿¥° (ordered tag) ¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó¡£ +.It DEVSTAT_BS_UNAVAILABLE +¤³¤Î¥Ç¥Ð¥¤¥¹¤Ï¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¤¬¡¢¸½ºß¤ÏÍøÍѤǤ­¤Þ¤»¤ó¡£ +¤³¤Î¥Õ¥é¥°¤Ï¥ê¥à¡¼¥Ð¥Ö¥ë¥á¥Ç¥£¥¢¤Î¥É¥é¥¤¥Ð¤Ç¤è¤¯»ÈÍѤµ¤ì¤Þ¤¹¡£ +.El +.Pp +¥Ç¥Ð¥¤¥¹¤Ø¤Î½èÍý¤Ï 3 ¤Ä¤Î¥«¥Æ¥´¥ê¤Î¤¦¤Á¤Î¤¤¤º¤ì¤«¤ËʬÎव¤ì¤Þ¤¹¡£ +¤³¤ì¤Ï +.Fn devstat_end_transaction +¤ØÅϤµ¤ì¤ë +.Va flags +¤Ëɽ¸½¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ +½èÍý¤Î·¿¤Ï°Ê²¼¤Î¤È¤ª¤ê¤Ç¤¹¡£ +.Bd -literal -offset indent +typedef enum { + DEVSTAT_NO_DATA = 0x00, + DEVSTAT_READ = 0x01, + DEVSTAT_WRITE = 0x02, + DEVSTAT_FREE = 0x03 +} devstat_trans_flags; +.Ed +.Pp +.Fn devstat_end_transaction +¤Î +.Va tag_type +°ú¿ô¤Ë¤Ï¡¢¼¡¤Î 4 ¤Ä¤ÎÃͤò»ØÄê²Äǽ¤Ç¤¹: +.Bl -tag -width DEVSTAT_TAG_ORDERED +.It DEVSTAT_TAG_SIMPLE +¤½¤Î½èÍý¤Ïñ½ã¤Ê¥¿¥°¤ò»ý¤Ã¤Æ¤¤¤Þ¤·¤¿¡£ +.It DEVSTAT_TAG_HEAD +¤³¤Î½èÍý¤Ï¥­¥å¡¼¥¿¥°¤ÎÀèÆ¬¤ò»ý¤Ã¤Æ¤¤¤Þ¤·¤¿¡£ +.It DEVSTAT_TAG_ORDERED +¤½¤Î½èÍý¤Ï½ç½ø¥¿¥°¤ò»ý¤Ã¤Æ¤¤¤Þ¤·¤¿¡£ +.It DEVSTAT_TAG_NONE +¤½¤Î¥Ç¥Ð¥¤¥¹¤Ï¥¿¥°¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤»¤ó¡£ +.El +.Pp +¥¿¥°¤Î·¿¤ÎÃÍ¤Ï +.Tn SCSI +¤Î¥¿¥°¤ÎÄêµÁ¤Î²¼°Ì 4 ¥Ó¥Ã¥È¤È°ìÃפ·¤Æ¤¤¤Þ¤¹¡£ +Î㤨¤Ð CAM ¤Ç¤Ï¡¢ +CCB ¤Î +.Va tag_action +¤¬ 0xf ¤È OR ¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢ +.Fn devstat_end_transaction +¤ËÅϤ¹¥¿¥°¤Î·¿¤òȽÄꤷ¤Þ¤¹¡£ +.\" AND ¤¸¤ã¤Ê¤¤¤Î¡© +.Pp +.Aq sys/devicestat.h +¤Ç +.Dv DEVSTAT_VERSION +¥Þ¥¯¥í¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ +¤³¤ì¤Ï +.Nm +¥µ¥Ö¥·¥¹¥Æ¥à¤Î¸½ºß¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¡¢ +.Nm +Åý·×¤Ë¥¢¥¯¥»¥¹¤¹¤ë¥æ¡¼¥¶Â¦¥×¥í¥°¥é¥à¤ÎºÆ¥³¥ó¥Ñ¥¤¥ë¤¬Í׵ᤵ¤ì¤ëÊѹ¹¤Î¤¿¤Ó¤Ë¡¢ +Áý¤ä¤µ¤ì¤ë¤Ù¤­¤Ç¤¹¡£ +¥æ¡¼¥¶Â¦¥×¥í¥°¥é¥à¤Ï¡¢¥«¡¼¥Í¥ë¤Î +.Nm +¹½Â¤ÂÎ¤ÈÆ±´ü¤·¤Æ¤¤¤ë¤«¤É¤¦¤«¤ò·èÄꤹ¤ë¤¿¤á¤Ë¡¢ +.Va kern.devstat.version +.Nm sysctl +ÊÑ¿ô¤òÄ̤·¤Æ¤³¤Î¥Ð¡¼¥¸¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£ +.Sh ´ØÏ¢¹àÌÜ +.Xr systat 1 , +.Xr devstat 3 , +.Xr iostat 8 , +.Xr rpc.rstatd 8 , +.Xr vmstat 8 +.Sh Îò»Ë +.Nm +Åý·×¥·¥¹¥Æ¥à¤Ï +.Fx 3.0 +¤ÇÅо줷¤Þ¤·¤¿¡£ +.Sh ºî¼Ô +.An Kenneth Merry Aq ken@FreeBSD.org +.Sh ¥Ð¥° +.Nm +¥ê¥¹¥ÈÁàºî¥³¡¼¥É¼þ¤ê¤Ç +.Fn spl +ÊݸɬÍפ«¤â¤·¤ì¤Þ¤»¤ó¡£ +¤³¤ì¤Ï¡¢Î㤨¤Ð狼¤¬ +.Va kern.devstat.all +.Nm sysctl +ÊÑ¿ô¤ò¼è¤ê½Ð¤·¤Æ¤¤¤ë´Ö¤Ë¡¢¥Ç¥Ð¥¤¥¹¤Î¥ê¥¹¥È¤¬Êѹ¹¤µ¤ì¤Ê¤¤¤³¤È¤ò +Êݾڤ¹¤ë¤¿¤á¤Ç¤¹¡£ +.Pp +¸½ºß¤Î +.Nm +¤Î¹½Â¤¤Ç¤ÏÀµ³Î¤Ë½èÍýËè¤Î»þ´Ö¤ò¬Äꤹ¤ë¤³¤È¤¬ÉÔ²Äǽ¤Ç¤¹¡£ +Í£°ì¤Î¾å¼ê¤¯¤¤¤­¤½¤¦¤Ê½èÍýËè¤ÎÀµ³Î¤Ê»þ´Ö¬Äê¤ÎÊýË¡¤Ï¡¢ +½èÍýËè¤Ë¥¿¥¤¥à¥¹¥¿¥ó¥×¤òµ­Ï¿¤¹¤ë¤³¤È¤Ç¤¹¡£ +¥·¥¹¥Æ¥à¤Î¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤ª¤è¤Ó³Æ¸Ä¤Î½èÍý¤Î¤¿¤á¤Ë¥¿¥¤¥à¥¹¥¿¥ó¥×¤ò +Êݸ¤¹¤ë¤¿¤á¤Î¶õ´Ö¥³¥¹¥È¤ËÉé¤Î±Æ¶Á¤òÍ¿¤¨¤ë¤¿¤á¡¢ +¤³¤Î¬Äê¤Ï¶²¤é¤¯¤ÏËØ¤ó¤É¤Î¿Í¡¹¤Ë¤Ï²ÁÃͤΤʤ¤¤³¤È¤Ç¤¹¡£ diff --git a/ja_JP.eucJP/man/man9/extattr.9 b/ja_JP.eucJP/man/man9/extattr.9 new file mode 100644 index 0000000000..8fd8e7d6ed --- /dev/null +++ b/ja_JP.eucJP/man/man9/extattr.9 @@ -0,0 +1,74 @@ +.\"- +.\" Copyright (c) 1999 Robert N. M. Watson +.\" 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 BY THE AUTHOR 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 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/share/man/man9/extattr.9,v 1.1.2.4 2001/12/17 11:30:18 ru Exp % +.\" +.\" $FreeBSD$ +.Dd December 23, 1999 +.Os +.Dt EXTATTR 9 +.Sh ̾¾Î +.Nm extattr +.Nd ²¾ÁÛ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î̾Á°ÉÕ¤­³Èĥ°À­ +.Sh ½ñ¼° +.In sys/param.h +.In sys/vnode.h +.In sys/extattr.h +.Sh ²òÀâ +̾Á°ÉÕ¤­³Èĥ°À­¤Ï¡¢¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥Ç¥£¥ì¥¯¥È¥ê¤òɽ¸½¤¹¤ë vnode ¤Ë +ÄɲäΥ᥿¥Ç¡¼¥¿¤ò´ØÏ¢ÉÕ¤±¤ë¤³¤È¤ò²Äǽ¤Ë¤·¤Þ¤¹¡£ +¤³¤ÎÄɲäΥǡ¼¥¿¤Î¥»¥Þ¥ó¥Æ¥£¥¯¥¹¤Ï¡¢"name=value" ("̾Á°=ÃÍ") ¤Î¥Ú¥¢¤Ç¡¢ +̾Á°¤ÏÄêµÁ¤µ¤ì¤Æ¤âÄêµÁ¤µ¤ì¤Ê¤¯¤Æ¤âÎɤ¯¡¢ÄêµÁ¤µ¤ì¤Æ¤¤¤ì¤Ð¡¢0 ¥Ð¥¤¥È°Ê¾å¤Î +Ǥ°Õ¤Î¥Ð¥¤¥Ê¥ê¥Ç¡¼¥¿¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤Þ¤¹¡£ +¤³¤Î¥Ç¡¼¥¿¤ÎÆÉ¤ß¹þ¤ß¤Ï¡¢ +.Xr VOP_READ 9 +¤Î·Á¼°¤Ç¡¢ÌÀ¼¨¤µ¤ì¤¿¥á¥¿¥Ç¡¼¥¿¤ÎϢ³¤·¤¿Îΰè¤òÊÖ¤·¤Þ¤¹¡£ +°ìÊý¡¢½ñ¹þ¤ß¤Ï¡¢ +Í¿¤¨¤é¤ì¤¿Ì¾Á°¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿¸½ºß¤Î "ÃÍ" Á´ÂΤ¬ÃÖ¤­´¹¤¨¤é¤ì¤Þ¤¹¡£ +³Èĥ°À­¤Î°ã¤¤¤ò»ý¤Ä¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬²á¿¤Ë¤¢¤ê¤Þ¤¹¡£ +¤³¤Î¤¿¤á¡¢¤³¤ì¤é¤Î´Ø¿ô¤Ï¡¢ÍøÍѲÄǽÀ­¤ª¤è¤Óµ¡Ç½À­¤ÏÀ©¸Â¤µ¤ì¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¤·¡¢ +¥µ¥Ý¡¼¥È¤¹¤ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î´ðËÜŪ¤Ê¥»¥Þ¥ó¥Æ¥£¥¯¥¹¤ò°Õ¼±¤·¤Æ +»ÈÍѤ¹¤ë¤Ù¤­¤Ç¤¹¡£ +³Èĥ°À­¥Ç¡¼¥¿¤Î¤¿¤á¤Î¸¢¸Â¤òÍ¿¤¨¤ëµ¡¹½¤Ï¡¢ +¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹¡£ +¤³¤ì¤Ï¡¢Â°À­¤ÎºÇÂç¤ÎÂ礭¤µ¤ä¡¢ +Ǥ°Õ¤Þ¤¿¤ÏÆÃÄê¤Î¿·µ¬Â°À­¤òÄêµÁ²Äǽ¤«Èݤ«¤âƱÍͤǤ¹¡£ +.Pp +³Èĥ°À­¤Ï¡¢¥Ì¥ë¤Ç½ªÃ¼¤µ¤ì¤¿Ê¸»úÎó¤ò»ÈÍѤ·¤ÆÌ¾Á°ÉÕ¤±¤µ¤ì¤Þ¤¹¡£ +̾Á°¤ÏÂçʸ»ú¤È¾®Ê¸»ú¤ò¶èÊ̤¹¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¤·¡¢¤·¤Ê¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¤¬¡¢ +¤³¤ì¤Ï¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¥»¥Þ¥ó¥Æ¥£¥¯¥¹¤Ë°Í¸¤·¤Þ¤¹¡£ +ŬÀÚ¤Ê vnode ³Èĥ°À­¤Î¸Æ¤Ó½Ð¤·¤Ï¡¢ +.Xr VOP_GETEXTATTR 9 +¤ª¤è¤Ó +.Xr VOP_SETEXTATTR 9 +¤Ç¤¹¡£ +.Sh ´ØÏ¢¹àÌÜ +.Xr VFS 9 , +.Xr VOP_GETEXTATTR 9 , +.Xr VOP_SETEXTATTR 9 +.Sh ºî¼Ô +¤³¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ï +.An Robert Watson +¤¬½ñ¤­¤Þ¤·¤¿¡£ diff --git a/ja_JP.eucJP/man/man9/mi_switch.9 b/ja_JP.eucJP/man/man9/mi_switch.9 new file mode 100644 index 0000000000..47d8b45236 --- /dev/null +++ b/ja_JP.eucJP/man/man9/mi_switch.9 @@ -0,0 +1,146 @@ +.\" $NetBSD: ctxsw.9,v 1.2 1996/12/02 00:11:31 tls Exp $ +.\" +.\" Copyright (c) 1996 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Paul Kranenburg. +.\" +.\" 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. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the NetBSD +.\" Foundation, Inc. and its contributors. +.\" 4. Neither the name of The NetBSD Foundation nor the names of its +.\" contributors may be used to endorse or promote products derived +.\" from this software without specific prior written permission. +.\" +.\" 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 REGENTS 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/share/man/man9/mi_switch.9,v 1.7.2.4 2001/12/17 11:30:18 ru Exp % +.\" +.\" $FreeBSD$ +.Dd November 24, 1996 +.Dt MI_SWITCH 9 +.Os +.Sh ̾¾Î +.Nm mi_switch , +.Nm cpu_switch +.Nd ÊÌ¤Î¥×¥í¥»¥¹¥³¥ó¥Æ¥­¥¹¥È¤Ø¤Î¥¹¥¤¥Ã¥Á +.Sh ½ñ¼° +.In sys/param.h +.In sys/proc.h +.Ft void +.Fn mi_switch "void" +.Ft void +.Fn cpu_switch "struct proc *p" +.Sh ²òÀâ +.Fn mi_switch +´Ø¿ô¤Ï¥Þ¥·¥óÈó°Í¸¤Ê¥×¥í¥»¥¹¥³¥ó¥Æ¥­¥¹¥È¥¹¥¤¥Ã¥Á¤ÎÁ°½èÍý¤ò¼ÂÁõ¤·¤Æ¤¤¤Þ¤¹¡£ +²£¼è¤êÉÔ²Äǽ¤Ê¥«¡¼¥Í¥ë¥â¡¼¥É¼Â¹Ô¤ÎÊý¿Ë¤Î·ë²Ì¤È¤·¤Æ¡¢¥«¡¼¥Í¥ëÆâ¤Î¿ô¾¯¤Ê¤¤ +¶èÊ̤µ¤ì¤¿¾ì½ê¤«¤é¤Î¤ß¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹¡£ +3 ¤Ä¤Î¼ç¤Ê +.Nm +¤Î»ÈÍѤϰʲ¼¤Ëµó¤²¤é¤ì¤Þ¤¹¡£ +.Bl -enum -offset indent +.It +.Xr sleep 9 +¤ª¤è¤Ó +.Xr tsleep 9 +¤ÎÃæ¤«¤é¡¢¤¢¤ë¥ê¥½¡¼¥¹¤¬ÍøÍѲÄǽ¤Ë¤Ê¤ë¤Î¤òÂԤĤ¿¤á¤Ë +¸½ºß¤Î¥×¥í¥»¥¹¤¬¼«È¯Åª¤Ë CPU ¤òÊü´þ¤¹¤ë¤È¤­¡£ +.It +¥È¥é¥Ã¥× (Î㤨¤Ð¡¢¥·¥¹¥Æ¥à¥³¡¼¥ë¡¢¥Ç¥Ð¥¤¥¹³ä¤ê¹þ¤ß) ¤Î¼è¤ê°·¤¤¤Î¸å¤Ç¡¢ +¥«¡¼¥Í¥ë¤¬¥æ¡¼¥¶¥â¡¼¥É¼Â¹Ô¤Î¤¿¤á¤ËÌá¤ë½àÈ÷¤Î¤È¤­¡£ +Ä̾盧¤Î¾ì¹ç¤Ï¡¢¸½ºß¤Î¥×¥í¥»¥¹¤Î¥·¥°¥Ê¥ëÇÛÃÖ¤ÎÃæ¤ÎÊѲ½¤Î¸¡½Ð¤Î¸å¤Ç +¥Þ¥·¥ó°Í¸¤Î¥È¥é¥Ã¥×¥Ï¥ó¥É¥ê¥ó¥°¥³¡¼¥É¤Ë¤è¤Ã¤Æ¼è¤ê°·¤ï¤ì¤ë¤«¡¢ +¤è¤ê¹â¤¤Í¥ÀèÅÙ¤Î¥×¥í¥»¥¹¤¬¼Â¹Ô²Äǽ¤Ë¤Ê¤Ã¤¿¤«¤â¤·¤ì¤Ê¤¤¤È¤­¤Ç¤¹¡£ +¸å¼Ô¤Î¥¤¥Ù¥ó¥È¤Ï¥Þ¥·¥óÄêµÁ¤Î +.Fn need_resched +¤Î¸Æ¤Ó½Ð¤·¤Ë¤è¤ë¥Þ¥·¥óÈó°Í¸¤Î¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¥ë¡¼¥Á¥ó¤Ë¤è¤Ã¤ÆÅÁ㤵¤ì¤Þ¤¹¡£ +.It +¥·¥°¥Ê¥ë¥Ï¥ó¥É¥é¥³¡¼¥É +.Xr ( issignal 9 +¤ò»²¾È) ¤ÎÃæ¤Ç¡¢¥×¥í¥»¥¹¤òÄä»ß¤µ¤»¤ë¥·¥°¥Ê¥ë¤¬ÆÏ¤±¤é¤ì¤¿¾ì¹ç¡£ +.El +.Pp +.Fn mi_switch +¤Ï¥×¥í¥»¥¹¹½Â¤ÂΤÎÃæ¤Ë¸½ºß¤Î¥×¥í¥»¥¹¤¬¼Â¹Ô¤µ¤ì¤¿»þ´ÖÎ̤òµ­Ï¿¤·¤Æ¡¢ +¤½¤Î¥×¥í¥»¥¹¤Ë³äÅö¤Æ¤é¤ì¤Æ¤¤¤ë CPU ¤Î»þ´Ö¥ê¥ß¥Ã¥È +.Xr ( getrlimit 2 +¤ò»²¾È) ¤Ë¾È¤é¤·¤Æ¤³¤ÎÃͤò¸¡ºº¤·¤Þ¤¹¡£ +¥½¥Õ¥È¥ê¥ß¥Ã¥È¤ÎͲá¤Ï¤½¤Î¥×¥í¥»¥¹¤Ë +.Dv SIGXCPU +¥·¥°¥Ê¥ë¤¬ÇÛ¿®¤µ¤ì¤ë·ë²Ì¤ò¾·¤­¡¢°ìÊý¥Ï¡¼¥É¥ê¥ß¥Ã¥È¤ÎͲá¤Ï +.Dv SIGKILL +¤ò°ú¤­µ¯¤³¤·¤Þ¤¹¡£ +¤³¤ì¤é¤Î´ÉÍý¾å¤Î»Å»ö¤¬´°Î»¤·¤¿¸å¤Ç¡¢ +.Fn mi_switch +¤Ï¼ÂºÝ¤Ë¥×¥í¥»¥¹¥³¥ó¥Æ¥­¥¹¥È¥¹¥¤¥Ã¥Á¤ò¹Ô¤Ê¤¦¥Þ¥·¥ó°Í¸¥ë¡¼¥Á¥ó +.Fn cpu_switch +¤ËÀ©¸æ¤ò°ú¤­ÅϤ·¤Þ¤¹¡£ +.Pp +.Fn cpu_switch +¤ÏÍ¥ÀèÅÙ¥­¥å¡¼¥Ç¡¼¥¿¹½Â¤¤Ë¤ª¤¤¤Æ¡¢ +¼Â¹Ô½àÈ÷¤Î¤Ç¤­¤Æ¤¤¤ë¥×¥í¥»¥¹¤ÎÃæ¤«¤éÁªÂò¤·¤Þ¤¹¡£ +Í¥ÀèÅÙ¥­¥å¡¼¤Ï¡¢¥­¥å¡¼ÀèÆ¬¹½Â¤ÂΤǤ¢¤ëÇÛÎó +.Va qs[NQS] +¤Ç¹½À®¤µ¤ì¤Þ¤¹¡£ +¸Ä¡¹¤Î¥­¥å¡¼ÀèÆ¬¹½Â¤ÂΤˤè¤ê¡¢ +Ʊ¤¸Í¥ÀèÅ٤μ¹ԲÄǽ¤Ê¥×¥í¥»¥¹¤Î¥ê¥¹¥È¤ò¼±Ê̤·¤Þ¤¹ +.Fa ( +¤ò»²¾È)¡£ +ñ°ì¤Î¸ì +.Va whichqs +¤Ï¡¢¶õ¤Ç¤Ï¤Ê¤¤¥­¥å¡¼¤¬Ê¬¤«¤ë¥Ó¥Ã¥È¥Þ¥¹¥¯¤ò´Þ¤ß¡¢ +ÁÇÁ᤯¥×¥í¥»¥¹¤òÁªÂò¤¹¤ë¤³¤È¤ò½õ¤±¤Þ¤¹¡£ +.Fn cpu_switch +¤ÏºÇ¤â¹â¤¤Í¥ÀèÅÙ¤ò»ý¤Ä¥­¥å¡¼¾å¤Î¥ê¥¹¥È +.Po Va qs +¤ÎÃæ¤ÎÄ㤤¥¤¥ó¥Ç¥¯¥¹¤¬¹â¤¤Í¥ÀèÅÙ¤ò¼¨¤¹ +.Pc +¤«¤éºÇ½é¤Î¥×¥í¥»¥¹¤òºï½ü¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤º¡¢¥°¥í¡¼¥Ð¥ëÊÑ¿ô +.Dv curproc +¤Ë¤½¤Î¥×¥í¥»¥¹¹½Â¤ÂΤΥ¢¥É¥ì¥¹¤ò³äÅö¤Æ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ +¼Â¹Ô¥­¥å¡¼¾å¤ËÍøÍѲÄǽ¤Ê¥×¥í¥»¥¹¤¬¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢ +.Fn cpu_switch +¤Ï +.Dq idle +¥ë¡¼¥×¤Ë°Ü¹Ô¤¹¤ë¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ +idle ¥ë¡¼¥×¤Ï³ä¤ê¹þ¤ß¤òµö²Ä¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +¤³¤ì¤Ë¤è¤ê¡¢¤ä¤¬¤Æ¥×¥í¥»¥¹¤¬¼Â¹Ô¥­¥å¡¼¾å¤ËºÆ¤Ó¸½¤ì¤Þ¤¹¡£ +.Fn cpu_switch +¤¬¤³¤ÎȯÀ¸¤òÂԤäƤ¤¤ë´Ö¤ÏÊÑ¿ô +.Va curproc +¤Ï +.Dv NULL +¤Ç¤¢¤ë¤Ù¤­¤Ç¤¹¡£ +.Pp +.Fn mi_switch +¤ª¤è¤ÓÅöÁ³ +.Fn cpu_switch +¤Ï splhigh() ¤Ç¸Æ¤Ó½Ð¤µ¤ì¤ë¤Ù¤­¤Ç¤¢¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ +.Pp +.Sh ´ØÏ¢¹àÌÜ +.Xr issignal 9 , +.Xr spl 9 , +.Xr tsleep 9 , +.Xr wakeup 9 +.Pp diff --git a/ja_JP.eucJP/man/man9/module.9 b/ja_JP.eucJP/man/man9/module.9 new file mode 100644 index 0000000000..7ff25eb60c --- /dev/null +++ b/ja_JP.eucJP/man/man9/module.9 @@ -0,0 +1,95 @@ +.\" -*- nroff -*- +.\" +.\" Copyright (c) 2000 Alexander Langer +.\" +.\" All rights reserved. +.\" +.\" This program is free software. +.\" +.\" 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 DEVELOPERS ``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 DEVELOPERS 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/share/man/man9/module.9,v 1.5.2.2 2001/08/17 13:08:54 ru Exp % +.\" +.\" $FreeBSD$ +.Dd March 1, 2001 +.Dt MODULE 9 +.Os +.Sh ̾¾Î +.Nm module +.Nd ¥«¡¼¥Í¥ë¥â¥¸¥å¡¼¥ë¤Î¹½Â¤µ­½Ò +.Sh ²òÀâ +¥«¡¼¥Í¥ëÆâ¤Î¸Ä¡¹¤Î¥â¥¸¥å¡¼¥ë¤Ï +.Vt module_t +¹½Â¤ÂΤˤè¤Ã¤Æµ­½Ò¤µ¤ì¤Þ¤¹¡£ +¤³¤Î¹½Â¤ÂΤϡ¢´ö¤Ä¤«¤Î¥«¡¼¥Í¥ë¤ÎÆâÉô¥Ç¡¼¥¿¤Ï¤â¤Á¤í¤ó¡¢¥Ç¥Ð¥¤¥¹¤Î̾Á°¡¢ +¸ÇÍ­¤Î ID Èֹ桢¥¤¥Ù¥ó¥È¥Ï¥ó¥É¥é´Ø¿ô¤Ø¤Î¥Ý¥¤¥ó¥¿¡¢¤ª¤è¤Ó +¥¤¥Ù¥ó¥È¥Ï¥ó¥É¥é¤ËÅϤµ¤ì¤ë°ú¿ô¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹¡£ +.Pp +.Xr DECLARE_MODULE 9 +¥Þ¥¯¥í¤Ï¥·¥¹¥Æ¥à¤Ë¥â¥¸¥å¡¼¥ë¤òÅÐÏ¿¤·¤Þ¤¹¡£ +¤½¤Î¥â¥¸¥å¡¼¥ë¤¬¥í¡¼¥É¤µ¤ì¤¿»þ¤Ë¡¢ +.Fa what +°ú¿ô¤Ë +.Dv MOD_LOAD +¤¬ÀßÄꤵ¤ì¤Æ¡¢¥¤¥Ù¥ó¥È¥Ï¥ó¥É¥é´Ø¿ô¤¬¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹¡£ +¥¢¥ó¥í¡¼¥É»þ¤Ë¤Ï¡¢ +.Fa what +¤Ë¤Ï +.Dv MOD_UNLOAD +¤¬ÀßÄꤵ¤ì¤Þ¤¹¡£ +¥·¥¹¥Æ¥à¤¬¥·¥ã¥Ã¥È¥À¥¦¥ó¤µ¤ì¤ë»þ¤Ë¤Ï¡¢ +.Fa what +¤Ï +.Dv MOD_SHUTDOWN +¤ÎÃͤò´Þ¤ß¤Þ¤¹¡£ +.Sh »ÈÍÑÎã +.Bd -literal +#include +#include +#include + +static int foo_handler(module_t mod, int /*modeventtype_t*/ what, + void *arg); + +static moduledata_t mod_data= { + "foo", + foo_handler, + 0 +}; + +MODULE_VERSION(foo, 1); +MODULE_DEPEND(foo, bar, 1, 3, 4); + +DECLARE_MODULE(foo, mod_data, SI_SUB_EXEC, SI_ORDER_ANY); +.Ed +.Sh ´ØÏ¢¹àÌÜ +.Xr DECLARE_MODULE 9 , +.Xr DEV_MODULE 9 , +.Xr DRIVER_MODULE 9 , +.Xr MODULE_DEPEND 9 , +.Xr MODULE_VERSION 9 , +.Xr SYSCALL_MODULE 9 +.Pp +.Pa /usr/share/examples/kld +.Sh ºî¼Ô +¤³¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ï +.An Alexander Langer Aq alex@FreeBSD.org +¤¬½ñ¤­¤Þ¤·¤¿¡£ diff --git a/ja_JP.eucJP/man/man9/posix4.9 b/ja_JP.eucJP/man/man9/posix4.9 new file mode 100644 index 0000000000..a49a517653 --- /dev/null +++ b/ja_JP.eucJP/man/man9/posix4.9 @@ -0,0 +1,140 @@ +.\" Copyright (c) 1998 HD Associates, Inc. +.\" 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 BY THE AUTHOR 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 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/share/man/man9/posix4.9,v 1.5.2.5 2001/08/17 13:08:54 ru Exp % +.\" $FreeBSD$ +.Dd March 1, 1998 +.Dt POSIX.1B 9 +.Os +.Sh ̾¾Î +.Nm posix1b +.Nd POSIX P1003-1B ³ÈÄ¥ +.Sh ²òÀâ +POSIX.1B ¤Ï¥ê¥¢¥ë¥¿¥¤¥à³ÈÄ¥¤ª¤è¤Ó POSIX.1 ¤ËÂФ¹¤ë´ö¤Ä¤«¤Î +¶¦ÄÌ¤Ê Berkeley ³ÈÄ¥¤òÄɲä·¤Þ¤¹¡£ +¤³¤Î¥»¥¯¥·¥ç¥ó¤Ï¡¢Ì·½â¤òÈò¤±¤ë¤³¤È¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥Ð¡¼¥¸¥ç¥ó¤ò +ÌÀ¼¨¤¹¤ë¤¿¤á¤ËÍ׵ᤵ¤ì¤¿Ç½ÎϤΤ¿¤á¤Î¥µ¥Ý¡¼¥È¤òÄɲ乤뤳¤È¤Ë¤Ä¤¤¤Æ¤Î¡¢ +ͽÈ÷Ū¤Ê¾ðÊó¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹¡£ +.Sh ¥¹¥Æ¡¼¥¿¥¹ +1998 ǯ 3 ·î 28 Æü: _POSIX_PRIORITY_SCHEDULING ¤Ï¡¢¼¡¤Î¥«¡¼¥Í¥ë¥ª¥×¥·¥ç¥ó¤ò +¥³¥ó¥Õ¥£¥®¥å¥ì¡¼¥·¥ç¥ó¤ËÉÕ¤±¤ë¤³¤È¤Çưºî¤·¤Þ¤¹¡£ +.Bd -literal -offset 0i +options "P1003_1B" +options "_KPOSIX_PRIORITY_SCHEDULING" +.Ed +.Sh ¥Ð¡¼¥¸¥ç¥ó¤ÎÌÀ¼¨ +POSIX.1B ¤Î¥Ð¡¼¥¸¥ç¥ó¤ª¤è¤Ó¥×¥í¥°¥é¥ß¥ó¥°¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò +ÀßÄꤹ¤ë¡¢3 ¤Ä¤ÎÌÜÏ¿Äê¿ô¤¬¤¢¤ê¤Þ¤¹¡£ +.Bd -literal -offset 0i +_POSIX_VERSION +.Ed +¤Ï¤½¤Î¥·¥¹¥Æ¥à¤¬¤É¤Î¥·¥¹¥Æ¥à¤Î¤¿¤á¤Ë¥Ó¥ë¥É¤µ¤ì¤¿¤«¤òÌÀ¼¨¤·¤Þ¤¹¡£ +¥Ç¥Õ¥©¥ë¥È¤Ï POSIX.1 ¤ª¤è¤Ó 199009L ¤Ç¤¹¡£ +POSIX.1B ¤Ï 199309L ¤Ç¤¹¡£ +¤³¤ì¤Ï¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Î´ðËÜ¤ÎÆÃħ¤òÄêµÁ¤·¤Þ¤¹¡£ +.Bd -literal -offset 0i +_POSIX_SOURCE +.Ed +¤Ï¡¢Ì¾Á°¶õ´Ö¤Ë¤ª¤¤¤Æ POSIX ¤ª¤è¤Ó ANSI ¤Îµ¡Ç½¤Î¤ßȯÀ¸¤¹¤ë¤³¤È¤òÌÀ¼¨¤¹¤ë¤¿¤á¤Ë +ÄêµÁ¤¹¤ë¤³¤È¤¬²Äǽ¤Ê¡¢POSIX.1 ¤«¤é¤Î¥Þ¥¯¥í¤Ç¤¹¡£ +.Bd -literal -offset 0i +_POSIX_C_SOURCE +.Ed +¤Ï¡¢Ì¾Á°¶õ´Ö¤Ë¤ª¤¤¤ÆÌÀ¼¨¤µ¤ì¤¿ POSIX ¥Ð¡¼¥¸¥ç¥ó°Ê¹ß¤Î POSIX ¤ª¤è¤Ó ANSI ¤Î +µ¡Ç½¤Î¤ßȯÀ¸¤¹¤ë¤³¤È¤òÌÀ¼¨¤¹¤ë¤¿¤á¤ËÄêµÁ¤¹¤ë¤³¤È¤¬²Äǽ¤Ê¡¢POSIX.1B ¤«¤é¤Î +¥Þ¥¯¥í¤Ç¤¹¡£ +Î㤨¤Ð¡¢_POSIX_VERSION ¤¬ 199309L (POSIX.1B) ¤À¤¬ _POSIX_C_SOURCE ¤¬ +199009L (POSIX.1) ¤Ç¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢POSIX.1 ¤Îµ¡Ç½¤Î¤ß¤¬½Ð¸½¤¹¤ë¤Ù¤­¤Ç¤¹¡£ +.Sh ŬÀڤʳÈÄ¥¤Î±£Êà +°Ê²¼¤Î¥Æ¥¹¥È¥Þ¥¯¥í¤¬ ¤Ç¥»¥Ã¥È¥¢¥Ã¥×¤µ¤ì¤Þ¤¹¡£ +¤³¤ì¤é¤ò¥·¥¹¥Æ¥à¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤Ç»ÈÍѤ¹¤ë¤³¤È¤Ç¡¢ + ¤Ç¤ß¤é¤ì¤ë¼ïÎà¤Î¥Æ¥¹¥È¤òÈò¤±¤é¤ì¤Þ¤¹¡£ +¥½¡¼¥¹¥×¥í¥°¥é¥à¤Ï¤³¤ì¤é¤Î +.Fx +ÆÃÍ­¤Î¼ÂÁõ¤Î¾ÜºÙ¤ò»ÈÍѤ¹¤ë¤Ù¤­¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ +_POSIX_VERSION, _POSIX_SOURCE +¤ª¤è¤Ó _POSIX_C_SOURCE ¤ò¥Æ¥¹¥È¤¹¤ë¤Ù¤­¤Ç¤¹¡£ +¤·¤«¤·¤Ê¤¬¤é¡¢¤³¤ì¤é¤Î¥Þ¥¯¥í¤Ï¥«¡¼¥Í¥ë¤ÎÃæ¤Ç¤Ï»ÈÍѤµ¤ì¤ë¤Ù¤­¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ +¤Ê¤¼¤Ê¤é¡¢ +¥«¡¼¥Í¥ë¤Ï¥æ¡¼¥¶Îΰè¤Î _POSIX_VERSION ¤ÎÀßÄê¤Î±Æ¶Á¤ò +¼õ¤±¤ë¤Ù¤­¤Ç¤Ï¤Ê¤¤¤«¤é¤Ç¤¹¡£ +P1003_1B ¥ª¥×¥·¥ç¥ó¤ò¥«¡¼¥Í¥ëÆâ¤Ç»ÈÍѤ¹¤ë¤³¤È¤Ç¡¢ +¿·¤·¤¤¥³¡¼¥É¤ò´Þ¤á¤ë¤³¤È¤òÀ©¸Â¤Ç¤­¤Þ¤¹¡£ +¤Ç¤â¡¢P1003_1B ¥ª¥×¥·¥ç¥ó¤Î¤Ê¤¤¥«¡¼¥Í¥ë¾å¤Ç +POSIX.1B ¥×¥í¥°¥é¥à¤¬¼Â¹Ô¤µ¤ì¤¿¤È¤­¤Ëʪ»ö¤¬Àµ³Î¤ËƯ¤¯¤³¤È¤ò¡¢³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£ +.Bd -literal -offset 0i +_P1003_1B_VISIBLE +.Ed +¤Ï³ÈÄ¥¤¬²Ä»ë¤Ç¤¢¤ë¤Ù¤­¤È¤­¤Ë²ò·è¤¹¤ë¥Æ¥¹¥È¥Þ¥¯¥í¤Ç¤¹¡£ +¤³¤ì¤Ï ¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ +.Pp +Ä̾ï¤Î C ¥×¥í¥°¥é¥à³«È¯¤Ç¤Ï¡¢_POSIX_VERSION ¤Î¤ß¤¬ÀßÄꤵ¤ì¡¢¥×¥í¥°¥é¥à¤Ë +.Bx +³ÈÄ¥¤¬²Ä»ë¤Ç¤¢¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£ +¤·¤«¤·¤Ê¤¬¤é¡¢POSIX.1B ¤¬É¬¿Ü¤È¤¹¤ë¿·µ¡Ç½¤òÄɲ乤ë¤È¤­¤Ë¤Ï¡¢ +¿·¤·¤¤ _POSIX_C_SOURCE ¥Þ¥¯¥í¤Ë¤è¤Ã¤ÆÄɲ䵤줿Í×µá¤òËþ­¤µ¤»¤ë¤³¤È¤¬½ÅÍפǤ¹¡£ +_POSIX_VERSION, _POSIX_SOURCE, ¤ª¤è¤Ó _POSIX_C_SOURCE ¤ÎÁȤ߹ç¤ï¤»¤¬ +¤½¤Î³ÈÄ¥¤¬¥¹¥³¡¼¥×Æâ¤Ç¤¢¤ë¤³¤È¤ò¼¨¤·¤Æ¤¤¤ë¤È¤­¤Ë¤Ï¡¢_P1003_1B_VISIBLE +(ɸ½àµ¡Ç½¥Æ¥¹¥È¥Þ¥¯¥í¤Ç¤Ï¤Ê¤¤) ¤Ï sys/unistd.h ¤ÇÄêµÁ¤µ¤ì¤Þ¤¹¡£ +.Bd -literal -offset 0i +_P1003_1B_VISIBLE_HISTORICALLY +.Ed +¤ÏÎò»ËŪ¤Ë¥·¥¹¥Æ¥àÆâ¤Ë¤¢¤ë POSIX.1B ³ÈÄ¥¤ò¾ò·ïÉÕ¤±¤¹¤ë¤¿¤á¤Ë¸ºß¤·¤Þ¤¹¡£ +_POSIX_SOURCE ¤ª¤è¤Ó _POSIX_C_SOURCE ¤¬Á´¤¯ÀßÄꤵ¤ì¤Æ¤¤¤Ê¤¤¤È¤­¡¢¤Þ¤¿¤Ï +_POSIX_C_SOURCE ¤¬ POSIX.1B ¤Îµ¡Ç½¤òÍ­¸ú¤Ë¤·¤Æ¤¤¤ë¤È¤­¡¢¤³¤ì¤é¤Ï²Ä»ë¤Ç¤¹¡£ +¤³¤Îµ¡Ç½¥Æ¥¹¥È¤Î°Õ¿Þ¤Ï¡¢ +.Bx +³ÈÄ¥¤ò²Ä»ë¤È¤·¤Ä¤Ä¿·¤·¤¤³ÈÄ¥¤òÉԲĻë¤È¤¹¤ë¤³¤È¤Ç¡¢ +_POSIX_C_SOURCE ¤Î "big hammar" ("Âç¶âÄÊ") ¤Î +»ÈÍѤò»î¤ß¤ë¤³¤È¤Ê¤¯¡¢¸½Â¸¤Î¥×¥í¥°¥é¥à¤ò²õ¤µ¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤³¤È¤Ç¤¹¡£ +.Pp +´ö¤Ä¤«¤ÎºÇ¶á¤Î¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤Ø¤ÎÄɲäϽ½Ê¬¿·¤·¤¤¤Î¤Ç¡¢ +_HISTORICALLY ¤ÎÂå¤ï¤ê¤Ë +_P1003_1B_VISIBLE ¤Ë°Í¸¤¹¤ë¤è¤¦¤ËÊѹ¹¤¹¤ë¤Ù¤­¤Ç¤·¤ç¤¦¡£ +.Pp +¸½ºß¤Ç¤Ï POSIX.1B ¤ÇÌÀ¼¨¤µ¤ì¤Æ¤¤¤ëÅÁÅýŪ¤Ê +.Bx +¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë (Î㤨¤Ð¡¢mmap.h) ¤Ï¡¢ ¤ò¥¤¥ó¥¯¥ë¡¼¥É¤¹¤ë¤³¤È +¤ª¤è¤Ó _P1003_1B_VISIBLE_HISTORICALLY ¤Ç¾ò·ïÉÕ¤±¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£ +.Sh Èóɸ½à¥Æ¥¹¥È¥Þ¥¯¥í +.Bd -literal -offset 0i +_P1003_1B_INCLUDE_MAYBES +.Ed +¤¬Â¾¤ÎÁ´¤Æ¤Î¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤Î¥¤¥ó¥¯¥ë¡¼¥É¤ÎÁ°¤ËÀßÄꤵ¤ì¤¿¤È¤­¤Ë¤Ï¡¢ +ɸ½à¥Ø¥Ã¥À¤¬¥¤¥ó¥¯¥ë¡¼¥É¤·¤ÆÎɤ¤¤È POSIX.1B »ÅÍͤ¬Äê¤á¤¿ +Á´¤Æ¤Î¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤¬¥¤¥ó¥¯¥ë¡¼¥É¤µ¤ì¤ë¤è¤¦¡¢Í׵ᤷ¤Þ¤¹¡£ +Ä̾ï¤Ï¡¢ÉÔÍפʥإåÀ¤Ï¥¤¥ó¥¯¥ë¡¼¥É¤µ¤ì¤Ê¤¤¤Î¤Ç¤¹¡£ +¤³¤Î¥×¥ê¥×¥í¥»¥Ã¥µÄêµÁ¤òÀßÄꤹ¤ë¤³¤È¤Ë¤è¤ê¡¢»ÅÍͤ˽¾¤Ã¤¿¥×¥í¥°¥é¥à¤ò¡¢ +¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤Î¥¤¥ó¥¯¥ë¡¼¥É¤ÎÌäÂê̵¤·¤Ë¥³¥ó¥Ñ¥¤¥ë¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£ +.Bd -literal -offset 0i +P1003_1B +.Ed +¤Ï¥«¡¼¥Í¥ëÆâ¤Ë POSIX.1B ¥µ¥Ý¡¼¥È¤òÉÕ¤±¤Æ¥Ó¥ë¥É¤¹¤ë¤¿¤á¤Î +¥³¥ó¥Õ¥£¥°¥ª¥×¥·¥ç¥ó¤Ç¤¹¡£ +.\" .Sh ´ØÏ¢¹àÌÜ +.Sh Îò»Ë +.Nm +¥»¥¯¥·¥ç¥ó¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ï +.Fx 3.0 +¤ÇÅо줷¤Þ¤·¤¿¡£ diff --git a/ja_JP.eucJP/man/man9/psignal.9 b/ja_JP.eucJP/man/man9/psignal.9 new file mode 100644 index 0000000000..dd1e232f41 --- /dev/null +++ b/ja_JP.eucJP/man/man9/psignal.9 @@ -0,0 +1,142 @@ +.\" Copyright (c) 1996 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Paul Kranenburg. +.\" +.\" 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. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the NetBSD +.\" Foundation, Inc. and its contributors. +.\" 4. Neither the name of The NetBSD Foundation nor the names of its +.\" contributors may be used to endorse or promote products derived +.\" from this software without specific prior written permission. +.\" +.\" 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 REGENTS 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. +.\" +.\" $NetBSD: psignal.9,v 1.1 1996/06/22 22:57:35 pk Exp $ +.\" %FreeBSD: src/share/man/man9/psignal.9,v 1.7.2.2 2001/12/17 11:30:18 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 22, 1996 +.Dt PSIGNAL 9 +.Os +.Sh ̾¾Î +.Nm psignal , +.Nm pgsignal , +.Nm gsignal +.Nd ¥×¥í¥»¥¹¤Þ¤¿¤Ï¥×¥í¥»¥¹¥°¥ë¡¼¥×¤Ø¤Î¥·¥°¥Ê¥ë¤ÎÇÛ¿® +.Sh ½ñ¼° +.In sys/types.h +.In sys/signalvar.h +.Ft void +.Fn psignal "struct proc *p" "int signum" +.Ft void +.Fn pgsignal "struct pgrp *pgrp" "int signum" "int checkctty" +.Ft void +.Fn gsignal "int pgid" "int signum" +.Sh ²òÀâ +¤³¤ì¤é¤Î´Ø¿ô¤Ï 1 ¤Ä°Ê¾å¤Î¥×¥í¥»¥¹¤Ø¥·¥°¥Ê¥ë¤òÇÛ¿®¤·¤Þ¤¹¡£ +3 ¤Ä¤Î´Ø¿ôÁ´¤Æ¤Ë¶¦Ä̤ʰú¿ô +.Fa signum +¤Ï +.Bq 1- Ns Dv NSIG +¤ÎÈϰϤǤ¢¤ë¤Ù¤­¤Ç¤¹¡£ +.Pp +.Fn psignal +´Ø¿ô¤Ï¥·¥°¥Ê¥ëÈÖ¹æ +.Fa signum +¤ò¥×¥í¥»¥¹¹½Â¤ÂÎ +.Fa p +¤Ë¤è¤Ã¤ÆÉ½¸½¤µ¤ì¤ë¥×¥í¥»¥¹¤ËÇÛ¿®¤·¤Þ¤¹¡£ +°Ê²¼¤Ë¼¨¤¹¾¯¤·¤ÎÎã³°¤¬¤¢¤ê¤Þ¤¹¤¬¡¢ÇÛ¿®Àè¥×¥í¥»¥¹¥·¥°¥Ê¥ëÇÛÃ֤Ϲ¹¿·¤µ¤ì¡¢ +¼Â¹Ô²Äǽ¤È¤·¤Æ¥Þ¡¼¥¯¤µ¤ì¤Þ¤¹¡£¤½¤Î¤¿¤á¤³¤Î¥·¥°¥Ê¥ë¤Î¼è¤ê°·¤¤¤Ï¡¢ +¥³¥ó¥Æ¥­¥¹¥È¥¹¥¤¥Ã¥Á¤Î¸å¤ÇÇÛ¿®Àè¥×¥í¥»¥¹¤Î¥³¥ó¥Æ¥­¥¹¥ÈÆâ¤Ç´°Î»¤·¤Þ¤¹¡£ +.Fn psignal +¤Ï¼«Ê¬¼«¿È¤Ç¥³¥ó¥Æ¥­¥¹¥È¥¹¥¤¥Ã¥Á¤ò°ú¤­µ¯¤³¤¹¤³¤È¤Ï¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ +.Pp +°Ê²¼¤Î¾ì¹ç¤Ë¤Ï¡¢ÇÛ¿®Àè¥×¥í¥»¥¹¤¬¼Â¹Ô²Äǽ¤È¤·¤Æ¥Þ¡¼¥¯¤µ¤ì¤Þ¤»¤ó¡£ +.Bl -bullet -offset indent +.It +ÇÛ¿®Àè¥×¥í¥»¥¹¤¬³ä¤ê¹þ¤ßÉÔ²Äǽ¤Ç̲¤Ã¤Æ¤¤¤Þ¤¹¡£ +¤½¤Î¥·¥°¥Ê¥ë¤Ï¥×¥í¥»¥¹¤¬¥·¥¹¥Æ¥à¥³¡¼¥ë¤Þ¤¿¤Ï¥È¥é¥Ã¥×¤«¤éÌá¤Ã¤¿¤È¤­¤Ë +ÄÌÃΤµ¤ì¤Þ¤¹¡£ +.It +ÇÛ¿®Àè¥×¥í¥»¥¹¤¬¸½ºß¤Ï¥·¥°¥Ê¥ë¤ò̵»ë¤·¤Æ¤¤¤Þ¤¹¡£ +.It +¥Ç¥Õ¥©¥ë¥È¤Î¹Ôư +.Xr ( sigaction 2 +¤ò»²¾È) ¤ò¼è¤ë̲¤Ã¤Æ¤¤¤ë¥×¥í¥»¥¹¤ËÄä»ß¥·¥°¥Ê¥ë¤¬Á÷¤é¤ì¤¿¾ì¹ç¤Ë¤Ï¡¢ +¤½¤Î¥×¥í¥»¥¹¤Ïµ¯¤³¤µ¤ì¤ë¤³¤È¤Ê¤¯Ää»ß¤µ¤»¤é¤ì¤Þ¤¹¡£ +.It +¥·¥°¥Ê¥ë¤Î¹Ôư (Î㤨¤Ð¡¢¥Ö¥í¥Ã¥¯¤Þ¤¿¤Ï̵»ë) ¤Ë¤«¤«¤ï¤é¤º¡¢ +.Dv SIGCONT +¤ÏÄä»ß¤µ¤»¤é¤ì¤Æ¤¤¤ë¥×¥í¥»¥¹¤òºÆ¥¹¥¿¡¼¥È¤µ¤»¤Þ¤¹ (¤Þ¤¿¤Ï¥¹¥ê¡¼¥×¤ËÌᤷ¤Þ¤¹)¡£ +.El +.Pp +ÇÛ¿®Àè¥×¥í¥»¥¹¤¬¥È¥ì¡¼¥¹Ãæ¤Î¾ì¹ç¤Ë¤Ï¡¢ +.Fn psignal +¤Ï¤Þ¤ë¤ÇÇÛ¿®Àè¥×¥í¥»¥¹¤¬ +.Fa signum +¤Î¤¿¤á¤Î¥Ç¥Õ¥©¥ë¥È¤Î¹Ôư¤ò¼è¤Ã¤¿¤«¤Î¤è¤¦¤Ë¿¶Éñ¤¤¤Þ¤¹¡£ +¤³¤ì¤Ï¥È¥ì¡¼¥¹¤·¤Æ¤¤¤ë¥×¥í¥»¥¹¤Ë¤½¤Î¥·¥°¥Ê¥ë¤¬ÄÌÃΤµ¤ì¤ë¤³¤È¤ò²Äǽ¤Ë¤·¤Þ¤¹¡£ +.Pp +.Fn pgsignal +´Ø¿ô¤Ï¥·¥°¥Ê¥ëÈÖ¹æ +.Fa signum +¤ò +.Fa pgrp +¤Ë¤è¤Ã¤Æµ­½Ò¤µ¤ì¤ë¥×¥í¥»¥¹¥°¥ë¡¼¥×¤Î¸Ä¡¹¤Î¥á¥ó¥Ð¤ËÇÛ¿®¤·¤Þ¤¹¡£ +.Fa checkctty +¤¬ 0 ¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢¤½¤Î¥·¥°¥Ê¥ë¤ÏÀ©¸æÃ¼Ëö¤ò»ý¤Ã¤Æ¤¤¤ë¥×¥í¥»¥¹¤Ë¤Î¤ß +ÇÛ¿®¤µ¤ì¤Þ¤¹¡£ +.Fn pgsignal +¤Ï +.Fa pgrp +¤Ë¤è¤Ã¤Æ»Ø¤µ¤ì¤ë¥×¥í¥»¥¹¥°¥ë¡¼¥×¹½Â¤ÂΤΠ+.Li pg_members +¥Õ¥£¡¼¥ë¥É¤Ë¤è¤Ã¤Æ»Ø¤µ¤ì¤ë¥×¥í¥»¥¹¥ê¥¹¥È¤Ë±è¤Ã¤ÆÊ⤭¡¢Å¬ÀÚ¤Ë +.Fn psignal +¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤Ë¤è¤Ã¤Æ¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ +.Fa pgrp +¤¬ +.Dv NULL +¤Î¾ì¹ç¤Ë¤Ï²¿¤Î¹Ôư¤â¼è¤ê¤Þ¤»¤ó¡£ +.Pp +.Fn gsignal +´Ø¿ô¤Ï¥·¥°¥Ê¥ëÈÖ¹æ +.Fa signum +¤ò¥°¥ë¡¼¥× ID +.Fa pgid +¤Ë¤è¤Ã¤Æ¼±Ê̤µ¤ì¤ë¥×¥í¥»¥¹¥°¥ë¡¼¥×¤Î¸Ä¡¹¤Î¥á¥ó¥Ð¤ËÇÛ¿®¤·¤Þ¤¹¡£ +.Fn gsignal +¤ÏºÇ½é¤Ë +.Fa pgid +¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤Æ¤¤¤ë¥°¥ë¡¼¥×¹½Â¤ÂΤò¸«¤Ä¤±¡¢¤½¤ì¤«¤é°ú¿ô +.Fa checkctty +¤ò 0 ¤ËÀßÄꤷ¤Æ +.Fn pgsignal +¤ò¼Â¹Ô¤·¤Þ¤¹¡£ +.Fa pgid +¤¬ 0 ¤Î¾ì¹ç¤Ë¤Ï²¿¤Î¹Ôư¤â¼è¤ê¤Þ¤»¤ó¡£ +.Sh ´ØÏ¢¹àÌÜ +.Xr sigaction 2 , +.Xr tsleep 9 diff --git a/ja_JP.eucJP/man/man9/sbuf.9 b/ja_JP.eucJP/man/man9/sbuf.9 new file mode 100644 index 0000000000..ffc297cbcc --- /dev/null +++ b/ja_JP.eucJP/man/man9/sbuf.9 @@ -0,0 +1,324 @@ +.\"- +.\" Copyright (c) 2000 Poul Henning Kamp and Dag-Erling Coïdan Smørgrav +.\" 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 BY THE AUTHOR 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 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/share/man/man9/sbuf.9,v 1.12.2.3 2001/12/17 11:30:18 ru Exp % +.\" $FreeBSD$ +.\" +.Dd January 28, 2001 +.Dt SBUF 9 +.Os +.Sh ̾¾Î +.Nm sbuf_new , +.Nm sbuf_clear , +.Nm sbuf_setpos , +.Nm sbuf_bcat , +.Nm sbuf_bcopyin , +.Nm sbuf_bcpy , +.Nm sbuf_cat , +.Nm sbuf_copyin , +.Nm sbuf_cpy , +.Nm sbuf_printf , +.Nm sbuf_putc , +.Nm sbuf_overflowed , +.Nm sbuf_finish , +.Nm sbuf_data , +.Nm sbuf_len , +.Nm sbuf_delete +.Nd °ÂÁ´¤Êʸ»úÎó¥Õ¥©¡¼¥Þ¥Ã¥È +.Sh ½ñ¼° +.In sys/types.h +.In sys/sbuf.h +.Ft struct sbuf * +.Fn sbuf_new "struct sbuf *s" "char *buf" "int length" "int flags" +.Ft void +.Fn sbuf_clear "struct sbuf *s" +.Ft int +.Fn sbuf_setpos "struct sbuf *s" "int pos" +.Ft int +.Fn sbuf_bcat "struct sbuf *s" "const char *str" "size_t len" +.Ft int +.Fn sbuf_bcopyin "struct sbuf *s" "const void *uaddr" "size_t len" +.Ft int +.Fn sbuf_bcpy "struct sbuf *s" "const char *str" "size_t len" +.Ft int +.Fn sbuf_cat "struct sbuf *s" "const char *str" +.Ft int +.Fn sbuf_copyin "struct sbuf *s" "const void *uaddr" "size_t len" +.Ft int +.Fn sbuf_cpy "struct sbuf *s" "const char *str" +.Ft int +.Fn sbuf_printf "struct sbuf *s" "const char *fmt" "..." +.Ft int +.Fn sbuf_putc "struct sbuf *s" "int c" +.Ft int +.Fn sbuf_overflowed "struct sbuf *s" +.Ft void +.Fn sbuf_finish "struct sbuf *s" +.Ft char * +.Fn sbuf_data "struct sbuf *s" +.Ft int +.Fn sbuf_len "struct sbuf *s" +.Ft void +.Fn sbuf_delete "struct sbuf *s" +.Sh ²òÀâ +.Nm sbuf +¥Õ¥¡¥ß¥ê¤Î´Ø¿ô¤Ï¡¢¥«¡¼¥Í¥ë¶õ´ÖÆâ¤Î¶­³¦¤Î¤¢¤ë¥Ì¥ë½ªÃ¼Ê¸»úÎó¤Î¡¢ +°ÂÁ´¤Ê³ä¤êÅö¤Æ¡¢¹½ÃÛ¡¢¤ª¤è¤Ó²òÊü¤ò²Äǽ¤Ë¤·¤Þ¤¹¡£ +¤³¤ì¤é¤Î´Ø¿ô¤Ï¡¢Ê¸»ú¤ÎÇÛÎó¤ÎÂå¤ï¤ê¤Ë¡¢ +.Aq Pa sys/sbuf.h +¤ÇÄêµÁ¤µ¤ì¤ë +.Fa sbuf +¤È¸Æ¤Ð¤ì¤ë¹½Â¤ÂΤòÁàºî¤·¤Þ¤¹¡£ +.Pp +.Fn sbuf_new +´Ø¿ô¤ÏºÇ½é¤Î°ú¿ô¤Ç»Ø¤µ¤ì¤ë +.Fa sbuf +¤ò½é´ü²½¤·¤Þ¤¹¡£ +¤½¤Î¥Ý¥¤¥ó¥¿¤¬ +.Dv NULL +¤Î¾ì¹ç¤Ë¤Ï¡¢ +.Fn sbuf_new +¤Ï +.Vt struct sbuf +¹½Â¤ÂΤò +.Xr malloc 9 +¤ò»ÈÍѤ·¤Æ³ä¤êÅö¤Æ¤Þ¤¹¡£ +.Fa buf +°ú¿ô¤Ï¼ÂºÝ¤Ëʸ»úÎ󤬳ÊǼ¤µ¤ì¤ë¥Ð¥Ã¥Õ¥¡¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¡¢ +.Dv NULL +¤Î¾ì¹ç¤Ë¤Ï¡¢ +.Fn sbuf_new +¤Ï +.Xr malloc 9 +¤ò»ÈÍѤ·¤Æ¥Ð¥Ã¥Õ¥¡¤ò³ä¤êÅö¤Æ¤Þ¤¹¡£ +.Fa length +¤Ï³ÊǼ¥Ð¥Ã¥Õ¥¡¤ÎͽÄꤵ¤ì¤¿Â礭¤µ¤Ç¤¹¡£ +4 ÈÖÌܤΰú¿ô +.Fa flags +¤Ï¸½ºß»ÈÍѤµ¤ì¤Æ¤ª¤é¤º¡¢¾ï¤Ë 0 ¤ËÀßÄꤵ¤ì¤ë¤Ù¤­¤Ç¤¹¡£ +.Pp +.Fa buf +¤¬ +.Dv NULL +¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢¾¯¤Ê¤¯¤È¤â +.Fa length +ʸ»ú°Ê¾å¤ÎÇÛÎó¤ò»Ø¤µ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ +.Pp +.Fn sbuf_clear +´Ø¿ô¤Ï +.Fa sbuf +¤ÎÆâÍÆ¤ò̵¸ú¤Ë¤·¡¢°ÌÃÖ¤ò 0 ¤Ë¥ê¥»¥Ã¥È¤·¤Þ¤¹¡£ +.Pp +.Fn sbuf_setpos +´Ø¿ô¤Ï +.Fa sbuf +¤Î¸½ºß°ÌÃÖ¤ò 0 ¤È³ÊǼ¥Ð¥Ã¥Õ¥¡¤ÎÂ礭¤µ¤è¤ê¤â 1 ¾®¤µ¤¤Ãͤδ֤ÎÃͤǤ¢¤ë +.Fa pos +¤ËÀßÄꤷ¤Þ¤¹¡£ +.Pp +.Fn sbuf_bcat +´Ø¿ô¤Ï¥Ð¥¤¥ÈÎó +.Fa str +¤ÎºÇ½é¤Î +.Fa len +¥Ð¥¤¥È¤ò +.Fa sbuf +¤ËÄɲä·¤Þ¤¹¡£ +.Pp +.Fn sbuf_bcopyin +´Ø¿ô¤ÏÌÀ¼¨¤µ¤ì¤¿¥æ¡¼¥¶¶õ´Ö¥¢¥É¥ì¥¹¤«¤é +.Fa sbuf +¤Ë +.Fa len +¥Ð¥¤¥È¤ò¥³¥Ô¡¼¤·¤Þ¤¹¡£ +.Pp +.Fn sbuf_bcpy +´Ø¿ô¤Ï +.Fa sbuf +¤ÎÆâÍÆ¤ò¥Ð¥¤¥ÈÎó +.Fa str +¤ÎºÇ½é¤Î +.Fa len +¥Ð¥¤¥È¤ÇÃÖ¤­´¹¤¨¤Þ¤¹¡£ +.Pp +.Fn sbuf_cat +´Ø¿ô¤Ï NUL ʸ»ú¤Ç½ªÃ¼¤µ¤ì¤¿Ê¸»úÎó +.Fa str +¤ò +.Fa sbuf +¤Î¸½ºß°ÌÃÖ¤ËÄɲä·¤Þ¤¹¡£ +.Pp +.Fn sbuf_copyin +´Ø¿ô¤Ï NUL ʸ»ú¤Ç½ªÃ¼¤µ¤ì¤¿Ê¸»úÎó¤òÌÀ¼¨¤µ¤ì¤¿¥æ¡¼¥¶¶õ´Ö¥¢¥É¥ì¥¹¤«¤é +.Fa sbuf +¤Ë¥³¥Ô¡¼¤·¤Þ¤¹¡£ +.Fa len +°ú¿ô¤¬ 0 ¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ï +.Fa len +ʸ»ú¤ò±Û¤¨¤Ê¤¤Ê¸»ú (½ªÃ¼¤Î NUL ¤Ï¿ô¤¨¤Þ¤»¤ó) ¤¬¥³¥Ô¡¼¤µ¤ì¡¢ +¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ïʸ»úÎóÁ´ÂΡ¢¤Þ¤¿¤Ï +.Fa sbuf +¤ËµÍ¤á¹þ¤à¤³¤È¤¬½ÐÍè¤ë¤À¤±¤Îʸ»ú¤ò¥³¥Ô¡¼¤·¤Þ¤¹¡£ +.Pp +.Fn sbuf_cpy +´Ø¿ô¤Ï +.Fa sbuf +¤ÎÆâÍÆ¤ò NUL ʸ»ú¤Ç½ªÃ¼¤µ¤ì¤¿Ê¸»úÎó +.Fa str +¤ÇÃÖ¤­´¹¤¨¤Þ¤¹¡£ +¤³¤ì¤Ï¿·¤·¤¤ +.Fa sbuf +¤Ç¡¢¤Þ¤¿¤Ï +.Fn sbuf_clear +¤« +.Fn sbuf_setpos +¤Ç¤½¤Î°ÌÃÖ¤ò 0 ¤Ë¥ê¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤ë +.Fa sbuf +¤Ç¡¢ +.Fn sbuf_cat +¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤ÈÅù²Á¤Ç¤¹¡£ +.Pp +.Fn sbuf_printf +´Ø¿ô¤Ï +.Fa fmt +¤Ë¤è¤Ã¤Æ»Ø¤µ¤ì¤Æ¤¤¤ë¥Õ¥©¡¼¥Þ¥Ã¥Èʸ»úÎó¤Ë½¾¤Ã¤Æ¤½¤Î°ú¿ô¤ò¥Õ¥©¡¼¥Þ¥Ã¥È¤·¡¢ +¤½¤Î·ë²Ì¤Îʸ»úÎó¤ò +.Fa sbuf +¤Î¸½ºß°ÌÃÖ¤ËÄɲä·¤Þ¤¹¡£ +.Pp +.Fn sbuf_putc +´Ø¿ô¤Ïʸ»ú +.Fa c +¤ò +.Fa sbuf +¤Î¸½ºß°ÌÃÖ¤ËÄɲä·¤Þ¤¹¡£ +.Pp +.Fn sbuf_overflowed +´Ø¿ô¤Ï +.Fa sbuf +¤¬¥ª¡¼¥Ð¥Õ¥í¡¼¤·¤Æ¤¤¤ë¾ì¹ç¤Ë 0 °Ê³°¤ÎÃͤòÊÖ¤·¤Þ¤¹¡£ +.Pp +.Fn sbuf_finish +´Ø¿ô¤Ï +.Fa sbuf +¤ò¥Ì¥ë¤Ç½ªÃ¼¤·¡¢¤³¤ì°Ê¾å +.Fn sbuf_setpos , +.Fn sbuf_cat , +.Fn sbuf_cpy , +.Fn sbuf_printf +¤Þ¤¿¤Ï +.Fn sbuf_putc +¤ò»ÈÍѤ·¤Æ½¤Àµ¤µ¤ì¤ë¤³¤È¤¬Ìµ¤¤¤³¤È¤ò°ÕÌ£¤¹¤ë´°Î»¥Þ¡¼¥¯¤òÉÕ¤±¤Þ¤¹¡£ +.Pp +.Fn sbuf_data +¤ª¤è¤Ó +.Fn sbuf_len +´Ø¿ô¤Ï¤½¤ì¤¾¤ì¸½ºß¤Îʸ»úÎó¤È¤½¤ÎŤµ¤òÊÖ¤·¤Þ¤¹¡£ +.Fn sbuf_data +¤Ï´°Î»¤·¤¿ +.Fa sbuf +¤ËÂФ·¤Æ¤Î¤ßµ¡Ç½¤·¤Þ¤¹¡£ +.Pp +ºÇ¸å¤Ë¡¢ +.Fn sbuf_delete +´Ø¿ô¤Ï +.Fa sbuf +¤ò¥¯¥ê¥¢¤·¡¢ +.Fn sbuf_new +¤Ë¤è¤Ã¤Æ³ÊǼ¥Ð¥Ã¥Õ¥¡¤ò³ä¤êÅö¤Æ¤é¤ì¤Æ¤¤¤ì¤Ð¡¢¤½¤ì¤ò²òÊü¤·¤Þ¤¹¡£ +.Sh Ãí +¤¢¤ëÁàºî¤¬ +.Fa sbuf +¤ò¥ª¡¼¥Ð¥Õ¥í¡¼¤µ¤»¤¿¾ì¹ç¤Ë¤Ï¡¢¤½¤Î +.Fa sbuf +¤¬ +.Fn sbuf_finish +¤ò»ÈÍѤ·¤Æ´°Î»¤µ¤»¤é¤ì¤ë¡¢¤Þ¤¿¤Ï +.Fn sbuf_clear +¤ò»ÈÍѤ·¤Æ¥ê¥»¥Ã¥È¤µ¤ì¤ë¡¢¤Þ¤¿¤Ï +.Fn sbuf_setpos +¤ò»ÈÍѤ·¤Æ¤½¤Î°ÌÃÖ¤ò 0 ¤«¤é³ÊǼ¥Ð¥Ã¥Õ¥¡¤ÎÂ礭¤µ¤è¤ê 1 ¾®¤µ¤¤ÃͤޤǤÎÃÍ¤Ë +¥ê¥»¥Ã¥È¤µ¤ì¤ë¡¢¤Þ¤¿¤Ï +.Fn sbuf_cpy +¤ò»ÈÍѤ·¤Æ½½Ê¬¤Ëû¤¤Ê¸»úÎó¤Ë½é´ü²½¤µ¤ì¤ë¤Þ¤Ç¤Î´Ö¤Ï¡¢¸å¤Ë³¤¯¤Û¤È¤ó¤É¤Î¤½¤Î +.Fa sbuf +¤ËÂФ¹¤ëÁàºî¤Ï¼ºÇÔ¤¹¤ë¤Ç¤·¤ç¤¦¡£ +.Sh Ìá¤êÃÍ +.Fn sbuf_new +¤Ï³ÊǼ¥Ð¥Ã¥Õ¥¡¤Î³ä¤êÅö¤Æ¤Ë¼ºÇÔ¤·¤¿¾ì¹ç¤Ë¤Ï +.Dv NULL +¤òÊÖ¤·¡¢¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ï¿·¤·¤¤ +.Fa sbuf +¤Ø¤Î¥Ý¥¤¥ó¥¿¤òÊÖ¤·¤Þ¤¹¡£ +.Pp +.Fn sbuf_setpos +¤Ï +.Fa pos +¤¬ÉÔÀµ¤Ê¾ì¹ç¤Ë¤Ï \-1 ¤òÊÖ¤·¡¢¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ï 0 ¤òÊÖ¤·¤Þ¤¹¡£ +.Pp +.Fn sbuf_cat , +.Fn sbuf_cpy , +.Fn sbuf_printf , +¤ª¤è¤Ó +.Fn sbuf_putc +¤ÏÁ´¤Æ¥Ð¥Ã¥Õ¥¡¤¬¥ª¡¼¥Ð¥Õ¥í¡¼¤·¤¿¾ì¹ç¤Ë¤Ï \-1 ¤òÊÖ¤·¡¢ +¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ï 0 ¤òÊÖ¤·¤Þ¤¹¡£ +.Pp +.Fn sbuf_overflowed +¤Ï¥Ð¥Ã¥Õ¥¡¤¬¥ª¡¼¥Ð¥Õ¥í¡¼¤·¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï 0 °Ê³°¤ËÃͤòÊÖ¤·¡¢ +¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ï 0 ¤òÊÖ¤·¤Þ¤¹¡£ +.Pp +.Fn sbuf_data +¤ª¤è¤Ó +.Fn sbuf_len +¤Ï¥Ð¥Ã¥Õ¥¡¤¬¥ª¡¼¥Ð¥Õ¥í¡¼¤·¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢¤½¤ì¤¾¤ì +.Dv NULL +¤ª¤è¤Ó \-1 ¤òÊÖ¤·¤Þ¤¹¡£ +.Sh ´ØÏ¢¹àÌÜ +.Xr printf 3 , +.Xr strcat 3 , +.Xr strcpy 3 , +.Xr copyin 9 , +.Xr copyinstr 9 +.Sh Îò»Ë +.Nm sbuf +¥Õ¥¡¥ß¥ê¤Î´Ø¿ô¤Ï +.Fx 4.4 +¤Ç¤Ï¤¸¤á¤ÆÅо줷¤Þ¤·¤¿¡£ +.Sh ºî¼Ô +.An -nosplit +.Nm sbuf +¥Õ¥¡¥ß¥ê¤Î´Ø¿ô¤Ï +.An Poul-Henning Kamp Aq phk@FreeBSD.org +¤¬À߷פ·¡¢ +.An Dag-Erling Co\(:idan Sm\(/orgrav Aq des@FreeBSD.org +¤¬¼ÂÁõ¤·¤Þ¤·¤¿¡£ +ÄɲäβþÎÉ¤Ï +.An Justin T. Gibbs Aq gibbs@FreeBSD.org +¤¬Ä󰯤·¤Þ¤·¤¿¡£ +.Pp +¤³¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ï +.An Dag-Erling Co\(:idan Sm\(/orgrav +¤¬½ñ¤­¤Þ¤·¤¿¡£ diff --git a/ja_JP.eucJP/man/man9/suser.9 b/ja_JP.eucJP/man/man9/suser.9 new file mode 100644 index 0000000000..830a054c70 --- /dev/null +++ b/ja_JP.eucJP/man/man9/suser.9 @@ -0,0 +1,102 @@ +.\" +.\" Copyright (c) 1996 Julian R Elischer +.\" All rights reserved. +.\" +.\" This code is derived from software contributed by Kenneth Stailey. +.\" +.\" 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. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed for the FreeBSD Project +.\" by Julian R Elischer +.\" 4. The name of the author may not be used to endorse or promote products +.\" derived from this software without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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/share/man/man9/suser.9,v 1.9.2.5 2001/12/17 11:30:19 ru Exp % +.\" $FreeBSD$ +.\" +.Dd October 15, 1996 +.Dt SUSER 9 +.Os +.Sh ̾¾Î +.Nm suser +.Nd ¥¹¡¼¥Ñ¥æ¡¼¥¶¤«¤É¤¦¤«¤Î¥Á¥§¥Ã¥¯¤Èµ­Ï¿ +.Sh ½ñ¼° +.In sys/param.h +.In sys/proc.h +.In sys/ucred.h +.Ft int +.Fn suser "struct proc *proc" +.Ft int +.Fn suser_xxx "struct ucred *cred" "struct proc *proc" "int flags" +.Sh ²òÀâ +.Nm +¤ª¤è¤Ó +.Nm suser_xxx +´Ø¿ô¤Ï¡¢¥¹¡¼¥Ñ¥æ¡¼¥¶¤Î¸¢¸Â¤ò´Þ¤à¾ÚÌÀ¤¬Í¿¤¨¤é¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«¤ò¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£ +.Pp +.Nm +´Ø¿ô¤ÏºÇ¤âÉáÄ̤ǡ¢ÆÃÊ̤ʻö¾ð¤¬¤½¤Î¾¤ÎÊýË¡¤òÍ׵᤹¤ë¤Î¤Ç¤Ê¤±¤ì¤Ð¡¢ +¤³¤ì¤¬»ÈÍѤµ¤ì¤ë¤Ù¤­¤Ç¤¹¡£ +.Pp +.Nm suser_xxx +´Ø¿ô¤Ï¡¢¥Á¥§¥Ã¥¯¤µ¤ì¤ë¤Ù¤­¾ÚÌÀ¤¬¤½¤Î¥×¥í¥»¥¹¼«¿È¤Î¤â¤Î¤Ç¤Ê¤¤»þ¡¢ +¥×¥í¥»¥¹¤¬Â¸ºß¤·¤Ê¤¤»þ¡¢¤Þ¤¿¤Ï¥¹¡¼¥Ñ¥æ¡¼¥¶¤Î¸¢¸Â¤¬ +ÊĤ¸¹þ¤á¤é¤ì¤¿ root ¤Ë³ÈÂ礵¤ì¤ë¤Ù¤­»þ¤Ë¡¢»ÈÍѤµ¤ì¤ë¤Ù¤­¤Ç¤¹¡£ +.Pp +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢ +.Xr jail 2 +¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ë¤è¤Ã¤ÆÊĤ¸¹þ¤á¤é¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢ +¥×¥í¥»¥¹¤Ï¥¹¡¼¥Ñ¥æ¡¼¥¶¤Î¸¢¸Â¤ò»ý¤Á¤Þ¤»¤ó¡£ +¤·¤«¤·¤Ê¤¬¤é¡¢¤³¤ì¤¬Å¬Àڤʾì¹ç¤¬¤¢¤ê¡¢ +.Nm suser_xxx +´Ø¿ô¤Ø¤Î flags °ú¿ô¤Î +.Dv PRISON_ROOT +¥Ó¥Ã¥È¤òÀßÄꤹ¤ë¤³¤È¤Ë¤è¤Ã¤Æ¼Â¸½¤µ¤ì¤Þ¤¹¡£ +¤³¤ì¤¬Ï´²°¤ò¼å¤¯¤·¤Ê¤¤¤³¤È¤ò¡¢Ãí°Õ¿¼¤¯ºÆÄ´ºº¤¹¤ë¤³¤È¤¬½ÅÍפǤ¹¡£ +°ìÈÌŪ¤Ë¤Ï +.Xr jail 2 +¸Æ¤Ó½Ð¤·¤ÎÃæ¤Î°ÅÌۤΠ+.Xr chroot 2 +¤Ë¤è¤Ã¤Æ¹Ôư¤¬Êݸ¤ì¤Æ¤¤¤ë¾ì½ê¤Î¤ß¤Ë¤ª¤¤¤Æ¡¢ +¤³¤Î¤è¤¦¤Ê¸¢¸Â¤ò¾µÂú¤µ¤ì¤ë¤Ù¤­¤Ç¤¹¡£ +.Pp +.Nm +¤ª¤è¤Ó +.Nm suser_xxx +´Ø¿ô¤Ï¡¢¥¹¡¼¥Ñ¥æ¡¼¥¶¤Î¸¢¸Â¤¬»ÈÍѤµ¤ì¤¿»ö¤ò¡¢ +»ØÄꤵ¤ì¤¿¥×¥í¥»¥¹¤Î¥×¥í¥»¥¹¹½Â¤ÂÎÃæ¤Ëµ­Ï¿¤·¤Þ¤¹¡£ +¤³¤ì¤é¤Î´Ø¿ô¤Îµ¡Ç½¤Î°ìÉô¤Ï¡¢¥¹¡¼¥Ñ¥æ¡¼¥¶¤Î¸¢¸Â¤¬»ÈÍѤµ¤ì¤¿¤«¤É¤¦¤«¤ò +ÄÌÃΤ¹¤ë¤³¤È¤Ë¤¢¤ê¤Þ¤¹¤Î¤Ç¡¢ +¾¤Î¥Ñ¡¼¥ß¥·¥ç¥ó¤Î²ÄǽÀ­¤¬»È¤¤¿Ô¤¯¤µ¤ì¤¿¸å¤Ç¤Î¤ß¡¢ +¤³¤ì¤é´Ø¿ô¤ò¸Æ¤Ó½Ð¤¹¤Ù¤­¤Ç¤¹¡£ +.Sh Ìá¤êÃÍ +.Nm +¤ª¤è¤Ó +.Nm suser_xxx +´Ø¿ô¤Ï¡¢¤½¤Î¥æ¡¼¥¶¤¬¥¹¡¼¥Ñ¥æ¡¼¥¶¤Î¸¢¸Â¤ò»ý¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï 0 ¤òÊÖ¤·¡¢ +¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ï +.Er EPERM +¤òÊÖ¤·¤Þ¤¹¡£ +¤³¤ì¤Ï¡¢TRUE ¤Î±þÅú¤¬¥¹¡¼¥Ñ¥æ¡¼¥¶¸¢¸Â¤ò»ý¤Ä¤³¤È¤ò¼¨¤¹¤è¤¦¤Ê¾¤Î¼ÂÁõ¤È¤Ï +.Em µÕ¤ÎÏÀÍý +¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ diff --git a/ja_JP.eucJP/man/man9/sysctl_add_oid.9 b/ja_JP.eucJP/man/man9/sysctl_add_oid.9 new file mode 100644 index 0000000000..bcd63afe45 --- /dev/null +++ b/ja_JP.eucJP/man/man9/sysctl_add_oid.9 @@ -0,0 +1,485 @@ +.\" +.\" Copyright (c) 2000, Andrzej Bialecki +.\" 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. +.\" 3. The name of the author may not be used to endorse or promote products +.\" derived from this software without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 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/share/man/man9/sysctl_add_oid.9,v 1.3.2.10 2001/12/17 11:30:19 ru Exp % +.\" $FreeBSD$ +.\" +.Dd July 15, 2000 +.Dt SYSCTL_ADD_OID 9 +.Os +.Sh ̾¾Î +.Nm sysctl_add_oid , +.Nm sysctl_remove_oid +.Nd ¥é¥ó¥¿¥¤¥à sysctl ¥Ä¥ê¡¼Áàºî +.Sh ½ñ¼° +.In sys/sysctl.h +.Ft struct sysctl_oid * +.Fo sysctl_add_oid +.Fa "struct sysctl_ctx_list *ctx" +.Fa "struct sysctl_oid_list *parent" +.Fa "int number" +.Fa "char *name" +.Fa "int kind" +.Fa "void *arg1" +.Fa "int arg2" +.Fa "int (*handler) (SYSCTL_HANDLER_ARGS)" +.Fa "char *format" +.Fa "char *descr" +.Fc +.Ft int +.Fo sysctl_remove_oid +.Fa "struct sysctl_oid *oidp" +.Fa "int del" +.Fa "int recurse" +.Fc +.Ft struct sysctl_oid_list * +.Fo SYSCTL_CHILDREN +.Fa "struct sysctl_oid *oidp" +.Fc +.Ft struct sysctl_oid_list * +.Fo SYSCTL_STATIC_CHILDREN +.Fa "OID_NAME" +.Fc +.Ft struct sysctl_oid * +.Fo SYSCTL_ADD_OID +.Fa "struct sysctl_ctx_list *ctx" +.Fa "struct sysctl_oid_list *parent" +.Fa "int number" +.Fa "NAME" +.Fa "int kind" +.Fa "void *arg1" +.Fa "int arg2" +.Fa "int (*handler) (SYSCTL_HANDLER_ARGS)" +.Fa "char *format" +.Fa "char *descr" +.Fc +.Ft struct sysctl_oid * +.Fo SYSCTL_ADD_NODE +.Fa "struct sysctl_ctx_list *ctx" +.Fa "struct sysctl_oid_list *parent" +.Fa "int number" +.Fa "NAME" +.Fa "int access" +.Fa "int (*handler) (SYSCTL_HANDLER_ARGS)" +.Fa "char *descr" +.Fc +.Ft struct sysctl_oid * +.Fo SYSCTL_ADD_STRING +.Fa "struct sysctl_ctx_list *ctx" +.Fa "struct sysctl_oid_list *parent" +.Fa "int number" +.Fa "NAME" +.Fa "int access" +.Fa "char *arg" +.Fa "0" +.Fa "char *descr" +.Fc +.Ft struct sysctl_oid * +.Fo SYSCTL_ADD_INT +.Fa "struct sysctl_ctx_list *ctx" +.Fa "struct sysctl_oid_list *parent" +.Fa "int number" +.Fa "NAME" +.Fa "int access" +.Fa "int *arg" +.Fa "0" +.Fa "char *descr" +.Fc +.Ft struct sysctl_oid * +.Fo SYSCTL_ADD_UINT +.Fa "struct sysctl_ctx_list *ctx" +.Fa "struct sysctl_oid_list *parent" +.Fa "int number" +.Fa "NAME" +.Fa "int access" +.Fa "unsigned int *arg" +.Fa "0" +.Fa "char *descr" +.Fc +.Ft struct sysctl_oid * +.Fo SYSCTL_ADD_LONG +.Fa "struct sysctl_ctx_list *ctx" +.Fa "struct sysctl_oid_list *parent" +.Fa "int number" +.Fa "NAME" +.Fa "int access" +.Fa "long *arg" +.Fa "0" +.Fa "char *descr" +.Fc +.Ft struct sysctl_oid * +.Fo SYSCTL_ADD_ULONG +.Fa "struct sysctl_ctx_list *ctx" +.Fa "struct sysctl_oid_list *parent" +.Fa "int number" +.Fa "NAME" +.Fa "int access" +.Fa "unsigned long *arg" +.Fa "0" +.Fa "char *descr" +.Fc +.Ft struct sysctl_oid * +.Fo SYSCTL_ADD_OPAQUE +.Fa "struct sysctl_ctx_list *ctx" +.Fa "struct sysctl_oid_list *parent" +.Fa "int number" +.Fa "NAME" +.Fa "int access" +.Fa "void *arg" +.Fa "size_t *len" +.Fa "char *descr" +.Fc +.Ft struct sysctl_oid * +.Fo SYSCTL_ADD_STRUCT +.Fa "struct sysctl_ctx_list *ctx" +.Fa "struct sysctl_oid_list *parent" +.Fa "int number" +.Fa "NAME" +.Fa "int access" +.Fa "struct TYPE *arg" +.Fa "TYPE" +.Fa "char *descr" +.Fc +.Ft struct sysctl_oid * +.Fo SYSCTL_ADD_PROC +.Fa "struct sysctl_ctx_list *ctx" +.Fa "struct sysctl_oid_list *parent" +.Fa "int number" +.Fa "NAME" +.Fa "int access" +.Fa "0" +.Fa "0" +.Fa "int (*handler) (SYSCTL_HANDLER_ARGS)" +.Fa "char *format" +.Fa "char *descr" +.Fc +.Sh ²òÀâ +¤³¤ì¤é¤Î´Ø¿ô¤ª¤è¤Ó¥Þ¥¯¥í¤Ï sysctl oid ¤Î¥é¥ó¥¿¥¤¥à (Î㤨¤Ð¥â¥¸¥å¡¼¥ë¤Î +¸ºß´ü´Ö) ¤Ç¤ÎºîÀ®¤Èºï½ü¤Î¤¿¤á¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÄ󶡤·¤Þ¤¹¡£ +¥ê¥ó¥«¥»¥Ã¥È (¾ÜºÙ¤Ï +.Aq sys/linker_set.h +¤ª¤è¤Ó +.\" XXX ¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ï¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î»²¾È¤òÈò¤±¤ë¤Ù¤­¤Ç¤¹¡£ +.Pa src/sys/kern/kern_sysctl.c +¤ò»²¾È) +¤Ë´ð¤Å¤¯Âå¤ï¤ê¤ÎÊýË¡¤Ï¡¢³Æ¡¹¤Î¥â¥¸¥å¡¼¥ë¤Î¥í¡¼¥É»þ¤ª¤è¤Ó¥¢¥ó¥í¡¼¥É»þ¤Î +ºîÀ®¤Èºï½ü¤Î¤ß¤ò²Äǽ¤Ë¤·¤Þ¤¹¡£ +.Pp +·¿ +.Dv CTLTYPE_NODE +¤ÎưŪ¤Ê oid ¤ÏºÆÍøÍѲÄǽ¤Ç¤¢¤ë¤¿¤á¡¢Ê£¿ô¤Î¥³¡¼¥É¥»¥¯¥·¥ç¥ó¤¬¡¢ +oid ¤òºîÀ®¤ª¤è¤Óºï½ü¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£ +¼ÂºÝ¤Ë¤Ï¡¢»²¾È¥«¥¦¥ó¥È¤Ë´ð¤Å¤¤¤Æ¡¢¤½¤Î³ä¤êÅö¤Æ¤ª¤è¤Ó²òÊü¤¬¹Ô¤ï¤ì¤Þ¤¹¡£ +¤½¤Î·ë²Ì¤È¤·¤Æ¡¢2 ¤Ä°Ê¾å¤Î¥³¡¼¥É¥»¥¯¥·¥ç¥ó¤¬¡¢ÉôʬŪ¤Ë½Å¤Ê¤ê¡¢ +ξ¼Ô¤¬»ÈÍѤǤ­¤ë¥Ä¥ê¡¼¤òºîÀ®²Äǽ¤Ë¤·¤Þ¤¹¡£ +½Å¤Ê¤ëÍդκîÀ®¤ä¡¢Æ±°ì¤Î̾Á°¤È¿Æ¤ò»ý¤Ä°Û¤Ê¤ë·¿¤Î»Ò¤ÎºîÀ®¤Ï¡¢ +ÉÔ²Äǽ¤Ç¤¹¡£ +.Pp +¿·¤·¤¯ºîÀ®¤µ¤ì¤¿ oid ¤Ï¿Æ¤Î¥Î¡¼¥É¤ËÀܳ¤µ¤ì¤Þ¤¹¡£ +¤³¤ì¤éÁ´¤Æ¤Î´Ø¿ô¤ª¤è¤Ó¥Þ¥¯¥í +.Fn ( sysctl_remove_oid +¤ÏÎã³°) ¤Ë¤ª¤¤¤Æ¡¢É¬¿Ü¥Ñ¥é¥á¡¼¥¿¤Î 1 ¤Ä +.Fa parent +¤Ï¡¢»Ò¤Î¿Æ¥ê¥¹¥È¤ÎÀèÆ¬¤ò»Ø¤·¤Þ¤¹¡£ +.Pp +ËØ¤É¤Î¥È¥Ã¥×¥ì¥Ù¥ë¤Î¥«¥Æ¥´¥ê¤ÏÀÅŪ¤ËºîÀ®¤µ¤ì¤Þ¤¹¡£ +´û¸¤ÎÀÅŪ¤Ê oid ¤ËÀܳ¤¹¤ë¤È¤­¤Ë¡¢¤³¤Î¥Ý¥¤¥ó¥¿¤Ï +.Fn SYSCTL_STATIC_CHILDREN +¥Þ¥¯¥í¤Ë¤è¤Ã¤Æ¼èÆÀ¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¡¢¤½¤Î +.Fa OID_NAME +°ú¿ô¤Ï +.Dv CTLTYPE_NODE +·¿¤Î¿Æ oid ¤Î̾Á° (¤¹¤Ê¤ï¤Á¡¢ +.Xr sysctl 8 +¤Ë¤è¤Ã¤ÆÉ½¼¨¤µ¤ì¤ë̾Á°¤Ë¡¢ +¥¢¥ó¥À¥¹¥³¥¢¤òÁ°ÃÖ¤·¡¢Á´¤Æ¤Î¥É¥Ã¥È¤ò¥¢¥ó¥À¥¹¥³¥¢¤ÇÃÖ¤­´¹¤¨¤¿Ì¾Á°) ¤Ç¤¹¡£ +.Pp +´û¸¤ÎưŪ¤Ê oid ¤ËÀܳ¤¹¤ë¤È¤­¤Ë¡¢¤³¤Î¥Ý¥¤¥ó¥¿¤Ï +.Fn SYSCTL_CHILDREN +¥Þ¥¯¥í¤Ë¤è¤Ã¤Æ¼èÆÀ¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¡¢¤½¤Î +.Fa oidp +°ú¿ô¤Ï +.Dv CTLTYPE_NODE +·¿¤Î¿Æ oid ¤ò»Ø¤·¤Þ¤¹¡£ +.Pp +.Fn sysctl_add_oid +´Ø¿ô¤Ï¤¢¤é¤æ¤ë·¿¤ÎÀ¸¤Î oid ¤òºîÀ®¤·¤Þ¤¹¡£ +oid ¤ÎºîÀ®¤¬À®¸ù¤·¤¿¾ì¹ç¤Ë¤Ï¡¢¤³¤Î´Ø¿ô¤Ï¤½¤Î oid ¤Ø¤Î¥Ý¥¤¥ó¥¿¤òÊÖ¤·¤Þ¤¹¡£ +¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢ +.Dv NULL +¤òÊÖ¤·¤Þ¤¹¡£ +.Fn sysctl_add_oid +¤Î¤¿¤á¤Î°ú¿ô¤Î¿¤¯¤Ï¥Þ¥¯¥í¤È¶¦Ä̤Ǥ¹¡£ +°ú¿ô¤Ï°Ê²¼¤Î¤È¤ª¤ê¤Ç¤¹¡£ +.Bl -tag -width handler +.It Fa ctx +¥ª¥×¥·¥ç¥ó¤Î sysctl ¥³¥ó¥Æ¥­¥¹¥È¤Ø¤Î¥Ý¥¤¥ó¥¿¡¢¤Þ¤¿¤Ï +.Dv NULL +¤Ç¤¹¡£ +¾ÜºÙ¤Ï +.Xr sysctl_ctx_init 9 +¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ +ÆÃÊ̤ʺîÀ®¤ª¤è¤Óºï½ü¤Î¥·¡¼¥±¥ó¥¹¤¬Í׵ᤵ¤ì¤ë¤Î¤Ç¤Ê¤±¤ì¤Ð¡¢ +ºîÀ®¤¹¤ëưŪ¤Ê oid ¤òÁÈ¿¥¤¹¤ë¤¿¤á¤Ë¥³¥ó¥Æ¥­¥¹¥È¤ò»ÈÍѤ¹¤ë¤³¤È¤ò¡¢ +¥×¥í¥°¥é¥Þ¤Ï¶¯¤¯´«¹ð¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ +.Fa ctx +¤¬ +.Dv NULL +¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢¿·¤·¤¯ºîÀ®¤µ¤ì¤ë oid ¤ÏºÇ½é¤Î¥¨¥ó¥È¥ê¤È¤·¤Æ¤³¤Î¥³¥ó¥Æ¥­¥¹¥È¤Ë +Äɲ䵤ì¤Þ¤¹¡£ +.It Fa parent +»Ò¤Î¿Æ¥ê¥¹¥È¤ÎÀèÆ¬¤Ç¤¢¤ë +.Li struct sysctl_oid_list +¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¹¡£ +.It Fa number +¤³¤Î oid ¤Ë³ä¤êÅö¤Æ¤é¤ì¤ë oid ÈÖ¹æ¤Ç¤¹¡£ +ËØ¤ÉÁ´¤Æ¤Î¾ì¹ç¡¢¤³¤ì¤Ï³ä¤êÅö¤Æ»þ¤Ë¼¡¤ÎÍøÍѲÄǽ¤Ê oid ÈÖ¹æ¤Ë¤Ê¤ë +.Dv OID_AUTO +¤ËÀßÄꤵ¤ì¤ë¤Ù¤­¤Ç¤¹¡£ +.It Fa name +¤³¤Î oid ¤Î̾Á°¤Ç¤¹¡£ +¿·¤·¤¯ºîÀ®¤µ¤ì¤¿ oid ¤Ï̾Á°¤Î¥³¥Ô¡¼¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹¡£ +.It Fa kind +oid ¤Î¼ïÎà¤Ç¡¢ +.Aq sys/sysctl.h +¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤ÎÃæ¤ÇÄêµÁ¤µ¤ì¤ë·¿¤È¥¢¥¯¥»¥¹ÃͤΥӥåȥޥ¹¥¯¤È¤·¤ÆÌÀ¼¨¤µ¤ì¤Þ¤¹¡£ +ưŪ¤ËºîÀ®¤µ¤ì¤¿ oid ¤Ï¾ï¤Ë +.Dv CTLTYPE_DYN +¥Õ¥é¥°¤¬ÀßÄꤵ¤ì¤Þ¤¹¡£ +¥¢¥¯¥»¥¹¥Õ¥é¥°¤Ï¤³¤Î oid ¤¬ÆÉ¤ß¼è¤êÀìÍѤ«ÆÉ¤ß½ñ¤­²Äǽ¤«¡¢¤ª¤è¤Ó +Á´¤Æ¤Î¥æ¡¼¥¶¤Ë¤è¤Ã¤Æ¤Þ¤¿¤Ï¥¹¡¼¥Ñ¥æ¡¼¥¶¤Ë¤è¤Ã¤Æ¤Î¤ß½¤Àµ²Äǽ¤«¤òÌÀ¼¨¤·¤Þ¤¹¡£ +.It Fa arg1 +oid ¤¬»²¾È¤¹¤Ù¤­¤¢¤é¤æ¤ë¥Ç¡¼¥¿¤Ø¤Î¥Ý¥¤¥ó¥¿¡¢¤Þ¤¿¤Ï +.Dv NULL +¤Ç¤¹¡£ +.It Fa arg2 +.Fa arg1 +¤ÎÂ礭¤µ¡¢¤Þ¤¿¤Ï +.Fa arg1 +¤¬ +.Dv NULL +¤Ç¤¢¤ì¤Ð 0 ¤Ç¤¹¡£ +.It Fa handler +¤³¤Î oid ¤Ø¤ÎÆÉ¤ß½ñ¤­Í×µá¤ò¼è¤ê°·¤¦ÀÕǤ¤¬¤¢¤ë´Ø¿ô¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¹¡£ +¥Î¡¼¥É¡¢À°¿ô¡¢Ê¸»úÎ󡢤ª¤è¤ÓÉÔÆ©ÌÀ¤Ê¥ª¥Ö¥¸¥§¥¯¥È¤ÎÁàºî¤ò¥µ¥Ý¡¼¥È¤¹¤ë +´ö¤Ä¤«¤Îɸ½à¥Ï¥ó¥É¥é¤¬Â¸ºß¤·¤Æ¤¤¤Þ¤¹¡£ +.Fn SYSCTL_ADD_PROC +¥Þ¥¯¥í¤ò»ÈÍѤ·¤Æ¿·¤·¤¤¥Ï¥ó¥É¥é¤òÄêµÁ¤¹¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£ +.It Fa format +oid ¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤òµ­¹æÅª¤ËÌÀ¼¨¤¹¤ëʸ»úÎó¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¹¡£ +¤³¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤Ï¡¢É½¼¨ÌÜŪ¤Î¤¿¤á¤ÎŬÀڤʥǡ¼¥¿¥Õ¥©¡¼¥Þ¥Ã¥È¤òŬÍѤ¹¤ë¤¿¤á¤Ë +.Xr sysctl 8 +¤Ë¤è¤Ã¤Æ¥Ò¥ó¥È¤È¤·¤Æ»ÈÍѤµ¤ì¤Þ¤¹¡£ +¸½ºß»ÈÍѤµ¤ì¤Æ¤¤¤ë¥Õ¥©¡¼¥Þ¥Ã¥È̾¤Ï°Ê²¼¤Î¤È¤ª¤ê¤Ç¤¹¡£ +.Dq N +¤Ï¥Î¡¼¥É¡¢ +.Dq A +¤Ï +.Li "char *" +·¿¡¢ +.Dq I +¤Ï +.Li "int" +·¿¡¢ +.Dq IU +¤Ï +.Li "unsigned int" +·¿¡¢ +.Dq L +¤Ï +.Li "long" +·¿¡¢ +.Dq LU +¤Ï +.Li "unsigned long" +·¿¡¢¤ª¤è¤Ó +.Dq S,TYPE +¤Ï +.Li "struct TYPE" +¹½Â¤ÂΤǤ¹¡£ +.It Fa descr +¤³¤Î oid ¤Î²òÀâ¥Æ¥­¥¹¥È¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¹¡£ +.El +.Pp +.Fn sysctl_remove_oid +´Ø¿ô¤ÏưŪ¤ËºîÀ®¤µ¤ì¤¿ oid ¤ò¥Ä¥ê¡¼¤«¤éºï½ü¤·¡¢ +¥ª¥×¥·¥ç¥ó¤Ç¤½¤Î¥ê¥½¡¼¥¹¤ò²òÊü¤·¤Þ¤¹¡£ +¤³¤ì¤Ï°Ê²¼¤Î°ú¿ô¤ò¼è¤ê¤Þ¤¹¡£ +.Bl -tag -width recurse +.It Fa oidp +ºï½ü¤µ¤ì¤ë¤Ù¤­Æ°Åª¤Ê oid ¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¹¡£ +oid ¤¬Æ°Åª¤Ç¤Ê¤¤¡¢¤Þ¤¿¤Ï¥Ý¥¤¥ó¥¿¤¬ +.Dv NULL +¤Î¾ì¹ç¤Ë¤Ï¡¢¤³¤Î´Ø¿ô¤Ï +.Er EINVAL +¤òÊÖ¤·¤Þ¤¹¡£ +.It Fa del +0 ¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢oid ¤Î»²¾È¥«¥¦¥ó¥È¤¬ 0 ¤Ë¤Ê¤Ã¤¿»þ¤Ë¡¢ +.Fn sysctl_remove_oid +¤Ï oid ¤Î¥ê¥½¡¼¥¹¤ò²òÊü¤·¤è¤¦¤È¤·¤Þ¤¹¡£ +¤·¤«¤·¤Ê¤¬¤é +.Fa del +¤¬ 0 ¤ËÀßÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢¤³¤Î¥ë¡¼¥Á¥ó¤Ï oid ¤Î¥ê¥½¡¼¥¹¤Î²òÊü¤ò¤»¤º¤Ë +¥Ä¥ê¡¼¤«¤é oid ¤ÎÅÐÏ¿Ëõ¾Ã¤Î¤ß¤ò¹Ô¤Ê¤¤¤Þ¤¹¡£ +¤³¤Î¿¶Éñ¤¤¤Ï¡¢¸Æ¤Ó½Ð¤·Â¦¤¬¸å¤Ç (¤Ò¤ç¤Ã¤È¤¹¤ë¤ÈÉôʬŪ¤Ë¼ºÇÔ¤¹¤ë) ¿¿ô¤Î oid ¤Î +ºï½ü¤Î¥í¡¼¥ë¥Ð¥Ã¥¯¤òͽ´ü¤·¤Æ¤¤¤ë»þ¤Ë¡¢Í­ÍѤǤ¹¡£ +.It Fa recurse +0 ¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢¤½¤Î¥Î¡¼¥É¤È¤½¤Î»Ò¤òºï½ü¤·¤è¤¦¤È¤·¤Þ¤¹¡£ +.Pa recurse +¤¬ 0 ¤ËÀßÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢¤¢¤é¤æ¤ë»Ò¤ò´Þ¤à¥Î¡¼¥É¤Îºï½ü¤Î»î¤ß¤Ï +.Er ENOTEMPTY +¥¨¥é¡¼¤òȯÀ¸¤µ¤»¤Þ¤¹¡£ +.Em ·Ù¹ð : "ºÆµ¢Åª¤Êºï½ü¤ÏÈó¾ï¤ÊÃí°Õ¤òʧ¤Ã¤Æ»ÈÍѤ¹¤ë¤³¤È" ! +Ä̾¥³¥ó¥Æ¥­¥¹¥È¤¬»ÈÍѤµ¤ì¤Æ¤¤¤ì¤Ð¡¢É¬ÍפȤµ¤ì¤ë¤Ù¤­¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ +¥³¥ó¥Æ¥­¥¹¥È¤Ï¥Ä¥ê¡¼¤ÎÍøÍѼԴ֤ΰ͸À­¤ÎÄÉÀפËÃí°Õ¤·¤Æ¤¤¤Þ¤¹¡£ +¤·¤«¤·¤Ê¤¬¤é¡¢¤¢¤ë¶Ëü¤Ê¾ì¹ç¤Ë¤Ï¡¢¤¢¤ë¾¤Î¥ê¥½¡¼¥¹¤ò²òÊü¤¹¤ë¤¿¤á¤Ë¡¢ +¤½¤ì¤¬¤É¤Î¤è¤¦¤ËºîÀ®¤µ¤ì¤¿¤â¤Î¤Ç¤¢¤ì¡¢¥µ¥Ö¥Ä¥ê¡¼¤Î°ìÉô¤òºï½ü¤¹¤ë¤³¤È¤¬ +ɬÍפˤʤ뤳¤È¤¬¤¢¤ê¤Þ¤¹¡£ +¤·¤«¤·¤Ê¤¬¤é¡¢¤³¤Î¤³¤È¤Ï¡¢Ê̤Υ³¡¼¥É¥»¥¯¥·¥ç¥ó¤¬ºï½ü¤µ¤ì¤¿¥µ¥Ö¥Ä¥ê¡¼¤ò +»ÈÍѤ·Â³¤±¤ë¾ì¹ç¤Ë¡¢¥·¥¹¥Æ¥à¤Î +.Xr panic 9 +¤ò°ú¤­µ¯¤³¤¹¤³¤È¤¬¤¢¤ë¤³¤È¤òÃΤäƤ¤¤Æ¤¯¤À¤µ¤¤¡£ +.El +.Pp +.\" XXX sheldonh ¤Ï¤³¤³¤Þ¤Ç»Å¾å¤²¤Þ¤·¤¿¡£ +ºÆÅÙ¸À¤¤¤Þ¤¹¤¬¡¢Ëؤó¤É¤Î¾ì¹ç¡¢ºîÀ®¤µ¤ì¤¿ oid ¤ò¸«¼º¤ï¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤¿¤á¡¢ +¤ª¤è¤Ó¸å¤ÇÀ°Á³¤È¤·¤¿Î®µ·¤Ç¤½¤ì¤é¤òºï½ü¤¹¤ë¤¿¤á¡¢ +.Xr sysctl_ctx_init 9 +¤Ç²òÀ⤵¤ì¤Æ¤¤¤ë¤è¤¦¤Ë¡¢¥×¥í¥°¥é¥Þ¤Ï¥³¥ó¥Æ¥­¥¹¥È¤ò»ÈÍѤ¹¤ë¤Ù¤­¤Ç¤¹¡£ +.Pp +Í¿¤¨¤é¤ì¤¿·¿¤Î oid ¤ÎºîÀ®¤ò½õ¤±¤ëÄêµÁºÑ¤ß¤Î¥Þ¥¯¥í¥»¥Ã¥È¤¬¤¢¤ê¤Þ¤¹¡£ +.Bl -tag -width SYSCTL_ADD_STRINGXX +¤½¤ì¤é¤ò°Ê²¼¤Ë¼¨¤·¤Þ¤¹¡£ +.It Fn SYSCTL_ADD_OID +¤ÏÀ¸¤Î oid ¤òºîÀ®¤·¤Þ¤¹¡£ +¤³¤Î¥Þ¥¯¥í¤Ïµ¡Ç½Åª¤Ë¤Ï +.Fn sysctl_add_oid +´Ø¿ô¤ÈƱÅù¤Ç¤¹¡£ +.It Fn SYSCTL_ADD_NODE +¤Ï·¿ +.Dv CTLTYPE_NODE +¤Î oid ¤òºîÀ®¤·¤Þ¤¹¡£ +¤³¤Î oid ¤ËÂФ·¤Æ¡¢»Ò¤Î oid ¤òÄɲòÄǽ¤Ç¤¹¡£ +.It Fn SYSCTL_ADD_STRING +¤Ï 0 ¤Ç½ªÃ¼¤µ¤ì¤¿Ê¸»úÎó¤ò¼è¤ê°·¤¦ oid ¤òºîÀ®¤·¤Þ¤¹¡£ +.It Fn SYSCTL_ADD_INT +¤Ï +.Li int +ÊÑ¿ô¤ò¼è¤ê°·¤¦ oid ¤òºîÀ®¤·¤Þ¤¹¡£ +.It Fn SYSCTL_ADD_UINT +¤Ï +.Li unsigned int +ÊÑ¿ô¤ò¼è¤ê°·¤¦ oid ¤òºîÀ®¤·¤Þ¤¹¡£ +.It Fn SYSCTL_ADD_LONG +¤Ï +.Li long +ÊÑ¿ô¤ò¼è¤ê°·¤¦ oid ¤òºîÀ®¤·¤Þ¤¹¡£ +.It Fn SYSCTL_ADD_ULONG +¤Ï +.Li unsigned long +ÊÑ¿ô¤ò¼è¤ê°·¤¦ oid ¤òºîÀ®¤·¤Þ¤¹¡£ +.It Fn SYSCTL_ADD_OPAQUE +¤Ï +.Li "size_t *" +¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¢¤ë +.Fa len +°ú¿ô¤Ë¤è¤Ã¤ÆÌÀ¼¨¤µ¤ì¤¿Â礭¤µ¤Î¤¢¤é¤æ¤ëÉÔÆ©ÌÀ¤Ê¥Ç¡¼¥¿¤Î¤«¤¿¤Þ¤ê¤ò +¼è¤ê°·¤¦ oid ¤òºîÀ®¤·¤Þ¤¹¡£ +.It Fn SYSCTL_ADD_STRUCT +¤Ï +.Li "struct TYPE" +¹½Â¤ÂΤò¼è¤ê°·¤¦ oid ¤òºîÀ®¤·¤Þ¤¹¡£ +.Fa format +°ú¿ô¤Ï +.Xr sysctl 8 +¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ø¤ÎŬÀڤʥҥó¥È¤òÄ󶡤¹¤ë¤¿¤á¤Ë +.Dq S,TYPE +¤ËÀßÄꤵ¤ì¤Þ¤¹¡£ +.It Fn SYSCTL_ADD_PROC +¤ÏÌÀ¼¨¤µ¤ì¤¿ +.Pa handler +¥Ï¥ó¥É¥é´Ø¿ô¤ò»ý¤Ä oid ¤òºîÀ®¤·¤Þ¤¹¡£ +¥Ï¥ó¥É¥é¤Ï oid ¤ËÂФ·¤Æ¤ÎÆÉ¤ß½ñ¤­Í×µá¤ò¼è¤ê°·¤¦ÀÕǤ¤ò»ý¤Á¤Þ¤¹¡£ +¥«¡¼¥Í¥ë¥Ç¡¼¥¿¤¬´Êñ¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤Ê¤¤¾ì¹ç¡¢¤Þ¤¿¤Ï¼è¤ê½Ð¤µ¤ì¤ëÁ°¤Ë½èÍý¤µ¤ì¤ë +ɬÍפ¬¤¢¤ë¾ì¹ç¤Ë¡¢¤³¤Î oid ·¿¤ÏÆÃ¤ËÍ­ÍѤǤ¹¡£ +.El +.Sh »ÈÍÑÎã +°Ê²¼¤Ï¡¢¤É¤Î¤è¤¦¤Ë¿·¤·¤¤¥È¥Ã¥×¥ì¥Ù¥ë¤Î¥«¥Æ¥´¥ê¤òºîÀ®¤¹¤ë¤«¡¢¤ª¤è¤Ó +¤É¤Î¤è¤¦¤Ë´û¸¤ÎÀÅŪ¤Ê¥Î¡¼¥É¤ËÊ̤Υµ¥Ö¥Ä¥ê¡¼¤ò°ú¤Ã³Ý¤±¤ë¤« +¤ò¼¨¤¹»ÈÍÑÎã¤Ç¤¹¡£ +¤³¤Î»ÈÍÑÎã¤Ï¥³¥ó¥Æ¥­¥¹¥È¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤»¤ó¡£ +¤³¤ì¤ÏÁ´¤Æ¤Î¸å¤Ç¤½¤ì¤é¤ò²òÊü¤¹¤ë¤È¤¤¤Ã¤¿¡¢ +Ãæ´Ö¤Î oid ¤ÎÂà¶þ¤Ê´ÉÍý¤ò·ë²Ì¤È¤·¤ÆÀ¸¤¸¤µ¤»¤Þ¤¹¡£ +.Bd -literal +#include + ... +/* ¿·¤·¤¯ºîÀ®¤·¤¿¥µ¥Ö¥Ä¥ê¡¼¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ï¡¢¸å¤Ç¤½¤ì¤é¤ò²òÊü¤¹¤ë¤¿¤á¤Ë + * Êݸ¤·¤Æ¤ª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£ + */ +struct sysctl_oid *root1, *root2, *oidp; +int a_int; +char *string = "dynamic sysctl"; + ... + +root1 = SYSCTL_ADD_NODE( NULL, SYSCTL_STATIC_CHILDREN(/* tree top */), + OID_AUTO, newtree, CTFLAG_RW, 0, "new top level tree"); +oidp = SYSCTL_ADD_INT( NULL, SYSCTL_CHILDREN(root1), + OID_AUTO, newint, CTLFLAG_RW, &a_int, 0, "new int leaf"); + ... +root2 = SYSCTL_ADD_NODE( NULL, SYSCTL_STATIC_CHILDREN(_debug), + OID_AUTO, newtree, CTFLAG_RW, 0, "new tree under debug"); +oidp = SYSCTL_ADD_STRING( NULL, SYSCTL_CHILDREN(root2), + OID_AUTO, newstring, CTLFLAG_R, string, 0, "new string leaf"); +.Ed +.Pp +¤³¤Î»ÈÍÑÎã¤Ï°Ê²¼¤Î¥µ¥Ö¥Ä¥ê¡¼¤òºîÀ®¤·¤Þ¤¹¡£ +.Bd -literal -offset indent +debug.newtree.newstring +newtree.newint +.Ed +.Pp +.Em "¤³¤ì°Ê¾åɬÍפǤʤ¯¤Ê¤Ã¤¿Á´¤Æ¤Î oid ¤Ï²òÊü¤µ¤ì¤ë¤Ù¤­¤Ç¤¢¤ë¤³¤È¤ËÃí°Õ!" +.Sh ´ØÏ¢¹àÌÜ +.Xr sysctl 8 , +.Xr sysctl_ctx_free 9 , +.Xr sysctl_ctx_init 9 +.Sh Îò»Ë +¤³¤ì¤é¤Î´Ø¿ô¤Ï +.Fx 4.2 +¤Ç¤Ï¤¸¤á¤ÆÅо줷¤Þ¤·¤¿¡£ +.Sh ºî¼Ô +.An Andrzej Bialecki Aq abial@FreeBSD.org +.Sh ¥Ð¥° +¿¤¯¤Î¥³¡¼¥É¥»¥¯¥·¥ç¥ó´Ö¤Ç¥Î¡¼¥É¤ò¶¦Í­¤¹¤ë¤³¤È¤Ï¡¢ +»þ¡¹¥ê¥½¡¼¥¹¤ò¥í¥Ã¥¯¤¹¤ë¤³¤È¤¬¤¢¤ëÁê¸ß°Í¸¤ò°ú¤­µ¯¤³¤·¤Þ¤¹¡£ +Î㤨¤Ð¡¢¥â¥¸¥å¡¼¥ë B ¤Ë¤è¤Ã¤ÆºîÀ®¤µ¤ì¤¿ oid ¤ËÂФ·¡¢ +¥â¥¸¥å¡¼¥ë A ¤¬¥µ¥Ö¥Ä¥ê¡¼¤ò°ú¤Ã³Ý¤±¤¿¾ì¹ç¤Ë¤Ï¡¢ +¥â¥¸¥å¡¼¥ë B ¤Ï¤½¤Î oid ¤òºï½ü¤Ç¤­¤Ê¤¤¤Ç¤·¤ç¤¦¡£ +¤³¤ì¤é¤ÎÌäÂê¤Ï sysctl ¥³¥ó¥Æ¥­¥¹¥È¤Ë¤è¤Ã¤ÆÅ¬Àڤ˼è¤ê°·¤ï¤ì¤Þ¤¹¡£ +.Pp +¥Ä¥ê¡¼¾å¤Î¿¤¯¤ÎÁàºî¤Ï¥ê¥ó¥¯¥ê¥¹¥È¤ò²£Àڤ뤳¤È¤òɬÍפȤ·¤Þ¤¹¡£ +¤³¤ÎÍýͳ¤Î¤¿¤á¡¢oid ¤ÎºîÀ®¤Èºï½ü¤ÏÁêÂÐŪ¤Ë¥³¥¹¥È¤¬¤«¤«¤ê¤Þ¤¹¡£ diff --git a/ja_JP.eucJP/man/man9/sysctl_ctx_init.9 b/ja_JP.eucJP/man/man9/sysctl_ctx_init.9 new file mode 100644 index 0000000000..501625b45b --- /dev/null +++ b/ja_JP.eucJP/man/man9/sysctl_ctx_init.9 @@ -0,0 +1,231 @@ +.\" +.\" Copyright (c) 2000, Andrzej Bialecki +.\" 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. +.\" 3. The name of the author may not be used to endorse or promote products +.\" derived from this software without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 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/share/man/man9/sysctl_ctx_init.9,v 1.2.2.6 2001/12/17 11:30:19 ru Exp % +.\" $FreeBSD$ +.\" +.Dd July 15, 2000 +.Dt SYSCTL_CTX_INIT 9 +.Os +.Sh ̾¾Î +.Nm sysctl_ctx_init , +.Nm sysctl_ctx_free , +.Nm sysctl_ctx_entry_add , +.Nm sysctl_ctx_entry_find , +.Nm sysctl_ctx_entry_del +.Nd ưŪ¤ËÀ¸À®¤µ¤ì¤¿ sysctl oid ¤Î¤¿¤á¤Î sysctl ¥³¥ó¥Æ¥­¥¹¥È +.Sh ½ñ¼° +.In sys/sysctl.h +.Ft int +.Fo sysctl_ctx_init +.Fa "struct sysctl_ctx_list *clist" +.Fc +.Ft int +.Fo sysctl_ctx_free +.Fa "struct sysctl_ctx_list *clist" +.Fc +.Ft struct sysctl_ctx_entry * +.Fo sysctl_ctx_entry_add +.Fa "struct sysctl_ctx_list *clist" +.Fa "struct sysctl_oid *oidp" +.Fc +.Ft struct sysctl_ctx_entry * +.Fo sysctl_ctx_entry_find +.Fa "struct sysctl_ctx_list *clist" +.Fa "struct sysctl_oid *oidp" +.Fc +.Ft int +.Fo sysctl_ctx_entry_del +.Fa "struct sysctl_ctx_list *clist" +.Fa "struct sysctl_oid *oidp" +.Fc +.Sh ²òÀâ +¤³¤ì¤é¤Î´Ø¿ô¤ÏưŪ¤ËºîÀ®¤µ¤ì¤¿ oid ¤Î´ÉÍý¤Î¤¿¤á¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÄ󶡤·¤Þ¤¹¡£ +sysctl ¥³¥ó¥Æ¥­¥¹¥È¤ÏºîÀ®¤µ¤ì¤¿ oid ¤ÎɬÍפʻþ¤Î¸·Ì©¤Êºï½ü¤Ï¤â¤Á¤í¤ó¡¢ +oid ¤ò¸«¼º¤ï¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤³¤È¤ËÂФ·¤ÆÀÕǤ¤¬¤¢¤ê¤Þ¤¹¡£ +¤³¤ì¤Ï oid ¤Îºï½üÁàºî¤Ë´Êñ¤Ê¥È¥é¥ó¥¶¥¯¥·¥ç¥óŪ¤Ê¦Ì̤òÄɲä·¤Þ¤¹¡£ +¤¹¤Ê¤ï¤Á¡¢ÅÓÃæ¤Çºï½üÁàºî¤¬¼ºÇÔ¤·¤¿¾ì¹ç¤Ë¡¢sysctl ¥Ä¥ê¡¼¤ò°ÊÁ°¤Î¾õÂÖ¤Ë +¥í¡¼¥ë¥Ð¥Ã¥¯¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£ +.Pp +.Fn sysctl_ctx_init +´Ø¿ô¤Ï sysctl ¥³¥ó¥Æ¥­¥¹¥È¤ò½é´ü²½¤·¤Þ¤¹¡£ +.Fa clist +°ú¿ô¤Ï´û¤Ë³ä¤êÅö¤Æ¤é¤ì¤Æ¤¤¤ëÊÑ¿ô¤ò»Ø¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ +¥³¥ó¥Æ¥­¥¹¥È¤Ï»ÈÍѤÎÁ°¤Ë +.Em ɬ¤º +½é´ü²½¤µ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ +°ìÅÙ½é´ü²½¤µ¤ì¤ë¤È¡¢¤½¤Î¥³¥ó¥Æ¥­¥¹¥È¤Î¥Ý¥¤¥ó¥¿¤ÏÁ´¤Æ¤Î +.Fa SYSCTL_ADD_* +¥Þ¥¯¥í +.Xr ( sysctl_add_oid 9 +»²¾È) ¤Î°ú¿ô¤È¤·¤ÆÅϤµ¤ì¤ë¤³¤È¤¬²Äǽ¤Ç¡¢¿·¤·¤¯ºîÀ®¤µ¤ì¤ë oid ¤ò»Ø¤¹¥¨¥ó¥È¥ê +¤òȼ¤Ã¤Æ¹¹¿·¤µ¤ì¤ë¤Ç¤·¤ç¤¦¡£ +.Pp +ÆâÉôŪ¤Ë¤Ï¡¢¥³¥ó¥Æ¥­¥¹¥È¤Ï +.Xr queue 3 +TAILQ ¥ê¥ó¥¯¥ê¥¹¥È¤È¤·¤ÆÉ½¸½¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ +¤½¤Î¥ê¥¹¥È¤Ï +.Li struct sysctl_ctx_entry +¥¨¥ó¥È¥ê¤«¤éÀ®¤Ã¤Æ¤¤¤Þ¤¹¡£ +.Bd -literal -offset indent +struct sysctl_ctx_entry { + struct sysctl_oid *entry; + TAILQ_ENTRY(sysctl_ctx_entry) link; +}; + +TAILQ_HEAD(sysctl_ctx_list, sysctl_ctx_entry); +.Ed +.Pp +³Æ¡¹¤Î¥³¥ó¥Æ¥­¥¹¥È¥¨¥ó¥È¥ê¤Ï¡¢¤½¤ì¤¬´ÉÍý¤¹¤ë 1 ¤Ä¤ÎưŪ¤Ê oid ¤ò»Ø¤·¤Þ¤¹¡£ +¿·¤·¤¯ºîÀ®¤µ¤ì¤¿ oid ¤Ï¾ï¤Ë¥ê¥¹¥È¤ÎºÇ½é¤ËÁÞÆþ¤µ¤ì¤Þ¤¹¡£ +.Pp +.Fn sysctl_ctx_free +´Ø¿ô¤Ï¥³¥ó¥Æ¥­¥¹¥È¤ª¤è¤Ó¤½¤ì¤¬´ÉÍý¤¹¤ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿ oid ¤òºï½ü¤·¤Þ¤¹¡£ +¤½¤Î´Ø¿ô¤¬À®¸ù¤·¤Æ´°Î»¤·¤¿¾ì¹ç¤Ë¤Ï¡¢Á´¤Æ¤Î´ÉÍý¤µ¤ì¤Æ¤¤¤ë oid ¤Ï +ÅÐÏ¿Ëõ¾Ã (¥Ä¥ê¡¼¤«¤éºï½ü) ¤µ¤ì¡¢Á´¤Æ¤Î¤½¤ì¤é¤Ë³ä¤êÅö¤Æ¤é¤ì¤¿¥á¥â¥ê¤È¶¦¤Ë +²òÊü¤µ¤ì¡¢Æ±Íͤ˥³¥ó¥Æ¥­¥¹¥È¤Î¥¨¥ó¥È¥ê¤â²òÊü¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ +.Pp +ºï½üÁàºî¤Ï 2 ¥¹¥Æ¥Ã¥×¤Ç¼Â¹Ô¤µ¤ì¤Þ¤¹¡£ +ºÇ½é¤Ë¡¢³Æ¡¹¤Î¥³¥ó¥Æ¥­¥¹¥È¥¨¥ó¥È¥ê¤Î¤¿¤á¤Ë¡¢¥ê¥½¡¼¥¹¤Î²òÊü¤òÍÞÀ©¤¹¤ë¥Ñ¥é¥á¡¼¥¿ +.Fa del +¤ò 0 ¤ËÀßÄꤷ¤Æ¡¢´Ø¿ô +.Xr sysctl_remove_oid 9 +¤¬¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹¡£ +¤³¤Î¥¹¥Æ¥Ã¥×¤Ç¥¨¥é¡¼¤¬Ìµ¤¤¾ì¹ç¤Ë¤Ï¡¢ +.Fn sysctl_ctx_free +¤Ï¼¡¤Î¥¹¥Æ¥Ã¥×¤Ë°Ü¹Ô¤·¤Þ¤¹¡£ +ºÇ½é¤Î¥¹¥Æ¥Ã¥×¤¬¼ºÇÔ¤·¤¿¾ì¹ç¤Ë¤Ï¡¢¤½¤Î¥³¥ó¥Æ¥­¥¹¥È¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿ +Á´¤Æ¤ÎÅÐÏ¿Ëõ¾Ã¤µ¤ì¤¿ oid ¤¬ºÆÅÐÏ¿¤µ¤ì¤Þ¤¹¡£ +.Pp +.Em Ãí°Õ : +¤Û¤È¤ó¤É¤Î¾ì¹ç¡¢¥×¥í¥°¥é¥Þ¤Ï oid ¤ÎºîÀ®»þ¤Ë oid ÈÖ¹æ¤È¤·¤Æ +.Dv OID_AUTO +¤òÌÀ¼¨¤·¤Þ¤¹¡£ +¤·¤«¤·¤Ê¤¬¤é¡¢¥Ä¥ê¡¼¤Ë oid ¤òÅÐÏ¿¤·¤Æ¤¤¤ë´Ö¤Ë¡¢ +¤³¤ÎÈÖ¹æ¤Ï 99 ¤è¤ê¤âÂ礭¤¤ºÇ½é¤ÎÍøÍѲÄǽ¤ÊÈÖ¹æ¤ËÊѹ¹¤µ¤ì¤Þ¤¹¡£ +¥³¥ó¥Æ¥­¥¹¥Èºï½ü¤ÎºÇ½é¤Î¥¹¥Æ¥Ã¥×¤¬¼ºÇÔ¤·¤¿¾ì¹ç¡¢ +oid ¤ÎºÆÅÐÏ¿¤Ï´û¤Ë³ä¤êÅö¤Æ¤é¤ì¤Æ¤¤¤ë oid ÈÖ¹æ¤ò +Êѹ¹¤·¤Þ¤»¤ó (OID_AUTO ¤È¤Ï°Û¤Ê¤ê¤Þ¤¹)¡£ +¤³¤ì¤Ï¡¢ºÆÅÐÏ¿¤µ¤ì¤¿¥¨¥ó¥È¥ê¤¬¥Ä¥ê¡¼¤ÎÃæ¤Î¸µ¤Î°ÌÃÖ¤ò°Ý»ý¤·¤Æ¤¤¤ë¤³¤È¤ò +Êݾڤ·¤Þ¤¹¡£ +.Pp +2 ÈÖÌܤΥ¹¥Æ¥Ã¥×¤Ï¡¢Æ°Åª¤Ê oid ¤Îºï½ü¤ò¼ÂºÝ¤Ë¼Â¹Ô¤·¤Þ¤¹¡£ +.Xr sysctl_remove_oid 9 +¤ÏºÇ½é (¤¹¤Ê¤ï¤Á¡¢ºÇ¿·¤Î¥¨¥ó¥È¥ê) ¤«¤é»Ï¤á¤Æ¡¢¥³¥ó¥Æ¥­¥¹¥È¥ê¥¹¥È¤òÄ̤·¤Æ +·«¤êÊÖ¤·¤Þ¤¹¡£ +.Em ½ÅÍ× : +¤³¤Î»þ¡¢¤³¤Î´Ø¿ô¤Ï¥Ä¥ê¡¼¤«¤é oid ¤òºï½ü¤¹¤ë¤À¤±¤Ç¤Ï¤Ê¤¯¡¢Á´¤Æ¤Î¥³¥ó¥Æ¥­¥¹¥È¤Î +¥á¥â¥ê¤Ï¤â¤Á¤í¤ó¡¢(oid_refcount == 0 ¤Ç¤¢¤ì¤Ð) oid ¤Î¥á¥â¥ê¤â²òÊü¤·¤Þ¤¹¡£ +.Pp +.Fn sysctl_ctx_entry_add +´Ø¿ô¤Ï´û¸¤ÎưŪ¤Ê oid ¤Î¥³¥ó¥Æ¥­¥¹¥È¤Ø¤ÎÄɲäò²Äǽ¤Ë¤·¤Þ¤¹¡£ +.Pp +.Fn sysctl_ctx_entry_del +´Ø¿ô¤Ï¥³¥ó¥Æ¥­¥¹¥È¤«¤é¥¨¥ó¥È¥ê¤ò¼è¤ê½ü¤­¤Þ¤¹¡£ +.Em ½ÅÍ× : +¤³¤Î¾ì¹ç¡¢Âбþ¤¹¤ë +.Li struct sysctl_ctx_entry +¤Î¤ß¤¬²òÊü¤µ¤ì¤Þ¤¹¤¬¡¢ +.Fa oidp +¥Ý¥¤¥ó¥¿¤Ï¤½¤Î¤Þ¤Þ»Ä¤ê¤Þ¤¹¡£ +¤½¤Î¸å¤Ï¡¢¥×¥í¥°¥é¥Þ¤Ë¤³¤Î oid ¤Ë³ä¤êÅö¤Æ¤é¤ì¤¿¥ê¥½¡¼¥¹¤Î´ÉÍý¤ÎÀÕǤ¤¬¤¢¤ê¤Þ¤¹¡£ +.Pp +.Fn sysctl_ctx_entry_find +´Ø¿ô¤ÏÍ¿¤¨¤é¤ì¤¿ +.Fa oidp +¤ò¥³¥ó¥Æ¥­¥¹¥È¥ê¥¹¥È¤ÎÃæ¤«¤é¸¡º÷¤·¡¢¸«ÉÕ¤«¤Ã¤¿ +.Fa struct sysctl_ctx_entry +¤Ø¤Î¥Ý¥¤¥ó¥¿¤Þ¤¿¤Ï +.Dv NULL +¤òÊÖ¤·¤Þ¤¹¡£ +.Sh »ÈÍÑÎã +°Ê²¼¤Ï¡¢¤É¤Î¤è¤¦¤Ë¿·¤·¤¤¥È¥Ã¥×¥ì¥Ù¥ë¤Î¥«¥Æ¥´¥ê¤òºîÀ®¤¹¤ë¤«¡¢¤ª¤è¤Ó +¤É¤Î¤è¤¦¤Ë´û¸¤ÎÀÅŪ¤Ê¥Î¡¼¥É¤ËÊ̤Υµ¥Ö¥Ä¥ê¡¼¤ò°ú¤Ã³Ý¤±¤ë¤« +¤ò¼¨¤¹»ÈÍÑÎã¤Ç¤¹¡£ +¤³¤Î»ÈÍÑÎã¤Ï oid ¤ÎÄÉÀפò°Ý»ý¤¹¤ë¤¿¤á¤Ë¥³¥ó¥Æ¥­¥¹¥È¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤¹¡£ +.Bd -literal +#include + ... +struct sysctl_ctx_list clist; +struct sysctl_oid *oidp; +int a_int; +char *string = "dynamic sysctl"; + ... + +sysctl_ctx_init(&clist); +oidp = SYSCTL_ADD_NODE( &clist, SYSCTL_STATIC_CHILDREN(/* ¥Ä¥ê¡¼¥È¥Ã¥× */), + OID_AUTO, newtree, CTFLAG_RW, 0, "new top level tree"); +oidp = SYSCTL_ADD_INT( &clist, SYSCTL_CHILDREN(oidp), + OID_AUTO, newint, CTLFLAG_RW, &a_int, 0, "new int leaf"); + ... +oidp = SYSCTL_ADD_NODE( &clist, SYSCTL_STATIC_CHILDREN(_debug), + OID_AUTO, newtree, CTFLAG_RW, 0, "new tree under debug"); +oidp = SYSCTL_ADD_STRING( &clist, SYSCTL_CHILDREN(oidp), + OID_AUTO, newstring, CTLFLAG_R, string, 0, "new string leaf"); + ... +/* ¤³¤³¤Ç oid ¤ò²òÊü¤Ç¤­¤Þ¤¹ */ +if(sysctl_ctx_free(&clist)) { + printf("¥³¥ó¥Æ¥­¥¹¥È¤ò²òÊü½ÐÍè¤Þ¤»¤ó - ¾¤Î oid ¤¬°Í¸¤·¤Æ¤¤¤Þ¤¹"); + return(ENOTEMPTY); +} else { + printf("À®¸ù¤Ç¤¹!\\n"): + return(0); +} +.Ed +.Pp +¤³¤Î»ÈÍÑÎã¤Ï°Ê²¼¤Î¥µ¥Ö¥Ä¥ê¡¼¤òºîÀ®¤·¤Þ¤¹¡£ +.Bd -literal -offset indent +debug.newtree.newstring +newtree.newint +.Ed +.Pp +1 ¤Ä¤Î +.Fn sysctl_ctx_free +¤Î¸Æ¤Ó½Ð¤·¤òÄ̤·¤Æ¡¢Î¾Êý¤Î¥Ä¥ê¡¼¤¬ºï½ü¤µ¤ì¡¢ +¥ê¥½¡¼¥¹¤¬²òÊü¤µ¤ì¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ +ºÇ¿·¤Î¥¨¥ó¥È¥ê (ÍÕ) ¤ò²òÊü¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ»Ï¤Þ¤ê¡¢¤½¤ì¤«¤é +¸Å¤¤¥¨¥ó¥È¥ê (¤³¤Î¾ì¹ç¤Ï¥Î¡¼¥É) ¤Îºï½ü¤ò³¹Ô¤·¤Þ¤¹¡£ +.Sh ´ØÏ¢¹àÌÜ +.Xr queue 3 , +.Xr sysctl 8 , +.Xr sysctl_add_oid 9 , +.Xr sysctl_remove_oid 9 +.Sh Îò»Ë +¤³¤ì¤é¤Î´Ø¿ô¤Ï +.Fx 4.2 +¤Ç¤Ï¤¸¤á¤ÆÅо줷¤Þ¤·¤¿¡£ +.Sh ºî¼Ô +.An Andrzej Bialecki Aq abial@FreeBSD.org +.Sh ¥Ð¥° +¸½ºß¤Îºï½ü¥¢¥ë¥´¥ê¥º¥à¤Ï¿¾¯½Å¤¤¤Ç¤¹¡£ +ºÇ°­¤Î¾ì¹ç¡¢Á´¤Æ¤Î oid ¤¬ÅÐÏ¿Ëõ¾Ã¤µ¤ì¡¢ºÆÅÐÏ¿¤µ¤ì¡¢¤½¤ì¤«¤éÅÐÏ¿Ëõ¾Ã¤µ¤ì¡¢ +ºï½ü¤µ¤ì¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +¤·¤«¤·¤Ê¤¬¤é¡¢ºï½üÁàºî¤¬¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¤ÎÆÃ¼Á¤ò»ý¤Ä¤³¤È¤ò¡¢ +¤³¤Î¥¢¥ë¥´¥ê¥º¥à¤ÏÊݾڤ·¤Þ¤¹¡£ +.Pp +¥³¥ó¥Æ¥­¥¹¥È¾å¤ÎÁ´¤Æ¤ÎÁàºî¤Ï¥ê¥ó¥¯¥ê¥¹¥È¤ò²£Àڤ뤳¤È¤òɬÍפȤ·¤Þ¤¹¡£ +¤³¤ÎÍýͳ¤Î¤¿¤á¡¢¥¨¥ó¥È¥ê¤ÎºîÀ®¤Èºï½ü¤Ë¤ÏÁêÂÐŪ¤Ë¥³¥¹¥È¤¬¤«¤«¤ê¤Þ¤¹¡£ diff --git a/ja_JP.eucJP/man/man9/time.9 b/ja_JP.eucJP/man/man9/time.9 new file mode 100644 index 0000000000..1cea43c94a --- /dev/null +++ b/ja_JP.eucJP/man/man9/time.9 @@ -0,0 +1,133 @@ +.\" $NetBSD: time.9,v 1.1 1995/11/25 21:24:53 perry Exp $ +.\" +.\" Copyright (c) 1994 Christopher G. Demetriou +.\" 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. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by Christopher G. Demetriou +.\" for the NetBSD Project. +.\" 3. The name of the author may not be used to endorse or promote products +.\" derived from this software without specific prior written permission +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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/share/man/man9/time.9,v 1.3.2.5 2001/08/17 13:08:54 ru Exp % +.\" +.\" $FreeBSD$ +.Dd March 22, 1997 +.Dt TIME 9 +.Os +.Sh ̾¾Î +.Nm boottime , +.Nm mono_time , +.Nm runtime , +.Nm time +.Nd ¥·¥¹¥Æ¥à»þ¹ïÊÑ¿ô +.Sh ½ñ¼° +.Bl -item -compact +.It +.Va extern struct timeval boottime ; +.It +.Va extern volatile struct timeval mono_time ; +.It +.Va extern struct timeval runtime ; +.It +.Va extern struct timeval time ; +.El +.Sh ²òÀâ +.Va time +ÊÑ¿ô¤Ï¥·¥¹¥Æ¥à¤Î +.Dq Ãì»þ¹ï +¥¯¥í¥Ã¥¯¤Ç¤¹¡£ +¤³¤ì¤Ï¥Ö¡¼¥È»þ¤Ë +.Xr inittodr 9 +¤Ë¤è¤Ã¤ÆÀßÄꤵ¤ì¡¢ +.Xr settimeofday 2 +¥·¥¹¥Æ¥à¥³¡¼¥ë¤È¼þ´üŪ¤Ê¥¯¥í¥Ã¥¯³ä¤ê¹þ¤ß¤Ë¤è¤Ã¤Æ¹¹¿·¤µ¤ì¤Þ¤¹¡£ +.Pp +.Va boottime +ÊÑ¿ô¤Ï¥·¥¹¥Æ¥à¤Î¥Ö¡¼¥È»þ¹ï¤òÊÝ»ý¤·¤Þ¤¹¡£ +¤³¤ì¤Ï¥·¥¹¥Æ¥à¥Ö¡¼¥È»þ¤Ë +.Va time +¤«¤éÀßÄꤵ¤ì¡¢¥·¥¹¥Æ¥à»þ¹ï¤¬ +.Xr settimeofday 2 +¤ò»ÈÍѤ·¤ÆÄ´À°¤µ¤ì¤¿¤È¤­¤Ë¹¹¿·¤µ¤ì¤Þ¤¹¡£ +.Pp +.Va runtime +ÊÑ¿ô¤Ï¥·¥¹¥Æ¥à¤¬¸½ºß¤Î¥×¥í¥»¥¹¤Ë¥¹¥¤¥Ã¥Á¤·¤¿»þ¹ï¤òÊÝ»ý¤·¤Þ¤¹¡£ +¤³¤ì¤Ï¸Ä¡¹¤Î¥³¥ó¥Æ¥­¥¹¥È¥¹¥¤¥Ã¥Á¤Î¸å¤ËÀßÄꤵ¤ì¡¢¥·¥¹¥Æ¥à»þ¹ï¤¬ +.Xr settimeofday 2 +¤ò»ÈÍѤ·¤ÆÄ´À°¤µ¤ì¤¿¤È¤­¤Ë¹¹¿·¤µ¤ì¤Þ¤¹¡£ +.Va runtime +¤Ï¥·¥¹¥Æ¥à¤Î¥¢¥«¥¦¥ó¥Æ¥£¥ó¥°¤Î¤¿¤á¤Ë»ÈÍѤµ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢ +.Va time +¤«¤é¥³¥Ô¡¼¤µ¤ì¤ë¤Î¤Ç¤Ï¤Ê¤¯¡¢¹âʬ²òǽ¤Ê +.Xr microtime 9 +´Ø¿ô¤ò»ÈÍѤ·¤ÆÀßÄꤵ¤ì¤Þ¤¹¡£ +.Pp +.Va mono_time +ÊÑ¿ô¤ÏñĴ¤ËÁý²Ã¤¹¤ë¥·¥¹¥Æ¥à¥¯¥í¥Ã¥¯¤Ç¤¹¡£ +¤³¤ì¤Ï¥Ö¡¼¥È»þ¤Ë +.Va time +¤«¤éÀßÄꤵ¤ì¡¢¼þ´üŪ¤Ê¥¿¥¤¥Þ³ä¤ê¹þ¤ß¤Ë¤è¤Ã¤Æ¹¹¿·¤µ¤ì¤Þ¤¹¡£ +.Xr ( settimeofday 2 +¤Ë¤è¤Ã¤Æ¹¹¿·¤µ¤ì¤Þ¤»¤ó¡£) +.Pp +¤³¤ì¤é¤ÎÊÑ¿ô¤ÎÁ´¤Æ¤Ï¡¢1970 ǯ 1 ·î 1 Æü¤Î¿¼Ìë (0 »þ) ¤«¤é·Ð²á¤·¤¿»þ´Ö¤ò¡¢ +É䪤è¤Ó¥Þ¥¤¥¯¥íÉäÇɽ¸½¤·¤Æ¤¤¤Þ¤¹¡£ +.Pp +.Va time +¤Þ¤¿¤Ï +.Va mono_time +¤ÎÆÉ¹þ¤ß¤Þ¤¿¤Ï½ñ¹þ¤ß»þ¤Ë¤Ï¡¢¥¯¥í¥Ã¥¯³ä¤ê¹þ¤ß¤Ï¥Ö¥í¥Ã¥¯¤µ¤ì¤ë¤Ù¤­¤Ç¤¹¡£ +²¿¸Î¤Ê¤é¤Ð¡¢¤³¤ì¤é¤ÎÊÑ¿ô¤Ï +.Fn hardclock +¤Ë¤è¤Ã¤Æ¹¹¿·¤µ¤ì¤ë¤«¤é¤Ç¤¹¡£ +.Xr gettime 9 +´Ø¿ô¤ÏÉÔ²Äʬ¤ÊÊýË¡¤Ç +.Va time +ÊÑ¿ô¤òÆÉ¤ß¼è¤ë¤¿¤á¤Ë»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.Va mono_time +¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤¿¤á¤ÎƱÅù¤Î´Ø¿ô¤Ï¤¢¤ê¤Þ¤»¤ó¡£ +.Va boottime +¤ª¤è¤Ó +.Va runtime +ÊÑ¿ô¤ÏÆÃÊ̤ʷٲü¤Ê¤·¤ËÆÉ¤ß½ñ¤­¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.Pp +.Xr gettime 9 +¤ª¤è¤Ó +.Xr microtime 9 +¤Ë¤è¤Ã¤ÆÊÖ¤µ¤ì¤ë»þ¹ïÃͤϹ¹¿·ÊýË¡¤¬°ã¤¤¤Þ¤¹¤Î¤Ç¡¢¤³¤Î 2 ¤Ä¤Î +¥ë¡¼¥Á¥ó¤Î·ë²Ì¤òÈæ³Ó¤¹¤ë¤È¡¢ +»þ´Ö¤¬µÕÌá¤ê¤¹¤ë¤è¤¦¤Ê·ë²Ì¤È¤Ê¤ë¤«¤â¤·¤ì¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ +¤³¤ÎÌäÂê¤Ï¡¢°ìÊý¤Î´Ø¿ô¤Þ¤¿¤Ï¤â¤¦°ìÊý¤Î´Ø¿ô¤ò +¥³¥ó¥Æ¥­¥¹¥ÈÃæ¤Ç¼óÈø°ì´Ó¤·¤Æ»ÈÍѤ¹¤ë¤³¤È¤Ë¤è¤ê¡¢Èò¤±¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +.Sh ´ØÏ¢¹àÌÜ +.Xr settimeofday 2 , +.Xr gettime 9 , +.\" .Xr hardclock 9 , +.\" .Xr hz 9 , +.Xr inittodr 9 , +.Xr microtime 9 +.Sh ¥Ð¥° +¥Þ¥ë¥Á¥×¥í¥»¥Ã¥µ¥·¥¹¥Æ¥à¤Ë¤ª¤¤¤ÆÃ±°ì¤Î +.Va runtime +ÊÑ¿ô¤ò»ý¤Ä¤È¤¤¤¦¹Í¤¨¤ÏÌÀ¤é¤«¤ËŬÀڤǤϤ¢¤ê¤Þ¤»¤ó¡£ diff --git a/ja_JP.eucJP/man/man9/vfs_unmountall.9 b/ja_JP.eucJP/man/man9/vfs_unmountall.9 new file mode 100644 index 0000000000..03a51787ba --- /dev/null +++ b/ja_JP.eucJP/man/man9/vfs_unmountall.9 @@ -0,0 +1,44 @@ +.\" Copyright (c) 2001 Chris Costello +.\" 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 BY THE AUTHOR 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 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/share/man/man9/vfs_unmountall.9,v 1.1.2.2 2001/08/17 13:08:54 ru Exp % +.\" +.\" $FreeBSD$ +.Dd July 26, 2001 +.Dt VFS_UNMOUNTALL 9 +.Os +.Sh ̾¾Î +.Nm vfs_unmountall +.Nd Á´¤Æ¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¥¢¥ó¥Þ¥¦¥ó¥È +.Sh ½ñ¼° +.In sys/mount.h +.Ft void +.Fn vfs_unmountall "void" +.Sh ²òÀâ +.Nm +´Ø¿ô¤Ï¡¢¥·¥¹¥Æ¥à¥·¥ã¥Ã¥È¥À¥¦¥ó»þ¤Ë¤Î¤ß¼Â¹Ô¤µ¤ì¡¢Áàºî¤Î°Í¸À­¤òÈò¤±¤ë¤¿¤á¡¢ +ºÇ¿·¤Î¤â¤Î¤«¤é¸Å¤¤¤â¤Î¤Î½ç¤Ç¡¢ +¥Þ¥¦¥ó¥È¤·¤¿Á´¤Æ¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò¥¢¥ó¥Þ¥¦¥ó¥È¤·¤Þ¤¹¡£ +.Sh ´ØÏ¢¹àÌÜ +.Xr boot 9 diff --git a/ja_JP.eucJP/man/man9/vnode.9 b/ja_JP.eucJP/man/man9/vnode.9 new file mode 100644 index 0000000000..61f39e7b34 --- /dev/null +++ b/ja_JP.eucJP/man/man9/vnode.9 @@ -0,0 +1,272 @@ +.\" -*- nroff -*- +.\" +.\" Copyright (c) 1996 Doug Rabson +.\" +.\" All rights reserved. +.\" +.\" This program is free software. +.\" +.\" 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 DEVELOPERS ``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 DEVELOPERS 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/share/man/man9/vnode.9,v 1.10.2.5 2001/12/17 11:30:19 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 30, 1999 +.Os +.Dt VNODE 9 +.Sh ̾¾Î +.Nm vnode +.Nd ¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥Ç¥£¥ì¥¯¥È¥ê¤ÎÆâÉôɽ¸½ +.Sh ½ñ¼° +.In sys/param.h +.In sys/vnode.h +.Pp +.Bd -literal +/* + * vnode ¤Î·¿¤Ç¤¹¡£VNON ¤Ï·¿¤¬Ìµ¤¤¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£ + */ +enum vtype { VNON, VREG, VDIR, VBLK, VCHR, VLNK, VSOCK, VFIFO, VBAD }; + +/* + * vnode ¤Î¥¿¥°·¿¤Ç¤¹¡£ + * ³°Éô¥×¥í¥°¥é¥à (Î㤨¤Ð¡¢pstat) ¤Î¤¿¤á¤À¤±¤Ë¤¢¤ê¡¢·è¤·¤Æ¥«¡¼¥Í¥ë + * ¤Ë¤è¤Ã¤Æ¸¡ºº¤µ¤ì¤ë¤Ù¤­¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ + */ +enum vtagtype { + VT_NON, VT_UFS, VT_NFS, VT_MFS, VT_PC, VT_LFS, VT_LOFS, VT_FDESC, + VT_PORTAL, VT_NULL, VT_UMAP, VT_KERNFS, VT_PROCFS, VT_AFS, VT_ISOFS, + VT_UNION, VT_MSDOSFS, VT_TFS, VT_VFS, VT_CODA, VT_NTFS +}; + +/* + * ¸Ä¡¹¤Î²¼°Ì¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ï¤½¤Î»äŪ¤ÊÎΰè¤ò³ä¤êÅö¤Æ¡¢¤½¤ì¤ò + * v_data ¤«¤éÄߤ뤷¤Þ¤¹¡£¥Ì¥ë¤Ç¤Ê¤¤¤Ê¤é¤Ð¡¢¤³¤ÎÎΰè¤Ï getnewvnode() ¤Ç + * ²òÊü¤µ¤ì¤Þ¤¹¡£ + */ +TAILQ_HEAD(buflists, buf); + +typedef int vop_t __P((void *)); +struct namecache; + +/* + * ¤³¤ì¤é¤Î¹àÌÜ¤ÎÆÉ¹þ¤ß¤Þ¤¿¤Ï½ñ¹þ¤ß¤ÏŬÀڤʥí¥Ã¥¯¤ÎÊÝ»ý¤òÍ׵ᤷ¤Þ¤¹¡£ + * v_freelist ¤Ï¥°¥í¡¼¥Ð¥ë vnode_free_list ñ½ã¥í¥Ã¥¯¤Ç¥í¥Ã¥¯¤µ¤ì¤Þ¤¹¡£ + * v_mntvnodes ¤Ï¥°¥í¡¼¥Ð¥ë mntvnodes ñ½ã¥í¥Ã¥¯¤Ç¥í¥Ã¥¯¤µ¤ì¤Þ¤¹¡£ + * v_flag, v_usecount, v_holdcount ¤ª¤è¤Ó v_writecount ¤Ï vinterlock + * ñ½ã¥í¥Ã¥¯¤Ç¥í¥Ã¥¯¤µ¤ì¤Þ¤¹¡£ + * v_pollinfo ¤Ï¤½¤ÎÃæ¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¥í¥Ã¥¯¤Ç¥í¥Ã¥¯¤µ¤ì¤Þ¤¹¡£ + */ +struct vnode { + u_long v_flag; /* vnode ¥Õ¥é¥° (°Ê²¼»²¾È) */ + int v_usecount; /* ¥æ¡¼¥¶¤Î»²¾È¥«¥¦¥ó¥È */ + int v_writecount; /* ½ñ¹þ¤ß¼Ô¤Î»²¾È¥«¥¦¥ó¥È */ + int v_holdcnt; /* ¥Ú¡¼¥¸ & ¥Ð¥Ã¥Õ¥¡¤Î»²¾È */ + daddr_t v_lastr; /* ºÇ¸å¤ÎÆÉ¹þ¤ß (ÀèÆÉ¤ß) */ + u_long v_id; /* ¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¼±ÊÌ»Ò */ + struct mount *v_mount; /* º£¤¤¤ë VFS ¤Ø¤Î¥Ý¥¤¥ó¥¿ */ + vop_t **v_op; /* vnode Áàºî¥Ù¥¯¥¿ */ + TAILQ_ENTRY(vnode) v_freelist; /* vnode ¥Õ¥ê¡¼¥ê¥¹¥È */ + LIST_ENTRY(vnode) v_mntvnodes; /* ¥Þ¥¦¥ó¥È¥Ý¥¤¥ó¥È¤Î vnode */ + struct buflists v_cleanblkhd; /* åºÎï¤Ê¥Ö¥í¥Ã¥¯¥ê¥¹¥ÈÀèÆ¬ */ + struct buflists v_dirtyblkhd; /* ±ø¤ì¤¿¥Ö¥í¥Ã¥¯¥ê¥¹¥ÈÀèÆ¬ */ + LIST_ENTRY(vnode) v_synclist; /* ±ø¤ì¤¿¥Ð¥Ã¥Õ¥¡ÉÕ¤­ vnode */ + long v_numoutput; /* ½ñ¤­¹þ¤ßÃæ¤Î¿ô */ + enum vtype v_type; /* vnode ¤Î·¿ */ + union { + struct mount *vu_mountedhere;/* ¥Þ¥¦¥ó¥È¤µ¤ì¤¿ VFS ¤Ø¤Î¥Ý¥¤¥ó¥¿ (VDIR) */ + struct socket *vu_socket; /* UNIX IPC (VSOCK) */ + struct specinfo *vu_specinfo; /* ¥Ç¥Ð¥¤¥¹ (VCHR, VBLK) */ + struct fifoinfo *vu_fifoinfo; /* FIFO (VFIFO) */ + } v_un; + struct nqlease *v_lease; /* Â߽Ф·¤Î¥½¥Õ¥È»²¾È */ + daddr_t v_lastw; /* ºÇ¸å¤Î½ñ¹þ¤ß (¥¯¥é¥¹¥¿) */ + daddr_t v_cstart; /* ¥¯¥é¥¹¥¿¤Î³«»Ï¥Ö¥í¥Ã¥¯ */ + daddr_t v_lasta; /* ºÇ¸å¤Î³äÅö¤Æ */ + int v_clen; /* ¸½ºß¤Î¥¯¥é¥¹¥¿Ä¹ */ + int v_maxio; /* ºÇÂç I/O ¥¯¥é¥¹¥¿¥µ¥¤¥º */ + struct vm_object *v_object; /* VM ¥ª¥Ö¥¸¥§¥¯¥È¤ÎÊݸ¾ì½ê */ + struct simplelock v_interlock; /* »ÈÍÑ¥«¥¦¥ó¥È¤È¥Õ¥é¥°¤Î¥í¥Ã¥¯ */ + struct lock *v_vnlock; /* Èó¥í¥Ã¥¯¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥àÍÑ */ + enum vtagtype v_tag; /* ²¼°Ì¥Ç¡¼¥¿¤Î·¿ */ + void *v_data; /* ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î»äŪ¥Ç¡¼¥¿ */ + LIST_HEAD(, namecache) v_cache_src; /* ²æ¡¹¤«¤é¤Î¥­¥ã¥Ã¥·¥å¥¨¥ó¥È¥ê */ + TAILQ_HEAD(, namecache) v_cache_dst; /* ²æ¡¹¤Ø¤Î¥­¥ã¥Ã¥·¥å¥¨¥ó¥È¥ê */ + struct vnode *v_dd; /* .. ¤Î vnode */ + u_long v_ddid; /* .. ¤Î¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¼±ÊÌ»Ò */ + struct { + struct simplelock vpi_lock; /* °Ê²¼¤òÊݸ¤ë¥í¥Ã¥¯ */ + struct selinfo vpi_selinfo; /* ¥Ý¡¼¥ê¥ó¥°Â¦¤Î¼±ÊÌ */ + short vpi_events; /* ²¿¤òõ¤·¤Æ¤¤¤ë¤Î¤« */ + short vpi_revents; /* ²¿¤¬µ¯¤³¤Ã¤¿¤Î¤« */ + } v_pollinfo; +}; +#define v_mountedhere v_un.vu_mountedhere +#define v_socket v_un.vu_socket +#define v_specinfo v_un.vu_specinfo +#define v_fifoinfo v_un.vu_fifoinfo + +/* + * vnode ¥Õ¥é¥°¤Ç¤¹¡£ + */ +#define VROOT 0x00001 /* ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¥ë¡¼¥È */ +#define VTEXT 0x00002 /* vnode ¤Ï½ã¿è¤Ê¥Æ¥­¥¹¥È¥×¥í¥È¥¿¥¤¥× */ +#define VSYSTEM 0x00004 /* vnode ¤Ï¥«¡¼¥Í¥ë¤¬»ÈÍÑÃæ */ +#define VISTTY 0x00008 /* vnode ¤Ï tty ¤òɽ¸½ */ +#define VXLOCK 0x00100 /* vnode ¤Ï²¼°Ì¤Î·¿¤ÎÊѹ¹¤Î¤¿¤á¥í¥Ã¥¯Ãæ */ +#define VXWANT 0x00200 /* ¥×¥í¥»¥¹¤¬ vnode ¤òÂԤäƤ¤¤Þ¤¹ */ +#define VBWAIT 0x00400 /* ½ÐÎϤδ°Î»¤òÂԤäƤ¤¤Þ¤¹ */ +#define VALIASED 0x00800 /* vnode ¤ËÊÌ̾¤¬¤¢¤ê¤Þ¤¹ */ +#define VDIROP 0x01000 /* LFS: vnode ¤¬¥Ç¥£¥ì¥¯¥È¥êÁàºî¤Ë´ØÍ¿ */ +#define VOBJBUF 0x02000 /* VM ¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥Ð¥Ã¥Õ¥¡¤ò³äÅö¤Æ */ +#define VNINACT 0x04000 /* LFS: lfs_vunref ¤Ç ufs_inactive() ¤·¤Ê¤¤ */ +#define VAGE 0x08000 /* ¥Õ¥ê¡¼¥ê¥¹¥È¤ÎÀèÆ¬¤Ë vnode ¤òÁÞÆþ */ +#define VOLOCK 0x10000 /* ¥ª¥Ö¥¸¥§¥¯¥È¤òÂԤĤ¿¤á¤Ë vnode ¤¬¥í¥Ã¥¯ */ +#define VOWANT 0x20000 /* ¥×¥í¥»¥¹¤¬ VOLOCK ¤òÂԤäƤ¤¤Þ¤¹ */ +#define VDOOMED 0x40000 /* ¤³¤Î vnode ¤ÏºÆÍøÍÑÃæ */ +#define VFREE 0x80000 /* ¤³¤Î vnode ¤Ï¥Õ¥ê¡¼¥ê¥¹¥È¾å */ +#define VTBFREE 0x100000 /* ¤³¤Î vnode ¤Ï¥Õ¥ê¡¼¥ê¥¹¥È¹Ô¤­ */ +#define VONWORKLST 0x200000 /* syncer ºî¶È¥ê¥¹¥È¾å */ +#define VMOUNT 0x400000 /* ¥Þ¥¦¥ó¥È½èÍýÃæ */ + +.Ed +.Sh ²òÀâ +vnode ¤Ï UNIX ¤Ç¤Î¥Õ¥¡¥¤¥ë³èư¤ÎÃæ¿´¤Ç¤¹¡£ +¸Ä¡¹¤Î³èÆ°Ãæ¤Î¥Õ¥¡¥¤¥ë¡¢ +¸Ä¡¹¤Î¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¡¢¸Ä¡¹¤Î¥Þ¥¦¥ó¥È¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¡¢ +¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¡¢¤ª¤è¤Ó¥ë¡¼¥È¤Î¤¿¤á¤Ë³äÅö¤Æ¤é¤ì¤¿°ì°ÕŪ¤Ê vnode ¤¬¤¢¤ê¤Þ¤¹¡£ +.Pp +¸Ä¡¹¤Î vnode ¤Ï 3 ¤Ä¤Î»²¾È¥«¥¦¥ó¥È¡¢ +.Dv v_usecount , +.Dv v_holdcnt +¤ª¤è¤Ó +.Dv v_writecount +¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£ +ºÇ½é¤Î¤â¤Î¤Ï¥«¡¼¥Í¥ëÆâ¤Ç¤³¤Î vnode ¤ò»ÈÍѤ·¤Æ¤¤¤ë¥¯¥é¥¤¥¢¥ó¥È¤Î¿ô¤Ç¤¹¡£ +¤³¤Î¥«¥¦¥ó¥È¤Ï +.Xr vref 9 , +.Xr vrele 9 +¤ª¤è¤Ó +.Xr vput 9 +¤Ë¤è¤Ã¤Æ´ÉÍý¤µ¤ì¤Þ¤¹¡£ +2 ÈÖÌܤΤâ¤Î¤Ï¥«¡¼¥Í¥ëÆâ¤Ç¤³¤Î vnode ¤ÎºÆÍøÍѤòµñÈݤ·¤Æ¤¤¤ë¥¯¥é¥¤¥¢¥ó¥È¤Î +¿ô¤Ç¤¹¡£ +¤³¤Î¥«¥¦¥ó¥È¤Ï +.Xr vhold 9 +¤ª¤è¤Ó +.Xr vdrop 9 +¤Ë¤è¤Ã¤Æ´ÉÍý¤µ¤ì¤Þ¤¹¡£ +vnode ¤Î +.Dv v_usecount +¤ª¤è¤Ó +.Dv v_holdcnt +¤ÎξÊý¤¬ 0 ¤Ë㤹¤ë¤È¡¢¤½¤ì¤«¤é¤½¤Î vnode ¤Ï¥Õ¥ê¡¼¥ê¥¹¥È¾å¤ËÃÖ¤«¤ì¡¢ +¤³¤È¤Ë¤è¤Ã¤Æ¤ÏÊ̤Υե¡¥¤¥ë¥·¥¹¥Æ¥à¤Ç¡¢ +Ê̤Υե¡¥¤¥ë¤Î¤¿¤á¤ËºÆÍøÍѤµ¤ì¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£ +¥Õ¥ê¡¼¥ê¥¹¥È¤Ø¤Î¤ª¤è¤Ó¥Õ¥ê¡¼¥ê¥¹¥È¤«¤é¤Î°Ü¹Ô¤Ï¡¢ +.Xr getnewvnode 9 , +.Xr vfree 9 +¤ª¤è¤Ó +.Xr vbusy 9 +¤Ë¤è¤Ã¤Æ¼è¤ê°·¤ï¤ì¤Þ¤¹¡£ +3 ÈÖÌܤΤâ¤Î¤Ï¥Õ¥¡¥¤¥ë¤Ë½ñ¹þ¤ßÃæ¤Î¥¯¥é¥¤¥¢¥ó¥È¤Î¿ô¤Î¥«¥¦¥ó¥È¤Ç¤¹¡£ +¤³¤ì¤Ï +.Xr open 2 +¤ª¤è¤Ó +.Xr close 2 +¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ë¤è¤Ã¤Æ´ÉÍý¤µ¤ì¤Þ¤¹¡£ +.Pp +vnode ¤òÊÖ¤¹¤¢¤é¤æ¤ë¸Æ¤Ó½Ð¤· (Î㤨¤Ð +.Xr VFS_GET 9 , +.Xr VOP_LOOKUP 9 +¤Ê¤É) ¤Ï vnode ¤Î +.Dv v_usecount +¤ò 1 ¤º¤ÄÁý¤ä¤·¤Þ¤¹¡£ +¸Æ¤Ó½Ð¤·Â¦¤¬ vnode ¤ÎÍøÍѤò´°Î»¤·¤¿¤È¤­¤Ë¤Ï¡¢¤³¤Î»²¾È¤Ï +.Xr vrele 9 +(¤Þ¤¿¤Ï vnode ¤¬¥í¥Ã¥¯¤µ¤ì¤Æ¤¤¤ì¤Ð +.Xr vput 9 ) +¤Î¸Æ¤Ó½Ð¤·¤Ë¤è¤Ã¤Æ²òÊü¤µ¤ì¤ë¤Ù¤­¤Ç¤¹¡£ +.Pp +¤½¤Î¾¤Î¶¦Ä̤˻ÈÍѤµ¤ì¤ë vnode ¹½Â¤ÂΤΥá¥ó¥Ð¤Ï¡¢ +̾Á°¥­¥ã¥Ã¥·¥å¤Ç¤Î°ì´ÓÀ­¤ò´ÉÍý¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤ë +.Dv v_id +¤È¡¢¤½¤Î vnode ¤ò½êÍ­¤·¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò»Ø¤¹ +.Dv v_mount +¤È¡¢¤½¤Î vnode ¤¬É½¸½¤¹¤ë¥ª¥Ö¥¸¥§¥¯¥È¤Î·¿¤ò´Þ¤à +.Dv v_type +¤È¡¢¤½¤Î vnode ¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥àÆÃÍ­¤Î¥Ç¡¼¥¿¤òÊݸ¤¹¤ë¤¿¤á¤Ë +¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ë¤è¤Ã¤Æ»ÈÍѤµ¤ì¤ë +.Dv v_data +¤¬¤¢¤ê¤Þ¤¹¡£ +.Dv v_op +¥Õ¥£¡¼¥ë¥É¤Ï vnode ¤Îµ¡Ç½¤ò¼ÂÁõ¤¹¤ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥àÆâ¤Î´Ø¿ô¤ò¸Æ¤Ó½Ð¤¹¤¿¤á¤Î +.Dv VOP_* +¥Þ¥¯¥í¤Ë¤è¤Ã¤Æ»ÈÍѤµ¤ì¤Þ¤¹¡£ +.Sh VNODE ¤Î·¿ +.Bl -tag -width VSOCK +.It Dv VNON +·¿¤Ê¤·¤Ç¤¹¡£ +.It Dv VREG +Ä̾ï¥Õ¥¡¥¤¥ë¤Ç¤¹¡£ +VM ¥ª¥Ö¥¸¥§¥¯¥È¤Î»Ù»ý¤¬Í­¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¤·Ìµ¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¡£ +ɬ¤º»Ù»ý¥ª¥Ö¥¸¥§¥¯¥È¤ò¼èÆÀ¤·¤¿¤¤¾ì¹ç¤Ë¤Ï¡¢ +.Xr vfs_object_create 9 +¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£ +.It Dv VDIR +¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¹¡£ +.It Dv VBLK +¥Ö¥í¥Ã¥¯·¿¥Ç¥Ð¥¤¥¹¤Ç¤¹¡£ +VM ¥ª¥Ö¥¸¥§¥¯¥È¤Î»Ù»ý¤¬Í­¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¤·Ìµ¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¡£ +ɬ¤º»Ù»ý¥ª¥Ö¥¸¥§¥¯¥È¤ò¼èÆÀ¤·¤¿¤¤¾ì¹ç¤Ë¤Ï¡¢ +.Xr vfs_object_create 9 +¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£ +.It Dv VCHR +ʸ»ú·¿¥Ç¥Ð¥¤¥¹¤Ç¤¹¡£ +.It Dv VLNK +¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤Ç¤¹¡£ +.It Dv VSOCK +¥½¥±¥Ã¥È¤Ç¤¹¡£ +ÄÌÃÎ¥í¥Ã¥¯¤Ïưºî¤·¤Ê¤¤¤Ç¤·¤ç¤¦¡£ +.It Dv VFIFO +FIFO (̾Á°ÉÕ¤­¥Ñ¥¤¥×) ¤Ç¤¹¡£ +ÄÌÃÎ¥í¥Ã¥¯¤Ïưºî¤·¤Ê¤¤¤Ç¤·¤ç¤¦¡£ +.It Dv VBAD +¸Å¤¤·Á¼°¤Î¥Ð¥Ã¥É¥»¥¯¥¿¥Þ¥Ã¥×¤Ç¤¹¡£ +.El +.Sh Ãí +VFIFO ¤Ï +.Pa /sys/kern/sys_pipe.c +¤Î "struct fileops" ¤ò»ÈÍѤ·¤Þ¤¹¡£ +VSOCK ¤Ï +.Pa /sys/kern/sys_socket.c +¤Î "struct fileops" ¤ò»ÈÍѤ·¤Þ¤¹¡£ +¤½¤Î¾¤ÎÁ´¤Æ¤Ï +.Pa /sys/kern/vfs_vnops.c +¤Î "struct fileops" ¤ò»ÈÍѤ·¤Þ¤¹¡£ +.Pp +VFIFO/VSOCK ¤Î¥³¡¼¥É¤Ë¤Ê¤¼¤« "struct fileops" ¤¬»ÈÍѤµ¤ì¤Æ¤¤¤ëÍýͳ¤Ï¡¢ +¥«¡¼¥Í¥ë¤Ø¤Î VFS ¥³¡¼¥É¤ÎÉÔ´°Á´¤ÊÅý¹ç¤Îʸ²½°ä»º¤Ç¤¹¡£ +.Sh ´ØÏ¢¹àÌÜ +.Xr VFS 9 +.Sh ºî¼Ô +¤³¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ï +.An Doug Rabson +¤¬½ñ¤­¤Þ¤·¤¿¡£ diff --git a/ja_JP.eucJP/man/man9/zone.9 b/ja_JP.eucJP/man/man9/zone.9 new file mode 100644 index 0000000000..b2107c0810 --- /dev/null +++ b/ja_JP.eucJP/man/man9/zone.9 @@ -0,0 +1,211 @@ +.\"- +.\" Copyright (c) 2001 Dag-Erling Coïdan Smørgrav +.\" 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 BY THE AUTHOR 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 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/share/man/man9/zone.9,v 1.9.2.4 2002/05/02 20:01:29 asmodai Exp % +.\" +.\" $FreeBSD$ +.Dd January 27, 2001 +.Dt ZONE 9 +.Os +.Sh ̾¾Î +.Nm zbootinit , +.Nm zinitna , +.Nm zinit , +.Nm zalloc , +.Nm zfree , +.Nm zalloci , +.Nm zfreei , +.Nd ¥¾¡¼¥ó¥¢¥í¥±¡¼¥¿ +.Sh ½ñ¼° +.In sys/param.h +.In sys/queue.h +.In vm/vm_zone.h +.Ft void +.Fn zbootinit "vm_zone_t z" "char *name" "int size" "void *item" "int nitems" +.Ft int +.Fn zinitna "vm_zone_t z" "struct vm_object *obj" "char *name" "int size" "int nentries" "int flags" "int zalloc" +.Ft vm_zone_t +.Fn zinit "char *name" "int size" "int nentries" "int flags" "int zalloc" +.Ft void * +.Fn zalloc "vm_zone_t z" +.Ft void +.Fn zfree "vm_zone_t z" "void *item" +.Ft void * +.Fn zalloci "vm_zone_t z" +.Ft void +.Fn zfreei "vm_zone_t z" "void *item" +.Sh ²òÀâ +¥¾¡¼¥ó¥¢¥í¥±¡¼¥¿¤ÏưŪ¤ËÂ礭¤µ¤¬·è¤á¤é¤ì¤ëÎà»÷¤·¤¿Â礭¤µ¤Î¹àÌܤν¸¹ç¤ò +´ÉÍý¤¹¤ë¤¿¤á¤Î¸úΨŪ¤Ê¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÄ󶡤·¤Þ¤¹¡£ +¥¾¡¼¥ó¥¢¥í¥±¡¼¥¿¤Ï¼Â¹Ô»þ¤Ë³ä¤êÅö¤Æ¤é¤ì¤¿¥¾¡¼¥ó¤Ï¤â¤Á¤í¤ó¡¢ +ͽ¤á³ä¤êÅö¤Æ¤é¤ì¤Æ¤¤¤ë¥¾¡¼¥ó¤ËÂФ·¤Æ¤â»ÈÍѤ¹¤ë¤³¤È¤¬½ÐÍè¡¢¤Þ¤¿¤½¤Î¤¿¤á¡¢ +¾¤Î¥á¥â¥ê´ÉÍý¥ë¡¼¥Á¥ó¤è¤ê¤â¥Ö¡¼¥È¥×¥í¥»¥¹¤Î¤è¤êÁᤤÃʳ¬¤ÇÍøÍѲÄǽ¤Ç¤¹¡£ +.Pp +¥¾¡¼¥ó¤Ï¿­Ä¥À­¤Î¤¢¤ëƱ°ì¤ÎÂ礭¤µ¤Î¹àÌܤν¸¹ç¤Ç¤¹¡£ +¥¾¡¼¥ó¥¢¥í¥±¡¼¥¿¤Ï¤É¤Î¹àÌܤ¬»ÈÍÑÃæ¤«¤½¤¦¤Ç¤Ê¤¤¤Î¤«¤ò¸«¼º¤ï¤Ê¤¤¤è¤¦¤Ë¤·¡¢ +¥¾¡¼¥ó¤«¤é +¹àÌܤò³ä¤êÅö¤Æ¤ë¤¿¤á¤Î´Ø¿ô¤ª¤è¤Ó²òÊü¤·¤ÆÌ᤹ (¸å¤Ç¤Î»ÈÍѤΤ¿¤á¤Ë¹àÌܤò +ÍøÍѲÄǽ¤Ë¤¹¤ë) ¤¿¤á¤Î´Ø¿ô¤òÄ󶡤·¤Þ¤¹¡£ +.Pp +¹½Â¤ÂΤò¥¾¡¼¥ó¥¢¥í¥±¡¼¥¿¤Ç´ÉÍý¤·¡¢ +³ä¤êÅö¤Æ¤Î´Ö¤ËËä¤á¹þ¤ßºÑ¤ß¤Î¥Õ¥£¡¼¥ë¥É¤ò»Ä¤¹¤³¤È¤Ë¤è¤ê +·¿¤¬¸ÇÄê¤È¤Ê¤ë¥¾¡¼¥ó¤ÎÆÃÀ­¤ò»ÈÍѤ·¤¿¤¤¾ì¹ç¡¢ +¥¾¡¼¥ó¥¢¥í¥±¡¼¥¿¤¬ÆâÉô¤Ç»ÈÍѤ¹¤ëÀèÆ¬ 2 ¤Ä¤Î¥Ý¥¤¥ó¥¿¤ò +¤³¤Î¹½Â¤ÂΤ¬Í½Ì󤷤Ƥª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£ +.Bd -literal +struct my_item { + struct my_item *z_rsvd1; + struct my_item *z_rsvd2; + /* ¹½Â¤ÂΤλĤê¤ÎÉôʬ */ +}; +.Ed +.Pp +¤½¤¦¤·¤Ê¤¤¾ì¹ç¡¢³Æ¡¹¤Î³äÅö¤Æ¤Î¸å¤Ç¤³¤ì¤é¤Î¥¨¥ó¥È¥ê¤¬²õ¤ì¤¿¤È¤ß¤Ê¤¹¤Ù¤­¤Ç¤¹¡£ +¹àÌܤκǽé¤Î³äÅö¤Æ¤Î¸å¤Ç¤Ï¡¢0 ¤Ë¥¯¥ê¥¢¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ +¤·¤«¤·¤½¤ì¤Ë³¤¯³äÅö¤Æ¤Ç¤Ï¡¢ +ºÇ¶á²òÊü¤µ¤ì¤¿¤â¤Î¤¬ÆâÍÆ¤È¤·¤Æ»Ä¤Ã¤Æ¤¤¤ë¤Ç¤·¤ç¤¦¤¬¡¢ +Á°½Ò¤Î¥Õ¥£¡¼¥ë¥É¤ÏÎã³°¤Ç¤¹¡£ +.Pp +¥¾¡¼¥ó¤Ï¥Ö¡¼¥È¥×¥í¥»¥¹¤¬¤É¤ì¤À¤±¿ÊĽ¤·¤Æ¤¤¤ë¤«¤Ë°Í¸¤·¤Æ¡¢ +2 ¤Ä¤Îήµ·¤Î¤¦¤Á¤Î°ìÊý¤ÇºîÀ®¤µ¤ì¤Þ¤¹¡£ +.Pp +VM ¥·¥¹¥Æ¥à¤¬´°Á´¤Ë½é´ü²½¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢ +.Fn zinit +¤ò»ÈÍѤ·¤ÆÆ°Åª¤Ë³äÅö¤Æ¤é¤ì¤¿¥¾¡¼¥ó¤¬ºîÀ®¤Ç¤­¤Þ¤¹¡£ +.Fa name +°ú¿ô¤Ï¥¾¡¼¥ó¤Î¤¿¤á¤Îû¤¤µ­½ÒŪ¤Ê̾Á°¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¢¤ë¤Ù¤­¤Ç¤¹¡£ +¤³¤ì¤ÏÅý·×¤È¥Ç¥Ð¥Ã¥®¥ó¥°ÌÜŪ¤Î¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ +.Fa size +¤ª¤è¤Ó +.Fa nentries +¤Ï¤½¤ì¤¾¤ì¡¢¥¾¡¼¥ó¤Ë¤è¤Ã¤ÆÊÝ»ý¤µ¤ì¤ë¹àÌܤÎÂ礭¤µ¤ª¤è¤Ó¤½¤Î¥¾¡¼¥ó¤Î +½é´ü¤ÎÂ礭¤µ (¹àÌÜ¿ô¤Ç) ¤Ç¤¹¡£ +³ä¤ê¹þ¤ß¥³¥ó¥Æ¥­¥¹¥È¤ÎÃæ¤Ç¥¾¡¼¥ó¤«¤é¹àÌܤ¬³äÅö¤Æ¤é¤ì¤ëµ¡²ñ¤¬¤¢¤ë +¾ì¹ç¤Ë¤Ï¡¢ +.Fa flags +°ú¿ô¤Ï +.Dv ZONE_INTERRUPT +¤ËÀßÄꤵ¤ì¤ë¤Ù¤­¤Ç¤¹¡£ +¤³¤Î¾ì¹ç¡¢¥¾¡¼¥ó¤Ï·è¤·¤Æ +.Fa nentries +¹àÌܤè¤ê¤âÂ礭¤¯¤Ê¤é¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ +¾¤ÎÁ´¤Æ¤Î¾ì¹ç¤Ë¤Ï +.Fa flags +¤Ï 0 ¤ËÀßÄꤵ¤ì¤ë¤Ù¤­¤Ç¤¹¡£ +ºÇ¸å¤Î°ú¿ô +.Fa zalloc +¤Ï¥¾¡¼¥ó¤¬°ìÇդˤʤëÅ٤ˤ½¤Î¥¾¡¼¥ó¤¬Â礭¤¯¤Ê¤ë¤Ù¤­ VM ¥Ú¡¼¥¸¤Î¿ô¤ò¼¨¤·¤Þ¤¹¡£ +.Pp +VM ¥·¥¹¥Æ¥à¤¬Ì¤¤À´°Á´¤Ë½é´ü²½¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢ +¥¾¡¼¥ó¥¢¥í¥±¡¼¥¿¤Ï¹àÌܤËʬ¤±Í¿¤¨¤ë¤¿¤á¤Î VM ¥Ú¡¼¥¸¤ò +ưŪ¤Ë³äÅö¤Æ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¡£¤½¤Î¤¿¤á¡¢¸Æ¤Ó½Ð¤·Â¦¤¬ÀÅŪ¤Ê¹àÌܤΥס¼¥ë¤ò +¶¡µë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +¤³¤Î¾ì¹ç¡¢2 ¤Ä¤ÎÃʳ¬¤Ç½é´ü²½¤¬´°Î»¤·¤Þ¤¹¡£ºÇ½é¤Ë¡¢¥¾¡¼¥ó¤ÎºÇ½é¤Î»ÈÍѤÎÁ°¤Ë +.Fn zbootinit +¤¬¸Æ¤Ó½Ð¤µ¤ì¡¢¸å¤Ç VM ¥·¥¹¥Æ¥à¤¬µ¯Æ°¤·¤¿¤È¤­¤Ë¡¢ +.Fn zinitna +¤Î¸Æ¤Ó½Ð¤·¤Ë¤è¤Ã¤Æ¤½¤Î¥¾¡¼¥ó¤Î½é´ü²½¤¬´°Î»¤µ¤ì¤Þ¤¹¡£ +.Pp +.Fn zbootinit +¤Ø¤ÎºÇ½é¤Î°ú¿ô¤Ï½é´ü²½¤µ¤ì¤ë¤Ù¤­ÀÅŪ¤Ê +.Vt "struct vm_zone" +¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¹¡£ +2 ÈÖÌÜ¤È 3 ÈÖÌܤϥ¾¡¼¥ó¤Î̾Á°¤ÈÊÝ»ý¤µ¤ì¤ë¹àÌܤÎÂ礭¤µ¤Ç¤¹¡£ +4 ÈÖÌܤΰú¿ô¤Ï¥¾¡¼¥ó¤¬´°Á´¤Ë½é´ü²½¤µ¤ì¤ë¤Þ¤Ç¤Î´Ö¤Ë¥¾¡¼¥ó¥¢¥í¥±¡¼¥¿¤¬ +¤½¤³¤«¤é°ú¤­½Ð¤¹¤Ç¤¢¤í¤¦ÀÅŪ¤Ê¹àÌܤÎÇÛÎó¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¹¡£ +.Fa nitems +°ú¿ô¤ÏÇÛÎóÃæ¤Î¹àÌÜ¿ô¤Ç¤¹¡£ +.Pp +.Fa zinitna +¤Ø¤Î°ú¿ô¤Ï +.Fa zinit +¤Ø¤Î¤â¤Î¤ÈƱ¤¸¤Ç¤¹¤¬¡¢½é´ü²½¤µ¤ì¤ë¤Ù¤­¥¾¡¼¥ó¤Ø¤Î¥Ý¥¤¥ó¥¿¡¢¤ª¤è¤Ó +.Dv ZONE_INTERRUPT +¤Î¾ì¹ç¤Ë¤½¤³¤«¤é¥Ú¡¼¥¸¤ò³äÅö¤Æ¤ë¤¿¤á¤Î +.Vt "struct vm_object" +¤Ø¤Î¥Ý¥¤¥ó¥¿¤¬²Ã¤ï¤Ã¤Æ¤¤¤Þ¤¹¡£ +.Pp +¥¾¡¼¥ó¤«¤é¹àÌܤò³äÅö¤Æ¤ë¤¿¤á¤Ë¤Ï¡¢Ã±½ã¤Ë¤½¤Î¥¾¡¼¥ó¤Î¥Ý¥¤¥ó¥¿¤òȼ¤Ê¤Ã¤Æ +.Fn zalloc +¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£¤³¤ì¤Ï¹àÌܤؤΥݥ¤¥ó¥¿¤ò¡¢¤Þ¤¿¤Ï¡¢¥¾¡¼¥ó¤ÎÃæ¤ÎÁ´¤Æ¤Î +¹àÌܤ¬»ÈÍÑÃæ¤Ç³î¤Ä¥¢¥í¥±¡¼¥¿¤¬¥¾¡¼¥ó¤òÂ礭¤¯¤Ç¤­¤Ê¤¤¤Þ¤ì¤Ê¾ì¹ç¤Ë¤Ï¡¢ +.Dv NULL +¤ò¡¢ÊÖ¤·¤Þ¤¹¡£ +.Fn zalloc +¤Ï³ä¤ê¹þ¤ß¥»¡¼¥Õ¤Ç¤Ï¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ +³ä¤ê¹þ¤ß¥»¡¼¥Õ¤Ê³äÅö¤Æ¤Î¤¿¤á¤Ë¤Ï +.Fn zalloc +¤ÈƱ¤¸¥»¥Þ¥ó¥Æ¥£¥¯¥¹¤ò»ý¤Ä +.Fn zalloci +¤ò»ÈÍѤ·¤Þ¤¹¡£ +.Pp +¹àÌܤϤ½¤Î¥¾¡¼¥ó¤Ø¤Î¥Ý¥¤¥ó¥¿¤ª¤è¤Ó¤½¤Î¹àÌܤؤΥݥ¤¥ó¥¿¤òȼ¤Ê¤Ã¤¿ +.Fn zfree +¤ò¸Æ¤Ó½Ð¤·¤Ë¤è¤Ã¤Æ¡¢³äÅö¤Æ¤é¤ì¤Æ¤¤¤¿¥¾¡¼¥ó¤Ë²òÊü¤·Ìᤵ¤ì¤Þ¤¹¡£ +.Fn zalloci +¤¬»ÈÍѤµ¤ì¤Æ¹Ô¤Ê¤ï¤ì¤¿³äÅö¤Æ¤Î¾ì¹ç¤Ë¤ÏÂбþ¤¹¤ë +.Fn zfreei +´Ø¿ô¤ò»ÈÍѤ·¤Þ¤¹¡£ +.Sh Ìá¤êÃÍ +.Fn zinitna +´Ø¿ô¤ÏÀ®¸ù»þ¤Ë¤Ï 1 ¤ò¤½¤·¤Æ¼ºÇÔ»þ¤Ë¤Ï 0 ¤òÊÖ¤·¤Þ¤¹¡£ +Í£°ì¤Î¼ºÇԤξì¹ç¤Ï³ä¤ê¹þ¤ß¥»¡¼¥Õ¤Ê¥¾¡¼¥ó¤Î¤¿¤á¤Î¥¢¥É¥ì¥¹¶õ´Ö¤ò +Á°¤â¤Ã¤Æ³äÅö¤Æ¤é¤ì¤Ê¤¤¤³¤È¤Ç¤¹¡£ +.Pp +.Fn zinit +´Ø¿ô¤Ï´°Á´¤Ë½é´ü²½¤µ¤ì¤¿ +.Vt "struct vm_zone" +¤Ø¤Î¥Ý¥¤¥ó¥¿¤ò¡¢¤Þ¤¿¤Ï +.Vt "struct vm_zone" +¤ò +.Fn malloc +¤Ç¤­¤Ê¤«¤Ã¤¿¾ì¹ç¤« +.Dv ZONE_INTERRUPT +¥Õ¥é¥°¤¬ÀßÄꤵ¤ì¤Æ¤¤¤Æ +.Fn zinitna +¤¬¥¢¥É¥ì¥¹¶õ´Ö¤ÎÁ°³äÅö¤Æ¤Ë¼ºÇÔ¤·¤¿¾ì¹ç¤Ë +.Dv NULL +¤ò¡¢ÊÖ¤·¤Þ¤¹¡£ +.Pp +.Fn zalloc +´Ø¿ô¤Ï¹àÌܤؤΥݥ¤¥ó¥¿¤ò¡¢¤Þ¤¿¤Ï¥¾¡¼¥ó¤Î̤»ÈÍѹàÌܤ¬ÉÔ­¤·¤Æ¥¢¥í¥±¡¼¥¿¤¬ +¥¾¡¼¥ó¤ò³ÈÄ¥¤Ç¤­¤Ê¤¤¾ì¹ç¤Ë +.Dv NULL +¤ò¡¢ÊÖ¤·¤Þ¤¹¡£ +.Sh ´ØÏ¢¹àÌÜ +.Xr malloc 9 +.Sh Îò»Ë +¥¾¡¼¥ó¥¢¥í¥±¡¼¥¿¤Ï +.Fx 3.0 +¤Ç¤Ï¤¸¤á¤ÆÅо줷¤Þ¤·¤¿¡£ +.Sh ºî¼Ô +.An -nosplit +¥¾¡¼¥ó¥¢¥í¥±¡¼¥¿¤Ï +.An John S. Dyson +¤¬½ñ¤­¤Þ¤·¤¿¡£ +.Pp +¤³¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ï +.An Dag-Erling Co\(:idan Sm\(/orgrav Aq des@FreeBSD.org +¤¬½ñ¤­¤Þ¤·¤¿¡£