diff --git a/ja_JP.eucJP/man/man9/BUS_SETUP_INTR.9 b/ja_JP.eucJP/man/man9/BUS_SETUP_INTR.9 index 121fd6a8f5..89462775d9 100644 --- a/ja_JP.eucJP/man/man9/BUS_SETUP_INTR.9 +++ b/ja_JP.eucJP/man/man9/BUS_SETUP_INTR.9 @@ -1,118 +1,124 @@ .\" Copyright (c) 2000 Jeroen Ruigrok van der Werven .\" 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_SETUP_INTR.9,v 1.15 2003/10/23 06:22:40 hmp Exp % +.\" %FreeBSD: src/share/man/man9/BUS_SETUP_INTR.9,v 1.17 2004/02/10 20:34:44 jmg Exp % .\" .\" $FreeBSD$ .Dd March 28, 2003 .Dt BUS_SETUP_INTR 9 .Os .Sh ̾¾Î .Nm BUS_SETUP_INTR , .Nm bus_setup_intr , .Nm BUS_TEARDOWN_INTR , .Nm bus_teardown_intr .Nd ³ä¤ê¹þ¤ß¥Ï¥ó¥É¥é¤ÎºîÀ®¤ÈÀܳ¤ª¤è¤ÓÇ˲õ .Sh ½ñ¼° .In sys/param.h .In sys/bus.h .Ft int .Fn BUS_SETUP_INTR "device_t dev" "device_t child" "struct resource *irq" "int flags" "driver_intr_t *intr" "void *arg" "void **cookiep" .Ft int .Fn bus_setup_intr "device_t dev" "struct resource *r" "int flags" "driver_intr_t handler" "void *arg" "void **cookiep" .Ft int .Fn BUS_TEARDOWN_INTR "device_t dev" "device_t child" "struct resource *irq" "void *cookiep" .Ft int .Fn bus_teardown_intr "device_t dev" "struct resource *r" "void *cookiep" .Sh ²òÀ⠥᥽¥Ã¥É .Nm ¤Ï¡¢»ñ¸»¥Þ¥Í¡¼¥¸¥ã¤Î .Xr BUS_ALLOC_RESOURCE 9 ¥á¥½¥Ã¥É¤Ë¤è¤Ã¤Æ°ÊÁ°¤Ë³ä¤êÅö¤Æ¤é¤ì¤¿³ä¤ê¹þ¤ß¤ËÂФ·¡¢ ³ä¤ê¹þ¤ß¥Ï¥ó¥É¥é¤òÀ¸À®¤·¤Æ¥¢¥¿¥Ã¥Á¤·¤Þ¤¹¡£ .Fa flags ¤Ï .In sys/bus.h ¤Ç¸«¤Ä¤«¤ê¡¢³ä¤ê¹þ¤ß¤ÎÂç¤Þ¤«¤Ê¼ïÎà¤òÍ¿¤¨¤Þ¤¹¡£ ¤Þ¤¿¡¢ .Fa flags ¤Ï¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð¤ÎÆÃÀ­¤Ë¤Ä¤¤¤Æ¤Î¿®Íê¤Ç¤­¤ë¾ðÊó¤ò¡¢³ä¤ê¹þ¤ß¥Ï¥ó¥É¥é¤ËÅÁ¤¨¤Þ¤¹¡£ .Dv INTR_FAST ¤Ï¤½¤Î¥Ï¥ó¥É¥é¤¬»þ´Ö¤Ë¥¯¥ê¥Æ¥£¥«¥ë¤Ê´Ø¿ô¤Î¤¿¤á¤Î ¥Ï¥ó¥É¥é¤Ç¤¢¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£ ¤³¤ì¤é¤Î¥Ï¥ó¥É¥é¤Î¥¹¥Ô¡¼¥É¥¢¥Ã¥×¤Î¤¿¤á¤ËÆÃÊ̤ÊÃí°Õ¤¬¤Ï¤é¤ï¤ì¤Þ¤¹¡£ ¤³¤ì¤ÎÍøÍÑ¤Ï .Dv INTR_EXCL ¤ò°Å¤Ë´Þ¤ß¤Þ¤¹¡£ .Dv INTR_EXCL ¤Ï¤½¤Î¥Ï¥ó¥É¥é¤ò¤³¤Î³ä¤ê¹þ¤ß¤Î¤¿¤á¤ÎÇÓ¾Ū¤Ê¥Ï¥ó¥É¥é¤È¤·¤Æµ­Ï¿¤·¤Þ¤¹¡£ .Dv INTR_MPSAFE ¤Ï¤½¤Î³ä¤ê¹þ¤ß¥Ï¥ó¥É¥é¤Ï¥×¥ê¥¨¥ó¥×¥Æ¥£¥Ö¤Ê´Ä¶­¤ÇŬÀÚ¤Ë ¿¶Éñ¤¦ (``SMP ¥»¡¼¥Õ'') ¤³¤È¡¢¤ª¤è¤Ó ``¥¸¥ã¥¤¥¢¥ó¥È¥í¥Ã¥¯'' mutex ¤Ë¤è¤Ã¤Æ Êݸ¤ì¤ëɬÍפ¬¤Ê¤¤¤³¤È¤ò¡¢¥¹¥±¥¸¥å¡¼¥é¤ËÄÌÃΤ·¤Þ¤¹¡£ .Dv INTR_ENTROPY ¤Ï¤½¤Î³ä¤ê¹þ¤ß¤¬¥¨¥ó¥È¥í¥Ô¤ÎÎɤ¤¶¡µë¸»¤Ç¤¢¤ë¤È¤·¤Æµ­Ï¿¤·¤Þ¤¹¡£ ¤³¤ì¤Ï¡¢¥¨¥ó¥È¥í¥Ô¥Ç¥Ð¥¤¥¹ -.Pa /dev/tandom +.Pa /dev/random ¤Ë¤è¤Ã¤Æ»ÈÍѤµ¤ì¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¥Ï¥ó¥É¥é .Fa intr ¤ÏÍ£°ì¤Î°ú¿ô .Fa arg ¤ÎÃͤòȼ¤Ê¤Ã¤Æ¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹¡£ .Pp .Fa cookiep °ú¿ô¤Ï¡¢ ³ä¤ê¹þ¤ß¤Î³ÎΩ¤¬À®¸ù¤·¤¿¾ì¹ç¤Ë¡¢ .Nm ¤¬½ñ¹þ¤à¿Æ¤Î¥Ð¥¹¤¬»ÈÍѤ¹¤ë¥¯¥Ã¥­¡¼¤Ç¤¢¤ë .Vt "void *" ·¿¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¹¡£ ¥É¥é¥¤¥ÐºîÀ®¼Ô¤Ï¡¢¤³¤Î¥¯¥Ã¥­¡¼¤¬ 0 ¤Ç¤Ï¤Ê¤¤¤³¤È¤ò²¾Äꤹ¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£ nexus ¥É¥é¥¤¥Ð¤Ï¼ºÇÔ»þ¤Ë .Fa cookiep ¤Ë 0 ¤ò½ñ¹þ¤ß¤Þ¤¹¡£ .Pp ³ä¤ê¹þ¤ß¥Ï¥ó¥É¥é¤Ï¡¢ .Fn BUS_TEARDOWN_INTR ¤Ë¤è¤Ã¤Æ¥Ç¥¿¥Ã¥Á¤µ¤ì¤Þ¤¹¡£ Àµ¤·¤¤³ä¤ê¹þ¤ß¥Ï¥ó¥É¥é¤òÇË´þ¤¹¤ë¤¿¤á¤Ë¡¢¥¯¥Ã¥­¡¼¤¬ .Fn BUS_TEARDOWN_INTR ¤ËÅϤµ¤ì¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +°ìÅÙ +.Fn BUS_TEARDOWN_INTR +¤¬Ìá¤ë¤È¡¢¤½¤Î³ä¤ê¹þ¤ß´Ø¿ô¤ÏÍ­¸ú¤Ç¤Ï¤Ê¤¯¤Ê¤êÆóÅ٤ȸƤӽФµ¤ì¤Ê¤¤¤³¤È¤¬ +Êݾڤµ¤ì¤Þ¤¹¡£ +.Pp +¤³¤ì¤é¤Î´Ø¿ô¤Ø¤Î¸Æ¤Ó½Ð¤·¤Ë¸òº¹¤·¤Æ mutex ¤¬ÊÝ»ý¤µ¤ì¤Æ¤¤¤ë¤³¤È¤Ïǧ¤á¤é¤ì¤Þ¤»¤ó¡£ .Sh Ìá¤êÃÍ À®¸ù»þ¤Ë¤Ï 0 ¤¬ÊÖ¤µ¤ì¡¢¤½¤ì°Ê³°¤Î¾ì¹ç¤ÏŬÀڤʥ¨¥é¡¼¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£ .Sh ´ØÏ¢¹àÌÜ .Xr random 4 , .Xr device 9 , .Xr driver 9 .Sh ºî¼Ô .An -nosplit ¤³¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ï¡¢ .An Doug Rabson .Aq dfr@FreeBSD.org ¤¬½ñ¤¤¤¿ BUS_CREATE_INTR ¤ª¤è¤Ó BUS_CONNECT_INTR ¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤ò´ð¤Ë¡¢ .An Jeroen Ruigrok van der Werven .Aq asmodai@FreeBSD.org ¤¬½ñ¤­¤Þ¤·¤¿¡£ diff --git a/ja_JP.eucJP/man/man9/DEVICE_IDENTIFY.9 b/ja_JP.eucJP/man/man9/DEVICE_IDENTIFY.9 index d6e4074f24..b7b9820850 100644 --- a/ja_JP.eucJP/man/man9/DEVICE_IDENTIFY.9 +++ b/ja_JP.eucJP/man/man9/DEVICE_IDENTIFY.9 @@ -1,95 +1,97 @@ .\" -*- 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.7 2002/03/16 18:07:07 schweikh Exp % +.\" $FreeBSD$ .\" $FreeBSD$ .Dd March 10, 2001 .Dt DEVICE_IDENTIFY 9 .Os .Sh ̾¾Î .Nm DEVICE_IDENTIFY .Nd ¥Ç¥Ð¥¤¥¹¤Î¼±Ê̤Ȥ½¤ÎÅÐÏ¿ .Sh ½ñ¼° .In sys/param.h .In sys/bus.h .Ft void .Fn DEVICE_IDENTIFY "driver_t *driver" "device_t parent" .Sh ²òÀ⠥ǥХ¤¥¹¤Î¤¿¤á¤Î¼±ÊÌ´Ø¿ô¤Ï¡¢Î㤨¤Ð ISA ¥Ð¥¹¤Ê¤É¤Î¡¢»Ò¥Ç¥Ð¥¤¥¹¤òÆÈΩ¤·¤Æ ¼±Ê̤Ǥ­¤Ê¤¤¥Ð¥¹¾å¤Î¥Ç¥Ð¥¤¥¹¤Î¤¿¤á¤Ë¤À¤±É¬ÍפȤµ¤ì¤Þ¤¹¡£ ¤³¤ì¤Ï¥Ç¥Ð¥¤¥¹¤òǧ¼± (ÂçÄñ¤Ï¥Ï¡¼¥É¥¦¥§¥¢¤ÎÉÔÌÀÎÆ¤Ç¤Ê¤¤¥ì¥¸¥¹¥¿¤Ë ¥¢¥¯¥»¥¹¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¹Ô¤ï¤ì¤Þ¤¹) ¤·¡¢ ¤½¤Î¥Ç¥Ð¥¤¥¹¤Ë´Ø¤·¤Æ¥«¡¼¥Í¥ë¤ËÄÌÃΤ·¡¢ ¿·¤·¤¤¥Ç¥Ð¥¤¥¹¤Î¼ÂÂΤòºîÀ®¤¹¤ë¤¿¤á¤Ë¡¢»ÈÍѤµ¤ì¤Þ¤¹¡£ .Pp .Xr BUS_ADD_CHILD 9 ¤Ï¥Ð¥¹¤Î»Ò¥Ç¥Ð¥¤¥¹¤È¤·¤Æ¡¢¥Ç¥Ð¥¤¥¹¤òÅÐÏ¿¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ ¤½¤Î¥Ç¥Ð¥¤¥¹¤Î (IRQ ¤ä I/O ¥Ý¡¼¥È¤Î¤è¤¦¤Ê) ¥ê¥½¡¼¥¹¤Ï¡¢¸Ä¡¹¤Î¥ê¥½¡¼¥¹¤Î¤¿¤á¤Ë .Fn bus_set_resource (¾ÜºÙ¤Ï .Xr bus_set_resource 9 ¤ò»²¾È) ¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤Ë¤è¤Ã¤Æ¥«¡¼¥Í¥ë¤ËÅÐÏ¿¤µ¤ì¤Þ¤¹¡£ +.Pp +¥Ç¥Ð¥¤¥¹¥Ä¥ê¡¼¤ª¤è¤Ó¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð¥Ä¥ê¡¼¤¬²òÂΤµ¤ì¤ë¤¿¤á¡¢ +.Nm +¥ë¡¼¥Á¥ó¤Ï¤³¤ì¤ò¹Íθ¤ËÆþ¤ì¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ +¼±Ê̥롼¥Á¥ó¤ò»ý¤Ã¤Æ¤¤¤ë¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð¤ò¥í¡¼¥É¤ª¤è¤Ó¥¢¥ó¥í¡¼¥É¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢ +¤½¤Î»Ò¥Î¡¼¥É¤ÏƱ¤¸¥Î¡¼¥É¤ò²¿ÅÙ¤âÄɲ乤ëǽÎϤò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£ .Sh »ÈÍÑÎ㠰ʲ¼¤Îµ¿»÷¥³¡¼¥É¤Ï¡¢¥Ï¡¼¥É¥¦¥§¥¢¤Î°ìÉô¤ò¥×¥í¡¼¥Ö¤·¡¢¥Ç¥Ð¥¤¥¹¤È ¤½¤Î¥ê¥½¡¼¥¹ (I/O ¥Ý¡¼¥È) ¤ò¥«¡¼¥Í¥ë¤ËÅÐÏ¿¤¹¤ë´Ø¿ô¤ÎÎã¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£ ¥Ç¥Ð¥¤¥¹¤Î²òÀâ¤âÀßÄꤷ¤Æ¤¤¤Þ¤¹¡£ .Bd -literal void foo_identify(driver_t *driver, device_t parent) { device_t child; ¥Ç¥Ð¥¤¥¹¾ðÊó¤Î¼è¤ê½Ð¤·; if (¥µ¥Ý¡¼¥È¤¹¤ë¥Ç¥Ð¥¤¥¹¤¦¤Á¤Î 1 ¤Ä¤¬¥Þ¥Ã¥Á¤¹¤ë) { child = BUS_ADD_CHILD(parent, 0, "foo", -1); device_set_desc_copy(child, "foo chip ver.123"); device_set_driver(child, driver); bus_set_resource(child, SYS_RES_IOPORT, 0, FOO_IOADDR, 1); } } .Ed -.Sh Ìá¤êÃÍ -À®¸ù»þ¤Ë¤Ï 0 ¤¬ÊÖ¤µ¤ì¡¢¤½¤ì°Ê³°¤Î¾ì¹ç¤ÏŬÀڤʥ¨¥é¡¼ -.Xr ( errno 2 -»²¾È) ¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£ .Sh ´ØÏ¢¹àÌÜ .Xr BUS_ADD_CHILD 9 , .Xr bus_set_resource 9 , .Xr device 9 , .Xr device_add_child 9 , .Xr DEVICE_ATTACH 9 , .Xr DEVICE_DETACH 9 , .Xr DEVICE_PROBE 9 , .Xr device_set_desc_copy 9 , .Xr device_set_driver 9 , .Xr DEVICE_SHUTDOWN 9 .Sh ºî¼Ô ¤³¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ï .An Alexander Langer Aq alex@FreeBSD.org ¤¬½ñ¤­¤Þ¤·¤¿¡£ diff --git a/ja_JP.eucJP/man/man9/bus_alloc_resource.9 b/ja_JP.eucJP/man/man9/bus_alloc_resource.9 index 2ccf9cde2e..d2522f5dda 100644 --- a/ja_JP.eucJP/man/man9/bus_alloc_resource.9 +++ b/ja_JP.eucJP/man/man9/bus_alloc_resource.9 @@ -1,160 +1,165 @@ .\" -*- 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.14 2003/05/21 15:49:01 ru Exp % +.\" %FreeBSD: src/share/man/man9/bus_alloc_resource.9,v 1.17 2004/01/27 16:16:31 imp Exp % .\" .\" $FreeBSD$ .Dd May 18, 2000 .Dt BUS_ALLOC_RESOURCE 9 .Os .Sh ̾¾Î .Nm bus_alloc_resource -.Nd ¥Ð¥¹¾å¤Î»ñ¸»¤Î³ä¤êÅö¤Æ +.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" .Sh ²òÀâ ¤³¤ì¤Ï»ñ¸»´ÉÍý´Ø¿ô·²¤Ø¤Î´Êñ¤Ê¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ç¤¹¡£ ¿Æ¤Î¥á¥½¥Ã¥É¥Æ¡¼¥Ö¥ë¤òÄ̤ë´ÖÀÜŪ¤ÊÊýË¡¤ò±£Êä·¤Þ¤¹¡£ ¤³¤Î´Ø¿ô¤Ï¡¢°ìÈÌŪ¤Ë¥¢¥¿¥Ã¥Á»þ¤Ë¸Æ¤Ó½Ð¤µ¤ì¤ë¤Ù¤­¤Ç¤¹¤¬¡¢ (´ö¤Ä¤«¤Îµ©¤Ê¾ì¹ç¤ò½ü¤¤¤Æ) ·è¤·¤Æ¤½¤ÎÁ°¤Ë¸Æ¤Ó½Ð¤·¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£ .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 -¤Ë 0 ¤ò¡¢ +¤Ë 0ul ¤ò¡¢ .Fa end -¤Ë ~0 ¤ò¡¢ +¤Ë ~0ul ¤ò¡¢ .Fa count ¤Ë 1 ¤ò»ØÄꤷ¤¿¾ì¹ç¤Ë¤Ï¡¢¥Ð¥¹¤Î¤¿¤á¤Î¥Ç¥Õ¥©¥ë¥ÈÃͤ¬·×»»¤µ¤ì¤Þ¤¹¡£ .It .Fa count -¤Ï»ñ¸»¤ÎÂ礭¤µ¤Ç¡¢Î㤨¤Ð¡¢Æþ½ÐÎϥݡ¼¥È¤ÎÂ礭¤µ¤Ç¤¹ -(¤³¤ì¤ÏÂçÄñ 1 ¤Ç¤¹¤¬¡¢´ö¤Ä¤«¤Î¥Ç¥Ð¥¤¥¹¤Ï¤³¤ì¤ò¾å½ñ¤­¤·¤Þ¤¹)¡£ +¤Ï»ñ¸»¤ÎÂ礭¤µ¤Ç¤¹¡£ +Î㤨¤Ð¡¢Æþ½ÐÎϥݡ¼¥È¤ÎÂ礭¤µ¤ÏÄ̾ï 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 »ñ¸»¤ÏƱ»þ¶¦Í­¤òµö²Ä¤·¤Þ¤¹¡£ ¤½¤Î»ñ¸»¤¬¶¦Í­ÉԲĤǤ¢¤ë¤³¤È¤òÃΤé¤Ê¤¤¾ì¹ç¡¢¾ï¤ËÀßÄꤵ¤ì¤ë¤Ù¤­¤Ç¤¹¡£ -¥Ð¥¹¤¬¶¦Í­¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢ -¤³¤Î¥Õ¥é¥°¤ò¼è¤ê½ü¤¯¤Î¤Ï¥Ð¥¹¤Î¥³¡¼¥É¤Î»Å»ö¤Ç¤¹¡£¤³¤ÎÎã¤È¤·¤Æ¡¢ -pccard/cardbus ¤Ç¤Ï¥Ç¥Ð¥¤¥¹¤ò¶¦Í­¤Ç¤­¤ë¤«¤Ç¤­¤Ê¤¤¤«¤Ï¡¢¥Ð¥¹¤Ë°Í¸¤·¤Þ¤¹¡£ +¤½¤Î¥Ð¥¹¤¬¶¦Í­¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢ +¤³¤Î¥Õ¥é¥°¤ò¼è¤ê½ü¤¯¤Î¤Ï¥Ð¥¹¥É¥é¥¤¥Ð¤Î»Å»ö¤Ç¤¹¡£ +Î㤨¤Ð¡¢ +.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(dev, SYS_RES_IRQ, &irqid, 0ul, ~0ul, 1, 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_set_resource.9 b/ja_JP.eucJP/man/man9/bus_set_resource.9 index 70e19c2fb5..1d6bc1c87c 100644 --- a/ja_JP.eucJP/man/man9/bus_set_resource.9 +++ b/ja_JP.eucJP/man/man9/bus_set_resource.9 @@ -1,95 +1,96 @@ .\" -*- 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_set_resource.9,v 1.2 2003/05/30 21:13:32 ru Exp % +.\" %FreeBSD: src/share/man/man9/bus_set_resource.9,v 1.4 2004/02/22 00:29:04 njl Exp % .\" .\" $FreeBSD$ .Dd March 29, 2003 .Dt BUS_SET_RESOURCE 9 .Os .Sh ̾¾Î .Nm bus_set_resource .Nd "³ÎÄꤷ¤¿¥ê¥½¡¼¥¹¤ÈÍ¿¤¨¤é¤ì¤¿¥ê¥½¡¼¥¹ ID ¤È¤Î´ØÏ¢ÉÕ¤±" .Sh ½ñ¼° .In sys/param.h .In sys/bus.h .Pp .In machine/bus.h .In sys/rman.h .In machine/resource.h .Ft int .Fo bus_set_resource .Fa "device_t dev" "int type" "int rid" "u_long start" "u_long count" .Fc .Sh ²òÀâ .Fn bus_set_resource ´Ø¿ô¤Ï¡¢ .Fa type , rid ¥Ú¥¢¤Ç»ØÄꤵ¤ì¤ë¥ê¥½¡¼¥¹¤Î¤¦¤Á¡¢»ØÄꤵ¤ì¤¿³«»Ï¥¢¥É¥ì¥¹¤Î¤â¤Î¤òŤµ .Fa count ¤ËÀßÄꤷ¤Þ¤¹¡£ Ä̾ï¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¥É¥é¥¤¥Ð¤Ï¤³¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò»ÈÍѤ·¤Þ¤»¤ó¡£ ¤·¤«¤·¤Ê¤¬¤é¡¢¥Ð¥¹¥É¥é¥¤¥Ð¤Ï¥¯¥é¥¤¥¢¥ó¥È¥É¥é¥¤¥Ð¤¬»ÈÍѤ¹¤ë¥ê¥½¡¼¥¹¤ò ÀßÄꤹ¤ë¤¿¤á¤Ë¤·¤Ð¤·¤Ð»ÈÍѤ·¤Þ¤¹¡£ .Pp °ú¿ô¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡£ .Bl -tag -width indent .It Fa dev ¥ê¥½¡¼¥¹¤òÀßÄꤹ¤ë¥Ç¥Ð¥¤¥¹¤Ç¤¹¡£ .It Fa type ³ä¤êÅö¤Æ¤¿¤¤¥ê¥½¡¼¥¹¤Î·¿¤Ç¤¹¡£ ¤³¤ì¤Ï²¼µ­¤ÎÃæ¤Î 1 ¤Ä¤Ç¤¹¡£ .Pp .Bl -tag -width ".Dv SYS_RES_MEMORY" -compact .It Dv SYS_RES_IRQ IRQ ¤Î¥ê¥½¡¼¥¹¤Ç¤¹¡£ .It Dv SYS_RES_DRQ ISA DMA ¥é¥¤¥ó¤Î¥ê¥½¡¼¥¹¤Ç¤¹¡£ .It Dv SYS_RES_IOPORT I/O ¥Ý¡¼¥È¤Î¥ê¥½¡¼¥¹¤Ç¤¹¡£ .It Dv SYS_RES_MEMORY I/O ¥á¥â¥ê¤Î¥ê¥½¡¼¥¹¤Ç¤¹¡£ .El .It Fa rid -³ä¤êÅö¤Æ¤é¤ì¤Æ¤¤¤ë¥ê¥½¡¼¥¹¤ò¼±Ê̤¹¤ë¥Ð¥¹ÆÃÍ­¤Î¥Ï¥ó¥É¥ë¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¹¡£ +³ä¤êÅö¤Æ¤é¤ì¤Æ¤¤¤ë¥ê¥½¡¼¥¹¤ò¼±Ê̤¹¤ë¥Ð¥¹ÆÃÍ­¤Î¥Ï¥ó¥É¥ë¤Ç¤¹¡£ .It Fa start ¤³¤Î¥ê¥½¡¼¥¹¤Î³«»Ï¥¢¥É¥ì¥¹¤Ç¤¹¡£ .It Fa count ¤³¤Î¥ê¥½¡¼¥¹¤ÎŤµ¤Ç¤¹¡£ +Î㤨¤Ð¡¢¥Ð¥¤¥Èñ°Ì¤Ç¤Î¥á¥â¥ê¤ÎÂ礭¤µ¤Ç¤¹¡£ .El .Sh Ìá¤êÃÍ À®¸ù»þ¤Ë¤Ï 0 ¤¬ÊÖ¤µ¤ì¡¢¤½¤¦¤Ç¤Ê¤±¤ì¤Ð¥¨¥é¡¼¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£ .Sh ´ØÏ¢¹àÌÜ .Xr bus_alloc_resource 9 , .Xr bus_get_resource 9 , .Xr device 9 , .Xr driver 9 .Sh ºî¼Ô ¤³¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ï .An Warner Losh Aq imp@FreeBSD.org ¤¬½ñ¤­¤Þ¤·¤¿¡£ diff --git a/ja_JP.eucJP/man/man9/malloc.9 b/ja_JP.eucJP/man/man9/malloc.9 index c6846c9d96..cfec231c39 100644 --- a/ja_JP.eucJP/man/man9/malloc.9 +++ b/ja_JP.eucJP/man/man9/malloc.9 @@ -1,303 +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.36 2003/09/08 19:57:21 ru Exp % +.\" %FreeBSD: src/share/man/man9/malloc.9,v 1.39 2004/03/06 02:13:03 jkoshy 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 ¤ÎÁê¸ß³ÍÆÀ¤Î¤¿¤á¤Ë¡¢ 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/sbuf.9 b/ja_JP.eucJP/man/man9/sbuf.9 index f5701171b5..ecfb8fb0e1 100644 --- a/ja_JP.eucJP/man/man9/sbuf.9 +++ b/ja_JP.eucJP/man/man9/sbuf.9 @@ -1,366 +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.20 2003/09/08 19:57:21 ru Exp % +.\" %FreeBSD: src/share/man/man9/sbuf.9,v 1.22 2004/01/25 11:39:41 des Exp % .\" $FreeBSD$ .\" .Dd January 3, 2002 .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" .Ft int .Fn sbuf_bcopyin "struct sbuf *s" "const void *uaddr" "size_t len" .Ft int .Fn sbuf_bcpy "struct sbuf *s" "const char *str" "size_t len" .Ft int .Fn sbuf_cat "struct sbuf *s" "const char *str" .Ft int .Fn sbuf_copyin "struct sbuf *s" "const void *uaddr" "size_t len" .Ft int .Fn sbuf_cpy "struct sbuf *s" "const char *str" .Ft int .Fn sbuf_printf "struct sbuf *s" "const char *fmt" "..." .Ft int .Fn sbuf_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 ¥Ç¡¼¥¿¤ò¼è¤ê½Ð¤¹¤¿¤á¤Ë¤Ï¡¢´°Î»¤·¤¿ +sbuf ¤Ë¤è¤Ã¤Æ»ÈÍѤµ¤ì¤Æ¤¤¤ë´Ö¤ËľÀܤ½¤ÎÇÛÎó¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤³¤È¤Î·ë²Ì¤Ï +̤ÄêµÁ¤Ç¤¹¡£ +.Pp +.Fn sbuf_delete +´Ø¿ô¤Ï .Fa sbuf -¤ËÂФ·¤Æ -.Fn sbuf_data -¤ò¸Æ¤Ó½Ð¤¹É¬Íפ¬¤¢¤ê¤Þ¤¹¡£ +¤ò¥¯¥ê¥¢¤·¤Æ¡¢¤½¤Î¤¿¤á¤Ë³ä¤êÅö¤Æ¤é¤ì¤¿Á´¤Æ¤Î¥á¥â¥ê¤ò³«Êü¤·¤Þ¤¹¡£ +Á´¤Æ¤Î +.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 len ¥Ð¥¤¥È¤ò .Fa sbuf ¤ËÄɲä·¤Þ¤¹¡£ .Pp .Fn sbuf_bcopyin ´Ø¿ô¤ÏÌÀ¼¨¤µ¤ì¤¿¥æ¡¼¥¶¶õ´Ö¥¢¥É¥ì¥¹¤«¤é .Fa sbuf ¤Ë .Fa len ¥Ð¥¤¥È¤ò¥³¥Ô¡¼¤·¤Þ¤¹¡£ .Pp .Fn sbuf_bcpy ´Ø¿ô¤Ï .Fa sbuf ¤ÎÆâÍÆ¤ò¥Ð¥¤¥ÈÎó .Fa str ¤ÎºÇ½é¤Î .Fa len ¥Ð¥¤¥È¤ÇÃÖ¤­´¹¤¨¤Þ¤¹¡£ .Pp .Fn sbuf_cat ´Ø¿ô¤Ï NUL ʸ»ú¤Ç½ªÃ¼¤µ¤ì¤¿Ê¸»úÎó .Fa str ¤ò .Fa sbuf ¤Î¸½ºß°ÌÃÖ¤ËÄɲä·¤Þ¤¹¡£ .Pp .Fn sbuf_copyin ´Ø¿ô¤Ï NUL ʸ»ú¤Ç½ªÃ¼¤µ¤ì¤¿Ê¸»úÎó¤òÌÀ¼¨¤µ¤ì¤¿¥æ¡¼¥¶¶õ´Ö¥¢¥É¥ì¥¹¤«¤é .Fa sbuf ¤Ë¥³¥Ô¡¼¤·¤Þ¤¹¡£ .Fa len °ú¿ô¤¬ 0 ¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ï .Fa len ʸ»ú¤ò±Û¤¨¤Ê¤¤Ê¸»ú (½ªÃ¼¤Î NUL ¤Ï¿ô¤¨¤Þ¤»¤ó) ¤¬¥³¥Ô¡¼¤µ¤ì¡¢ ¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ïʸ»úÎóÁ´ÂΡ¢¤Þ¤¿¤Ï .Fa sbuf ¤ËµÍ¤á¹þ¤à¤³¤È¤¬½ÐÍè¤ë¤À¤±¤Îʸ»ú¤ò¥³¥Ô¡¼¤·¤Þ¤¹¡£ .Pp .Fn sbuf_cpy ´Ø¿ô¤Ï .Fa sbuf ¤ÎÆâÍÆ¤ò NUL ʸ»ú¤Ç½ªÃ¼¤µ¤ì¤¿Ê¸»úÎó .Fa str ¤ÇÃÖ¤­´¹¤¨¤Þ¤¹¡£ ¤³¤ì¤Ï¿·¤·¤¤ .Fa sbuf ¤Ç¡¢¤Þ¤¿¤Ï .Fn sbuf_clear ¤« .Fn sbuf_setpos ¤Ç¤½¤Î°ÌÃÖ¤ò 0 ¤Ë¥ê¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤ë .Fa sbuf ¤Ç¡¢ .Fn sbuf_cat ¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤ÈÅù²Á¤Ç¤¹¡£ .Pp .Fn sbuf_printf ´Ø¿ô¤Ï .Fa fmt ¤Ë¤è¤Ã¤Æ»Ø¤µ¤ì¤Æ¤¤¤ë¥Õ¥©¡¼¥Þ¥Ã¥Èʸ»úÎó¤Ë½¾¤Ã¤Æ¤½¤Î°ú¿ô¤ò¥Õ¥©¡¼¥Þ¥Ã¥È¤·¡¢ ¤½¤Î·ë²Ì¤Îʸ»úÎó¤ò .Fa sbuf ¤Î¸½ºß°ÌÃÖ¤ËÄɲä·¤Þ¤¹¡£ .Pp .Fn sbuf_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 ¤Ç¤Ê¤¤ÃͤòÊÖ¤·¤Þ¤¹¡£ -.Pp -ºÇ¸å¤Ë¡¢ -.Fn sbuf_delete -´Ø¿ô¤Ï -.Fa sbuf -¤ò¥¯¥ê¥¢¤·¡¢ -.Fn sbuf_new -¤Ë¤è¤Ã¤Æ³ÊǼ¥Ð¥Ã¥Õ¥¡¤ò³ä¤êÅö¤Æ¤é¤ì¤Æ¤¤¤ì¤Ð¡¢¤½¤ì¤ò²òÊü¤·¤Þ¤¹¡£ .Sh Ãí ¤¢¤ëÁàºî¤¬ .Fa sbuf ¤ò¥ª¡¼¥Ð¥Õ¥í¡¼¤µ¤»¤¿¾ì¹ç¤Ë¤Ï¡¢¤½¤Î .Fa sbuf ¤¬ .Fn sbuf_finish ¤ò»ÈÍѤ·¤Æ´°Î»¤µ¤»¤é¤ì¤ë¡¢¤Þ¤¿¤Ï .Fn sbuf_clear ¤ò»ÈÍѤ·¤Æ¥ê¥»¥Ã¥È¤µ¤ì¤ë¡¢¤Þ¤¿¤Ï .Fn sbuf_setpos ¤ò»ÈÍѤ·¤Æ¤½¤Î°ÌÃÖ¤ò 0 ¤«¤é³ÊǼ¥Ð¥Ã¥Õ¥¡¤ÎÂ礭¤µ¤è¤ê 1 ¾®¤µ¤¤ÃͤޤǤÎÃÍ¤Ë ¥ê¥»¥Ã¥È¤µ¤ì¤ë¡¢¤Þ¤¿¤Ï .Fn sbuf_cpy ¤ò»ÈÍѤ·¤Æ½½Ê¬¤Ëû¤¤Ê¸»úÎó¤Ë½é´ü²½¤µ¤ì¤ë¤Þ¤Ç¤Î´Ö¤Ï¡¢¸å¤Ë³¤¯¤Û¤È¤ó¤É¤Î¤½¤Î .Fa sbuf ¤ËÂФ¹¤ëÁàºî¤Ï¼ºÇÔ¤¹¤ë¤Ç¤·¤ç¤¦¡£ .Sh Ìá¤êÃÍ .Fn sbuf_new ¤Ï³ÊǼ¥Ð¥Ã¥Õ¥¡¤Î³ä¤êÅö¤Æ¤Ë¼ºÇÔ¤·¤¿¾ì¹ç¤Ë¤Ï .Dv NULL ¤òÊÖ¤·¡¢¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ï¿·¤·¤¤ .Fa sbuf ¤Ø¤Î¥Ý¥¤¥ó¥¿¤òÊÖ¤·¤Þ¤¹¡£ .Pp .Fn sbuf_setpos ¤Ï .Fa pos ¤¬ÉÔÀµ¤Ê¾ì¹ç¤Ë¤Ï \-1 ¤òÊÖ¤·¡¢¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ï 0 ¤òÊÖ¤·¤Þ¤¹¡£ .Pp .Fn sbuf_cat , .Fn sbuf_cpy , .Fn sbuf_printf , .Fn sbuf_putc , .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 Co\(:idan Sm\(/orgrav Aq des@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 Co\(:idan Sm\(/orgrav +.An Dag-Erling Sm\(/orgrav Aq des@FreeBSD.org ¤¬½ñ¤­¤Þ¤·¤¿¡£ diff --git a/ja_JP.eucJP/man/man9/sleep.9 b/ja_JP.eucJP/man/man9/sleep.9 index 519208b4af..f2b748f7ff 100644 --- a/ja_JP.eucJP/man/man9/sleep.9 +++ b/ja_JP.eucJP/man/man9/sleep.9 @@ -1,159 +1,159 @@ .\" .\" 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/sleep.9,v 1.42 2003/10/23 02:33:03 hmp Exp % +.\" %FreeBSD: src/share/man/man9/sleep.9,v 1.43 2004/02/17 13:31:36 maxim Exp % .\" $FreeBSD$ .\" " .Dd December 17, 1998 .Os .Dt SLEEP 9 .Sh ̾¾Î .Nm sleep , .Nm msleep , .Nm tsleep , .Nm wakeup .Nd ¥¤¥Ù¥ó¥È¤Î¥¦¥§¥¤¥È .Sh ½ñ¼° .In sys/param.h .In sys/systm.h .In sys/proc.h .Ft int .Fn tsleep "void *ident" "int priority" "const char *wmesg" "int timo" .Ft int .Fn msleep "void *ident" "struct mtx *mtx" "int priority" "const char *wmesg" "int timo" .Ft void .Fn wakeup "void *ident" .Ft void .Fn wakeup_one "void *ident" .Sh ²òÀâ ´Ø¿ô .Fn tsleep ¤ª¤è¤Ó .Fn wakeup ¤Ï¥¤¥Ù¥ó¥È¤Ë´ð¤Å¤¤¤¿¥×¥í¥»¥¹¤Î¥Ö¥í¥Ã¥¯¤ò¼è¤ê°·¤¤¤Þ¤¹¡£ ¥×¥í¥»¥¹¤¬³°Éô¥¤¥Ù¥ó¥È¤òÂÔ¤¿¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢¤½¤Î¥×¥í¥»¥¹¤Ï .Fn tsleep ¤Ë¤è¤Ã¤Æ¥¹¥ê¡¼¥×¾õÂÖ¤ËÃÖ¤«¤ì¤Þ¤¹¡£ ¥Ñ¥é¥á¡¼¥¿ .Fa ident ¤Ï¡¢¥×¥í¥»¥¹¤¬¤É¤Î¥¤¥Ù¥ó¥È¾å¤Ç¥¹¥ê¡¼¥×¤·¤Æ¤¤¤ë¤«¤ò¼±Ê̤¹¤ë°ì°ÕŪ¤Ê Ǥ°Õ¤Î¥¢¥É¥ì¥¹¤Ç¤¹¡£ ñ°ì¤Î .Fa ident ¾å¤Ç¥¹¥ê¡¼¥×¤·¤Æ¤¤¤ëÁ´¤Æ¤Î¥×¥í¥»¥¹¤Ï¸å¤Ç¡¢ .Fn wakeup ¤Ë¤è¤Ã¤Æµ¯¤³¤µ¤ì¤Þ¤¹¡£ ¤³¤ì¤Ï¡¢¤·¤Ð¤·¤Ð³ä¤ê¹þ¤ß¥ë¡¼¥Á¥ó¤ÎÃæ¤«¤é¸Æ¤Ó½Ð¤µ¤ì¡¢ ¥×¥í¥»¥¹¤¬¥Ö¥í¥Ã¥¯¤·¤Æ¤¤¤ë¥ê¥½¡¼¥¹¤¬¸½ºßÍøÍѲÄǽ¤Ë¤Ê¤Ã¤¿¤³¤È¤ò¼¨¤·¤Þ¤¹¡£ .Pp ¥Ñ¥é¥á¡¼¥¿ .Fa wmesg ¤Ï .Xr ps 1 ¤Î¤è¤¦¤Ê¥Ä¡¼¥ë¤Î¤¿¤á¤Î¥¹¥ê¡¼¥×¾õÂÖ¤ò²òÀ⤹¤ëʸ»úÎó¤Ç¤¹¡£ ¤³¤ì¤é¤Î¥×¥í¥°¥é¥à¤ÎǤ°Õ¤Îʸ»úÎó¤òɽ¼¨¤¹¤ë¤¿¤á¤ÎÎΰè¤ÎÀ©¸Â¤Î¤¿¤á¡¢ ¤³¤Î¥á¥Ã¥»¡¼¥¸¤Ï 6 ʸ»ú¤òͤ¨¤ë¤Ù¤­¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ .Pp .Fn wakeup_one ´Ø¿ô¤Ï¥Ñ¥é¥á¡¼¥¿ .Fa ident ¾å¤Ç¥¹¥ê¡¼¥×¤·¤Æ¤¤¤ë¥­¥å¡¼¤ÎÃæ¤ÎºÇ½é¤Î¥×¥í¥»¥¹¤ò¼Â¹Ô²Äǽ¤Ë ¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ ¤³¤ì¤Ï¡¢Â¿¿ô¤Î¥×¥í¥»¥¹¤¬Æ±¤¸¥¢¥É¥ì¥¹¾å¤Ç¥¹¥ê¡¼¥×¤·¤Æ¤¤¤ë¤¬¡¢ ¼Â¹Ô²Äǽ¤È¤Ê¤Ã¤¿¤È¤­¤½¤ÎÃæ¤Î 1 ¤Ä¤Î¤ß¤¬¼ÂºÝ¤Ë¤ÏÌò¤ËΩ¤Äºî¶È¤¬¤Ç¤­¤ë¤È¤­¤Ë¡¢ ¥·¥¹¥Æ¥à¤¬Ë°Ï¤¹¤ë¤³¤È¤òËɤ°¤³¤È¤¬²Äǽ¤Ç¤¹¡£ .Pp .Fn tsleep ´Ø¿ô¤Ï°ìÈÌŪ¤Ê¥¹¥ê¡¼¥×¤Î¸Æ¤Ó½Ð¤·¤Ç¤¹¡£ ÌÀ¼¨¤µ¤ì¤¿¼±Ê̻Ҿå¤Î wakeup ¤¬¼Â¹Ô¤µ¤ì¤ë¤Þ¤Ç¤Î´Ö¡¢ ¸½ºß¤Î¥×¥í¥»¥¹¤ò°ì»þÄä»ß¤µ¤»¤Þ¤¹¡£ ¤½¤ì¤«¤é¤½¤Î¥×¥í¥»¥¹¤ÏÌÀ¼¨¤µ¤ì¤¿Í¥ÀèÅÙ .Fa priority ¤Ç¼Â¹Ô²Äǽ¤Ë¤µ¤ì¤Þ¤¹¡£ Ť¯¤Æ .Fa timo \&/ hz ÉÃ´Ö (0 ¤Ï¥¿¥¤¥à¥¢¥¦¥È¤Ê¤·¤ò°ÕÌ£¤·¤Þ¤¹) ¥¹¥ê¡¼¥×¤·¤Þ¤¹¡£ -.Fa pri +.Fa priority ¤¬ .Dv PCATCH ¥Õ¥é¥°¤ò´Þ¤à¾ì¹ç¤Ë¤Ï¡¢¥¹¥ê¡¼¥×¤ÎÁ°¸å¤Ç¥·¥°¥Ê¥ë¤¬¥Á¥§¥Ã¥¯¤µ¤ì¤Þ¤¹¡£ ¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢¥·¥°¥Ê¥ë¤Ï¥Á¥§¥Ã¥¯¤µ¤ì¤Þ¤»¤ó¡£ µ¯¤³¤µ¤ì¤¿¾ì¹ç¤Ë¤Ï 0 ¤òÊÖ¤·¡¢¥¿¥¤¥à¥¢¥¦¥È¤¬·Ð²á¤·¤¿¾ì¹ç¤Ë¤Ï .Er EWOULDBLOCK ¤òÊÖ¤·¤Þ¤¹¡£ .Dv PCATCH ¤¬ÀßÄꤵ¤ì¤Æ¤¤¤Æ¥·¥°¥Ê¥ë¤¬ÇÛ¿®¤µ¤ì¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤Ç¡¢ ²Äǽ¤Ç¤¢¤ì¤Ð¸½ºß¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤¬ºÆ³«»Ï¤µ¤ì¤ë¤Ù¤­¤Ç¤¢¤ë¾ì¹ç¤Ë¤Ï .Er ERESTART ¤¬ÊÖ¤µ¤ì¡¢ .Er ( EINTR ¤òÊÖ¤¹) ¥·¥°¥Ê¥ë¤Ë¤è¤Ã¤Æ¤½¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤¬ÃæÃǤµ¤ì¤ë¤Ù¤­¾ì¹ç¤Ë¤Ï .Er EINTR ¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£ .Pp .Fn msleep ´Ø¿ô¤Ï tsleep ¤ÎÊѼï¤Ç¤¹¡£ ¥Ñ¥é¥á¡¼¥¿ .Fa mtx ¤Ï¡¢¥¹¥ê¡¼¥×¤ÎÁ°¤ËÈ´¤±¡¢ .Fn msleep ¤¬Ìá¤ëÁ°¤ËÆþ¤ë mutex ¤Ç¤¹¡£ -.Fa pri +.Fa priority ¤¬ .Dv PDROP ¥Õ¥é¥°¤ò´Þ¤à¾ì¹ç¤Ë¤Ï¡¢Ìá¤ëÁ°¤Ë .Fa mtx °ú¿ô¤òºÆ¼èÆÀ¤·¤Þ¤»¤ó¡£ ¤¢¤ë¾õÂÖ¤òÉÔ²Äʬ¤Ë¥Á¥§¥Ã¥¯¤Ç¤­¤ë¤³¤È¤òÊݾڤ·¡¢ ¤½¤Î¾õÂÖ¤ÎÊѹ¹¤âÂбþ¤¹¤ë wakeup ¤â¼º¤¦¤³¤È¤Ê¤¯ ¸½ºß¤Î¥×¥í¥»¥¹¤òÃæÃǤǤ­¤ë¤³¤È¤òÊݾڤ¹¤ë¤¿¤á¤Ë¡¢ ¤³¤Î mutex ¤Ï»ÈÍѤµ¤ì¤Þ¤¹¡£ .Sh Ìá¤êÃÍ ¾åµ­¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ .Sh ´ØÏ¢¹àÌÜ .Xr ps 1 , .Xr malloc 9 , .Xr mi_switch 9 .Sh Îò»Ë sleep/wakeup ¥×¥í¥»¥¹Æ±´üµ¡¹½¤Ï¤È¤Æ¤â¸Å¤¤¤Ç¤¹¡£ ¤³¤ì¤Ï¤È¤Æ¤âÁá´ü¤Î¥Ð¡¼¥¸¥ç¥ó¤Î .Ux ¤ÇÅо줷¤Þ¤·¤¿¡£ .Pp .Fn tsleep ´Ø¿ô¤Ï .Bx 4.4 ¤ÇÅо줷¤Þ¤·¤¿¡£ .Pp .Fn sleep ´Ø¿ô¤ÏÅÁÅýŪ¤Ê·Á¼°¤Ç¤·¤¿¡£ ¤³¤ì¤Ï¥¿¥¤¥à¥¢¥¦¥È¤â .Fa wmesg ¤â»ØÄê¤Ç¤­¤Ê¤¤¤¿¤á¡¢»ÈÍѼè¤ê»ß¤á¤È¤Ê¤ê¤Þ¤·¤¿¡£ .Sh ºî¼Ô .An -nosplit ¤³¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ï .An J\(:org Wunsch Aq joerg@FreeBSD.org ¤¬½ñ¤­¤Þ¤·¤¿¡£ diff --git a/ja_JP.eucJP/man/man9/sx.9 b/ja_JP.eucJP/man/man9/sx.9 index 5e8282dfeb..0e6fffe8b5 100644 --- a/ja_JP.eucJP/man/man9/sx.9 +++ b/ja_JP.eucJP/man/man9/sx.9 @@ -1,182 +1,197 @@ .\" .\" 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.22 2003/09/14 13:41:59 ru Exp % +.\" %FreeBSD: src/share/man/man9/sx.9,v 1.27 2004/02/24 21:36:39 jhb 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_SYSINIT .Nd ¥«¡¼¥Í¥ë¤Î¶¦Í­/ÇÓ¾¥í¥Ã¥¯ .Sh ½ñ¼° .In sys/param.h .In sys/lock.h -.In sys/mutex.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 .Fn SX_SYSINIT "name" "struct sx *sx" "const char *description" .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_xlock ¤Þ¤¿¤Ï .Fn sx_try_xlock ¤ª¤è¤Ó .Fn sx_xunlock ¤Î¸Æ¤Ó½Ð¤·¤Ë¤è¤Ã¤ÆÇÓ¾¥í¥Ã¥¯¤ò³ÍÆÀ¤ª¤è¤Ó²òÊü¤·¤Þ¤¹¡£ ¥¹¥ì¥Ã¥É¤Ï .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 -´Ø¿ô¤Ï»ØÄꤵ¤ì¤¿¾õÂÖ¤ò¥Æ¥¹¥È¤·¤Æ¡¢¤½¤Î¾õÂ֤˹ç¤ï¤º¤«¤Ä¥«¡¼¥Í¥ë¤¬ -.Dv INVARIANTS -ÉÕ¤­¤Ç¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢panic ¤·¤Þ¤¹¡£ -.Pp -.Fn SX_SYSINIT -¥Þ¥¯¥í¤Ï¥·¥¹¥Æ¥à¥¹¥¿¡¼¥È¥¢¥Ã¥×»þ¤ËÍ¿¤¨¤é¤ì¤¿ -.Fa sx -¥í¥Ã¥¯¤ò½é´ü²½¤¹¤ë¤¿¤á¤Ë -.Fn sx_sysinit -¤Î¸Æ¤Ó½Ð¤·¤òÀ¸À®¤·¤Þ¤¹¡£ -°ú¿ô¤Ï -.Fn sx_init -¤ÈƱÍͤǤ¹¤¬¡¢ -¤½¤Î¥í¥Ã¥¯¤È sysinit ¥ë¡¼¥Á¥ó¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿¹½Â¤ÂΤ˴ØÏ¢¤·¤¿Í£°ì¤Î -ÊÑ¿ô̾¤òÀ¸À®¤¹¤ëºÝ¤Ë»ÈÍѤµ¤ì¤ëÄɲäΰú¿ô¤È¤·¤Æ -.Fa name -¤ò»ý¤Á¤Þ¤¹¡£ -.Pp +´Ø¿ô¤Ï +.Ar what +¤Ë»ØÄꤵ¤ì¤¿¥¢¥µ¡¼¥È¤Î¤¿¤á¤Ë +.Ar sx +¤ò¥Æ¥¹¥È¤·¡¢¤½¤ì¤é¤¬¹ç¤ï¤Ê¤«¤Ã¤¿¾ì¹ç¤Ë¤Ï panic ¤·¤Þ¤¹¡£ °Ê²¼¤Î¥¢¥µ¡¼¥È¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ -.Bl -tag -width ".Dv SX_XLOCKED" +.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_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 131e7d3b74..15a1af14d4 100644 --- a/ja_JP.eucJP/man/man9/sysctl_add_oid.9 +++ b/ja_JP.eucJP/man/man9/sysctl_add_oid.9 @@ -1,485 +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 W1.18 2003/09/10 19:24:35 ru Exp % +.\" %FreeBSD: src/share/man/man9/sysctl_add_oid.9,v 1.19 2004/02/27 17:13:42 des 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/taskqueue.9 b/ja_JP.eucJP/man/man9/taskqueue.9 index 5ecc716f81..5cb13758f3 100644 --- a/ja_JP.eucJP/man/man9/taskqueue.9 +++ b/ja_JP.eucJP/man/man9/taskqueue.9 @@ -1,212 +1,222 @@ .\" -*- 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.8 2003/09/03 05:35:37 ken Exp % +.\" %FreeBSD: src/share/man/man9/taskqueue.9,v 1.9 2004/01/02 07:23:40 scottl 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" .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" ¤ª¤è¤Ó .Fn TASKQUEUE_DEFINE "name" "enqueue" "context" "init" ¤Ï¡¢¥°¥í¡¼¥Ð¥ë¤Ê¥­¥å¡¼¤Ø¤Î»²¾È¤ÎÀë¸À¤ª¤è¤Ó¤½¤Î¥­¥å¡¼¤Î¼ÂÁõ¤ÎÄêµÁ¤Î ¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ .Fn TASKQUEUE_DEFINE ¥Þ¥¯¥í¤Ï .Va name , .Va enqueue ¤ª¤è¤Ó .Va context °ú¿ô¤ÎÃͤǡ¢¥·¥¹¥Æ¥à¤Î½é´ü²½¤Î´Ö¤Ë .Fn taskqueue_create ¤ò¸Æ¤Ó½Ð¤¹¤¿¤á¤Î¼êÇÛ¤ò¹Ô¤¤¤Þ¤¹¡£ .Fn taskqueue_create ¤Î¸Æ¤Ó½Ð¤·¤Î¸å¤Ç¡¢(³ä¤ê¹þ¤ß¥Ï¥ó¥É¥é¤ÎÅÐÏ¿¤Ê¤É¤Î) ¤½¤Î¾¤Î½é´ü²½¤¬ ¼Â¹Ô¤µ¤ì¤ë¤³¤È¤ò²Äǽ¤Ë¤¹¤ë¤¿¤á¤Ë¡¢¤³¤Î¥Þ¥¯¥í¤Ø¤Î .Va init °ú¿ô¤¬ C ¤Î¥¹¥Æ¡¼¥È¥á¥ó¥È¤È¤·¤Æ¼Â¹Ô¤µ¤ì¤Þ¤¹¡£ .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/zone.9 b/ja_JP.eucJP/man/man9/zone.9 index d5b6061d19..e04fbb7d1a 100644 --- a/ja_JP.eucJP/man/man9/zone.9 +++ b/ja_JP.eucJP/man/man9/zone.9 @@ -1,205 +1,205 @@ .\"- .\" Copyright (c) 2001 Dag-Erling Coïdan Smørgrav .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/zone.9,v 1.24 2003/05/31 14:07:25 hmp Exp % +.\" %FreeBSD: src/share/man/man9/zone.9,v 1.26 2004/01/25 11:39:41 des Exp % .\" .\" $FreeBSD$ .Dd July 21, 2003 .Dt ZONE 9 .Os .Sh ̾¾Î .Nm uma_zcreate , .Nm uma_zalloc , .Nm uma_zfree , .Nm uma_zdestroy , .Nm uma_zone_set_max .Nd ¥¾¡¼¥ó¥¢¥í¥±¡¼¥¿ .Sh ½ñ¼° .In sys/param.h .In sys/queue.h .In vm/uma.h .Ft uma_zone_t .Fo uma_zcreate .Fa "char *name" "int size" .Fa "uma_ctor ctor" "uma_dtor dtor" "uma_init uminit" "uma_fini fini" .Fa "int align" "u_int16_t flags" .Fc .Ft "void *" .Fn uma_zalloc "uma_zone_t zone" "int flags" .Ft void .Fn uma_zfree "uma_zone_t zone" "void *item" .Ft void .Fn uma_zdestroy "uma_zone_t zone" .Ft void .Fn uma_zone_set_max "uma_zone_t zone" "int nitems" .Sh ²òÀâ ¥¾¡¼¥ó¥¢¥í¥±¡¼¥¿¤ÏưŪ¤ËÂ礭¤µ¤¬·è¤á¤é¤ì¤ëÎà»÷¤·¤¿Â礭¤µ¤Î¹àÌܤν¸¹ç¤ò ´ÉÍý¤¹¤ë¤¿¤á¤Î¸úΨŪ¤Ê¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÄ󶡤·¤Þ¤¹¡£ ¥¾¡¼¥ó¥¢¥í¥±¡¼¥¿¤Ï¼Â¹Ô»þ¤Ë³ä¤êÅö¤Æ¤é¤ì¤¿¥¾¡¼¥ó¤Ï¤â¤Á¤í¤ó¡¢ ͽ¤á³ä¤êÅö¤Æ¤é¤ì¤Æ¤¤¤ë¥¾¡¼¥ó¤ËÂФ·¤Æ¤â»ÈÍѤ¹¤ë¤³¤È¤¬½ÐÍè¡¢¤Þ¤¿¤½¤Î¤¿¤á¡¢ ¾¤Î¥á¥â¥ê´ÉÍý¥ë¡¼¥Á¥ó¤è¤ê¤â¥Ö¡¼¥È¥×¥í¥»¥¹¤Î¤è¤êÁᤤÃʳ¬¤ÇÍøÍѲÄǽ¤Ç¤¹¡£ .Pp ¥¾¡¼¥ó¤Ï¿­Ä¥À­¤Î¤¢¤ëƱ°ì¤ÎÂ礭¤µ¤Î¹àÌܤν¸¹ç¤Ç¤¹¡£ ¥¾¡¼¥ó¥¢¥í¥±¡¼¥¿¤Ï¤É¤Î¹àÌܤ¬»ÈÍÑÃæ¤«¤½¤¦¤Ç¤Ê¤¤¤Î¤«¤ò¸«¼º¤ï¤Ê¤¤¤è¤¦¤Ë¤·¡¢ ¥¾¡¼¥ó¤«¤é ¹àÌܤò³ä¤êÅö¤Æ¤ë¤¿¤á¤Î´Ø¿ô¤ª¤è¤Ó²òÊü¤·¤ÆÌ᤹ (¸å¤Ç¤Î»ÈÍѤΤ¿¤á¤Ë¹àÌܤò ÍøÍѲÄǽ¤Ë¤¹¤ë) ¤¿¤á¤Î´Ø¿ô¤òÄ󶡤·¤Þ¤¹¡£ .Pp ¹½Â¤ÂΤò¥¾¡¼¥ó¥¢¥í¥±¡¼¥¿¤Ç´ÉÍý¤·¡¢ ³ä¤êÅö¤Æ¤Î´Ö¤ËËä¤á¹þ¤ßºÑ¤ß¤Î¥Õ¥£¡¼¥ë¥É¤ò»Ä¤¹¤³¤È¤Ë¤è¤ê ·¿¤¬¸ÇÄê¤È¤Ê¤ë¥¾¡¼¥ó¤ÎÆÃÀ­¤ò»ÈÍѤ·¤¿¤¤¾ì¹ç¡¢ ¥¾¡¼¥ó¥¢¥í¥±¡¼¥¿¤¬ÆâÉô¤Ç»ÈÍѤ¹¤ëÀèÆ¬ 2 ¤Ä¤Î¥Ý¥¤¥ó¥¿¤ò ¤³¤Î¹½Â¤ÂΤ¬Í½Ì󤷤Ƥª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£ .Bd -literal -offset indent struct my_item { struct my_item *z_rsvd1; struct my_item *z_rsvd2; /* ¹½Â¤ÂΤλĤê¤ÎÉôʬ */ }; .Ed .Pp ¤½¤¦¤·¤Ê¤¤¾ì¹ç¡¢³Æ¡¹¤Î³äÅö¤Æ¤Î¸å¤Ç¤³¤ì¤é¤Î¥¨¥ó¥È¥ê¤¬²õ¤ì¤¿¤È¤ß¤Ê¤¹¤Ù¤­¤Ç¤¹¡£ ¹àÌܤκǽé¤Î³äÅö¤Æ¤Î¸å¤Ç¤Ï¡¢0 ¤Ë¥¯¥ê¥¢¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ ¤·¤«¤·¤½¤ì¤Ë³¤¯³äÅö¤Æ¤Ç¤Ï¡¢ ºÇ¶á²òÊü¤µ¤ì¤¿¤â¤Î¤¬ÆâÍÆ¤È¤·¤Æ»Ä¤Ã¤Æ¤¤¤ë¤Ç¤·¤ç¤¦¤¬¡¢ Á°½Ò¤Î¥Õ¥£¡¼¥ë¥É¤ÏÎã³°¤Ç¤¹¡£ .Pp .Fn uma_zcreate ´Ø¿ô¤Ï¡¢¤³¤ì¤«¤é¹àÌܤ¬³äÅö¤Æ¤é¤ì¤ë¤³¤È¤¬²Äǽ¤Ê¿·¤·¤¤¥¾¡¼¥ó¤òºîÀ®¤·¤Þ¤¹¡£ .Fa name °ú¿ô¤Ï¥Ç¥Ð¥Ã¥°¤ª¤è¤Ó¥¹¥Æ¡¼¥¿¥¹¤Î¤¿¤á¤Î¥Æ¥­¥¹¥È¤Î¥¾¡¼¥ó̾¤Ç¤¹¡£ ¤³¤Î¥á¥â¥ê¤Ï¡¢¥¾¡¼¥ó¤Î³äÅö¤Æ¤¬²òÊü¤µ¤ì¤ë¤Þ¤Ç¤Ï¡¢²òÊü¤µ¤ì¤ë¤Ù¤­¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ .Pp °ú¿ô .Fa ctor ¤È .Fa dtor ¤Ï¡¢¤½¤ì¤¾¤ì .Fn uma_zalloc ¤È .Fn uma_zfree ¤Î¸Æ¤Ó½Ð¤·»þ¤Ë uma ¥µ¥Ö¥·¥¹¥Æ¥à¤«¤é¸Æ¤Ð¤ì¤ë¡¢¥³¡¼¥ë¥Ð¥Ã¥¯´Ø¿ô¤Ç¤¹¡£ ¤³¤ì¤é¤ÎÌÜŪ¤Ï¡¢»ñ¸»¤Î³ä¤êÅö¤Æ»þ¤È²òÊü»þ¤ËɬÍפȤʤ롢 ½é´ü²½¤ª¤è¤ÓÇ˲õ¤Î¤¿¤á¤Î¥Õ¥Ã¥¯¤òÄ󶡤¹¤ë¤³¤È¤Ç¤¹¡£ .Fa ctor ¤ª¤è¤Ó .Fa dtor ¤Î¥³¡¼¥ë¥Ð¥Ã¥¯¤ÎÎɤ¤»È¤¤Êý¤È¤·¤Æ¤Ï¡¢ ³ä¤êÅö¤Æ¤é¤ì¤¿¥ª¥Ö¥¸¥§¥¯¥È¤Î¥°¥í¡¼¥Ð¥ë¥«¥¦¥ó¥È¤ÎÄ´À°¤¬¤¢¤ë¤Ç¤·¤ç¤¦¡£ .Pp °ú¿ô .Fa uminit ¤È .Fa fini ¤Ï¡¢¥¾¡¼¥ó¤«¤é¤Î¥ª¥Ö¥¸¥§¥¯¥È³ä¤êÅö¤Æ¤ÎºÇŬ²½¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ ¤³¤ì¤é¤Ï¡¢Í×µá¼Â¸½¤Þ¤¿¤Ï¥á¥â¥ê°µÇ÷¤ÎÍýͳ¤Ë¤è¤ê¡¢ uma ¥µ¥Ö¥·¥¹¥Æ¥à¤¬Ê£¿ô¤Î¹àÌܤò³ä¤êÅö¤Æ¤Þ¤¿¤Ï²òÊü¤¹¤ëɬÍפ¬¤¢¤ë¤È¤­¤Ë¡¢ ¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹¡£ .Fa uminit ¤ª¤è¤Ó .Fa fini ¤Î¥³¡¼¥ë¥Ð¥Ã¥¯¤ÎÎɤ¤»È¤¤Êý¤È¤·¤Æ¤Ï¡¢ ¥ª¥Ö¥¸¥§¥¯¥È¤Ë´Þ¤Þ¤ì¤ë¥ß¥å¡¼¥Æ¥Ã¥¯¥¹¤Î½é´ü²½¤ÈÇ˲õ¤¬¤¢¤ë¤Ç¤·¤ç¤¦¡£ ¤³¤ì¤Ë¤è¤ê¡¢¥ª¥Ö¥¸¥§¥¯¥È¤¬ uma ¥µ¥Ö¥·¥¹¥Æ¥à¤Î¥ª¥Ö¥¸¥§¥¯¥È¤«¤éÊÖ¤µ¤ì¤¿¤È¤­¤Ë¡¢ ´û¤Ë½é´ü²½ºÑ¤ß¤Î¥ß¥å¡¼¥Æ¥Ã¥¯¥¹¤òºÆ»ÈÍѲÄǽ¤È¤Ê¤ê¤Þ¤¹¡£ ¤³¤ì¤é¤Ï¡¢³Æ .Fn uma_zalloc ¤ä .Fn uma_zfree ¤Î¸Æ¤Ó½Ð¤·»þ¤Ë¤Ï¸Æ¤Ó½Ð¤µ¤ì¤º¡¢ Ê£¿ô¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ËÂФ·¤Æ¥Ð¥Ã¥ÁŪ¤Ë¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹¡£ .Pp ¹àÌܤϤ½¤Î¥¾¡¼¥ó¤Ø¤Î¥Ý¥¤¥ó¥¿¤òȼ¤Ê¤¦ .Fn uma_zalloc ¤Î¸Æ½Ð¤·¤Ë¤è¤Ã¤Æ³äÅö¤Æ¤é¤ì¡¢ .Fa flags °ú¿ô¤Ë .Xr malloc 9 ¤È¤·¤ÆÊ¸½ñ²½¤µ¤ì¤¿ÁªÂò¤µ¤ì¤¿¥Õ¥é¥°¤òÀßÄꤵ¤ì¤Þ¤¹¡£ ¤½¤Î¹àÌܤϤ½¤Î¥¾¡¼¥ó¤Ë²òÊü¤·Ìᤵ¤ì¤Þ¤¹¡£ À®¸ù¤Î¾ì¹ç¤Ë¤Ï¹àÌܤؤΥݥ¤¥ó¥¿¤òÊÖ¤·¤Þ¤¹¡£ ¥¾¡¼¥óÃæ¤ÎÁ´¹àÌܤ¬»ÈÍÑÃæ¤Ç³î¤Ä¥¢¥í¥±¡¼¥¿¤¬¥¾¡¼¥ó¤ò³ÈÄ¥¤Ç¤­¤Ê¤¤µ©¤Ê¾ì¹ç¤«¡¢ .Dv M_NOWAIT ¤¬ÌÀ¼¨¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢ .Dv NULL ¤òÊÖ¤·¤Þ¤¹¡£ .Pp ¹àÌܤϤ½¤Î¥¾¡¼¥ó¤Ø¤Î¥Ý¥¤¥ó¥¿¤ª¤è¤Ó¤½¤Î¹àÌܤؤΥݥ¤¥ó¥¿¤òȼ¤Ê¤Ã¤¿ .Fn uma_zfree ¤Î¸Æ¤Ó½Ð¤·¤Ë¤è¤Ã¤Æ¡¢³äÅö¤Æ¤é¤ì¤Æ¤¤¤¿¥¾¡¼¥ó¤Ë²òÊü¤·Ìᤵ¤ì¤Þ¤¹¡£ .Pp ¶õ¤Ç¤¢¤ëºîÀ®¤µ¤ì¤¿¥¾¡¼¥ó¤Ï¡¢ .Fn uma_zdestroy ¤ò»ÈÍѤ·¤Æ¡¢¤½¤Î¥¾¡¼¥ó¤Î¤¿¤á¤Ë³äÅö¤Æ¤é¤ì¤¿Á´¤Æ¤Î¥á¥â¥ê¤ò²òÊü¤·¤Æ¡¢ Ç˲õ¤µ¤ì¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£ ¤½¤Î¥¾¡¼¥ó¤«¤é .Fn uma_zalloc ¤Ë¤è¤Ã¤Æ³äÅö¤Æ¤é¤ì¤¿¹àÌܤϡ¢¤½¤ÎÁ°¤Ë .Fn uma_zfree ¤Ë¤è¤Ã¤Æ²òÊü¤µ¤ì¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ .Pp .Fn uma_zone_set_max ¤ÎÌÜŪ¤Ï¡¢ .Fa zone °ú¿ô¤Ë¤è¤Ã¤Æ»ØÄꤵ¤ì¤¿¥¾¡¼¥ó¤ËÂФ·¤ÆÀìÍѤˤǤ­¤ë¥á¥â¥ê¤ÎºÇÂçÎ̤ò À©¸Â¤¹¤ë¤³¤È¤Ç¤¹¡£ .Fa nitems °ú¿ô¤Ë¤Ï¤½¤Î¥¾¡¼¥óÆâ¤Î¹àÌܤξå¸Â¤òÍ¿¤¨¤Þ¤¹¡£ ¤³¤ÎÀ©¸Â¤Ï¡¢³ä¤êÅö¤Æ¤é¤ì¤¿¹àÌÜ¡¢³«Êü¤µ¤ì¤¿¹àÌÜ¡¢¤ª¤è¤Ó CPU Ëè¤Î ¥­¥ã¥Ã¥·¥åÆâ¤Ë¤¢¤ë³«Êü¤µ¤ì¤¿¹àÌܤò´Þ¤à¡¢¤½¤Î¥¾¡¼¥ó¤ÎÃæ¤Î¹àÌܤΥȡ¼¥¿¥ë¿ô¤Ç¤¹¡£ Ê£¿ô¤Î CPU ¤ò»ý¤Ä¥·¥¹¥Æ¥à¾å¤Ç¤Ï¡¢¥á¥â¥ê¤ÎÉÔ­¤¬¤Ê¤¤»þ¤Ë¤Ç¤µ¤¨¡¢ »ØÄꤵ¤ì¤¿¿ô¤Î¹àÌܤò³ä¤êÅö¤Æ¤ë¤³¤È¤¬ÉÔ²Äǽ¤Ç¤¢¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£ ¤Ê¤¼¤Ê¤é¤Ð¡¢À©¸Â¤Ë°ú¤Ã¤«¤«¤ë»þÅÀ¤Ç¡¢»Ä¤ê¤ÎÁ´¤Æ¤Î³«Êü¤µ¤ì¤Æ¤¤¤ë¹àÌܤ¬¡¢ ¾¤Î CPU ¤Î¥­¥ã¥Ã¥·¥å¤ÎÃæ¤Ë¤¢¤ë¤«¤â¤·¤ì¤Ê¤¤¤«¤é¤Ç¤¹¡£ .Sh Ìá¤êÃÍ .Fn uma_zalloc ´Ø¿ô¤Ï¹àÌܤؤΥݥ¤¥ó¥¿¤ò¡¢¤Þ¤¿¤Ï¥¾¡¼¥ó¤Î̤»ÈÍѹàÌܤ¬ÉÔ­¤·¤Æ¥¢¥í¥±¡¼¥¿¤¬ ¥¾¡¼¥ó¤ò³ÈÄ¥¤Ç¤­¤Ê¤¤¾ì¹ç¤Ë .Dv NULL ¤ò¡¢ÊÖ¤·¤Þ¤¹¡£ .Sh ´ØÏ¢¹àÌÜ .Xr malloc 9 .Sh Îò»Ë ¥¾¡¼¥ó¥¢¥í¥±¡¼¥¿¤Ï .Fx 3.0 ¤Ç¤Ï¤¸¤á¤ÆÅо줷¤Þ¤·¤¿¡£ ¥¹¥é¥Ö¥¢¥í¥±¡¼¥¿¤È¤·¤Æ¤Îµ¡Ç½¤Î¤¿¤á¡¢ .Fx 5.0 ¤Çº¬ËÜŪ¤ËÊѹ¹¤µ¤ì¤Þ¤·¤¿¡£ .Sh ºî¼Ô .An -nosplit ¥¾¡¼¥ó¥¢¥í¥±¡¼¥¿¤Ï .An John S. Dyson ¤¬½ñ¤­¤Þ¤·¤¿¡£ ¥¾¡¼¥ó¥¢¥í¥±¡¼¥¿¤Ï¡¢¥¹¥é¥Ö¥¢¥í¥±¡¼¥¿¤È¤·¤Æ¤Îµ¡Ç½¤Î¤¿¤á¡¢ .An Jeff Roberson Aq jeff@FreeBSD.org ¤¬ÂçÉôʬ¤ò½ñ¤­Ä¾¤·¤Þ¤·¤¿¡£ .Pp ¤³¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ï -.An Dag-Erling Co\(:idan Sm\(/orgrav Aq des@FreeBSD.org +.An Dag-Erling Sm\(/orgrav Aq des@FreeBSD.org ¤¬½ñ¤­¤Þ¤·¤¿¡£ UMA ¤Î¤¿¤á¤Ë .An Jeroen Ruigrok van der Werven Aq asmodai@FreeBSD.org ¤¬Êѹ¹¤·¤Þ¤·¤¿¡£