diff --git a/ja_JP.eucJP/man/man9/BUS_CONFIG_INTR.9 b/ja_JP.eucJP/man/man9/BUS_CONFIG_INTR.9 index 12faae90ef..3a1fa03783 100644 --- a/ja_JP.eucJP/man/man9/BUS_CONFIG_INTR.9 +++ b/ja_JP.eucJP/man/man9/BUS_CONFIG_INTR.9 @@ -1,102 +1,104 @@ .\" Copyright (c) 2003 Marcel Moolenaar .\" 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/BUS_CONFIG_INTR.9,v 1.2 2003/10/23 06:22:40 hmp Exp % +.\" %FreeBSD: src/share/man/man9/BUS_CONFIG_INTR.9,v 1.4 2004/07/07 07:56:58 ru Exp % .\" .\" $FreeBSD$ .Dd September 23, 2003 .Dt BUS_CONFIG_INTR 9 .Os .\" .Sh ̾¾Î .Nm BUS_CONFIG_INTR -.Nd ³ä¤ê¹þ¤ß¤Î¶ËÀ­¤ª¤è¤Ó¥È¥ê¥¬¥â¡¼¥É¤ÎÀßÄê +.Nd "³ä¤ê¹þ¤ß¤Î¶ËÀ­¤ª¤è¤Ó¥È¥ê¥¬¥â¡¼¥É¤ÎÀßÄê" .\" .Sh ½ñ¼° .In sys/param.h .In sys/bus.h .Ft int -.Fn BUS_CONFIG_INTR "device_t dev" "int irq" "enum intr_trigger trig" "enum intr_polarity pol" +.Fo BUS_CONFIG_INTR +.Fa "device_t dev" "int irq" "enum intr_trigger trig" "enum intr_polarity pol" +.Fc .\" .Sh ²òÀâ -.Nm +.Fn BUS_CONFIG_INTR ¥á¥½¥Ã¥É¤Ï¡¢¥Ð¥¹¤Þ¤¿¤Ï¥Ç¥Ð¥¤¥¹¤Î¥É¥é¥¤¥Ð¤¬¡¢¿Æ¤Î¥Ð¥¹¤Ë³ä¤ê¹þ¤ß¶ËÀ­¤ª¤è¤Ó ¥È¥ê¥¬¥â¡¼¥É¤òÄ󶡤¹¤ë¤³¤È¤ò²Äǽ¤Ë¤·¤Þ¤¹¡£ ¤³¤ì¤ÏÄ̾ï¤Ï¡¢¥ë¡¼¥È¥Ð¥¹ (Î㤨¤Ð nexus) ¤Þ¤Ç¤ÎÁ´¤Æ¤Î·ÐÏ©¤ò¾å¤¬¤Ã¤Æ¹Ô¤­¤Þ¤¹¡£ ¤½¤ÎÁ´¤Æ¤Î·ÐÏ©¤Ë¤ª¤¤¤Æ¡¢ ¼ÂºÝ¤Ë¥Ï¡¼¥É¥¦¥§¥¢¤ò¥×¥í¥°¥é¥à¤¹¤ë¤¿¤á¤ËɬÍ×¤ÊÆ°ºî¤¬¤Ê¤µ¤ì¤Þ¤¹¡£ -.Nm +.Fn BUS_CONFIG_INTR ¥á¥½¥Ã¥É¤Ï³ä¤ê¹þ¤ßÈÖ¹æ¤ò¤È¤ë¤¿¤á¡¢ .Xr BUS_SETUP_INTR 9 ¤è¤êÀè¤Ë¸Æ¤Ó½Ð¤µ¤ì¤ë¤³¤È¤¬É¬¤º¤·¤âÍ׵ᤵ¤ì¤Þ¤»¤ó¤¬¡¢ÅöÁ³¤À¤È²¾Äꤵ¤ì¤Þ¤¹¡£ .Pp .Fa trig °ú¿ô¤Ï°Ê²¼¤Î¤¤¤º¤ì¤«¤Ç¤¹¡£ -.Bl -tag -width INTR_TRIGGER_CONFORM +.Bl -tag -width ".Dv INTR_TRIGGER_CONFORM" .It Dv INTR_TRIGGER_CONFORM ³ä¤ê¹þ¤ß¥È¥ê¥¬¥â¡¼¥É¤Ï¡¢¥Ç¥Ð¥¤¥¹¤¬¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¥Ð¥¹¤Ë¤È¤Ã¤Æ¤Îɸ½à¤Ç¤¹¡£ .It Dv INTR_TRIGGER_EDGE ³ä¤ê¹þ¤ß¤Ï¡¢¥¨¥Ã¥¸¥È¥ê¥¬¤µ¤ì¤Þ¤¹¡£ ¤³¤ì¤Ï¡¢³ä¤ê¹þ¤ßÀþ¤Î¿®¹æ¤ÎΩ¾å¤ê¥¨¥Ã¥¸¤Ë¤è¤Ã¤Æ¡¢ ³ä¤ê¹þ¤ß¤¬Î©¤Á¾å¤²¤é¤ì¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£ ¤½¤Î¿®¹æ¤ÏÄ̾¥¹¥Ñ¥¤¥¯¤òȯÀ¸¤µ¤»¤ë¤è¤¦¤Ë¸µ¤Î¾õÂÖ¤ËÌá¤ê¤Þ¤¹¡£ .It Dv INTR_TRIGGER_LEVEL ³ä¤ê¹þ¤ß¤Ï¡¢¥ì¥Ù¥ë¥È¥ê¥¬¤µ¤ì¤Þ¤¹¡£ ¤³¤ì¤Ï¡¢³ä¤ê¹þ¤ßÀþ¤Î¿®¹æ¤¬ÊѲ½¤·¤Æ¡¢¤½¤Î³ä¤ê¹þ¤ß¤Î¥µ¡¼¥Ó¥¹´°Î»¤Þ¤Ç¤Î´Ö ÊѲ½¤»¤º¤Ë°Ý»ý¤µ¤ì¤ë»þ¤Ë¡¢³ä¤ê¹þ¤ß¤¬Î©¤Á¾å¤²¤é¤ì¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£ ¥µ¡¼¥Ó¥¹´°Î»¸å¡¢¿®¹æ¤ÏÌá¤ê¤Þ¤¹¡£ .El .Pp .Fa pol °ú¿ô¤Ï°Ê²¼¤Î¤¤¤º¤ì¤«¤Ç¤¹¡£ -.Bl -tag -width INTR_POLARITY_CONFORM +.Bl -tag -width ".Dv INTR_POLARITY_CONFORM" .It Dv INTR_POLARITY_CONFORM ³ä¤ê¹þ¤ß¤Î¶ËÀ­¤Ï¡¢¥Ç¥Ð¥¤¥¹¤¬¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¥Ð¥¹¤Ë¤È¤Ã¤Æ¤Îɸ½à¤Ç¤¹¡£ .It Dv INTR_POLARITY_HIGH ³ä¤ê¹þ¤ßÀþ¤ÎÅ۵¤¬¥Ï¥¤¤Ë¤Ê¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢³ä¤ê¹þ¤ß¤¬³èÀ­²½¤µ¤ì¤Þ¤¹¡£ .It Dv INTR_POLARITY_LOW ³ä¤ê¹þ¤ßÀþ¤ÎÅ۵¤¬¥í¡¼¤Ë¤Ê¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢³ä¤ê¹þ¤ß¤¬³èÀ­²½¤µ¤ì¤Þ¤¹¡£ .El .\" .Sh Ìá¤êÃÍ À®¸ù»þ¤Ë¤Ï 0 ¤¬ÊÖ¤µ¤ì¡¢¤½¤¦¤Ç¤Ê¤±¤ì¤ÐŬÀڤʥ¨¥é¡¼¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£ .\" .Sh ´ØÏ¢¹àÌÜ .Xr BUS_SETUP_INTR 9 , .Xr BUS_TEARDOWN_INTR 9 , .Xr device 9 , .Xr driver 9 .\" .Sh Îò»Ë -.Nm +.Fn BUS_CONFIG_INTR ¥á¥½¥Ã¥É¤Ï .Fx 5.2 ¤Ç¤Ï¤¸¤á¤ÆÅо줷¤Þ¤·¤¿¡£ .\" .Sh ºî¼Ô ¤³¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ï .An Marcel Moolenaar .Aq marcel@xcllnt.net ¤¬½ñ¤­¤Þ¤·¤¿¡£ diff --git a/ja_JP.eucJP/man/man9/DEVICE_DETACH.9 b/ja_JP.eucJP/man/man9/DEVICE_DETACH.9 index 410ca3e813..f87d854ec0 100644 --- a/ja_JP.eucJP/man/man9/DEVICE_DETACH.9 +++ b/ja_JP.eucJP/man/man9/DEVICE_DETACH.9 @@ -1,65 +1,65 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1998 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/DEVICE_DETACH.9,v 1.10 2003/10/23 01:31:25 hmp Exp % +.\" %FreeBSD: src/share/man/man9/DEVICE_DETACH.9,v 1.11 2004/07/03 18:29:23 ru Exp % .\" .\" $FreeBSD$ .Dd June 16, 1998 .Dt DEVICE_DETACH 9 .Os .Sh ̾¾Î .Nm DEVICE_DETACH .Nd ¥Ç¥Ð¥¤¥¹¤Î¥Ç¥¿¥Ã¥Á .Sh ½ñ¼° .In sys/param.h .In sys/bus.h .Ft int .Fn DEVICE_DETACH "device_t dev" .Sh ²òÀ⠥ǥХ¤¥¹¤ò¥Ç¥¿¥Ã¥Á¤·¤Þ¤¹¡£ -¥æ¡¼¥¶¤¬¥É¥é¥¤¥Ð¥½¥Õ¥È¥¦¥§¥¢¤òÃÖ¤­´¹¤¨¤¿¾ì¹ç¡¢¤Þ¤¿¤Ï¥Ç¥Ð¥¤¥¹¤¬ -¥·¥¹¥Æ¥à¤«¤éʪÍýŪ¤ËÀÚ¤êÎ¥¤µ¤ì¤è¤¦¤È¤·¤Æ¤¤¤ë¾ì¹ç(¤¿¤È¤¨¤Ð pccard ¥Ç¥Ð¥¤¥¹)¤Ë¡¢ +¥æ¡¼¥¶¤¬¥É¥é¥¤¥Ð¥½¥Õ¥È¥¦¥§¥¢¤òÃÖ¤­´¹¤¨¤¿¾ì¹ç¡¢¤Þ¤¿¤Ï¥Ç¥Ð¥¤¥¹¤¬¥·¥¹¥Æ¥à¤«¤é +ʪÍýŪ¤ËÀÚ¤êÎ¥¤µ¤ì¤è¤¦¤È¤·¤Æ¤¤¤ë¾ì¹ç (¤¿¤È¤¨¤Ð pccard ¥Ç¥Ð¥¤¥¹) ¤Ë¡¢ ¸Æ¤Ó½Ð¤µ¤ì¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ .Pp ¤³¤Î¥á¥½¥Ã¥É¤Ï .Xr DEVICE_ATTACH 9 ¥á¥½¥Ã¥É¤Ç³ä¤êÅö¤Æ¤é¤ì¤¿¤¢¤é¤æ¤ë¥·¥¹¥Æ¥à¥ê¥½¡¼¥¹¤ò²òÊü¤·¡¢ ¥Ï¡¼¥É¥¦¥§¥¢¤ò·òÁ´¤Ê¾õÂÖ¤Ë -¥ê¥»¥Ã¥È¤¹¤ë (¤Ä¤Þ¤ê³ä¤ê¹þ¤ß¤ò̵¸ú¤Ë¤¹¤ë¤Ê¤É) ¤Ù¤­¤Ç¤¹¡£ +¥ê¥»¥Ã¥È¤¹¤ë (¤¹¤Ê¤ï¤Á³ä¤ê¹þ¤ß¤ò̵¸ú¤Ë¤¹¤ë¤Ê¤É) ¤Ù¤­¤Ç¤¹¡£ .Sh Ìá¤êÃÍ À®¸ù»þ¤Ë¤Ï 0 ¤¬ÊÖ¤µ¤ì¡¢¤½¤ì°Ê³°¤Î¾ì¹ç¤ÏŬÀڤʥ¨¥é¡¼¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£ .Sh ´ØÏ¢¹àÌÜ .Xr device 9 , .Xr DEVICE_ATTACH 9 , .Xr DEVICE_IDENTIFY 9 , .Xr DEVICE_PROBE 9 , .Xr DEVICE_SHUTDOWN 9 .Sh ºî¼Ô ¤³¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ï .An Doug Rabson ¤¬½ñ¤­¤Þ¤·¤¿¡£ diff --git a/ja_JP.eucJP/man/man9/DEVICE_IDENTIFY.9 b/ja_JP.eucJP/man/man9/DEVICE_IDENTIFY.9 index b7b9820850..558582b09a 100644 --- a/ja_JP.eucJP/man/man9/DEVICE_IDENTIFY.9 +++ b/ja_JP.eucJP/man/man9/DEVICE_IDENTIFY.9 @@ -1,97 +1,94 @@ .\" -*- 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.12 2004/07/03 18:29:23 ru Exp % .\" $FreeBSD$ -.\" $FreeBSD$ -.Dd March 10, 2001 +.Dd May 13, 2004 .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 ¤ò»²¾È) ¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤Ë¤è¤Ã¤Æ¥«¡¼¥Í¥ë¤ËÅÐÏ¿¤µ¤ì¤Þ¤¹¡£ .Pp ¥Ç¥Ð¥¤¥¹¥Ä¥ê¡¼¤ª¤è¤Ó¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð¥Ä¥ê¡¼¤¬²òÂΤµ¤ì¤ë¤¿¤á¡¢ -.Nm +.Fn DEVICE_IDENTIFY ¥ë¡¼¥Á¥ó¤Ï¤³¤ì¤ò¹Íθ¤ËÆþ¤ì¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¼±Ê̥롼¥Á¥ó¤ò»ý¤Ã¤Æ¤¤¤ë¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð¤ò¥í¡¼¥É¤ª¤è¤Ó¥¢¥ó¥í¡¼¥É¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢ +¤³¤Î²ÄǽÀ­¤òÇÓ½ü¤¹¤ë¤¿¤á¤ÎÆÃÊ̤μêÃʤ¬¤È¤é¤ì¤Ê¤¤¸Â¤ê¤Ï¡¢ ¤½¤Î»Ò¥Î¡¼¥É¤ÏƱ¤¸¥Î¡¼¥É¤ò²¿ÅÙ¤âÄɲ乤ëǽÎϤò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£ .Sh »ÈÍÑÎ㠰ʲ¼¤Îµ¿»÷¥³¡¼¥É¤Ï¡¢¥Ï¡¼¥É¥¦¥§¥¢¤Î°ìÉô¤ò¥×¥í¡¼¥Ö¤·¡¢¥Ç¥Ð¥¤¥¹¤È ¤½¤Î¥ê¥½¡¼¥¹ (I/O ¥Ý¡¼¥È) ¤ò¥«¡¼¥Í¥ë¤ËÅÐÏ¿¤¹¤ë´Ø¿ô¤ÎÎã¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£ -¥Ç¥Ð¥¤¥¹¤Î²òÀâ¤âÀßÄꤷ¤Æ¤¤¤Þ¤¹¡£ .Bd -literal void foo_identify(driver_t *driver, device_t parent) { device_t child; ¥Ç¥Ð¥¤¥¹¾ðÊó¤Î¼è¤ê½Ð¤·; - if (¥µ¥Ý¡¼¥È¤¹¤ë¥Ç¥Ð¥¤¥¹¤¦¤Á¤Î 1 ¤Ä¤¬¥Þ¥Ã¥Á¤¹¤ë) { + 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 ´ØÏ¢¹àÌÜ .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/DEVICE_PROBE.9 b/ja_JP.eucJP/man/man9/DEVICE_PROBE.9 index 79704f602b..28e8e11f11 100644 --- a/ja_JP.eucJP/man/man9/DEVICE_PROBE.9 +++ b/ja_JP.eucJP/man/man9/DEVICE_PROBE.9 @@ -1,89 +1,91 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1998 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/DEVICE_PROBE.9,v 1.17 2004/04/11 06:37:21 imp Exp % +.\" %FreeBSD: src/share/man/man9/DEVICE_PROBE.9,v 1.19 2004/08/11 21:52:31 imp Exp % .\" .\" $FreeBSD$ .Dd June 16, 1998 .Os .Dt DEVICE_PROBE 9 .Os .Sh ̾¾Î .Nm DEVICE_PROBE .Nd ¥Ç¥Ð¥¤¥¹¤Î¸ºß¤Î¥×¥í¡¼¥Ö .Sh ½ñ¼° .In sys/param.h .In sys/bus.h .Ft int .Fn DEVICE_PROBE "device_t dev" .Sh ²òÀâ ¤³¤Î¥Ç¥Ð¥¤¥¹¥á¥½¥Ã¥É¤Ï¥Ç¥Ð¥¤¥¹¤¬¤¢¤ë¤«¤É¤¦¤«¤òÃΤ뤿¤á¤Ë¥×¥í¡¼¥Ö¤¹¤ë¤Ù¤­¤Ç¤¹¡£ ¥Ç¥Ð¥¤¥¹¤¬Â¸ºß¤¹¤ì¤Ð 0 ¤ò¡¢¥Ç¥Ð¥¤¥¹¤¬¸«¤Ä¤«¤é¤Ê¤±¤ì¤Ð .Er ENXIO ¤òÊÖ¤¹¤Ù¤­¤Ç¤¹¡£ ¥×¥í¡¼¥Ö¤Î´Ö¤Ë¤½¤Î¾¤Î¥¨¥é¡¼ (¥á¥â¥ê³äÅö¤Î¼ºÇԤʤÉ) ¤¬µ¯¤³¤Ã¤¿¾ì¹ç¤Ï¡¢ ŬÀڤʥ¨¥é¡¼¥³¡¼¥É¤¬ÊÖ¤µ¤ì¤ë¤Ù¤­¤Ç¤¹¡£ 1 ¤Ä¤Î¥Ç¥Ð¥¤¥¹¤Ë 2 ¤Ä°Ê¾å¤Î¥É¥é¥¤¥Ð¤¬Åö¤Æ¤Ï¤Þ¤ë¤è¤¦¤Ê¾ì¹ç¤Î¤¿¤á¤Ë¡¢ Í¥Àè½ç°Ì¤òÊÖ¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤³¤Î¾ì¹ç¡¢À®¸ù¤ÎÃÍ¤Ï 0 °Ê²¼¤ÎÃͤǡ¢ ºÇ¤âÂ礭¤ÊÃͤ¬ºÇ¤âŬÀڤǤ¢¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£ ¼ºÇÔ¤ÎÃͤÏÀµ¤ÎÃͤÇɽ¸½¤µ¤ì¡¢Ä̾ï¤Î .Ux ¥¨¥é¡¼¥³¡¼¥É¤¬ÌÜŪ¤Ë±þ¤¸¤Æ»ÈÍѤµ¤ì¤ë¤Ù¤­¤Ç¤¹¡£ .Pp ¥É¥é¥¤¥Ð¤¬ 0 ¤è¤ê¾®¤µ¤¤À®¸ùÃͤòÊÖ¤¹¾ì¹ç¡¢ ¥É¥é¥¤¥Ð¤Ï¤½¤Î¥Ç¥Ð¥¤¥¹¤Ë¥¢¥¿¥Ã¥Á¤µ¤ì¤ë¤Î¤¬ Ʊ¤¸¥É¥é¥¤¥Ð¤Ç¤¢¤ë¤ÈÁÛÄꤷ¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£ ÆÃ¤Ë¡¢softc ¹½Â¤ÂΤ˳ÊǼ¤µ¤ì¤¿¤¹¤Ù¤Æ¤ÎÃͤ¬ ¥¢¥¿¥Ã¥Á¥á¥½¥Ã¥É¤ÇÍøÍѲÄǽ¤Ç¤¢¤ë¤ÈÁÛÄꤷ¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¤·¡¢ ¤Þ¤¿¡¢¥¢¥¿¥Ã¥Á¥á¥½¥Ã¥É¤¬¸Æ¤Ð¤ì¤¿¾ì¹ç¡¢ ¥×¥í¡¼¥Ö¤Î´Ö¤Ë³ä¤êÅö¤Æ¤é¤ì¤¿¤¢¤é¤æ¤ë¥ê¥½¡¼¥¹¤Ï²òÊü¤·¤Æ ºÆ³ä¤êÅö¤Æ¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ ²Ã¤¨¤Æ¡¢¤½¤Î¥×¥í¡¼¥Ö¥ë¡¼¥Á¥ó¤Ï¤É¤ó¤Ê¤³¤È¤¬¤¢¤Ã¤Æ¤âÉûºîÍѤ¬¤Ê¤¤¤³¤È¤¬¡¢ ÀäÂÐɬÍ×¾ò·ï¤Ç¤¹¡£ ¥×¥í¡¼¥Ö¥ë¡¼¥Á¥ó¤Ï¡¢¥¢¥¿¥Ã¥Á¥ë¡¼¥Á¥ó¤¬¸Æ¤Ó½Ð¤µ¤ì¤ëÁ°¤Ë 2 ²ó°Ê¾å ¸Æ¤Ó½Ð¤µ¤ì¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£ .Pp À®¸ùÃÍ 0 ¤òÊÖ¤¹¾ì¹ç¤Ë¤Ï¡¢ ¥É¥é¥¤¥Ð¤Ï¤½¤Î¥Ç¥Ð¥¤¥¹¤¬¥¢¥¿¥Ã¥Á¤µ¤ì¤ë¤Ç¤¢¤í¤¦¤ÈÁÛÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤¹¤¬¡¢ ¥×¥í¡¼¥Ö¥ë¡¼¥Á¥ó¤¬Ìá¤Ã¤¿»þ¤Ë¤¤¤«¤Ê¤ë¥ê¥½¡¼¥¹¤ò¤âÊÝ»ý¤·¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£ +À®¸ù¥³¡¼¥É 0 ¤òÊÖ¤¹¤È¤­¤Ë¤Ï¡¢ +¥É¥é¥¤¥Ð¤Ï softc ¤ÏÊݸ¤µ¤ì¤Æ¤¤¤ë¤È·è¤á¤Æ¤«¤«¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ .Sh Ìá¤êÃÍ 0 °Ê²¼¤ÎÃͤÏÀ®¸ù¤òɽ¤·¡¢0 ¤è¤êÂ礭¤ÊÃͤϥ¨¥é¡¼ (errno) ¤òɽ¤·¤Þ¤¹¡£ 0 °Ê²¼¤ÎÃͤλþ¡¢0 ¤ÏºÇ¹â¤ÎÍ¥Àè½ç°Ì¤òɽ¤·¡¢¤½¤ì°Ê¾å¤Î¥×¥í¡¼¥Ö¤Ï¹Ô¤Ê¤¤¤Þ¤»¤ó¡£ 0 ̤Ëþ¤ÎÃͤϡ¢Ä㤤ÃÍÄø¡¢Ä㤤ͥÀè½ç°Ì¤òɽ¤·¤Þ¤¹¡£ -¤¿¤È¤¨¤Ð¡¢-100 ¤Ï -50 ¤è¤ê¤âÄ㤤ͥÀè½ç°Ì¤òɽ¤·¤Þ¤¹¡£ +¤¿¤È¤¨¤Ð -100 ¤Ï -50 ¤è¤ê¤âÄ㤤ͥÀè½ç°Ì¤òɽ¤·¤Þ¤¹¡£ .Sh ´ØÏ¢¹àÌÜ .Xr device 9 , .Xr DEVICE_ATTACH 9 , .Xr DEVICE_DETACH 9 , .Xr DEVICE_IDENTIFY 9 , .Xr DEVICE_SHUTDOWN 9 .Sh ºî¼Ô ¤³¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ï .An Doug Rabson ¤¬½ñ¤­¤Þ¤·¤¿¡£ diff --git a/ja_JP.eucJP/man/man9/MD5.9 b/ja_JP.eucJP/man/man9/MD5.9 index a23eb72877..9a9d953256 100644 --- a/ja_JP.eucJP/man/man9/MD5.9 +++ b/ja_JP.eucJP/man/man9/MD5.9 @@ -1,77 +1,77 @@ .\" $OpenBSD: md5.9,v 1.1 1996/04/17 21:40:14 mickey Exp $ .\" .\" Copyright (c) 1996 Michael Shalayeff .\" 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 Michael Shalayeff .\" 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/MD5.9,v 1.9 2003/10/23 01:31:25 hmp Exp % +.\" %FreeBSD: src/share/man/man9/MD5.9,v 1.10 2004/07/03 18:29:23 ru Exp % .\" .\" $FreeBSD$ .Dd April 17, 1996 .Dt MD5 9 .Os .Sh ̾¾Î .Nm MD5 , .Nm MD5Init , .Nm MD5Transform .Nd ¥á¥Ã¥»¡¼¥¸¥À¥¤¥¸¥§¥¹¥È¥ë¡¼¥Á¥ó .Sh ½ñ¼° .In sys/types.h .In sys/md5.h .Ft void .Fn MD5Init "MD5_CTX *buf" .Ft void .Fn MD5Transform "u_int32_t buf[4]" "const unsigned char block[64]" .Sh ²òÀâ .Nm -¥â¥¸¥å¡¼¥ë¤Ï¡¢RSA Data Security, Inc. ¤Î MD5 ¥á¥Ã¥»¡¼¥¸¥À¥¤¥¸¥§¥¹¥È +¥â¥¸¥å¡¼¥ë¤Ï¡¢RSA Data Security, Inc.\& ¤Î MD5 ¥á¥Ã¥»¡¼¥¸¥À¥¤¥¸¥§¥¹¥È ¥¢¥ë¥´¥ê¥º¥à(MD5)¤ò¼ÂÁõ¤·¤Æ¤¤¤Þ¤¹¡£ ¤³¤ì¤Ï¥Ç¡¼¥¿¤Î 128 ¥Ó¥Ã¥È¤Î MD5 ¥À¥¤¥¸¥§¥¹¥È¤òÀ¸À®¤·¤Þ¤¹¡£ .Pp .Bl -hang -width MD5Transformxx .It Pa MD5Init ¥À¥¤¥¸¥§¥¹¥È¤òÀ¸À®¤¹¤ë¤¿¤á¤Ë .Fn MD5Transform ¤ò»ÈÍѤ¹¤ëľÁ°¤Ë¸Æ¤Ó½Ð¤µ¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£ °ú¿ô .Fa buf ¤Ï¼¡¤Ë³¤¤¤Æ¸Æ¤Ð¤ì¤ë .Fn MD5Transform ¥ë¡¼¥Á¥ó¤¬À¸À®¤¹¤ë¥À¥¤¥¸¥§¥¹¥È¤Î³ÊǼÎΰè¤Ç¤¹¡£ .It Pa MD5Transform MD5 ¥¢¥ë¥´¥ê¥º¥à¤ÎÃæ³Ë¤Ç¡¢ °ú¿ô .Fa block ¤ÇÅϤµ¤ì¤ë 64 ʸ»ú¤Î¿·¤·¤¤¥Ç¡¼¥¿¤ÎÄɲäòÈ¿±Ç¤¹¤ë¤è¤¦¤Ë¡¢ .Fa buf ¤Ë³ÊǼ¤·¤Æ¤¢¤ë MD5 ¥Ï¥Ã¥·¥å¤òÊѹ¹¤·¤Þ¤¹¡£ .El .Sh Ãøºî¸¢ MD5 ÊÑ´¹¤Î¥³¡¼¥É¤Ï¥Ñ¥Ö¥ê¥Ã¥¯¥É¥á¥¤¥ó¤ËÃÖ¤«¤ì¤Æ¤¤¤¿ Colin Plumb ¤Î ¼ÂÁõ¤«¤éÆÀ¤Æ¤¤¤Þ¤¹¡£ MD5 °Å¹æ²½¥Á¥§¥Ã¥¯¥µ¥à¤Ï Ronald Rivest ¤¬¹Í°Æ¤·¡¢ RFC 1321 "The MD5 Message Digest Algorithm" ¤Ëµ­½Ò¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ diff --git a/ja_JP.eucJP/man/man9/VFS_ROOT.9 b/ja_JP.eucJP/man/man9/VFS_ROOT.9 index c7d6857082..fef5033e96 100644 --- a/ja_JP.eucJP/man/man9/VFS_ROOT.9 +++ b/ja_JP.eucJP/man/man9/VFS_ROOT.9 @@ -1,60 +1,62 @@ .\" -*- 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/VFS_ROOT.9,v 1.9 2003/10/23 06:24:55 hmp Exp % +.\" %FreeBSD: src/share/man/man9/VFS_ROOT.9,v 1.10 2004/07/12 09:06:51 alfred Exp % .\" .\" $FreeBSD$ .Dd July 24, 1996 .Os .Dt VFS_ROOT 9 .Sh ̾¾Î .Nm VFS_ROOT .Nd ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¥ë¡¼¥È vnode ¤Î¼èÆÀ .Sh ½ñ¼° .In sys/param.h .In sys/mount.h .In sys/vnode.h .Ft int -.Fn VFS_ROOT "struct mount *mp" "struct vnode **vpp" +.Fn VFS_ROOT "struct mount *mp" "struct vnode **vpp" "struct thread *td" .Sh ²òÀâ ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¥ë¡¼¥È¥Ç¥£¥ì¥¯¥È¥ê¤ËÂФ¹¤ë¡¢¥í¥Ã¥¯¤µ¤ì¤¿ vnode ¤òÊÖ¤·¤Þ¤¹¡£ .Pp °ú¿ô¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡£ .Bl -tag -width vpp .It Fa mp ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¡£ .It Fa vpp ¥ë¡¼¥È vnode ¤Î°ú¿ô¤ÎÌá¤êÃÍ¡£ +.It Fa td +¸Æ¤Ó½Ð¤·Â¦¤Î¥¹¥ì¥Ã¥É¡£ .El .Sh ´ØÏ¢¹àÌÜ .Xr VFS 9 , .Xr vnode 9 .Sh ºî¼Ô ¤³¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ï .An Doug Rabson ¤¬½ñ¤­¤Þ¤·¤¿¡£ diff --git a/ja_JP.eucJP/man/man9/VOP_CREATE.9 b/ja_JP.eucJP/man/man9/VOP_CREATE.9 index 14540dbfeb..da7e6933e2 100644 --- a/ja_JP.eucJP/man/man9/VOP_CREATE.9 +++ b/ja_JP.eucJP/man/man9/VOP_CREATE.9 @@ -1,189 +1,165 @@ .\" -*- 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_CREATE.9,v 1.14 2003/10/23 02:11:14 hmp Exp % +.\" %FreeBSD: src/share/man/man9/VOP_CREATE.9,v 1.15 2004/07/08 00:08:18 alfred Exp % .\" .\" $FreeBSD$ .Dd July 24, 1996 .Os .Dt VOP_CREATE 9 .Sh ̾¾Î .Nm VOP_CREATE , .Nm VOP_MKNOD , .Nm VOP_MKDIR , .Nm VOP_SYMLINK .Nd ¥Õ¥¡¥¤¥ë¡¢¥½¥±¥Ã¥È¡¢FIFO¡¢¥Ç¥Ð¥¤¥¹¡¢¥Ç¥£¥ì¥¯¥È¥ê¤Þ¤¿¤Ï¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤ÎºîÀ® .Sh ½ñ¼° .In sys/param.h .In sys/vnode.h .In sys/namei.h .Ft int .Fn VOP_CREATE "struct vnode *dvp" "struct vnode **vpp" "struct componentname *cnp" "struct vattr *vap" .Ft int .Fn VOP_MKNOD "struct vnode *dvp" "struct vnode **vpp" "struct componentname *cnp" "struct vattr *vap" .Ft int .Fn VOP_MKDIR "struct vnode *dvp" "struct vnode **vpp" "struct componentname *cnp" "struct vattr *vap" .Ft int .Fn VOP_SYMLINK "struct vnode *dvp" "struct vnode **vpp" "struct componentname *cnp" "struct vattr *vap" "char *target" .Sh ²òÀâ ¤³¤ì¤é¤Î¥¨¥ó¥È¥ê¥Ý¥¤¥ó¥È¤Ï¡¢¿·¤·¤¤¥Õ¥¡¥¤¥ë¡¢¥½¥±¥Ã¥È¡¢FIFO¡¢¥Ç¥Ð¥¤¥¹¡¢ ¥Ç¥£¥ì¥¯¥È¥ê¤Þ¤¿¤Ï¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤ò¡¢ »ØÄꤵ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê¤ÎÃæ¤ËºîÀ®¤·¤Þ¤¹¡£ .Pp °ú¿ô¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡£ .Bl -tag -width target .It Fa dvp ¥Ç¥£¥ì¥¯¥È¥ê¤Î¥í¥Ã¥¯¤µ¤ì¤¿ vnode¡£ .It Fa vpp ºîÀ®·ë²Ì¤Î¥í¥Ã¥¯¤µ¤ì¤¿ vnode ¤¬³ÊǼ¤µ¤ì¤ë¤Ù¤­¡¢ÊÑ¿ô¤Î¥¢¥É¥ì¥¹¡£ .It Fa cnp À¸À®¤µ¤ì¤¿Í×ÁǤΥѥ¹Ì¾¡£ .It Fa vap ¿·¤·¤¤¥ª¥Ö¥¸¥§¥¯¥È¤ÎºîÀ®»þ¤Ë»ÈÍѤµ¤ì¤ë¤Ù¤­Â°À­¡£ .It Fa target ¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤ÎÂоݤΥѥ¹Ì¾¡£ .El .Pp ¤³¤ì¤é¤Î¥¨¥ó¥È¥ê¥Ý¥¤¥ó¥È¤Ï¡¢¥ª¥Ö¥¸¥§¥¯¥È¤ÎÀ¸À®Ãæ¤Ë .Xr VOP_LOOKUP 9 ¤Î¸å¤Ë¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹¡£ -Ä̾ -.Xr VOP_LOOKUP 9 -¤Ï -.Dv SAVENAME -¥Õ¥é¥°¤ò -.Fa cnp->cn_flags -Ãæ¤ËÀßÄꤷ¤Æ¡¢ -.Fa cnp->cn_pnbuf -¤Ç»Ø¤µ¤ì¤ë¥á¥â¥ê¤òÀµÅö¤Ê¤Þ¤Þ¤ËÊݤÁ¤Þ¤¹¡£ -¥Õ¥¡¥¤¥ë¤ÎºîÀ®»þ¤Ë¥¨¥é¡¼¤¬¸¡½Ð¤µ¤ì¤¿¾ì¹ç¤Ë¤Ï¡¢¤³¤Î¥á¥â¥ê¤Ï²òÊü¤µ¤ì¤Þ¤¹¡£ -¥Õ¥¡¥¤¥ë¤¬¤¦¤Þ¤¯ºîÀ®¤µ¤ì¤¿¾ì¹ç¤Ë¤Ï¡¢ -.Fa cnp -¤Ë -.Dv SAVESTART -¥Õ¥é¥°¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¡¢²òÊü¤µ¤ì¤Þ¤¹¡£ .Sh ¥í¥Ã¥¯ ¥Ç¥£¥ì¥¯¥È¥ê .Fa dvp ¤ÏÆþ¤ë»þ¤Ë¥í¥Ã¥¯¤µ¤ì¡¢Ìá¤ë»þ¤Ë¤â¥í¥Ã¥¯¤µ¤ì³¤±¤Æ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ ¸Æ¤Ó½Ð¤·¤¬À®¸ù¤Î¾ì¹ç¤Ë¤Ï¡¢¿·¤·¤¤¥ª¥Ö¥¸¥§¥¯¥È¤¬¥í¥Ã¥¯¤µ¤ì¤ÆÊÖ¤µ¤ì¤Þ¤¹¡£ .Sh Ìá¤êÃÍ À®¸ù»þ¤Ë¤Ï¡¢¿·¤·¤¤¥ª¥Ö¥¸¥§¥¯¥È¤Î vnode ¤¬ .Fa *vpp ¤ËÃÖ¤«¤ì¡¢0 ¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£ ¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢Å¬Àڤʥ¨¥é¡¼¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£ .Sh µ¿»÷¥³¡¼¥É .Bd -literal int vop_create(struct vnode *dvp, struct vnode **vpp, struct componentname *cnp struct vattr *vap) { int mode = MAKEIMODE(vap->va_type, vap->va_mode); struct vnode *vp; int error; *vpp = NULL; if ((mode & IFMT) == 0) mode |= IFREG; error = SOMEFS_VALLOC(dvp, mode, cnp->cn_cred, &vp); - if (error) { - free(cnp->cn_pnbuf, M_NAMEI); - vput(dvp); + if (error) return error; - } /* * ¿·¤·¤¤ vnode ¤Î¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤ò¹¹¿·¤·¤Þ¤¹¡£ * ¤³¤ì¤Ë¤Ï¡¢¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤Î¥°¥ë¡¼¥×¤Î¥³¥Ô¡¼¤ò´Þ¤ß¤Þ¤¹¡£ */ ...; #ifdef QUOTA /* * ¤Ç¤­¤ë¸Â¤ê¥¯¥©¡¼¥¿¾ðÊó¤ò¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£ */ ...; #endif /* * ¥Ç¥£¥ì¥¯¥È¥ê¤Ë¿·¤·¤¤ vnode ¤òÆþ¤ì¡¢¥Ç¥£¥ì¥¯¥È¥êÆâÍÆ¤¬Êѹ¹¤µ¤ì¤ë * Á°¤Ë vnode ¤¬¥Ç¥£¥¹¥¯¤ò¥¢¥¯¥»¥¹¤·¤Ê¤¤ÍͤËÃí°Õ¤·¤Þ¤¹¡£ */ error = ...; if (error) goto bad; - if ((cnp->cn_flags & SAVESTART) == 0) - free(cnp->cn_pnbuf, M_NAMEI); - vput(dvp); *vpp = vp; return 0; bad: /* * inode ¤Þ¤¿¤Ï¥Ç¥£¥ì¥¯¥È¥ê¤Î¹¹¿·¤Î»î¤ß¤Ç½ñ¤­¹þ¤ß¥¨¥é¡¼¤¬ * ȯÀ¸¤·¤¿¤¿¤á inode ¤Î³ä¤êÅö¤Æ¤ò²òÊü¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ */ - free(cnp->cn_pnbuf, M_NAMEI); vput(vp); /* * vp ¤Î¤¿¤á¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à»ñ¸»¤ò²òÊü¡£ */ ...; - vput(dvp); - return error; } .Ed .Sh ¥¨¥é¡¼ .Bl -tag -width Er .It Bq Er ENOSPC ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬°ìÇդǤ¹¡£ .It Bq Er EDQUOT ¤½¤Î¥æ¡¼¥¶¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¶õ´Ö¤Þ¤¿¤Ï inode ¤Î¥¯¥©¡¼¥¿¤òĶ²á¤·¤Þ¤·¤¿¡£ .El .Sh ´ØÏ¢¹àÌÜ .Xr VOP_LOOKUP 9, .Xr vnode 9 .Sh Îò»Ë ´Ø¿ô .Nm ¤Ï .Bx 4.3 ¤ÇÅо줷¤Þ¤·¤¿¡£ .Sh ºî¼Ô ¤³¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ï .An Doug Rabson ¤¬½ñ¤­¤Þ¤·¤¿¡£ diff --git a/ja_JP.eucJP/man/man9/VOP_GETPAGES.9 b/ja_JP.eucJP/man/man9/VOP_GETPAGES.9 index 702fe18053..9180f8e083 100644 --- a/ja_JP.eucJP/man/man9/VOP_GETPAGES.9 +++ b/ja_JP.eucJP/man/man9/VOP_GETPAGES.9 @@ -1,153 +1,153 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" Copyright 2003, Garrett A. Wollman .\" .\" 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_GETPAGES.9,v 1.9 2003/10/23 02:11:14 hmp Exp % +.\" %FreeBSD: src/share/man/man9/VOP_GETPAGES.9,v 1.10 2004/06/16 08:33:57 ru Exp % .\" .\" $FreeBSD$ .Dd September 27, 2003 .Os .Dt VOP_GETPAGES 9 .Sh ̾¾Î .Nm VOP_GETPAGES , .Nm VOP_PUTPAGES .Nd ¥Õ¥¡¥¤¥ë¤«¤é VM ¥Ú¡¼¥¸¤Ø¤ÎÆÉ¤ß¹þ¤ß¤Þ¤¿¤Ï½ñ¤­¹þ¤ß .Sh ½ñ¼° .In sys/param.h .In sys/vnode.h .In vm/vm.h .Ft int .Fn VOP_GETPAGES "struct vnode *vp" "vm_page_t *m" "int count" "int reqpage" "vm_ooffset_t offset" .Ft int .Fn VOP_PUTPAGES "struct vnode *vp" "vm_page_t *m" "int count" "int sync" "int *rtvals" "vm_ooffset_t offset" .Sh ²òÀâ .Fn VOP_GETPAGES ¥á¥½¥Ã¥É¤Ï¡¢Ä̾ï¤Î¥Õ¥¡¥¤¥ë¤¬Çظå¤Ë¤¢¤ë²¾ÁÛ¥á¥â¥ê¤Î¥Ú¡¼¥¸¤ÎÆÉ¤ß¹þ¤ß ¤Î¤¿¤á¤Ë¡¢¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹¡£ ¾¤ÎÎÙÀܤ·¤¿¥Ú¡¼¥¸¤ÎÇØ¸å¤ËƱ¤¸¥Õ¥¡¥¤¥ë¤ÎÎÙÀܤ·¤¿Îΰ褬¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢ .Fn VOP_GETPAGES ¤ÏƱÍͤˤ½¤ì¤é¤Î¥Ú¡¼¥¸¤òÆÉ¤ß¹þ¤Þ¤»¤ë¤¿¤á¤ËÍ׵ᤵ¤ì¤Þ¤¹¤¬¡¢¤½¤¦¤¹¤ë¤³¤È¤¬ ɬ¿Ü¤Ê¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ .Fn VOP_PUTPAGES ¥á¥½¥Ã¥É¤ÏÈ¿ÂФΤ³¤È¤ò¹Ô¤¤¤Þ¤¹¡£ ¤¹¤Ê¤ï¤Á¡¢²¾ÁÛ¥á¥â¥ê¤ÎÎÙÀܤ·¤¿¥À¡¼¥Æ¥£¤Ê¥Ú¡¼¥¸¤ò½ñ¤­½Ð¤µ¤»¤Þ¤¹¡£ .Pp Æþ¤ë»þ¤Ë¡¢vnode ¤Î¥í¥Ã¥¯¤ÏÊÝ»ý¤µ¤ì¤Þ¤¹¤¬¡¢¥Ú¡¼¥¸¥­¥å¡¼¤È VM ¥ª¥Ö¥¸¥§¥¯¥È¤Î ¥í¥Ã¥¯¤Ï¤É¤Á¤é¤âÊÝ»ý¤µ¤ì¤Þ¤»¤ó¡£ ξÊý¤Î¥á¥½¥Ã¥É¤Ï¡¢À®¸ù¤·¤ÆÌá¤ë»þ¤È¥¨¥é¡¼¤ÇÌá¤ë»þ¤ÈξÊý¤È¤â¡¢ ¤½¤Î¤Þ¤Þ¤Î¾õÂÖ¤ÇÌá¤ê¤Þ¤¹¡£ .Pp °ú¿ô¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡£ .Bl -tag -width reqpage .It Fa vp ¥¢¥¯¥»¥¹¤¹¤ë¥Õ¥¡¥¤¥ë¡£ .It Fa m ÆÉ¤ß¹þ¤Þ¤ì¤ë¤Þ¤¿¤Ï½ñ¤­¹þ¤Þ¤ì¤ë¤Ù¤­¥Õ¥¡¥¤¥ë¤ÎϢ³¤·¤¿Îΰè¤òɽ¸½¤¹¤ë Ϣ³¤·¤¿¥Ú¡¼¥¸¤ÎÇÛÎó¤ÎºÇ½é¤ÎÍ×ÁǤؤΥݥ¤¥ó¥¿¤Ç¤¹¡£ .It Fa count ¤½¤ÎÇÛÎó¤ÎÃæ¤Î¥Ú¡¼¥¸¿ô¤Ç¤¹¡£ .It Fa sync ½ñ¤­¹þ¤ß¤¬Æ±´ü¤µ¤ì¤ë¤Ù¤­¾ì¹ç¤Ë¤Ï .Dv VM_PAGER_PUT_SYNC ¤Ç¤¹¡£ .It Fa rtvals .Fn VOP_PUTPAGES ¤Ë¤è¤Ã¤Æ½ñ¤­¹þ¤Þ¤ì¤¿¤½¤ì¤¾¤ì¤Î¥Ú¡¼¥¸¤Î¾õÂÖ¤ò¼¨¤·¤Æ¤¤¤ë VM ¥·¥¹¥Æ¥à¤Î ·ë²Ì¥³¡¼¥É¤ÎÇÛÎó¤Ç¤¹¡£ .It Fa reqpage ¥Ú¡¼¥¸ÇÛÎó¤ÎÃæ¤ÎÍ׵ᤵ¤ì¤¿¥Ú¡¼¥¸¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ç¤¹¡£ ¤¹¤Ê¤ï¤Á¡¢¤³¤Î¥á¥½¥Ã¥É¤Î¼ÂÁõ¤¬¼è¤ê°·¤ï¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡¢1 ¥Ú¡¼¥¸¤Ç¤¹¡£ .It Fa offset ¥Õ¥¡¥¤¥ë¤ÎÃæ¤Î¤½¤Î¥Þ¥Ã¥×¤µ¤ì¤¿¥Ú¡¼¥¸¤¬»Ï¤Þ¤ë¾ì½ê¤Ø¤Î¥ª¥Õ¥»¥Ã¥È¤Ç¤¹¡£ .El .Pp .Fn VOP_PUTPAGES ¥á¥½¥Ã¥É¤Î¾õÂ֤ϡ¢ÇÛÎó .Fa rtvals[] ¤ÎÃæ¤Ë¡¢¸Ä¡¹¤Î¥Ú¡¼¥¸¤´¤È¤ËÊÖ¤µ¤ì¤Þ¤¹¡£ µ¯¤³¤êÆÀ¤ë¾õÂÖÃͤϰʲ¼¤ÎÄ̤ê¤Ç¤¹¡£ .Bl -tag -width VM_PAGER_ERROR .It Dv VM_PAGER_OK ¤½¤Î¥Ú¡¼¥¸¤ÏÀ®¸ù¤·¤Æ½ñ¤­¹þ¤Þ¤ì¤Þ¤·¤¿¡£ ¼ÂÁõ¤Ï¤½¤Î¥Ú¡¼¥¸¤¬¥¯¥ê¡¼¥ó¤Ç¤¢¤ë¤³¤È¤òµ­Ï¿¤¹¤ë¤¿¤á¤Ë .Xr vm_pager_undirty 9 ¤ò¸Æ¤Ó½Ð¤µ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ .It Dv VM_PAGER_PEND ¤½¤Î¥Ú¡¼¥¸¤ÏÈ󯱴ü¤Ë½ñ¤­¹þ¤Þ¤ì¤ë¤è¤¦¤Ë¥¹¥±¥¸¥å¡¼¥ë¤µ¤ì¤Þ¤·¤¿¡£ ½ñ¤­¹þ¤ß¤¬´°Î»¤·¤¿»þ¤Ë¤Ï¡¢´°Î»¥³¡¼¥ë¥Ð¥Ã¥¯¤Ï¥Ó¥¸¡¼¥Õ¥é¥°¤ò¥¯¥ê¥¢¤·¡¢ ¤³¤Î¥Ú¡¼¥¸¤ò¥¦¥§¥¤¥È¤·¤Æ¤¤¤ë¾¤Î¥¹¥ì¥Ã¥É¤òµ¯¤³¤¹¤¿¤á¤Ë¡¢ .Xr vm_object_pip_wakeup 9 ¤ª¤è¤Ó .Xr vm_page_io_finish 9 ¤ò¸Æ¤Ó½Ð¤¹¤Ù¤­¤Ç¤¹¡£ ¤µ¤é¤Ë .Xr vm_page_undirty 9 ¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£ .It Dv VM_PAGER_BAD ¤³¤Î¥Ú¡¼¥¸¤Ï´°Á´¤ËÇØ¸å¤Ë¤¢¤ë¥Õ¥¡¥¤¥ë¤Î½ªÃ¼¤ò±Û¤¨¤Æ¤¤¤Þ¤·¤¿¡£ ¤½¤Î vnode ¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬Àµ¤·¤¯¼ÂÁõ¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢ ¤³¤Î¾õÂ֤ϵ¯¤³¤êÆÀ¤ë¤Ù¤­¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ .It Dv VM_PAGER_ERROR ²¼°Ì¤ÎÊݸ¥á¥Ç¥£¥¢¤Þ¤¿¤Ï¥×¥í¥È¥³¥ë¤Î¥¨¥é¡¼¤Î¤¿¤á¡¢ ¤³¤Î¥Ú¡¼¥¸¤Ï½ñ¤­¹þ¤Þ¤ì¤ë¤³¤È¤¬½ÐÍè¤Þ¤»¤ó¤Ç¤·¤¿¡£ .It Dv VM_PAGER_FAIL .Dv VM_PAGER_ERROR ¤ÈƱÍͤ˼è¤ê°·¤ï¤ì¤Þ¤·¤¿¡£ .Dv VM_PAGER_ERROR .It Dv VM_PAGER_AGAIN ¤½¤Î¥Ú¡¼¥¸¤Ï¤³¤ÎÍ×µá¤Ë¤è¤Ã¤Æ¼è¤ê°·¤ï¤ì¤Þ¤»¤ó¤Ç¤·¤¿¡£ .El .Pp .Sh Ìá¤êÃÍ À®¸ù¤·¤Æ .Fa m[reqpage] ¤òÆÉ¤ß¹þ¤ó¤À¾ì¹ç¤Ë¤Ï .Fn VOP_GETPAGES ¤Ï .Dv VM_PAGER_OK ¤òÊÖ¤·¡¢¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ï .Dv VM_PAGER_ERROR ¤òÊÖ¤·¤Þ¤¹¡£ ´·½¬¤Ç¡¢ .Fn VOP_PUTPAGES ¤ÎÌá¤êÃÍ¤Ï .Fa rtvals[0] ¤Ç¤¹¡£ .Sh ´ØÏ¢¹àÌÜ .Xr vm_object_pip_wakeup 9 , .Xr vm_page_free 9 , .Xr vm_page_io_finish 9 , .Xr vm_page_undirty 9 , .Xr vm_page_wakeup 9 , .Xr vnode 9 .Sh ºî¼Ô ¤³¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ï .An Doug Rabson ¤¬½ñ¤­¡¢¤½¤Î¸å¼Â¼Á¾å .An Garrett Wollman ¤¬½ñ¤­Ä¾¤·¤Þ¤·¤¿¡£ diff --git a/ja_JP.eucJP/man/man9/VOP_LINK.9 b/ja_JP.eucJP/man/man9/VOP_LINK.9 index 9680854567..c80b377e4d 100644 --- a/ja_JP.eucJP/man/man9/VOP_LINK.9 +++ b/ja_JP.eucJP/man/man9/VOP_LINK.9 @@ -1,117 +1,117 @@ .\" -*- 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_LINK.9,v 1.20 2003/05/31 14:07:25 hmp Exp % +.\" %FreeBSD: src/share/man/man9/VOP_LINK.9,v 1.21 2004/07/04 20:55:49 ru Exp % .\" .\" $FreeBSD$ .Dd July 24, 1996 .Os .Dt VOP_LINK 9 .Sh ̾¾Î .Nm VOP_LINK .Nd ¥Õ¥¡¥¤¥ë¤Î¿·¤·¤¤Ì¾Á°¤ÎºîÀ® .Sh ½ñ¼° .In sys/param.h .In sys/vnode.h .Ft int .Fn VOP_LINK "struct vnode *dvp" "struct vnode *vp" "struct componentname *cnp" .Sh ²òÀâ ¤³¤ì¤Ï¡¢´û¸¤Î¥Õ¥¡¥¤¥ë¤ËÂФ·¡¢ »ØÄꤷ¤¿¥Ç¥£¥ì¥¯¥È¥êÃæ¤Î¿·¤·¤¤Ì¾Á°¤ò¥ê¥ó¥¯¤·¤Þ¤¹¡£ .Pp °ú¿ô¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡£ .Bl -tag -width 8n .It Fa dvp ¥Ç¥£¥ì¥¯¥È¥ê¤Î vnode¡£ .It Fa vp ¥ê¥ó¥¯¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¤Î vnode¡£ .It Fa cnp ¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ¤Î¥Ñ¥¹Ì¾¾ðÊó¡£ .El .Pp ¥Ñ¥¹Ì¾¾ðÊó¤ÏÌá¤ê»þ¤Ë³«Êü¤µ¤ì¤ë¤Ù¤­¤Ç¤Ï .Em ¤¢¤ê¤Þ¤»¤ó ¡£ ¤Ê¤¼¤Ê¤é¤Ð¡¢¤½¤ì¤Ï¸Æ¤Ó½Ð¤·Â¦¤Ë¤è¤Ã¤Æ¹Ô¤Ê¤ï¤ì¤ë¤«¤é¤Ç¤¹¡£ ¥Ç¥£¥ì¥¯¥È¥ê¤È¥Õ¥¡¥¤¥ë¤Î vnode ¤ÏÌá¤ê»þ¤Ë²òÊü¤µ¤ì¤ë¤Ù¤­¤Ç¤Ï .Em ¤¢¤ê¤Þ¤»¤ó ¡£ .Sh ¥í¥Ã¥¯ .Fn VOP_LINK ¤Ï¥Ç¥£¥ì¥¯¥È¥ê¤ª¤è¤Ó¥Õ¥¡¥¤¥ë¤Î vnode ¤ÏÆþ¤ë»þ¤Ë¥í¥Ã¥¯¤µ¤ì¡¢Ìá¤ë»þ¤Þ¤Ç ¥í¥Ã¥¯¤µ¤ì³¤±¤Æ¤¤¤ë¤³¤È¤ò´üÂÔ¤·¤Þ¤¹¡£ .Sh Ìá¤êÃÍ ¥Õ¥¡¥¤¥ë¤¬À®¸ù΢¤Ë¥ê¥ó¥¯¤µ¤ì¤¿¾ì¹ç¤Ë¤Ï 0 ¤¬ÊÖ¤µ¤ì¡¢ ¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ï¥¨¥é¡¼¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£ .Sh µ¿»÷¥³¡¼¥É .Bd -literal int vop_link(struct vnode *dvp, struct vnode *vp, struct componentname *cnp) { int error = 0; if (vp->v_mount != dvp->v_mount) return (EXDEV); if (vp would have too many links) return (EMLINK); if (vp is immutable) return (EPERM); /* * vp ¤Î¥ê¥ó¥¯¥«¥¦¥ó¥È¤ò¥¤¥ó¥¯¥ê¥á¥ó¥È¤·¡¢¥Ç¥£¥¹¥¯¤Ë½ñ¤­Ìᤷ¤Þ¤¹¡£ */ ...; if (!error) { /* * ¥Ç¥£¥ì¥¯¥È¥ê¤Î¿·¤·¤¤Ì¾Á°¤òÄɲä·¤Þ¤¹¡£ */ ...; } return error; } .Ed .Sh ¥¨¥é¡¼ .Bl -tag -width Er .It Bq Er EMLINK ¥Õ¥¡¥¤¥ë¤Î¥ê¥ó¥¯¤Î¿ô¤¬Â¿¤¹¤®¤Þ¤¹¡£ .It Bq Er EPERM ¥Õ¥¡¥¤¥ë¤¬Êѹ¹ÉÔ²Äǽ¤Ç¤¹¡£ .It Bq Er EXDEV °Û¤Ê¤ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à´Ö¤Ç¤Ï¥Ï¡¼¥É¥ê¥ó¥¯¤ÏÍøÍѤǤ­¤Þ¤»¤ó¡£ .El .Sh ´ØÏ¢¹àÌÜ -.Xr vnode 9 , -.Xr vn_lock 9 +.Xr vn_lock 9 , +.Xr vnode 9 .Sh ºî¼Ô ¤³¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ï .An Doug Rabson ¤¬½é¤á¤Æ½ñ¤­¤Þ¤·¤¿¡£ diff --git a/ja_JP.eucJP/man/man9/VOP_LOOKUP.9 b/ja_JP.eucJP/man/man9/VOP_LOOKUP.9 index 8f02585b64..7c253cb803 100644 --- a/ja_JP.eucJP/man/man9/VOP_LOOKUP.9 +++ b/ja_JP.eucJP/man/man9/VOP_LOOKUP.9 @@ -1,454 +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.19 2003/05/31 14:07:25 hmp Exp % +.\" %FreeBSD: src/share/man/man9/VOP_LOOKUP.9,v 1.21 2004/07/08 00:36:58 alfred 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 Fa dvp ¸¡º÷¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Î¥í¥Ã¥¯¤µ¤ì¤¿ vnode ¤Ç¤¹¡£ .It Fa vpp ·ë²Ì¤Î¥í¥Ã¥¯¤µ¤ì¤¿ vnode ¤¬³ÊǼ¤µ¤ì¤ë¤Ù¤­ÊÑ¿ô¤Î¥¢¥É¥ì¥¹¤Ç¤¹¡£ .It Fa 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 thread *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); + error = VOP_ACCESS(dvp, VEXEC, cred, cnp->cn_thread); 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 ¤¬¥í¥Ã¥¯¤µ¤ì¤Þ¤¹¡£ + * ¤µ¤ì¤Þ¤¹¡£ 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 ¤Î¤¿¤á¤Î + * ½½Ê¬¤ËÂ礭¤¤¾ì½ê¤Î°ÌÃÖ¤òµ­Ï¿¤·¤Þ¤¹¡£ ¤³¤ì¤Ï 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 ¥Õ¥é¥°¤¬ÀßÄꤵ¤ì¤Æ¤¤¤Ê¤¤ + * ¥Ñ¥é¥á¡¼¥¿¤òÊÖ¤·¤Þ¤¹¡£ wantparent ¥Õ¥é¥°¤¬ÀßÄꤵ¤ì¤Æ¤¤¤Ê¤¤ * ¾ì¹ç¤Ë¤Ï¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Î¤ß¤òÊÖ¤·¡¢¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ï * ³¤±¤Æ¤½¤Î inode ¤ò¥í¥Ã¥¯¤·¡¢"." ¤ËÃí°Õ¤·¤Þ¤¹¡£ */ if (nameiop == DELETE && islastcn) { /* * ¥Ç¥£¥ì¥¯¥È¥ê¤Î½ñ¹þ¤ß¸¢¤ò¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£ */ - error = VOP_ACCESS(dvp, VWRITE, cred, cnp->cn_proc); + error = VOP_ACCESS(dvp, VWRITE, cred, cnp->cn_thread); 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); + error = VOP_ACCESS(dvp, VWRITE, cred, cnp->cn_thread); 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" ¤È¤·¤Æ - * ¥¢¥ó¥í¥Ã¥¯¤µ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê¤òÊݸ¤·¤Þ¤¹¡£¼èÆÀ¤¹¤ëÁ°¤Ë¤½¤Î + * ¥Ç¥£¥ì¥¯¥È¥ê¤ò '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_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_OPENCLOSE.9 b/ja_JP.eucJP/man/man9/VOP_OPENCLOSE.9 index 03332fdb54..d0c37fbfc7 100644 --- a/ja_JP.eucJP/man/man9/VOP_OPENCLOSE.9 +++ b/ja_JP.eucJP/man/man9/VOP_OPENCLOSE.9 @@ -1,102 +1,119 @@ .\" -*- 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_OPENCLOSE.9,v 1.13 2003/10/23 02:11:14 hmp Exp % +.\" %FreeBSD: src/share/man/man9/VOP_OPENCLOSE.9,v 1.15 2004/05/11 14:13:52 hmp Exp % .\" .\" $FreeBSD$ .Dd July 24, 1996 .Os .Dt VOP_OPEN 9 .Sh ̾¾Î .Nm VOP_OPEN , .Nm VOP_CLOSE .Nd ¥Õ¥¡¥¤¥ë¤Î¥ª¡¼¥×¥ó¤Þ¤¿¤Ï¥¯¥í¡¼¥º .Sh ½ñ¼° .In sys/param.h .In sys/vnode.h .Ft int -.Fn VOP_OPEN "struct vnode *vp" "int mode" "struct ucred *cred" "struct thread *td" +.Fn VOP_OPEN "struct vnode *vp" "int mode" "struct ucred *cred" "struct thread *td" "int fdidx" .Ft int .Fn VOP_CLOSE "struct vnode *vp" "int mode" "struct ucred *cred" "struct thread *td" .Sh ²òÀâ .Fn VOP_OPEN ¥¨¥ó¥È¥ê¥Ý¥¤¥ó¥È¤Ï¡¢ ¥Õ¥¡¥¤¥ë¤¬¥×¥í¥»¥¹¤Ë¤è¤Ã¤Æ¥¢¥¯¥»¥¹¤µ¤ì¤ëÁ°¤Ë¸Æ¤Ó½Ð¤µ¤ì¡¢ .Fn VOP_CLOSE ¥¨¥ó¥È¥ê¥Ý¥¤¥ó¥È¤Ï¡¢ ¥Õ¥¡¥¤¥ë¤ËÂФ¹¤ë¥×¥í¥»¥¹¤Î»Å»ö¤Î´°Î»¸å¤Ë¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹¡£ .Pp °ú¿ô¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡£ .Bl -tag -width mode .It Fa vp ¥Õ¥¡¥¤¥ë¤Î vnode¡£ .It Fa mode ¸Æ¤Ó½Ð¤·¥×¥í¥»¥¹¤Ë¤è¤Ã¤ÆÍ׵ᤵ¤ì¤¿¥¢¥¯¥»¥¹¥â¡¼¥É¡£ .It Fa td ¥Õ¥¡¥¤¥ë¤Ë¥¢¥¯¥»¥¹¤·¤Æ¤¤¤ë¥¹¥ì¥Ã¥É¡£ .El .Pp +²Ã¤¨¤Æ¡¢ +.Fn VOP_OPEN +¤Ï +.Fa fdidx +¤ÎÃæ¤Î¥Õ¥¡¥¤¥ëµ­½Ò»ÒÈÖ¹æ¤ò¼õ¤±Æþ¤ì¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£ +¤³¤ì¤ÏÎ㤨¤Ð +.Xr fdesc 5 +¤Î¤è¤¦¤Ê¾ðÊó¤òÍ׵᤹¤ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ÇÍ­ÍѤǤ¹¡£ +.Pp ¥¢¥¯¥»¥¹¥â¡¼¥É¤Ï¡¢ .Dv FREAD , .Dv FWRITE , .Dv O_NONBLOCK , .Dv O_APPEND ¤ò´Þ¤à¥Õ¥é¥°¤ÎÁȤǤ¹¡£ .Sh ¥í¥Ã¥¯ .Fn VOP_OPEN ¤Ï¡¢Æþ¤ë»þ¤Ë .Fa vp ¤¬¥í¥Ã¥¯¤µ¤ì¤Æ¤¤¤ë¤³¤È¤ò´üÂÔ¤·¡¢Ìá¤ê»þ¤Þ¤Ç¥í¥Ã¥¯¤µ¤ì¤¿¤Þ¤Þ¤Ë¤·¤Þ¤¹¡£ .Pp .Fn VOP_CLOSE ¤Ï¡¢vnode ¤Ë·ë¤Ó¤Ä¤±¤é¤ì¤¿»²¾È¤¬¾¯¤Ê¤¯¤È¤â 1 ¸Ä¤Ï¸ºß¤¹¤ë¤³¤È¤ò´üÂÔ¤·¡¢ vnode ¤¬¥í¥Ã¥¯¤µ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«¤Ïµ¤¤Ë¤·¤Þ¤»¤ó¡£ ¥í¥Ã¥¯¤ª¤è¤Ó»²¾È¾õÂ֤ϡ¢Ìá¤ë»þ¤ËÊѹ¹¤µ¤ì¤º¤Ë¤½¤Î¤Þ¤Þ¤Ë¤Ê¤ê¤Þ¤¹¡£ .Fa vn_close ¤Ï¡¢¥í¥Ã¥¯¤µ¤ì¤Æ¤¤¤Ê¤¤»²¾È¤µ¤ì¤¿ vnode ¤ò´üÂÔ¤·¡¢ Ìá¤ëÁ°¤Ë»²¾È¤ò¼ê·«¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ +.Sh ¼ÂÁõ¤Ë´Ø¤¹¤ëÃí +.Fn VOP_OPEN +¤Ø¤Î +.Fa fdidx +°ú¿ô¤Ï¸½ºß»ÈÍѤµ¤ì¤Æ¤ª¤é¤º¡¢ÅöÌÌ¤Ï +.Ql \-1 +¤ò»ÈÍѤ·¤Þ¤¹¡£ +¤·¤«¤·¤Ê¤¬¤é¡¢¤³¤ì¤Ï¾­ÍèÊѹ¹¤µ¤ì¤Þ¤¹¡£ .Sh Ìá¤êÃÍ À®¸ù»þ¤Ë¤Ï 0 ¤¬ÊÖ¤µ¤ì¡¢¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ï¥¨¥é¡¼¥³¡¼¥É¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£ .Sh µ¿»÷¥³¡¼¥É .Bd -literal int vop_open(struct vnode *vp, int mode, struct ucred *cred, struct thread *td) { /* * ¤Û¤È¤ó¤É¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ï¡¢¤³¤³¤Ç¤ÏÂ礷¤¿¤³¤È¤Ï¤·¤Þ¤»¤ó¡£ */ return 0; } .Ed .Sh ´ØÏ¢¹àÌÜ .Xr vnode 9 , .Xr VOP_LOOKUP 9 .Sh ºî¼Ô ¤³¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ï .An Doug Rabson ¤¬½ñ¤­¤Þ¤·¤¿¡£ diff --git a/ja_JP.eucJP/man/man9/VOP_RDWR.9 b/ja_JP.eucJP/man/man9/VOP_RDWR.9 index 0673eb060c..277625404f 100644 --- a/ja_JP.eucJP/man/man9/VOP_RDWR.9 +++ b/ja_JP.eucJP/man/man9/VOP_RDWR.9 @@ -1,239 +1,240 @@ .\" -*- 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_RDWR.9,v 1.15 2003/10/23 02:11:14 hmp Exp % +.\" %FreeBSD: src/share/man/man9/VOP_RDWR.9,v 1.17 2004/07/08 00:43:50 alfred Exp % .\" .\" $FreeBSD$ .Dd July 24, 1996 .Os .Dt VOP_RDWR 9 .Sh ̾¾Î .Nm VOP_READ , .Nm VOP_WRITE .Nd ¥Õ¥¡¥¤¥ë¤ÎÆÉ¤ß¹þ¤ß¤Þ¤¿¤Ï½ñ¤­¹þ¤ß .Sh ½ñ¼° .In sys/param.h .In sys/vnode.h .In sys/uio.h .Ft int .Fn VOP_READ "struct vnode *vp" "struct uio *uio" "int ioflag" "struct ucred *cred" .Ft int .Fn VOP_WRITE "struct vnode *vp" "struct uio *uio" "int ioflag" "struct ucred *cred" .Sh ²òÀâ ¤³¤ì¤é¤Î¥¨¥ó¥È¥ê¥Ý¥¤¥ó¥È¤Ï¡¢¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤òÆÉ¤ß¹þ¤ß¤Þ¤¿¤Ï½ñ¤­¹þ¤ß¤Þ¤¹¡£ .Pp °ú¿ô¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡£ .Bl -tag -width ioflag .It Fa vp ¥Õ¥¡¥¤¥ë¤Î vnode¡£ .It Fa uio ÆÉ¤ß¹þ¤ß¤Þ¤¿¤Ï½ñ¤­¹þ¤ßÂоݤΥǡ¼¥¿¤Î°ÌÃÖ¡£ .It Fa ioflag ÍÍ¡¹¤Ê¥Õ¥é¥°¡£ .It Fa cnp ¸Æ¤Ó½Ð¤·Â¦¤Î¾ÚÌÀ¡£ .El .Pp .Fa ioflag °ú¿ô¤Ï¡¢¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ËÂФ¹¤ëÌ¿Îᤪ¤è¤Ó¥Ò¥ó¥È¤òÍ¿¤¨¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ ÆÉ¤ß¹þ¤ß¤ò»î¤ß¤ë»þ¤Ë¤Ï¡¢¾å°Ì¤Î 16 ¥Ó¥Ã¥È¤Ï¡¢ ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬»î¤ß¤ë¤Ù¤­ÀèÆÉ¤ß¤Î¥Ò¥ó¥È¤ò (¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¥Ö¥í¥Ã¥¯Ã±°Ì¤Ç) Ä󶡤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ ²¼°Ì¤Î 16 ¥Ó¥Ã¥È¤Ï¡¢°Ê²¼¤Î¥Õ¥é¥°¤ò´Þ¤à¤³¤È¤¬¤Ç¤­¤ë¥Ó¥Ã¥È¥Þ¥¹¥¯¤Ç¤¹¡£ .Bl -tag -width IO_NODELOCKED .It Dv IO_UNIT ÉÔ²Äʬ¤ËÆþ½ÐÎϤò¹Ô¤Ê¤¤¤Þ¤¹¡£ .It Dv IO_APPEND ËöÈø¤ËÄɲýñ¤­¹þ¤ß¤ò¹Ô¤Ê¤¤¤Þ¤¹¡£ .It Dv IO_SYNC Ʊ´üŪ¤ËÆþ½ÐÎϤò¹Ô¤Ê¤¤¤Þ¤¹¡£ .It Dv IO_NODELOCKED ²¼°ÌÁؤΥΡ¼¥É¤Ï´û¤Ë¥í¥Ã¥¯¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ .It Dv IO_NDELAY ¥Õ¥¡¥¤¥ë¥Æ¡¼¥Ö¥ë¤Ë .Dv FNDELAY ¥Õ¥é¥°¤òÀßÄꤷ¤Þ¤¹¡£ .It Dv IO_VMIO ²¾ÁÛ¥á¥â¥êÆþ½ÐÎÏ (VMIO) Îΰè¤Ë¥Ç¡¼¥¿¤¬´û¤Ë¤¢¤ê¤Þ¤¹¡£ .El .Sh ¥í¥Ã¥¯ Æþ¤ë»þ¤Ë¡¢¥Õ¥¡¥¤¥ë¤Ï¥í¥Ã¥¯¤µ¤ì¤Æ¤¤¤ë¤Ù¤­¤Ç¡¢½ªÎ»»þ¤Þ¤Ç¥í¥Ã¥¯¤µ¤ì³¤±¤Þ¤¹¡£ .Sh Ìá¤êÃÍ À®¸ù»þ¤Ë¤Ï 0 ¤¬ÊÖ¤µ¤ì¡¢¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ï¥¨¥é¡¼¥³¡¼¥É¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£ .Sh µ¿»÷¥³¡¼¥É .Bd -literal int vop_read(struct vnode *vp, struct uio *uio, int ioflag, struct ucred *cred) { struct buf *bp; off_t bytesinfile; daddr_t lbn, nextlbn; long size, xfersize, blkoffset; int error; size = block size of file system; for (error = 0, bp = NULL; uio->uio_resid > 0; bp = NULL) { bytesinfile = size of file - uio->uio_offset; if (bytesinfile <= 0) break; lbn = uio->uio_offset / size; blkoffset = uio->uio_offset - lbn * size; xfersize = size - blkoffset; if (uio->uio_resid < xfersize) xfersize = uio->uio_resid; if (bytesinfile < xfersize) xfersize = bytesinfile; error = bread(vp, lbn, size, NOCRED, &bp); if (error) { brelse(bp); bp = NULL; break; } /* * Æþ½ÐÎÏ¥¨¥é¡¼¤¬µ¯¤³¤Ã¤¿»þ¤Ë¤Ï 0 ¤Ç¤Ê¤¤ b_resid ¤Î¤ß * ¤òÆÀ¤Þ¤¹¡£¤³¤ì¤Ï¾å¤Ç break ¤ò°ú¤­µ¯¤³¤¹¤Ù¤­¤Ç¤¹¡£ * ¤·¤«¤·¤Ê¤¬¤é¡¢Ã»¤¤ÆÉ¤ß¹þ¤ß¤¬¥¨¥é¡¼¤òµ¯¤³¤µ¤Ê¤«¤Ã¤¿ * ¾ì¹ç¤Ë¤Ï¡¢´Ö°ã¤Ã¤¿¤Þ¤¿¤Ï½é´ü²½¤µ¤ì¤Æ¤¤¤Ê¤¤¥Ç¡¼¥¿¤Î * uiomove ¤ò¹Ô¤Ê¤ï¤Ê¤¤¤³¤È¤òÊݾڤ·¤¿¤¤¡£ */ size -= bp->b_resid; if (size < xfersize) { if (size == 0) break; xfersize = size; } error = uiomove((char *)bp->b_data + blkoffset, (int)xfersize, uio); if (error) break; bqrelse(bp); } if (bp != NULL) bqrelse(bp); - return error; + return (error); } int vop_write(struct vnode *vp, struct uio *uio, int ioflag, struct ucred *cred) { struct buf *bp; off_t bytesinfile; daddr_t lbn, nextlbn; off_t osize; long size, resid, xfersize, blkoffset; int flags; int error; osize = size of file; size = block size of file system; resid = uio->uio_resid; if (ioflag & IO_SYNC) flags = B_SYNC; else flags = 0; for (error = 0; uio->uio_resid > 0;) { lbn = uio->uio_offset / size; blkoffset = uio->uio_offset - lbn * size; xfersize = size - blkoffset; if (uio->uio_resid < xfersize) xfersize = uio->uio_resid; if (uio->uio_offset + xfersize > size of file) vnode_pager_setsize(vp, uio->uio_offset + xfersize); if (size > xfersize) flags |= B_CLRBUF; else flags &= ~B_CLRBUF; error = find_block_in_file(vp, lbn, blkoffset + xfersize, cred, &bp, flags); if (error) break; if (uio->uio_offset + xfersize > size of file) set size of file to uio->uio_offset + xfersize; error = uiomove((char *)bp->b_data + blkoffset, (int) xfersize, uio); /* XXX ufs ¤Ï¤³¤³¤Ç¥¨¥é¡¼¥Á¥§¥Ã¥¯¤ò¤·¤Æ¤¤¤Þ¤»¤ó¡£²¿¸Î? */ if (ioflag & IO_VMIO) bp->b_flags |= B_RELBUF; /* ??? */ if (ioflag & IO_SYNC) bwrite(bp); else if (xfersize + blkoffset == size) bawrite(bp); else bdwrite(bp); if (error || xfersize == 0) break; } if (error) { if (ioflag & IO_UNIT) { - VOP_TRUNCATE(vp, osize, ioflag & IO_SYNC, cred, uio->uio_procp); + /* ¥Õ¥¡¥¤¥ë¤òÀÚ¤êµÍ¤á¤ë»äŪ¤Ê¥ë¡¼¥Á¥ó¤ò¸Æ¤Ó½Ð¤¹¡£ */ + your_truncate(vp, osize, ioflag & IO_SYNC, cred, uio->uio_td); uio->uio_offset -= resid - uio->uio_resid; uio->uio_resid = resid; } } else if (resid > uio->uio_resid && (ioflag & IO_SYNC)) { struct timeval tv; error = VOP_UPDATE(vp, &tv, &tv, 1); /* XXX ¤³¤ì¤Ï²¿¤ò¤·¤Æ¤¤¤ë¤Î? */ } - return error; + return (error); } .Ed .Sh ¥¨¥é¡¼ .Bl -tag -width Er .It Bq Er EFBIG ¥×¥í¥»¥¹¤Î¥Õ¥¡¥¤¥ë¥µ¥¤¥º¥ê¥ß¥Ã¥È¤Þ¤¿¤ÏºÇÂç¥Õ¥¡¥¤¥ë¥µ¥¤¥º¤òͤ¨¤ë ¥Õ¥¡¥¤¥ë¤ò½ñ¹þ¤â¤¦¤È¤·¤Þ¤·¤¿¡£ .It Bq Er ENOSPC ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬°ìÇդǤ¹¡£ .It Bq Er EPERM ÄɲäΤߤΥե饰¤¬¥Õ¥¡¥¤¥ë¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¤¬¡¢¸Æ¤Ó½Ð¤·Â¦¤¬¸½ºß¤Î ¥Õ¥¡¥¤¥ë½ªÎ»°ÌÃÖ¤è¤êÁ°¤Ë½ñ¹þ¤â¤¦¤È¤·¤Þ¤·¤¿¡£ .El .Sh ´ØÏ¢¹àÌÜ .Xr uiomove 9 , .Xr vnode 9 .Sh ºî¼Ô ¤³¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ï .An Doug Rabson ¤¬½ñ¤­¤Þ¤·¤¿¡£ diff --git a/ja_JP.eucJP/man/man9/VOP_RENAME.9 b/ja_JP.eucJP/man/man9/VOP_RENAME.9 index f52f691690..61be4bbb4e 100644 --- a/ja_JP.eucJP/man/man9/VOP_RENAME.9 +++ b/ja_JP.eucJP/man/man9/VOP_RENAME.9 @@ -1,319 +1,319 @@ .\" -*- 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.19 2003/10/23 03:52:07 hmp Exp % +.\" %FreeBSD: src/share/man/man9/VOP_RENAME.9,v 1.20 2004/07/08 00:38:28 alfred 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 Fa fdvp ¸Å¤¤¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤Î vnode ¤Ç¤¹¡£ .It Fa fvp ̾Á°Êѹ¹¤µ¤ì¤ë¤Ù¤­¥Õ¥¡¥¤¥ë¤Î vnode ¤Ç¤¹¡£ .It Fa fcnp ¥Õ¥¡¥¤¥ë¤Î¸½ºß¤Î̾Á°¤Ë¤Ä¤¤¤Æ¤Î¥Ñ¥¹Ì¾¾ðÊó¤Ç¤¹¡£ .It Fa tdvp ¿·¤·¤¤¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤Î vnode ¤Ç¤¹¡£ .It Fa tvp (¤â¤·Â¸ºß¤¹¤ë¤Ê¤é¤Ð) Êѹ¹Àè¤Î¥Õ¥¡¥¤¥ë¤Î vnode ¤Ç¤¹¡£ .It Fa tcnp ¥Õ¥¡¥¤¥ë¤Î¿·¤·¤¤Ì¾Á°¤Ë¤Ä¤¤¤Æ¤Î¥Ñ¥¹Ì¾¾ðÊó¤Ç¤¹¡£ .El .Sh ¥í¥Ã¥¯ ¥¨¥ó¥È¥ê»þ¤Ë¤Ï¡¢Êѹ¹¸µ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ª¤è¤Ó¥Õ¥¡¥¤¥ë¤Ï¥í¥Ã¥¯¤µ¤ì¤Æ¤ª¤é¤º¡¢ ¤½¤ì¤é¤Î»²¾È¥«¥¦¥ó¥È¤ÏÁý¤ä¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ ¤³¤Î VOP ¥ë¡¼¥Á¥ó¤ÏÌá¤ëÁ°¤ËξÊý¤ËÂФ·¤Æ .Xr vrele 9 ¤ò¸Æ¤Ó½Ð¤¹¤Ï¤º¤Ç¤¹¡£ .Pp Êѹ¹Àè¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ª¤è¤Ó¥Õ¥¡¥¤¥ë¤Ï¡¢¤½¤ì¤é¤Î»²¾È¥«¥¦¥ó¥È¤¬Áý¤ä¤µ¤ì¤ë¤Î¤Ï ¤â¤Á¤í¤ó¡¢¥í¥Ã¥¯¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ ¤³¤Î VOP ¥ë¡¼¥Á¥ó¤ÏÌá¤ëÁ°¤ËξÊý¤ËÂФ·¤Æ .Xr vput 9 ¤ò¸Æ¤Ó½Ð¤¹¤Ï¤º¤Ç¤¹¡£ .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: if (tdvp == tvp) vrele(tdvp); else vput(tdvp); if (tvp) vput(tvp); 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; } /* * Êѹ¹Àè¤ò²òÊü¤·¤Þ¤¹¡£ */ 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); + error = VOP_ACCESS(fvp, VWRITE, tcnp->cn_cred, tcnp->cn_thread); 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 .Pa \&. ¤Þ¤¿¤Ï .Pa .. ¤Î̾Á°Êѹ¹¡¢¤Þ¤¿¤Ï¥Ç¥£¥ì¥¯¥È¥ê¥Ä¥ê¡¼¤òÇ˲õ¤¹¤ë¤è¤¦¤ÊÁàºî¤Î¼Â¹Ô¤ò ¹Ô¤Ê¤ª¤¦¤È¤·¤Þ¤·¤¿¡£ .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/accept_filter.9 b/ja_JP.eucJP/man/man9/accept_filter.9 index 03f3e37a04..b5d4271dc6 100644 --- a/ja_JP.eucJP/man/man9/accept_filter.9 +++ b/ja_JP.eucJP/man/man9/accept_filter.9 @@ -1,148 +1,148 @@ .\" .\" Copyright (c) 2000 Alfred Perlstein .\" .\" 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 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/accept_filter.9,v 1.12 2003/10/23 14:32:23 hmp Exp % +.\" %FreeBSD: src/share/man/man9/accept_filter.9,v 1.13 2004/06/16 08:33:57 ru Exp % .\" $FreeBSD$ .\" " .Dd June 25, 2000 .Os .Dt ACCEPT_FILTER 9 .Sh ̾¾Î .Nm accept_filter , .Nm accept_filt_add , .Nm accept_filt_del , .Nm accept_filt_generic_mod_event , .Nm accept_filt_get .Nd ÆþÎÏÀܳ¥Õ¥£¥ë¥¿ .Sh ½ñ¼° .In sys/types.h .In sys/module.h .In sys/socket.h .Fd #define ACCEPT_FILTER_MOD .In sys/socketvar.h .Ft int .Fn accept_filt_add "struct accept_filter *filt" .Ft int .Fn accept_filt_del "char *name" .Ft int .Fn accept_filt_generic_mod_event "module_t mod" "int event" "void *data" .Ft struct accept_filter * .Fn accept_filt_get "char *name" .Sh ²òÀâ accept ¥Õ¥£¥ë¥¿¤Ï¡¢¥«¡¼¥Í¥ë¤¬ÆþÎÏÀܳ¤òÁ°½èÍý¤¹¤ë¤³¤È¤ò¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬ Í׵᤹¤ë¤³¤È¤ò²Äǽ¤Ë¤·¤Þ¤¹¡£ accept ¥Õ¥£¥ë¥¿¤Ï¡¢ .Dv SO_ACCEPTFILTER ¤Î .Fa optname ¤ÇÅϤ¹¤³¤È¤Ç¡¢ .Xr setsockopt 2 ¥·¥¹¥Æ¥à¥³¡¼¥ë¤ò²ð¤·¤ÆÍ׵ᤵ¤ì¤Þ¤¹¡£ .Sh ¼ÂÁõ¤Ë´Ø¤¹¤ëÃí accept ¥Õ¥£¥ë¥¿¤Ë¤Ê¤ê¤¿¤¤¥â¥¸¥å¡¼¥ë¤Ï¡¢¥·¥¹¥Æ¥à¤Ë -.Vt struct accept_filter +.Vt "struct accept_filter" ¹½Â¤ÂΤòÄ󶡤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ .Bd -literal struct accept_filter { char accf_name[16]; void (*accf_callback)(struct socket *so, void *arg, int waitflag); void * (*accf_create)(struct socket *so, char *arg); void (*accf_destroy)(struct socket *so); SLIST_ENTRY(accept_filter) accf_next; /* ¥ê¥¹¥È¤Î¼¡¤Î¥¨¥ó¥È¥ê */ }; .Ed .Pp ¤½¤Î¥â¥¸¥å¡¼¥ë¤Ï¡¢ -.Fn malloc +.Xr malloc 9 ¤Ç³äÅö¤Æ¤é¤ì¤¿ -.Fa struct accept_filter +.Vt "struct accept_filter" ¹½Â¤ÂΤؤΥݥ¤¥ó¥¿¤òÅϤ¹´Ø¿ô .Fn accept_filt_add ¤ò»ÈÍѤ·¤Æ¡¢¤½¤ì¤òÅÐÏ¿¤¹¤ë¤Ù¤­¤Ç¤¹¡£ .Pp -.Vt struct accept_filter +.Vt "struct accept_filter" ¤Î¥Õ¥£¡¼¥ë¥É¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡£ -.Bl -tag -width accf_callbackXXX -.It Vt accf_name +.Bl -tag -width ".Va accf_callback" +.It Va accf_name ¥Õ¥£¥ë¥¿¤Î̾Á°¤Ç¤¹¡£ ¤³¤ì¤Ï¥æ¡¼¥¶Îΰ褫¤é¥¢¥¯¥»¥¹¤µ¤ì¤ëÊýË¡¤Ç¤¹¡£ -.It Fn accf_callback +.It Va accf_callback Àܳ¤¬³ÎΩ¤µ¤ì¤¿¤È¤­¤Ë¥«¡¼¥Í¥ë¤¬¼Â¹Ô¤¹¤ë¥³¡¼¥ë¥Ð¥Ã¥¯¤Ç¤¹¡£ ¤³¤ì¤Ï socket upcall ¤ÈƱÅù¤Ç¡¢¤½¤Î¥³¡¼¥ë¥Ð¥Ã¥¯¤¬¥½¥±¥Ã¥È¤Î¥Õ¥é¥°¤ò Êѹ¹¤·¤Ê¤¤¸Â¤ê¤Ï¡¢Àܳ¤¬³ÎΩ¤·¤¿¤È¤­¡¢ ¤Þ¤¿¥½¥±¥Ã¥È¤Ë¿·¤·¤¤¥Ç¡¼¥¿¤¬ÆÏ¤¯¤¿¤Ó¤Ë¡¢¸Æ½Ð¤µ¤ì¤Þ¤¹¡£ -.It Fn accf_create +.It Va accf_create ´Æ»ë¤·¤Æ¤¤¤ë¥½¥±¥Ã¥È¾å¤Ë .Xr setsockopt 2 ¤¬¥Õ¥£¥ë¥¿¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤¿¤Ó¤Ë¸Æ½Ð¤µ¤ì¤Þ¤¹¡£ -.It Fn accf_destroy +.It Va accf_destroy ¥æ¡¼¥¶¤¬¤½¤Î¥½¥±¥Ã¥È¾å¤Î accept ¥Õ¥£¥ë¥¿¤ò¼è¤ê½ü¤¯¤¿¤Ó¤Ë¸Æ½Ð¤µ¤ì¤Þ¤¹¡£ .El .Pp .Fn accept_filt_add ´Ø¿ô¤ò»ÈÍѤ·¤ÆÅÐÏ¿¤µ¤ì¤¿¤È¤­¤Ë .Va accept_filter.accf_name ¤Ë»ÈÍѤµ¤ì¤¿Æ±¤¸Ê¸»úÎó¤¬ .Fn accept_filt_del ¤ËÅϤµ¤ì¤ë¤È¡¢¤½¤Î¸å¥«¡¼¥Í¥ë¤Ï¤½¤ì°Ê¾å¤Î¥æ¡¼¥¶Îΰè¤Î ¤½¤Î¥Õ¥£¥ë¥¿¤Î»ÈÍѤò¶Ø¤¸¤Þ¤¹¡£ .Pp .Fn accept_filt_get ´Ø¿ô¤Ï -.Fn setsockopt +.Xr setsockopt 2 ¥·¥¹¥Æ¥à¥³¡¼¥ë¤ò²ð¤·¤Æ»ÈÍѤµ¤ì¤ë¤¿¤á¤Î accept ¥Õ¥£¥ë¥¿¤ò ¸«¤Ä¤±¤ë¤¿¤á¤ËÆâÉô¤Ç»ÈÍѤµ¤ì¤Þ¤¹¡£ .Pp .Fn accept_filt_generic_mod_event ´Ø¿ô¤Ï¼«Ê¬¼«¿È¤ò¥í¡¼¥É¤ª¤è¤Ó¥¢¥ó¥í¡¼¥É¤¹¤ë¤¿¤á¤Î°ú¿ô¥Õ¥£¡¼¥ë¥É¤ò»ÈÍÑ ¤·¤Ê¤¤ accept ¥Õ¥£¥ë¥¿¤Î¤¿¤á¤Ë¡¢¥³¡¼¥É¤Î½ÅÊ£¤òÈò¤±¤ëñ½ã¤ÊÊýË¡¤òÄ󶡤·¤Þ¤¹¡£ ¤³¤Î´Ø¿ô¤Ï .Fn DECLARE_MODULE ¥Þ¥¯¥í¤Î¤¿¤á¤Ë .Vt moduledata_t ¹½Â¤ÂΤÎÃæ¤Ç»ÈÍѤµ¤ì¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£ .Sh ´ØÏ¢¹àÌÜ .Xr setsockopt 2 , .Xr accf_data 9 , .Xr accf_http 9 , .Xr malloc 9 .Sh Îò»Ë accept ¥Õ¥£¥ë¥¿µ¡¹½¤Ï .Fx 4.0 ¤ÇƳÆþ¤µ¤ì¤Þ¤·¤¿¡£ .Sh ºî¼Ô ¤³¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ï .An -nosplit .An Alfred Perlstein , .An Sheldon Hearn ¤ª¤è¤Ó .An Jeroen Ruigrok van der Werven ¤¬½ñ¤­¤Þ¤·¤¿¡£ .Pp -accept ¥Õ¥£¥ë¥¿¤Î¹½ÁÛ¤Ï Yahoo! ¤Î +accept ¥Õ¥£¥ë¥¿¤Î¹½ÁÛ¤Ï Yahoo!\& ¤Î .An David Filo ¤Ë¤è¤Ã¤Æ³«Â󤵤졢 .An Alfred Perlstein ¤Ë¤è¤Ã¤Æ¥í¡¼¥À¥Ö¥ë¥â¥¸¥å¡¼¥ë¥·¥¹¥Æ¥à¤Ë²þÎɤµ¤ì¤Þ¤·¤¿¡£ diff --git a/ja_JP.eucJP/man/man9/boot.9 b/ja_JP.eucJP/man/man9/boot.9 index d4b06140d1..58854350dc 100644 --- a/ja_JP.eucJP/man/man9/boot.9 +++ b/ja_JP.eucJP/man/man9/boot.9 @@ -1,104 +1,104 @@ .\" %NetBSD: boot.9,v 1.2 1996/09/24 07:01:26 ghudson Exp % .\" .\" Copyright (c) 1997 .\" Mike Pritchard. All rights reserved. .\" .\" 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/boot.9,v 1.9 2003/10/23 01:14:18 hmp Exp % +.\" %FreeBSD: src/share/man/man9/boot.9,v 1.10 2004/07/03 18:29:23 ru Exp % .\" .\" $FreeBSD$ .Dd February 14, 1997 .Dt BOOT 9 .Os .Sh ̾¾Î .Nm boot .Nd ¥·¥¹¥Æ¥à¤ÎÄä»ß¤Þ¤¿¤ÏºÆµ¯Æ° .Sh ½ñ¼° .In sys/types.h .In sys/systm.h .In sys/reboot.h .Ft void .Fn boot "int howto" .Sh ²òÀâ .Fn boot ´Ø¿ô¤Ï¡¢¥·¥¹¥Æ¥à¤ÎºÇ½ªÅª¤Ê¥·¥¹¥Æ¥à¥·¥ã¥Ã¥È¥À¥¦¥ó¤È¡¢ Ää»ß¤Þ¤¿¤ÏºÆµ¯Æ°¤ò¼è¤ê°·¤¤¤Þ¤¹¡£ ¹Ô¤Ê¤ï¤ì¤ëÀµ³Î¤Êưºî¤Ï¡¢ .Fa howto ¤ÇÅϤµ¤ì¤ë¥Õ¥é¥°¤È¡¢ ¥·¥¹¥Æ¥à¤¬¼«Æ°¥³¥ó¥Õ¥£¥®¥å¥ì¡¼¥·¥ç¥ó¤ò´û¤Ë½ª¤¨¤Æ¤¤¤ë¤«¤É¤¦¤«¡¢ ¤Ë¤è¤Ã¤Æ·èÄꤵ¤ì¤Þ¤¹¡£ .Pp ¥·¥¹¥Æ¥à¤¬¼«Æ°¥³¥ó¥Õ¥£¥®¥å¥ì¡¼¥·¥ç¥ó¤ò´û¤Ë½ª¤¨¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢ .Fn boot ¤Ï¼¡¤Îưºî¤ò¤·¤Þ¤¹¡£ .Bl -enum -offset indent .It ¤³¤ì¤¬ºÇ½é¤Î .Fn boot ¤Î¼Â»Ü¤Î¾ì¹ç¤Ç¡¢ .Fa howto ¤Ë .Dv RB_NOSYNC ¥Õ¥é¥°¤¬¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¡¢ .Xr vfs_unmountall 9 ¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤Ë¤è¤ê¡¢¥Ç¥£¥¹¥¯¤ÎƱ´ü¤È¥¢¥ó¥Þ¥¦¥ó¥È¤ò¹Ô¤Ê¤¤¤Þ¤¹¡£ .It ³ä¤ê¹þ¤ß¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£ .It -¥¯¥é¥Ã¥·¥å¤Î¸å¤ÎºÆµ¯Æ°¤Î¾ì¹ç (Î㤨¤Ð¡¢ +¥¯¥é¥Ã¥·¥å¤Î¸å¤ÎºÆµ¯Æ°¤Î¾ì¹ç (¤¹¤Ê¤ï¤Á .Fa howto ¤Ë .Dv RB_DUMP ¤¬¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤ë¤¬ .Dv RB_HALT ¤¬¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤Ê¤¤) ¤Ï¡¢ ¥·¥¹¥Æ¥à¥¯¥é¥Ã¥·¥å¥À¥ó¥×¤òÊݸ¤·¤Þ¤¹¡£ .It °ÊÁ°¤ËÅÐÏ¿¤µ¤ì¤¿¤¢¤é¤æ¤ë¥·¥ã¥Ã¥È¥À¥¦¥ó¥Õ¥Ã¥¯¤ò¼Â¹Ô¤·¤Þ¤¹¡£ .It ¥·¥¹¥Æ¥à¤¬Ää»ß¤µ¤»¤é¤ì¤Æ¤¤¤ë¤Î¤«¡¢ ºÆµ¯Æ°¤µ¤»¤é¤ì¤Æ¤¤¤ë¤Î¤«¤ò¼¨¤¹¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Þ¤¹¡£ .It .Fa howto ¤Ë .Dv RB_HALT ¤¬¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢¥·¥¹¥Æ¥à¤òÄä»ß¤·¤Þ¤¹¡£ ¤½¤¦¤Ç¤Ê¤±¤ì¤Ð¡¢¥·¥¹¥Æ¥à¤òºÆµ¯Æ°¤·¤Þ¤¹¡£ .El .Pp ¥·¥¹¥Æ¥à¤¬¼«Æ°¥³¥ó¥Õ¥£¥®¥å¥ì¡¼¥·¥ç¥ó¤ò¤Þ¤À½ª¤¨¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢ .Fn boot ¤Ï °ÊÁ°¤ËÅÐÏ¿¤µ¤ì¤¿¤¢¤é¤æ¤ë¥·¥ã¥Ã¥È¥À¥¦¥ó¥Õ¥Ã¥¯¤ò¼Â¹Ô¤·¡¢ ¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¡¢¥·¥¹¥Æ¥à¤òÄä»ß¤·¤Þ¤¹¡£ .Sh ´ØÏ¢¹àÌÜ .Xr vfs_unmountall 9 diff --git a/ja_JP.eucJP/man/man9/buf.9 b/ja_JP.eucJP/man/man9/buf.9 index ca2022db6a..a3d80e400c 100644 --- a/ja_JP.eucJP/man/man9/buf.9 +++ b/ja_JP.eucJP/man/man9/buf.9 @@ -1,148 +1,148 @@ .\" Copyright (c) 1998 .\" The Regents of the University of California. 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 the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University 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 REGENTS 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/buf.9,v 1.13 2003/10/23 02:22:07 hmp Exp % +.\" %FreeBSD: src/share/man/man9/buf.9,v 1.16 2004/07/03 18:29:23 ru Exp % .\" $FreeBSD$ .\" .Dd December 22, 1998 .Dt BUF 9 .Os .Sh ̾¾Î .Nm buf .Nd "FreeBSD ¤Î VM ¥·¥¹¥Æ¥à¤Ç»ÈÍѤµ¤ì¤¿¥«¡¼¥Í¥ë¥Ð¥Ã¥Õ¥¡Æþ½ÐÎϵ¡¹½" .Sh ²òÀâ ¥«¡¼¥Í¥ë¤Ï¡¢(¼ç¤Ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î) ¥Ç¥Ð¥¤¥¹¤ª¤è¤Ó¥Ç¥Ð¥¤¥¹Æþ½ÐÎϤˤè¤Ã¤Æ »ÈÍѤµ¤ì¤ë¤¿¤á¤Î¡¢¤Þ¤Ã¤¿¤¯¥Ð¥é¥Ð¥é¤«¤â¤·¤ì¤Ê¤¤²¾ÁÛ¥á¥â¥ê¥Ú¡¼¥¸¤ò Ϣ³¤·¤¿ KVM ¤Ë¥Þ¥Ã¥×¤¹¤ë¤³¤È¤ò²Äǽ¤Ë¤¹¤ë¡¢ ¥Ð¥Ã¥Õ¥¡¥­¥ã¥Ã¥·¥å¤Î KVM ¤ÎÃê¾Ý³µÇ°¤ò¼ÂÁõ¤·¤Þ¤¹¡£ ¤³¤ÎÃê¾Ý³µÇ°¤Ï¡¢DEV_BSIZE (Ä̾ï 512) ¤«¤é¿ô¥Ú¡¼¥¸°Ê¾å¤Î¤Þ¤Ç¤Î¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤ò ¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£ ¤Þ¤¿¡¢NFS ¤Ë¤è¤Ã¤Æ»ÈÍѤµ¤ì¤ë¤¿¤á¤Î¸½ºß¤Ï¥Ï¡¼¥É¥³¡¼¥Ç¥£¥ó¥°¤µ¤ì¤Æ¤¤¤ë¡¢ ÁêÂÐŪ¤Ë´ðËÜŪ¤Ê¥Ð¥¤¥ÈγÅÙ¤ÎÀµÅö¤ÊÈϰϤª¤è¤Ó¥À¡¼¥Æ¥£¤ÊÈϰϤ⡢¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£ VM ¥Ð¥Ã¥Õ¥¡¤ÎÃê¾Ý³µÇ°¤ò¼ÂÁõ¤·¤Æ¤¤¤ë¥³¡¼¥É¤Ï¡¢ÂçÉôʬ¤Ï .Pa /usr/src/sys/kern/vfs_bio.c ¤Ë½¸Ìó¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ .Pp ¥Ð¥Ã¥Õ¥¡¥Ý¥¤¥ó¥¿ (struct buf) ¤ò¼è¤ê°·¤¦¤È¤­¤Ë²±¤¨¤Æ¤ª¤¯¤Ù¤­ºÇ¤â½ÅÍ×¤Ê ¤³¤È¤Î 1 ¤Ä¤Ï¡¢²¼ÁؤΥڡ¼¥¸¤¬¥Ð¥Ã¥Õ¥¡¥­¥ã¥Ã¥·¥å¤«¤éľÀÜŪ¤Ë¥Þ¥Ã¥×¤µ¤ì¤ë ¤È¤¤¤¦¤³¤È¤Ç¤¹¡£ ¤â¤Ã¤È¤â UFS ¤Î¤è¤¦¤Ê´ö¤Ä¤«¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬¥Õ¥¡¥¤¥ë¤Î¥Õ¥é¥°¥á¥ó¥È¤ò ¼è¤ê°·¤¦¤È¤­¤Ë¤Ï¾¯¤·¥³¥Ô¡¼¤ò¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤Î¤Ç¤¹¤¬¡¢¸·Ì©¤Ê°ÕÌ£¤Ç¤Î ¤³¤Îµ¡¹½¤Ç¤Ï¡¢¥Ç¡¼¥¿¤Î¥³¥Ô¡¼¤ÏȯÀ¸¤·¤Þ¤»¤ó¡£ ²±¤¨¤Æ¤ª¤¯¤Ù¤­ºÇ¤â½ÅÍפʤ³¤È¤Î 2 ÈÖÌܤϡ¢²¼ÁؤΥڡ¼¥¸¥Þ¥Ã¥Ô¥ó¥°¤Î ¤¿¤á¡¢buf ¤ÎÃæ¤Î b_data ¥Ù¡¼¥¹¥Ý¥¤¥ó¥¿¤Ï¾ï¤Ë *¥Ö¥í¥Ã¥¯* ¤ÇÀ°Î󤵤ì¤ë¤Î¤Ç¤Ï ¤Ê¤¯¡¢*¥Ú¡¼¥¸* ¤ÇÀ°Î󤵤ì¤ë¤È¤¤¤¦¤³¤È¤Ç¤¹¡£ ¤¢¤ë b_offset ¤ª¤è¤Ó b_size ¤òɽ¸½¤¹¤ë VM ¥Ð¥Ã¥Õ¥¡¤ò»ý¤Ä¤â¤­¤Ë¤Ï¡¢ ¤½¤Î¥Ð¥Ã¥Õ¥¡¤Î¼ÂºÝ¤Î³«»Ï¤Ï (b_data + (b_offset & PAGE_MASK)) ¤Ç¡¢ ¤Á¤ç¤¦¤É b_data ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ ºÇ¸å¤Ë¡¢VM ¥·¥¹¥Æ¥à¤ÎÃæ³Ë¤Î¥Ð¥Ã¥Õ¥¡¥­¥ã¥Ã¥·¥å¤Ï¡¢DEV_BSIZE ¤Î²ô¤ÎÃæ¤Î ¥Ú¡¼¥¸¤Î¤¿¤á¤Î¡¢ÀµÅö¤ª¤è¤Ó¥À¡¼¥Æ¥£¥Ó¥Ã¥È (m->valid, m->dirty) ¤ò ¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£ ½¾¤Ã¤Æ¡¢4096 ¥Ð¥¤¥È¤Î¥Ú¡¼¥¸¥µ¥¤¥º¤Î¥Ï¡¼¥É¥¦¥§¥¢¤ò»ý¤Ä ¥×¥é¥Ã¥È¥Û¡¼¥à¤Ï¡¢8 ¸Ä¤ÎÀµÅö¥Ó¥Ã¥È¤ª¤è¤Ó 8 ¸Ä¤Î¥À¡¼¥Æ¥£¥Ó¥Ã¥È¤ò»ý¤Á¤Þ¤¹¡£ ¤³¤ì¤é¤Î¥Ó¥Ã¥È¤Ï°ìÈÌŪ¤Ë¡¢¥Ú¡¼¥¸¤ò΢ÂǤÁ¤¹¤ë¤½¤Î¥Ç¥Ð¥¤¥¹¤Î ¥Ç¥Ð¥¤¥¹¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤Ë´ð¤Å¤¤¤¿¥°¥ë¡¼¥×ñ°Ì¤Ç¡¢¥»¥Ã¥È¤ª¤è¤Ó¥¯¥ê¥¢¤µ¤ì¤Þ¤¹¡£ ´°Á´¤Ê¥Ú¡¼¥¸¤Î²ÁÃͤϡ¢¤·¤Ð¤·¤Ð VM_PAGE_BITS_ALL ¥Ó¥Ã¥È¥Þ¥¹¥¯ (¤¹¤Ê¤ï¤Á¡¢ ¥Ï¡¼¥É¥¦¥§¥¢¤Î¥Ú¡¼¥¸¥µ¥¤¥º¤¬ 4096 ¤Ç¤¢¤ì¤Ð 0xFF) ¤ò»ÈÍѤ¹¤ë¤³¤È¤ËÅö¤¿¤ê¤Þ¤¹¡£ .Pp VM ¥Ð¥Ã¥Õ¥¡¤Ï¥Ð¥¤¥ÈγÅ٤ΥÀ¡¼¥Æ¥£¤ÊÈϰϤª¤è¤ÓÀµÅö¤ÊÈϰϤÎÄÉÀפâ°Ý»ý¤·¤Þ¤¹¡£ ¤³¤Îµ¡Ç½¤ÏÄ̾ï NFS ¥µ¥Ö¥·¥¹¥Æ¥à¤Ë¤è¤Ã¤Æ¤Î¤ß»ÈÍѤµ¤ì¤Þ¤¹¡£ VM ¥Ð¥Ã¥Õ¥¡¤ÎÆâÉô¤Ë DEV_BSIZE ¤ÎÀµÅö/¥À¡¼¥Æ¥£¤ÎγÅÙ¤ò»ý¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¢ËÜÅö¤Ë¡¢ °ìÂΤɤ¦¤·¤Æ»ÈÍѤµ¤ì¤Æ¤¤¤ë¤Î¤«¼«¿®¤ò»ý¤Ã¤Æ¸À¤¨¤Þ¤»¤ó¡£ ¥Ð¥Ã¥Õ¥¡¤ò¥À¡¼¥Æ¥£¤Ë¤¹¤ëÁàºî¤¬ '·ê' ¤òÀ¸À®¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢¥À¡¼¥Æ¥£¤ÊÈϰϤ¬ ¤½¤Î·ê¤òʤ¤¦¤è¤¦¤Ë¹­¤¬¤ê¤Þ¤¹¡£ ¥Ð¥Ã¥Õ¥¡¤òÀµÅö²½¤¹¤ëÁàºî¤¬ '·ê' ¤òÀ¸À®¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢¥Ð¥¤¥ÈγÅÙ¤ÎÀµÅö¤ÊÈϰϤ¬ ¤½¤Î¤Þ¤Þ»Ä¤µ¤ì¡¢¿·¤·¤¤³ÈÄ¥¤Îɾ²Á¤Ï¹Ô¤Ê¤ï¤ì¤Þ¤»¤ó¡£ ½¾¤Ã¤Æ¡¢¥Ð¥¤¥ÈγÅÙ¤ÎÃê¾Ý³µÇ°Á´ÂΤϰ­¤¤¥Ï¥Ã¥¯¤À¤È¹Í¤¨¤é¤ì¤Þ¤¹¡£ ¤½¤ì¤òŰÄìŪ¤Ë½üµî¤Ç¤­¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢²÷Ŭ¤Ê¤³¤È¤Ç¤·¤ç¤¦¡£ .Pp VM ¥Ð¥Ã¥Õ¥¡¤Ï¡¢¥«¡¼¥Í¥ë¤¬Ä¾ÀÜŪ¤Ë (vnode,b_offset,b_size) ¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿ ¥Ç¡¼¥¿¤òÁàºî¤¹¤ë¤³¤È¤ò²Äǽ¤Ë¤¹¤ë¤¿¤á¤Ë¡¢ ²¼ÁؤΠVM ¥­¥ã¥Ã¥·¥å¥Ú¡¼¥¸¤ò KVM ¤Ë¥Þ¥Ã¥×¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£ ¥«¡¼¥Í¥ë¤Ï°ìÈÌŪ¤Ë¤Ï¡¢¥Ð¥Ã¥Õ¥¡¤¬¤â¤Ï¤äɬÍפǤʤ¯¤Ê¤Ã¤¿»þ¤Ë¡¢VM ¥Ð¥Ã¥Õ¥¡¤ò ¥¢¥ó¥Þ¥Ã¥×¤·¤Þ¤¹¤¬¡¢¤¹¤Ç¤Ë KVM ¤«¤é¥¢¥ó¥Þ¥Ã¥×¤µ¤ì¤Æ¤¤¤ë¤Ë¤â¤«¤«¤ï¤é¤º¡¢ ¤·¤Ð¤·¤Ð¼ÂÂ⽤µ¤ì¤¿ 'struct buf' ¹½Â¤ÂΤò¡¢¤ª¤è¤Ó ¼ÂÂ⽤µ¤ì¤¿ bp->b_pages ¤ÎÇÛÎó¤ò¤âÊÝ»ý¤·¤Þ¤¹¡£ VM ¥Ð¥Ã¥Õ¥¡¤Ë»ÅΩ¤Æ¤é¤ì¤¿¥Ú¡¼¥¸¤¬º£¤Ë¤âÆþ½ÐÎϤò¼õ¤±¤è¤¦¤È¤·¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢ ¥·¥¹¥Æ¥à¤Ï°ìÈÌŪ¤Ë¤Ï¡¢¤½¤ì¤ò KVM ¤«¤é¥¢¥ó¥Þ¥Ã¥×¤·¡¢b_pages[] ÇÛÎó¤ÎÃæ¤Î ¥Ú¡¼¥¸¤ò bogus_page (µ¶¤Î¥Ú¡¼¥¸) ¤È¸Æ¤Ð¤ì¤ë°ÌÃÖÌܰõ¤ËÃÖ¤­´¹¤¨¤Þ¤¹¡£ ¤½¤Î¾ì½ê¤ÎÌܰõ¤Ï¡¢´ØÏ¢ÉÕ¤±¤é¤ì¤¿¥Ú¡¼¥¸¤òºÆÁܺ÷¤¹¤ë¤¿¤á¤Ë¡¢Á´¤Æ¤Î¥«¡¼¥Í¥ë¤Î ¥µ¥Ö¥·¥¹¥Æ¥à¤¬´ØÏ¢ÉÕ¤±¤é¤ì¤¿ struct buf ¤ò»²¾È¤¹¤ë¤³¤È¤ò¡¢¶¯À©¤·¤Þ¤¹¡£ °ÌÃÖÌܰõ¤Î¥Ï¥Ã¥¯¤Ï¡¢¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¥Ç¥Ð¥¤¥¹¤Î¤è¤¦¤Ê¤­¤ï¤á¤ÆÊ£»¨¤Ê ¥Ç¥Ð¥¤¥¹¤¬¡¢Î㤨¤Ð¡¢¥Õ¥¡¥¤¥ë¤Î¥Õ¥é¥°¥á¥ó¥È¤ò¥Õ¥¡¥¤¥ë¥Ö¥í¥Ã¥¯¤ËºÆ¥Þ¥Ã¥× ¤¹¤ë¤¿¤á¤Ë¡¢²¼ÁؤΥڡ¼¥¸¤òºÆ¥Þ¥Ã¥×¤¹¤ë¤³¤È¤ò¡¢ ²Äǽ¤Ë¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤ë¤È³Î¿®¤·¤Æ¤¤¤Þ¤¹¡£ .Pp VM ¥Ð¥Ã¥Õ¥¡¤Ï¥«¡¼¥Í¥ëÆâÉô¤ÎÆþ½ÐÎÏÁàºî¤òÄÉÀפ¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ ±¿¤Î°­¤¤¤³¤È¤Ë¡¢Æþ½ÐÎϤμÂÁõ¤â¥Ï¥Ã¥¯¤ÎÂоݤǤ¹¡£ ¤Ê¤¼¤Ê¤é¤Ð¡¢¥«¡¼¥Í¥ë¤Ï ʪÍýŪ¤ÊÆþ½ÐÎϤ¬¼ÂºÝ¤Ë»Ï¤Þ¤Ã¤¿¤È¤­¤Ç¤Ï¤Ê¤¯¡¢VFS ¥Ç¥Ð¥¤¥¹¤ËÆþ½ÐÎϤò¥­¥å¡¼¤Ë Æþ¤ì¤¿¤È¤­¤Ë¡¢²¼ÁؤΥڡ¼¥¸¾å¤Î¥À¡¼¥Æ¥£¥Ó¥Ã¥È¤ò¥¯¥ê¥¢¤·¤¿¤¤¤«¤é¤Ç¤¹¡£ ¤³¤ì¤Ï¡¢ÃÙ±ä½ñ¤­¹þ¤ß¤ò»ÈÍѤ¹¤ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¥Ç¥Ð¥¤¥¹¤ÎÆâÉô¤Ëº®Íð¤ò À¸¤ß½Ð¤¹¤³¤È¤¬¤¢¤ê¤¨¤Þ¤¹¡£ ¤Ê¤¼¤Ê¤é¤Ð¡¢¼ÂºÝ¤Ë¤Ï̤¤À¥À¡¼¥Æ¥£¤Ç¤¢¤ë¤¬¥Ú¡¼¥¸¤ò ÀµÅö¤Ç¤¢¤ë¤ÈÌܰõ¤ò¤Ä¤±¤Æ½ªÎ»¤¹¤ë¤«¤é¤Ç¤¹¡£ Ãí°Õ¿¼¤¯¼è¤ê°·¤ï¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢¤³¤ì¤é¤Î¥Ú¡¼¥¸¤ÏÇË´þ¤µ¤ì¤Æ¤·¤Þ¤¦¤³¤È¤¬ ¤¢¤ê¤¨¤Þ¤¹¡£ ¤½¤ì¤É¤³¤í¤«¡¢¤³¤Î¥Ï¥Ã¥¯¤Ë´ØÏ¢¤·¤¿¤«¤Ê¤ê¤Î¿¼¹ï¤Ê¥Ð¥°¤¬¡¢2.2.8/3.0 ¥ê¥ê¡¼¥¹¤Þ¤Ç ½¤Àµ¤µ¤ì¤Þ¤»¤ó¤Ç¤·¤¿¡£ ¥«¡¼¥Í¥ë¤Ï¤³¤ÎÆÃ¼ì¾õÂ֤ˤ¢¤ë¥Ú¡¼¥¸¤Ë°ÌÃÖÌܰõ¤ò¤Ä¤±¤ë¤¿¤á¡¢ ¼ÂÂ⽤µ¤ì¤¿ VM ¥Ð¥Ã¥Õ¥¡ (¤¹¤Ê¤ï¤Á struct buf) ¤ò»ÈÍѤ·¤Þ¤¹¡£ ¥Ð¥Ã¥Õ¥¡¤ÏÄ̾ï B_DELWRI ¥Õ¥é¥°¤¬ÉÕ¤±¤é¤ì¤Þ¤¹¡£ ¤â¤Ï¤ä¥Ð¥Ã¥Õ¥¡¤¬É¬ÍפǤʤ¯¤Ê¤Ã¤¿¤È¤­¤Ë¡¢Ä̾ï B_RELBUF ¤È¤·¤Æ¥Õ¥é¥°¤òÉÕ¤±¤Þ¤¹¡£ ²¼ÁؤΥڡ¼¥¸¤¬ÀµÅö¤Ç¤¢¤ë¤ÈÌܰõ¤òÉÕ¤±¤é¤ì¤Æ¤¤¤ë·ë²Ì¡¢B_DELWRI|B_RELBUF ¤Î ÁȤ߹ç¤ï¤»¤Ï¡¢¤½¤Î¥Ð¥Ã¥Õ¥¡¤Ï¼ÂºÝ¤Ë¤Ï̤¤À¥À¡¼¥Æ¥£¤Ç¤¢¤ê¡¢¤½¤ì¤¬¼ÂºÝ¤Ë²òÊü¤µ¤ì¤ë ¤³¤È¤¬¤¢¤ê¤¦¤ëÁ°¤Ë¡¢¸å±ç¤Îµ­²±ÁõÃ֤˽ñ¹þ¤Þ¤ì¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤È¤¤¤¦¤³¤È¤ò °ÕÌ£¤¹¤ë¤È¡¢²ò¼á¤µ¤ì¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ ¤³¤Î¾ì¹ç¤Ç¡¢B_DELWRI ¤¬ÀßÄꤵ¤ì¤Ê¤¤¾ì¹ç¡¢²¼ÁؤΥÀ¡¼¥Æ¥£¤Ê¥Ú¡¼¥¸¤Ï̤¤ÀŬÀÚ¤Ë ¥À¡¼¥Æ¥£¤Ç¤¢¤ë¤ÈÌܰõ¤òÉÕ¤±¤é¤ì¡¢¤½¤Î¥Ð¥Ã¥Õ¥¡¤ÏÀµÅö/¥À¡¼¥Æ¥£¤Î¾õÂÖ¾ðÊó¤ò ¼º¤¦¤³¤È¤Ê¤¯¡¢´°Á´¤Ë²òÊü¤µ¤ì¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£ (XXX ¤³¤Î¾õ¶·¤ËÇÛθ¤·¤Æ¡¢¤½¤Î¾¤Î¥Õ¥é¥°¤ò¥Á¥§¥Ã¥¯¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤ -¤Î¤Ç¤·¤ç¤¦¤« ???)¡£ +¤Î¤Ç¤·¤ç¤¦¤« ???) .Pp ¥«¡¼¥Í¥ë¤Ï VM ¥Ð¥Ã¥Õ¥¡¤Î¥Ç¡¼¥¿¥Þ¥Ã¥×¤òÊÝ»ý¤¹¤ë¤¿¤á¤Ë¡¢¤½¤Î KVM ¶õ´Ö¤Î °ìÉô¤òͽÌó¤·¤Þ¤¹¡£ ¤³¤ì¤Ï²¾ÁÛ¶õ´Ö (¥Ð¥Ã¥Õ¥¡¤Ï¥Ð¥Ã¥Õ¥¡¥­¥ã¥Ã¥·¥å¤«¤é¥Þ¥Ã¥×¤µ¤ì¤ë¤¿¤á) ¤Ç¤¢¤ë ¤Ë¤â¤«¤«¤ï¤é¤º¡¢¤½¤ì¤òǤ°Õ¤ËÂ礭¤¯½ÐÍè¤Þ¤»¤ó¡£ ¤Ê¤¼¤Ê¤é¤Ð¡¢ ¼ÂÂ⽤µ¤ì¤¿ VM ¥Ð¥Ã¥Õ¥¡ (struct buf) ¤¬¥Ð¥Ã¥Õ¥¡¥­¥ã¥Ã¥·¥å¤ÎÃæ¤Î ²¼ÁؤΥڡ¼¥¸¤¬²òÊü¤µ¤ì¤ë¤³¤È¤ò˸¤²¤ë¤«¤é¤Ç¤¹¡£ ¤³¤ì¤Ï¥Ú¡¼¥¸¥ó¥°¥·¥¹¥Æ¥à¤ÎÀ¸Â¸¤ò¶¼¤«¤·ÆÀ¤ë¤³¤È¤Ç¤¹¡£ .Pp .\" .Sh ´ØÏ¢¹àÌÜ .\" .Xr 9 .Sh Îò»Ë .Nm ¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ï¸µ¡¹ .An Matthew Dillon ¤¬½ñ¤¤¤Æ¡¢1998 ǯ 12 ·î¤Ë .Fx 3.1 ¤Ç¤Ï¤¸¤á¤ÆÅо줷¤Þ¤·¤¿¡£ diff --git a/ja_JP.eucJP/man/man9/bus_alloc_resource.9 b/ja_JP.eucJP/man/man9/bus_alloc_resource.9 index e7e5901e18..95f0994b93 100644 --- a/ja_JP.eucJP/man/man9/bus_alloc_resource.9 +++ b/ja_JP.eucJP/man/man9/bus_alloc_resource.9 @@ -1,181 +1,181 @@ .\" -*- 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/bus_alloc_resource.9,v 1.18 2004/03/17 17:40:34 njl Exp % +.\" %FreeBSD: src/share/man/man9/bus_alloc_resource.9,v 1.19 2004/06/16 08:33:57 ru Exp % .\" .\" $FreeBSD$ .Dd May 18, 2000 .Dt BUS_ALLOC_RESOURCE 9 .Os .Sh ̾¾Î .Nm bus_alloc_resource , .Nm bus_alloc_resource_any .Nd ¿Æ¤Î¥Ð¥¹¤«¤é¤Î»ñ¸»¤Î³ä¤êÅö¤Æ .Sh ½ñ¼° .In sys/param.h .In sys/bus.h .Pp .In machine/bus.h .In sys/rman.h .In machine/resource.h .Ft struct resource * .Fn bus_alloc_resource "device_t dev" "int type" "int *rid" "u_long start" "u_long end" "u_long count" "u_int flags" .Ft struct resource * .Fn bus_alloc_resource_any "device_t dev" "int type" "int *rid" "u_int flags" .Sh ²òÀâ ¤³¤ì¤Ï»ñ¸»´ÉÍý´Ø¿ô·²¤Ø¤Î´Êñ¤Ê¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ç¤¹¡£ ¿Æ¤Î¥á¥½¥Ã¥É¥Æ¡¼¥Ö¥ë¤òÄ̤ë´ÖÀÜŪ¤ÊÊýË¡¤ò±£Êä·¤Þ¤¹¡£ ¤³¤Î´Ø¿ô¤Ï¡¢°ìÈÌŪ¤Ë¥¢¥¿¥Ã¥Á»þ¤Ë¸Æ¤Ó½Ð¤µ¤ì¤ë¤Ù¤­¤Ç¤¹¤¬¡¢ (´ö¤Ä¤«¤Îµ©¤Ê¾ì¹ç¤ò½ü¤¤¤Æ) ·è¤·¤Æ¤½¤ÎÁ°¤Ë¸Æ¤Ó½Ð¤·¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£ .Pp .Fn bus_alloc_resource_any ´Ø¿ô¤Ï .Fn bus_alloc_resource ¤Î¤¿¤á¤Î´Êñ¤Ê¥é¥Ã¥Ñ¤Ç¤¹¡£ ¤³¤ì¤Ï .Fa start , .Fa end ¤ª¤è¤Ó .Fa count ¤ÎÃͤȤ·¤Æ¥Ç¥Õ¥©¥ë¥È¤Î¥ê¥½¡¼¥¹ (²¼µ­¤Î .Fa start ¤Î²òÀâ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤) ¤òÀßÄꤷ¤Þ¤¹¡£ .Pp °ú¿ô¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡£ .Bl -item .It .Fa dev ¤Ï¡¢»ñ¸»¤Î½êÍ­¤òÍ׵᤹¤ë¥Ç¥Ð¥¤¥¹¤Ç¤¹¡£ ³ä¤êÅö¤ÆÁ°¤Ï¡¢»ñ¸»¤Ï¿Æ¤Î¥Ð¥¹¤Ë¤è¤Ã¤Æ½êÍ­¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ .It .Fa type ¤Ï¡¢³ä¤êÅö¤Æ¤¿¤¤»ñ¸»¤Î·¿¤Ç¤¹¡£ °Ê²¼¤ÎÆâ¤Î 1 ¤Ä¤Ç¤¹¡£ .Bl -tag -width SYS_RES_MEMORY .It Dv SYS_RES_IRQ IRQ ÍÑ¡£ .It Dv SYS_RES_DRQ ISA DMA ¥é¥¤¥óÍÑ¡£ .It Dv SYS_RES_IOPORT Æþ½ÐÎϥݡ¼¥ÈÍÑ¡£ .It Dv SYS_RES_MEMORY Æþ½ÐÎÏ¥á¥â¥êÍÑ¡£ .El .It .Fa rid ¤Ï¡¢³ä¤êÅö¤Æ¤Æ¤¤¤ë»ñ¸»¤ò¼±Ê̤¹¤ë¡¢¥Ð¥¹¸ÇÍ­¤Î¥Ï¥ó¥É¥ë¤ò»Ø¤·¤Þ¤¹¡£ ISA ¤Ç¤Ï¡¢PnP ¤Î»ÅÁȤߤޤ¿¤Ï hints ¤Î»ÅÁȤߤòÄ̤·¤Æ¡¢¥Ç¥Ð¥¤¥¹¤Î¤¿¤á¤Ë ¥»¥Ã¥È¥¢¥Ã¥×¤µ¤ì¤Æ¤¤¤ë»ñ¸»¤ÎÇÛÎó¤Ø¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ç¤¹¡£ PCCARD ¤Ç¤Ï¡¢¤³¤Îʸ¾Ï¤ò½ñ¤¤¤Æ¤¤¤ë¸½»þÅÀ¤Ç¤ÏƱÍͤǤ¹¤¬¡¢ ¾­Íè¤Î newcard ¤Ç¤ÏÊѤï¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£ PCI ¤Ç¤Ï¡¢pci ¥³¥ó¥Õ¥£¥°¶õ´Ö¤Ë¤ª¤¤¤Æ¡¢ »ñ¸»¤òµ­½Ò¤¹¤ë¥ï¡¼¥É¤Ø¤Î¥ª¥Õ¥»¥Ã¥È¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ ¥Ð¥¹¤Î¥á¥½¥Ã¥É¤Ï¡¢°ú¿ô¤È¤·¤ÆÍ¿¤¨¤é¤ì¤Æ¤¤¤ë RID ¤ò̵À©¸Â¤ËÊѹ¹¤·¤Þ¤¹¡£ °ÊÁ°¤ËÍ¿¤¨¤¿»þ¤ÎÃͤ˰͸¤·¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£ .It .Fa start ¤ª¤è¤Ó .Fa end ¤Ï»ñ¸»¤Î³«»Ï/½ªÎ»¥¢¥É¥ì¥¹¤Ç¤¹¡£ .Fa start ¤Ë 0ul ¤ò¡¢ .Fa end ¤Ë ~0ul ¤ò¡¢ .Fa count ¤Ë 1 ¤ò»ØÄꤷ¤¿¾ì¹ç¤Ë¤Ï¡¢¥Ð¥¹¤Î¤¿¤á¤Î¥Ç¥Õ¥©¥ë¥ÈÃͤ¬·×»»¤µ¤ì¤Þ¤¹¡£ .It .Fa count ¤Ï»ñ¸»¤ÎÂ礭¤µ¤Ç¤¹¡£ Î㤨¤Ð¡¢Æþ½ÐÎϥݡ¼¥È¤ÎÂ礭¤µ¤ÏÄ̾ï 1 ¥Ð¥¤¥È¤Ç¤¹ (¤·¤«¤·¡¢ ´ö¤Ä¤«¤Î¥Ç¥Ð¥¤¥¹¤Ï¤³¤ì¤ò¾å½ñ¤­¤·¤Þ¤¹)¡£ .Fa start ¤ª¤è¤Ó .Fa end ¤Ë¥Ç¥Õ¥©¥ë¥ÈÃͤò»ØÄꤷ¤¿¾ì¹ç¡¢ .Fa count ¤¬¥Ç¥Õ¥©¥ë¥ÈÃͤè¤ê¤â¾®¤µ¤¤¤Ê¤é¤Ð¥Ç¥Õ¥©¥ë¥ÈÃͤ¬»ÈÍѤµ¤ì¡¢ .Fa count ¤¬¥Ç¥Õ¥©¥ë¥ÈÃͰʾå¤Ê¤é¤Ð count ¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£ .It .Fa flags ¤Ï»ñ¸»¤Î¤¿¤á¤Î¥Õ¥é¥°¤òÀßÄꤷ¤Þ¤¹¡£ °Ê²¼¤Î¥Õ¥é¥°¤ò 1 ¤Ä°Ê¾åÀßÄê¤Ç¤­¤Þ¤¹¡£ .Bl -tag -width RF_SHAREABLE .It Dv RF_ALLOCATED »ñ¸»¤Ï´û¤ËͽÌó¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ »ñ¸»¤Ï°ú³¤­ .Xr bus_activate_resource 9 ¤Ç³èÀ­²½¤µ¤ì¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ .It Dv RF_ACTIVE ÉÔ²Äʬ¤Ë¡¢»ñ¸»¤ò³èÀ­²½¤·¤Þ¤¹¡£ .It Dv RF_SHAREABLE »ñ¸»¤ÏƱ»þ¶¦Í­¤òµö²Ä¤·¤Þ¤¹¡£ ¤½¤Î»ñ¸»¤¬¶¦Í­ÉԲĤǤ¢¤ë¤³¤È¤òÃΤé¤Ê¤¤¾ì¹ç¡¢¾ï¤ËÀßÄꤵ¤ì¤ë¤Ù¤­¤Ç¤¹¡£ ¤½¤Î¥Ð¥¹¤¬¶¦Í­¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢ ¤³¤Î¥Õ¥é¥°¤ò¼è¤ê½ü¤¯¤Î¤Ï¥Ð¥¹¥É¥é¥¤¥Ð¤Î»Å»ö¤Ç¤¹¡£ Î㤨¤Ð¡¢ .Xr pccard 4 ¤Ï IRQ ¤ò¶¦Í­¤Ç¤­¤Þ¤»¤ó¤¬¡¢°ìÊý .Xr cardbus 4 ¤Ï¶¦Í­¤Ç¤­¤Þ¤¹¡£ .It Dv RF_TIMESHARE »ñ¸»¤Ï»þʬ³ä¶¦Í­¤òµö²Ä¤·¤Þ¤¹¡£ .El .El .Sh Ìá¤êÃÍ À®¸ù»þ¤Ë¤Ï .Va struct resource ¹½Â¤ÂΤؤΥݥ¤¥ó¥¿¤¬ÊÖ¤µ¤ì¡¢¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ï¥Ì¥ë¥Ý¥¤¥ó¥¿¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£ .Sh »ÈÍÑÎã ¤³¤ì¤Ï 32 ¥Ð¥¤¥È¤Î I/O ¥Ý¡¼¥ÈÈÏ°Ï¤È IRQ ¤ò³ä¤êÅö¤Æ¤ë¥µ¥ó¥×¥ë¤Î¥³¡¼¥É¤Ç¤¹¡£ .Va portid ¤ª¤è¤Ó .Va irqid ¤ÎÃͤϤ³¤ì¤é¤Î¸Æ¤Ó½Ð¤·¤Î¸å¤Ç¡¢¥Ç¥Ð¥¤¥¹¤Î softc ¤ÎÃæ¤ËÊݸ¤µ¤ì¤ë¤Ï¤º¤Ç¤¹¡£ .Bd -literal struct resource *portres, irqres; int portid, irqid; portid = 0; irqid = 0; portres = bus_alloc_resource(dev, SYS_RES_IOPORT, &portid, 0ul, ~0ul, 32, RF_ACTIVE); irqres = bus_alloc_resource_any(dev, SYS_RES_IRQ, &irqid, RF_ACTIVE | RF_SHAREABLE); .Ed .Sh ´ØÏ¢¹àÌÜ .Xr bus_activate_resource 9 , .Xr bus_release_resource 9 , .Xr device 9 , .Xr driver 9 .Sh ºî¼Ô ¤³¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ï .An Alexander Langer Aq alex@big.endian.de ¤¬½ñ¤­¡¢ÉôʬŪ¤Ë .An Warner Losh Aq imp@FreeBSD.ORG ¤¬½ñ¤­¤Þ¤·¤¿¡£ diff --git a/ja_JP.eucJP/man/man9/bus_child_present.9 b/ja_JP.eucJP/man/man9/bus_child_present.9 index 710c23a2af..e0c625efcb 100644 --- a/ja_JP.eucJP/man/man9/bus_child_present.9 +++ b/ja_JP.eucJP/man/man9/bus_child_present.9 @@ -1,90 +1,90 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 2003 M. Warner Losh .\" .\" 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/bus_child_present.9,v 1.2 2003/05/30 21:13:32 ru Exp % +.\" %FreeBSD: src/share/man/man9/bus_child_present.9,v 1.3 2004/06/21 14:11:45 mpp Exp % .\" .\" $FreeBSD$ .Dd March 27, 2003 .Dt BUS_CHILD_PRESENT 9 .Os .Sh ̾¾Î .Nm bus_child_present .Nd ¥Ð¥¹¥É¥é¥¤¥Ð¤Ø¤Î¥Ç¥Ð¥¤¥¹¤¬¼ÂºÝ¤Ë¸ºß¤·¤Æ¤¤¤ë¤«¤É¤¦¤«¤Î³Îǧ¤ÎÌ䤤¹ç¤ï¤» .Sh ½ñ¼° .In sys/param.h .In sys/bus.h .Pp .In machine/bus.h .In sys/rman.h .In machine/resource.h .Ft int .Fn bus_child_present "device_t dev" .Sh ²òÀâ .Fn bus_child_present ´Ø¿ô¤Ï¡¢ .Fa dev ¤Î¿Æ¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð¤ËÂФ·¡¢ .Fa dev ¤Çµ­½Ò¤µ¤ì¤ë¥Ï¡¼¥É¥¦¥§¥¢¤¬¸½»þÅÀ¤Ç¤¤¤Þ¤À¤ËʪÍýŪ¤Ë¥¢¥¯¥»¥¹²Äǽ¤Ç¤¢¤ë¤« ¤É¤¦¤«¤ò¥Á¥§¥Ã¥¯¤¹¤ë¤³¤È¤òÍ׵ᤷ¤Þ¤¹¡£ ÍøÍѲÄǽ¤Î³µÇ°¤Ï¥Ð¥¹Ëè¤Ë°Û¤Ê¤ê¤Þ¤¹¤¬¡¢ °ìÈÌŪ¤Ë¤ÏÍøÍѤǤ­¤Ê¤¤¥Ï¡¼¥É¥¦¥§¥¢¤È¤Ï¡¢ÍøÍѤǤ­¤ë¤È¤­¤Ë¤Ï .Fn bus_space* ¥á¥½¥Ã¥É¤ò²ð¤·¤Æ¥¢¥¯¥»¥¹¤Ç¤­¤ë¤â¤Î¤¬¡¢ .Fn bus_space* ¥á¥½¥Ã¥É¤ò²ð¤·¤Æ¥¢¥¯¥»¥¹¤Ç¤­¤Ê¤¤¤â¤Î¤ò»Ø¤·¤Þ¤¹¡£ .Pp ¤³¤ì¤Ï .Dq ¤³¤Î¥Ç¥Ð¥¤¥¹¤Ï»Ò¥Ç¥Ð¥¤¥¹¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¤«? ¤È¤¤¤¦¼ÁÌä¤ò¿Ò¤Í¤Þ¤»¤ó¡£ ¤³¤Î¼ÁÌä¤Ï .Xr device_get_children 9 ¤Ë¤è¤Ã¤Æ¤è¤êÎɤ¯²óÅú¤µ¤ì¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£ .Sh Ìá¤êÃÍ 0 ¤ÎÌá¤êÃͤϥ·¥¹¥Æ¥àÆâ¤Ë¤½¤Î¥Ç¥Ð¥¤¥¹¤¬Â¸ºß¤·¤Ê¤¤¤³¤È¤ò¼¨¤·¤Þ¤¹¡£ 0 ¤Ç¤Ï¤Ê¤¤Ìá¤êÃͤϥ·¥¹¥Æ¥àÆâ¤Ë¤½¤Î¥Ç¥Ð¥¤¥¹¤¬Â¸ºß¤¹¤ë¤³¤È¡¢¤Þ¤¿¤Ï ¤½¤Î¥Ç¥Ð¥¤¥¹¤Î¾õÂÖ¤¬·èÄê¤Ç¤­¤Ê¤¤¤³¤È¤ò¼¨¤·¤Þ¤¹¡£ .Sh »ÈÍÑÎã ¤³¤ì¤Ï¤¢¤ë¥µ¥ó¥×¥ë¥³¡¼¥É¤Ç¤¹¡£ .Xr dc 4 ¥Ç¥Ð¥¤¥¹¤¬¼ÂºÝ¤Ë¸ºß¤¹¤ë»þ¤Ë¡¢stop ¤ò¸Æ¤Ó½Ð¤¹¤À¤±¤Ç¤¹¡£ .Bd -literal -offset indent device_t dev; dc_softc *sc; sc = device_get_softc(dev); if (bus_child_present(dev)) dc_stop(sc); .Ed .Sh ´ØÏ¢¹àÌÜ .Xr device 9 , .Xr driver 9 .Sh ºî¼Ô ¤³¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ï .An Warner Losh Aq imp@FreeBSD.org ¤¬½ñ¤­¤Þ¤·¤¿¡£ diff --git a/ja_JP.eucJP/man/man9/bus_release_resource.9 b/ja_JP.eucJP/man/man9/bus_release_resource.9 index 69cb5e5a32..cc8e8f8d49 100644 --- a/ja_JP.eucJP/man/man9/bus_release_resource.9 +++ b/ja_JP.eucJP/man/man9/bus_release_resource.9 @@ -1,110 +1,110 @@ .\" -*- 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/bus_release_resource.9,v 1.8 2001/10/01 16:09:24 ru Exp % +.\" %FreeBSD: src/share/man/man9/bus_release_resource.9,v 1.9 2004/07/03 18:29:23 ru Exp % .\" .\" $FreeBSD$ .Dd May 18, 2000 .Dt BUS_RELEASE_RESOURCE 9 .Os .Sh ̾¾Î .Nm bus_release_resource .Nd ¥Ð¥¹¾å¤Î»ñ¸»¤Î²òÊü .Sh ½ñ¼° .In sys/param.h .In sys/bus.h .Pp .In machine/bus.h .In sys/rman.h .In machine/resource.h .Fd #include .Ft int .Fn bus_release_resource "device_t dev" "int type" "int rid" "struct resource *r" .Sh ²òÀâ .Xr bus_alloc_resource 9 ¤Ë¤è¤Ã¤Æ³ä¤êÅö¤Æ¤é¤ì¤¿»ñ¸»¤ò²òÊü¤·¤Þ¤¹¡£ ¤½¤Î»ñ¸»¤Ï²òÊü»þ¤Ë»ÈÍÑÃæ¤Ç¤¢¤Ã¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£ ¤¹¤Ê¤ï¤Á¡¢Å¬Àڤʴؿô (IRQ ¤Î¤¿¤á¤Î .Xr bus_teardown_intr 9 ¤Ê¤É) ¤ò»öÁ°¤Ë¸Æ¤Ó½Ð¤·¤Æ¤¯¤À¤µ¤¤¡£ .Bl -item .It .Fa dev ¤Ï¡¢»ñ¸»¤ò½êÍ­¤·¤Æ¤¤¤ë¥Ç¥Ð¥¤¥¹¤Ç¤¹¡£ .It .Fa type ¤Ï¡¢²òÊü¤µ¤ì¤ë»ñ¸»¤Î·¿¤Ç¤¹¡£ °ÊÁ°¤Ë³ä¤êÅö¤Æ¤¿»þ¤ÈƱ°ì¤Î·¿¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ Í­¸ú¤Ê·¿¤Ë¤Ä¤¤¤Æ¤Ï .Xr bus_alloc_resource 9 ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ .It .Fa rid ¤Ï¡¢»ñ¸»¤Î»ñ¸»¼±Ê̻ҤǤ¹¡£ .Fa rid ¤Ï .Xr bus_alloc_resource 9 ¤Ë¤è¤Ã¤ÆÊÖ¤µ¤ì¤¿¼±ÊÌ»Ò¤ÈÆ±°ì¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ .It .Fa r ¤Ï .Va struct resource ¹½Â¤ÂΤؤΥݥ¤¥ó¥¿¤Ç¡¢¤¹¤Ê¤ï¤Á .Xr bus_alloc_resource 9 ¤Ë¤è¤Ã¤ÆÊÖ¤µ¤ì¤¿»ñ¸»¤½¤Î¤â¤Î¤Ç¤¹¡£ .El .Sh Ìá¤êÃÍ ¥Ç¥Ð¥¤¥¹ .Fa dev ¤¬¿Æ¤ò»ý¤¿¤Ê¤¤¾ì¹ç¤Ë¤Ï .Er EINVAL ¤¬ÊÖ¤µ¤ì¡¢¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ï .Dv 0 ¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£ »ñ¸»¤ò²òÊü¤Ç¤­¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢¥«¡¼¥Í¥ë¤Ï¥Ñ¥Ë¥Ã¥¯¤¹¤ë¤Ç¤·¤ç¤¦¡£ .Sh »ÈÍÑÎã .Bd -literal /* IRQ ¤ÎÉÔ³èÀ­²½ */ bus_teardown_intr(dev, foosoftc->irqres, foosoftc->irqid); /* IRQ »ñ¸»¤Î²òÊü */ bus_release_resource(dev, SYS_RES_IRQ, foosoftc->irqid, foosoftc->irqres); /* Æþ½ÐÎϥݡ¼¥È¤Î»ñ¸»¤Î²òÊü */ bus_release_resource(dev, SYS_RES_IOPORT, foosoftc->portid, foosoftc->portres); .Ed .Sh ´ØÏ¢¹àÌÜ .Xr bus_alloc_resource 9 , .Xr device 9 , .Xr driver 9 .Sh ºî¼Ô ¤³¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ï .An Alexander Langer Aq alex@big.endian.de ¤¬½ñ¤­¤Þ¤·¤¿¡£ diff --git a/ja_JP.eucJP/man/man9/cd.9 b/ja_JP.eucJP/man/man9/cd.9 index 68a4ec3af0..65b51fd86c 100644 --- a/ja_JP.eucJP/man/man9/cd.9 +++ b/ja_JP.eucJP/man/man9/cd.9 @@ -1,127 +1,127 @@ .\" Copyright (c) 1997 .\" John-Mark Gurney. 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. Neither the name of the author nor the names of any co-contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY John-Mark Gurney 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/cd.9,v 1.20 2003/10/23 05:34:13 hmp Exp % +.\" %FreeBSD: src/share/man/man9/cd.9,v 1.22 2004/06/16 08:33:57 ru Exp % .\" .\" $FreeBSD$ .Dd September 2, 2003 .Dt CD 9 .Os .Sh ̾¾Î .Nm cd .Nd CAM SCSI ¥µ¥Ö¥·¥¹¥Æ¥à¤Î¤¿¤á¤Î CD-ROM ¥É¥é¥¤¥Ð .Sh ²òÀâ .Nm ¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð¤Ï CD-ROM ¥É¥é¥¤¥Ö .Tn ( SCSI type 5) ¤ª¤è¤Ó CD-ROM ¥¿¥¤¥×¤Î¥³¥Þ¥ó¥É¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë WORM ¥É¥é¥¤¥Ö .Tn ( SCSI type 4) ¤Î¤¿¤á¤ÎÆÉ¤ß¹þ¤ßÀìÍÑ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÄ󶡤·¤Þ¤¹¡£ ´ö¤Ä¤«¤Î¥É¥é¥¤¥Ö¤Ï¡¢¥É¥é¥¤¥Ð¤¬´üÂÔ¤·¤¿¤è¤¦¤Ë¤Ï¿¶Éñ¤¤¤Þ¤»¤ó¡£ »ÈÍѲÄǽ¤Ê¥Õ¥é¥°¤Î¾ðÊó¤Ï¡¢ .Sx ÊÊ ¤Î¾Ï¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ .Sh ÊÊ ¤½¤ì¤¾¤ì¤Î .Tn CD-ROM ¥Ç¥Ð¥¤¥¹¤Ï¡¢ .Tn SCSI »ÅÍͤò°Û¤Ê¤Ã¤¿¤è¤¦¤Ë²ò¼á¤·ÆÀ¤Þ¤¹¡£ ¤³¤ì¤Ë¤è¤ê¡¢¥É¥é¥¤¥ÐÃæ¤Ç¥É¥é¥¤¥Ö¤òÆÃḚ̂·¤¤¤¹¤ëɬÍ×À­¤¬È¯À¸¤·¤Þ¤¹¡£ ²¼µ­¤Ï¥É¥é¥¤¥Ð¤¬Ç§¼±¤¹¤ëÊʤΥꥹ¥È¤Ç¤¹¡£ .Bl -tag -width CD_Q_BCD_TRACKS .It Dv CD_Q_NO_TOUCH ¤³¤Î¥Õ¥é¥°¤Ï¡¢ ¥Ç¥£¥¹¥¯¤¬¥É¥é¥¤¥Ö¤ÎÃæ¤Ë¤¢¤ë¤«¤È¥µ¥¤¥º¤òÄ´ºº¤¹¤ë¤¿¤á¤Ë¡¢ ¥¢¥¿¥Ã¥Á»þ¤Ë¥×¥í¡¼¥Ö¤·¤Ê¤¤¤è¤¦¥É¥é¥¤¥Ð¤ËÄÌÃΤ·¤Þ¤¹¡£ ¸½ºß¤³¤Î¥Õ¥é¥°¤Ï¡¢CAM ¤Î .Nm ¥É¥é¥¤¥Ð¤Ç¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£ .It Dv CD_Q_BCD_TRACKS ¤³¤Î¥Õ¥é¥°¤Ï¡¢Àµ¤·¤¤ 10 ¿Ê¿ô¤Ç¤Ï¤Ê¤¯¥Ñ¥Ã¥¯¤µ¤ì¤¿ BCD ¤Ç¥È¥é¥Ã¥¯ÈÖ¹æ¤òÊÖ¤¹¡¢ ²õ¤ì¤¿¥É¥é¥¤¥ÖÍѤǤ¹¡£ ¥É¥é¥¤¥Ö¤¬¥È¥é¥Ã¥¯¤òÈô¤Ð¤·¤Æ¤¤¤ë (¥È¥é¥Ã¥¯ 10-15 ¤¬Èô¤Ð¤µ¤ì¤ë) ¤è¤¦¤Ê¾ì¹ç¤Ë¤Ï¡¢ ¤¢¤Ê¤¿¤Ï¤³¤Î¥Õ¥é¥°¤¬É¬Íפʥɥ饤¥Ö¤ò½êÍ­¤·¤Æ¤¤¤Þ¤¹¡£ .It Dv CD_Q_NO_CHANGER ¤³¤Î¥Õ¥é¥°¤Ï¡¢Åö³º¥É¥é¥¤¥Ö¤¬¥Á¥§¥ó¥¸¥ã¤Ç¤Ï¤Ê¤¤¤³¤È¤ò¡¢¥É¥é¥¤¥Ð¤ËÄÌÃΤ·¤Þ¤¹¡£ ¤³¤ì¤Ï¥Á¥§¥ó¥¸¥ã¤Î°ìÉô¤Ç¤Ï¤Ê¤¤¤¬Ê£¿ô¤Î LUN ¤ò»ý¤Ä CD-ROM ¥Ç¥Ð¥¤¥¹ ¤Ë¤À¤±É¬ÍפǤ¹¡£ .It Dv CD_Q_CHANGER ¤³¤Î¥Õ¥é¥°¤Ï¡¢Í¿¤¨¤é¤ì¤¿¥Ç¥Ð¥¤¥¹¤¬Ê£¿ô¤Î LUN ¤ò»ý¤Ä¥Á¥§¥ó¥¸¥ã¤Ç¤¢¤ë¤³¤È¤ò¡¢ ¥É¥é¥¤¥Ð¤ËÄÌÃΤ·¤Þ¤¹¡£ °ìÈÌŪ¤Ë¤Ï¡¢LUN ¤¬ 0 ¤è¤ê¤âÂ礭¤¤»þ¤Ë¤Ï¡¢¥É¥é¥¤¥Ð¤Ï¤³¤ì¤ò¼«Æ°Åª¤ËÍý²ò¤·¤Þ¤¹¡£ ¤³¤Î¥Õ¥é¥°¤òÀßÄꤹ¤ëÍ£°ì¤Î¸ú²Ì¤Ï¡¢¥Á¥§¥ó¥¸¥ã¤Î¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¥³¡¼¥É¤òÄ̤·¤Æ¡¢ ¥Á¥§¥ó¥¸¥ã¤Î LUN 0 ¤ËÂФ·¤Æ½é´ü¤ÎÍÆÎÌÆÉ¤ß¼è¤ê¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤³¤È¤ò¡¢ ¥É¥é¥¤¥Ð¤ËÄÌÃΤ¹¤ë¤³¤È¤Ç¤¹¡£ .It Dv CD_Q_10_BYTE_ONLY ¤³¤Î¥Õ¥é¥°¤Ï¡¢Í¿¤¨¤é¤ì¤¿¥Ç¥Ð¥¤¥¹¤¬ 10 ¥Ð¥¤¥È¤Î MODE SENSE/MODE SELECT ¥³¥Þ¥ó¥É ¤Î¤ß¤ò¼õ¤±ÉÕ¤±¤ë¤³¤È¤ò¡¢¥É¥é¥¤¥Ð¤ËÄÌÃΤ·¤Þ¤¹¡£ °ìÈÌŪ¤Ë¤³¤¦¤¤¤Ã¤¿ÊÊ¤Ï .Xr cd 4 ¥É¥é¥¤¥Ð¤ËÄɲ䵤ì¤ë¤Ù¤­¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ ¤½¤ÎÍýͳ¤Ï¡¢¥É¥é¥¤¥Ð¤ÏÌäÂê¤Î¥É¥é¥¤¥Ö¤¬ 10 ¥Ð¥¤¥È¥³¥Þ¥ó¥É¤òɬÍפȤ·¤Æ¤¤¤ë¤« ¤É¤¦¤«¤ò´ö¤Ä¤«¤ÎÊýË¡¤Ç·èÄꤷ¤è¤¦¤È¤¹¤ë¤¿¤á¤Ç¤¹¡£ ºÇ½é¤Ë¥É¥é¥¤¥Ð¤Ï¡¢¥É¥é¥¤¥Ö¤¬°ìÈÌŪ¤ËÏä¹¥×¥í¥È¥³¥ë¤¬ 10 ¥Ð¥¤¥È¥³¥Þ¥ó¥É¤ò ǧ¤á¤ë¤«¤É¤¦¤«¤ò·èÄꤹ¤ë¤¿¤á¤Ë CAM Path Inquiry (CAM ¥Ñ¥¹¾È²ñ) ¥³¥Þ¥ó¥É¤ò ȯ¹Ô¤·¤Þ¤¹¡£ (ATAPI ¤ª¤è¤Ó USB ¤Ï°ìÈÌŪ¤Ë 10 ¥Ð¥¤¥È¥³¥Þ¥ó¥É¤Î¤ß¤òÁ÷¤ê¤¿¤¤ ¥×¥í¥È¥³¥ë¤Î 2 ¤Ä¤Î¸²Ãø¤ÊÎã¤Ç¤¹¡£) ¤½¤ì¤«¤é¡¢6 ¥Ð¥¤¥È¤Î MODE SENSE ¤Þ¤¿¤Ï MODE REQUEST ¥³¥Þ¥ó¥É ¤«¤é ILLEGAL REQUEST ¥¨¥é¡¼¤¬ÊÖ¤µ¤ì¤¿¾ì¹ç¤Ë¤Ï¡¢Âå¤ï¤ê¤Ë ¤½¤Î¥³¥Þ¥ó¥É¤Î 10 ¥Ð¥¤¥È¥Ð¡¼¥¸¥ç¥ó¤òÁ÷¤í¤¦¤È¤·¤Þ¤¹¡£ Êʤ¬É¬Íפˤʤë¤À¤í¤¦Í£°ì¤ÎÍýͳ¤Ï¡¢¥É¥é¥¤¥Ö¤¬°ìÈÌŪ¤Ë 6 ¥Ð¥¤¥È¥³¥Þ¥ó¥É¤ËÌäÂê¤ò »ý¤Ã¤Æ¤¤¤Ê¤¤¥×¥í¥È¥³¥ë (Î㤨¤Ð .Tn SCSI ) ¤Î¾ì¹ç¤Ç¤¹¡£ .El .Sh ´ØÏ¢¥Õ¥¡¥¤¥ë .Bl -tag -width /sys/cam/scsi/scsi_cd.c -compact .It Pa /sys/cam/scsi/scsi_cd.c ¥É¥é¥¤¥Ð¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ç¤¹¡£ .El .Sh ´ØÏ¢¹àÌÜ .Xr cd 4 , .Xr scsi 4 .Sh Îò»Ë .Nm ¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ï .Fx 2.2 ¤Ç½é¤á¤ÆÅо줷¤Þ¤·¤¿¡£ .Sh ºî¼Ô .An -nosplit ¤³¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ï .An John-Mark Gurney Aq gurney_j@efn.org ¤¬½ñ¤­¤Þ¤·¤¿¡£ CAM ¤È .Fx 3.0 ¤Î¤¿¤á¤Ë .An Kenneth Merry Aq ken@FreeBSD.org ¤¬¹¹¿·¤·¤Þ¤·¤¿¡£ diff --git a/ja_JP.eucJP/man/man9/condvar.9 b/ja_JP.eucJP/man/man9/condvar.9 index 0dd80d2792..1949cbf4c1 100644 --- a/ja_JP.eucJP/man/man9/condvar.9 +++ b/ja_JP.eucJP/man/man9/condvar.9 @@ -1,208 +1,208 @@ .\" .\" Copyright (C) 2000 Jason Evans . 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(s), this list of conditions and the following disclaimer as .\" the first lines of this file unmodified other than the possible .\" addition of one or more copyright notices. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice(s), 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 COPYRIGHT HOLDER(S) ``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 COPYRIGHT HOLDER(S) 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/condvar.9,v 1.9 2004/03/10 15:57:25 jhb Exp % +.\" %FreeBSD: src/share/man/man9/condvar.9,v 1.10 2004/06/21 14:11:45 mpp Exp % .\" .\" $FreeBSD$ .Dd December 11, 2000 .Dt CONDVAR 9 .Os .Sh ̾¾Î .Nm condvar , .Nm cv_init , .Nm cv_destroy , .Nm cv_wait , .Nm cv_wait_sig , .Nm cv_timedwait , .Nm cv_timedwait_sig , .Nm cv_signal , .Nm cv_broadcast , .Nm cv_broadcastpri , .Nm cv_wmesg .Nd ¥«¡¼¥Í¥ë¾õÂÖÊÑ¿ô .Sh ½ñ¼° .In sys/param.h .In sys/proc.h .In sys/condvar.h .Ft void .Fn cv_init "struct cv *cvp" "const char *desc" .Ft void .Fn cv_destroy "struct cv *cvp" .Ft void .Fn cv_wait "struct cv *cvp" "struct mtx *mp" .Ft int .Fn cv_wait_sig "struct cv *cvp" "struct mtx *mp" .Ft int .Fn cv_timedwait "struct cv *cvp" "struct mtx *mp" "int timo" .Ft int .Fn cv_timedwait_sig "struct cv *cvp" "struct mtx *mp" "int timo" .Ft void .Fn cv_signal "struct cv *cvp" .Ft void .Fn cv_broadcast "struct cv *cvp" .Ft void .Fn cv_broadcastpri "struct cv *cvp" "int pri" .Ft const char * .Fn cv_wmesg "struct cv *cvp" .Sh ²òÀâ ¾õÂÖÊÑ¿ô¤Ï mutex ¤ÈÏ¢·È¤·¤Æ¾õÂÖ¤ÎȯÀ¸¤òÂԤĤ¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ ¾õÂÖÊÑ¿ô¤Ï .Fn cv_init ¤ò»ÈÍѤ·¤ÆºîÀ®¤µ¤ì¤Þ¤¹¡£ ¤³¤³¤Ç .Fa cvp ¤Ï .Vt struct cv ¤Î¤¿¤á¤ÎÎÎ°è¤Ø¤Î¥Ý¥¤¥ó¥¿¡¢ .Fa desc ¤Ï¤½¤Î¾õÂÖÊÑ¿ô¤òÀâÌÀ¤¹¤ë¥Ì¥ë¤Ç½ªÃ¼¤µ¤ì¤¿Ê¸»úÎó¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¹¡£ ¾õÂÖÊÑ¿ô¤Ï .Fn cv_destroy ¤ò»ÈÍѤ·¤ÆÇ˲õ¤µ¤ì¤Þ¤¹¡£ ¥¹¥ì¥Ã¥É¤Ï .Fn cv_wait , .Fn cv_wait_sig , .Fn cv_timedwait ¤Þ¤¿¤Ï .Fn cv_timedwait_sig ¤Î¸Æ¤Ó½Ð¤·¤Ë¤è¤Ã¤Æ¡¢¾õÂÖÊÑ¿ô¾å¤Ç¥¦¥§¥¤¥È¤·¤Þ¤¹¡£ ¥¹¥ì¥Ã¥É¤Ï¡¢ 1 ¤Ä¤Î¥¦¥§¥¤¥È¤Î¥Ö¥í¥Ã¥¯¤ò²ò½ü¤¹¤ë¤¿¤á¤Ë¤Ï .Fn cv_signal ¤Î¡¢¤Þ¤¿¤ÏÁ´¤Æ¤Î¥¦¥§¥¤¥È¤Î¥Ö¥í¥Ã¥¯¤ò²ò½ü¤¹¤ë¤Ë¤Ï .Fn cv_broadcast ¤Þ¤¿¤Ï .Fn cv_broadcastpri ¤Î¸Æ¤Ó½Ð¤·¤Ë¤è¤Ã¤Æ¥¦¥§¥¤¥È¤Î¥Ö¥í¥Ã¥¯²ò½ü¤ò¹Ô¤¤¤Þ¤¹¡£ ¥¦¥§¥¤¥¿¤òµ¯¤³¤¹¤Î¤Ë²Ã¤¨¤Æ¡¢ .Fn cv_broadcastpri ¤Ï¡¢¹â¤¤Í¥ÀèÅÙ¤ò»ý¤Ã¤Æ¤¤¤Ê¤¤Á´¤Æ¤Î¥¹¥ì¥Ã¥É¤ÎÍ¥ÀèÅÙ¤ò¾å¤²¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢ Á´¤Æ¤Î¥¦¥§¥¤¥¿¤¬ºÇÄã¤Ç¤â .Fa pri ¤ÎÍ¥ÀèÅÙ¤ò»ý¤Ä¤³¤È¤òÊݾڤ·¤Þ¤¹¡£ .Fn cv_wmesg ¤Ï .Fn cv_init ¤Ø¤ÎºÇ½é¤Î¸Æ¤Ó½Ð¤·¤Ë¤è¤Ã¤ÆÀßÄꤵ¤ì¤¿ .Fa cvp ¤ÎÀâÌÀʸ»úÎó¤òÊÖ¤·¤Þ¤¹¡£ .Pp ¥¹¥ì¥Ã¥É¤Ï .Fn cv_wait , .Fn cv_wait_sig , .Fn cv_timedwait ¤Þ¤¿¤Ï .Fn cv_timedwait_sig ¤Î¸Æ¤Ó½Ð¤·¤ÎÁ°¤Ë .Fa mp ¤òÊÝ»ý¤·¤Ê¤±¤ì¤Ð¤Ê¤·¤Þ¤»¤ó¡£ ¥¹¥ì¥Ã¥É¤¬¤¢¤ë¾õÂ֤ǥ¦¥§¥¤¥È¤¹¤ë¤È¤­¤Ë¡¢ .Fa mp ¤Ï¤½¤Î¥¹¥ì¥Ã¥É¤¬¥Ö¥í¥Ã¥¯¤µ¤ì¤ëÁ°¤ËÉÔ²Äʬ¤Ë³«Êü¤µ¤ì¡¢¤½¤ì¤«¤é ¤½¤Î´Ø¿ô¸Æ¤Ó½Ð¤·¤¬Ìá¤ëÁ°¤ËÉÔ²Äʬ¤ËºÆ³ÍÆÀ¤µ¤ì¤Þ¤¹¡£ Á´¤Æ¤Î¥¦¥§¥¤¥È¤¹¤ë¤â¤Î¤Ï .Fa cvp ¤ÈÏ¢·È¤·¤Æ¤¤¤ëƱ°ì¤Î .Fa mp ¤òÅϤµ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ ¥¹¥ì¥Ã¥É¤Ï .Fn cv_signal , .Fn cv_broadcast ¤Þ¤¿¤Ï .Fn cv_broadcastpri ¤ò¸Æ¤Ó½Ð¤·¤Æ¤¤¤ë´Ö¤Ï¡¢¤¿¤È¤¨°ú¿ô¤È¤·¤ÆÅϤ·¤Æ¤¤¤Ê¤¤¤È¤·¤Æ¤â¡¢ .Fa mp ¤òÊÝ»ý¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ .Pp .Fn cv_wait , .Fn cv_wait_sig , .Fn cv_timedwait ¤ª¤è¤Ó .Fn cv_timedwait_sig ¤Î¥Ö¥í¥Ã¥¯¤¬²ò½ü¤µ¤ì¤¿»þ¤Ë¡¢¤³¤ì¤é¤Î¸Æ¤Ó½Ð¤·¥¹¥ì¥Ã¥É¤¬¼Â¹Ô²Äǽ¤Ë¤µ¤ì¤Þ¤¹¡£ .Fn cv_timedwait ¤ª¤è¤Ó .Fn cv_timedwait_sig ¤Ï¥Ö¥í¥Ã¥¯¤¬²ò½ü¤µ¤ì .Er EWOULDBLOCK ¤òÊÖ¤¹Á°¤ËºÇĹ .Fa timo / .Dv HZ Éô֥¦¥§¥¤¥È¤·¤Þ¤¹¡£ ¤½¤¦¤Ç¤Ê¤±¤ì¤Ð¡¢0 ¤òÊÖ¤·¤Þ¤¹¡£ .Fn cv_wait_sig ¤ª¤è¤Ó .Fn cv_timedwait_sig ¤Ï¡¢¥·¥°¥Ê¥ë¤¬¤È¤é¤¨¤é¤ì¤¿¾ì¹ç¤Ë¤Ï̤´°¤Î¤Þ¤Þ .Er EINTR ¤Þ¤¿¤Ï .Er ERESTART ¤ÎÃͤÇÌá¤ê¤Þ¤¹¡£ ¤Þ¤¿¤Ï¡¢ .Fn cv_signal ¤Þ¤¿¤Ï .Fn cv_broadcast ¤ÇÄÌÃΤò¼õ¤±¤¿¾ì¹ç¤Ë¤Ï 0 ¤ÎÃͤÇÌá¤ê¤Þ¤¹¡£ .Sh Ìá¤êÃÍ À®¸ù¤Î¾ì¹ç¤Ë¤Ï¡¢ .Fn cv_wait_sig , .Fn cv_timedwait ¤ª¤è¤Ó .Fn cv_timedwait_sig ¤Ï 0 ¤òÊÖ¤·¤Þ¤¹¡£ ¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢0 ¤Ç¤Ï¤Ê¤¤¥¨¥é¡¼¥³¡¼¥É¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£ .Pp .Fn cv_wmesg ¤Ï .Fn cv_init ¤ËÅϤµ¤ì¤¿ÀâÌÀʸ»úÎó¤òÊÖ¤·¤Þ¤¹¡£ .Sh ¥¨¥é¡¼ .Fn cv_wait_sig ¤ª¤è¤Ó .Fn cv_timedwait_sig ¤Ï°Ê²¼¤Î¾ì¹ç¤Ë¼ºÇÔ¤·¤Þ¤¹¡£ .Bl -tag -width Er .It Bq Er EINTR ¥Þ¥¹¥¯¤µ¤ì¤Æ¤¤¤Ê¤¤¥·¥°¥Ê¥ë¤¬¤Ä¤«¤Þ¤ê¤Þ¤·¤¿¡£ .It Bq Er ERESTART ¥Þ¥¹¥¯¤µ¤ì¤Æ¤¤¤ë¥·¥°¥Ê¥ë¤¬¤Ä¤«¤Þ¤ê¤Þ¤·¤¿¡£ .El .Pp .Fn cv_timedwait ¤ª¤è¤Ó .Fn cv_timedwait_sig ¤Ï°Ê²¼¤Î¾ì¹ç¤Ë¼ºÇÔ¤·¤Þ¤¹¡£ .Bl -tag -width Er .It Bq Er EWOULDBLOCK ¥¿¥¤¥à¥¢¥¦¥È¤¬Ëþλ¤·¤Þ¤·¤¿¡£ .El .Sh ´ØÏ¢¹àÌÜ .Xr msleep 9 , .Xr mtx_pool 9 , .Xr mutex 9 , .Xr sema 9 , .Xr sx 9 diff --git a/ja_JP.eucJP/man/man9/copy.9 b/ja_JP.eucJP/man/man9/copy.9 index 90c0d5d468..dc434ef59c 100644 --- a/ja_JP.eucJP/man/man9/copy.9 +++ b/ja_JP.eucJP/man/man9/copy.9 @@ -1,155 +1,151 @@ .\" %NetBSD: copy.9,v 1.2 1996/01/09 03:23:04 thorpej Exp % .\" .\" Copyright (c) 1996 Jason R. Thorpe. .\" 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 NetBSD Project .\" by Jason R. Thorpe. .\" 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/copy.9,v 1.14 2004/03/29 19:42:21 hmp Exp % +.\" %FreeBSD: src/share/man/man9/copy.9,v 1.15 2004/06/16 08:33:57 ru Exp % .\" .\" $FreeBSD$ .Dd January 7, 1996 .Dt COPY 9 .Os .Sh ̾¾Î .Nm copy , .Nm copyin , .Nm copyout , .Nm copystr , .Nm copyinstr .\" .Nm copyinstr , .\" .Nm copyoutstr .Nd ¥«¡¼¥Í¥ë¥³¥Ô¡¼´Ø¿ô .Sh ½ñ¼° .In sys/types.h .In sys/systm.h .Ft int .Fn copyin "const void *uaddr" "void *kaddr" "size_t len" .Ft int .Fn copyout "const void *kaddr" "void *uaddr" "size_t len" .Ft int .Fn copystr "const void *kfaddr" "void *kdaddr" "size_t len" "size_t *done" .Ft int .Fn copyinstr "const void *uaddr" "void *kaddr" "size_t len" "size_t *done" .\" .Ft int .\" .Fn copyoutstr "const void *kaddr" "void *uaddr" "size_t len" "size_t *done" .Sh ²òÀâ .Nm ´Ø¿ô·²¤ÏϢ³¤·¤¿¥Ç¡¼¥¿¤ò¤¢¤ë¥¢¥É¥ì¥¹¤«¤é Ê̤Υ¢¥É¥ì¥¹¤Ø¥³¥Ô¡¼¤¹¤ë¤è¤¦¥Ç¥¶¥¤¥ó¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ .Fn copystr °Ê³°¤Î´Ø¿ô¤Ï¡¢¥æ¡¼¥¶¶õ´Ö¤«¤é¥«¡¼¥Í¥ë¶õ´Ö¤Ø¡¢ ¤¢¤ë¤¤¤ÏÈ¿Âиþ¤­¤Ë¥Ç¡¼¥¿¤ò¥³¥Ô¡¼¤·¤Þ¤¹¡£ .Pp .Nm ´Ø¿ô·²¤Ï°Ê²¼¤Îµ¡Ç½¤òÄ󶡤·¤Þ¤¹¡£ .Bl -tag -width "copyoutstr()" .It Fn copyin ¥æ¡¼¥¶¶õ´Ö¤Î¥¢¥É¥ì¥¹ .Fa uaddr ¤«¤é¥«¡¼¥Í¥ë¶õ´Ö¤Î¥¢¥É¥ì¥¹ .Fa kaddr ¤Ø .Fa len ¥Ð¥¤¥È¤Î¥Ç¡¼¥¿¤ò¥³¥Ô¡¼¤·¤Þ¤¹¡£ .It Fn copyout ¥«¡¼¥Í¥ë¶õ´Ö¤Î¥¢¥É¥ì¥¹ .Fa kaddr ¤«¤é¥æ¡¼¥¶¶õ´Ö¤Î¥¢¥É¥ì¥¹ .Fa uaddr ¤Ø .Fa len ¥Ð¥¤¥È¤Î¥Ç¡¼¥¿¤ò¥³¥Ô¡¼¤·¤Þ¤¹¡£ .It Fn copystr ¥«¡¼¥Í¥ë¶õ´Ö¤Î¥¢¥É¥ì¥¹ .Fa kfaddr ¤«¤é¥«¡¼¥Í¥ë¶õ´Ö¤Î¥¢¥É¥ì¥¹ .Fa kdaddr ¤Ø¥Ì¥ëʸ»ú¤Ç½ªÃ¼¤µ¤ì¤¿ºÇÂç .Fa len ʸ»ú¤Îʸ»úÎó¤ò¥³¥Ô¡¼¤·¤Þ¤¹¡£ ËöÈø¤Î¥Ì¥ëʸ»ú¤ò´Þ¤à¼ÂºÝ¤Ë¥³¥Ô¡¼¤µ¤ì¤¿Ê¸»ú¿ô¤¬ .Fa *done ¤ËÊÖ¤µ¤ì¤Þ¤¹ -.Po -.Fa done +.Fa ( done ¤¬ .Dv NULL -¤Ç¤Ï¤Ê¤¤¾ì¹ç -.Pc Ns ¡£ +¤Ç¤Ï¤Ê¤¤¾ì¹ç)¡£ .It Fn copyinstr ¥æ¡¼¥¶¶õ´Ö¤Î¥¢¥É¥ì¥¹ .Fa uaddr ¤«¤é¥«¡¼¥Í¥ë¶õ´Ö¤Î¥¢¥É¥ì¥¹ .Fa kaddr ¤Ø¥Ì¥ëʸ»ú¤Ç½ªÃ¼¤µ¤ì¤¿ºÇÂç .Fa len ʸ»ú¤Îʸ»úÎó¤ò¥³¥Ô¡¼¤·¤Þ¤¹¡£ ËöÈø¤Î¥Ì¥ëʸ»ú¤ò´Þ¤à¼ÂºÝ¤Ë¥³¥Ô¡¼¤µ¤ì¤¿Ê¸»ú¿ô¤¬ .Fa *done ¤ËÊÖ¤µ¤ì¤Þ¤¹ -.Po -.Fa done +.Fa ( done ¤¬ .Dv NULL -¤Ç¤Ï¤Ê¤¤¾ì¹ç -.Pc Ns ¡£ +¤Ç¤Ï¤Ê¤¤¾ì¹ç)¡£ .\" .It Fn copyoutstr .\" ¥«¡¼¥Í¥ë¶õ´Ö¤Î¥¢¥É¥ì¥¹ .\" .Fa kaddr .\" ¤«¤é¥æ¡¼¥¶¶õ´Ö¤Î¥¢¥É¥ì¥¹ .\" .Fa uaddr .\" ¤Ø¥Ì¥ëʸ»ú¤Ç½ªÃ¼¤µ¤ì¤¿ºÇÂç .\" .Fa len .\" ʸ»ú¤Îʸ»úÎó¤ò¥³¥Ô¡¼¤·¤Þ¤¹¡£ .\" ËöÈø¤Î¥Ì¥ëʸ»ú¤ò´Þ¤à¼ÂºÝ¤Ë¥³¥Ô¡¼¤µ¤ì¤¿Ê¸»ú¿ô¤¬ .\" .Fa *done .\" ¤ËÊÖ¤µ¤ì¤Þ¤¹¡£ .El .Sh Ìá¤êÃÍ ¤½¤ì¤¾¤ì¤Î .Nm ´Ø¿ô¤ÏÀ®¸ù¤·¤¿»þ¤Ë 0 ¤ò¡¢ÉÔÀµ¤Ê¥¢¥É¥ì¥¹¤ËÁø¶ø¤·¤¿»þ¤Ë .Er EFAULT ¤òÊÖ¤·¤Þ¤¹¡£ ¤µ¤é¤Ë¡¢ .Fn copystr ¤ª¤è¤Ó .Fn copyinstr .\"¡¢ .\" .Fn copyoutstr ´Ø¿ô¤Ïʸ»úÎó¤¬ .Fa len ¥Ð¥¤¥È¤è¤ê¤âŤ¤»þ¤Ë .Er ENAMETOOLONG ¤òÊÖ¤·¤Þ¤¹¡£ .Sh ´ØÏ¢¹àÌÜ .Xr fetch 9 , .Xr store 9 diff --git a/ja_JP.eucJP/man/man9/device_add_child.9 b/ja_JP.eucJP/man/man9/device_add_child.9 index af8dc966d4..8e0dc7fab0 100644 --- a/ja_JP.eucJP/man/man9/device_add_child.9 +++ b/ja_JP.eucJP/man/man9/device_add_child.9 @@ -1,99 +1,114 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1998 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/device_add_child.9,v 1.16 2003/10/23 06:19:45 hmp Exp % +.\" %FreeBSD: src/share/man/man9/device_add_child.9,v 1.19 2004/07/03 18:29:23 ru Exp % .\" .\" $FreeBSD$ -.Dd June 16, 1998 +.Dd May 13, 2004 .Dt DEVICE_ADD_CHILD 9 .Os .Sh ̾¾Î .Nm device_add_child , .Nm device_add_child_ordered .Nd ¸ºß¤·¤Æ¤¤¤ë¥Ç¥Ð¥¤¥¹¤Î»Ò¤È¤·¤Æ¿·¤·¤¤¥Ç¥Ð¥¤¥¹¤òÄɲà .Sh ½ñ¼° .In sys/param.h .In sys/bus.h .Ft device_t .Fn device_add_child "device_t dev" "const char *name" "int unit" .Ft device_t .Fn device_add_child_ordered "device_t dev" "int order" "const char *name" "int unit" .Sh ²òÀâ .Fa dev ¤Î¿·¤·¤¤»Ò¥Ç¥Ð¥¤¥¹¤òÄɲä·¤Þ¤¹¡£ .Fa name ¤ª¤è¤Ó .Fa unit °ú¿ô¤Ï¥Ç¥Ð¥¤¥¹¤Î̾Á°¤È¥æ¥Ë¥Ã¥ÈÈÖ¹æ¤ò»ØÄꤷ¤Þ¤¹¡£ ̾Á°¤¬ÉÔÌÀ¤Î¾ì¹ç¤Ë¤Ï¡¢¸Æ¤Ó½Ð¤·Â¦¤Ï .Dv NULL ¤òÅϤ¹¤Ù¤­¤Ç¤¹¡£ ¥æ¥Ë¥Ã¥ÈÈֹ椬ÉÔÌÀ¤Î¾ì¹ç¤Ë¤Ï¡¢¸Æ¤Ó½Ð¤·Â¦¤Ï .Dv -1 ¤òÅϤ¹¤Ù¤­¤Ç¡¢¥·¥¹¥Æ¥à¤Ï¼¡¤Î»ÈÍѲÄǽ¤Ê¥æ¥Ë¥Ã¥ÈÈÖ¹æ¤òÁªÂò¤¹¤ë¤Ç¤·¤ç¤¦¡£ .Pp ¥Ç¥Ð¥¤¥¹¤Î̾Á°¤Ï¡¢¤É¤Î¥É¥é¥¤¥Ð¤¬¤½¤Î¥Ç¥Ð¥¤¥¹¤ËŬÀڤǤ¢¤ë¤«¤ò ·èÄꤹ¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ ̾Á°¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢¤½¤Î̾Á°¤Î¥É¥é¥¤¥Ð¤Î¤ß¤¬¥×¥í¡¼¥Ö¤µ¤ì¤Þ¤¹¡£ ̾Á°¤¬Í¿¤¨¤é¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¤Ë¤Ï¡¢ ǧ¼±¤·¤Æ¤¤¤ë¥Ð¥¹¤ÎÁ´¤Æ¤Î¥É¥é¥¤¥Ð¤¬¥×¥í¡¼¥Ö¤µ¤ì¤Þ¤¹¡£ +Á´¤Æ¤Î¥¤¥Ù¥ó¥È¤Ç¡¢¤½¤Î̾Á°¤Ë·ë¤ÓÉÕ¤¤¤Æ¤¤¤ë¥É¥é¥¤¥Ð¤Î¥í¡¼¥É¤È¥¢¥ó¥í¡¼¥É¤¬ +°ÂÁ´¤Ë¤Ç¤­¤ë¤è¤¦¤Ë¡¢¤½¤Î¥Ç¥Ð¥¤¥¹¤Î̾Á°¤Î¤ß¤¬³ÊǼ¤µ¤ì¤Þ¤¹¡£ .Pp ¤³¤ì¤Ï¡¢¥Ç¥Ð¥¤¥¹¥¤¥ó¥¹¥¿¥ó¥¹¤òÆÈ¼«¤Ë¼±Ê̤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¥Ð¥¹ (PCI Åù) ¤¬¡¢ ¸Ä¡¹¤Î¥É¥é¥¤¥Ð¤¬¸Ä¡¹¤Î¥Ç¥Ð¥¤¥¹¥¤¥ó¥¹¥¿¥ó¥¹¤ËŬ¹ç¤·¤Æ¤¤¤ë¤« ¥Á¥§¥Ã¥¯²Äǽ¤Ë¤·¤Þ¤¹¡£ ¶¡µë¤µ¤ì¤¿¥×¥í¡¼¥Ö¥Ò¥ó¥È¤Ë°Í¸¤·¤Æ¡¢ ¤¿¤Ã¤¿ 1 ¤Ä¤Î¥É¥é¥¤¥Ð¤¬¥Ç¥Ð¥¤¥¹¤ò¥×¥í¡¼¥Ö²Äǽ¤Ê¥Ð¥¹¤Ç¤Ï¡¢ ¥É¥é¥¤¥Ð¤Î̾Á°¤Ï¥Ç¥Ð¥¤¥¹¤Î̾Á°¤È¤·¤Æ»ØÄꤵ¤ì¤ë¤Ù¤­¤Ç¤¹¡£ .Pp Ä̾¥æ¥Ë¥Ã¥ÈÈÖ¹æ¤Ï¥·¥¹¥Æ¥à¤Ë¤è¤Ã¤Æ¼«Æ°Åª¤ËÁªÂò¤µ¤ì¤Þ¤¹¤Î¤Ç¡¢¥æ¥Ë¥Ã¥ÈÈÖ¹æ¤Ï .Dv -1 ¤¬Í¿¤¨¤é¤ì¤ë¤Ù¤­¤Ç¤¹¡£ -»ØÄê¤Î¥æ¥Ë¥Ã¥ÈÈֹ椬´õ˾¤µ¤ì¤¿»þ¤Ë (Î㤨¤Ð¡¢¥Ï¡¼¥É¥¦¥§¥¢¤Î°ìÉôʬ¤ò +»ØÄê¤Î¥æ¥Ë¥Ã¥ÈÈֹ椬´õ˾¤µ¤ì¤¿»þ¤Ë (Î㤨¤Ð¥Ï¡¼¥É¥¦¥§¥¢¤Î°ìÉôʬ¤ò ¤¢¤é¤«¤¸¤áÀßÄꤵ¤ì¤¿¥æ¥Ë¥Ã¥ÈÈÖ¹æ¤Ë·ë¤Ó¤Ä¤±¤ë¤¿¤á)¡¢unit ¤ÏÅϤµ¤ì¤ë¤Ù¤­¤Ç¤¹¡£ »ØÄꤵ¤ì¤¿¥æ¥Ë¥Ã¥ÈÈֹ椬´û¤Ë³ä¤êÅö¤Æ¤é¤ì¤Æ¤¤¤¿¾ì¹ç¤Ë¤Ï¡¢¿·¤·¤¤¥æ¥Ë¥Ã¥ÈÈֹ椬 ³ä¤êÅö¤Æ¤é¤ì¡¢¿ÇÃÇ¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ .Pp -»ØÄê¤Î½ç½ø¤Ç¥×¥í¡¼¥Ö¤µ¤ì¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¥Ð¥¹ (Î㤨¤Ð¡¢ISA ¥Ð¥¹ÍѤδö¤Ä¤«¤Î +»ØÄê¤Î½ç½ø¤Ç¥×¥í¡¼¥Ö¤µ¤ì¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¥Ð¥¹ (Î㤨¤Ð ISA ¥Ð¥¹ÍѤδö¤Ä¤«¤Î ¥Ç¥Ð¥¤¥¹¤Ï´ØÏ¢¤Î̵¤¤¥É¥é¥¤¥Ð¤Î¥×¥í¡¼¥Ö¤Î»î¤ß¤Î¼ºÇÔ¤ËÉÒ´¶¤Ç¡¢¤½¤ì¤æ¤¨ ºÇ½é¤Ë¥×¥í¡¼¥Ö¤µ¤ì¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤) ¤Ë¥¢¥¿¥Ã¥Á¤µ¤ì¤¿¥Ç¥Ð¥¤¥¹¤Î¾ì¹ç¤Ë¤Ï¡¢ .Fn device_add_child_ordered ¤Î .Fa order °ú¿ô¤¬È¾½ç½ø¤ò»ØÄꤹ¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤ë¤Ù¤­¤Ç¤¹¡£ ¿·¤·¤¤¥Ç¥Ð¥¤¥¹¤Ï¡¢ ´û¸¤Î¤è¤êÂ礭¤¤½ç½ø¤ò»ý¤Ä¤¹¤Ù¤Æ¤Î¥Ç¥Ð¥¤¥¹¤ÎÁ°¤ËÄɲ䵤ì¤Þ¤¹¡£ .Fn device_add_child ¤¬»ÈÍѤµ¤ì¤¿¾ì¹ç¤Ë¤Ï¡¢½ç½ø¤¬ 0 ¤Ç¤¢¤ë¤È¤·¤Æ¿·¤·¤¤»Ò¤¬Äɲ䵤ì¤Þ¤¹¡£ +.Pp +.Xr DEVICE_IDENTIFY 9 +¥ë¡¼¥Á¥ó¤Î¥³¥ó¥Æ¥­¥¹¥È¤Ç¥Ç¥Ð¥¤¥¹¤òÄɲ乤ë¤È¤­¤Ë¤Ï¡¢ +¤½¤Î¥Ç¥Ð¥¤¥¹¤¬´û¤Ë¥Ä¥ê¡¼¤ËÄɲäµ¤ì¤Æ¤¤¤Ê¤¤¤³¤È¤òÊݾڤ¹¤ë¤¿¤á¤Ë +¤¤¤¯¤Ä¤«¤ÎÃí°Õ¤¬Ê§¤ï¤ì¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ +¤Ê¤¼¤Ê¤é¤Ð¡¢¤½¤Î¥Ç¥Ð¥¤¥¹¤Î̾Á°¤È +.Vt devclass_t +¤Ï¥×¥í¡¼¥Ö»þ¤Ë (»Ò¤ÎÄɲûþ¤Ç¤Ï¤Ê¤¯) ´ØÏ¢ÉÕ¤±¤é¤ì¡¢(¥â¥¸¥å¡¼¥ë¤ÎÃæ¤Ç +¸å¤Ç¥¢¥ó¥í¡¼¥É¤µ¤ì¤¿¤È¼¨¤µ¤ì¤Æ¤¤¤ë) ¤½¤Î¥É¥é¥¤¥Ð¤ÎÁ°¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤¬ +´û¤ËÄɲäµ¤ì¤Æ¤¤¤ë¤«¤â¤·¤ì¤Ê¤¤¤«¤é¤Ç¤¹¡£ +¥Ð¥¹¥É¥é¥¤¥Ð¤Îºî¼Ô¤ÏƱÍͤˡ¢ +»Ò¥Ç¥Ð¥¤¥¹¤ÎÊ£À½¤òÈò¤±¤ë¤¿¤á¤Ë¥í¡¼¥É¤ª¤è¤Ó¥¢¥ó¥í¡¼¥É¤µ¤ì¤ë¤È¤­¤Ë¡¢ +»Ò¤ÎÄɲûþ¤Ë¤âÃí°Õ¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ .Sh Ìá¤êÃÍ À®¸ù»þ¤Ë¤Ï¿·¤·¤¤¥Ç¥Ð¥¤¥¹¤¬¡¢¤½¤¦¤Ç¤Ê¤±¤ì¤Ð NULL ¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£ .Sh ´ØÏ¢¹àÌÜ .Xr device 9 .Sh ºî¼Ô ¤³¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ï .An Doug Rabson ¤¬½ñ¤­¤Þ¤·¤¿¡£ diff --git a/ja_JP.eucJP/man/man9/device_ids.9 b/ja_JP.eucJP/man/man9/device_ids.9 index 272f367af5..65e5685f25 100644 --- a/ja_JP.eucJP/man/man9/device_ids.9 +++ b/ja_JP.eucJP/man/man9/device_ids.9 @@ -1,78 +1,78 @@ .\" .\" Copyright (C) 2001 Chad David . 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(s), this list of conditions and the following disclaimer as .\" the first lines of this file unmodified other than the possible .\" addition of one or more copyright notices. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice(s), 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 COPYRIGHT HOLDER(S) ``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 COPYRIGHT HOLDER(S) 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_ids.9,v 1.2 2003/10/23 06:19:45 hmp Exp % +.\" %FreeBSD: src/share/man/man9/device_ids.9,v 1.3 2004/06/22 20:18:15 le Exp % .\" .\" $FreeBSD$ -.Dd July 9, 2001 +.Dd June 22, 2004 .Dt DEVICE_IDS 9 .Os .Sh ̾¾Î .Nm device_ids , .Nm major , .Nm minor , .Nm umajor , .Nm uminor .Nd ¥Ç¥Ð¥¤¥¹ ID ¤Î·×»» .Sh ½ñ¼° .In sys/types.h .In sys/systm.h .Ft int -.Fn major "dev_t dev" +.Fn major "struct cdev *dev" .Ft int -.Fn minor "dev_t dev" +.Fn minor "struct cdev *dev" .Ft int -.Fn umajor "udev_t id" +.Fn umajor "dev_t id" .Ft int -.Fn uminor "udev_t id" +.Fn uminor "dev_t id" .Sh ²òÀâ .Nm ¥Õ¥¡¥ß¥ê¤Î´Ø¿ô¤Ï¡¢¥í¡¼¥Ç¥Ð¥¤¥¹¤Î ID ¤Ç¤¢¤ë .Fa id ¤Þ¤¿¤Ï¥Ç¥Ð¥¤¥¹¹½Â¤ÂΤؤΥݥ¤¥ó¥¿¤Ç¤¢¤ë .Fa dev ¤ò¤È¤ê¡¢Í׵ᤵ¤ì¤¿¥á¥¸¥ã¡¼¤Þ¤¿¤Ï¥Þ¥¤¥Ê¥Ç¥Ð¥¤¥¹ ID ¤ÎÀ°¿ôÃͤòÊÖ¤·¤Þ¤¹¡£ .Pp ¼ÂºÝ¤Î¥á¥¸¥ã¡¼¤ª¤è¤Ó¥Þ¥¤¥Ê¥Ç¥Ð¥¤¥¹ ID ¤Ï¥í¡¼¥Ç¥Ð¥¤¥¹ ID ¤«¤é ¥Þ¥¹¥¯¤µ¤ì¤¿ÃͤǤ¹¡£ ¼ÂºÝ¤Î¥á¥¸¥ã¡¼¤ª¤è¤Ó¥Þ¥¤¥Ê ID ¤ò·èÄꤹ¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤ë·×»»¾å¤Î¾ÜºÙ¤Ï¡¢ .Pa kern_conf.c ¤Î¼ÂºÝ¤Î¥½¡¼¥¹¤ò»²¾È¤·¤Æ²¼¤µ¤¤¡£ .Sh Ìá¤êÃÍ 0 ¤è¤êÂ礭¤¯¤«¤Ä .Dv NUMCDEVSW ¤è¤ê¾®¤µ¤¤À°¿ôÃͤǤ¹¡£ ¤½¤Î¥Ç¥Ð¥¤¥¹¤¬Ìµ¸ú¤Ç¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢ .Fn major ¤ª¤è¤Ó .Fn minor ¤Ï -.Dv NOUDEV +.Dv NODEV ¤òÊÖ¤·¤Þ¤¹¡£ .Sh AUTHORS ¤³¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ï .An Chad David Aq davidc@acns.ab.ca ¤¬½ñ¤­¤Þ¤·¤¿¡£ diff --git a/ja_JP.eucJP/man/man9/devstat.9 b/ja_JP.eucJP/man/man9/devstat.9 index 53d09e96a1..44daab9f65 100644 --- a/ja_JP.eucJP/man/man9/devstat.9 +++ b/ja_JP.eucJP/man/man9/devstat.9 @@ -1,439 +1,439 @@ .\" .\" 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.20 2003/10/23 01:54:06 hmp Exp % +.\" %FreeBSD: src/share/man/man9/devstat.9,v 1.21 2004/07/03 18:29:24 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_bio , .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_bio .Fa "struct devstat *ds" .Fa "struct bio *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_bio ¤Ï¡¢biodone() ¤Î½àÈ÷¤¬À°¤Ã¤Æ¤¤¤ë .Va "struct bio" ¤«¤é¤¹¤Ù¤Æ¤Î¾ðÊó¤ò°ú¤­½Ð¤¹¤¿¤á¤Î¡¢ .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 .In 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/malloc.9 b/ja_JP.eucJP/man/man9/malloc.9 index cfec231c39..4720a58351 100644 --- a/ja_JP.eucJP/man/man9/malloc.9 +++ b/ja_JP.eucJP/man/man9/malloc.9 @@ -1,304 +1,304 @@ .\" 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: malloc.9,v 1.3 1996/11/11 00:05:11 lukem Exp $ -.\" %FreeBSD: src/share/man/man9/malloc.9,v 1.39 2004/03/06 02:13:03 jkoshy Exp % +.\" %FreeBSD: src/share/man/man9/malloc.9,v 1.40 2004/06/21 14:11:45 mpp Exp % .\" $FreeBSD$ .\" .Dd June 12, 2003 .Dt MALLOC 9 .Os .Sh ̾¾Î .Nm malloc , .Nm MALLOC , .Nm free , .Nm FREE , .Nm realloc , .Nm reallocf , .Nm MALLOC_DEFINE , .Nm MALLOC_DECLARE .Nd ¥«¡¼¥Í¥ë¥á¥â¥ê¥Þ¥Í¡¼¥¸¥á¥ó¥È¥ë¡¼¥Á¥ó .Sh ½ñ¼° .In sys/types.h .In sys/malloc.h .Ft void * .Fn malloc "unsigned long size" "struct malloc_type *type" "int flags" .Fn MALLOC space cast "unsigned long size" "struct malloc_type *type" "int flags" .Ft void .Fn free "void *addr" "struct malloc_type *type" .Fn FREE "void *addr" "struct malloc_type *type" .Ft void * .Fn realloc "void *addr" "unsigned long size" "struct malloc_type *type" "int flags" .Ft void * .Fn reallocf "void *addr" "unsigned long size" "struct malloc_type *type" "int flags" .Fn MALLOC_DECLARE type .In sys/param.h .In sys/malloc.h .In sys/kernel.h .Fn MALLOC_DEFINE type shortdesc longdesc .Sh ²òÀâ .Fn malloc ´Ø¿ô¤Ï¥«¡¼¥Í¥ë¥¢¥É¥ì¥¹¶õ´Ö¤Î½é´ü²½¤µ¤ì¤Æ¤¤¤Ê¤¤¥á¥â¥ê¤ò .Fa size ¤Ç»ØÄꤵ¤ì¤¿Â礭¤µ¤Î 1 ¤Ä¤Î¥ª¥Ö¥¸¥§¥¯¥È¤È¤·¤Æ³ä¤êÅö¤Æ¤Þ¤¹¡£ .Pp .Fn free ´Ø¿ô¤Ï .Fn malloc ¤ÇÀè¤Ë³ä¤êÅö¤Æ¤é¤ì¤Æ¤¤¤¿ .Fa addr ¤Î¥¢¥É¥ì¥¹¤Î¥á¥â¥ê¤òºÆ»ÈÍѤ¹¤ë¤¿¤á¤Ë²òÊü¤·¤Þ¤¹¡£ ¥á¥â¥ê¤Ï 0 ¤Ë¥¯¥ê¥¢¤µ¤ì¤Þ¤»¤ó¡£ .Fa addr ¤¬ .Dv NULL ¤Î¾ì¹ç¡¢ .Fn free ¤Ï²¿¤â¤·¤Þ¤»¤ó¡£ .Pp .Fn realloc ´Ø¿ô¤Ï¡¢°ÊÁ°¤Ë³ä¤êÅö¤Æ¤é¤ì¤Æ .Fa addr ¤Ç»²¾È¤µ¤ì¤ë¥á¥â¥ê¤ÎÂ礭¤µ¤ò .Fa size ¥Ð¥¤¥È¤ËÊѹ¹¤·¤Þ¤¹¡£ ¥á¥â¥ê¤ÎÆâÍÆ¤Ï¡¢¿·¥µ¥¤¥º¤Èµì¥µ¥¤¥º¤Î¾®¤µ¤¤Êý¤Þ¤Ç¤Ï¡¢ÌµÊѹ¹¤È¤Ê¤ê¤Þ¤¹¡£ Ìá¤êÃÍ¤Ï .Fa addr ¤È°ã¤¦¤«¤â¤·¤ì¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ Í׵ᤵ¤ì¤¿¥á¥â¥ê¤¬³ä¤êÅö¤ÆÉÔǽ¤Î¾ì¹ç¡¢ .Dv NULL ¤¬ÊÖ¤µ¤ì¡¢ .Fa addr ¤Ç»²¾È¤µ¤ì¤ë¥á¥â¥ê¤ÏÀµÅö¤Ç̵Êѹ¹¤Î¤Þ¤Þ¤È¤Ê¤ê¤Þ¤¹¡£ .Fa addr ¤¬ .Dv NULL ¤Î¾ì¹ç¡¢ .Fn realloc ´Ø¿ô¤Ï»ØÄꤵ¤ì¤¿Â礭¤µ¤Î .Fn malloc ¤ÈƱÅù¤Ë¿¶Éñ¤¤¤Þ¤¹¡£ .Pp .Fn reallocf ´Ø¿ô¤Ï .Fn realloc ¤È¤Þ¤Ã¤¿¤¯Æ±¤¸¤Ç¤¹¤¬¡¢ Í׵ᤵ¤ì¤¿¥á¥â¥ê¤ò³ä¤êÅö¤ÆÉÔǽ¤Î¾ì¹ç¤Ë ÅϤµ¤ì¤¿¥Ý¥¤¥ó¥¿¤Î¥á¥â¥ê¤ò²òÊü¤¹¤ëÅÀ¤¬°ã¤¤¤Þ¤¹¡£ .Pp ¥Þ¥¯¥íÈǤΠ.Fn MALLOC ¤Ïµ¡Ç½Åª¤Ë¤Ï .Bd -literal -offset indent (space) = (cast)malloc((u_long)(size), type, flags) .Ed .Pp ¤ÈƱÅù¤Ç¡¢ ¥Þ¥¯¥íÈÇ .Fn FREE ¤Ï .Bd -literal -offset indent free((addr), type) .Ed .Pp ¤ÈƱÅù¤Ç¤¹¡£ ɸ½àC¥é¥¤¥Ö¥é¥ê¤ÎƱµÁ´Ø¿ô .Pq Xr malloc 3 ¤È¤Ï°Û¤Ê¤ê¡¢¥«¡¼¥Í¥ë¥Ð¡¼¥¸¥ç¥ó¤Ï¹¹¤Ë 2 ¤Ä¤Î°ú¿ô¤ò¤È¤ê¤Þ¤¹¡£ °ú¿ô .Fa flags ¤Ï .Fn malloc ¤ÎÁàºî¾å¤ÎÆÃÀ­¤ò°Ê²¼¤Î¤è¤¦¤Ë¤ß¤Ê¤·¤Þ¤¹¡£ .Bl -tag -width indent .It Dv M_ZERO ³ä¤êÅö¤Æ¤é¤ì¤¿¥á¥â¥ê¤¬Á´¤Æ 0 ¤ÇËþ¤¿¤µ¤ì¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£ .It Dv M_NOWAIT ¥ê¥½¡¼¥¹¤ÎÉÔ­¤Î¤¿¤áľ¤Á¤ËÍ×µá¤òËþ¤¿¤¹¤³¤È¤¬¤Ç¤­¤Ê¤¤¾ì¹ç¤Ï¡¢ .Fn malloc , .Fn realloc , ¤ª¤è¤Ó .Fn reallocf ¤¬ .Dv NULL ¤òÊÖ¤¹¤è¤¦¤Ë¤·¤Þ¤¹¡£ ³ä¤ê¹þ¤ß¥³¥ó¥Æ¥­¥¹¥È¤Ç¤Îưºî»þ¤Ë¤Ï .Dv M_NOWAIT ¤¬Í׵ᤵ¤ì¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ .It Dv M_WAITOK ¤Ï¥ê¥½¡¼¥¹¤òÂԤĤ³¤È¤¬ OK ¤Ç¤¢¤ë¤³¤È¤ò¼¨¤·¤Þ¤¹¡£ ¤³¤ÎÍ׵᤬¤¹¤°¤ËËþ¤¿¤µ¤ì¤ë¤³¤È¤¬½ÐÍè¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢¸½ºß¤Î¥×¥í¥»¥¹¤Ï¡¢ ¾¤Î¥×¥í¥»¥¹¤Ë¤è¤Ã¤Æ¥ê¥½¡¼¥¹¤¬³«Êü¤µ¤ì¤ë¤³¤È¤òÂԤĤ¿¤á¤Ë¡¢ ¥¹¥ê¡¼¥×¾õÂÖ¤ËÃÖ¤«¤ì¤Þ¤¹¡£ .Dv M_WAITOK ¤¬»ØÄꤵ¤ì¤ë¤È .Fn malloc , .Fn realloc , .Fn reallocf ´Ø¿ô¤Ï .Dv NULL ¤òÊÖ¤¹¤³¤È¤¬½ÐÍè¤Þ¤»¤ó¡£ .It Dv M_USE_RESERVE Í׵ᤵ¤ì¤¿¥á¥â¥ê¤ò³ÍÆÀ¤¹¤ë¤¿¤á¤Ë¡¢ ¥·¥¹¥Æ¥à¤¬¥ê¥¶¡¼¥ÖÎΰè¤ò»È¤Ã¤Æ¤è¤¤¤³¤È¤ò¼¨¤·¤Þ¤¹¡£ ¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï°ÊÁ°¤Ï .Dv M_KERNEL ¤È¸Æ¤Ð¤ì¤Æ¤¤¤Þ¤·¤¿¤¬¡¢ ¤è¤êÌÀ¼¨Åª¤Ë²þ̾¤µ¤ì¤Þ¤·¤¿¡£ ¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï·Ú»ë¤µ¤ì¤Æ¤¤¤Æ¡¢¥«¡¼¥Í¥ë¤«¤é½ù¡¹¤Ëºï½ü¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ ¤½¤Î¤¿¤á¡¢¿·¤¿¤Ê¥×¥í¥°¥é¥ß¥ó¥°¤Ç¤Ï»ÈÍѤµ¤ì¤Ê¤¤Íͤˤ¹¤ë¤Ù¤­¤Ç¤¹¡£ .El .Pp ¸·Ì©¤Ë .Dv M_WAITOK ¤Þ¤¿¤Ï .Dv M_NOWAIT ¤Î¤É¤Á¤é¤«¤¬»ØÄꤵ¤ì¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ .Pp °ú¿ô .Fa type ¤Ï¥á¥â¥ê¤ÎÍøÍÑÊýË¡¤ÎÅý·×¤ò¤È¤ë¤¿¤á¤È¡¢ ´Êñ¤Ê¥µ¥Ë¥Æ¥£¥Á¥§¥Ã¥¯¤Î¤¿¤á¤Ë»È¤ï¤ì¤Æ¤¤¤Þ¤¹¡£ ¤³¤ì¤ÏÊ£¿ô¤Î³ä¤êÅö¤Æ¤ò¼±Ê̤¹¤ë¤¿¤á¤Ë»ÈÍѤ¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£ ¤³¤ÎÅý·×¤Ï .Sq vmstat -m ¤ÇÄ´¤Ù¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£ .Pp .Fa type ¤Ï .Fn MALLOC_DECLARE ¤È .Fn MALLOC_DEFINE ¥Þ¥¯¥í¤òÄ̤¸¤Æ .Vt "struct malloc_type" typedef ¤ò»ÈÍѤ·¤ÆÄêµÁ¤µ¤ì¤Þ¤¹¡£ .Bd -literal -offset indent /* sys/something/foo_extern.h */ MALLOC_DECLARE(M_FOOBUF); /* sys/something/foo_main.c */ MALLOC_DEFINE(M_FOOBUF, "foobuffers", "Buffers to foo data into the ether"); /* sys/something/foo_subr.c */ \&... MALLOC(buf, struct foo_buf *, sizeof *buf, M_FOOBUF, M_NOWAIT); .Ed .Pp .Fn MALLOC_DEFINE ¤ò»ÈÍѤ¹¤ë¤¿¤á¤Ë¤Ï¡¢ .In sys/param.h .In ( sys/types.h ¤ÎÂå¤ï¤ê¤Ë) ¤ª¤è¤Ó .In sys/kernel.h ¤ò¥¤¥ó¥¯¥ë¡¼¥É¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ .Sh Ìá¤êÃÍ .Fn malloc , .Fn realloc , .Fn reallocf ´Ø¿ô¤Ï¤¹¤Ù¤Æ¤Î¥¿¥¤¥×¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Î³ÊǼ¤ËŬÀڤʤ褦¤ËÀ°Î󤵤줿 ¥«¡¼¥Í¥ë²¾ÁÛ¥¢¥É¥ì¥¹¤òÊÖ¤¹¤«¡¢ ¤Þ¤¿¤ÏÍ׵᤬Ëþ­¤Ç¤­¤º (¤¹¤Ê¤ï¤Á .Dv M_NOWAIT ¤¬¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹) ¤Ë .Dv NULL ¤òÊÖ¤·¤Þ¤¹¡£ .Sh ¼ÂÁõ¤Ë´Ø¤¹¤ëÃí 1 ¥Ú¡¼¥¸¤Þ¤Ç¤ÎÍ×µá¤ËÂФ·¡¢ ¥á¥â¥ê¥¢¥í¥±¡¼¥¿¤Ï¡¢2 ¤ÎÎß¾è¤ÎÂ礭¤µ¤ÎÎ̤ò³ä¤êÅö¤Æ¤Þ¤¹¡£ ¤è¤êÂ礭¤ÊÍ×µá¤ËÂФ·¤Æ¤Ï¡¢1 ¸Ä°Ê¾å¤Î¥Ú¡¼¥¸¤¬³ä¤êÅö¤Æ¤é¤ì¤Þ¤¹¡£ ¤³¤Îưºî¤Ë°Í¸¤·¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¤¬¡¢ ¤³¤Î¾ðÊ󤬥á¥â¥ê»ÈÍѸúΨ¤ÎºÇŬ²½¤ËÍ­ÍѤ«¤â¤·¤ì¤Þ¤»¤ó¡£ .Pp ¥×¥í¥°¥é¥Þ¤Ï malloc ¥Õ¥é¥°¤Î .Dv M_NOWAIT ¤ª¤è¤Ó .Dv M_WAITOK ¤È¡¢ .Xr mbuf 9 ¥Õ¥é¥°¤Î .Dv M_DONTWAIT ¤ª¤è¤Ó .Dv M_TRYWAIT ¤òº®Í𤷤ʤ¤¤è¤¦¤ËÃí°Õ¤¹¤ë¤Ù¤­¤Ç¤¹¡£ .Sh ¥³¥ó¥Æ¥­¥¹¥È .Fn malloc , .Fn realloc ¤ª¤è¤Ó .Fn reallocf ¤Ï¹â®³ä¤ê¹þ¤ß¥Ï¥ó¥É¥é¤«¤é¸Æ¤Ó½Ð¤µ¤ì¤ë¤³¤È¤Ï½ÐÍè¤Þ¤»¤ó¡£ ¥¹¥ì¥Ã¥É²½¤µ¤ì¤¿³ä¤ê¹þ¤ß¤«¤é¸Æ¤Ó½Ð¤µ¤ì¤ë»þ¤Ë¤Ï¡¢ .Fa flag ¤Ï .Dv M_NOWAIT ¤ò´Þ¤ó¤Ç¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ .Pp .Va Giant ¤Ç¤Ï¤Ê¤¤ mutex ¤¬ÊÝ»ý¤µ¤ì¤Æ¤¤¤ë´Ö¤Ï¡¢ .Fn malloc , .Fn realloc ¤ª¤è¤Ó .Fn reallocf ¤Ï .Dv M_WAITOK ÉÕ¤­¤Ç¸Æ¤Ó½Ð¤·¤¿¤È¤­¤Ë¤Ï¥¹¥ê¡¼¥×¤¹¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£ .Fn free ¤Ï·è¤·¤Æ¥¹¥ê¡¼¥×¤·¤Þ¤»¤ó¡£ .Pp .Xr vnode 9 ¥¤¥ó¥¿¥í¥Ã¥¯¤òÊÝ»ý¤·¤Æ¤¤¤ë»þ¤Î .Fn malloc .Dv ( M_NOWAIT ÉդǤ¢¤Ã¤Æ¤â) ¤Þ¤¿¤Ï .Fn free -¤Ø¤ÎÁ´¤Æ¤Î¸Æ½Ð¤·¤Ï¡¢VM ¥ª¥Ö¥¸¥§¥¯¥È¤È vnode ¤ÎÁê¸ß³ÍÆÀ¤Î¤¿¤á¤Ë¡¢ +¤Ø¤ÎÁ´¤Æ¤Î¸Æ½Ð¤·¤Ï¡¢VM ¥ª¥Ö¥¸¥§¥¯¥È¤È vnode ¤ÎÁê¸ß¤Î¤«¤é¤ß¹ç¤¤¤Î¤¿¤á¤Ë¡¢ LOR (¥í¥Ã¥¯½ç½ø¤ÎµÕž) ¤ò°ú¤­µ¯¤³¤·¤Þ¤¹¡£ .Sh ´ØÏ¢¹àÌÜ .Xr vmstat 8 , .Xr contigmalloc 9 , .Xr vnode 9 .Sh ¿ÇÃÇ .Dv INVARIANTS ¥³¥ó¥Õ¥£¥®¥å¥ì¡¼¥·¥ç¥ó¥ª¥×¥·¥ç¥ó¤òÉÕ¤±¤Æ¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤¿¥«¡¼¥Í¥ë¤Ï¡¢ ³ä¤êÅö¤Æ¤é¤ì¤¿Îΰè°Ê³°¤Ø¤Î½ñ¤­¹þ¤ß¤ä .Fn malloc ´Ø¿ô¤È .Fn free ´Ø¿ô¤ÎÉԶѹդʸƤӽФ·¤Ê¤É¤Ë¤è¤êÀ¸¤¸¤¿¥á¥â¥êÉÔÀµ¤Î¸¡½Ð¤ò»î¤ß¤Þ¤¹¡£ °ì´ÓÀ­¥Á¥§¥Ã¥¯¤Î¼ºÇԤϥѥ˥寤ޤ¿¤Ï¥·¥¹¥Æ¥à¥³¥ó¥½¡¼¥ë¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Þ¤¹¡£ diff --git a/ja_JP.eucJP/man/man9/mi_switch.9 b/ja_JP.eucJP/man/man9/mi_switch.9 index dbc4c2d5ea..e23031dd0a 100644 --- a/ja_JP.eucJP/man/man9/mi_switch.9 +++ b/ja_JP.eucJP/man/man9/mi_switch.9 @@ -1,160 +1,160 @@ .\" $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.17 2002/12/27 12:15:34 schweikh Exp % +.\" %FreeBSD: src/share/man/man9/mi_switch.9,v 1.18 2004/07/03 18:29:24 ru Exp % .\" .\" $FreeBSD$ .Dd November 24, 1996 .Dt MI_SWITCH 9 .Os .Sh ̾¾Î .Nm mi_switch , .Nm cpu_switch , .Nm cpu_throw .Nd Ê̤Υ¹¥ì¥Ã¥É¥³¥ó¥Æ¥­¥¹¥È¤Ø¤Î¥¹¥¤¥Ã¥Á .Sh ½ñ¼° .In sys/param.h .In sys/proc.h .Ft void .Fn mi_switch "void" .Ft void .Fn cpu_switch "void" .Ft void .Fn cpu_throw "void" .Sh ²òÀâ .Fn mi_switch ´Ø¿ô¤Ï¥Þ¥·¥óÈó°Í¸¤Ê¥¹¥ì¥Ã¥É¥³¥ó¥Æ¥­¥¹¥È¥¹¥¤¥Ã¥Á¤ÎÁ°½èÍý¤ò¼ÂÁõ¤·¤Æ¤¤¤Þ¤¹¡£ ²£¼è¤êÉÔ²Äǽ¤Ê¥«¡¼¥Í¥ë¥â¡¼¥É¼Â¹Ô¤ÎÊý¿Ë¤Î·ë²Ì¤È¤·¤Æ¡¢¥«¡¼¥Í¥ëÆâ¤Î¿ô¾¯¤Ê¤¤ ¶èÊ̤µ¤ì¤¿¾ì½ê¤«¤é¤Î¤ß¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹¡£ ¤¤¤¯¤Ä¤«¤Î¼ç¤Ê .Nm ¤Î»ÈÍѤϰʲ¼¤Ëµó¤²¤é¤ì¤Þ¤¹¡£ .Bl -enum -offset indent .It .Xr sleep 9 , .Xr tsleep 9 ¤ª¤è¤Ó .Xr msleep ¤ÎÃæ¤«¤é¡¢¤¢¤ë¥ê¥½¡¼¥¹¤¬ÍøÍѲÄǽ¤Ë¤Ê¤ë¤Î¤òÂԤĤ¿¤á¤Ë ¸½ºß¤Î¥¹¥ì¥Ã¥É¤¬¼«È¯Åª¤Ë CPU ¤òÊü´þ¤¹¤ë¤È¤­¡£ .It ¥È¥é¥Ã¥× (Î㤨¤Ð¡¢¥·¥¹¥Æ¥à¥³¡¼¥ë¡¢¥Ç¥Ð¥¤¥¹³ä¤ê¹þ¤ß) ¤Î¼è¤ê°·¤¤¤Î¸å¤Ç¡¢ ¥«¡¼¥Í¥ë¤¬¥æ¡¼¥¶¥â¡¼¥É¼Â¹Ô¤Î¤¿¤á¤ËÌá¤ë½àÈ÷¤Î¤È¤­¡£ Ä̾盧¤Î¾ì¹ç¤Ï¡¢¸½ºß¤Î¥×¥í¥»¥¹¤Î¥·¥°¥Ê¥ëÇÛÃÖ¤ÎÃæ¤ÎÊѲ½¤Î¸¡½Ð¤Î¸å¤Ç ¥Þ¥·¥ó°Í¸¤Î¥È¥é¥Ã¥×¥Ï¥ó¥É¥ê¥ó¥°¥³¡¼¥É¤Ë¤è¤Ã¤Æ¼è¤ê°·¤ï¤ì¤ë¤«¡¢ ¤è¤ê¹â¤¤Í¥ÀèÅ٤Υ¹¥ì¥Ã¥É¤¬¼Â¹Ô²Äǽ¤Ë¤Ê¤Ã¤¿¤«¤â¤·¤ì¤Ê¤¤¤È¤­¤Ç¤¹¡£ ¸å¼Ô¤Î¥¤¥Ù¥ó¥È¤Ï¥Þ¥·¥óÄêµÁ¤Î .Fn need_resched ¤Î¸Æ¤Ó½Ð¤·¤Ë¤è¤ë¥Þ¥·¥óÈó°Í¸¤Î¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¥ë¡¼¥Á¥ó¤Ë¤è¤Ã¤ÆÅÁ㤵¤ì¤Þ¤¹¡£ .It ¥·¥°¥Ê¥ë¥Ï¥ó¥É¥é¥³¡¼¥É .Xr ( issignal 9 ¤ò»²¾È) ¤ÎÃæ¤Ç¡¢¥×¥í¥»¥¹¤òÄä»ß¤µ¤»¤ë¥·¥°¥Ê¥ë¤¬ÆÏ¤±¤é¤ì¤¿¾ì¹ç¡£ .It ¥¹¥ì¥Ã¥É¤¬ .Xr thread_exit 9 ¤ÎÃæ¤Ç½ªÎ»¤·¡¢¥×¥í¥»¥Ã¥µ¤ÎÀ©¸æ¤¬¼¡¤Î¼Â¹Ô²Äǽ¤Î¥¹¥ì¥Ã¥É¤ËÅϤµ¤ì¤ë¤³¤È¤¬ ²Äǽ¤Ê¤È¤­¡£ .It .Xr thread_suspend_check 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/microseq.9 b/ja_JP.eucJP/man/man9/microseq.9 index fb284a4e2c..bdb92ae381 100644 --- a/ja_JP.eucJP/man/man9/microseq.9 +++ b/ja_JP.eucJP/man/man9/microseq.9 @@ -1,492 +1,492 @@ .\" Copyright (c) 1998, 1999, Nicolas Souchu .\" 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/microseq.9,v 1.17 2002/12/27 12:15:34 schweikh Exp % +.\" %FreeBSD: src/share/man/man9/microseq.9,v 1.18 2004/07/03 18:29:24 ru Exp % .\" $FreeBSD$ .\" .Dd June 6, 1998 .Dt MICROSEQ 9 .Os .Sh ̾¾Î .Nm microseq .Nd ppbus ¥Þ¥¤¥¯¥í¥·¡¼¥±¥ó¥µ³«È¯¼Ô¥¬¥¤¥É .Sh ½ñ¼° .In sys/types.h .In dev/ppbus/ppbconf.h .In dev/ppbus/ppb_msq.h .Sh ²òÀâ ppbus ¤Î²òÀ⤪¤è¤Ó¥Þ¥¤¥¯¥í¥·¡¼¥±¥ó¥µ¤Ë¤Ä¤¤¤Æ¤Î°ìÈÌŪ¤Ê¾ðÊó¤Ï .Xr ppbus 4 ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ .Pp ¤³¤Îʸ½ñ¤ÎÌÜŪ¤Ï°Ê²¼¤òÆÀ¤ë¤¿¤á¤Ë¡¢ ³«È¯¼Ô¤¬¥Þ¥¤¥¯¥í¥·¡¼¥±¥ó¥µµ¡¹½¤ò»ÈÍѤ¹¤ë¤è¤¦¤Ë»Ù±ç¤¹¤ë¤³¤È¤Ç¤¹¡£ .Bl -enum -offset indent .It Åý°ìŪ¤Ê¥×¥í¥°¥é¥ß¥ó¥°¥â¥Ç¥ë .It ¸úΨŪ¤Ê¥³¡¼¥É .El .Pp ¥Þ¥¤¥¯¥í¥·¡¼¥±¥ó¥¹¤ò»ÈÍѤ¹¤ëÁ°¤Ë¡¢ .Xr ppc 4 ¥Þ¥¤¥¯¥í¥·¡¼¥±¥ó¥µ¤Î¼ÂÁõ¤ª¤è¤Ó .Xr vpo 4 ¤ÎÃæ¤Î¤³¤ì¤ò¤É¤Î¤è¤¦¤Ë»ÈÍѤ¹¤ë¤«¤ÎÎã¤ò¸«¤ë¤³¤È¤¬¡¢¾©Î夵¤ì¤Æ¤¤¤Þ¤¹¡£ .Sh PPBUS ¥ì¥¸¥¹¥¿¥â¥Ç¥ë .Ss ÇØ·Ê ppbus ¤Î¤¿¤á¤ËÁªÂò¤µ¤ì¤¿¥Ñ¥é¥ì¥ë¥Ý¡¼¥È¥â¥Ç¥ë¤Ï PC ¥Ñ¥é¥ì¥ë¥Ý¡¼¥È¥â¥Ç¥ë¤Ç¤¹¡£ ½¾¤Ã¤Æ¡¢¸å¤Ç²òÀ⤵¤ì¤ë¤¢¤é¤æ¤ë¥ì¥¸¥¹¥¿¤Ï¡¢PC ¥Ñ¥é¥ì¥ë¥Ý¡¼¥È¤ÎÂФˤʤë¤â¤Î¤È Ʊ¤¸¥»¥Þ¥ó¥Æ¥£¥¯¥¹¤ò»ý¤Á¤Þ¤¹¡£ ¤è¤ê¿¤¯¤Î ISA/ECP ¥×¥í¥°¥é¥ß¥ó¥°¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤Ë¤Ä¤¤¤Æ¤Ï¡¢ "Extended Capabilities Port Protocol and ISA interface Standard" ¤È¤·¤Æ»²¾È¤µ¤ì¤ë Microsoft ɸ½à¤òÆþ¼ê¤·¤Æ¤¯¤À¤µ¤¤¡£ ¸å½Ò¤¹¤ë¥ì¥¸¥¹¥¿¤Ïɸ½à¤Î¥Ñ¥é¥ì¥ë¥Ý¡¼¥È¥ì¥¸¥¹¥¿¤Ç¤¹¡£ .Pp ¥Þ¥¹¥¯¥Þ¥¯¥í¤Ï¡¢¥Ñ¥é¥ì¥ë¥Ý¡¼¥È¥ì¥¸¥¹¥¿¤Î¸Ä¡¹¤ÎÍ­¸ú¤Ê¥Ó¥Ã¥È¤Î¤¿¤á¤Ë ɸ½à ppbus ¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë¤ÎÃæ¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ .Ss ¥Ç¡¼¥¿¥ì¥¸¥¹¥¿ ¥³¥ó¥Ñ¥Á¥Ö¥ë¥â¡¼¥É¤Þ¤¿¤Ï¥Ë¥Ö¥ë¥â¡¼¥É¤Ç¤Ï¡¢¤³¤Î¥ì¥¸¥¹¥¿¤Ø¤Î½ñ¤­¹þ¤ß¤Ï ¥Ñ¥é¥ì¥ë¥Ý¡¼¥È¤Î¥Ç¡¼¥¿Àþ¤Ø½ÐÎϤµ¤ì¤Þ¤¹¡£ ¤½¤Î¾¤Î¥â¡¼¥É¤Ç¤Ï¡¢½ÐÎÏÃʤÏÀ©¸æ¥ì¥¸¥¹¥¿Æâ¤ÎÊý¸þ¥Ó¥Ã¥È (PDC) ¤ÎÀßÄê¤Ë¤è¤Ã¤Æ¡¢ ¥È¥é¥¤¥¹¥Æ¡¼¥È (3 ¾õÂÖ) ¤Ë¤Ê¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤³¤Î¥ì¥¸¥¹¥¿¤Ø¤ÎÆÉ¤ß¹þ¤ß¤Ï¥Ç¡¼¥¿Àþ¾å¤ÎÃͤòÊÖ¤·¤Þ¤¹¡£ .Ss ¥Ç¥Ð¥¤¥¹¾õÂ֥쥸¥¹¥¿ ¤³¤ÎÆÉ¼è¤êÀìÍѥ쥸¥¹¥¿¤Ï¥Ñ¥é¥ì¥ë¥Ý¡¼¥È¥¤¥ó¥¿¥Õ¥§¡¼¥¹¾å¤ÎÆþÎϤòÈ¿±Ç¤·¤Þ¤¹¡£ .Pp .Bl -column "¥Ó¥Ã¥È" "̾Á°" "²òÀâ" -compact .It Em ¥Ó¥Ã¥È Ta Em ̾Á° Ta Em ²òÀâ .It 7 Ta nBUSY Ta "¥Ñ¥é¥ì¥ë¥Ý¡¼¥È¤Î Busy ¿®¹æ¤Îȿž" .It 6 Ta nACK Ta "¥Ñ¥é¥ì¥ë¥Ý¡¼¥È¤Î nAck ¿®¹æ" .It 5 Ta PERROR Ta "¥Ñ¥é¥ì¥ë¥Ý¡¼¥È¤Î PERROR ¿®¹æ" .It 4 Ta SELECT Ta "¥Ñ¥é¥ì¥ë¥Ý¡¼¥È¤Î Select ¿®¹æ" .It 3 Ta nFAULT Ta "¥Ñ¥é¥ì¥ë¥Ý¡¼¥È¤Î nFault ¿®¹æ" .El .Pp ¤½¤Î¾¤ÏͽÌóºÑ¤ß¤Ç¡¢ÆÉ¹þ¤ß»þ¤Î·ë²Ì¤Ï̤ÄêµÁ¤Ç¤¹¡£ .Ss ¥Ç¥Ð¥¤¥¹À©¸æ¥ì¥¸¥¹¥¿ ¤³¤Î¥ì¥¸¥¹¥¿¤ÏľÀÜŪ¤Ë´ö¤Ä¤«¤Îµ¡Ç½¤ÎÍ­¸ú²½¤Ï¤â¤Á¤í¤ó¡¢ ´ö¤Ä¤«¤Î½ÐÎÏ¿®¹æ¤òÀ©¸æ¤·¤Þ¤¹¡£ .Pp .Bl -column "¥Ó¥Ã¥È" "̾Á° " "²òÀâ" -compact .It Em ¥Ó¥Ã¥È Ta Em ̾Á° Ta Em ²òÀâ .It 5 Ta PCD Ta "³ÈÄ¥¥â¡¼¥É»þ¤ÎÊý¸þ¥Ó¥Ã¥È" .It 4 Ta IRQENABLE Ta "1 ¤Ç nAck ¤ÎΩ¤Á¾å¤ê¤Ç³ä¤ê¹þ¤ßÍ­¸ú" .It 3 Ta SELECTIN Ta "¥Ñ¥é¥ì¥ë¥Ý¡¼¥È¤Î nSelect ¿®¹æ¤Îȿž¤ò½ÐÎÏ" .It 2 Ta nINIT Ta "¥Ñ¥é¥ì¥ë¥Ý¡¼¥È¤Î nInit ¿®¹æ¤ò½ÐÎÏ" .It 1 Ta AUTOFEED Ta "¥Ñ¥é¥ì¥ë¥Ý¡¼¥È¤Î nAutoFd ¿®¹æ¤Îȿž¤ò½ÐÎÏ" .It 0 Ta STROBE Ta "¥Ñ¥é¥ì¥ë¥Ý¡¼¥È¤Î nStrobe ¿®¹æ¤Îȿž¤ò½ÐÎÏ" .El .Sh ¥Þ¥¤¥¯¥í¥¤¥ó¥¹¥È¥é¥¯¥·¥ç¥ó .Ss ²òÀâ .Em ¥Þ¥¤¥¯¥í¥¤¥ó¥¹¥È¥é¥¯¥·¥ç¥ó ¤Ï¥Ñ¥é¥ì¥ë¥Ý¡¼¥È¤Î¥¢¥¯¥»¥¹¡¢¥×¥í¥°¥é¥à¤Î·«¤êÊÖ¤·¡¢¥µ¥Ö¥Þ¥¤¥¯¥í¥·¡¼¥±¥ó¥¹ ¤Þ¤¿¤Ï C ¤Î¸Æ¤Ó½Ð¤·¤Ç¤¹¡£ ¥Ñ¥é¥ì¥ë¥Ý¡¼¥È¤Ï .Xr ppbus 4 ¤Ç²òÀ⤵¤ì¤Æ¤¤¤ëÏÀÍý¥â¥Ç¥ë¤È¤ß¤Ê¤µ¤ì¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ .Pp ÍøÍѲÄǽ¤Ê¥Þ¥¤¥¯¥í¥·¡¼¥±¥ó¥¹¤Ï°Ê²¼¤Î¤È¤ª¤ê¤Ç¤¹¡£ .Bd -literal #define MS_OP_GET 0 /* get , */ #define MS_OP_PUT 1 /* put , */ #define MS_OP_RFETCH 2 /* rfetch , , */ #define MS_OP_RSET 3 /* rset , , */ #define MS_OP_RASSERT 4 /* rassert , */ #define MS_OP_DELAY 5 /* delay */ #define MS_OP_SET 6 /* set */ #define MS_OP_DBRA 7 /* dbra */ #define MS_OP_BRSET 8 /* brset , */ #define MS_OP_BRCLEAR 9 /* brclear , */ #define MS_OP_RET 10 /* ret */ #define MS_OP_C_CALL 11 /* c_call , */ #define MS_OP_PTR 12 /* ptr */ #define MS_OP_ADELAY 13 /* adelay */ #define MS_OP_BRSTAT 14 /* brstat , , */ #define MS_OP_SUBRET 15 /* subret */ #define MS_OP_CALL 16 /* call */ #define MS_OP_RASSERT_P 17 /* rassert_p , */ #define MS_OP_RFETCH_P 18 /* rfetch_p , , */ #define MS_OP_TRIG 19 /* trigger , , */ .Ed .Ss ¼Â¹Ô¥³¥ó¥Æ¥­¥¹¥È ¥Þ¥¤¥¯¥í¥¤¥ó¥¹¥È¥é¥¯¥·¥ç¥ó¤Î .Em ¼Â¹Ô¥³¥ó¥Æ¥­¥¹¥È ¤Ï°Ê²¼¤Î¤È¤ª¤ê¤Ç¤¹¡£ .Bl -bullet -offset indent .It ¥á¥¤¥ó¤Î¥Þ¥¤¥¯¥í¥·¡¼¥±¥ó¥¹¤ÎÃæ¤Þ¤¿¤Ï¥µ¥Ö¥³¡¼¥ë¤ÎÃæ¤Î¡¢¼Â¹Ô¤¹¤ë¤¿¤á¤Î ¼¡¤Î¥Þ¥¤¥¯¥í¥¤¥ó¥¹¥È¥é¥¯¥·¥ç¥ó¤ò»Ø¤·¼¨¤¹ .Em ¥×¥í¥°¥é¥à¥«¥¦¥ó¥¿ .It Á÷¤ë/¼õ¤±¼è¤ë¤¿¤á¤Î¼¡¤Îʸ»ú¤ò»Ø¤·¼¨¤¹ .Em ptr ¤Î¸½ºß¤ÎÃÍ .It ÆâÉô¤Î .Em ʬ´ô¥ì¥¸¥¹¥¿ ¤Î¸½ºß¤ÎÃÍ .El .Pp ¤³¤Î¥Ç¡¼¥¿¤ÏÁ´¤Æ¤Ç¤Ï¤Ê¤¤´ö¤Ä¤«¤Î¥Þ¥¤¥¯¥í¥¤¥ó¥¹¥È¥é¥¯¥·¥ç¥ó¤Ë¤è¤Ã¤Æ Êѹ¹¤µ¤ì¤Þ¤¹¡£ .Ss MS_OP_GET ¤ª¤è¤Ó MS_OP_PUT ¤ÏÄêµÁºÑ¤ß¤Îɸ½à IEEE1284-1994 žÁ÷¤Þ¤¿¤Ï¥×¥í¥°¥é¥à¤µ¤ì¤¿Èóɸ½à¤Î Æþ½ÐÎϤΤ¤¤º¤ì¤«¤ò¹Ô¤Ê¤¦¤¿¤á¤Ë»ÈÍѤµ¤ì¤ë¥Þ¥¤¥¯¥í¥¤¥ó¥¹¥È¥é¥¯¥·¥ç¥ó¤Ç¤¹¡£ .Ss MS_OP_RFETCH - ¥ì¥¸¥¹¥¿¼èÆÀ ¤Ï¥Ñ¥é¥ì¥ë¥Ý¡¼¥È¥ì¥¸¥¹¥¿¤Î¸½ºß¤ÎÃͤò¼è¤ê½Ð¤·¡¢¥Þ¥¹¥¯¤òŬÍѤ·¡¢ ¤½¤ì¤ò¥Ð¥Ã¥Õ¥¡¤ËÊݸ¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ .Pp ¥Ñ¥é¥á¡¼¥¿: .Bl -enum -offset indent .It ¥ì¥¸¥¹¥¿ .It ʸ»ú¥Þ¥¹¥¯ .It ¥Ð¥Ã¥Õ¥¡¤Ø¤Î¥Ý¥¤¥ó¥¿ .El .Pp ÄêµÁºÑ¤ß¥Þ¥¯¥í: MS_RFETCH(reg,mask,ptr) .Ss MS_OP_RSET - ¥ì¥¸¥¹¥¿ÀßÄê ¤Ï 2 ¤Ä¤Î¥Þ¥¹¥¯¤òŬÍѤµ¤ì¤¿¡¢¸Ä¡¹¤Î¥Ñ¥é¥ì¥ë¥Ý¡¼¥È¥ì¥¸¥¹¥¿¤Î´ö¤Ä¤«¤Î ¥Ó¥Ã¥È¤ò¥¢¥µ¡¼¥È/¥¯¥ê¥¢¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ .Pp ¥Ñ¥é¥á¡¼¥¿: .Bl -enum -offset indent .It ¥ì¥¸¥¹¥¿ .It ¥¢¥µ¡¼¥È¤µ¤ì¤ë¤Ù¤­¥Ó¥Ã¥È¤Î¥Þ¥¹¥¯ .It ¥¯¥ê¥¢¤µ¤ì¤ë¤Ù¤­¥Ó¥Ã¥È¤Î¥Þ¥¹¥¯ .El .Pp ÄêµÁºÑ¤ß¥Þ¥¯¥í: MS_RSET(reg,assert,clear) .Ss MS_OP_RASSERT - ¥ì¥¸¥¹¥¿¥¢¥µ¡¼¥È ¤Ï¸Ä¡¹¤Î¥Ñ¥é¥ì¥ë¥Ý¡¼¥È¥ì¥¸¥¹¥¿¤ÎÁ´¤Æ¤Î¥Ó¥Ã¥È¤ò¥¢¥µ¡¼¥È¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ .Pp ¥Ñ¥é¥á¡¼¥¿: .Bl -enum -offset indent .It ¥ì¥¸¥¹¥¿ .It ¥¢¥µ¡¼¥È¤µ¤ì¤ë¤Ù¤­¥Ð¥¤¥È .El .Pp ÄêµÁºÑ¤ß¥Þ¥¯¥í: MS_RASSERT(reg,byte) .Ss MS_OP_DELAY - ¥Þ¥¤¥¯¥íÉäÎÃÙ±ä ¤Ï¥Þ¥¤¥¯¥í¥·¡¼¥±¥ó¥¹¤Î¼Â¹Ô¤ÎÃÙ±ä¤Î¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ .Pp ¥Ñ¥é¥á¡¼¥¿: .Bl -enum -offset indent .It ¥Þ¥¤¥¯¥íÉÃñ°Ì¤ÎÃÙ±ä»þ´Ö .El .Pp ÄêµÁºÑ¤ß¥Þ¥¯¥í: MS_DELAY(delay) .Ss MS_OP_SET - ÆâÉôʬ´ô¥ì¥¸¥¹¥¿¤ÎÀßÄê ¤ÏÆâÉô¤Îʬ´ô¥ì¥¸¥¹¥¿¤ÎÃͤòÀßÄꤹ¤ë¤¿¤á¤Ë»ÈÍѤ·¤Þ¤¹¡£ .Pp ¥Ñ¥é¥á¡¼¥¿: .Bl -enum -offset indent .It À°¿ôÃÍ .El .Pp ÄêµÁºÑ¤ß¥Þ¥¯¥í: MS_SET(accum) .Ss MS_OP_DBRA - ʬ´ô¤Î¼Â¹Ô ¤ÏÆâÉô¤Îʬ´ô¥ì¥¸¥¹¥¿¤¬ 1 ¸º¤é¤µ¤ì¤¿·ë²Ì¤ÎÃͤ¬Àµ¤Ç¤¢¤ë¾ì¹ç¤Ë ʬ´ô¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ .Pp ¥Ñ¥é¥á¡¼¥¿: .Bl -enum -offset indent .It ¸½ºß¼Â¹Ô¤µ¤ì¤¿ (¥µ¥Ö) ¥Þ¥¤¥¯¥í¥·¡¼¥±¥ó¥¹¤ÎÀ°¿ô¤Î¥ª¥Õ¥»¥Ã¥È¡£ ¥ª¥Õ¥»¥Ã¥È¤Ï¼¡¤Ë¼Â¹Ô¤µ¤ì¤ë¥Þ¥¤¥¯¥í¥¤¥ó¥¹¥È¥é¥¯¥·¥ç¥ó¤Î ¥¤¥ó¥Ç¥Ã¥¯¥¹¤ËÄɲ䵤ì¤Þ¤¹¡£ .El .Pp ÄêµÁºÑ¤ß¥Þ¥¯¥í: MS_DBRA(offset) .Ss MS_OP_BRSET - ¥»¥Ã¥È»þ¤Ëʬ´ô ¤Ï¥Ñ¥é¥ì¥ë¥Ý¡¼¥È¤Î¾õÂ֥쥸¥¹¥¿¤Î¥Ó¥Ã¥È¤Î´ö¤Ä¤«¤¬¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë ʬ´ô¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ .Pp ¥Ñ¥é¥á¡¼¥¿: .Bl -enum -offset indent .It ¾õÂ֥쥸¥¹¥¿¤Î¥Ó¥Ã¥È .It ¸½ºß¼Â¹Ô¤µ¤ì¤¿ (¥µ¥Ö) ¥Þ¥¤¥¯¥í¥·¡¼¥±¥ó¥¹¤ÎÀ°¿ô¤Î¥ª¥Õ¥»¥Ã¥È¡£ ¥ª¥Õ¥»¥Ã¥È¤Ï¼¡¤Ë¼Â¹Ô¤µ¤ì¤ë¥Þ¥¤¥¯¥í¥¤¥ó¥¹¥È¥é¥¯¥·¥ç¥ó¤Î ¥¤¥ó¥Ç¥Ã¥¯¥¹¤ËÄɲ䵤ì¤Þ¤¹¡£ .El .Pp ÄêµÁºÑ¤ß¥Þ¥¯¥í: MS_BRSET(mask,offset) .Ss MS_OP_BRCLEAR - ¥¯¥ê¥¢»þ¤Ëʬ´ô ¤Ï¥Ñ¥é¥ì¥ë¥Ý¡¼¥È¤Î¾õÂ֥쥸¥¹¥¿¤Î¥Ó¥Ã¥È¤Î´ö¤Ä¤«¤¬¥¯¥ê¥¢¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë ʬ´ô¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ .Pp ¥Ñ¥é¥á¡¼¥¿: .Bl -enum -offset indent .It ¾õÂ֥쥸¥¹¥¿¤Î¥Ó¥Ã¥È .It ¸½ºß¼Â¹Ô¤µ¤ì¤¿ (¥µ¥Ö) ¥Þ¥¤¥¯¥í¥·¡¼¥±¥ó¥¹¤ÎÀ°¿ô¤Î¥ª¥Õ¥»¥Ã¥È¡£ ¥ª¥Õ¥»¥Ã¥È¤Ï¼¡¤Ë¼Â¹Ô¤µ¤ì¤ë¥Þ¥¤¥¯¥í¥¤¥ó¥¹¥È¥é¥¯¥·¥ç¥ó¤Î ¥¤¥ó¥Ç¥Ã¥¯¥¹¤ËÄɲ䵤ì¤Þ¤¹¡£ .El .Pp ÄêµÁºÑ¤ß¥Þ¥¯¥í: MS_BRCLEAR(mask,offset) .Ss MS_OP_RET - Ìá¤ë ¤Ï¥Þ¥¤¥¯¥í¥·¡¼¥±¥ó¥¹¤«¤éÌá¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ ¤³¤Î´Ø¿ô¤Ïɬ¿Ü¤Ç¤¹¡£ ¤³¤ì¤Ï¥Þ¥¤¥¯¥í¥·¡¼¥±¥ó¥µ¤¬¥Þ¥¤¥¯¥í¥·¡¼¥±¥ó¥¹¤Î½ª¤ï¤ê¤ò¸¡½Ð¤¹¤ëÍ£°ì¤ÎÊýË¡¤Ç¤¹¡£ ppb_MS_microseq() ¤Î (int *) ¥Ñ¥é¥á¡¼¥¿¤Ë¤è¤Ã¤Æ»Ø¤µ¤ì¤ëÀ°¿ô¤Ë¡¢ ¥ê¥¿¡¼¥ó¥³¡¼¥É¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£ .Pp ¥Ñ¥é¥á¡¼¥¿: .Bl -enum -offset indent .It À°¿ô¤Î¥ê¥¿¡¼¥ó¥³¡¼¥É .El .Pp ÄêµÁºÑ¤ß¥Þ¥¯¥í: MS_RET(code) .Ss MS_OP_C_CALL - C ´Ø¿ô¤Î¸Æ¤Ó½Ð¤· ¤Ï¥Þ¥¤¥¯¥í¥·¡¼¥±¥ó¥¹¤Î¼Â¹Ô¤«¤é C ´Ø¿ô¤ò¸Æ¤Ó½Ð¤¹¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ ¤³¤ì¤Ï¥Ñ¥é¥ì¥ë¥Ý¡¼¥È¤«¤é¥Ç¡¼¥¿Ê¸»ú¤ò¼è¤ê½Ð¤¹¤¿¤á¤ËÈóɸ½à¤ÎÆþ½ÐÎϤ¬¼Â¹Ô ¤µ¤ì¤ë¤È¤­¤ËÍ­ÍѤ«¤â¤·¤ì¤Þ¤»¤ó¡£ .Pp ¥Ñ¥é¥á¡¼¥¿: .Bl -enum -offset indent .It ¸Æ¤Ó½Ð¤¹¤Ù¤­ C ´Ø¿ô .It ´Ø¿ô¸Æ¤Ó½Ð¤·¤Î¤¿¤á¤ËÅϤµ¤ì¤ë¥Ñ¥é¥á¡¼¥¿ .El .Pp C ´Ø¿ô¤Ï .Ft int(*)(void *p, char *ptr) ¤ÈÀë¸À¤µ¤ì¤ë¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ ptr ¥Ñ¥é¥á¡¼¥¿¤Ï¸½ºßÁöºº¤µ¤ì¤Æ¤¤¤ë¥Ð¥Ã¥Õ¥¡¤ÎÃæ¤Î¸½ºß°ÌÃ֤Ǥ¹¡£ .Pp ÄêµÁºÑ¤ß¥Þ¥¯¥í: MS_C_CALL(func,param) .Ss MS_OP_PTR - ÆâÉô¥Ý¥¤¥ó¥¿¤Î½é´ü²½ ¤Ï¸½ºßÁöºº¤µ¤ì¤Æ¤¤¤ë¥Ð¥Ã¥Õ¥¡¤Ø¤ÎÆâÉô¥Ý¥¤¥ó¥¿¤ò½é´ü²½¤·¤Þ¤¹¡£ ¤³¤Î¥Ý¥¤¥ó¥¿¤Ï¤¢¤é¤æ¤ë C ¸Æ¤Ó½Ð¤·¤ËÅϤµ¤ì¤Þ¤¹ (¾åµ­¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤)¡£ .Pp ¥Ñ¥é¥á¡¼¥¿: .Bl -enum -offset indent .It xxx_P() ¥Þ¥¤¥¯¥í¥·¡¼¥±¥ó¥¹¤Î¸Æ¤Ó½Ð¤·¤Ë¤è¤Ã¤Æ¥¢¥¯¥»¥¹¤µ¤ì¤ë¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤ë ¥Ð¥Ã¥Õ¥¡¤Ø¤Î¥Ý¥¤¥ó¥¿¡£ ¤³¤Î¥Ý¥¤¥ó¥¿¤Ï xxx_P() ¸Æ¤Ó½Ð¤·¤Î´Ö¼«Æ°Åª¤ËÁý¤ä¤µ¤ì¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ .El .Pp ÄêµÁºÑ¤ß¥Þ¥¯¥í: MS_PTR(ptr) .Ss MS_OP_ADELAY - È󯱴üÃÙ±ä¤Î¼Â¹Ô ¤Ï¥Þ¥¤¥¯¥í¥·¡¼¥±¥ó¥¹¤Î¼Â¹Ô¤Î´Ö¤Ë tsleep() ¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ ¤³¤Î tsleep ¤Ï PPBPRI ¥ì¥Ù¥ë¤Ç¼Â¹Ô¤µ¤ì¤Þ¤¹¡£ .Pp ¥Ñ¥é¥á¡¼¥¿: .Bl -enum -offset indent .It ¥ß¥êÉÃñ°Ì¤Ç¤ÎÃÙ±ä»þ´Ö .El .Pp ÄêµÁºÑ¤ß¥Þ¥¯¥í: MS_ADELAY(delay) .Ss MS_OP_BRSTAT - ¾õÂ֤ˤè¤ëʬ´ô ¤Ï¾õÂ֥쥸¥¹¥¿¤Î¾õÂÖ¤Çʬ´ô¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ .Pp ¥Ñ¥é¥á¡¼¥¿: .Bl -enum -offset indent .It ¥¢¥µ¡¼¥È¤µ¤ì¤¿¥Ó¥Ã¥È¤Î¥Þ¥¹¥¯¡£ ¾õÂ֥쥸¥¹¥¿¤ÎÃæ¤Î¥¢¥µ¡¼¥È¤µ¤ì¤ë¤Ï¤º¤Î¥Ó¥Ã¥È¤¬¥Þ¥¹¥¯¤Ë¥»¥Ã¥È¤µ¤ì¤Þ¤¹¡£ .It ¥¯¥ê¥¢¤µ¤ì¤¿¥Ó¥Ã¥È¤Î¥Þ¥¹¥¯¡£ ¾õÂ֥쥸¥¹¥¿¤ÎÃæ¤Î¥¯¥ê¥¢¤µ¤ì¤ë¤Ï¤º¤Î¥Ó¥Ã¥È¤¬¥Þ¥¹¥¯¤Ë¥»¥Ã¥È¤µ¤ì¤Þ¤¹¡£ .It ¸½ºß¼Â¹Ô¤µ¤ì¤¿ (¥µ¥Ö) ¥Þ¥¤¥¯¥í¥·¡¼¥±¥ó¥¹¤ÎÀ°¿ô¤Î¥ª¥Õ¥»¥Ã¥È¡£ ¥ª¥Õ¥»¥Ã¥È¤Ï¼¡¤Ë¼Â¹Ô¤µ¤ì¤ë¥Þ¥¤¥¯¥í¥¤¥ó¥¹¥È¥é¥¯¥·¥ç¥ó¤Î ¥¤¥ó¥Ç¥Ã¥¯¥¹¤ËÄɲ䵤ì¤Þ¤¹¡£ .El .Pp ÄêµÁºÑ¤ß¥Þ¥¯¥í: MS_BRSTAT(asserted_bits,clear_bits,offset) .Ss MS_OP_SUBRET - ¥µ¥Ö¥Þ¥¤¥¯¥í¥·¡¼¥±¥ó¥¹¤«¤éÌá¤ë ¤Ï¥µ¥Ö¥Þ¥¤¥¯¥í¥·¡¼¥±¥ó¥¹¤Î¸Æ¤Ó½Ð¤·¤«¤éÌá¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ ¤³¤Î¹Ôư¤Ï RET ¤Î¸Æ¤Ó½Ð¤·¤ÎÁ°¤Ëɬ¿Ü¤Ç¤¹¡£ ´ö¤Ä¤«¤Î¥Þ¥¤¥¯¥í¥¤¥ó¥¹¥È¥é¥¯¥·¥ç¥ó (PUT, GET) ¤Ï¥µ¥Ö¥Þ¥¤¥¯¥í¥·¡¼¥±¥ó¥¹¤Î ÆâÉô¤Ç¤Ï¸Æ¤Ó½Ð¤·²Äǽ¤Ç¤Ï¤Ê¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¡£ .Pp ¥Ñ¥é¥á¡¼¥¿¤Ï¤¢¤ê¤Þ¤»¤ó¡£ .Pp ÄêµÁºÑ¤ß¥Þ¥¯¥í: MS_SUBRET() .Ss MS_OP_CALL - ¥µ¥Ö¥Þ¥¤¥¯¥í¥·¡¼¥±¥ó¥¹¤Î¸Æ¤Ó½Ð¤· ¤Ï¥µ¥Ö¥Þ¥¤¥¯¥í¥·¡¼¥±¥ó¥¹¤ò¸Æ¤Ó½Ð¤¹¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ ¥µ¥Ö¥Þ¥¤¥¯¥í¥·¡¼¥±¥ó¥¹¤Ï SUBRET ¤Î¸Æ¤Ó½Ð¤·¤òȼ¤Ê¤¦¥Þ¥¤¥¯¥í¥·¡¼¥±¥ó¥¹¤Ç¤¹¡£ .Pp ¥Ñ¥é¥á¡¼¥¿: .Bl -enum -offset indent .It ¼Â¹Ô¤µ¤ì¤ë¤Ù¤­¥µ¥Ö¥Þ¥¤¥¯¥í¥·¡¼¥±¥ó¥¹ .El .Pp ÄêµÁºÑ¤ß¥Þ¥¯¥í: MS_CALL(microseq) .Ss MS_OP_RASSERT_P - ÆâÉô PTR ¤«¤é¥ì¥¸¥¹¥¿¤Ø¤Î¥¢¥µ¡¼¥È ¤ÏÆâÉô¤Î PTR ¥Ý¥¤¥ó¥¿¤Ë¤è¤Ã¤Æ¸½ºß»Ø¤µ¤ì¤Æ¤¤¤ë¥Ç¡¼¥¿¤Ç¥ì¥¸¥¹¥¿¤ò ¥¢¥µ¡¼¥È¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ .Pp ¥Ñ¥é¥á¡¼¥¿: .Bl -enum -offset indent .It ¥ì¥¸¥¹¥¿¤Ë½ñ¹þ¤à¤¿¤á¤Î¥Ç¡¼¥¿ÎÌ .It ¥ì¥¸¥¹¥¿ .El .Pp ÄêµÁºÑ¤ß¥Þ¥¯¥í: MS_RASSERT_P(iter,reg) .Ss MS_OP_RFETCH_P - ÆâÉô PTR ¤Ø¤Î¥ì¥¸¥¹¥¿¥Õ¥§¥Ã¥Á ¤Ï¥ì¥¸¥¹¥¿¤«¤é¥Ç¡¼¥¿¤òÆÉ¹þ¤à¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ ¥Ç¡¼¥¿¤ÏÆâÉô¤Î PTR ¥Ý¥¤¥ó¥¿¤Ë¤è¤Ã¤Æ¸½ºß»Ø¤µ¤ì¤Æ¤¤¤ë¥Ð¥Ã¥Õ¥¡¤ËÊݸ¤µ¤ì¤Þ¤¹¡£ .Pp ¥Ñ¥é¥á¡¼¥¿: .Bl -enum -offset indent .It ¥ì¥¸¥¹¥¿¤«¤éÆÉ¹þ¤à¤¿¤á¤Î¥Ç¡¼¥¿ÎÌ .It ¥ì¥¸¥¹¥¿ .It ÆÉ¹þ¤Þ¤ì¤¿¥Ç¡¼¥¿¤ËŬÍѤµ¤ì¤ë¥Þ¥¹¥¯ .El .Pp ÄêµÁºÑ¤ß¥Þ¥¯¥í: MS_RFETCH_P(iter,reg,mask) .Ss MS_OP_TRIG - ¥ì¥¸¥¹¥¿¤Î¥È¥ê¥¬ ¤Ï¥Ñ¥é¥ì¥ë¥Ý¡¼¥È¤ò¥È¥ê¥¬¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ ¤³¤Î¥Þ¥¤¥¯¥í¥¤¥ó¥¹¥È¥é¥¯¥·¥ç¥ó¤Ï¥Ñ¥é¥ì¥ë¥Ý¡¼¥È¤Î¤È¤Æ¤â¸úΨŪ¤ÊÀ©¸æ¤Î Ä󶡤ò°Õ¿Þ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ ¥ì¥¸¥¹¥¿¤Î¥È¥ê¥¬¤Ï¥Ç¡¼¥¿½ñ¹þ¤ß¡¢¾¯¤·¥¦¥§¥¤¥È¡¢¥Ç¡¼¥¿½ñ¹þ¤ß¡¢ ¾¯¤·¥¦¥§¥¤¥È ... ¤Ç¤¹¡£ ¤³¤ì¤Ï¥Ý¡¼¥È¤Ø¥Þ¥¸¥Ã¥¯¥·¡¼¥±¥ó¥¹¤ò½ñ¹þ¤à¤³¤È¤ò²Äǽ¤Ë¤·¤Þ¤¹¡£ .Pp ¥Ñ¥é¥á¡¼¥¿: .Bl -enum -offset indent .It .\" ¸¶Ê¸¤ÏÆÉ¹þ¤Þ¤ì¤ë --- send-pr ¤¹¤Ù¤­? ¥ì¥¸¥¹¥¿¤Ë½ñ¹þ¤Þ¤ì¤ë¥Ç¡¼¥¿ÎÌ .It ¥ì¥¸¥¹¥¿ .It ÇÛÎó¤ÎÂ礭¤µ .It unsigned char ¤ÎÇÛÎó¡£ ¸Ä¡¹¤Î u_char ¤ÎÁȤϥ쥸¥¹¥¿¤Ë½ñ¹þ¤à¤Ù¤­¥Ç¡¼¥¿¤ª¤è¤Ó ¥Þ¥¤¥¯¥íÉÃñ°Ì¤Ç¤Î¥¦¥§¥¤¥È¤¹¤ë¤Ù¤­ÃÙ±ä»þ´Ö¤Ç¤¹¡£ ÃÙ±ä»þ´Ö¤Ï´Êñ²½¤ª¤è¤ÓÇÛÎó¤ÎÂ礭¤µ¤Î½Ì¾®¤Î¤¿¤á¤Ë 255 ¥Þ¥¤¥¯¥íÉÃ¤Þ¤Ç¤Ë À©¸Â¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ .El .Pp ÄêµÁºÑ¤ß¥Þ¥¯¥í: MS_TRIG(reg,len,array) .Sh ¥Þ¥¤¥¯¥í¥·¡¼¥±¥ó¥¹ .Ss C ¹½Â¤ÂÎ .Bd -literal union ppb_insarg { int i; char c; void *p; int (* f)(void *, char *); }; struct ppb_microseq { int opcode; /* ¥Þ¥¤¥¯¥í¥¤¥ó¥¹¥È¥é¥¯¥·¥ç¥ó opcode */ union ppb_insarg arg[PPB_MS_MAXARGS]; /* °ú¿ô */ }; .Ed .Ss ¥Þ¥¤¥¯¥í¥·¡¼¥±¥ó¥¹¤Î»ÈÍÑ ¥Þ¥¤¥¯¥í¥·¡¼¥±¥ó¥¹¤ò¼ÂÂ⽤¹¤ë¤¿¤á¤Ë¤Ï¡¢ppb_microseq ¹½Â¤ÂΤÎÇÛÎó¤ò Àë¸À¤·¤ÆÉ¬Íפ˱þ¤¸¤Æ½é´ü²½¤¹¤ë¤À¤±¤Ç¤¹¡£ ÄêµÁºÑ¤ß¤Î¥Þ¥¯¥í¤Þ¤¿¤Ï ppb_microseq ¤ÎÄêµÁ¤Ë½¾¤Ã¤¿ÆÈ¼«¤Î ¥Þ¥¤¥¯¥í¥¤¥ó¥¹¥È¥é¥¯¥·¥ç¥ó¤Î¤¤¤º¤ì¤«¤ò»ÈÍѤǤ­¤Þ¤¹¡£ Î㤨¤Ð¡¢ .Bd -literal struct ppb_microseq select_microseq[] = { /* ¥Ñ¥é¥á¡¼¥¿¥ê¥¹¥È */ #define SELECT_TARGET MS_PARAM(0, 1, MS_TYP_INT) #define SELECT_INITIATOR MS_PARAM(3, 1, MS_TYP_INT) /* ½ÐÎϤ¹¤ë¤¿¤á¤ÎÁªÂò¥³¥Þ¥ó¥É¤ÎÁ÷¿® */ MS_DASS(MS_UNKNOWN), MS_CASS(H_nAUTO | H_nSELIN | H_INIT | H_STROBE), MS_CASS( H_AUTO | H_nSELIN | H_INIT | H_STROBE), MS_DASS(MS_UNKNOWN), MS_CASS( H_AUTO | H_nSELIN | H_nINIT | H_STROBE), /* ½ÐÎϤνàÈ÷¤¬¤Ç¤­¤ë¤Þ¤ÇÂÔ¤Á¤Þ¤¹ */ MS_SET(VP0_SELTMO), /* loop: */ MS_BRSET(H_ACK, 2 /* ready */), MS_DBRA(-2 /* loop */), /* error: */ MS_RET(1), /* ready: */ MS_RET(0) }; .Ed .Pp ¤³¤³¤Ç¡¢´ö¤Ä¤«¤Î¥Ñ¥é¥á¡¼¥¿¤¬Ì¤ÄêµÁ¤Ç¥Þ¥¤¥¯¥í¥·¡¼¥±¥ó¥¹¤Î¼Â¹Ô¤ÎÁ°¤Ë Ëþ¤¿¤µ¤ì¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ ¸Ä¡¹¤Î¥Þ¥¤¥¯¥í¥·¡¼¥±¥ó¥¹¤ò½é´ü²½¤¹¤ë¤¿¤á¤Ë¡¢ppb_MS_init_msq() ´Ø¿ô¤ò °Ê²¼¤Î¤è¤¦¤Ë»ÈÍѤ¹¤ë¤Ù¤­¤Ç¤¹¡£ .Bd -literal ppb_MS_init_msq(select_microseq, 2, SELECT_TARGET, 1 << target, SELECT_INITIATOR, 1 << initiator); .Ed .Pp ¤½¤ì¤«¤é¥Þ¥¤¥¯¥í¥·¡¼¥±¥ó¥¹¤ò¼Â¹Ô¤·¤Þ¤¹¡£ .Ss ¥Þ¥¤¥¯¥í¥·¡¼¥±¥ó¥µ ¥Þ¥¤¥¯¥í¥·¡¼¥±¥ó¥µ¤Ï ppbus ¥ì¥Ù¥ë¤Þ¤¿¤Ï¥¢¥À¥×¥¿¥ì¥Ù¥ë (ppbus ¤Î ¥·¥¹¥Æ¥à¥ì¥¤¥ä¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤Ï .Xr ppbus 4 ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤) ¤Î¤¤¤º¤ì¤«¤Ç¼Â¹Ô¤µ¤ì¤Þ¤¹¡£ ¥Þ¥¤¥¯¥í¥·¡¼¥±¥ó¥µ¤ÎËØ¤ó¤É¤Ï¡¢ppbus ¤«¤é¥¢¥À¥×¥¿¤Ø¤Î´Ø¿ô¸Æ¤Ó½Ð¤·¤Î ¥ª¡¼¥Ð¥Ø¥Ã¥É¤òÈò¤±¤ë¤¿¤á¤Ë¡¢ppc ¥ì¥Ù¥ë¤Ç¼Â¹Ô¤µ¤ì¤Þ¤¹¡£ ¤·¤«¤·¡¢¤½¤ÎžÁ÷¤Ï IEEE1284-1994 ¤Ë¹çÃפ·¤Æ¤¤¤ë¤Î¤ËÈ¿¤·¤Æ¡¢ ¤¤¤¯¤Ä¤«¤Î·è¤Þ¤ê¤­¤Ã¤¿Íͤʵ¡Ç½¤Ï ppbus ¥ì¥¤¥ä¤Ç¼Â¹Ô¤µ¤ì¤Þ¤¹¡£ .Sh ¥Ð¥° 1 ¥ì¥Ù¥ë¤Î¥µ¥Ö¥Þ¥¤¥¯¥í¥·¡¼¥±¥ó¥¹¤Î¤ß¤¬Ç§¤á¤é¤ì¤Æ¤¤¤Þ¤¹¡£ .Pp ¥Ý¡¼¥È¤Î¥È¥ê¥¬»þ¤Ï¡¢µö²Ä¤µ¤ì¤Æ¤¤¤ëºÇÂç¤ÎÃÙ±ä¤Ï 255 ¥Þ¥¤¥¯¥íÉäǤ¹¡£ .Sh ´ØÏ¢¹àÌÜ .Xr ppbus 4 , .Xr ppc 4 , .Xr vpo 4 .Sh Îò»Ë .Nm ¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ï .Fx 3.0 ¤Ç¤Ï¤¸¤á¤ÆÅо줷¤Þ¤·¤¿¡£ .Sh ºî¼Ô ¤³¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ï .An Nicolas Souchu ¤¬½ñ¤­¤Þ¤·¤¿¡£ diff --git a/ja_JP.eucJP/man/man9/module.9 b/ja_JP.eucJP/man/man9/module.9 index ef5f53d45f..06d0ae6145 100644 --- a/ja_JP.eucJP/man/man9/module.9 +++ b/ja_JP.eucJP/man/man9/module.9 @@ -1,95 +1,114 @@ .\" -*- 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.7 2001/07/10 15:30:58 ru Exp % +.\" %FreeBSD: src/share/man/man9/module.9,v 1.8 2004/07/13 19:36:58 phk Exp % .\" .\" $FreeBSD$ .Dd March 1, 2001 .Dt MODULE 9 .Os .Sh ̾¾Î .Nm module .Nd ¥«¡¼¥Í¥ë¥â¥¸¥å¡¼¥ë¤Î¹½Â¤µ­½Ò .Sh ²òÀâ ¥«¡¼¥Í¥ëÆâ¤Î¸Ä¡¹¤Î¥â¥¸¥å¡¼¥ë¤Ï .Vt module_t ¹½Â¤ÂΤˤè¤Ã¤Æµ­½Ò¤µ¤ì¤Þ¤¹¡£ ¤³¤Î¹½Â¤ÂΤϡ¢´ö¤Ä¤«¤Î¥«¡¼¥Í¥ë¤ÎÆâÉô¥Ç¡¼¥¿¤Ï¤â¤Á¤í¤ó¡¢¥Ç¥Ð¥¤¥¹¤Î̾Á°¡¢ ¸ÇÍ­¤Î ID Èֹ桢¥¤¥Ù¥ó¥È¥Ï¥ó¥É¥é´Ø¿ô¤Ø¤Î¥Ý¥¤¥ó¥¿¡¢¤ª¤è¤Ó ¥¤¥Ù¥ó¥È¥Ï¥ó¥É¥é¤ËÅϤµ¤ì¤ë°ú¿ô¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹¡£ .Pp .Xr DECLARE_MODULE 9 ¥Þ¥¯¥í¤Ï¥·¥¹¥Æ¥à¤Ë¥â¥¸¥å¡¼¥ë¤òÅÐÏ¿¤·¤Þ¤¹¡£ +.Pp ¤½¤Î¥â¥¸¥å¡¼¥ë¤¬¥í¡¼¥É¤µ¤ì¤¿»þ¤Ë¡¢ .Fa what °ú¿ô¤Ë .Dv MOD_LOAD ¤¬ÀßÄꤵ¤ì¤Æ¡¢¥¤¥Ù¥ó¥È¥Ï¥ó¥É¥é´Ø¿ô¤¬¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹¡£ -¥¢¥ó¥í¡¼¥É»þ¤Ë¤Ï¡¢ +.Pp +¥¢¥ó¥í¡¼¥É»þ¤ÏºÇ½é¤Ë +.Fa what +¤Ë MOD_QUIESCE ¤¬ÀßÄꤵ¤ì¤Æ¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹¡£ +¥¢¥ó¥í¡¼¥É¤¬¶¯À©¤µ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¤Ë¤Ï¡¢0 ¤Ç¤Ï¤Ê¤¤Ãͤ¬Ê֤뤳¤È¤Ç +¥¢¥ó¥í¡¼¥É¤ÎȯÀ¸¤òËɤ®¤Þ¤¹¡£ +.Pp +¥¢¥ó¥í¡¼¥É¤¬·Ñ³¤¹¤ë¾ì¹ç¤Ë¤Ï .Fa what -¤Ë¤Ï +¤Ë .Dv MOD_UNLOAD ¤¬ÀßÄꤵ¤ì¤Þ¤¹¡£ +¥â¥¸¥å¡¼¥ë¤¬¤³¤ì¤Ë 0 ¤Ç¤Ï¤Ê¤¤ÃͤòÊÖ¤¹¾ì¹ç¤Ë¤Ï¡¢¥¢¥ó¥í¡¼¥É¤Ïµ¯¤³¤ê¤Þ¤»¤ó¡£ +.Pp +MOD_QUIESCE ¤È MOD_UNLOAD ¤Î°ã¤¤¤Ï¡¢¥â¥¸¥å¡¼¥ë¤¬»ÈÍÑÃæ¤Ç¤¢¤ì¤Ð +¥â¥¸¥å¡¼¥ë¤Ï MOD_QUIESCE ¤ò¼ºÇÔ¤µ¤»¤ë¤Ù¤­¤Ç¤¢¤ê¡¢¤½¤ì¤ËÂФ·¤Æ¡¢ +¥â¥¸¥å¡¼¥ë¤Î¥¢¥ó¥í¡¼¥É¤¬ÉÔ²Äǽ¤Ê¾ì¹ç¤Ë¤Î¤ß MOD_UNLOAD ¤¬¼ºÇÔ¤¹¤ë¤Ù¤­¤Ç¤¹¡£ +Î㤨¤Ð¡¢²ò½ü¤¹¤ë¤³¤È¤¬¤Ç¤­¤Ê¤¤¤½¤Î¥â¥¸¥å¡¼¥ë¤Ø¤Î¥á¥â¥ê»²¾È¤¬¤¢¤ë¾ì¹ç¤Ç¤¹¡£ +.Pp ¥·¥¹¥Æ¥à¤¬¥·¥ã¥Ã¥È¥À¥¦¥ó¤µ¤ì¤ë»þ¤Ë¤Ï¡¢ .Fa what ¤Ï .Dv MOD_SHUTDOWN ¤ÎÃͤò´Þ¤ß¤Þ¤¹¡£ +.Pp +¥â¥¸¥å¡¼¥ë¤Ï +.Fa what +¤ÎÃͤòǧ¼±¤Ç¤­¤Ê¤¤¾ì¹ç¤Ï EOPNOTSUPP ¤òÊÖ¤¹¤Ù¤­¤Ç¤¹¡£ .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/physio.9 b/ja_JP.eucJP/man/man9/physio.9 index 28450163fb..5d48ee132d 100644 --- a/ja_JP.eucJP/man/man9/physio.9 +++ b/ja_JP.eucJP/man/man9/physio.9 @@ -1,125 +1,138 @@ .\" %NetBSD: physio.9,v 1.2 1996/11/11 00:05:12 lukem 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/physio.9,v 1.14 2003/09/12 19:20:05 hmp Exp % +.\" %FreeBSD: src/share/man/man9/physio.9,v 1.15 2004/07/10 01:10:17 imp Exp % .\" $FreeBSD$ .\" -.Dd June 15, 1996 +.Dd July 8, 2004 .Dt PHYSIO 9 .Os .Sh ̾¾Î .Nm physio .Nd ¥í¥¦¥Ç¥Ð¥¤¥¹¤ÎÆþ½ÐÎϤγ«»Ï .Sh ½ñ¼° .In sys/param.h .In sys/systm.h .In sys/bio.h .In sys/buf.h .Ft int .Fn physio "dev_t dev" "struct uio *uio" "int ioflag" .Sh ²òÀâ .Fn physio ¤ÏÄ̾ ʸ»ú·¿¥Ç¥Ð¥¤¥¹¤Î .Fn read ¤ª¤è¤Ó .Fn write ¥ë¡¼¥Á¥ó¤«¤é¸Æ¤Ó½Ð¤µ¤ì¤ë¥Ø¥ë¥Ñ¡¼´Ø¿ô¤Ç¡¢ ¥æ¡¼¥¶¥×¥í¥»¥¹¤Î¥Ð¥Ã¥Õ¥¡¤Ø¤ÎÆþ½ÐÎϤò³«»Ï¤µ¤»¤Þ¤¹¡£ ¸Æ¤Ó½Ð¤·¤´¤È¤ÎºÇÂç¤Î¥Ç¡¼¥¿Å¾Á÷ÎÌ¤Ï .Fa dev->si_iosize_max ¤Ë¤è¤Ã¤Æ·èÄꤵ¤ì¤Þ¤¹¡£ +.Fn physio +¤Î¸Æ¤Ó½Ð¤·¤ÏÆþ½ÐÎÏÍ×µá¤ò +.Fn strategy +Í×µá¤ËÊÑ´¹¤·¡¢¤½¤Î½èÍý¤Î¤¿¤á¿·¤·¤¤Í×µá¤ò¥É¥é¥¤¥Ð¤Î +.Fn strategy +¥ë¡¼¥Á¥ó¤ËÅϤ·¤Þ¤¹¡£ .Pp .Fa uio ¹½Â¤ÂΤÏÄÌ¾ï¥æ¡¼¥¶¶õ´Ö¤Î¥¢¥É¥ì¥¹¤ò¼¨¤¹¤Î¤Ç¡¢ .Fn physio -¤Ï¥×¥í¥»¥¹¤ò¥á¥â¥êÃæ¤Ë¥í¥Ã¥¯¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ -¤³¤ì¤Ï¡¢¥×¥í¥»¥¹¤Ë -.Dv P_PHYSIO -¥Õ¥é¥°¤ò¥»¥Ã¥È¤¹¤ë¤³¤È¤Ç¹Ô¤Ê¤¤¤Þ¤¹¡£ +¤Ï¤³¤ì¤é¤Î¥Ú¡¼¥¸¤ò¥á¥â¥êÃæ¤Ë¥í¥Ã¥¯¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +¤³¤ì¤ÏŬÀڤʥڡ¼¥¸¤ËÂФ¹¤ë +.Fn vmapbuf +¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤Ç¹Ô¤ï¤ì¤Þ¤¹¡£ °ÊÁ°¤Ë¥¨¥é¡¼¾õÂÖ¤¬¸¡½Ð¤µ¤ì¤¿»þ¤ò½ü¤¤¤Æ¡¢ .Fn physio ¤Ï¾ï¤Ë¥ê¥¿¡¼¥ó¤¹¤ëÁ°¤ËÁ´¤Æ¤ÎÍ׵ᤵ¤ì¤¿Å¾Á÷¤¬´°Î»¤¹¤ë¤Þ¤ÇÂÔ¤Á¤Þ¤¹¡£ .Pp °ú¿ô¤Î¾ÜºÙ¤ò²¼µ­¤Ë¼¨¤·¤Þ¤¹¡£ .Bl -tag -width "strategy" .It Fa dev ¥Ç¥Ð¥¤¥¹¤ò¼±Ê̤¹¤ë¤¿¤á¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿¥Ç¥Ð¥¤¥¹Èֹ档 .It Fa uio ¥æ¡¼¥¶¥×¥í¥»¥¹¤«¤éÍ׵ᤵ¤ì¤¿Å¾Á÷Á´ÂΤε­½Ò¡£ ¸½ºß¤Ï¡¢ .Fa uio ¹½Â¤ÂΤΠ.Va uio_segflg ¥Õ¥é¥°¤Ë .Dv UIO_USERSPACE °Ê³°¤ÎÃͤò¥»¥Ã¥È¤·¤ÆÅϤ·¤¿¾ì¹ç¤Î·ë²Ì¤Ï̤ÄêµÁ¤Ç¤¹¡£ +.It Fa ioflag +.Fn physio +¤ò¸Æ¤Ó½Ð¤·¤Æ¤¤¤ë +.Fn read +¤Þ¤¿¤Ï +.Fn write +´Ø¿ô¤«¤é¤Î ioflag °ú¿ô¡£ .El .Sh Ìá¤êÃÍ À®¸ù¤¹¤ì¤Ð .Fn physio ¤Ï 0 ¤òÊÖ¤·¤Þ¤¹¡£ .Fa uio ¹½Â¤ÂΤ˼¨¤µ¤ì¤Æ¤¤¤ë¥¢¥É¥ì¥¹ÈϰϤ¬Í׵ᤷ¤¿¥×¥í¥»¥¹¤«¤é ¥¢¥¯¥»¥¹¤Ç¤­¤Ê¤¤¾ì¹ç¤Ë¤Ï .Er EFAULT ¤òÊÖ¤·¤Þ¤¹¡£ .Fn physio ¤Ï¥Ç¥Ð¥¤¥¹¤Î strategy ¥ë¡¼¥Á¥ó¤ò¸Æ¤ó¤À·ë²Ì¤È¤·¤ÆÈ¯À¸¤¹¤ë ¤¢¤é¤æ¤ë¥¨¥é¡¼¤ò .Dv B_ERROR ¥Ð¥Ã¥Õ¥¡¥Õ¥é¥°¤ª¤è¤Ó .Va b_error ¥Õ¥£¡¼¥ë¥É¤òÄ´ºº¤·¤ÆÊÖ¤·¤Þ¤¹¡£ ¥Ç¥Ð¥¤¥¹¤¬ .Dq "end of file" ¤Î¾õÂÖ¤ò¼¨¤·¤Æ¤¤¤ë»þ¤Ë¤Ï¡¢¼ÂºÝ¤ÎžÁ÷¥µ¥¤¥º¤Ï .Fa uio ¹½Â¤ÂΤÇÍ׵ᤷ¤Æ¤¤¤ë¥µ¥¤¥º¤è¤ê¤â¾®¤µ¤¯¤Ê¤ë»ö¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ .Sh ´ØÏ¢¹àÌÜ .Xr read 2 , .Xr write 2 .Sh Îò»Ë .Nm ¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ï¸µ¡¹¤Ï .Nx ¤Î¤â¤Î¤Ç¡¢ .Fx ¤ËŬ±þ¤µ¤»¤ë¤¿¤á¤Ë¾¯¤·¤ÎÊѹ¹¤¬¤¢¤ê¤Þ¤¹¡£ .Pp .Nm ¤Î¸Æ¤Ó½Ð¤·¤Ï¡¢¤è¤ê¹â¤¤Æþ½ÐÎϤª¤è¤Ó¥Ú¡¼¥¸¥ó¥°¤Î¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤Î¤¿¤á¤Ë¡¢ ´°Á´¤Ë½ñ¤­Ä¾¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ diff --git a/ja_JP.eucJP/man/man9/printf.9 b/ja_JP.eucJP/man/man9/printf.9 index b8308ab240..bf64bf5513 100644 --- a/ja_JP.eucJP/man/man9/printf.9 +++ b/ja_JP.eucJP/man/man9/printf.9 @@ -1,125 +1,166 @@ .\" .\" Copyright (c) 2001 Andrew R. Reiter +.\" Copyritht (c) 2004 Joerg Wunsch .\" 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 ``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/printf.9,v 1.3 2001/10/01 16:09:25 ru Exp % +.\" %FreeBSD: src/share/man/man9/printf.9,v 1.4 2004/08/10 09:19:08 joerg Exp % .\" .\" $FreeBSD$ -.Dd April 25, 2001 +.Dd August 10, 2004 .Dt PRINTF 9 .Os .Sh ̾¾Î -.Nm printf , uprintf , tprintf +.Nm printf , uprintf , tprintf , log .Nd ¥Õ¥©¡¼¥Þ¥Ã¥È¤µ¤ì¤¿½ÐÎϤÎÊÑ´¹ .Sh ½ñ¼° .In sys/types.h .In sys/systm.h .Ft int .Fn printf "const char *fmt" "..." .Ft void .Fn tprintf "struct proc *p" "int pri" "const char *fmt" "..." .Ft int .Fn uprintf "const char *fmt" "..." +.Ft void +.Fn log "int pri" "const char *fmt" "..." .Sh ²òÀâ .Xr printf 9 ¥Õ¥¡¥ß¥ê¤Î´Ø¿ô¤Ï .Xr printf 3 ¥Õ¥¡¥ß¥ê¤Î´Ø¿ô¤ÈÎà»÷¤·¤Æ¤¤¤Þ¤¹¡£ -¤³¤Î 3 ¤Ä¤Î´Ø¿ô¤Ï¤½¤ì¤¾¤ì°Û¤Ê¤Ã¤¿½ÐÎÏ¥¹¥È¥ê¡¼¥à¤ò»ÈÍѤ·¤Þ¤¹¡£ +¤³¤Î°Û¤Ê¤Ã¤¿´Ø¿ô¤Ï¤½¤ì¤¾¤ì°Û¤Ê¤Ã¤¿½ÐÎÏ¥¹¥È¥ê¡¼¥à¤ò»ÈÍѤ·¤Þ¤¹¡£ .Fn uprintf ´Ø¿ô¤Ï¸½ºß¤Î¥×¥í¥»¥¹¤¬À©¸æ¤·¤Æ¤¤¤ë tty ¤Ë½ÐÎϤ·¤Þ¤¹¤¬¡¢ .Fn printf ¤Ï¥í¥®¥ó¥°¥Õ¥¡¥·¥ê¥Æ¥£¤ª¤è¤Ó¥³¥ó¥½¡¼¥ë¤Ë½ÐÎϤ·¤Þ¤¹¡£ .Fn tprintf ´Ø¿ô¤Ï .Fa pri ¤¬ \&-1 ¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢¥×¥í¥»¥¹ .Fa p ¤Ë´ØÏ¢¤Å¤±¤é¤ì¤¿ tty ¤ª¤è¤Ó¥í¥®¥ó¥°¥Õ¥¡¥·¥ê¥Æ¥£¤Ë½ÐÎϤ·¤Þ¤¹¡£ +.Fn log +´Ø¿ô¤Ï +.Fa pri +¤Ë¤è¤Ã¤Æ¼¨¤µ¤ì¤¿¥í¥°¥ì¥Ù¥ë¤ò»ÈÍѤ·¤Æ¡¢ +¥«¡¼¥Í¥ë¤Î¥í¥®¥ó¥°¥Õ¥¡¥·¥ê¥Æ¥£¤Ë¥á¥Ã¥»¡¼¥¸¤òÁ÷¤ê¤Þ¤¹¡£ .Pp ¤³¤ì¤é¤½¤ì¤¾¤ì¤Î´ØÏ¢¤·¤¿´Ø¿ô¤Ï¡¢ .Xr printf 3 ¤ÈƱ¤¸ÊýË¡¤Ç .Fa fmt ¥Ñ¥é¥á¡¼¥¿¤ò»ÈÍѤ·¤Þ¤¹¡£ ¤·¤«¤·¤Ê¤¬¤é¡¢ .Xr printf 9 ¤Ï 2 ¤Ä¤Î¾¤ÎÊÑ´¹»ØÄê»Ò¤òÄɲ䷤Ƥ¤¤Þ¤¹¡£ .Pp .Cm \&%b ¼±ÊÌ»Ò¤Ï 2 ¤Ä¤Î°ú¿ô¤ò´üÂÔ¤·¤Þ¤¹¡£ .Vt int ¤ª¤è¤Ó .Vt "char *" ¤Ç¤¹¡£ ¤³¤ì¤é¤Ï¥Ó¥Ã¥È¥Þ¥¹¥¯¤Î¥Ç¥³¡¼¥É¤Î¤¿¤á¡¢ ¥ì¥¸¥¹¥¿ÃͤȰõ»ú¥Þ¥¹¥¯¤È¤·¤Æ»ÈÍѤµ¤ì¤Þ¤¹¡£ -¤³¤Î°õ»ú¥Þ¥¹¥¯¤Ï 2 ¤Ä¤ÎÉôʬ¤Ç¹½À®¤µ¤ì¤Þ¤¹¡£´ð¿ô¤È°ú¿ô¤Ç¤¹¡£ +¤³¤Î°õ»ú¥Þ¥¹¥¯¤Ï 2 ¤Ä¤ÎÉôʬ¤Ç¹½À®¤µ¤ì¤Þ¤¹¡£ +´ð¿ô¤È°ú¿ô¤Ç¤¹¡£ ´ð¿ôÃͤÏÀ°¿ôÃͤȤ·¤ÆÉ½¸½¤µ¤ì¤ë½ÐÎϤδð¿ô¤Ç¤¹¡£ Î㤨¤Ð¡¢\\10 ¤Ï 8 ¿Ê¿ô¤ò \\20 ¤Ï 16 ¿Ê¿ô¤òÍ¿¤¨¤Þ¤¹¡£ °ú¿ô¤Ï¥Ó¥Ã¥È¼±Ê̻ҤÎʤӤȤ·¤Æ¹½À®¤µ¤ì¤Þ¤¹¡£ ¸Ä¡¹¤Î¥Ó¥Ã¥È¼±Ê̻ҤϤ³¤Î¼±Ê̻Ҥ¬É½¤¹¥Ó¥Ã¥ÈÈÖ¹æ¤ÎÀ°¿ôÃͤǻϤޤê¤Þ¤¹¡£ ¼±Ê̻ҤλĤêÉôʬ¤Ï¤½¤Î¥Ó¥Ã¥È¤Î̾Á°¤ò´Þ¤àʸ»úÎó¤Ç¤¹¡£ ¤³¤Îʸ»úÎó¤Ï¼¡¤Î¥Ó¥Ã¥È¼±Ê̻ҤλϤޤê¤Î¥Ó¥Ã¥ÈÈֹ桢 ¤Þ¤¿¤ÏºÇ¸å¤Î¥Ó¥Ã¥È¼±Ê̻ҤΤ¿¤á¤Ë .Dv NUL ¤Ç½ªÃ¼¤µ¤ì¤Þ¤¹¡£ .Pp .Cm \&%D ¼±ÊÌ»Ò¤Ï 16 ¿Ê¥À¥ó¥×¤òÊä½õ¤¹¤ë¤³¤È¤ò°Õ¿Þ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ .Cm \&%D ¤³¤ì¤Ï 2 ¤Ä¤Î°ú¿ô¤òÍ׵ᤷ¤Þ¤¹¡£ .Vt "u_char *" ¥Ý¥¤¥ó¥¿¤ª¤è¤Ó .Vt "char *" ʸ»úÎó¤Ç¤¹¡£ ¥Ý¥¤¥ó¥¿¤¬»Ø¤·¤Æ¤¤¤ë¥á¥â¥ê¤Ï¡¢16 ¿Ê¿ô¤Ç°ìÅÙ¤Ë 1 ¥Ð¥¤¥È½ÐÎϤµ¤ì¤Þ¤¹¡£ ʸ»úÎó¤Ï¸Ä¡¹¤Î¥Ð¥¤¥È¤Î´Ö¤Î¥Ç¥ê¥ß¥¿¤È¤·¤Æ»ÈÍѤµ¤ì¤Þ¤¹¡£ ¤â¤·Â¸ºß¤¹¤ì¤Ð¡¢Éý¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤¬É½¼¨¤¹¤ë¥Ð¥¤¥È¿ô¤ò»ØÄꤷ¤Þ¤¹¡£ ¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢16 ¥Ð¥¤¥È¤Î¥Ç¡¼¥¿¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ +.Pp +.Fn log +´Ø¿ô¤Ï¤½¤Î +.Fa pri +°ú¿ô (¤³¤³¤Ï¸í²ò¤µ¤ì¤Æ +.Sq priority (Í¥ÀèÅÙ) +¤È¸Æ¤Ð¤ì¤Æ¤¤¤¿) ¤Ë +.Xr syslog 3 +¤Î¥ì¥Ù¥ëÃͤΠ+.Dv LOG_DEBUG +¤«¤é +.Dv LOG_EMERG +¤Þ¤Ç¤ò»ÈÍѤ·¤Þ¤¹¡£ +Âå¤ï¤ê¤Ë¡¢ +.Fa pri +¤Ë \&-1 ¤¬Í¿¤¨¤é¤ì¤¿¾ì¹ç¤Ë¤Ï¡¢¤½¤Î¥á¥Ã¥»¡¼¥¸¤Ï¤½¤ÎÁ°¤Î +.Fn log +¤Î¸Æ¤Ó½Ð¤·¤Ë¤è¤Ã¤Æ³«»Ï¤µ¤ì¤¿¡¢ºÇ¶á¤Î¥í¥°¥á¥Ã¥»¡¼¥¸¤ËÄɲ䵤ì¤Þ¤¹¡£ +¤³¤ì¤é¤Î¥á¥Ã¥»¡¼¥¸¤Ï¥«¡¼¥Í¥ë¼«¿È¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤ë¤¿¤á¡¢ +¤³¤Î¥Õ¥¡¥·¥ê¥Æ¥£¤Ï¾ï¤Ë +.Dv LOG_KERN +¤È¤Ê¤ê¤Þ¤¹¡£ .Sh Ìá¤êÃÍ .Fn printf ¤ª¤è¤Ó .Fn uprintf ´Ø¿ô¤Ïɽ¼¨¤µ¤ì¤¿Ê¸»ú¿ô¤òÊÖ¤·¤Þ¤¹¡£ .Sh »ÈÍÑÎã ¤³¤Î»ÈÍÑÎã¤Ï \&%b ¤ª¤è¤Ó \&%D ÊÑ´¹»ØÄê»Ò¤Î»ÈÍÑÊýË¡¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£ ´Ø¿ô .Bd -literal -offset indent void printf_test(void) { printf("reg=%b\\n", 3, "\\10\\2BITTWO\\1BITONE\\n"); printf("out: %4D\\n", "AAAA", ":"); } .Ed .Pp ¤Ï²¼µ­¤Î½ÐÎϤòȯÀ¸¤µ¤»¤Þ¤¹¡£ .Bd -literal -offset indent reg=3 out: 41:41:41:41 .Ed +.Pp +¤³¤Î¸Æ¤Ó½Ð¤· +.Bd -literal -offset indent +log(LOG_DEBUG, "%s%d: been there.\\n", sc->sc_name, sc->sc_unit); +.Ed +.Pp +¤ÏŬÀڤʥǥХå°¥á¥Ã¥»¡¼¥¸¤òÍ¥ÀèÅÙ +.Em kern.debug +¤Ç¥·¥¹¥Æ¥à¥í¥°¤ËÄɲä·¤Þ¤¹¡£ .Sh ´ØÏ¢¹àÌÜ -.Xr printf 3 +.Xr printf 3 , +.Xr syslog 3 diff --git a/ja_JP.eucJP/man/man9/pseudofs.9 b/ja_JP.eucJP/man/man9/pseudofs.9 index 0854949519..1babfce378 100644 --- a/ja_JP.eucJP/man/man9/pseudofs.9 +++ b/ja_JP.eucJP/man/man9/pseudofs.9 @@ -1,69 +1,69 @@ .\"- .\" 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/pseudofs.9,v 1.4 2002/12/12 17:25:58 ru Exp % +.\" %FreeBSD: src/share/man/man9/pseudofs.9,v 1.5 2004/07/03 18:29:24 ru Exp % .\" .\" $FreeBSD$ .Dd September 30, 2001 .Dt PSEUDOFS 9 .Os .Sh ̾¾Î .Nm pseudofs .Nd µ¿»÷¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¹½ÃÛ¥­¥Ã¥È .Sh ½ñ¼° .In fs/pseudofs/pseudofs.h .\" ¤³¤³¤Ë»ÈÍÑÎã¤òÁÞÆþ¤¹¤ë .Sh ²òÀâ .Nm ¥â¥¸¥å¡¼¥ë¤Ï .Xr procfs 5 ¤ª¤è¤Ó .Xr linprocfs 5 ¤Î¤è¤¦¤Êµ¿»÷¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¤¿¤á¤ÎÃê¾Ý API ¤òÄ󶡤·¤Þ¤¹¡£ ¤³¤ì¤Ï VFS ¥·¥¹¥Æ¥à¤È¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥¢¥¯¥»¥¹À©¸æ¤Î¶¯À©¡¢¥Õ¥¡¥¤¥ë¿ô¤Î ÄÉÀפΰݻý¡¢¤ª¤è¤Ó¥×¥í¥»¥¹ÆÃÍ­¤Î¥Õ¥¡¥¤¥ë¤È¥Ç¥£¥ì¥¯¥È¥ê¤ÎÊ£À½¡¢ ¤Î¤è¤¦¤ÊÁ´¤Æ¤ÎÊ£»¨¤Ê»öÊÁ¤ÎÌÌÅݤò¤ß¤Þ¤¹¡£ ¥³¥ó¥·¥å¡¼¥Þ¥â¥¸¥å¡¼¥ë¡¢¤¹¤Ê¤ï¤Á¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¼ÂºÝ¤ÎÃæ¿´Éô¤ò ¼ÂÁõ¤¹¤ë¥â¥¸¥å¡¼¥ë¤Ï¡¢(Àë¸À¤µ¤ì¤¿¹½Â¤ÂΤν¸¹ç¤Ë¤è¤Ã¤Æµ­½Ò¤µ¤ì¡¢ .Nm ¤Ë¤è¤Ã¤ÆÄ󶡤µ¤ì¤ë¥Þ¥¯¥í¤Ë¤è¤Ã¤Æ½é´ü²½¤µ¤ì¤¿) ¥Ç¥£¥ì¥¯¥È¥ê¹½Â¤¤ª¤è¤Ó¡¢ ¥Õ¥¡¥¤¥ë¤Î°À­¤ÎÊó¹ð¤Þ¤¿¤Ï sbuf ¤Ë¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤ò ¼ÂºÝ¤Ë½ñ¤­¹þ¤à¥³¡¼¥ë¥Ð¥Ã¥¯¤À¤±¤ò¡¢Ä󶡤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ .\" ¤³¤³¤Ë¤è¤ê¿¤¯¤Î¾ðÊó¤òÁÞÆþ¤¹¤ë .Sh ´ØÏ¢¹àÌÜ .Xr linprocfs 5 , .Xr procfs 5 , .Xr sbuf 9 , .Xr vnode 9 .Sh Îò»Ë .Nm ¥â¥¸¥å¡¼¥ë¤Ï .Fx 5.0 ¤ÇÅо줷¤Þ¤·¤¿¡£ .Sh ºî¼Ô .Nm ¥â¥¸¥å¡¼¥ë¤È¤³¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ï .An Dag-Erling Sm\(/orgrav ¤¬½ñ¤­¤Þ¤·¤¿¡£ diff --git a/ja_JP.eucJP/man/man9/sbuf.9 b/ja_JP.eucJP/man/man9/sbuf.9 index ecfb8fb0e1..57cbc466bb 100644 --- a/ja_JP.eucJP/man/man9/sbuf.9 +++ b/ja_JP.eucJP/man/man9/sbuf.9 @@ -1,365 +1,365 @@ .\"- .\" 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.22 2004/01/25 11:39:41 des Exp % +.\" %FreeBSD: src/share/man/man9/sbuf.9,v 1.24 2004/07/09 11:44:49 des Exp % .\" $FreeBSD$ .\" -.Dd January 3, 2002 +.Dd July 9, 2004 .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_vprintf , .Nm sbuf_putc , .Nm sbuf_trim , .Nm sbuf_overflowed , .Nm sbuf_finish , .Nm sbuf_data , .Nm sbuf_len , .Nm sbuf_done , .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" +.Fn sbuf_bcat "struct sbuf *s" "const void *buf" "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" +.Fn sbuf_bcpy "struct sbuf *s" "const void *buf" "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_vprintf "struct sbuf *s" "const char *fmt" "va_list ap" .Ft int .Fn sbuf_putc "struct sbuf *s" "int c" .Ft int .Fn sbuf_trim "struct sbuf *s" .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 int .Fn sbuf_done "struct sbuf *s" .Ft void .Fn sbuf_delete "struct sbuf *s" .Sh ²òÀâ .Nm sbuf ¥Õ¥¡¥ß¥ê¤Î´Ø¿ô¤Ï¡¢¥«¡¼¥Í¥ë¶õ´ÖÆâ¤Î¶­³¦¤Î¤¢¤ë¥Ì¥ë½ªÃ¼Ê¸»úÎó¤Î¡¢ °ÂÁ´¤Ê³ä¤êÅö¤Æ¡¢¹½ÃÛ¡¢¤ª¤è¤Ó²òÊü¤ò²Äǽ¤Ë¤·¤Þ¤¹¡£ ¤³¤ì¤é¤Î´Ø¿ô¤Ï¡¢Ê¸»ú¤ÎÇÛÎó¤ÎÂå¤ï¤ê¤Ë¡¢ .In 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 ¤Ï°Ê²¼¤Î¥Õ¥é¥°¤«¤é¹½À®¤µ¤ìÆÀ¤Þ¤¹: .Bl -tag -width ".Dv SBUF_AUTOEXTEND" .It Dv SBUF_FIXEDLEN ³ÊǼ¥Ð¥Ã¥Õ¥¡¤Ï½é´ü¥µ¥¤¥º¤Ç¸ÇÄê¤Ç¤¹¡£ ¤³¤ì¤ò±Û¤¨¤Æ sbuf ¤ò³ÈÄ¥¤·¤è¤¦¤È¤¹¤ë¤È¡¢¥ª¡¼¥Ð¥Õ¥í¡¼¾õÂ֤Ȥʤê¤Þ¤¹¡£ .It Dv SBUF_AUTOEXTEND ¤³¤ì¤Ï¡¢Äɲåǡ¼¥¿¤Î³ÊǼ¤Î¤¿¤á¤ËɬÍפʤé¤Ð¡¢ »ñ¸»¤Îµö¤¹¸Â¤ê¤Ë¤ª¤¤¤Æ¡¢³ÊǼ¥Ð¥Ã¥Õ¥¡¤Ï³ÈÄ¥²Äǽ¤Ç¤¢¤ë¤³¤È¤ò¼¨¤·¤Þ¤¹¡£ .El .Pp .Fa buf ¤¬ .Dv NULL ¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢¾¯¤Ê¤¯¤È¤â .Fa length ʸ»ú°Ê¾å¤ÎÇÛÎó¤ò»Ø¤µ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ sbuf ¤Ë¤è¤Ã¤Æ»ÈÍѤµ¤ì¤Æ¤¤¤ë´Ö¤ËľÀܤ½¤ÎÇÛÎó¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤³¤È¤Î·ë²Ì¤Ï ̤ÄêµÁ¤Ç¤¹¡£ .Pp .Fn sbuf_delete ´Ø¿ô¤Ï .Fa sbuf ¤ò¥¯¥ê¥¢¤·¤Æ¡¢¤½¤Î¤¿¤á¤Ë³ä¤êÅö¤Æ¤é¤ì¤¿Á´¤Æ¤Î¥á¥â¥ê¤ò³«Êü¤·¤Þ¤¹¡£ Á´¤Æ¤Î .Fn sbuf_new ¤Ø¤Î¸Æ¤Ó½Ð¤·¤Î¤¿¤á¤Î .Fn sbuf_delete ¤Î¸Æ¤Ó½Ð¤·¤¬¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ ºï½ü¤µ¤ì¤¿¸å¤Î sbuf ¤Ø¤ÎÁ´¤Æ¤Î¥¢¥¯¥»¥¹¤Î»î¤ß¤Ï¼ºÇÔ¤·¤Þ¤¹¡£ .Pp .Fn sbuf_clear ´Ø¿ô¤Ï .Fa sbuf ¤ÎÆâÍÆ¤ò̵¸ú¤Ë¤·¡¢°ÌÃÖ¤ò 0 ¤Ë¥ê¥»¥Ã¥È¤·¤Þ¤¹¡£ .Pp .Fn sbuf_setpos ´Ø¿ô¤Ï .Fa sbuf ¤Î½ªÎ»°ÌÃÖ¤ò¡¢0 ¤È³ÊǼ¥Ð¥Ã¥Õ¥¡¤ÎÂ礭¤µ¤è¤ê¤â 1 ¾®¤µ¤¤Ãͤδ֤ÎÃͤǤ¢¤ë .Fa pos ¤ËÀßÄꤷ¤Þ¤¹¡£ ·ë²Ì¤È¤·¤Æ¡¢¿·¤·¤¤°ÌÃ֤ˤª¤¤¤Æ sbuf ¤ÎÀèü¤òÀÚ¤ê¼Î¤Æ¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ .Pp .Fn sbuf_bcat -´Ø¿ô¤Ï¥Ð¥¤¥ÈÎó -.Fa str +´Ø¿ô¤Ï¥Ð¥Ã¥Õ¥¡ +.Fa buf ¤ÎºÇ½é¤Î .Fa len ¥Ð¥¤¥È¤ò .Fa sbuf ¤ËÄɲä·¤Þ¤¹¡£ .Pp .Fn sbuf_bcopyin ´Ø¿ô¤ÏÌÀ¼¨¤µ¤ì¤¿¥æ¡¼¥¶¶õ´Ö¥¢¥É¥ì¥¹¤«¤é .Fa sbuf ¤Ë .Fa len ¥Ð¥¤¥È¤ò¥³¥Ô¡¼¤·¤Þ¤¹¡£ .Pp .Fn sbuf_bcpy ´Ø¿ô¤Ï .Fa sbuf -¤ÎÆâÍÆ¤ò¥Ð¥¤¥ÈÎó -.Fa str +¤ÎÆâÍÆ¤ò¥Ð¥Ã¥Õ¥¡ +.Fa buf ¤ÎºÇ½é¤Î .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_vprintf ´Ø¿ô¤Ï .Fn sbuf_printf ¤ÈƱÍͤ˿¶Éñ¤¤¤Þ¤¹¤¬¡¢°ú¿ô¤¬²ÄÊÑŰú¿ô¥ê¥¹¥È .Fa ap ¤«¤é¼èÆÀ¤µ¤ì¤ë¤³¤È¤¬°ã¤¤¤Þ¤¹¡£ .Pp .Fn sbuf_putc ´Ø¿ô¤Ïʸ»ú .Fa c ¤ò .Fa sbuf ¤Î¸½ºß°ÌÃÖ¤ËÄɲä·¤Þ¤¹¡£ .Pp .Fn sbuf_trim ´Ø¿ô¤ÏËöÈø¤Î¶õÇò¤ò .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 ¤ËÂФ·¤Æ¤Î¤ßµ¡Ç½¤·¤Þ¤¹¡£ .Fn sbuf_done ¤Ï¤½¤Î sbuf ¤¬½ªÎ»¤·¤¿¾ì¹ç¤Ë¤Ï¡¢0 ¤Ç¤Ê¤¤ÃͤòÊÖ¤·¤Þ¤¹¡£ .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 , .Fn sbuf_trim ¤ÏÁ´¤Æ¥Ð¥Ã¥Õ¥¡¤¬¥ª¡¼¥Ð¥Õ¥í¡¼¤·¤¿¾ì¹ç¤Ë¤Ï \-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 , .Xr printf 9 .Sh Îò»Ë .Nm sbuf ¥Õ¥¡¥ß¥ê¤Î´Ø¿ô¤Ï .Fx 4.4 ¤Ç¤Ï¤¸¤á¤ÆÅо줷¤Þ¤·¤¿¡£ .Sh ºî¼Ô .An -nosplit .Nm sbuf ¥Õ¥¡¥ß¥ê¤Î´Ø¿ô¤Ï .An Poul-Henning Kamp Aq phk@FreeBSD.org ¤¬À߷פ·¡¢ .An Dag-Erling Sm\(/orgrav Aq des@FreeBSD.org ¤¬¼ÂÁõ¤·¤Þ¤·¤¿¡£ ÄɲäβþÎÉ¤Ï .An Justin T. Gibbs Aq gibbs@FreeBSD.org ¤¬Ä󰯤·¤Þ¤·¤¿¡£ ¼«Æ°³ÈÄ¥¥µ¥Ý¡¼¥È¤Ï .An Kelly Yancey Aq kbyanc@FreeBSD.org ¤¬Äɲä·¤Þ¤·¤¿¡£ .Pp ¤³¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ï .An Dag-Erling Sm\(/orgrav Aq des@FreeBSD.org ¤¬½ñ¤­¤Þ¤·¤¿¡£ diff --git a/ja_JP.eucJP/man/man9/sema.9 b/ja_JP.eucJP/man/man9/sema.9 index e103f85a93..9fec971d2a 100644 --- a/ja_JP.eucJP/man/man9/sema.9 +++ b/ja_JP.eucJP/man/man9/sema.9 @@ -1,116 +1,129 @@ .\" .\" Copyright (C) 2001 Jason Evans . 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(s), this list of conditions and the following disclaimer as .\" the first lines of this file unmodified other than the possible .\" addition of one or more copyright notices. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice(s), 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 COPYRIGHT HOLDER(S) ``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 COPYRIGHT HOLDER(S) 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/sema.9,v 1.6 2002/03/28 12:51:06 dd Exp % -.\" +.\" %FreeBSD: src/share/man/man9/sema.9,v 1.9 2004/07/07 19:57:15 ru Exp % .\" $FreeBSD$ -.Dd August 13, 2001 +.\" +.Dd June 14, 2004 .Dt SEMA 9 .Os .Sh ̾¾Î .Nm sema , .Nm sema_init , .Nm sema_destroy , .Nm sema_post , .Nm sema_wait , .Nm sema_timedwait , .Nm sema_trywait , .Nm sema_value .Nd ¥«¡¼¥Í¥ë·×¿ô¥»¥Þ¥Õ¥© .Sh ½ñ¼° .In sys/types.h .In sys/lock.h .In sys/sema.h .Ft void .Fn sema_init "struct sema *sema" "int value" "const char *description" .Ft void .Fn sema_destroy "struct sema *sema" .Ft void .Fn sema_post "struct sema *sema" .Ft void .Fn sema_wait "struct sema *sema" .Ft int .Fn sema_timedwait "struct sema *sema" "int timo" .Ft int .Fn sema_trywait "struct sema *sema" .Ft int .Fn sema_value "struct sema *sema" .Sh ²òÀ⠷׿ô¥»¥Þ¥Õ¥©¤Ï¥ê¥½¡¼¥¹¤Î¥×¡¼¥ë¤Ø¤Î¥¢¥¯¥»¥¹¤ÎƱ´ü¤Î¤¿¤á¤Î »ÅÁȤߤòÄ󶡤·¤Þ¤¹¡£ mutex ¤È¤Ï°ã¤¤¡¢¥»¥Þ¥Õ¥©¤Ï½êÍ­¼Ô¤Î³µÇ°¤Ï»ý¤Ã¤Æ¤¤¤Ê¤¤¤¿¤á¡¢ 1 ¤Ä¤Î¥¹¥ì¥Ã¥É¤¬¥ê¥½¡¼¥¹¤Î³ÍÆÀ¤òɬÍפȤ·¡¢Ê̤Υ¹¥ì¥Ã¥É¤¬¤½¤Î¥ê¥½¡¼¥¹¤Î ³«Êü¤òɬÍפȤ¹¤ë¤è¤¦¤Ê¾õ¶·¤Ç¤â¡¢ÍøÍѤǤ­¤Þ¤¹¡£ ³Æ¡¹¤Î¥»¥Þ¥Õ¥©¤Ï¡¢¤½¤ì¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿À°¿ôÃͤò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£ ¥Ý¥¹¥È (¥¤¥ó¥¯¥ê¥á¥ó¥È) ¤Ï¾ï¤ËÀ®¸ù¤·¤Þ¤¹¤¬¡¢¥¦¥§¥¤¥È (¥Ç¥¯¥ê¥á¥ó¥È) ¤Ï ¤½¤Î¥»¥Þ¥Õ¥©¤ÎÃͤ¬ 0 °Ê¾å¤Ë¤Ê¤ë¾ì¹ç¤Ë¤Î¤ß¡¢À®¸ù¤·¤Æ´°Î»¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£ .Pp ¥»¥Þ¥Õ¥©¤Ï mutex ¤È¾õÂÖÊÑ¿ô¤Ç½½Ê¬¤Ç¤¢¤ë¤è¤¦¤Ê¤È¤³¤í¤Ç¤Ï»ÈÍѤ¹¤ë¤Ù¤­¤Ç¤Ï ¤¢¤ê¤Þ¤»¤ó¡£ ¥»¥Þ¥Õ¥©¤Ï mutex ¤È¾õÂÖÊÑ¿ô¤è¤êÊ£»¨¤ÊƱ´ü¤Î»ÅÁȤߤǤ¹¤Î¤Ç¡¢ ¤½¤Î¤¿¤á¸úΨŪ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ .Pp ¥»¥Þ¥Õ¥©¤Ï .Fn sema_init ¤ò»ÈÍѤ·¤ÆºîÀ®¤µ¤ì¤Þ¤¹¡£ ¤³¤³¤Ç .Fa sema ¤Ï .Vt "struct sema" ¤Î¤¿¤á¤ÎÎÎ°è¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¡¢ .Fa value ¤Ï¥»¥Þ¥Õ¥©¤Î½é´üÃͤǡ¢ .Fa description ¤Ï¤½¤Î¥»¥Þ¥Õ¥©¤òÀâÌÀ¤¹¤ë¥Ì¥ë¤Ç½ªÃ¼¤µ¤ì¤¿Ê¸»úÎó¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¹¡£ ¥»¥Þ¥Õ¥©¤Ï .Fn sema_destroy ¤ò»ÈÍѤ·¤ÆÇ˲õ¤µ¤ì¤Þ¤¹¡£ ¥»¥Þ¥Õ¥©¤Ï .Fn sema_post ¤ò»ÈÍѤ·¤Æ¥Ý¥¹¥È (¥¤¥ó¥¯¥ê¥á¥ó¥È) ¤µ¤ì¤Þ¤¹¡£ ¥»¥Þ¥Õ¥©¤Ï .Fn sema_wait , .Fn sema_timedwait ¤Þ¤¿¤Ï .Fn sema_trywait ¤ò»ÈÍѤ·¤Æ¥¦¥§¥¤¥È (¥Ç¥¯¥ê¥á¥ó¥È) ¤µ¤ì¤Þ¤¹¡£ .Fn sema_timedwait ¤Ø¤Î .Fa timo °ú¿ô¤Ï¼ºÇÔ¤·¤ÆÌá¤ëÁ°¤Ë¥¦¥§¥¤¥È¤¹¤ë¤¿¤á¤Î tick ñ°Ì¤Ç¤ÎºÇ¾®»þ´Ö¤ò»ØÄꤷ¤Þ¤¹¡£ .Fn sema_value -¤Ï¸½ºß¤Î¥»¥Þ¥Õ¥©¤ÎÃͤòÊÖ¤·¤Þ¤¹¡£ +¤Ï¥»¥Þ¥Õ¥©¤Î¸½ºß¤ÎÃͤòÆÉ¤ß½Ð¤¹¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ +.Sh Ìá¤êÃÍ +.Fn sema_value +´Ø¿ô¤Ï¸½ºß¤Î¥»¥Þ¥Õ¥©¤ÎÃͤòÊÖ¤·¤Þ¤¹¡£ .Pp -.Fn sema_timedwait -¤ª¤è¤Ó +¥»¥Þ¥Õ¥©¤Î¥Ç¥¯¥ê¥á¥ó¥È¤Ë¤è¤ê¤½¤ÎÃͤ¬Éé¤Ë¤Ê¤Ã¤¿¾ì¹ç¤Ë¤Ï¡¢ .Fn sema_trywait -¤Ï¡¢¤½¤Î¥»¥Þ¥Õ¥©¾å¤Ç¤Î¥¦¥§¥¤¥È¤Ë¼ºÇÔ¤·¤¿¾ì¹ç¤Ë¤Ï 0 ¤òÊÖ¤·¤Þ¤¹¡£ +¤Ï¼ºÇÔ¤ò¼¨¤¹¤¿¤á¤Ë 0 ¤òÊÖ¤·¤Þ¤¹¡£ ¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢À®¸ù¤ò¼¨¤¹¤¿¤á¤Ë 0 ¤Ç¤Ï¤Ê¤¤Ãͤ¬ÊÖ¤µ¤ì¤Þ¤¹¡£ +.Pp +.Fn sema_timedwait +´Ø¿ô¤Ï¤½¤Î¥»¥Þ¥Õ¥©¾å¤Ç¤Î¥¦¥§¥¤¥È¤¬À®¸ù¤·¤¿¾ì¹ç¤Ë¤Ï 0 ¤òÊÖ¤·¡¢ +¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ï 0 ¤Ç¤Ï¤Ê¤¤¥¨¥é¡¼¥³¡¼¥É¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£ +.Sh ¥¨¥é¡¼ +.Fn sema_timedwait +´Ø¿ô¤Ï°Ê²¼¤Î¾ì¹ç¤Ë¼ºÇÔ¤·¤Þ¤¹¡£ +.Bl -tag -width Er +.It Bq Er EWOULDBLOCK +¥¿¥¤¥à¥¢¥¦¥È¤·¤Þ¤·¤¿¡£ +.El .Sh ´ØÏ¢¹àÌÜ .Xr condvar 9 , .Xr mtx_pool 9 , .Xr mutex 9 , .Xr sx 9 diff --git a/ja_JP.eucJP/man/man9/spl.9 b/ja_JP.eucJP/man/man9/spl.9 index f391dba001..e645e0eea3 100644 --- a/ja_JP.eucJP/man/man9/spl.9 +++ b/ja_JP.eucJP/man/man9/spl.9 @@ -1,211 +1,211 @@ .\" .\" Copyright (c) 1996 Joerg Wunsch .\" .\" 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 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/spl.9,v 1.18 2003/10/23 02:33:03 hmp Exp % +.\" %FreeBSD: src/share/man/man9/spl.9,v 1.19 2004/07/03 18:29:24 ru Exp % .\" $FreeBSD$ .\" .Dd July 21, 1996 .Os .Dt SPL 9 .Sh ̾¾Î .Nm splbio , .Nm splclock , .Nm splhigh , .Nm splimp , .Nm splnet , .Nm splsoftclock , .Nm splsofttty , .Nm splstatclock , .Nm spltty , .Nm splvm , .Nm spl0 , .Nm splx .Nd ³ä¤ê¹þ¤ßÍ¥ÀèÅÙ¤ÎÁàºî .Sh ½ñ¼° .In sys/types.h .In sys/systm.h .Ft intrmask_t .Fn splbio "void" .Ft intrmask_t .Fn splclock "void" .Ft intrmask_t .Fn splhigh "void" .Ft intrmask_t .Fn splimp "void" .Ft intrmask_t .Fn splnet "void" .Ft intrmask_t .Fn splsoftclock "void" .Ft intrmask_t .Fn splsofttty "void" .Ft intrmask_t .Fn splstatclock "void" .Ft intrmask_t .Fn spltty "void" .Ft void .Fn spl0 "void" .Ft void .Fn splx "intrmask_t ipl" .Sh ²òÀâ .Bf -symbolic ¤³¤Î API ¤Ï¿ä¾©¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£ ¥Ç¡¼¥¿¹½Â¤¤òÊݸ¤ë¤¿¤á¤Ë¤Ï¡¢Âå¤ï¤ê¤Ë mutex ¤ò»ÈÍѤ·¤Þ¤¹¡£ ¾ÜºÙ¾ðÊó¤Ï .Xr mutex 9 ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ .Ef .Pp .Fn spl ´Ø¿ô¥Õ¥¡¥ß¥ê¤Ï CPU ¤Î³ä¤ê¹þ¤ßÍ¥ÀèÅ٤Π.Dq ¥ì¥Ù¥ë ¤òÀßÄꤷ¤Þ¤¹¡£ ¤³¤ì¤Ï¥Ö¥í¥Ã¥¯¤µ¤ì¤¿Í¥ÀèÅÙ¥ì¥Ù¥ë¤Î³ä¤ê¹þ¤ß¥Ï¥ó¥É¥é¤Î¼Â¹Ô¤òÍÞÀ©¤·¤Þ¤¹¡£ ³ä¤ê¹þ¤ß¥Ï¥ó¥É¥é¤Ë¤è¤Ã¤ÆÄ´ºº¤¢¤ë¤¤¤Ï½¤Àµ¤µ¤ì¤¿¤Ç¤¢¤í¤¦¥Ç¡¼¥¿Îΰè¤ò Ä´ºº¤¢¤ë¤¤¤Ï½¤Àµ¤¹¤ë¥É¥é¥¤¥Ð¤Î .Dq synchronous Éôʬ(¥æ¡¼¥¶¥×¥í¥»¥¹¤òÂåɽ¤·¤Æ¼Â¹Ô¤µ¤ì¤ëÉôʬ)¤Ç»ÈÍѤµ¤ì¤Þ¤¹¡£ .Pp Ä̾綠¤ì¤¾¤ì¤Î³ä¤ê¹þ¤ß¤ò»ÈÍѤ¹¤ë¥É¥é¥¤¥Ð¤Ï¡¢ config ¥Õ¥¡¥¤¥ë¤Î¥­¡¼¥ï¡¼¥É¤Ë¤è¤Ã¤Æ 1 ¤Ä¤Î ³ä¤ê¹þ¤ßÍ¥ÀèÅÙ¥°¥ë¡¼¥×¤Ë³ä¤êÅö¤Æ¤é¤ì¤Þ¤¹¡£ Î㤨¤Ð¡¢ .Bd -literal -offset indent device foo0 at isa? port 0x0815 irq 12 tty .Ed .Pp ¤Ï¡¢³ä¤ê¹þ¤ß 12 ¤ò .Dq tty Í¥ÀèÅÙ¥°¥ë¡¼¥×¤Ë³ä¤êÅö¤Æ¤Þ¤¹¡£ ¥·¥¹¥Æ¥à¤Ï¼«Æ°Åª¤Ë .Em xxx ¥°¥ë¡¼¥×¤Î³ä¤ê¹þ¤ß¤òÍ¥ÀèÅÙ¤¬ .Ns spl Ns Em xxx \&() °Ê¾å¤Î»þ¤Ë¸Æ¤Ð¤ì¤ë¤è¤¦¤Ë½àÈ÷¤·¤Þ¤¹¡£ .Pp .Fn splx ´Ø¿ô¤Ï³ä¤ê¹þ¤ßÍ¥ÀèÅÙ¥ì¥Ù¥ë¤òÀäÂÐŪ¤Ê¿ôÃͤËÀßÄꤷ¤Þ¤¹¡£ ¤³¤ì¤ÏÊ̤γä¤ê¹þ¤ß¥ì¥Ù¥ë´Ø¿ô¤¬ÊÖ¤·¤¿Ãͤò¥í¡¼¥«¥ë¤ÎÊÑ¿ô¤ËÊݸ¤·¤Æ¡¢ ¸å¤Ç¸µ¤ÎÍ¥ÀèÅÙ¥ì¥Ù¥ë¤ËÌ᤹¤¿¤á¤Ë .Fn splx ¤ò»ÈÍѤ¹¤ë»ö¤ò°Õ¿Þ¤·¤Æ¤¤¤Þ¤¹¡£ .Pp .Fn spl0 ´Ø¿ô¤ÏÁ´¤Æ¤Î³ä¤ê¹þ¤ß¥Ï¥ó¥É¥é¤ò¥Ö¥í¥Ã¥¯¤·¤Ê¤¤ÃͤËÍ¥ÀèÅÙ¤ò¸º¾¯¤µ¤»¤Þ¤¹¡£ ¤¿¤À¤·¡¢AST(È󯱴ü¥·¥¹¥Æ¥à¥È¥é¥Ã¥×)¤Ï¥·¥¹¥Æ¥à¤¬ ¥æ¡¼¥¶¥â¡¼¥É¤ËÌá¤ë¤Þ¤Ç¤Î´Ö¤Ï¥Ö¥í¥Ã¥¯¤µ¤ì¤Þ¤¹¡£ .Pp ¤¤¤í¤¤¤í¤Ê¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð¤Î³ä¤ê¹þ¤ßÍ¥ÀèÅÙ¥°¥ë¡¼¥×¤ÎÅÁÅýŪ¤Ê³ä¤êÅö¤Æ¤Ï¡¢ ¤ª¤ª¤è¤½¼¡¤Î¤è¤¦¤ËʬÎà¤Ç¤­¤Þ¤¹¡£ .Bl -tag -width Fn .It Fn splnet ¥Í¥Ã¥È¥ï¡¼¥¯¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥É¥é¥¤¥Ð¤Î¥½¥Õ¥È¥¦¥§¥¢Éôʬ¡£ .It Fn splimp Á´¤Æ¤Î¥Í¥Ã¥È¥ï¡¼¥¯¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥É¥é¥¤¥Ð¡£ .It Fn splbio Á´¤Æ¤Î .Em ¥Ð¥Ã¥Õ¥¡Æþ½ÐÎÏ (¤Ä¤Þ¤ê¥Ç¥£¥¹¥¯¤Ê¤É)¤Î¥É¥é¥¤¥Ð¡£ .It Fn spltty ´ðËÜŪ¤Ë¤Ï¥Í¥Ã¥È¥ï¡¼¥¯°Ê³°¤ÎÄÌ¿®¥Ç¥Ð¥¤¥¹¤Ç¤¹¤¬¡¢ »ö¼Â¾å¤Ï¥Í¥Ã¥È¥ï¡¼¥¯¤È¥Ç¥£¥¹¥¯°Ê³°¤ÎÁ´¤Æ¤Î¥É¥é¥¤¥Ð¡£ .El .Sh Ìá¤êÃÍ .Fn splx ¤ª¤è¤Ó .Fn spl0 °Ê³°¤ÎÁ´¤Æ¤Î´Ø¿ô¤Ï¡¢ÁàºîÁ°¤ÎÍ¥ÀèÅÙ¤ÎÃͤòÊÖ¤·¤Þ¤¹¡£ .Sh »ÈÍÑÎ㠰ʲ¼¤Ï¡¢É¸½àŪ¤Ê»ÈÍÑÎã¤Ç¤¹¡£ .Bd -literal struct foo_softc { ... int flags; #define FOO_ASLEEP 1 #define FOO_READY 2 } foo_softc[NFOO]; int foowrite(...) { struct foo_softc *sc; int s, error; ... s = spltty(); if (!(sc->flags & FOO_READY)) { /* ½àÈ÷¤¬¤Ç¤­¤Æ¤¤¤Þ¤»¤ó¡¢ÂÔµ¡¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó */ sc->flags |= FOO_ASLEEP; error = tsleep(sc, PZERO, "foordy", 0); sc->flags &= ~FOO_ASLEEP; } sc->flags &= ~FOO_READY; splx(s); ... } void foointr(...) { struct foo_softc *sc; ... sc->flags |= FOO_READY; if (sc->flags & FOO_ASLEEP) /* 狼¤¬²æ¡¹¤òÂԤäƤ¤¤Þ¤¹¡¢µ¯¤³¤·¤Æ¤¯¤À¤µ¤¤ */ wakeup(sc); ... } .Ed ³ä¤ê¹þ¤ß¥Ï¥ó¥É¥é¤Ï .Em ÀäÂÐ¤Ë Í¥ÀèÅÙ¥ì¥Ù¥ë¤ò¸º¾¯¤µ¤»¤ë¤Ù¤­¤Ç¤Ï¤Ê¤¤¡¢¤È¤¤¤¦¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ ¼«Æ°Åª¤Ë¡¢¼«Ê¬¤Î¥ì¥Ù¥ë¤Î³ä¤ê¹þ¤ßÍ¥ÀèÅÙ¤ËÁý²Ã¤µ¤»¤é¤ì¤Þ¤¹¡£ ¤¹¤Ê¤ï¤Á¡¢Æ±¤¸¥°¥ë¡¼¥×¤ÎÁ´¤Æ¤Î³ä¤ê¹þ¤ß¤Ï¥Ö¥í¥Ã¥¯¤µ¤ì¤Þ¤¹¡£ .Sh Îò»Ë ³ä¤ê¹þ¤ßÍ¥ÀèÅÙ¥ì¥Ù¥ë¤ÏÁá´ü¤Î¥Ð¡¼¥¸¥ç¥ó¤Î .Ux ¤ÇÅо줷¤Þ¤·¤¿¡£ ÅÁÅýŪ¤Ë¤Ï̾Á°¤Ç¤Ï¤Ê¤¯¿ô»ú¤¬»È¤ï¤ì¤Æ¤¤¤Æ¡¢¤½¤Î¥ì¥Ù¥ë¤Þ¤Ç¤ÎÁ´¤Æ¤ò´Þ¤ó¤Ç (Í¥ÀèÅÙ 5 ¤Ï¥ì¥Ù¥ë 5 ¤Þ¤Ç¤ÎÁ´¤Æ¤ò¥Ö¥í¥Ã¥¯¤·¤Þ¤¹)¤¤¤¿»ö¤¬ÃΤé¤ì¤Æ¤¤¤Þ¤¹¡£ ¤³¤ì¤Ï .Fx ¤Ë¤Ï¤¢¤Æ¤Ï¤Þ¤ê¤Þ¤»¤ó¡£ ÅÁÅýŪ¤Ê̾Á° .Ql level ¤Ï¤¤¤Þ¤À¤Ëʸ»ú .Ql l ¤È¤·¤Æ¤½¤ì¤¾¤ì¤Î´Ø¿ô¤äÊÑ¿ô¤Î̾Á°¤ËÈ¿±Ç¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ ¤·¤«¤·¡¢¼ÂºÝ¤Ë¤Ï¤â¤Ï¤ä¥ì¥Ù¥ë¤Ç¤Ï¤Ê¤¯¡¢ ¤à¤·¤í°Û¤Ê¤Ã¤¿(ÉôʬŪ¤Ë´Þ¤Þ¤ì¤¿)´Ø¿ô·²¤¬¥·¥¹¥Æ¥à¤Î¤¢¤ë´ü´Ö¥Ö¥í¥Ã¥¯¤µ¤ì¤Þ¤¹¡£ Îò»ËŪ¤ÊÈÖ¹æ¤Ë¤è¤ëÊýË¡¤Ïñ½ã¤Ç½çÈÖÄ̤ê¤Î ³ä¤ê¹þ¤ßÍ¥ÀèÅÙ¥ì¥Ù¥ë¥°¥ë¡¼¥×¤Ç¤¢¤ë¤È¤ß¤Ê¤¹»ö¤¬¤Ç¤­¤Þ¤¹¡£ .Sh ºî¼Ô ¤³¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ï .An J\(:org Wunsch ¤¬½ñ¤­¤Þ¤·¤¿¡£ diff --git a/ja_JP.eucJP/man/man9/style.9 b/ja_JP.eucJP/man/man9/style.9 index e9b571888d..f5cbccd5a3 100644 --- a/ja_JP.eucJP/man/man9/style.9 +++ b/ja_JP.eucJP/man/man9/style.9 @@ -1,809 +1,818 @@ .\" Copyright (c) 1995-2001 FreeBSD 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 [your name] 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/style.9,v 1.105 2003/11/12 10:53:52 fanf Exp % +.\" %FreeBSD: src/share/man/man9/style.9,v 1.110 2004/07/03 18:29:24 ru Exp % .\" $FreeBSD$ .\" .Dd December 7, 2001 .Dt STYLE 9 .Os .Sh ̾¾Î .Nm style .Nd ¥«¡¼¥Í¥ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥¹¥¿¥¤¥ë¥¬¥¤¥É .Sh ²òÀâ ¤³¤Î¥Õ¥¡¥¤¥ë¤Ï .Fx ¥½¡¼¥¹¥Ä¥ê¡¼¤Î¥«¡¼¥Í¥ë¥½¡¼¥¹¤Ë¹¥¤Þ¤·¤¤¥¹¥¿¥¤¥ë¤òÌÀµ­¤·¤Æ¤¤¤Þ¤¹¡£ ¤³¤ì¤Ï¥æ¡¼¥¶¥é¥ó¥É¤Î¥³¡¼¥É¥¹¥¿¥¤¥ë¤Î¼ê°ú¤­¤Ç¤â¤¢¤ê¤Þ¤¹¡£ Îã¤Ë¤ª¤¤¤Æ¡¢¥¹¥¿¥¤¥ëµ¬Â§¤Î¿¤¯¤ò°ÅÌÛŪ¤Ë»ÈÍѤ·¤Æ¤¤¤Þ¤¹¡£ .Nm ¤¬¤³¤ì¤é¤Î»öÎã¤Ë¤Ä¤¤¤Æ¸ÀµÚ¤·¤Æ¤¤¤Ê¤¤¤È·è¤áÉÕ¤±¤ëÁ°¤Ë¡¢ Ãí°Õ¤·¤ÆÎã¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£ .Nm ¤Ï¤½¤Î¤è¤¦¤Ê»öÊÁ¤Ë¤Ä¤¤¤Æ¤Ïµ­½Ò¤·¤Æ¤¤¤Þ¤»¤ó¡£ .\" $ ¤È FreeBSD ¤ò³¤±¤ë¤È¥­¡¼¥ï¡¼¥ÉÃÖ´¹¤µ¤ì¤ë¤Î¤Ç¡¢\& ¤òÁÞÆþ .\" 2001/05/23 horikawa@jp.FreeBSD.org .Bd -literal /* * FreeBSD ¤Î¤¿¤á¤Î¥¹¥¿¥¤¥ë¥¬¥¤¥É¤Ç¤¹¡£ * CSRG ¤Î KNF (Kernel Normal Form, ¥«¡¼¥Í¥ëɸ½à½ñ¼°) ¤Ë´ð¤Å¤¤¤Æ¤¤¤Þ¤¹¡£ * * @(#)style 1.14 (Berkeley) 4/28/95 - * $\&FreeBSD: src/share/man/man9/style.9,v 1.105 2003/11/12 10:53:52 fanf Exp $ + * $\&FreeBSD: src/share/man/man9/style.9,v 1.110 2004/07/03 18:29:24 ru Exp $ */ /* * ¤È¤Æ¤â½ÅÍ×¤Ê 1 ¹Ô¤Î¥³¥á¥ó¥È¤Ï¤³¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£ */ /* ËØ¤É¤Î 1 ¹Ô¤Î¥³¥á¥ó¥È¤Ï¤³¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£ */ /* * Ê£¿ô¹Ô¤Ë¤ï¤¿¤ë¥³¥á¥ó¥È¤Ï¤³¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£¼ÂºÝ¤Îʸ¾Ï¤ò½ñ¤­¤Þ¤¹¡£¼ÂºÝ¤Î * ÃÊÍî¤Ë¸«¤¨¤ë¤è¤¦¤ËËä¤á¤Æ¤¤¤­¤Þ¤¹¡£ */ .Ed .Pp Ãøºî¸¢¥Ø¥Ã¥À¤Î¸å¤Ë¤Ï¶õ¹Ô¤ò 1 ¹ÔÆþ¤ì¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ë¤Ï .Va rcsid ¤òÉÕ¤±¤Þ¤¹¡£ ¥Ð¡¼¥¸¥ç¥ó´ÉÍý¥·¥¹¥Æ¥à¤Î ID ¥¿¥°¤Ï¡¢¥Õ¥¡¥¤¥ëÃæ¤Ë 1 ¸Ä¤Î¤ß¤¢¤ë¤Ù¤­¤Ç¤¹ (¤³¤Î¥Õ¥¡¥¤¥ë¤Ç¤Ï°ã¤¤¤Þ¤¹¤¬)¡£ C/C++ ¥½¡¼¥¹¥Õ¥¡¥¤¥ë°Ê³°¤Ï¤³¤ÎÎã¤Ë½¾¤¤¤Þ¤¹¤¬¡¢ C/C++ ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ï°Ê¹ß¤ÎÎã¤Ë½¾¤¤¤Þ¤¹¡£ ³°Éô¤«¤éÆþ¼ê¤·¤¿¥Õ¥¡¥¤¥ë¤Î ¤¹¤Ù¤Æ¤Î VCS (¥Ð¡¼¥¸¥ç¥ó´ÉÍý¥·¥¹¥Æ¥à) ¥ê¥Ó¥¸¥ç¥ó¼±Ê̻Ҥϡ¢ ¸ºß¤¹¤ì¤Ð°Ý»ý¤·¤Þ¤¹¡£ ¤³¤ì¤Ë¤Ï¡¢¥Õ¥¡¥¤¥ë¤ÎÍèÎò¤ò¼¨¤¹Ê£¿ô¤Î ID ¤â´Þ¤ß¤Þ¤¹¡£ °ìÈÌŪ¤Ë¡¢³°Íè¤Î ID ¤Þ¤¿¤Ï¤½¤Î²¼Éô¹½Â¤¤ÏÊÔ½¸¤·¤Þ¤»¤ó¡£ ¤µ¤â¤Ê¤±¤ì¤Ð .Dq Li ( "#if defined(LIBC_SCCS)" ¤Î¤è¤¦¤Ë) °Ï¤Þ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢Á´¤Æ¤Î¸ß´¹À­¤Î¤Ê¤¤¾®ÊÒ¤ò±£¤¹¤¿¤á¡¢¤ª¤è¤Ó ¤½¤Î ID ¤ò¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤«¤éÄɤ¤½Ð¤·¤Æ¤ª¤¯¤¿¤á¤Ë¡¢Î¾Êý¤ò .Dq Li "#if 0 ... #endif" ¤ÎÃæ¤Ë°Ï¤ß¤Þ¤¹¡£ ¥Õ¥¡¥¤¥ë¤Î̾Á°¤¬Êѹ¹¤µ¤ì¤¿¾ì¹ç¤Ë¤Ï¡¢³°Íè¤Î VCS ID ¤ÎÁ°¤Ë .Dq Li "From: " ¤Î¤ß¤òÄɲä·¤Þ¤¹¡£ .Bd -literal #if 0 #ifndef lint static char sccsid[] = "@(#)style 1.14 (Berkeley) 4/28/95"; #endif /* not lint */ #endif #include -__FBSDID("$\&FreeBSD: src/share/man/man9/style.9,v 1.105 2003/11/12 10:53:52 fanf Exp $"); +__FBSDID("$\&FreeBSD: src/share/man/man9/style.9,v 1.110 2004/07/03 18:29:24 ru Exp $"); .Ed .Pp ¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤ÎÁ°¤Ë¡¢¶õ¹Ô¤ò 1 ¹ÔÉÕ¤±¤Þ¤¹¡£ .Pp ¥«¡¼¥Í¥ë¤Î¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë (¤¹¤Ê¤ï¤Á¡¢ .Pa sys/*.h ) ¤¬½é¤á¤ËÍè¤Þ¤¹¡£ Ä̾ .In sys/types.h ¤Þ¤¿¤Ï .In sys/param.h ¤Î¤É¤Á¤é¤«¤¬É¬ÍפǤ¹¤¬¡¢ ξÊý¤ÏɬÍפʤ¤¤Ç¤·¤ç¤¦¡£ .In sys/types.h ¤Ï .In sys/cdefs.h ¤ò¥¤¥ó¥¯¥ë¡¼¥É¤·¤Æ¤ª¤ê¡¢ °Í¸´Ø·¸¤ÏÌäÂꤢ¤ê¤Þ¤»¤ó¡£ .Bd -literal #include /* »³³ç¸Ì¤Ë¤è¤ëÈó¥í¡¼¥«¥ë¥¤¥ó¥¯¥ë¡¼¥É */ .Ed .Pp ¥Í¥Ã¥È¥ï¡¼¥¯¥×¥í¥°¥é¥à¤Ç¤¢¤ë¾ì¹ç¤Ï¡¢ ¼¡¤Ë¥Í¥Ã¥È¥ï¡¼¥¯¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë¤òÃÖ¤­¤Þ¤¹¡£ .Bd -literal #include #include #include #include #include .Ed .Pp ¥«¡¼¥Í¥ëÍѤΥե¡¥¤¥ë¤Ë¤Ï¡¢ .Pa /usr/include Ãæ¤Î¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ .Pp ¤½¤ì¤«¤é¶õ¹Ô¤òÃÖ¤­¡¢ .Pa /usr/include ¤Î¥Õ¥¡¥¤¥ë¤ò³¤±¤Þ¤¹¡£ .Pa /usr/include ¤Î¥Õ¥¡¥¤¥ë¤Ï¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È½ç¤Ë¥½¡¼¥È¤µ¤ì¤Æ¤¤¤ë¤Ù¤­¤Ç¤¹¡£ .Bd -literal #include .Ed .Pp ¥°¥í¡¼¥Ð¥ë¤Ê¥Ñ¥¹Ì¾¤Ï .In /usr/include/paths.h ¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ ¥×¥í¥°¥é¥à¤Ë¥í¡¼¥«¥ë¤Ê¥Ñ¥¹Ì¾¤Ï¥í¡¼¥«¥ë¥Ç¥£¥ì¥¯¥È¥ê¤Î .Qq Pa pathnames.h ¤ËÆþ¤ì¤Þ¤¹¡£ .Bd -literal #include .Ed .Pp ¤½¤ì¤«¤é¡¢¶õ¹Ô¤¬¤¢¤Ã¤Æ¡¢¥æ¡¼¥¶¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë¤¬Íè¤Þ¤¹¡£ .Bd -literal #include "pathnames.h" /* " " ¤Ë¤è¤ë¥í¡¼¥«¥ë¥¤¥ó¥¯¥ë¡¼¥É */ .Ed .Pp ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò¼ÂÁõ¤·¤Æ¤¤¤ë¾ì¹ç¤ò½ü¤­¡¢ ¼ÂÁõ¤Î̾Á°¶õ´Ö¤Ç .Ic #define ¤·¤¿¤ê̾Á°¤òÄêµÁ¤·¤¿¤ê¤·¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£ .Pp .Dq Li °ÂÁ´¤Ç¤Ê¤¤ ¥Þ¥¯¥í (ÉûºîÍѤò»ý¤Ã¤Æ¤¤¤ë¤â¤Î) ¤Î̾Á°¤È¡¢ ÌÀ¤é¤«¤ÊÄê¿ô¤Î¥Þ¥¯¥í¤Î̾Á°¤Ï¤¹¤Ù¤ÆÂçʸ»ú¤Ç¤¹¡£ ¼°¤Î¤è¤¦¤ËŸ³«¤µ¤ì¤ë¥Þ¥¯¥í¤Ï¡¢Ã±°ì¤Î¥È¡¼¥¯¥ó¤Ë¤¹¤ë¤«³°Â¦¤Ë³ç¸Ì¤ò¤Ä¤±¤Þ¤¹¡£ .Ic #define ¤È¥Þ¥¯¥í̾¤Î´Ö¤Ë¥¿¥Öʸ»ú¤ò 1 ¸ÄÆþ¤ì¤Þ¤¹¡£ ¥Þ¥¯¥í¤¬¤¢¤ë´Ø¿ô¤Î¥¤¥ó¥é¥¤¥óŸ³«¤Ç¤¢¤ë¾ì¹ç¤Ï¡¢ ´Ø¿ô̾¤ÏÁ´¤Æ¾®Ê¸»ú¤Ç¡¢¥Þ¥¯¥í¤Ï¤¹¤Ù¤ÆÂçʸ»ú¤ÎƱ¤¸Ì¾Á°¤ò»ý¤Á¤Þ¤¹¡£ .\" XXX ¾åµ­¤Ï̾Á°¤¬Æ±¤¸¥Þ¥¯¥í¤ò #undef ¤¹¤ì¤Ð´Ø¿ô¤ò»È¤¨¤ë .\" ¤È¤¤¤¦ ANSI ¤Î¥¹¥¿¥¤¥ë¤È¾×ÆÍ¤·¤Þ¤¹¡£ .\" ¤³¤ì¤Ï MALLOC() ¤Ë¤Ä¤¤¤Æ¤Ï¸À¤¨¤Ê¤¤¤·¡¢¥¤¥ó¥é¥¤¥ó´Ø¿ô¤ò»È¤¦»þ¤Î .\" °ìÈÌŪ¤Ê¤ä¤ê¤«¤¿¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ -¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å¤Ï±¦Â·¤¨¤·¤Þ¤¹¡£¤³¤¦¤¹¤ë¤ÈÆÉ¤ß¤ä¤¹¤¯¤Ê¤ê¤Þ¤¹¡£ +¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å¤Ï±¦Â·¤¨¤·¤Þ¤¹¡£ +¤³¤¦¤¹¤ë¤ÈÆÉ¤ß¤ä¤¹¤¯¤Ê¤ê¤Þ¤¹¡£ ¥Þ¥¯¥í¤¬Ê£¹çʸ¤ò¥«¥×¥»¥ë²½¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢¤½¤ì¤ò .Ic do ¥ë¡¼¥×¤Ç°Ï¤ß¤Þ¤¹¡£ ¤³¤ì¤Ë¤è¤ê¡¢ .Ic if ʸ¤Ç°ÂÁ´¤Ë»ÈÍѤǤ­¤Þ¤¹¡£ ºÇ¸å¤Îʸ¤Î½ªÃ¼¤Î¥»¥ß¥³¥í¥ó¤Ï¡¢ ¥Þ¥¯¥í¤Ç¤Ï¤Ê¤¯¥Þ¥¯¥í¤Î¼Â»Ü»þ¤ËÉÕ¤±¤é¤ì¤ë¤Ù¤­¤Ç¤¹¡£ ¤³¤ì¤Ë¤è¤ê¡¢À¶½ñ´ï¤ä¥¨¥Ç¥£¥¿¤Çʸˡ²òÀϤ·¤ä¤¹¤¯¤Ê¤ê¤Þ¤¹¡£ .Bd -literal #define MACRO(x, y) do { \e variable = (x) + (y); \e (y) += 2; \e } while (0) .Ed .Pp ¥³¡¼¥É¤¬ .Ic #ifdef ¤Þ¤¿¤Ï .Ic #if ¤ò»ÈÍѤ·¤Æ¾ò·ïÉÕ¤­¤Ç¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤ë¤È¤­¤Ë¤Ï¡¢ ¤É¤³¤Ç¾ò·ïÉÕ¤­¤Ç¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤ë¥³¡¼¥É¤¬½ªÎ»¤¹¤ë¤Î¤«¤ò ÆÉ¤à¿Í¤¬Íưפ˼±Ê̤¹¤ë¤³¤È¤¬²Äǽ¤Ë¤¹¤ë¤¿¤á¤Ë¡¢¤½¤ì¤Ë³¤¯Å¬¹ç¤¹¤ë .Ic #endif ¤Þ¤¿¤Ï .Ic #else ¤Ë¥³¥á¥ó¥È¤òÄɲ䷤Ƥ⹽¤¤¤Þ¤»¤ó¡£ ¤³¤Î¥³¥á¥ó¥È¤Ï (¼ç´ÑŪ¤Ë) Ť¤Éôʬ¡¢20 ¹Ô°Ê¾å¤ÎÉôʬ¡¢¤Þ¤¿¤Ï¥Í¥¹¥È¤µ¤ì¤¿ .Ic #ifdef ¤ÎϢ³¤¬ÆÉ¤à¿Í¤òº®Í𤵤»¤ë¤«¤â¤·¤ì¤Ê¤¤¤È¤­¡¢¤Ë¤Î¤ß»ÈÍѤµ¤ì¤ë¤Ù¤­¤Ç¤¹¡£ ¤¿¤È¤¨¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Ê¤¤Îΰ褬¾®¤µ¤¯¤Ê¤ë¤«¤â¤·¤ì¤Ê¤¤¤Ç¤â¡¢ .Xr lint 1 ¤ÎÌÜŪ¤Î¤¿¤á¤Ë¾ò·ïÉÕ¤­¤Ç¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Ê¤¤¸Ä½ê¤Î¤¿¤á¤Ë¡¢ Îã³°¤¬ºî¤é¤ì¤Æ¤â¹½¤¤¤Þ¤»¤ó¡£ ¤½¤Î¥³¥á¥ó¥È¤Ï .Ic #endif ¤Þ¤¿¤Ï .Ic #else ¤«¤é 1 ¤Ä¤Î¶õÇò¤Ë¤è¤Ã¤ÆÊ¬Î¥¤µ¤ì¤ë¤Ù¤­¤Ç¤¹¡£ û¤¤¾ò·ïÉÕ¤­¤Ç¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤ëÉôʬ¤Î¤¿¤á¤Ë¡¢ ½ª¤ï¤ê¤Î¥³¥á¥ó¥È¤ò»ÈÍѤ¹¤ë¤Ù¤­¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ .Pp .Ic #endif ¤Î¤¿¤á¤Î¥³¥á¥ó¥È¤ÏÂбþ¤¹¤ë .Ic #if ¤Þ¤¿¤Ï .Ic #ifdef ¤Ç»ÈÍѤµ¤ì¤Æ¤¤¤ëɽ¸½¤Ë¹ç¤ï¤»¤ë¤Ù¤­¤Ç¤¹¡£ .Ic #else ¤ª¤è¤Ó .Ic #elif ¤Î¤¿¤á¤Î¥³¥á¥ó¥È¤ÏÀè¹Ô¤¹¤ë .Ic #if ¤ª¤è¤Ó/¤Þ¤¿¤Ï .Ic #elif ʸ¤Ë»ÈÍѤµ¤ì¤Æ¤¤¤ëɽ¸½¤ÎÈ¿ÂФ˹ç¤ï¤»¤ë¤Ù¤­¤Ç¤¹¡£ ¥³¥á¥ó¥È¤ÎÃæ¤Ç¤Ï¡¢Êä½õɽ¸½ .Dq Li defined(FOO) ¤Ï .Dq Li FOO ¤È¾Êά¤µ¤ì¤Þ¤¹¡£ ¥³¥á¥ó¥È¤ÎÌÜŪ¤Î¤¿¤á¤Ë¤Ï¡¢ .Dq Ic #ifndef Li FOO ¤Ï .Dq Ic #if Li !defined(FOO) ¤È¤ß¤Ê¤µ¤ì¤Þ¤¹¡£ .Bd -literal #ifdef KTRACE #include #endif #ifdef COMPAT_43 /* Â礭¤ÊÉôʬ¤¬¡¢¤Þ¤¿¤Ï¾¤Î¾ò·ïÉÕ¤­¤Î¥³¡¼¥É¤¬¤³¤³¤Ë */ #else /* !COMPAT_43 */ /* ¤Þ¤¿¤Ï¤³¤³¤Ë */ #endif /* COMPAT_43 */ #ifndef COMPAT_43 /* ¹¹¤ËÊ̤ÎÂ礭¤ÊÉôʬ¤¬¡¢¤Þ¤¿¤Ï¾¤Î¾ò·ïÉÕ¤­¤Î¥³¡¼¥É¤¬¤³¤³¤Ë */ #else /* COMPAT_43 */ /* ¤Þ¤¿¤Ï¤³¤³¤Ë */ -#endif /* !COMPAT_43*/ +#endif /* !COMPAT_43 */ .Ed .Pp ¤³¤Î¥×¥í¥¸¥§¥¯¥È¤Ï¡¢ -.Ic u_intXX_t -·Á¼°¤Î¸Å¤¤ BSD ¥¹¥¿¥¤¥ë¤ÎÀ°¿ô¼±Ê̻Ҥè¤ê¤â¤à¤·¤í¡¢ -.Ic uintXX_t +.Vt u_intXX_t +·Á¼°¤Î¸Å¤¤ +.Bx +¥¹¥¿¥¤¥ë¤ÎÀ°¿ô¼±Ê̻Ҥè¤ê¤â¤à¤·¤í¡¢ +.Vt uintXX_t ·Á¼°¤Î .St -isoC-99 ¤ÎÉ乿¤Ê¤·À°¿ô¼±Ê̻Ҥò»ÈÍѤ¹¤ë¤è¤¦¤Ë¡¢½ù¡¹¤Ë°Ü¹Ô¤·¤Æ¤¤¤Þ¤¹¡£ ¿·¤·¤¤¥³¡¼¥É¤Ï¸å¼Ô¤ò»ÈÍѤ¹¤ë¤Ù¤­¤Ç¡¢¤µ¤é¤Ë¤½¤ÎÎΰè¤Î¾¤Î¼çÍפʺî¶È¤¬´°Î»¤·¡¢ -¸Å¤¤ BSD ¥¹¥¿¥¤¥ë¤ò¹¥¤à¤¿¤á¤ÎÍ¥À褹¤ëÍýͳ¤¬¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢¸Å¤¤¥³¡¼¥É¤Ï +¸Å¤¤ +.Bx +¥¹¥¿¥¤¥ë¤ò¹¥¤à¤¿¤á¤ÎÍ¥À褹¤ëÍýͳ¤¬¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢¸Å¤¤¥³¡¼¥É¤Ï ¿·¤·¤¤·Á¼°¤ËÊÑ´¹¤µ¤ì¤ë¤Ù¤­¤Ç¤¹¡£ ¶õÇòʸ»ú¤Î¥³¥ß¥Ã¥È¤ÈƱÍͤˡ¢ -.Ic uintXX_t +.Vt uintXX_t ¤Î¤ß¤Î¥³¥ß¥Ã¥È¤ò¤¹¤ë¤è¤¦¡¢¹Íθ¤¹¤Ù¤­¤Ç¤¹¡£ .Pp ÎóµóÃͤÏÁ´¤ÆÂçʸ»ú¤ò»ÈÍѤ·¤Þ¤¹¡£ .Bd -literal enum enumtype { ONE, TWO } et; .Ed .Pp Àë¸À¤ÎÃæ¤Ç¤Ï¡¢·¿¤Ë´Ø·¸ÉÕ¤±¤é¤ì¤¿¥È¡¼¥¯¥ó¤ò½ü¤¤¤Æ¡¢ ¥¢¥¹¥¿¥ê¥¹¥¯¤ÈÎÙÀܤ·¤¿¥È¡¼¥¯¥ó¤Î´Ö¤Ë¤Ï¶õÇòʸ»ú¤òÃÖ¤­¤Þ¤»¤ó¡£ (¤³¤ì¤é¤Î¼±Ê̻ҤϴðËܤη¿¤Î̾Á°¡¢·¿¤Î½¤¾þ¸ì¶ç¡¢¤ª¤è¤Óº£Àë¸À¤µ¤ì¤è¤¦¤È¤·¤Æ¤¤¤ë ¤â¤Î°Ê³°¤Î .Ic typedef ̾¤Ç¤¹¡£) ¤³¤ì¤é¤Î¼±Ê̻Ҥϥ¢¥¹¥¿¥ê¥¹¥¯¤«¤é 1 ¤Ä¤Î¶õÇò¤ÇʬΥ¤·¤Þ¤¹¡£ .Pp ¹½Â¤ÂΤÎÃæ¤ÇÊÑ¿ô¤òÀë¸À¤¹¤ë»þ¤Ë¤Ï¡¢ »ÈÍѽ硢¥µ¥¤¥º½ç¡¢¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È½ç¤Ë¥½¡¼¥È¤·¤ÆÀë¸À¤·¤Þ¤¹¡£ ºÇ½é¤Î¶èʬ¤ÏÄ̾ïŬÍѤ·¤Þ¤»¤ó¤¬¡¢Îã³°¤¬¤¢¤ê¤Þ¤¹¡£ ³ÆÀë¸À¤Ï¡¢¤½¤ì¤¾¤ìÆÈΩ¤·¤¿¹Ô¤Ë¤Æ¹Ô¤¤¤Þ¤¹¡£ ¹½Â¤ÂΤÎ̾Á°¤Î°ÌÃÖ¤ò¡¢¤¢¤Ê¤¿¤ÎȽÃÇ¤ÇÆÉ¤ß°×¤¤¤è¤¦¤Ë¡¢ ¥¿¥Ö 1 ¸Ä¤Þ¤¿¤Ï 2 ¸Ä¤ò»ÈÍѤ·¤ÆÂ·¤¨¤Æ¤¯¤À¤µ¤¤¡£ ¾¯¤Ê¤¯¤È¤â 90% ¤Î¥á¥ó¥Ð¤Î̾Á°¤ò·¤¨¤ë¤Î¤Ë½½Ê¬¤Ê¾ì¹ç¤Ë¤Ï¡¢ 1 ¤Ä¤À¤±¤Î¥¿¥Ö¤ò»ÈÍѤ¹¤ë¤Ù¤­¤Ç¤¹¡£ Èó¾ï¤ËŤ¤·¿¤Î¸å¤Î̾Á°¤Ï¡¢Ã±°ì¤Î¶õÇò¤Ç¶èÀÚ¤é¤ì¤ë¤Ù¤­¤Ç¤¹¡£ .Pp ½ÅÍפʹ½Â¤ÂΤϡ¢¤½¤ì¤¬»ÈÍѤµ¤ì¤ë¥Õ¥¡¥¤¥ë¤ÎÀèÆ¬¤ÇÀë¸À¤µ¤ì¤ë¤«¡¢ Ê£¿ô¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ç»ÈÍѤµ¤ì¤ë¾ì¹ç¤ÏÊ̤ΥإåÀ¥Õ¥¡¥¤¥ë¤ÇÀë¸À¤µ¤ì¤ë¤Ù¤­¤Ç¤¹¡£ ¹½Â¤ÂΤ¬¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤ÇÀë¸À¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢ ¤½¤ì¤é¹½Â¤ÂΤλÈÍѤϡ¢Àë¸À¤È¤Ïʬ¤±¤é¤ì¤ë¤Ù¤­¤Ç¡¢¤«¤Ä .Ic "extern ¤Ç¤¢¤ë¤Ù¤­¤Ç¤¹¡£ .Bd -literal struct foo { struct foo *next; /* »ÈÍÑÃæ¤Î foo ¤Î¥ê¥¹¥È */ struct mumble amumble; /* mumble ¤Î¥³¥á¥ó¥È */ int bar; /* ¥³¥á¥ó¥È¤ò·¤¨¤è¤¦¤È¤·¤Æ¤¤¤Þ¤¹ */ struct verylongtypename *baz; /* ¥¿¥Ö 2 ¸Ä¤Ë¤Ï¼ý¤Þ¤ê¤Þ¤»¤ó */ }; struct foo *foohead; /* ¥°¥í¡¼¥Ð¥ë¤Ê foo ¥ê¥¹¥È¤ÎÀèÆ¬ */ .Ed .Pp ²Äǽ¤Ê»þ¤Ë¤Ïɬ¤º¡¢¤¢¤Ê¤¿¼«¿È¤Ç¥ê¥¹¥È¤òÁàºî¤¹¤ë¤Î¤Ç¤Ï¤Ê¤¯¡¢ .Xr queue 3 ¥Þ¥¯¥í¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£ ½¾¤Ã¤Æ¡¢Á°¤ÎÎã¤ò¤è¤êÎɤ¯½ñ¤¯¤È¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ .Bd -literal #include struct foo { LIST_ENTRY(foo) link; /* foo ¥ê¥¹¥È¤Ë¥­¥å¡¼¥Þ¥¯¥í¤ò»ÈÍÑ */ struct mumble amumble; /* mumble ¤Î¥³¥á¥ó¥È */ int bar; /* ¥³¥á¥ó¥È¤ò·¤¨¤è¤¦¤È¤·¤Æ¤¤¤Þ¤¹ */ struct verylongtypename *baz; /* ¥¿¥Ö 2 ¸Ä¤Ë¤Ï¼ý¤Þ¤ê¤Þ¤»¤ó */ }; LIST_HEAD(, foo) foohead; /* ¥°¥í¡¼¥Ð¥ë¤Ê foo ¥ê¥¹¥È¤ÎÀèÆ¬ */ .Ed .Pp ¹½Â¤ÂΤη¿¤Ë typedef ¤ò»ÈÍѤ¹¤ë»ö¤ÏÈò¤±¤Æ¤¯¤À¤µ¤¤¡£ typedef ¤Ï¡¢¤½¤Î²¼°Ì¤Ë¤¢¤ë·¿¤òŬÀڤ˱£¤µ¤Ê¤¤¤Î¤Ç¡¢ÌäÂê¤È¤Ê¤êÆÀ¤Þ¤¹¡£ Î㤨¤Ð¡¢typedef ¤¬¹½Â¤ÂΤ½¤Î¤â¤Î¤Ç¤¢¤ë¤Î¤«¡¢¹½Â¤ÂΤؤΥݥ¤¥ó¥¿¤Ç¤¢¤ë¤Î¤«¡¢ ¤¢¤Ê¤¿¤¬ÃΤëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¹¹¤Ë¡¢typedef ¤ÏÀµ³Î¤Ë 1 ÅÙ¤À¤±Àë¸À¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¤¬¡¢ ÉÔ´°Á´¤Ê¹½Â¤Âη¿¤ÏɬÍפʲó¿ô¤À¤±Àë¸À²Äǽ¤Ç¤¹¡£ typedef ¤Ï¥¹¥¿¥ó¥É¥¢¥í¥ó¤Ê¥Ø¥Ã¥À¥Õ¥¡¥¤¥ëÃæ¤Ç»ÈÍѤ¹¤ë¤³¤È¤¬º¤Æñ¤Ç¤¹¡£ typedef ¤òÄêµÁ¤¹¤ë¥Ø¥Ã¥À¤Ï¡¢¤³¤Î typedef ¤ò»ÈÍѤ¹¤ë¥Ø¥Ã¥À¤ÎÁ°¤Ë ¥¤¥ó¥¯¥ë¡¼¥É¤¹¤ë¤«¡¢¤³¤Î typedef ¤ò»ÈÍѤ¹¤ë¥Ø¥Ã¥À¤Ë¤è¤Ã¤Æ¥¤¥ó¥¯¥ë¡¼¥É ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹ (¤³¤ì¤Ï̾Á°¶õ´Ö¤Î±øÀ÷¤È¤Ê¤ê¤Þ¤¹)¡£ ¤µ¤â¤Ê¤±¤ì¤Ð¡¢typedef ¤òÆÀ¤ë¤¿¤á¤Î΢¸ý¤¬É¬ÍפȤʤäƤ·¤Þ¤¤¤Þ¤¹¡£ .Pp µ¬Ìó¤¬ .Ic typedef ¤òÍ׵᤹¤ë¾ì¹ç¤Ë¤Ï¡¢¤½¤Î̾Á°¤ò¹½Â¤ÂÎ¥¿¥°¤Ë°ìÃפµ¤»¤Þ¤¹¡£ ɸ½à C ¤Þ¤¿¤Ï .Tn POSIX ¤Ë¤è¤Ã¤ÆÌÀ¼¨¤µ¤ì¤¿¤â¤Î¤ò½ü¤¤¤Æ¤Ï¡¢ .Dq Li _t ¤Ç½ª¤ë typedef ¤òÈò¤±¤Æ¤¯¤À¤µ¤¤¡£ .Bd -literal /* ¹½Â¤ÂÎ̾¤È typedef ¤ò°ìÃפµ¤»¤Þ¤¹ */ typedef struct bar { int level; } BAR; typedef int foo; /* ¤³¤ì¤Ï foo ¤Ç¤¹ */ typedef const long baz; /* ¤³¤ì¤Ï baz ¤Ç¤¹ */ .Ed .Pp Á´¤Æ¤Î´Ø¿ô¤Ï¤É¤³¤«¤Ç¥×¥í¥È¥¿¥¤¥×¤µ¤ì¤Þ¤¹¡£ .Pp »äŪ¤Ê´Ø¿ô (¤¹¤Ê¤ï¤Á¡¢Â¾¤Î¤É¤³¤Ç¤â»ÈÍѤµ¤ì¤Ê¤¤´Ø¿ô¤Ê¤É) ¤Î´Ø¿ô¥×¥í¥È¥¿¥¤¥×¤Ï¡¢ ºÇ½é¤Î¥½¡¼¥¹¥â¥¸¥å¡¼¥ë¤ÎÀèÆ¬¤ËÃÖ¤«¤ì¤Þ¤¹¡£ ñ°ì¤Î¥½¡¼¥¹¥â¥¸¥å¡¼¥ë¤Ë¥í¡¼¥«¥ë¤Ê´Ø¿ô¤Ï¡¢ .Ic static ¤ÇÀë¸À¤µ¤ì¤ë¤Ù¤­¤Ç¤¹¡£ .Pp ¥«¡¼¥Í¥ë¤ÎÊ̤ÎÉôʬ¤«¤é»ÈÍѤµ¤ì¤ë´Ø¿ô¤Ï¡¢ ´ØÏ¢¤Î¤¢¤ë¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë¤ÎÃæ¤Ç¥×¥í¥È¥¿¥¤¥×¤µ¤ì¤Þ¤¹¡£ ´Ø¿ô¥×¥í¥È¥¿¥¤¥×¤Ï¡¢°Û¤Ê¤ë½ç½ø¤Î»ÈÍѤò¶¯À©¤¹¤ëÍýͳ¤¬¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢ ¤Ê¤ë¤Ù¤¯¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È½ç¤ÎÏÀÍýŪ¤Ê½ç½ø¤ÇÀ°Î󤵤ì¤ë¤Ù¤­¤Ç¤¹¡£ .Pp Ê£¿ô¤Î¥â¥¸¥å¡¼¥ë¤Ç¥í¡¼¥«¥ë¤Ë»ÈÍѤµ¤ì¤ë´Ø¿ô¤Ï¡¢ .Qq Pa extern.h Åù¤ÎʬΥ¤·¤¿¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤ÎÃæ¤ËÃÖ¤«¤ì¤Þ¤¹¡£ .Pp .Dv __P ¥Þ¥¯¥í¤Ï»ÈÍѤ·¤Þ¤»¤ó¡£ .Pp ¥Õ¥¡¥¤¥ë¤Î 50% ¤«¤½¤ì°Ê¾å¤ò´¬¤­¹þ¤ó¤À½¤Àµ¤Î¾ì¹ç¤Ï¡¢ °ìÈ̤˥³¡¼¥É¤Ï .Dq ¿·¤·¤¤¥³¡¼¥É ¤È¤ß¤Ê¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤³¤ì¤Ï´û¸¤Î¥³¡¼¥É¤Î´·Îã¤òÇˤꡢ ¸½ºß¤Î .Nm ¥¬¥¤¥É¥é¥¤¥ó¤ò»ÈÍѤ¹¤ë¤Î¤Ë½½Ê¬¤Ç¤¹¡£ .Pp ¥«¡¼¥Í¥ë¤Ï¥Ñ¥é¥á¡¼¥¿¤Î·¿¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿Ì¾Á°¤ò»ý¤Á¤Þ¤¹¡£ Î㤨¤Ð¡¢¥«¡¼¥Í¥ëÆâ¤Ç¤³¤Î¤è¤¦¤Ë»ÈÍѤ·¤Þ¤¹¡£ .Bd -literal void function(int fd); .Ed .Pp ¥æ¡¼¥¶¥é¥ó¥É¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ËÂФ·¤Æ¸«¤¨¤ë¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤ÎÃæ¤Ç¤Ï¡¢ ²Ä»ë¤Î¥×¥í¥È¥¿¥¤¥×¤Ï¡¢ ·¿¤òȼ¤Ã¤¿ .Dq Êݸ¤ì¤¿ (¥¢¥ó¥À¥¹¥³¥¢¤Ç³«»Ï¤¹¤ë) ̾Á°¤ò»ÈÍѤ¹¤ë¤«¡¢ ·¿¤À¤±¤Ç̾Á°¤ò»ÈÍѤ·¤Ê¤¤¤«¤Î¤É¤Á¤é¤«¤¬É¬ÍפǤ¹¡£ Êݸ¤ì¤¿Ì¾Á°¤Î»ÈÍѤ¬¤è¤ê˾¤Þ¤·¤¤¤Ç¤¹¡£ Î㤨¤Ð¡¢¤³¤Î¤è¤¦¤Ë»ÈÍѤ·¤Þ¤¹¡£ .Bd -literal void function(int); .Ed .Pp ¤Þ¤¿¤Ï .Bd -literal void function(int _fd); .Ed .Pp ¥×¥í¥È¥¿¥¤¥×¤Ï´Ø¿ô̾¤Î¹Ô·¤¨¤ò¹Ô¤Ê¤¦¤¿¤á¤Ë¡¢¥¿¥Ö¤Î¸å¤ËÄɲäΥ¹¥Ú¡¼¥¹Ê¸»ú¤ò ÃÖ¤¤¤Æ¤â¹½¤¤¤Þ¤»¤ó¡£ .Bd -literal static char *function(int _arg, const char *_arg2, struct foo *_arg3, struct bar *_arg4); static void usage(void); /* * Á´¤Æ¤Î¼çÍפʥ롼¥Á¥ó¤Ï¤½¤ì¤¬²¿¤ò¤¹¤ë¤Î¤«¤ò´Ê·é¤Ëµ­½Ò¤·¤¿ - * ¥³¥á¥ó¥È¤ò»ý¤Ä¤Ù¤­¤Ç¤¹¡£"main" ¥ë¡¼¥Á¥ó¤ÎÁ°¤Î¥³¥á¥ó¥È¤Ï + * ¥³¥á¥ó¥È¤ò»ý¤Ä¤Ù¤­¤Ç¤¹¡£ "main" ¥ë¡¼¥Á¥ó¤ÎÁ°¤Î¥³¥á¥ó¥È¤Ï * ¤½¤Î¥×¥í¥°¥é¥à¤¬²¿¤ò¤¹¤ë¤Î¤«¤òµ­½Ò¤¹¤ë¤Ù¤­¤Ç¤¹¡£ */ int main(int argc, char *argv[]) { char *ep; long num; int ch; .Ed .Pp °ì´ÓÀ­¤Î¤¿¤á¤Ë¡¢¥ª¥×¥·¥ç¥ó¤Î²òÀÏ¤Ë¤Ï .Xr getopt 3 ¤¬»ÈÍѤµ¤ì¤ë¤Ù¤­¤Ç¤¹¡£ .Xr getopt 3 ¸Æ¤Ó½Ð¤·¤È .Ic switch ʸ¤Ç¤Ï¡¢¥ª¥×¥·¥ç¥ó¤ò¥½¡¼¥È¤¹¤Ù¤­¤Ç¤¹¤¬¡¢ .Ic switch ʸ¤Î¥«¥¹¥±¡¼¥É¤Î°ìÉô¤Î¾ì¹ç¤ÏÎã³°¤Ç¤¹¡£ .Ic switch ʸ¤Î¥«¥¹¥±¡¼¥ÉÍ×ÁÇ¤Ï .Li FALLTHROUGH ¥³¥á¥ó¥È¤ò»ý¤Ä¤Ù¤­¤Ç¤¹¡£ ¿ôÃͤΰú¿ô¤ÏÀºÅÙ¤ò¥Á¥§¥Ã¥¯¤µ¤ì¤ë¤Ù¤­¤Ç¤¹¡£ Åþã¤Ç¤­¤Ê¤¤¥³¡¼¥É¤Ï .Li NOTREACHED ¥³¥á¥ó¥È¤ò»ý¤Ä¤Ù¤­¤Ç¤¹¡£ .Bd -literal - while ((ch = getopt(argc, argv, "abn:")) != -1) + while ((ch = getopt(argc, argv, "abNn:")) != -1) switch (ch) { /* switch ¤ò¥¤¥ó¥Ç¥ó¥È */ case 'a': /* case ¤Ï¥¤¥ó¥Ç¥ó¥È¤·¤Ê¤¤ */ aflag = 1; /* FALLTHROUGH */ case 'b': bflag = 1; break; + case 'N': + Nflag = 1; + break; case 'n': num = strtol(optarg, &ep, 10); if (num <= 0 || *ep != '\e0') { warnx("illegal number, -n argument -- %s", optarg); usage(); } break; case '?': default: usage(); /* NOTREACHED */ } argc -= optind; argv += optind; .Ed .Pp ͽÌó¸ì .Pq Ic if , while , for , return , switch ¤Î¸å¤Ë¥¹¥Ú¡¼¥¹¤òÆþ¤ì¤Þ¤¹¡£ ²¿¤âȼ¤ï¤Ê¤¤¤«¡¢¤¿¤À 1 ¤Ä¤Îʸ¤òȼ¤¦À©¸æÊ¸¤Ï¡¢¥Ö¥ì¡¼¥¹ .Ql ( \&{ ¤ª¤è¤Ó .Ql \&} ) ¤ò»ÈÍѤ·¤Þ¤»¤ó¡£ 1 ¤Ä¤Îʸ¤¬ Ê£¿ô¹Ô¤Ç¤¢¤ëʸ¤Î¾ì¹ç¤Ë¤Ï¡¢¤³¤ì¤Ïµö¤µ¤ì¤Þ¤¹¡£ ̵¸Â¥ë¡¼¥×¤Ï .Ic while ¤Ç¤Ï¤Ê¤¯ .Ic for ¤Ç¹Ô¤Ê¤¤¤Þ¤¹¡£ .Bd -literal for (p = buf; *p != '\e0'; ++p) ; /* ²¿¤â¤Ê¤· */ for (;;) stmt; for (;;) { z = a + really + long + statement + that + needs + two + lines + gets + indented + four + spaces + on + the + second + and + subsequent + lines; } for (;;) { if (cond) stmt; } if (val != NULL) val = realloc(val, newsize); .Ed .Pp .Ic for ¥ë¡¼¥×¤Î³ÆÉô¤Ï¶õ¤Î¤Þ¤Þ»Ä¤·¤Æ¤â¹½¤¤¤Þ¤»¤ó¡£ °Û¾ï¤ËÊ£»¨¤Ê¥ë¡¼¥Á¥ó¤Ç¤Ê¤¤¸Â¤ê¤Ï¡¢¥Ö¥í¥Ã¥¯¤ÎÃæ¤ËÀë¸À¤òÃÖ¤¤¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£ .Bd -literal for (; cnt < 15; cnt++) { stmt1; stmt2; } .Ed .Pp ¥¤¥ó¥Ç¥ó¥È¤Ï 8 ʸ»ú¤Î¥¿¥Ö¤Ç¤¹¡£ Âè 2 ¥ì¥Ù¥ë¤Î¥¤¥ó¥Ç¥ó¥È¤Ï 4 ʸ»ú¤Î¥¹¥Ú¡¼¥¹¤Ç¤¹¡£ Ť¤Ê¬¤òÀÞ¤êÊÖ¤¹É¬Íפ¬¤¢¤ë¾ì¹ç¡¢¥ª¥Ú¥ì¡¼¥¿¤ò¹ÔËö¤ËÃÖ¤­¤Þ¤¹¡£ .Bd -literal while (cnt < 20 && this_variable_name_is_too_long && ep != NULL) z = a + really + long + statement + that + needs + two + lines + gets + indented + four + spaces + on + the + second + and + subsequent + lines; .Ed .Pp ¶õÇòʸ»ú¤ò¹ÔËö¤ËÄɲ䷤ƤϤ¤¤±¤Þ¤»¤ó¡£ ¤Þ¤¿¡¢¥¤¥ó¥Ç¥ó¥È¤ò·ÁÀ®¤¹¤ë¤¿¤á¤Ë¤Ï¡¢¥¿¥Ö¤È¤½¤Î¸å¤Ë¥¹¥Ú¡¼¥¹¤Î¤ß¤ò»ÈÍѤ·¤Þ¤¹¡£ ¥¿¥Ö¤¬À¸¤ß½Ð¤¹°Ê¾å¤Î¥¹¥Ú¡¼¥¹¤ä¡¢¥¿¥Ö¤ÎÁ°¤Î¥¹¥Ú¡¼¥¹¤Ï»ÈÍѤ·¤Þ¤»¤ó¡£ .Pp ¥Ö¥ì¡¼¥¹¤Î½ªÎ»¤È³«»Ï¤Ï .Ic else ¤ÈƱ¤¸¹Ô¤ËÃÖ¤«¤ì¤Þ¤¹¡£ ɬÍפǤʤ¤¥Ö¥ì¡¼¥¹¤Ï¾Ê¤¤¤Æ¤â¹½¤¤¤Þ¤»¤ó¡£ .Bd -literal if (test) stmt; else if (bar) { stmt; stmt; } else stmt; .Ed .Pp ´Ø¿ô̾¤Î¸å¤Ï¥¹¥Ú¡¼¥¹¤ò¶õ¤±¤Þ¤»¤ó¡£ ¥³¥ó¥Þ¤Î¸å¤Ë¤Ï¥¹¥Ú¡¼¥¹¤ò»ý¤Á¤Þ¤¹¡£ .Ql \&( ¤Þ¤¿¤Ï .Ql \&[ ¤Î¸å¤í¤Þ¤¿¤Ï .Ql \&] ¤Þ¤¿¤Ï .Ql \&) ¤ÎÁ°¤Ë¤Ï¥¹¥Ú¡¼¥¹¤ò¶õ¤±¤Þ¤»¤ó¡£ .Bd -literal error = function(a1, a2); if (error != 0) exit(error); .Ed .Pp ñ¹à±é»»»Ò¤Ï¥¹¥Ú¡¼¥¹¤òÍ׵ᤷ¤Þ¤»¤ó¤¬¡¢Æó¹à±é»»»Ò¤ÏÍ׵ᤷ¤Þ¤¹¡£ Í¥Àè½ç°Ì¤¬Í׵᤹¤ë¾ì¹ç¤Þ¤¿¤Ïʸ¤¬³ç¸Ì¤Ê¤·¤Ç¤Ïº®Í𤹤ë¾ì¹ç°Ê³°¤Ï¡¢ ³ç¸Ì¤Ï»ÈÍѤ·¤Þ¤»¤ó¡£ ¾¿Í¤Ï¤¢¤Ê¤¿¤è¤ê¤âº®Í𤷤䤹¤¤¤«¤â¤·¤ì¤Ê¤¤¤È¤¤¤¦¤³¤È¤ò³Ð¤¨¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£ ¤¢¤Ê¤¿¤Ï°Ê²¼¤òÍý²ò¤Ç¤­¤Þ¤¹¤«? .Bd -literal a = b->c[0] + ~d == (e || f) || g && h ? i : j >> 1; k = !(l & FLAGS); .Ed .Pp À®¸ù»þ¤Ë¤Ï 0 ¤Ç¡¢¤Þ¤¿¤Ï .Xr sysexits 3 ¤Ë¤¢¤é¤«¤¸¤áÄêµÁ¤·¤Æ¤¢¤ëÃÍ¤Ç exit ¤¹¤ë¤Ù¤­¤Ç¤¹¡£ .Bd -literal exit(EX_OK); /* * "Exit 0 on success." (À®¸ù»þ¤Ï 0 ¤Ç½ªÎ») * ¤ÎÍͤËÌÀÇò¤Ê¥³¥á¥ó¥È¤ÏÈò¤±¤Æ¤¯¤À¤µ¤¤ */ } .Ed .Pp ´Ø¿ô¤Î·¿¤Ï¡¢´Ø¿ô¼«¿È¤ËÀè¹Ô¤¹¤ë¹Ô¤Ë¤¢¤ë¤Ù¤­¤Ç¤¹¡£ ´Ø¿ô¤ÎËÜÂΤγ«»Ï¤Î¥Ö¥ì¡¼¥¹¤Ï¡¢Ã±ÆÈ¤Ç 1 ¹Ô¤Ç¤¢¤ë¤Ù¤­¤Ç¤¹¡£ .Bd -literal static char * function(int a1, int a2, float fl, int a4) { .Ed .Pp ´Ø¿ô¤ÎÃæ¤ÇÊÑ¿ô¤òÀë¸À¤¹¤ë»þ¤Ë¤Ï¡¢¥µ¥¤¥º½ç¤Ë¡¢¼¡¤Ë¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È½ç¤Ë ¥½¡¼¥È¤·¤ÆÀë¸À¤·¤Þ¤¹¡£ 1 ¹Ô¤ËÊ£¿ô¤ÎÀë¸À¤Ï²Äǽ¤Ç¤¹¡£ ¹Ô¤¬°î¤ì¤ë¾ì¹ç¤Ï¡¢·¿¤ÎͽÌó¸ì¤òºÆÅÙ»ÈÍѤ·¤Þ¤¹¡£ .Pp Àë¸À»þ¤ËÊÑ¿ô¤ò½é´ü²½¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¥³¡¼¥É¤ò ÉÔÌÀÎÆ¤Ë¤·¤Ê¤¤ÍͤËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤³¤Îµ¡Ç½¤ÏÎɤ¯¹Í¤¨¤Æ»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£ ½é´ü²½¤Ë´Ø¿ô¸Æ¤Ó½Ð¤·¤ò»ÈÍѤ·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ .Bd -literal struct foo one, *two; double three; int *four, five; char *six, seven, eight, nine, ten, eleven, twelve; four = myfunction(); .Ed .Pp ¾¤Î´Ø¿ô¤ÎÆâÉô¤Ç´Ø¿ô¤òÀë¸À¤·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ ANSI C ¤Ë¤è¤ë¤È¡¢¤³¤Î¤è¤¦¤ÊÀë¸À¤Ï¡¢Àë¸À¤Î¥Í¥¹¥Æ¥£¥ó¥°¤Ë¤è¤é¤º¡¢ ¥Õ¥¡¥¤¥ë¥¹¥³¡¼¥×¤Ë¤Ê¤ê¤Þ¤¹¡£ ¥í¡¼¥«¥ë¥¹¥³¡¼¥×¤Ë¸«¤¨¤ë¤â¤Î¤ÎÃæ¤Ë¥Õ¥¡¥¤¥ë¤ÎÀë¸À¤ò±£¤¹¤³¤È¤Ï¹¥¤Þ¤·¤¯¤Ê¤¯¡¢ Îɤ¤¥³¥ó¥Ñ¥¤¥é¤Ï¶ì¾ð¤ò¸À¤¤¤Þ¤¹¡£ .Pp ¥­¥ã¥¹¥È¤È .Ic sizeof ±é»»»Ò¤Î¸å¤Ë¤Ï¥¹¥Ú¡¼¥¹¤ò³¤±¤Þ¤»¤ó¡£ ¤³¤Îµ¬Â§¤Ï .Xr indent 1 ¤¬Íý²ò¤·¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ .Ic sizeof ¤Ï¾ï¤Ë³ç¸Ì¤ò¤Ä¤±¤Æ½ñ¤«¤ì¤Þ¤¹¡£ ¾éĹ¤Ê³ç¸Ì¤Îµ¬Â§¤Ï .Fn sizeof var ¤Î»öÎã¤Ë¤ÏŬÍѤµ¤ì¤Þ¤»¤ó¡£ .Pp .Dv NULL ¤Ï¡¢¹¥¤Þ¤ì¤ë¥Ì¥ë¥Ý¥¤¥ó¥¿Äê¿ô¤Ç¤¹¡£ ¥³¥ó¥Ñ¥¤¥é¤¬·¿¤òÃΤäƤ¤¤ëʸ̮¡¢Î㤨¤ÐÂåÆþ¤Ç¤Ï¡¢ .Vt ( "type *" ) Ns 0 ¤Þ¤¿¤Ï .Vt ( "type *" ) Ns Dv NULL ¤ÎÂå¤ï¤ê¤Ë¡¢ .Dv NULL ¤ò»ÈÍѤ·¤Þ¤¹¡£ ¾¤Îʸ̮¤Ç¤Ï¡¢ÆÃ¤ËÁ´¤Æ¤Î´Ø¿ô¤Î°ú¿ô¤Ç¤Ï¡¢ .Vt ( "type *" ) Ns Dv NULL ¤ò»ÈÍѤ·¤Þ¤¹¡£ (´Ø¿ô¤Î¥×¥í¥È¥¿¥¤¥×¤¬¥¹¥³¡¼¥×³°¤«¤â¤·¤ì¤Ê¤¤¾ì¹ç¤Ë¡¢ ¥­¥ã¥¹¥È¤Ï¤¤¤í¤¤¤í¤Ê°ú¿ô¤Ë¤È¤Ã¤ÆÉ¬¿Ü¤Ç¡¢¤½¤Î¾¤Î°ú¿ô¤Ë¤È¤Ã¤Æ¤âɬÍפǤ¹¡£) ¥Ý¥¤¥ó¥¿¤Ï .Dv NULL -¤ÈÈæ³Ó¤·¤Þ¤¹¡£Î㤨¤Ð¡¢ +¤ÈÈæ³Ó¤·¤Þ¤¹¡£ +Î㤨¤Ð¡¢ .Bd -literal !(p = f()) .Ed .Pp ¤Ç¤Ï¤Ê¤¯¡¢¤³¤Î¤è¤¦¤Ë»È¤¤¤Þ¤¹¡£ .Bd -literal (p = f()) == NULL .Ed .Pp ¿¿ÍýÃͤǤϤʤ¤¾ì¹ç¡¢¥Æ¥¹¥È¤Ë¤Ï .Ic \&! ¤ò»ÈÍѤ·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ Î㤨¤Ð¡¢²¼µ­¤Î¤è¤¦¤Ë»È¤¤¤Þ¤¹¡£ .Bd -literal if (*p == '\e0') .Ed .Pp ²¼µ­¤Î¤è¤¦¤Ë¤Ï»È¤¤¤Þ¤»¤ó¡£ .Bd -literal if (!*p) .Ed .Pp .Vt "void *" ¤òÊÖ¤¹¥ë¡¼¥Á¥ó¤Ç¤Ï¡¢ Ìá¤êÃͤò¤É¤Î¥Ý¥¤¥ó¥¿·¿¤Ë¤â¥­¥ã¥¹¥È¤·¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£ .Pp .Ic return ʸ¤ÎÃͤϳç¸Ì¤Ç°Ï¤Þ¤ì¤Æ¤¤¤ë¤Ù¤­¤Ç¤¹¡£ .Pp .Xr err 3 ¤Þ¤¿¤Ï .Xr warn 3 ¤ò»ÈÍѤ·¡¢¾¡¼ê¤Ëºî¤é¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ .Bd -literal if ((four = malloc(sizeof(struct foo))) == NULL) err(1, (char *)NULL); if ((six = (int *)overflow()) == NULL) errx(1, "number overflowed"); return (eight); } .Ed .Pp ¸Å¤¤¥¹¥¿¥¤¥ë¤Î´Ø¿ôÀë¸À¤Ï¤³¤Î¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ .Bd -literal static char * function(a1, a2, fl, a4) int a1, a2; /* int ·¿¤âÀë¸À¤·¤Þ¤¹¡¢¥Ç¥Õ¥©¥ë¥È¤Ë¤·¤Ê¤¤¤³¤È */ float fl; /* double ¤È float ¤Î°ã¤¤¤Ëµ¤¤òÉÕ¤±¤Æ¤¯¤À¤µ¤¤ */ int a4; /* ½Ð¤Æ¤­¤¿½ç¤ËÀë¸À¤·¤Þ¤¹ */ { .Ed .Pp ¤¢¤Ê¤¿¤¬ÌÀ³Î¤Ë K&R ¤È¤Î¸ß´¹À­¤òɬÍפȤ¹¤ë¾ì¹ç°Ê³°¤Ï¡¢ ANSI ¤Î´Ø¿ôÀë¸À¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£ Ť¤¥Ñ¥é¥á¡¼¥¿¥ê¥¹¥È¤ÎÀÞ¤êÊÖ¤·¤Ë¤Ï¡¢ 4 ¸Ä¤Î¶õÇò¤Ë¤è¤ëÄ̾ï¤Î¥¤¥ó¥Ç¥ó¥È¤òÉÕ¤±¤Þ¤¹¡£ .Pp ²ÄÊѸĿô¤Î°ú¿ô¤Ï¤³¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£ .Bd -literal #include void vaf(const char *fmt, ...) { va_list ap; va_start(ap, fmt); STUFF; va_end(ap); /* void ·¿¤Î´Ø¿ô¤Ë return ¤ÏÉÔÍפǤ¹ */ } static void usage() { /* ´Ø¿ô¤¬¥í¡¼¥«¥ëÊÑ¿ô¤ò»ý¤¿¤Ê¤¤¾ì¹ç¡¢¶õ¹Ô¤ò¤¤¤ì¤Þ¤¹ */ .Ed .Pp .Xr fputs 3 , .Xr puts 3 , .Xr putchar 3 Åù¤Ç¤Ï¤Ê¤¯¡¢ .Xr printf 3 ¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£ ¤³¤ì¤Ï®¤¯¤ÆÂçÄñ¤Ï¤­¤ì¤¤¤Ç¡¢¸À¤¦¤Þ¤Ç¤â¤Ê¤¯¤Ä¤Þ¤é¤Ê¤¤¥Ð¥°¤òÈò¤±¤Þ¤¹¡£ .Pp »ÈÍÑË¡ (usage) ¤Îʸ¤Ï¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Î .Sx SYNOPSIS (½ñ¼°) ¤ÎÍͤǤ¢¤ë¤Ù¤­¤Ç¤¹¡£ »ÈÍÑË¡¤Îʸ¤Ï¡¢¼¡¤Î¹½Â¤¤Ç¤¢¤ë¤Ù¤­¤Ç¤¹: .Bl -enum .It ¥ª¥Ú¥é¥ó¥É¤Î̵¤¤¥ª¥×¥·¥ç¥ó¤¬¡¢ºÇ½é¤Ë¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È½ç¤Ë¡¢ 1 ÁȤÎÂç³ç¸Ì .Ql ( \&[ ¤È .Ql \&] ) ¤Ç¤¯¤¯¤é¤ì¤Þ¤¹¡£ .It ¥ª¥×¥·¥ç¥ó¤È¤½¤Î¥ª¥Ú¥é¥ó¥É¤¬¤³¤ì¤â¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È½ç¤Ë³¤­¡¢ ¤½¤ì¤¾¤ì¤Î¥ª¥×¥·¥ç¥ó¤È¤½¤Î°ú¿ô¤ò 1 ÁȤÎÂç³ç¸Ì¤Ç¤¯¤¯¤ê¤Þ¤¹¡£ .It ɬ¿Ü¤Î°ú¿ô (¤â¤·¤¢¤ì¤Ð) ¤¬Â³¤­¡¢ ¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç»ØÄꤵ¤ì¤ë¤Ù¤­½ç¤Ç°ìÍ÷¤µ¤ì¤Þ¤¹¡£ .It ºÇ¸å¤Ë¡¢ ¤¹¤Ù¤Æ¤ÎǤ°Õ¤Î°ú¿ô¤¬»ØÄꤵ¤ì¤ë¤Ù¤­½ç¤Ç¡¢ ¤¹¤Ù¤ÆÂç³ç¸Ì¤ÎÃæ¤Ë°ìÍ÷¤µ¤ì¤Þ¤¹¡£ .El .Pp ½ÄËÀ .Pq Ql \&| ¤Ï¡¢ .Dq Æó¼ÔÂò°ì ¤Î¥ª¥×¥·¥ç¥ó¤Þ¤¿¤Ï°ú¿ô¤òʬ³ä¤·¡¢ Ʊ»þ¤Ë»ÈÍѤ¹¤ë¥ª¥×¥·¥ç¥ó¤È°ú¿ô¤Ï¡¢Ã±°ì¤ÎÂç³ç¸Ì¤Ç¤¯¤¯¤ê¤Þ¤¹¡£ .Bd -literal -offset 4n "usage: f [-aDde] [-b b_arg] [-m m_arg] req1 req2 [opt1 [opt2]]\en" "usage: f [-a | -b] [-c [-dEe] [-n number]]\en" .Ed .Bd -literal (void)fprintf(stderr, "usage: f [-ab]\en"); exit(EX_USAGE); } .Ed .Pp ¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Î¥ª¥×¥·¥ç¥óµ­½Ò¤Ï¡¢ ½ã¿è¤Ê¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È½ç¤Ç¤¢¤ë¤Ù¤­¤Ç¤¢¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤Ä¤Þ¤ê¡¢¥ª¥×¥·¥ç¥ó¤¬°ú¿ô¤ò¼è¤ë¤«Èݤ«¤Ë´Ø¤ï¤é¤Ê¤¤¤È¤¤¤¦¤³¤È¤Ç¤¹¡£ ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È½ç¤Ï¡¢Á°½Ò¤ÎÂçʸ»ú¾®Ê¸»ú¤Î½ç½ø¤ò¹Íθ¤ËÆþ¤ì¤ë¤Ù¤­¤Ç¤¹¡£ .Pp ¿·¤·¤¤Ã濴Ū¤Ê¥«¡¼¥Í¥ë¤Î¥³¡¼¥É¤Ï¡¢Å¬ÅÙ¤Ë .Nm ¥¬¥¤¥É¤Ë½¾¤¦¤Ù¤­¤Ç¤¹¡£ ¥µ¡¼¥É¥Ñ¡¼¥Æ¥£¤¬Êݼ餹¤ë¥â¥¸¥å¡¼¥ë¤ä¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð¤Î¤¿¤á¤Î¥¬¥¤¥É¥é¥¤¥ó¤Ï ¤è¤ê´Ë¤ä¤«¤Ç¤¹¤¬¡¢ºÇÄã¸ÂÆâÉôŪ¤Ë¤ÏÈà¤é¤Î°ì´Ó¤·¤¿¥¹¥¿¥¤¥ë¤Ç¤¢¤ë¤Ù¤­¤Ç¤¹¡£ .Pp ¥½¡¼¥¹¥ê¥Ý¥¸¥È¥ê¤ÎʸÂΤÎÊѹ¹ (¶õÇòʸ»ú¤ÎÊѹ¹¤ò´Þ¤à) ¤Ïº¤Æñ¤Ç¡¢ ÀµÅö¤ÊÍýͳ¤Ê¤·¤Ë¤ÏÈò¤±¤ë¤Ù¤­¤Ç¤¹¡£ ¥ê¥Ý¥¸¥È¥ê¤ÎÃæ¤Î¤ª¤ª¤è¤½ KNF .Nm ¤ËŬ¹ç¤·¤Æ¤¤¤ë¥³¡¼¥É¤Ï¡¢¤³¤ÎŬ¹ç¤«¤éÎ¥¤ì¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£ .Pp ²Äǽ¤Ê»þ¤Ë¤Ï¤¤¤Ä¤Ç¤â¡¢ ¥³¡¼¥É¤Ï¥³¡¼¥É¥Á¥§¥Ã¥« (Î㤨¤Ð¡¢ .Xr lint 1 ¤Þ¤¿¤Ï .Nm gcc Fl Wall ) ¤ò Ä̲ᤷ¡¢È¯À¸¤¹¤ë·Ù¹ð¤ÏºÇ¾®¸Â¤È¤Ê¤ë¤Ù¤­¤Ç¤¹¡£ .Sh ´ØÏ¢¹àÌÜ .Xr indent 1 , .Xr lint 1 , .Xr err 3 , .Xr sysexits 3 , .Xr warn 3 , .Xr style.Makefile 5 .Sh Îò»Ë ¤³¤Î¥Ú¡¼¥¸¤Ï .Bx 4.4 Lite2 ¥ê¥ê¡¼¥¹¤Î .Pa src/admin/style/style ¥Õ¥¡¥¤¥ë¤ËÂ礭¤¯´ð¤Å¤¤¤Æ¤¤¤Æ¡¢ ¸½ºß¤Î¼ÂÁõ¤È .Fx ¥×¥í¥¸¥§¥¯¥È¤ÎÍ×˾¤òÈ¿±Ç¤·¤Æ¡¢ÉÑÈˤ˹¹¿·¤·¤Æ¤¤¤Þ¤¹¡£ diff --git a/ja_JP.eucJP/man/man9/suser.9 b/ja_JP.eucJP/man/man9/suser.9 index 2bb843420d..8b1d668020 100644 --- a/ja_JP.eucJP/man/man9/suser.9 +++ b/ja_JP.eucJP/man/man9/suser.9 @@ -1,110 +1,128 @@ .\" .\" 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.22 2004/04/06 19:49:21 ru Exp % +.\" %FreeBSD: src/share/man/man9/suser.9,v 1.25 2004/07/26 07:24:01 cperciva Exp % .\" $FreeBSD$ .\" .Dd April 2, 2002 .Dt SUSER 9 .Os .Sh ̾¾Î .Nm suser , .Nm suser_cred .Nd ¾ÚÌÀ¤¬¥¹¡¼¥Ñ¥æ¡¼¥¶¤Î¸¢¸Â¤ò»ý¤Ã¤Æ¤¤¤ë¤«¤É¤¦¤«¤Î¥Á¥§¥Ã¥¯ .Sh ½ñ¼° .In sys/param.h .In sys/systm.h .Ft int .Fn suser "struct thread *td" .Ft int .Fn suser_cred "struct ucred *cred" "int flags" .Sh ²òÀâ .Fn suser ¤ª¤è¤Ó .Fn suser_cred ´Ø¿ô¤Ï¡¢¥¹¡¼¥Ñ¥æ¡¼¥¶¤Î¸¢¸Â¤ò´Þ¤à¾ÚÌÀ¤¬Í¿¤¨¤é¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«¤ò¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£ .Pp .Fn suser ´Ø¿ô¤ÏºÇ¤âÉáÄ̤ǡ¢ÆÃÊ̤ʻö¾ð¤¬¤½¤Î¾¤ÎÊýË¡¤òÍ׵᤹¤ë¤Î¤Ç¤Ê¤±¤ì¤Ð¡¢ ¤³¤ì¤¬»ÈÍѤµ¤ì¤ë¤Ù¤­¤Ç¤¹¡£ .Pp .Fn suser_cred ´Ø¿ô¤Ï¡¢¥Á¥§¥Ã¥¯¤µ¤ì¤ë¤Ù¤­¾ÚÌÀ¤¬¤½¤Î¥¹¥ì¥Ã¥É¼«¿È¤Î¤â¤Î¤Ç¤Ê¤¤»þ¡¢ -¥¹¥ì¥Ã¥É¤¬Â¸ºß¤·¤Ê¤¤»þ¡¢¤Þ¤¿¤Ï¥¹¡¼¥Ñ¥æ¡¼¥¶¤Î¸¢¸Â¤¬ -ÊĤ¸¹þ¤á¤é¤ì¤¿ root ¤Ë³ÈÂ礵¤ì¤ë¤Ù¤­»þ¤Ë¡¢»ÈÍѤµ¤ì¤ë¤Ù¤­¤Ç¤¹¡£ +¥¹¥ì¥Ã¥É¤¬Â¸ºß¤·¤Ê¤¤»þ¡¢¥¹¡¼¥Ñ¥æ¡¼¥¶¤Î¸¢¸Â¤¬ +ÊĤ¸¹þ¤á¤é¤ì¤¿ root ¤Ë³ÈÂ礵¤ì¤ë¤Ù¤­»þ¡¢¤Þ¤¿¤Ï¥Á¥§¥Ã¥¯¤µ¤ì¤ë¤Ù¤­¾ÚÌÀ¤¬ +¼Â¸ú¥æ¡¼¥¶¤È¤¤¤¦¤è¤ê¤Ï¼ÂºÝ¤Î¥æ¡¼¥¶¤Ç¤¢¤ë»þ¤Ë¡¢»ÈÍѤµ¤ì¤ë¤Ù¤­¤Ç¤¹¡£ .Pp ¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢ .Xr jail 2 ¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ë¤è¤Ã¤ÆÊĤ¸¹þ¤á¤é¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢ ¥×¥í¥»¥¹¤Ï¥¹¡¼¥Ñ¥æ¡¼¥¶¤Î¸¢¸Â¤ò»ý¤Á¤Þ¤»¤ó¡£ ¤·¤«¤·¤Ê¤¬¤é¡¢¤³¤ì¤¬Å¬Àڤʾì¹ç¤¬¤¢¤ê¡¢ .Fn suser_cred ´Ø¿ô¤ØÅϤ¹ .Fa flags °ú¿ô¤Ë -.Dv PRISON_ROOT +.Dv SUSER_ALLOWJAIL ¥Ó¥Ã¥È¤òÀßÄꤹ¤ë¤³¤È¤Ë¤è¤Ã¤Æ¼Â¸½¤µ¤ì¤Þ¤¹¡£ ¤³¤ì¤¬Ï´²°¤ò¼å¤¯¤·¤Ê¤¤¤³¤È¤ò¡¢Ãí°Õ¿¼¤¯ºÆÄ´ºº¤¹¤ë¤³¤È¤¬½ÅÍפǤ¹¡£ °ìÈÌŪ¤Ë¤Ï .Xr jail 2 ¸Æ¤Ó½Ð¤·¤ÎÃæ¤Î°ÅÌۤΠ.Xr chroot 2 ¤Ë¤è¤Ã¤Æ¹Ôư¤¬Êݸ¤ì¤Æ¤¤¤ë¾ì½ê¤Î¤ß¤Ë¤ª¤¤¤Æ¡¢ ¤³¤Î¤è¤¦¤Ê¸¢¸Â¤ò¾µÂú¤µ¤ì¤ë¤Ù¤­¤Ç¤¹¡£ .Pp +¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥Á¥§¥Ã¥¯¤µ¤ì¤ë¾ÚÌÀ¤Ï¼Â¸ú¥æ¡¼¥¶¤Ç¤¹¡£ +Âå¤ï¤ê¤Ë¼ÂºÝ¤Î¥æ¡¼¥¶¤ò¥Á¥§¥Ã¥¯¤¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç (Î㤨¤Ð¡¢ +¥ê¥½¡¼¥¹¥ê¥ß¥Ã¥È¤¬Å¬ÍѤµ¤ì¤¿¾ì¹ç¤Î·èÄê¤Î¤È¤­) ¤¬¤¢¤ê¤Þ¤¹¡£ +¤½¤·¤Æ¡¢¤³¤ì¤Ï +.Fn suser_cred +´Ø¿ô¤Ø¤Î +.Fa flag +°ú¿ô¤Ë +.Dv SUSER_RUID +¤òÅϤ¹¤³¤È¤Ë¤è¤Ã¤Æ¹Ô¤¦¤³¤È¤¬²Äǽ¤Ç¤¹¡£ +.Pp .Fn suser ¤ª¤è¤Ó .Fn suser_cred ´Ø¿ô¤Ï¡¢¥¹¡¼¥Ñ¥æ¡¼¥¶¤Î¸¢¸Â¤¬»ÈÍѤµ¤ì¤¿»ö¤ò¡¢ »ØÄꤵ¤ì¤¿¥×¥í¥»¥¹¤Î¥×¥í¥»¥¹¹½Â¤ÂÎÃæ¤Ëµ­Ï¿¤·¤Þ¤¹¡£ ¤³¤ì¤é¤Î´Ø¿ô¤Îµ¡Ç½¤Î°ìÉô¤Ï¡¢¥¹¡¼¥Ñ¥æ¡¼¥¶¤Î¸¢¸Â¤¬»ÈÍѤµ¤ì¤¿¤«¤É¤¦¤«¤ò ÄÌÃΤ¹¤ë¤³¤È¤Ë¤¢¤ê¤Þ¤¹¤Î¤Ç¡¢ ¾¤Î¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤Î²ÄǽÀ­¤¬»È¤¤¿Ô¤¯¤µ¤ì¤¿¸å¤Ç¤Î¤ß¡¢ ¤³¤ì¤é´Ø¿ô¤ò¸Æ¤Ó½Ð¤¹¤Ù¤­¤Ç¤¹¡£ .Sh Ìá¤êÃÍ .Fn suser ¤ª¤è¤Ó .Fn suser_cred ´Ø¿ô¤Ï¡¢¤½¤Î¥æ¡¼¥¶¤¬¥¹¡¼¥Ñ¥æ¡¼¥¶¤Î¸¢¸Â¤ò»ý¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï 0 ¤òÊÖ¤·¡¢ ¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ï .Er EPERM ¤òÊÖ¤·¤Þ¤¹¡£ ¤³¤ì¤Ï¡¢TRUE ¤Î±þÅú¤¬¥¹¡¼¥Ñ¥æ¡¼¥¶¸¢¸Â¤ò»ý¤Ä¤³¤È¤ò¼¨¤¹¤è¤¦¤Ê¾¤Î¼ÂÁõ¤È¤Ï .Em µÕ¤ÎÏÀÍý ¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ TRUE ¤Î±þÅú¤Î .Fn suser ¤Ï¥¹¡¼¥Ñ¥æ¡¼¥¶¤Î¸¢¸Â¤ò¼¨¤·¤Þ¤¹¡£ .Sh ´ØÏ¢¹àÌÜ .Xr chroot 2 , .Xr jail 2 +.Sh ¥Ð¥° +.Fn suser +¤ª¤è¤Ó +.Fn suser_cred +´Ø¿ô¤Ï»ö¼Â¾å¤Ï 2000 ǯ¤Î 8 ·î¤«¤é¡¢ +¥¹¡¼¥Ñ¥æ¡¼¥¶¤ÎÆÃ¸¢¤¬»ÈÍѤµ¤ì¤¿¤³¤È¤ª¤è¤Ó¤µ¤ì¤Ê¤«¤Ã¤¿¤³¤È¤òµ­Ï¿¤·¤Þ¤»¤ó¡£ diff --git a/ja_JP.eucJP/man/man9/sx.9 b/ja_JP.eucJP/man/man9/sx.9 index 0e6fffe8b5..ce9e5d1bfc 100644 --- a/ja_JP.eucJP/man/man9/sx.9 +++ b/ja_JP.eucJP/man/man9/sx.9 @@ -1,197 +1,217 @@ .\" .\" Copyright (C) 2001 Jason Evans . 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(s), this list of conditions and the following disclaimer as .\" the first lines of this file unmodified other than the possible .\" addition of one or more copyright notices. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice(s), 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 COPYRIGHT HOLDER(S) ``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 COPYRIGHT HOLDER(S) 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/sx.9,v 1.27 2004/02/24 21:36:39 jhb Exp % +.\" %FreeBSD: src/share/man/man9/sx.9,v 1.29 2004/07/11 16:08:25 darrenr Exp % .\" .\" $FreeBSD$ .Dd August 14, 2001 .Dt SX 9 .Os .Sh ̾¾Î .Nm sx , .Nm sx_init , .Nm sx_destroy , .Nm sx_slock , .Nm sx_xlock , .Nm sx_try_slock , .Nm sx_try_xlock , .Nm sx_sunlock , .Nm sx_xunlock , .Nm sx_try_upgrade , .Nm sx_downgrade , .Nm sx_assert , +.Nm sx_unlock , .Nm SX_SYSINIT .Nd ¥«¡¼¥Í¥ë¤Î¶¦Í­/ÇÓ¾¥í¥Ã¥¯ .Sh ½ñ¼° .In sys/param.h .In sys/lock.h .In sys/sx.h .Ft void .Fn sx_init "struct sx *sx" "const char *description" .Ft void .Fn sx_destroy "struct sx *sx" .Ft void .Fn sx_slock "struct sx *sx" .Ft void .Fn sx_xlock "struct sx *sx" .Ft int .Fn sx_try_slock "struct sx *sx" .Ft int .Fn sx_try_xlock "struct sx *sx" .Ft void .Fn sx_sunlock "struct sx *sx" .Ft void .Fn sx_xunlock "struct sx *sx" .Ft int .Fn sx_try_upgrade "struct sx *sx" .Ft void .Fn sx_downgrade "struct sx *sx" -.Pp -.Cd "options INVARIANTS" -.Cd "options INVARIANT_SUPPORT" .Ft void .Fn sx_assert "struct sx *sx" "int what" -.In sys/kernel.h +.\" +.Ss sx ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¥Þ¥¯¥í +.Fn sx_unlock "struct sx *sx" .Fn SX_SYSINIT "name" "struct sx *sx" "const char *description" +.\" +.Ss ¥«¡¼¥Í¥ë¥ª¥×¥·¥ç¥ó +.Cd "options INVARIANTS" +.Cd "options INVARIANT_SUPPORT" +.In sys/kernel.h .Sh ²òÀâ ¶¦Í­/ÇÓ¾¥í¥Ã¥¯¤Ï½ñ¤­¹þ¤Þ¤ì¤ë¤è¤ê¤â¡¢ÆÉ¤ß¹þ¤Þ¤ì¤ëÊý¤¬Èó¾ï¤Ë¿¤¤¥Ç¡¼¥¿¤ò Êݸ¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ mutex ¤ÏËܼÁŪ¤Ë¶¦Í­/ÇÓ¾¥í¥Ã¥¯¤è¤ê¤âǽΨŪ¤Ê¤Î¤Ç¡¢¶¦Í­/ÇÓ¾¥í¥Ã¥¯¤Ï ÍÑ¿´¿¼¤¯»ÈÍѤµ¤ì¤ë¤Ù¤­¤Ç¤¹¡£ .Pp ¶¦Í­/ÇÓ¾¥í¥Ã¥¯¤Ï .Fn sx_init -¤ò»ÈÍѤ·¤ÆºîÀ®¤µ¤ì¤Þ¤¹¡£¤³¤³¤Ç +¤ò»ÈÍѤ·¤ÆºîÀ®¤µ¤ì¤Þ¤¹¡£ +¤³¤³¤Ç .Fa sx ¤Ï .Vt struct sx ¤Î¤¿¤á¤ÎÎÎ°è¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¡¢ .Fa description ¤Ï¤½¤Î¶¦Í­/ÇÓ¾¥í¥Ã¥¯¤òÀâÌÀ¤¹¤ë¥Ì¥ë¤Ç½ªÃ¼¤µ¤ì¤¿Ê¸»úÎó¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¹¡£ ¶¦Í­/ÇÓ¾¥í¥Ã¥¯¤Ï .Fn sx_destroy ¤ò»ÈÍѤ·¤ÆÇ˲õ¤µ¤ì¤Þ¤¹¡£ ¥¹¥ì¥Ã¥É¤Ï .Fn sx_slock ¤Þ¤¿¤Ï .Fn sx_try_slock ¤ª¤è¤Ó .Fn sx_sunlock +¤Þ¤¿¤Ï +.Fn sx_unlock ¤Î¸Æ¤Ó½Ð¤·¤Ë¤è¤Ã¤Æ¶¦Í­¥í¥Ã¥¯¤ò³ÍÆÀ¤ª¤è¤Ó²òÊü¤·¤Þ¤¹¡£ ¥¹¥ì¥Ã¥É¤Ï .Fn sx_xlock ¤Þ¤¿¤Ï .Fn sx_try_xlock ¤ª¤è¤Ó .Fn sx_xunlock +¤Þ¤¿¤Ï +.Fn sx_unlock ¤Î¸Æ¤Ó½Ð¤·¤Ë¤è¤Ã¤ÆÇÓ¾¥í¥Ã¥¯¤ò³ÍÆÀ¤ª¤è¤Ó²òÊü¤·¤Þ¤¹¡£ ¥¹¥ì¥Ã¥É¤Ï .Fn sx_try_upgrade ¤Î¸Æ¤Ó½Ð¤·¤Ë¤è¤Ã¤Æ¡¢¸½ºßÊÝÍ­¤·¤Æ¤¤¤ë¶¦Í­¥í¥Ã¥¯¤«¤éÇÓ¾¥í¥Ã¥¯¤Ø¤Î ¥¢¥Ã¥×¥°¥ì¡¼¥É¤ò»î¤ß¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£ ÇÓ¾¥í¥Ã¥¯¤ò»ý¤Ã¤Æ¤¤¤ë¥¹¥ì¥Ã¥É¤Ï¡¢ .Fn sx_downgrade ¤Î¸Æ¤Ó½Ð¤·¤Ë¤è¤Ã¤Æ¤½¤ÎÇÓ¾¥í¥Ã¥¯¤«¤é¶¦Í­¥í¥Ã¥¯¤Ø¤Î¥À¥¦¥ó¥°¥ì¡¼¥É¤¬²Äǽ¤Ç¤¹¡£ .Pp .Fn sx_try_slock ¤ª¤è¤Ó .Fn sx_try_xlock ¤Ï¶¦Í­/ÇÓ¾¥í¥Ã¥¯¤¬¤¹¤°¤Ë³ÍÆÀ¤Ç¤­¤Ê¤«¤Ã¤¿¾ì¹ç¤Ë¤Ï 0 ¤òÊÖ¤·¡¢ ¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ï¶¦Í­/ÇÓ¾¥í¥Ã¥¯¤¬³ÍÆÀ¤µ¤ì 0 ¤Ç¤Ï¤Ê¤¤Ãͤ¬ÊÖ¤µ¤ì¤Þ¤¹¡£ .Pp .Fn sx_try_upgrade ¤Ï¶¦Í­¥í¥Ã¥¯¤ò¤¹¤°¤ËÇÓ¾¥í¥Ã¥¯¤Ë¥¢¥Ã¥×¥°¥ì¡¼¥É¤Ç¤­¤Ê¤¤¾ì¹ç¤Ë¤Ï 0 ¤òÊÖ¤·¡¢ ¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ë¤ÏÇÓ¾¥í¥Ã¥¯¤¬³ÍÆÀ¤µ¤ì 0 ¤Ç¤Ï¤Ê¤¤Ãͤ¬ÊÖ¤µ¤ì¤Þ¤¹¡£ .Pp .Cd "options INVARIANTS" ¤ª¤è¤Ó .Cd "options INVARIANT_SUPPORT" ÉÕ¤­¤Ç¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤¿¤È¤­¤Ë¤Ï¡¢ .Fn sx_assert ´Ø¿ô¤Ï -.Ar what +.Fa what ¤Ë»ØÄꤵ¤ì¤¿¥¢¥µ¡¼¥È¤Î¤¿¤á¤Ë -.Ar sx +.Fa sx ¤ò¥Æ¥¹¥È¤·¡¢¤½¤ì¤é¤¬¹ç¤ï¤Ê¤«¤Ã¤¿¾ì¹ç¤Ë¤Ï panic ¤·¤Þ¤¹¡£ °Ê²¼¤Î¥¢¥µ¡¼¥È¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ .Bl -tag -width ".Dv SX_UNLOCKED" .It Dv SX_LOCKED ¸½ºß¤Î¥¹¥ì¥Ã¥É¤¬¡¢ºÇ½é¤Î°ú¿ô¤Ë¤è¤Ã¤Æ»Ø¤µ¤ì¤Æ¤¤¤ë .Vt sx ¥í¥Ã¥¯¾å¤Ë¡¢¶¦Í­¤Þ¤¿¤ÏÇÓ¾¥í¥Ã¥¯¤Î¤¤¤º¤ì¤«¤ò»ý¤Ã¤Æ¤¤¤ë¤³¤È¤ò¥¢¥µ¡¼¥È¤·¤Þ¤¹¡£ .It Dv SX_SLOCKED ¸½ºß¤Î¥¹¥ì¥Ã¥É¤¬¡¢ºÇ½é¤Î°ú¿ô¤Ë¤è¤Ã¤Æ»Ø¤µ¤ì¤Æ¤¤¤ë .Vt sx ¥í¥Ã¥¯¾å¤Ë¡¢¶¦Í­¥í¥Ã¥¯¤ò»ý¤Ã¤Æ¤¤¤ë¤³¤È¤ò¥¢¥µ¡¼¥È¤·¤Þ¤¹¡£ .It Dv SX_XLOCKED ¸½ºß¤Î¥¹¥ì¥Ã¥É¤¬¡¢ºÇ½é¤Î°ú¿ô¤Ë¤è¤Ã¤Æ»Ø¤µ¤ì¤Æ¤¤¤ë .Vt sx ¥í¥Ã¥¯¾å¤Ë¡¢ÇÓ¾¥í¥Ã¥¯¤ò»ý¤Ã¤Æ¤¤¤ë¤³¤È¤ò¥¢¥µ¡¼¥È¤·¤Þ¤¹¡£ .It Dv SX_UNLOCKED ¸½ºß¤Î¥¹¥ì¥Ã¥É¤¬¡¢ºÇ½é¤Î°ú¿ô¤Ë¤è¤Ã¤Æ»Ø¤µ¤ì¤Æ¤¤¤ë .Vt sx ¥í¥Ã¥¯¾å¤Ë¡¢¥í¥Ã¥¯¤ò»ý¤Ã¤Æ¤¤¤Ê¤¤¤³¤È¤ò¥¢¥µ¡¼¥È¤·¤Þ¤¹¡£ .El .Pp +¥×¥í¥°¥é¥ß¥ó¥°¤ò´Êñ¤Ë¤¹¤ë¤¿¤á¤Ë¡¢ +.Fn sx_sunlock +¤ª¤è¤Ó +.Fn sx_xunlock +³Æ¡¹¤Î´Ø¿ô¤Ø¤Î¥Õ¥í¥ó¥È¥¨¥ó¥É¥Þ¥¯¥í¤È¤·¤Æ +.Fn sx_unlock +¤¬Ä󶡤µ¤ì¤Æ¤¤¤Þ¤¹¡£ +¥í¥Ã¥¯¤¬¤É¤Î¾õÂ֤ˤʤäƤ¤¤ë¤«¤òÃΤäƤ¤¤ë¥¢¥ë¥´¥ê¥º¥à¤Ï¡¢ +¾®¤µ¤Ê¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤ÎÍø±×¤Î¤¿¤á¤Ë³Æ¡¹¤Î 2 ¤Ä¤ÎÆÃÄê¤Î´Ø¿ô¤ò»ÈÍѤ¹¤Ù¤­¤Ç¤¹¡£ +.Pp .Fn SX_SYSINIT ¥Þ¥¯¥í¤Ï¥·¥¹¥Æ¥à¥¹¥¿¡¼¥È¥¢¥Ã¥×»þ¤ËÍ¿¤¨¤é¤ì¤¿ .Fa sx ¥í¥Ã¥¯¤ò½é´ü²½¤¹¤ë¤¿¤á¤Ë .Fn sx_sysinit ¤Î¸Æ¤Ó½Ð¤·¤òÀ¸À®¤·¤Þ¤¹¡£ °ú¿ô¤Ï .Fn sx_init ¤ÈƱÍͤǤ¹¤¬¡¢ ¤½¤Î¥í¥Ã¥¯¤È sysinit ¥ë¡¼¥Á¥ó¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿¹½Â¤ÂΤ˴ØÏ¢¤·¤¿Í£°ì¤Î ÊÑ¿ô̾¤òÀ¸À®¤¹¤ëºÝ¤Ë»ÈÍѤµ¤ì¤ëÄɲäΰú¿ô¤È¤·¤Æ .Fa name ¤ò»ý¤Á¤Þ¤¹¡£ .Pp ¥¹¥ì¥Ã¥É¤ÏƱ¤¸¥í¥Ã¥¯¾å¤Ë¶¦Í­¥í¥Ã¥¯¤ÈÇÓ¾¥í¥Ã¥¯¤òƱ»þ¤Ë¤Ï»ý¤Ä¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¡£ Ʊ»þ¤Ë»ý¤Ä¤³¤È¤Ï¥Ç¥Ã¥É¥í¥Ã¥¯¤ò°ú¤­µ¯¤³¤¹¤³¤È¤Ë¤Ê¤ë¤¿¤á¤Ç¤¹¡£ .Sh ¥³¥ó¥Æ¥­¥¹¥È ¥¹¥ê¡¼¥×¤·¤Æ¤¤¤ë´Ö¤Ë .Nm ¥í¥Ã¥¯¾å¤Ë¶¦Í­¥í¥Ã¥¯¤Þ¤¿¤ÏÇÓ¾¥í¥Ã¥¯¤ò½êÍ­¤¹¤ë¤³¤È¤Ïµö²Ä¤µ¤ì¤Þ¤¹¡£ .Sh ´ØÏ¢¹àÌÜ .Xr condvar 9 , .Xr mtx_pool 9 , .Xr mutex 9 , .Xr panic 9 , .Xr sema 9 .Sh ¥Ð¥° ¸½ºß¡¢¥í¥Ã¥¯¤¬ÊÝ»ý¤µ¤ì¤Æ¤¤¤Ê¤¤¤³¤È¤ò¥¢¥µ¡¼¥È¤¹¤ëÊýË¡¤¬¤¢¤ê¤Þ¤»¤ó¡£ .Dv WITNESS ¤Ç¤Ï¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢¤³¤Î¥¹¥ì¥Ã¥É¤¬¶¦Í­¥í¥Ã¥¯¤òÊÝ»ý¤·¤Æ¤¤¤Ê¤¤¤³¤È¤ò -¥¢¥µ¡¼¥È¤¹¤ë¤³¤È¤ÏÉÔ²Äǽ¤Ç¤¹¡£¡¡ +¥¢¥µ¡¼¥È¤¹¤ë¤³¤È¤ÏÉÔ²Äǽ¤Ç¤¹¡£ .Dv WITNESS ¤Ç¤Ï¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢ .Dv SX_LOCKED ¤ª¤è¤Ó .Dv SX_SLOCKED ¤Î¥¢¥µ¡¼¥È¤Ï¡¢¤¢¤ë¥¹¥ì¥Ã¥É¤¬¶¦Í­¥í¥Ã¥¯¤òÊÝ»ý¤·¤Æ¤¤¤ë¤³¤È¤ò ñ¤Ë¥Á¥§¥Ã¥¯¤¹¤ë¤Ë²á¤®¤Þ¤»¤ó¡£ ¤³¤ì¤é¤Ï¡¢¸½ºß¤Î¥¹¥ì¥Ã¥É¤¬¶¦Í­¥í¥Ã¥¯¤òÊÝ»ý¤·¤Æ¤¤¤ë¤³¤È¤òÊݾڤ·¤Þ¤»¤ó¡£ diff --git a/ja_JP.eucJP/man/man9/sysctl_add_oid.9 b/ja_JP.eucJP/man/man9/sysctl_add_oid.9 index 15a1af14d4..252ccd543b 100644 --- a/ja_JP.eucJP/man/man9/sysctl_add_oid.9 +++ b/ja_JP.eucJP/man/man9/sysctl_add_oid.9 @@ -1,499 +1,499 @@ .\" .\" 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.19 2004/02/27 17:13:42 des Exp % +.\" %FreeBSD: src/share/man/man9/sysctl_add_oid.9,v 1.20 2004/07/03 18:29:24 ru Exp % .\" $FreeBSD$ .\" .Dd July 15, 2000 .Dt SYSCTL_ADD_OID 9 .Os .Sh ̾¾Î .Nm sysctl_add_oid , .Nm sysctl_move_oid , .Nm sysctl_remove_oid .Nd ¥é¥ó¥¿¥¤¥à sysctl ¥Ä¥ê¡¼Áàºî .Sh ½ñ¼° .In sys/types.h .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 "const char *name" .Fa "int kind" .Fa "void *arg1" .Fa "int arg2" .Fa "int (*handler) (SYSCTL_HANDLER_ARGS)" .Fa "const char *format" .Fa "const char *descr" .Fc .Ft int .Fo sysctl_move_oid .Fa "struct sysctl_oid *oidp" .Fa "struct sysctl_oid_list *parent" .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 "struct sysctl_oid_list 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 "const cha *name" .Fa "int kind" .Fa "void *arg1" .Fa "int arg2" .Fa "int (*handler) (SYSCTL_HANDLER_ARGS)" .Fa "const char *format" .Fa "const 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 "const char *name" .Fa "int access" .Fa "int (*handler) (SYSCTL_HANDLER_ARGS)" .Fa "const 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 "const char *name" .Fa "int access" .Fa "char *arg" .Fa "int len" .Fa "const 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 "const char *name" .Fa "int access" .Fa "int *arg" .Fa "int len" .Fa "const 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 "const char *name" .Fa "int access" .Fa "unsigned int *arg" .Fa "int len" .Fa "const 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 "const char *name" .Fa "int access" .Fa "long *arg" .Fa "const 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 "const char *name" .Fa "int access" .Fa "unsigned long *arg" .Fa "const 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 "const char *name" .Fa "int access" .Fa "void *arg" .Fa "int len" .Fa "const char *format" .Fa "const 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 "const char *name" .Fa "int access" .Fa "void *arg" .Fa STRUCT_NAME .Fa "const 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 "const char *name" .Fa "int access" .Fa "void *arg1" .Fa "int arg2" .Fa "int (*handler) (SYSCTL_HANDLER_ARGS)" .Fa "const char *format" .Fa "const char *descr" .Fc .Sh ²òÀâ ¤³¤ì¤é¤Î´Ø¿ô¤ª¤è¤Ó¥Þ¥¯¥í¤Ï sysctl oid ¤Î¥é¥ó¥¿¥¤¥à (Î㤨¤Ð¥â¥¸¥å¡¼¥ë¤Î ¸ºß´ü´Ö) ¤Ç¤ÎºîÀ®¤Èºï½ü¤Î¤¿¤á¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÄ󶡤·¤Þ¤¹¡£ ¥ê¥ó¥«¥»¥Ã¥È (¾ÜºÙ¤Ï .In 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 ¤Î¼ïÎà¤Ç¡¢ .In sys/sysctl.h ¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤ÎÃæ¤ÇÄêµÁ¤µ¤ì¤ë·¿¤È¥¢¥¯¥»¥¹ÃͤΥӥåȥޥ¹¥¯¤È¤·¤ÆÌÀ¼¨¤µ¤ì¤Þ¤¹¡£ ưŪ¤ËºîÀ®¤µ¤ì¤¿ oid ¤Ï¾ï¤Ë .Dv CTLFLAG_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_move_oid ´Ø¿ô¤Ï¸ºß¤·¤Æ¤¤¤ë oid ¤Î¿Æ¤òÉÕ¤±ÊѤ¨¤Þ¤¹¡£ ¤½¤Î oid ¤Ï¡¢¤Þ¤ë¤Ç .Fa number ¤Ë .Dv OID_AUTO ¤¬ÀßÄꤵ¤ì¤ÆºîÀ®¤µ¤ì¤¿¤«¤ÎÍͤˡ¢¿·¤·¤¤ÈÖ¹æ¤ò³ä¤êÅö¤Æ¤é¤ì¤Þ¤¹¡£ .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 index bd26925a66..c03b50a69e 100644 --- a/ja_JP.eucJP/man/man9/sysctl_ctx_init.9 +++ b/ja_JP.eucJP/man/man9/sysctl_ctx_init.9 @@ -1,232 +1,232 @@ .\" .\" 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.11 2004/04/06 20:16:10 markm Exp % +.\" %FreeBSD: src/share/man/man9/sysctl_ctx_init.9,v 1.12 2004/07/03 18:29:24 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/types.h .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/taskqueue.9 b/ja_JP.eucJP/man/man9/taskqueue.9 index 5cb13758f3..7d16c8b036 100644 --- a/ja_JP.eucJP/man/man9/taskqueue.9 +++ b/ja_JP.eucJP/man/man9/taskqueue.9 @@ -1,222 +1,233 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 2000 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/taskqueue.9,v 1.9 2004/01/02 07:23:40 scottl Exp % +.\" %FreeBSD: src/share/man/man9/taskqueue.9,v 1.12 2004/08/08 02:37:22 jmg Exp % .\" .\" $FreeBSD$ .Dd May 12, 2000 .Dt TASKQUEUE 9 .Os .Sh ̾¾Î .Nm taskqueue .Nd È󯱴ü¥¿¥¹¥¯¤Î¼Â¹Ô .Sh ½ñ¼° .In sys/param.h .In sys/kernel.h .In sys/malloc.h .In sys/queue.h .In sys/taskqueue.h .Bd -literal typedef void (*task_fn)(void *context, int pending); typedef void (*taskqueue_enqueue_fn)(void *context); struct task { STAILQ_ENTRY(task) ta_link; /* ¥­¥å¡¼¤Î¤¿¤á¤Î¥ê¥ó¥¯ */ int ta_pending; /* ¥­¥å¡¼¤ËÆþ¤Ã¤¿²ó¿ô */ int ta_priority; /* ¥­¥å¡¼Æâ¥¿¥¹¥¯Í¥ÀèÅÙ */ task_fn ta_func; /* ¥¿¥¹¥¯¥Ï¥ó¥É¥é */ void *ta_context; /* ¥Ï¥ó¥É¥é¤Î°ú¿ô */ }; - .Ed .Ft struct taskqueue * .Fn taskqueue_create "const char *name" "int mflags" "taskqueue_enqueue_fn enqueue" "void *context" .Ft void .Fn taskqueue_free "struct taskqueue *queue" .Ft struct taskqueue * .Fn taskqueue_find "const char *name" .Ft int .Fn taskqueue_enqueue "struct taskqueue *queue" "struct task *task" .Ft int .Fn taskqueue_enqueue_fast "struct taskqueue *queue" "struct task *task" .Ft void .Fn taskqueue_run "struct taskqueue *queue" .Fn TASK_INIT "struct task *task" "int priority" "task_fn_t *func" "void *context" .Fn TASKQUEUE_DECLARE "name" .Fn TASKQUEUE_DEFINE "name" "taskqueue_enqueue_fn enqueue" "void *context" "init" +.Fn TASKQUEUE_DEFINE_THREAD "name" .Sh ²òÀâ ¤³¤ì¤é¤Î´Ø¿ô¤Ï¥³¡¼¥É¤ÎÈ󯱴ü¤Î¼Â¹Ô¤Î¤¿¤á¤Îñ½ã¤Ê¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÄ󶡤·¤Þ¤¹¡£ .Pp ´Ø¿ô .Fn taskqueue_create ¤Ï¿·¤·¤¤¥­¥å¡¼¤òºîÀ®¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ .Fn taskqueue_create ¤Ø¤Î°ú¿ô¤Ï¡¢Í£°ì¤Ç¤¢¤ë¤Ù¤­Ì¾Á°¡¢ .Fn malloc ¤Î¸Æ¤Ó½Ð¤·¤¬¥¹¥ê¡¼¥×¤òǧ¤á¤ë¤«¤É¤¦¤«¤ò»ØÄꤹ¤ë .Xr malloc 9 ¥Õ¥é¥°¤ÎÁÈ¡¢¥¿¥¹¥¯¤¬¥­¥å¡¼¤ËÄɲ䵤줿¤È¤­¤Ë .Fn taskqueue_enqueue ¤«¤é¸Æ¤Ó½Ð¤µ¤ì¤ë´Ø¿ô¤ò´Þ¤ß¤Þ¤¹¡£ .\" XXX °Ê²¼¤Îʸ¤Ï¿¤¯¤ÏºÇ½é¤ÎÉôʬ¤Ë´Ø·¸¤·¤Æ¤¤¤Þ¤¹¡£ ¤³¤ì¤Ï¡¢(¤¿¤È¤¨¤Ð¡¢¥½¥Õ¥È¥¦¥§¥¢³ä¤ê¹þ¤ß¤Ë¤è¤ë¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¤Þ¤¿¤Ï ¥«¡¼¥Í¥ë¥¹¥ì¥Ã¥É¤¬µ¯¤³¤µ¤ì¤ë¤³¤È¤Ë¤è¤Ã¤Æ) ¥­¥å¡¼¤¬¸å¤Ç¼Â¹Ô¤µ¤ì¤ë¤¿¤á¤Ë ½àÈ÷¤µ¤ì¤ë¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Ç¤¹¡£ .Pp ´Ø¿ô .Fn taskqueue_free ¤Ï¥­¥å¡¼¤Î¥°¥í¡¼¥Ð¥ë¤Ê¥ê¥¹¥È¤«¤é¤½¤Î¥­¥å¡¼¤ò¼è¤ê½ü¤¯¤¿¤á¤È¡¢ ¥­¥å¡¼¤Ë¤è¤Ã¤Æ»ÈÍѤµ¤ì¤¿¥á¥â¥ê¤ò³«Êü¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤ë¤Ù¤­¤Ç¤¹¡£ ¥­¥å¡¼¾å¤ÎÁ´¤Æ¤Î¥¿¥¹¥¯¤Ï¤³¤Î¤È¤­¼Â¹Ô¤µ¤ì¤Þ¤¹¡£ .Pp ¥·¥¹¥Æ¥à¤Ï¡¢ .Fn taskqueue_find ¤ò»ÈÍѤ·¤Æ¸¡º÷¤µ¤ì¤ë¤³¤È¤¬²Äǽ¤Ê¡¢Á´¤Æ¤Î¥­¥å¡¼¤Î¥ê¥¹¥È¤ò´ÉÍý¤·¤Þ¤¹¡£ ̾Á°¤¬°ìÃפ¹¤ëºÇ½é¤Î¥­¥å¡¼¤¬ÊÖ¤µ¤ì¡¢¤½¤¦¤Ç¤Ê¤±¤ì¤Ð .Dv NULL ¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£ .Pp ¥¿¥¹¥¯¥­¥å¡¼¾å¤Î¥­¥å¡¼¤ËÆþ¤ì¤é¤ì¤¿¥¿¥¹¥¯¤Î¥ê¥¹¥È¤Ë¡¢¥¿¥¹¥¯¤òÄɲ乤뤿¤á¤Ë¤Ï¡¢ ¥­¥å¡¼¤Ø¤Î¥Ý¥¤¥ó¥¿¤È¥¿¥¹¥¯¤Ø¤Î¥Ý¥¤¥ó¥¿¤ò»ØÄꤷ¤Æ .Fn taskqueue_enqueue ¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£ ¥¿¥¹¥¯¤Î .Va ta_pending ¥Õ¥£¡¼¥ë¥É¤¬ 0 ¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢¥¿¥¹¥¯¤¬¥­¥å¡¼¤ËÆþ¤ì¤é¤ì¤¿²ó¿ô¤ËÈ¿±Ç¤¹¤ë¤¿¤á¤Ë ñ½ã¤Ë¥¤¥ó¥¯¥ê¥á¥ó¥È¤µ¤ì¤Þ¤¹¡£ ¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢¤½¤Î¥¿¥¹¥¯¤Ï¤è¤êÄ㤤 .Va ta_priority Ãͤò»ý¤ÄºÇ½é¤Î¥¿¥¹¥¯¤ÎÁ°¤Ë¡¢¤Þ¤¿¤Ï¤è¤êÄ㤤ͥÀèÅÙ»ý¤Ä¥¿¥¹¥¯¤¬¤Ê¤¤¾ì¹ç¤Ï ¥ê¥¹¥È¤ÎºÇ¸å¤Ë¡¢Äɲ䵤ì¤Þ¤¹¡£ ¥¿¥¹¥¯¤ò¥­¥å¡¼¤ËÆþ¤ì¤ë¤³¤È¤Ï¡¢³ä¤ê¹þ¤ß¥Ï¥ó¥É¥é¤ÎÃæ¤«¤é¸Æ¤Ó½Ð¤µ¤ì¤ë¤³¤È¤Ë Ŭ±þ¤¹¤ë¤¿¤á¤Ë¡¢¥á¥â¥ê¤Î³ä¤êÅö¤Æ¤ò¼Â¹Ô¤·¤Þ¤»¤ó¡£ ¤³¤Î´Ø¿ô¤Ï¡¢¤½¤Î¥­¥å¡¼¤¬³«Êü¤µ¤ì¤è¤¦¤È¤·¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢ .Er EPIPE ¤òÊÖ¤·¤Þ¤¹¡£ .Pp ´Ø¿ô .Fn taskqueue_enqueue_fast ¤Ï¡¢¹â®³ä¤ê¹þ¤ß¥Ï¥ó¥É¥é¤«¤é¥­¥å¡¼¤ËÆþ¤ì¤ë¤³¤È¤¬È¯À¸¤¹¤ë¤È¤­¤Ë¤Ï¡¢ .Fn taskqueue_enqueue ¤ÎÂå¤ï¤ê¤Ë»ÈÍѤµ¤ì¤ë¤Ù¤­¤Ç¤¹¡£ ¤³¤Î¥á¥½¥Ã¥É¤Ï¹â®³ä¤ê¹þ¤ß¥³¥ó¥Æ¥­¥¹¥ÈÆâ¤Ç¥¹¥ê¡¼¥×¤Î²ÄǽÀ­¤òÈò¤±¤ë¤¿¤á¤Ë ¥¹¥Ô¥ó¥í¥Ã¥¯¤ò»ÈÍѤ·¤Þ¤¹¡£ .Pp ¥­¥å¡¼¾å¤ÎÁ´¤Æ¤Î¥¿¥¹¥¯¤ò¼Â¹Ô¤¹¤ë¤Ë¤Ï¡¢ .Fn taskqueue_run ¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£ ¥¿¥¹¥¯¤¬¼Â¹Ô¤µ¤ì¤ë¤È¤­¤Ë¤Ï¡¢À褺¤½¤Î¥¿¥¹¥¯¤¬¥­¥å¡¼¤«¤é¼è¤ê½ü¤«¤ì¡¢ .Va ta_pending ¤ÎÃͤ¬µ­Ï¿¤µ¤ì¤½¤ì¤«¤é¤½¤Î¥Õ¥£¡¼¥ë¥É¤¬ 0 ¤Ç¥¯¥ê¥¢¤µ¤ì¤Þ¤¹¡£ task ¹½Â¤ÂΤΠ.Va ta_func ´Ø¿ô¤Ï .Va ta_context ¥Õ¥£¡¼¥ë¥É¤ÎÃͤòºÇ½é¤Î°ú¿ô¤È¤·¤Æ¡¢ .Va ta_pending ¤ÎÃͤò 2 ÈÖÌܤΰú¿ô¤È¤·¤Æ¡¢¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹¡£ .Pp ÊØÍø¤Ê¥Þ¥¯¥í .Fn TASK_INIT "task" "priority" "func" "context" ¤Ï .Va task ¹½Â¤ÂΤò½é´ü²½¤¹¤ë¤¿¤á¤ËÄ󶡤µ¤ì¤Æ¤¤¤Þ¤¹¡£ .Va priority , .Va func ¤ª¤è¤Ó .Va context ¤ÎÃͤÏñ½ã¤Ë task ¹½Â¤ÂΤΥե£¡¼¥ë¥É¤Ë¥³¥Ô¡¼¤µ¤ì¡¢ .Va ta_pending ¥Õ¥£¡¼¥ë¥É¤Ï¥¯¥ê¥¢¤µ¤ì¤Þ¤¹¡£ .Pp -2 ¤Ä¤Î¥Þ¥¯¥í -.Fn TASKQUEUE_DECLARE "name" -¤ª¤è¤Ó +3 ¤Ä¤Î¥Þ¥¯¥í +.Fn TASKQUEUE_DECLARE "name" , .Fn TASKQUEUE_DEFINE "name" "enqueue" "context" "init" -¤Ï¡¢¥°¥í¡¼¥Ð¥ë¤Ê¥­¥å¡¼¤Ø¤Î»²¾È¤ÎÀë¸À¤ª¤è¤Ó¤½¤Î¥­¥å¡¼¤Î¼ÂÁõ¤ÎÄêµÁ¤Î -¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ +¤ª¤è¤Ó ++.Fn TASKQUEUE_DEFINE_THREAD "name" +¤Ï¡¢¥°¥í¡¼¥Ð¥ë¤Ê¥­¥å¡¼¤Ø¤Î»²¾È¤ÎÀë¸À¡¢¤½¤Î¥­¥å¡¼¤Î¼ÂÁõ¤ÎÄêµÁ¡¢ +¤ª¤è¤Ó½êÍ­¤¹¤ë¥¹¥ì¥Ã¥É¤ò»ÈÍѤ¹¤ë¥­¥å¡¼¤òÀë¸À¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ .Fn TASKQUEUE_DEFINE ¥Þ¥¯¥í¤Ï .Va name , .Va enqueue ¤ª¤è¤Ó .Va context °ú¿ô¤ÎÃͤǡ¢¥·¥¹¥Æ¥à¤Î½é´ü²½¤Î´Ö¤Ë .Fn taskqueue_create ¤ò¸Æ¤Ó½Ð¤¹¤¿¤á¤Î¼êÇÛ¤ò¹Ô¤¤¤Þ¤¹¡£ .Fn taskqueue_create ¤Î¸Æ¤Ó½Ð¤·¤Î¸å¤Ç¡¢(³ä¤ê¹þ¤ß¥Ï¥ó¥É¥é¤ÎÅÐÏ¿¤Ê¤É¤Î) ¤½¤Î¾¤Î½é´ü²½¤¬ ¼Â¹Ô¤µ¤ì¤ë¤³¤È¤ò²Äǽ¤Ë¤¹¤ë¤¿¤á¤Ë¡¢¤³¤Î¥Þ¥¯¥í¤Ø¤Î .Va init °ú¿ô¤¬ C ¤Î¥¹¥Æ¡¼¥È¥á¥ó¥È¤È¤·¤Æ¼Â¹Ô¤µ¤ì¤Þ¤¹¡£ .Pp +.Fn TASKQUEUE_DEFINE_THREAD +¥Þ¥¯¥í¤Ï¥¿¥¹¥¯¤ò¼è¤ê°·¤¦¼«¿È¤¬½êÍ­¤¹¤ë¥«¡¼¥Í¥ë¥¹¥ì¥Ã¥É¤Ç +¿·¤·¤¤¥¿¥¹¥¯¥­¥å¡¼¤òÄêµÁ¤·¤Þ¤¹¡£ +ÊÑ¿ô +.Vt struct proc *taskqueue_name_proc +¤Ï¥¿¥¹¥¯¤ò¼è¤ê°·¤¦¥«¡¼¥Í¥ë¥¹¥ì¥Ã¥É¤ò´Þ¤ó¤ÇÄêµÁ¤µ¤ì¤Þ¤¹¡£ +ÊÑ¿ô +.Vt struct taskqueue *taskqueue_name +¤Ï¤½¤Î¥­¥å¡¼¤Ë¥¿¥¹¥¯¤òÄɲ乤뤿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ +.Pp ¥·¥¹¥Æ¥à¤Ï 3 ¤Ä¤Î¥°¥í¡¼¥Ð¥ë¤Ê¥¿¥¹¥¯¥­¥å¡¼ .Va taskqueue_swi , .Va taskqueue_swi_giant , ¤ª¤è¤Ó .Va taskqueue_thread ¤òÄ󶡤·¤Þ¤¹¡£ swi ¥¿¥¹¥¯¥­¥å¡¼¤Ï¥½¥Õ¥È¥¦¥§¥¢³ä¤ê¹þ¤ß¤Î»ÅÁȤߤò²ð¤·¤Æ¼Â¹Ô¤µ¤ì¤Þ¤¹¡£ taskqueue_swi ¥­¥å¡¼¤Ï Giant ¥«¡¼¥Í¥ë¥í¥Ã¥¯¤ÎÊݸî̵¤·¤Ç¼Â¹Ô¤·¡¢ taskqueue_swi_giant ¥­¥å¡¼¤Ï Giant ¥«¡¼¥Í¥ë¥í¥Ã¥¯¤ÎÊݸîÍ­¤ê¤Ç ¼Â¹Ô¤·¤Þ¤¹¡£ ¥¹¥ì¥Ã¥É¥¿¥¹¥¯¥­¥å¡¼¤Ï¥«¡¼¥Í¥ë¥¹¥ì¥Ã¥É¥³¥ó¥Æ¥­¥¹¥È¤Ç¼Â¹Ô¤µ¤ì¡¢¤³¤Î¥¹¥ì¥Ã¥É ¤«¤é¼Â¹Ô¤µ¤ì¤ë¥¿¥¹¥¯¤Ï¡¢Giant ¥«¡¼¥Í¥ë¥í¥Ã¥¯²¼¤Ç¼Â¹Ô¤µ¤ì¤Þ¤»¤ó¡£ ¸Æ¤Ó½Ð¤·Â¦¤¬ Giant ¥í¥Ã¥¯²¼¤Ç¼Â¹Ô¤·¤¿¤¤¾ì¹ç¤Ë¤Ï¡¢¸Æ¤Ó½Ð¤·Â¦¤Î ¥¿¥¹¥¯¥­¥å¡¼¥Ï¥ó¥É¥é¥ë¡¼¥Á¥ó¤ÎÃæ¤Ç¡¢¸Æ¤Ó½Ð¤·Â¦¤¬ÌÀ³Î¤Ë Giant ¥í¥Ã¥¯¤Î ³ÍÆÀ¤ª¤è¤Ó²òÊü¤ò¹Ô¤Ê¤¦¤Ù¤­¤Ç¤¹¡£ .Pp ¤³¤Î¥­¥å¡¼¤ò»ÈÍѤ¹¤ë¤¿¤á¤Ë¤Ï¡¢»ÈÍѤ·¤¿¤¤¥­¥å¡¼ ( .Va taskqueue_swi , .Va taskqueue_swi_giant ¤Þ¤¿¤Ï .Va taskqueue_thread ) ¤Î¤¿¤á¤Î¥°¥í¡¼¥Ð¥ë¥¿¥¹¥¯¥­¥å¡¼ÊÑ¿ô¤ÎÃÍ¤Ç .Fn taskqueue_enqueue ¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£ .Pp ¥½¥Õ¥È¥¦¥§¥¢³ä¤ê¹þ¤ß¥­¥å¡¼¤Ï¡¢Î㤨¤Ð¡¢¥Ï¥ó¥É¥é¤ÎÃæ¤ÇÃø¤·¤¤Î̤νèÍý¤ò¼Â¹Ô ¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤³ä¤ê¹þ¤ß¥Ï¥ó¥É¥é¤ò¼ÂÁõ¤¹¤ë¤¿¤á¤Ë¡¢»ÈÍѤµ¤ì¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£ ¥Ï¡¼¥É¥¦¥§¥¢³ä¤ê¹þ¤ß¥Ï¥ó¥É¥é¤Ï¡¢¤½¤Î³ä¤ê¹þ¤ß¤ÎºÇ¾®¤Î½èÍý¤ò¼Â¹Ô¤·¡¢¤½¤ì¤«¤é ºî¶È¤ò´°Î»¤µ¤»¤ë¤¿¤á¤Ë¥¿¥¹¥¯¤ò¥­¥å¡¼¤ËÆþ¤ì¤Þ¤¹¡£ ¤³¤ì¤Ï¡¢³ä¤ê¹þ¤ß¤¬Ìµ¸ú²½¤µ¤ì¤ÆÈñ¤ä¤µ¤ì¤ë»þ´Ö¤òºÇ¾®Î̤ˤޤǽ̾®¤·¤Þ¤¹¡£ .Pp ¥¹¥ì¥Ã¥É¥­¥å¡¼¤Ï¡¢Î㤨¤Ð¡¢¥¹¥ì¥Ã¥É¥³¥ó¥Æ¥­¥¹¥È¤«¤é¤Î¤ß¼Â¹Ô¤¹¤ë¤³¤È¤¬²Äǽ¤Ê ²¿¤«¤ò¹Ô¤Ê¤¦¥«¡¼¥Í¥ë´Ø¿ô¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤¬É¬Íפʡ¢³ä¤ê¹þ¤ß¥ì¥Ù¥ë¤Î¥ë¡¼¥Á¥ó¤Ë ¤è¤Ã¤Æ»ÈÍѤµ¤ì¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£ (Î㤨¤Ð¡¢M_WAITOK ¥Õ¥é¥°¤òȼ¤Ã¤¿ malloc ¤Î¸Æ¤Ó½Ð¤·¤Ç¤¹¡£) .Sh Îò»Ë ¤³¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ï .Fx 5.0 ¤Ç¤Ï¤¸¤á¤ÆÅо줷¤Þ¤·¤¿¡£ Linux ¥«¡¼¥Í¥ë¤Ç tqueue ¤È¸Æ¤Ð¤ì¤ëƱÍͤΥե¡¥·¥ê¥Æ¥£¤¬¤¢¤ê¤Þ¤¹¡£ .Sh ºî¼Ô ¤³¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ï .An Doug Rabson ¤¬½ñ¤­¤Þ¤·¤¿¡£ diff --git a/ja_JP.eucJP/man/man9/time.9 b/ja_JP.eucJP/man/man9/time.9 index d690c5e0f4..84db846126 100644 --- a/ja_JP.eucJP/man/man9/time.9 +++ b/ja_JP.eucJP/man/man9/time.9 @@ -1,133 +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.10 2003/10/23 02:33:03 hmp Exp % +.\" %FreeBSD: src/share/man/man9/time.9,v 1.12 2004/06/16 08:33:57 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/timeout.9 b/ja_JP.eucJP/man/man9/timeout.9 index 3e318dcf5c..aff90d0f40 100644 --- a/ja_JP.eucJP/man/man9/timeout.9 +++ b/ja_JP.eucJP/man/man9/timeout.9 @@ -1,251 +1,256 @@ .\" $NetBSD: timeout.9,v 1.2 1996/06/23 22:32:34 pk 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/timeout.9,v 1.21 2004/04/06 23:08:49 cperciva Exp % +.\" %FreeBSD: src/share/man/man9/timeout.9,v 1.23 2004/06/16 08:33:57 ru Exp % .\" $FreeBSD$ .\" .Dd September 10, 1996 .Dt TIMEOUT 9 .Os .Sh ̾¾Î .Nm timeout , .Nm untimeout , .Nm callout_handle_init , .Nm callout_init , .Nm callout_stop , .Nm callout_drain , .Nm callout_reset .Nd ÌÀ¼¨¤µ¤ì¤¿»þ´ÖŤθå¤Î´Ø¿ô¤Î¼Â¹Ô .Sh ½ñ¼° .In sys/types.h .In sys/systm.h .Pp .Bd -literal typedef void timeout_t (void *); .Ed .Ft struct callout_handle .Fn timeout "timeout_t *func" "void *arg" "int ticks" .Ft void .Fn callout_handle_init "struct callout_handle *handle" .Pp .Bd -literal struct callout_handle handle = CALLOUT_HANDLE_INITIALIZER(&handle) .Ed .Ft void .Fn untimeout "timeout_t *func" "void *arg" "struct callout_handle handle" .Ft void .Fn callout_init "struct callout *c" "int mpsafe" .Ft int .Fn callout_stop "struct callout *c" .Ft int .Fn callout_drain "struct callout *c" .Ft void .Fn callout_reset "struct callout *c" "int ticks" "timeout_t *func" "void *arg" .Sh ²òÀâ ´Ø¿ô .Fn timeout ¤Ï .Fa ticks Ns No /hz Éøå¤Ë¼Â¹Ô¤µ¤ì¤ë¤¿¤á¤Î°ú¿ô .Fa func ¤Ë¤è¤Ã¤ÆÍ¿¤¨¤é¤ì¤ë´Ø¿ô¤ò¸Æ¤Ó½Ð¤¹¤¿¤á¤Î¥¹¥±¥¸¥å¡¼¥ë¤ò¹Ô¤¤¤Þ¤¹¡£ Àµ¤Ç¤Ï¤Ê¤¤ÃͤΠ.Fa ticks ¤Ï°ÅÌۤΤ¦¤Á¤ËÃÍ .Sq 1 ¤ËÊÑ´¹¤µ¤ì¤Þ¤¹¡£ .Fa func ¤Ï .Fa void * ¤Î°ú¿ô¤ò¼è¤ë´Ø¿ô¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¢¤ë¤Ù¤­¤Ç¤¹¡£ ¼Â¹Ô»þ¤Ë¤Ï¡¢ .Fa func ¤Ï .Fa arg ¤ò¤½¤ÎÍ£°ì¤Î°ú¿ô¤È¤·¤Æ¼õ¤±¼è¤ê¤Þ¤¹¡£ .Fn timeout ¤«¤é¤ÎÌá¤êÃͤϡ¢¥¹¥±¥¸¥å¡¼¥ë¤µ¤ì¤¿ timeout ¤ò¼è¤ê¾Ã¤¹Í×µá¤Î¤¿¤á¤Î .Fn untimeout ´Ø¿ô¤È¤ÎÀܳ¤Ë»ÈÍѤµ¤ì¤ë¤³¤È¤¬²Äǽ¤Ê .Ft struct callout_handle ¤Ç¤¹¡£ .Fn timeout -¤Î¸Æ¤Ó½Ð¤·¤Ï¸Å¤¤¥¹¥¿¥¤¥ë¤Ç¡¢¿·¤·¤¤¥³¡¼¥É¤Ï callout_* ´Ø¿ô¤ò»ÈÍѤ¹¤ë¤Ù¤­¤Ç¤¹¡£ +¤Î¸Æ¤Ó½Ð¤·¤Ï¸Å¤¤¥¹¥¿¥¤¥ë¤Ç¡¢¿·¤·¤¤¥³¡¼¥É¤Ï +.Fn callout_* +´Ø¿ô¤ò»ÈÍѤ¹¤ë¤Ù¤­¤Ç¤¹¡£ .Pp ´Ø¿ô .Fn callout_handle_init ¤Ï¥Ï¥ó¥É¥ë¤ò½é´ü²½¤¹¤ë¤¿¤á¤Ë»ÈÍѤ·¡¢untimeout ¤È¶¦¤Ë »ÈÍѤµ¤ì¤Æ¤âÉûºîÍÑ̵¤·¤ËÌá¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£ .Pp ¥³¡¼¥ë¥¢¥¦¥È¥Ï¥ó¥É¥ë¤Ë .Fn CALLOUT_HANDLE_INITIALIZER ¤ÎÃͤò³äÅö¤Æ¤ë¤³¤È¤Ï¡¢ .Fn callout_handle_init ¤ÈƱÍͤε¡Ç½¤ò¼Â¹Ô¤·¡¢ÀÅŪ¤ÊÀë¸À¤Þ¤¿¤Ï¥°¥í¡¼¥Ð¥ë¤Ê¥³¡¼¥ë¥¢¥¦¥È¥Ï¥ó¥É¥ë¤Ç »ÈÍѤ¹¤ë¤¿¤á¤ËÄ󶡤µ¤ì¤Æ¤¤¤Þ¤¹¡£ .Pp ´Ø¿ô .Fn untimeout ¤Ï¡¢¤½¤Î¥Ï¥ó¥É¥ë¤ÎÀµÅöÀ­¤ò³Îǧ¤¹¤ë¤¿¤á¤Ë .Fa func ¤ª¤è¤Ó .Fa arg °ú¿ô¤ò»ÈÍѤ·¤Æ¡¢ .Fa handle ¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿ timeout ¤ò¼è¤ê¾Ã¤·¤Þ¤¹¡£ ¤½¤Î¥Ï¥ó¥É¥ë¤¬°ú¿ô .Fa arg ¤ò¼è¤ë´Ø¿ô .Fa func ¤ò»ý¤Ä timeout ¤È°ìÃפ·¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢²¿¤â¹Ô¤¤¤Þ¤»¤ó¡£ .Fa handle ¤Ï .Fn untimeout ¤ËÅϤµ¤ì¤ëÁ°¤Ë°ÊÁ°¤Î .Fn timeout , .Fn callout_handle_init ¤Î¸Æ¤Ó½Ð¤·¡¢¤Þ¤¿¤Ï .Fn CALLOUT_HANDLE_INITIALIZER "&handle" ¤ÎÃͤγäÅö¤Æ¤Ë¤è¤Ã¤Æ½é´ü²½¤µ¤ì¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ °ÊÁ°¤Ë½é´ü²½¤µ¤ì¤¿¥Ï¥ó¥É¥ë¤òȼ¤Ê¤ï¤Ê¤¤ untimeout ¤Î¸Æ¤Ó½Ð¤·¤Î¿¶¤ëÉñ¤¤¤Ï ̤ÄêµÁ¤Ç¤¹¡£ .Fn untimeout -¤Î¸Æ¤Ó½Ð¤·¤Ï¸Å¤¤¥¹¥¿¥¤¥ë¤Ç¡¢¿·¤·¤¤¥³¡¼¥É¤Ï callout_* ´Ø¿ô¤ò»ÈÍѤ¹¤ë¤Ù¤­¤Ç¤¹¡£ +¤Î¸Æ¤Ó½Ð¤·¤Ï¸Å¤¤¥¹¥¿¥¤¥ë¤Ç¡¢¿·¤·¤¤¥³¡¼¥É¤Ï +.Fn callout_* +´Ø¿ô¤ò»ÈÍѤ¹¤ë¤Ù¤­¤Ç¤¹¡£ .Pp ¥Ï¥ó¥É¥ë¤¬¥·¥¹¥Æ¥à¤Ë¤è¤Ã¤ÆºÆÍøÍѤµ¤ì¤ë¤Î¤Ç¡¢ ξÊý¤Î¸Æ¤Ó½Ð¤·¤¬Æ±¤¸´Ø¿ô¤Î¥Ý¥¤¥ó¥¿¤ª¤è¤Ó°ú¿ô¤ò»ÈÍѤ·¡¢2 ÈÖÌܤθƤӽФ·¤ÎÁ°¤Ë ºÇ½é¤Î timeout ¤¬½ªÎ»¤¹¤ë¤«¼è¤ê¾Ã¤µ¤ì¤¿¾ì¹ç¤Ë¤Ï¡¢1 ¤Ä¤Î .Fn timeout ¤Î¼Â¹Ô¤«¤é¤Î¥Ï¥ó¥É¥ë¤¬Ê̤Π.Fn timeout ¤Î¼Â¹Ô¤Î¥Ï¥ó¥É¥ë¤¬°ìÃפ¹¤ë¤³¤È¤¬¤Ç¤­¤ë¤³¤È¤¬ (°Õ³°¤Ç¤Ï¤¢¤ë¤¬) ²Äǽ¤Ç¤¹¡£ timeout ¤ÎÀßÈ÷¤Ï .Fn timeout ¤ª¤è¤Ó .Fn untimeout ¤Î¤¿¤á¤Î O(1) ¼Â¹Ô»þ´Ö¤òÄ󶡤·¤Þ¤¹¡£ timeout (ÌõÃí: ¤ª¤è¤Ó untimeout) ¤Ï .Fn splsoftclock ¤Î¾õÂÖ¤Ç .Fn softclock ¤«¤é¼Â¹Ô¤µ¤ì¤Þ¤¹¡£ ½¾¤Ã¤Æ¡¢ºÆÆþ¤«¤éÊݸ¤ì¤Þ¤¹¡£ .Pp ´Ø¿ô .Fn callout_init , .Fn callout_stop , .Fn callout_drain ¤ª¤è¤Ó .Fn callout_reset ¤Ï¸ÇÍ­¤Î¥³¡¼¥ë¥¢¥¦¥È¹½Â¤¤ò³äÅö¤Æ¤ë¤³¤È¤ò´õ˾¤¹¤ë¥¯¥é¥¤¥¢¥ó¥È¤Î¤¿¤á¤Î¡¢ Äã¥ì¥Ù¥ë¤Î¥ë¡¼¥Á¥ó¤Ç¤¹¡£ .Pp ´Ø¿ô .Fn callout_init ¤Ï¥³¡¼¥ë¥¢¥¦¥È¤ò½é´ü²½¤·¡¢¤½¤Î¤¿¤á¤½¤Î¥³¡¼¥ë¥¢¥¦¥È¤Ï²¿¤ÎÉûºîÍѤâ¤Ê¤·¤Ë .Fn callout_stop , .Fn callout_drain ¤Þ¤¿¤Ï .Fn callout_reset ¤ËÅϤµ¤ì¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ .Fa mpsafe °ú¿ô¤¬ 0 ¤Î¾ì¹ç¤Ë¤Ï¡¢callout ¹½Â¤ÂÎ¤Ï .Dq ¥Þ¥ë¥Á¥×¥í¥»¥Ã¥µ¥»¡¼¥Õ ¤Ç¤¢¤ë¤È¤Ï¤ß¤Ê¤µ¤ì¤Þ¤»¤ó¡£ ¤¹¤Ê¤ï¤Á¡¢¥¸¥ã¥¤¥¢¥ó¥È¥í¥Ã¥¯¤¬ callout ´Ø¿ô¤Î¸Æ½Ð¤·Á°¤Ë ³ÍÆÀ¤µ¤ì¡¢callout ´Ø¿ô¤¬Ìá¤ë¤È¤­¤Ë²òÊü¤µ¤ì¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£ .Pp ´Ø¿ô .Fn callout_stop ¤Ï¡¢¤½¤Î¥³¡¼¥ë¥¢¥¦¥È¤¬¸½ºßÊÝÎ±Ãæ¤Î¾ì¹ç¤Ë¤Ï¡¢¥³¡¼¥ë¥¢¥¦¥È¤ò¼è¤ê¾Ã¤·¤Þ¤¹¡£ ¥³¡¼¥ë¥¢¥¦¥È¤¬ÊÝÎ±Ãæ¤Î¾ì¹ç¤Ë¤Ï¡¢ .Fn callout_stop ¤Ï 0 ¤Ç¤Ê¤¤ÃͤòÊÖ¤·¤Þ¤¹¡£ ¥³¡¼¥ë¥¢¥¦¥È¤¬´û¤Ë¼Â¹Ô¤µ¤ì¤¿¤«¸½ºß¼Â¹ÔÃæ¤Î¾ì¹ç¤Ë¤Ï¡¢0 ¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£ .Pp ´Ø¿ô .Fn callout_drain ¤Ï¡¢¥³¡¼¥ë¥¢¥¦¥È¤¬´û¤Ë¿Ê¹ÔÃæ¤Î¾ì¹ç¤Ë¤Ï¤½¤Î´°Î»¤ò¥¦¥§¥¤¥È¤¹¤ë¤³¤È¤ò½ü¤¤¤Æ¡¢ .Fn callout_stop ¤ÈƱ°ì¤Ç¤¹¡£ -¤³¤ì¤Ï¡¢¤½¤Î¥³¡¼¥ë¥¢¥¦¥È¤¬¥Ö¥í¥Ã¥¯¤¹¤ë¤«¤â¤·¤ì¤Ê¤¤¤¢¤é¤æ¤ë¥í¥Ã¥¯¤ò +¤³¤Î´Ø¿ô¤Ï¡¢¤½¤Î¥³¡¼¥ë¥¢¥¦¥È¤¬¥Ö¥í¥Ã¥¯¤¹¤ë¤«¤â¤·¤ì¤Ê¤¤¤¢¤é¤æ¤ë¥í¥Ã¥¯¤ò ÊÝ»ý¤·¤Æ¤¤¤ë´Ö¤Ï¡¢·è¤·¤Æ¸Æ¤Ó½Ð¤µ¤ì¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£ ¤µ¤â¤Ê¤¤¤È·ë²Ì¤È¤·¤Æ¥Ç¥Ã¥É¥í¥Ã¥¯¤·¤Þ¤¹¡£ .Pp ´Ø¿ô .Fn callout_reset ¤ÏºÇ½é¤Ë¤½¤Î¥³¡¼¥ë¥¢¥¦¥È¤òÇѻߤ¹¤ë¤¿¤á¤Ë .Fn callout_stop ¤ò¸Æ¤Ó½Ð¤·¡¢¤½¤ì¤«¤é¿·¤·¤¤¥³¡¼¥ë¥¢¥¦¥È¤ò .Fn timeout ¤ÈƱ¤¸Î®µ·¤Ç³ÎΩ¤·¤Þ¤¹¡£ .Sh Ìá¤êÃÍ .Fn timeout ´Ø¿ô¤Ï .Fn untimeout ¤ËÅϤ¹¤³¤È¤¬²Äǽ¤Ê .Ft struct callout_handle ¤òÊÖ¤·¤Þ¤¹¡£ .Fn callout_stop ¤ª¤è¤Ó .Fn callout_drain ´Ø¿ô¤Ï¸Æ¤Ó½Ð¤µ¤ì¤¿»þ¤Ë¥³¡¼¥ë¥¢¥¦¥È¤¬Ì¤¤ÀÊÝα¤Î¾ì¹ç¤Ë¤Ï 0 °Ê³°¤ò¡¢ ¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ï 0 ¤òÊÖ¤·¤Þ¤¹¡£ .Sh Îò»Ë ¸½ºß¤Î timeout ¤ª¤è¤Ó untimeout ¥ë¡¼¥Á¥ó¤Ï .An Adam M. Costello ¤ª¤è¤Ó .An George Varghese ¤Î .%T "Redesigning the BSD Callout and Timer Facilities" -¤È̾ÉÕ¤±¤é¤ì¤¿µ»½Ñ¥ì¥Ý¡¼¥È¤Çȯɽ¤µ¤ì¤¿ºî¶È¤Ë´ð¤Å¤¤¤Æ¤¤¤Þ¤¹¡£¤Þ¤¿¡¢ +¤È̾ÉÕ¤±¤é¤ì¤¿µ»½Ñ¥ì¥Ý¡¼¥È¤Çȯɽ¤µ¤ì¤¿ºî¶È¤Ë´ð¤Å¤¤¤Æ¤¤¤Þ¤¹¡£ +¤Þ¤¿¡¢ .Fx ¤Ø¤ÎƳÆþ¤Î¤¿¤á¤Ë .An Justin T. Gibbs ¤Ë¤è¤Ã¤Æ¾¯¤·½¤Àµ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ ¤³¤Î¼ÂÁõ¤Ç»ÈÍѤµ¤ì¤Æ¤¤¤ë¥Ç¡¼¥¿¹½Â¤¤Î¸µ¤Îºî¶È¤Ï¡¢ .An G. Varghese ¤ª¤è¤Ó .An A. Lauck ¤Ë¤è¤Ã¤Æ .%B "Proceedings of the 11th ACM Annual Symposium on Operating Systems Principles" ¤Î .%T "Hashed and Hierarchical Timing Wheels: Data Structures for the Efficient Implementation of a Timer Facility" ¤Çȯɽ¤µ¤ì¤Þ¤·¤¿¡£ ¸½ºß¤Î¼ÂÁõ¤Ï¡¢Ä¹¤é¤¯Â¸ºß¤·¤Æ¤¤¤¿¡¢ÁÞÆþ¤ª¤è¤Óºï½ü¤Î O(n) ¼Â¹Ô»þ´Ö¤ò Ä󶡤¹¤ë¤¬ untimeout Áàºî¤Î¤¿¤á¤Î¥Ï¥ó¥É¥ë¤òÀ¸À®¤Þ¤¿¤ÏÍ׵ᤷ¤Ê¤«¤Ã¤¿ .Bx ¥ê¥ó¥¯¥ê¥¹¥È¤Î¥³¡¼¥ë¥¢¥¦¥Èµ¡¹½¤Ë¡¢¼è¤Ã¤ÆÂå¤ê¤Þ¤·¤¿¡£ diff --git a/ja_JP.eucJP/man/man9/vref.9 b/ja_JP.eucJP/man/man9/vref.9 index 6c5dbe4d30..25998e4b1f 100644 --- a/ja_JP.eucJP/man/man9/vref.9 +++ b/ja_JP.eucJP/man/man9/vref.9 @@ -1,70 +1,70 @@ .\" -*- 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/vref.9,v 1.11 2003/10/23 02:22:07 hmp Exp % +.\" %FreeBSD: src/share/man/man9/vref.9,v 1.12 2004/07/03 18:29:24 ru Exp % .\" .\" $FreeBSD$ .Dd July 24, 1996 .Os .Dt VREF 9 .Sh ̾¾Î .Nm vref .Nd vnode ¤Î»ÈÍÑ¥«¥¦¥ó¥È¤Î¥¤¥ó¥¯¥ê¥á¥ó¥È .Sh ½ñ¼° .In sys/param.h .In sys/vnode.h .Ft void .Fn vref "struct vnode *vp" .Sh ²òÀâ vnode ¤Î .Va v_usecount ¥Õ¥£¡¼¥ë¥É¤ò¥¤¥ó¥¯¥ê¥á¥ó¥È¤·¤Þ¤¹¡£ .Bl -tag -width 2n .It Fa vp ¥¤¥ó¥¯¥ê¥á¥ó¥È¤µ¤ì¤ë vnode¡£ .El .Pp ¸Ä¡¹¤Î vnode ¤Ï¡¢¥·¥¹¥Æ¥à¤Î²¿¸Ä¤ÎÉôʬ¤Ç¤½¤Î vnode ¤¬»ÈÍÑÃæ¤Ç¤¢¤ë¤«¤ò¼¨¤¹ »²¾È¥«¥¦¥ó¥È¤ò°Ý»ý´ÉÍý¤·¤Þ¤¹¡£ ¤³¤ì¤Ë¤è¤ê¡¢ vnode ¤¬¤â¤Ï¤ä»È¤ï¤ì¤Ê¤¯¤Ê¤Ã¤ÆÊ̤Υե¡¥¤¥ëÍѤ˰ÂÁ´¤ËºÆÍøÍѲÄǽ¤Ê¤³¤È¤ò¡¢ ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬¸¡ÃβÄǽ¤È¤Ê¤ê¤Þ¤¹¡£ .Pp vnode ¤ò»ÈÍÑÃæ¤Î¥·¥¹¥Æ¥àÃæ¤ÎÁ´¤Æ¤Î¥³¡¼¥É (Î㤨¤Ð¡¢ ¤¢¤ë¥¢¥ë¥´¥ê¥º¥à¤ÎÁàºîÃæ¤ä¡¢¥Ç¡¼¥¿¹½Â¤¤Î³ÊǼ»þ) ¤Ï¡¢ .Fn vref ¤ò¸Æ¤Ó½Ð¤¹¤Ù¤­¤Ç¤¹¡£ .Sh ´ØÏ¢¹àÌÜ .Xr vget 9 , .Xr vnode 9 , .Xr vput 9 , .Xr vrele 9 .Sh ºî¼Ô ¤³¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ï .An Doug Rabson ¤¬½ñ¤­¤Þ¤·¤¿¡£ diff --git a/ja_JP.eucJP/man/man9/vslock.9 b/ja_JP.eucJP/man/man9/vslock.9 index 62c016268d..2ec5467197 100644 --- a/ja_JP.eucJP/man/man9/vslock.9 +++ b/ja_JP.eucJP/man/man9/vslock.9 @@ -1,95 +1,95 @@ .\" %NetBSD: vslock.9,v 1.1 1996/06/15 20:47:29 pk 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/vslock.9,v 1.11 2004/03/15 10:05:27 truckman Exp % +.\" %FreeBSD: src/share/man/man9/vslock.9,v 1.15 2004/08/16 03:12:10 green Exp % .\" .\" $FreeBSD$ -.Dd June 15, 1996 +.Dd August 10, 2004 .Dt VSLOCK 9 .Os .Sh ̾¾Î .Nm vslock , .Nm vsunlock .Nd ¥æ¡¼¥¶¶õ´Ö¤Î¥¢¥É¥ì¥¹¤Î¥á¥â¥ê¤Ø¤Î¥í¥Ã¥¯¤È¥¢¥ó¥í¥Ã¥¯ .Sh ½ñ¼° .In sys/param.h .In sys/proc.h .In vm/vm.h .In vm/vm_extern.h .Ft int .Fn vslock "void *addr" "size_t len" .Ft void .Fn vsunlock "void *addr" "size_t len" .Sh ²òÀâ .Fn vslock ¤ª¤è¤Ó .Fn vsunlock ´Ø¿ô¤Ï¸½ºß¼Â¹ÔÃæ¤Î¥×¥í¥»¥¹¤Ë°¤¹¤ë¥¢¥É¥ì¥¹¤ÎÈϰϤò ¥á¥â¥êÃæ¤Ë¤½¤ì¤¾¤ì¥í¥Ã¥¯¤·¤¿¤ê¥¢¥ó¥í¥Ã¥¯¤·¤¿¤ê¤·¤Þ¤¹¡£ ¥í¥Ã¥¯¤µ¤ì¤ë¼ÂºÝ¤Î¥á¥â¥êÎ̤ϥޥ·¥ó¤Î¥Ú¡¼¥¸¥µ¥¤¥º¤ÎÇÜ¿ô¤Ë¤Ê¤ê¤Þ¤¹¡£ ³«»Ï¥Ú¡¼¥¸¥Ê¥ó¥Ð¤Ï .Fa addr ¤ò¤¹¤°Á°¤Î¥Ú¡¼¥¸¶­³¦¤ËÀÚ¤ê¤Ä¤á¤é¤ì¡¢½ªÎ»¥Ú¡¼¥¸¤Ï .Fa addr + .Fa len ¤Î¼¡¤Î¥Ú¡¼¥¸¶­³¦¤ËÀÚ¤ê¾å¤²¤é¤ì¤Æ·×»»¤µ¤ì¤Þ¤¹¡£ ¤³¤ÎÁàºî¤Ë»ÈÍѤµ¤ì¤ë¥×¥í¥»¥¹¤Î¥³¥ó¥Æ¥­¥¹¥È¤Ï¥°¥í¡¼¥Ð¥ëÊÑ¿ô .Va curproc ¤ò»²¾È¤·¤Þ¤¹¡£ .Sh Ìá¤êÃÍ .Fn vslock ´Ø¿ô¤ÏÀ®¸ù¤¹¤ë¤È 0 ¤òÊÖ¤·¡¢¤½¤¦¤Ç¤Ê¤¤¤È°Ê²¼¤Ë¼¨¤¹¥¨¥é¡¼¤ÎÃæ¤Î 1 ¤Ä¤ò ÊÖ¤·¤Þ¤¹¡£ .Sh ¥¨¥é¡¼ .Fn vslock ´Ø¿ô¤Ï°Ê²¼¤Î¾ì¹ç¤Ë¼ºÇÔ¤·¤Þ¤¹¡£ .Bl -tag -width Er .It Bq Er EINVAL .Fa addr ¤ª¤è¤Ó .Fa len ¥Ñ¥é¥á¡¼¥¿¤¬¥Þ¥·¥ó¤Î¥¢¥É¥ì¥¹¶õ´Ö¤ÎºÇ¸å¤ò¥é¥Ã¥×¥¢¥é¥¦¥ó¥É¤¹¤ë ¥á¥â¥êÎΰè¤ò»ØÄꤷ¤Æ¤¤¤Þ¤¹¡£ .It Bq Er ENOMEM »ØÄꤵ¤ì¤¿¥¢¥É¥ì¥¹ÈϰϤÎÂ礭¤µ¤¬¥í¥Ã¥¯¤µ¤ì¤¿¥á¥â¥ê¤Î¥·¥¹¥Æ¥àÀ©¸Â¤ò Ķ²á¤·¤Æ¤¤¤Þ¤¹¡£ .It Bq Er ENOMEM Í׵ᤵ¤ì¤¿¥¢¥É¥ì¥¹ÈϰϤò¥í¥Ã¥¯¤¹¤ë¤³¤È¤¬¡¢¤½¤Î¥×¥í¥»¥¹¤Î¥×¥í¥»¥¹Ëè¤Î ¥í¥Ã¥¯¤µ¤ì¤¿¥á¥â¥ê¤ÎÀ©¸Â¤òĶ²á¤µ¤»¤Þ¤¹¡£ .It Bq Er EFAULT ¼¨¤µ¤ì¤¿¥¢¥É¥ì¥¹ÈϰϤÎÃæ¤Î´ö¤Ä¤«¤ÎÉôʬ¤¬³ä¤êÅö¤Æ¤é¤ì¤Æ¤¤¤Þ¤»¤ó¡£ ¥Ú¡¼¥¸¤Î¥Þ¥Ã¥Ô¥ó¥°¤Ë¥¨¥é¡¼/¼ºÇÔ¤¬¤¢¤ê¤Þ¤¹¡£ .El