diff --git a/ja_JP.eucJP/man/man9/BUS_SETUP_INTR.9 b/ja_JP.eucJP/man/man9/BUS_SETUP_INTR.9 new file mode 100644 index 0000000000..d9c1b35e38 --- /dev/null +++ b/ja_JP.eucJP/man/man9/BUS_SETUP_INTR.9 @@ -0,0 +1,73 @@ +.\" 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.1.2.2 2000/12/08 14:59:19 ru Exp % +.\" +.Dd April 2, 2000 +.Os +.Dt BUS_SETUP_INTR 9 +.Os FreeBSD +.Sh 名称 +.Nm BUS_SETUP_INTR +.Nd 割り込みハンドラの作成と接続 +.Sh 書式 +.Fd #include +.Fd #include +.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" +.Sh 解説 +.Pp +メソッド +.Nm +は、資源マネージャの +.Xr BUS_ALLOC_RESOURCE 9 +メソッドによって以前に割り当てられた割り込みに対し、 +割り込みハンドラを生成してアタッチします。 +ハンドラ +.Fa intr +は唯一の引数 +.Fa arg +の値を伴なって呼び出されます。 +.Pp +割り込みハンドラは、 +.Fn BUS_TEARDOWN_INTR +によってデタッチされます。 +正しい割り込みハンドラを破棄するために、クッキーが +.Fn BUS_TEARDOWN_INTR +に渡される必要があります。 +.Sh 戻り値 +成功時には 0 が返され、それ以外の場合は適切なエラーが返されます。 +.Sh 関連項目 +.Xr BUS_TEARDOWN_INTR 9 , +.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/DRIVER_MODULE.9 b/ja_JP.eucJP/man/man9/DRIVER_MODULE.9 new file mode 100644 index 0000000000..416e52d6a1 --- /dev/null +++ b/ja_JP.eucJP/man/man9/DRIVER_MODULE.9 @@ -0,0 +1,99 @@ +.\" -*- 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/DRIVER_MODULE.9,v 1.1.2.1 2000/09/17 12:38:27 alex Exp % +.\" +.Dd May 16, 2000 +.Dt DRIVER_MODULE 9 +.Os +.Sh 名称 +.Nm DRIVER_MODULE +.Nd カーネルドライバ宣言マクロ +.Sh 書式 +.Fd #include +.Fn DRIVER_MODULE "name" "busname" "driver_t driver" "devclass_t devclass" "int (*evh) (struct module *, int, void *)" "void *arg" +.Sh 解説 +.Fn DRIVER_MODULE +マクロは、カーネルドライバを宣言します。 +.Fn DRIVER_MODULE +は実際のドライバ宣言に展開し、そこで +.Fa name +はドライバとその関数の接頭辞として使用されます。 +これはプレインテキストとして与えられ、 +.Li char +または +.Li char * +ではないことに注意してください。 +.Pp +.Fa busname +はドライバの親のバス (PCI, ISA, PPBUS, その他) で、 +.Ql pci , +.Ql isa , +.Ql ppbus +等です。 +.Pp +.Fn DRIVER_MODULE +の中で使用される識別子は、ドライバの名前と別のものにすることができます。 +また、異なるバス上には同じドライバ識別子が存在できます。 +これは、同じドライバを使用する同一または異なるバス上の種々のカード用に、 +フロントエンドをうまくきれいに作成する方法です。 +例えば、次のようにできます。 +.Pp +.Fn DRIVERMODULE "foo" "isa" "foo_driver" "foo_devclass" "0" "0" ; +.Pp +.Fn DRIVERMODULE "foo" "pci" "foo_driver" "foo_devclass" "0" "0" ; +.Pp +.Fa driver +は +.Li driver_t +型のドライバで、ドライバについての情報を含み、それゆえ +.Fn DRIVER_MODULE +を呼び出すための最も重要な 2 つの部分のうちの 1 つです。 +.Pp +引数 +.Fa devclass +はデバイスについてのカーネル内部の情報を含み、 +カーネルドライバモジュールの内部で使用されます。 +.Pp +引数 +.Fa evh +はドライバ (またはモジュール) がロードまたはアンロードされた時に +呼び出されるイベントハンドラです。 +.Pp +現時点では +.Fa arg +は使用されず、 +.Dv NULL +ポインタであるべきです。 +.Sh 関連項目 +.Xr driver 9 , +.Xr device 9 +.Sh 作者 +このマニュアルページは +.An Alexander Langer Aq alex@FreeBSD.org +が書きました。 diff --git a/ja_JP.eucJP/man/man9/KASSERT.9 b/ja_JP.eucJP/man/man9/KASSERT.9 new file mode 100644 index 0000000000..86bbdd7c00 --- /dev/null +++ b/ja_JP.eucJP/man/man9/KASSERT.9 @@ -0,0 +1,73 @@ +.\" -*- nroff -*- +.\" +.\" Copyright (c) 2000 Jonathan M. Bresler +.\" +.\" 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/KASSERT.9,v 1.1.2.3 2001/03/06 19:08:21 ru Exp % +.\" +.Dd January 14, 2000 +.Os +.Dt KASSERT 9 +.Sh 名称 +.Nm KASSERT +.Nd カーネル数式検証マクロ +.Sh 書式 +.Cd options INVARIANTS +.Fn KASSERT expression "const char *msg" +.Sh 解説 +"options INVARIANTS" オプション付きでコンパイルされたカーネル内では、 +.Fn KASSERT +マクロは与えられた数式 +.Ar expression +をテストし、それが偽である場合には +.Fn panic +システムコールを呼び出し、稼働中のシステムを停止させます。 +.Pp +"options INVARIANTS" オプションの無いカーネル内では、 +.Fn KASSERT +マクロは何もしない様に定義されます。 +.Sh 使用例 +カーネル関数 +.Fn vput +は、NULL ポインタを引数として呼び出されてはなりません。 +.Bd -literal -offset indent +void +vput(vp) + struct vnode *vp; +{ + struct proc *p = curproc; + KASSERT(vp != NULL, ("vput: null vp")); + ... +} +.Ed +.Sh 関連項目 +.Xr config 8 , +.Xr panic 9 +.Sh 作者 +このマニュアルページは +.An Jonathan M. Bresler +.Aq jmb@FreeBSD.org +が書きました。 diff --git a/ja_JP.eucJP/man/man9/Makefile b/ja_JP.eucJP/man/man9/Makefile index ec7a2433fb..11a5a77b7b 100644 --- a/ja_JP.eucJP/man/man9/Makefile +++ b/ja_JP.eucJP/man/man9/Makefile @@ -1,65 +1,201 @@ MAN9 = BUS_PRINT_CHILD.9\ BUS_READ_IVAR.9\ + BUS_SETUP_INTR.9\ DEVICE_ATTACH.9\ DEVICE_DETACH.9\ DEVICE_PROBE.9\ DEVICE_SHUTDOWN.9\ + DRIVER_MODULE.9\ + KASSERT.9\ MD5.9\ + SPLASSERT.9\ VFS.9\ + VFS_CHECKEXP.9\ + VFS_FHTOVP.9\ + VFS_INIT.9\ + VFS_MOUNT.9\ + VFS_QUOTACTL.9\ + VFS_ROOT.9\ + VFS_START.9\ + VFS_STATFS.9\ + VFS_SYNC.9\ + VFS_UNMOUNT.9\ + VFS_VGET.9\ + VFS_VPTOFH.9\ + VOP_ACCESS.9\ + VOP_ACLCHECK.9\ + VOP_ADVLOCK.9\ + VOP_ATTRIB.9\ + VOP_BWRITE.9\ + VOP_CREATE.9\ + VOP_FSYNC.9\ + VOP_GETACL.9\ + VOP_GETEXTATTR.9\ + VOP_GETPAGES.9\ + VOP_INACTIVE.9\ + VOP_IOCTL.9\ + VOP_LEASE.9\ + VOP_LINK.9\ + VOP_LOCK.9\ + VOP_MMAP.9\ + VOP_OPENCLOSE.9\ + VOP_PATHCONF.9\ + VOP_PRINT.9\ + VOP_RDWR.9\ + VOP_READLINK.9\ + VOP_REALLOCBLKS.9\ + VOP_REMOVE.9\ + VOP_SETACL.9\ + VOP_SETEXTATTR.9\ + VOP_STRATEGY.9\ + acl.9\ + at_exit.9\ + at_fork.9\ + bios.9\ + boot.9\ + bus_alloc_resource.9\ bus_generic_attach.9\ bus_generic_detach.9\ bus_generic_map_intr.9\ bus_generic_print_child.9\ bus_generic_read_ivar.9\ bus_generic_shutdown.9\ + bus_release_resource.9\ + cd.9\ copy.9\ + devclass.9\ + devclass_add_driver.9\ + devclass_find.9\ + devclass_get_device.9\ + devclass_get_devices.9\ + devclass_get_maxunit.9\ + devclass_get_name.9\ + devclass_get_softc.9\ + devfs_add_devswf.9\ + devfs_link.9\ + devfs_remove_dev.9\ + device.9\ + device_add_child.9\ + device_delete_child.9\ + device_enable.9\ + device_find_child.9\ + device_get_children.9\ + device_get_devclass.9\ + device_get_driver.9\ + device_get_flags.9\ + device_get_ivars.9\ + device_get_softc.9\ + device_get_state.9\ + device_get_unit.9\ + device_probe_and_attach.9\ + device_quiet.9\ + device_set_desc.9\ + devtoname.9\ + driver.9\ fetch.9\ inittodr.9\ intro.9\ + kernacc.9\ + make_dev.9\ malloc.9\ + microtime.9\ + microuptime.9\ panic.9\ physio.9\ resettodr.9\ spl.9\ store.9\ style.9\ + tvtohz.9\ uio.9\ + vget.9\ + vput.9\ + vref.9\ + vrele.9\ vslock.9 -MLINKS+=BUS_READ_IVAR.9 BUSWRITE_IVAR.9 -MLINKS+=malloc.9 FREE.9 -MLINKS+=malloc.9 MALLOC.9 -MLINKS+=malloc.9 free.9 -MLINKS+=MD5.9 MD5Init.9 -MLINKS+=MD5.9 MD5Transform.9 -MLINKS+=bus_generic_read_ivar.9 bus_generic_write_ivar.9 -MLINKS+=copy.9 copyin.9 -MLINKS+=copy.9 copyinstr.9 -MLINKS+=copy.9 copyout.9 -MLINKS+=copy.9 copystr.9 -MLINKS+=copy.9 malloc.9 -MLINLS+=fetch.9 fubyte.9 -MLINKS+=fetch.9 fuswintr.9 -MLINKS+=fetch.9 fusword.9 -MLINKS+=fetch.9 fuword.9 -MLINKS+=fetch.9 subyte.9 -MLINKS+=fetch.9 suswintr.9 -MLINKS+=fetch.9 susword.9 -MLINKS+=fetch.9 suword.9 +MLINKS+=MD5.9 MD5Init.9 MD5.9 MD5Transform.9 +MLINKS+=VOP_ATTRIB.9 VOP_GETATTR.9 +MLINKS+=VOP_ATTRIB.9 VOP_SETATTR.9 +MLINKS+=VOP_CREATE.9 VOP_MKDIR.9 +MLINKS+=VOP_CREATE.9 VOP_MKNOD.9 +MLINKS+=VOP_CREATE.9 VOP_SYMLINK.9 +MLINKS+=VOP_GETPAGES.9 VOP_PUTPAGES.9 +MLINKS+=VOP_INACTIVE.9 VOP_RECLAIM.9 +MLINKS+=VOP_LOCK.9 VOP_ISLOCKED.9 +MLINKS+=VOP_LOCK.9 VOP_UNLOCK.9 +MLINKS+=VOP_LOCK.9 vn_lock.9 +MLINKS+=VOP_OPENCLOSE.9 VOP_CLOSE.9 +MLINKS+=VOP_OPENCLOSE.9 VOP_OPEN.9 +MLINKS+=VOP_RDWR.9 VOP_READ.9 +MLINKS+=VOP_RDWR.9 VOP_WRITE.9 +MLINKS+=VOP_REMOVE.9 VOP_RMDIR.9 +MLINKS+=at_exit.9 rm_at_exit.9 +MLINKS+=at_fork.9 rm_at_fork.9 +MLINKS+=copy.9 copyin.9 copy.9 copyinstr.9 copy.9 copyout.9 copy.9 copystr.9 +MLINKS+=devfs_link.9 devfs_makelink.9 +#MLINKS+=devstat.9 devicestat.9 devstat.9 devstat_add_entry.9 +#MLINKS+=devstat.9 devstat_remove_entry.9 devstat.9 devstat_start_transaction.9 +#MLINKS+=devstat.9 devstat_end_transaction.9 +MLINKS+=fetch.9 fubyte.9 fetch.9 fuswintr.9 fetch.9 fusword.9 fetch.9 fuword.9 +#MLINKS+=ifnet.9 if_data.9 ifnet.9 ifaddr.9 ifnet.9 ifqueue.9 +MLINKS+=kernacc.9 useracc.9 +MLINKS+=make_dev.9 destroy_dev.9 +MLINKS+=malloc.9 FREE.9 malloc.9 MALLOC.9 malloc.9 free.9 +#MLINKS+=mi_switch.9 cpu_switch.9 +#MLINKS+=posix4.9 p1003_1b.9 +#MLINKS+=psignal.9 gsignal.9 psignal.9 pgsignal.9 +#MLINKS+=rtalloc.9 rtalloc1.9 rtalloc.9 rtalloc_ign.9 +#MLINKS+=sleep.9 tsleep.9 sleep.9 wakeup.9 sleep.9 wakeup_one.9 +#MLINKS+=sleep.9 asleep.9 sleep.9 await.9 +#MLINKS+=buf.9 bp.9 MLINKS+=spl.9 spl0.9 -MLINKS+=spl.9 splbio.9 -MLINKS+=spl.9 splclock.9 -MLINKS+=spl.9 splhigh.9 -MLINKS+=spl.9 splimp.9 -MLINKS+=spl.9 splnet.9 -MLINKS+=spl.9 splsoftclock.9 -MLINKS+=spl.9 splsofttty.9 -MLINKS+=spl.9 splstatclock.9 -MLINKS+=spl.9 spltty.9 -MLINKS+=spl.9 splvm.9 -MLINKS+=spl.9 splx.9 +MLINKS+=spl.9 splbio.9 spl.9 splclock.9 spl.9 splhigh.9 spl.9 splimp.9 +MLINKS+=spl.9 splnet.9 spl.9 splsoftclock.9 spl.9 splsofttty.9 +MLINKS+=spl.9 splstatclock.9 spl.9 spltty.9 spl.9 splvm.9 spl.9 splx.9 +MLINKS+=store.9 subyte.9 store.9 suswintr.9 store.9 susword.9 store.9 suword.9 +#MLINKS+=time.9 boottime.9 time.9 mono_time.9 time.9 runtime.9 +#MLINKS+=timeout.9 untimeout.9 MLINKS+=uio.9 uiomove.9 +MLINKS+=vref.9 VREF.9 MLINKS+=vslock.9 vsunlock.9 +MLINKS+=device_add_child.9 device_add_child_ordered.9 +MLINKS+=device_enable.9 device_disable.9 +MLINKS+=device_enable.9 device_is_enabled.9 +MLINKS+=device_get_state.9 device_busy.9 +MLINKS+=device_get_state.9 device_unbusy.9 +MLINKS+=device_get_state.9 device_is_alive.9 +MLINKS+=device_quiet.9 device_verbose.9 +MLINKS+=device_quiet.9 device_is_quiet.9 +MLINKS+=device_set_desc.9 device_get_desc.9 +MLINKS+=device_set_desc.9 device_set_desc_copy.9 +#MLINKS+=device_set_flags.9 device_get_flags.9 +MLINKS+=devclass_add_driver.9 devclass_delete_driver.9 +MLINKS+=devclass_add_driver.9 devclass_find_driver.9 +MLINKS+=BUS_READ_IVAR.9 BUS_WRITE_IVAR.9 +MLINKS+=bus_generic_read_ivar.9 bus_generic_write_ivar.9 + +MLINKS+=microtime.9 getmicrotime.9 microtime.9 nanotime.9 +MLINKS+=microtime.9 getnanotime.9 +MLINKS+=microuptime.9 getmicrouptime.9 microuptime.9 nanouptime.9 +MLINKS+=microuptime.9 getnanouptime.9 + +#MLINKS+=sysctl_add_oid.9 sysctl_remove_oid.9 +#MLINKS+=sysctl_add_oid.9 SYSCTL_ADD_OID.9 +#MLINKS+=sysctl_add_oid.9 SYSCTL_ADD_NODE.9 +#MLINKS+=sysctl_add_oid.9 SYSCTL_ADD_STRING.9 +#MLINKS+=sysctl_add_oid.9 SYSCTL_ADD_INT.9 +#MLINKS+=sysctl_add_oid.9 SYSCTL_ADD_UINT.9 +#MLINKS+=sysctl_add_oid.9 SYSCTL_ADD_LONG.9 +#MLINKS+=sysctl_add_oid.9 SYSCTL_ADD_ULONG.9 +#MLINKS+=sysctl_add_oid.9 SYSCTL_ADD_OPAQUE.9 +#MLINKS+=sysctl_add_oid.9 SYSCTL_ADD_STRUCT.9 +#MLINKS+=sysctl_add_oid.9 SYSCTL_ADD_PROC.9 +#MLINKS+=sysctl_ctx_init.9 sysctl_ctx_free.9 +#MLINKS+=sysctl_ctx_init.9 sysctl_ctx_entry_add.9 +#MLINKS+=sysctl_ctx_init.9 sysctl_ctx_entry_del.9 +#MLINKS+=sysctl_ctx_init.9 sysctl_ctx_entry_find.9 + .include "bsd.prog.mk" diff --git a/ja_JP.eucJP/man/man9/SPLASSERT.9 b/ja_JP.eucJP/man/man9/SPLASSERT.9 new file mode 100644 index 0000000000..7fcb77c125 --- /dev/null +++ b/ja_JP.eucJP/man/man9/SPLASSERT.9 @@ -0,0 +1,88 @@ +.\" -*- nroff -*- +.\" +.\" Copyright (c) 2000 Jonathan M. Bresler +.\" +.\" 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/SPLASSERT.9,v 1.1.2.3 2001/03/06 19:08:21 ru Exp % + .\" +.\" +.Dd January 14, 2000 +.Os +.Dt SPLASSERT 9 +.Sh 名称 +.Nm SPLASSERT +.Nd カーネル spl レベル検証マクロ +.Sh 書式 +.Cd options INVARIANTS +.Cd options INVARIANT_SUPPORT +.Fn SPLASSERT "char *level" "char *msg" +.Sh 解説 +"options INVARIANTS" および "options INVARIANT_SUPPORT" の両方の +オプション付きでコンパイルされたカーネル内では、 +.Fn SPLASSERT +マクロはカーネルの現在の spl レベルと +.Fn SPLASSERT +マクロの中で指定された spl レベル +.Fa level +とを比較します。 +指定された +.Fa level +がアクティブでない場合には、 +.Fn SPLASSERT +は +.Fa msg +を引数として +.Fn KASSERT +マクロを呼び出し、稼働中のシステムを停止させます。 +.Pp +"options INVARIANTS" および "options INVARIANT_SUPPORT" の両方の +オプションが無いカーネル内では、 +.Fn SPLASSERT +マクロは何もしない様に定義されます。 +.Sh 使用例 +カーネル関数 +.Fn rtalloc +は +.Fn splnet +時に呼び出されなければなりません。 +.Bd -literal -offset indent +void +rtalloc(ro) + register struct route *ro; +{ + SPLASSERT(net, "rtalloc()"); + rtalloc_ign(ro, 0UL); +} +.Pp +.Sh 関連項目 +.Xr config 8 , +.Xr KASSERT 9 , +.Xr panic 9 +.Sh 作者 +このマニュアルページは +.An Jonathan M. Bresler +.Aq jmb@FreeBSD.org +が書きました。 diff --git a/ja_JP.eucJP/man/man9/VFS_CHECKEXP.9 b/ja_JP.eucJP/man/man9/VFS_CHECKEXP.9 new file mode 100644 index 0000000000..b4c8897da3 --- /dev/null +++ b/ja_JP.eucJP/man/man9/VFS_CHECKEXP.9 @@ -0,0 +1,89 @@ +.\" +.\" Copyright (c) 1999 Alfred Perlstein +.\" +.\" All rights reserved. +.\" +.\" This program is free software. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following condition +.\" is met: +.\" Redistributions of source code must retain the above copyright +.\" notice, this condition and the following disclaimer. +.\" +.\" 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_CHECKEXP.9,v 1.2 1999/09/11 21:00:03 alfred Exp $ +.\" +.Dd September 10, 1999 +.Os +.Dt VFS_CHECKEXP 9 +.Sh 名称 +.Nm VFS_CHECKEXP +.Nd vnode がクライアントにエクスポートされているかどうかをチェック +.Sh 書式 +.Fd #include +.Fd #include +.Ft int +.Fn VFS_CHECKEXP "struct mount *mp" "struct mbuf *nam" "int *exflagsp" "struct ucred **credanonp" +.Sh 解説 +これは、クライアントにマウントポイントがエクスポート +されているかどうかをチェックするために、NFS サーバが使用します。 +.Pp +引数は以下の通りです。 +.Bl -tag -width credanonp +.It Ar mp +チェック対象のマウントポイント。 +.It Ar nam +クライアントのネットワークアドレスを含む mbuf。 +.It Ar exflagsp +このクライアントに対する、エクスポートフラグの戻り値。 +.It Ar credanonp +このクライアントに対する、匿名の証明の戻り値。 +.El +.Pp +ファイルシステムのマウント構造に対して呼び出して、 +.Fa nam +にアドレスが含まれるクライアントに対してそのファイルシステムが +エクスポートされているかどうかを決定できます。 +.Pp +一般的には、 +クライアントがファイルシステムにアクセス可能かを確認するために、 +.Xr VFS_FHTOVP 9 +の前に呼び出されます。 +.Pp +ファイルシステムは、 +クライアントがファイルシステムをアクセスできるかを実証するために、 +.Dv netexport +構造体の適切なアドレス、クライアントのアドレス、および +.Fa nam +を伴って、 +.Xr vfs_export_lookup 9 +を呼び出すべきです。 +.Pp +.Sh 戻り値 +そのクライアントに対するエクスポートフラグと ( +.Xr vfs_export_lookup 9 +から返される) 匿名の証明が +.Fa *exflagsp +と +.Fa *credanonp +に返されるでしょう。 +.Sh 関連項目 +.Xr VFS 9 , +.Xr VFS_FHTOVP 9 , +.Xr VFS_VPTOFH 9 , +.Xr vnode 9 +.Sh 作者 +このマニュアルページは +.An Alfred Perlstein +が書きました。 diff --git a/ja_JP.eucJP/man/man9/VFS_FHTOVP.9 b/ja_JP.eucJP/man/man9/VFS_FHTOVP.9 new file mode 100644 index 0000000000..45639d74f2 --- /dev/null +++ b/ja_JP.eucJP/man/man9/VFS_FHTOVP.9 @@ -0,0 +1,82 @@ +.\" -*- 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_FHTOVP.9,v 1.6 1999/09/11 00:57:20 alfred Exp $ +.\" +.Dd July 24, 1996 +.Os +.Dt VFS_FHTOVP 9 +.Sh 名称 +.Nm VFS_FHTOVP +.Nd NFS ファイルハンドルから vnode への変換 +.Sh 書式 +.Fd #include +.Fd #include +.Fd #include +.Ft int +.Fn VFS_FHTOVP "struct mount *mp" "struct fid *fhp" "struct vnode **vpp" +.Sh 解説 +これは NFS ファイルハンドルから vnode へ +変換するために NFS サーバによって使用されます。 +.Pp +引数は以下の通りです。 +.Bl -tag -width vpp +.It Ar mp +ファイルシステム。 +.It Ar fhp +変換されるファイルハンドル。 +.It Ar vpp +新しい、ロックされた vnode の戻り値。 +.El +.Pp +ファイルハンドルの内容は、ファイルシステムによって定義されていて、 +システムの他の部分によって検査されません。 +ファイルが削除された時や新しいファイルのためにファイルシステムの資源が +再利用された時の通知と同じ程度に、ファイルシステムの中のファイルを +独自に識別するための十分な情報を含んでいるべきです。 +例えば、UFS ファイルシステムは、ファイルハンドルの中に inode 番号 +および inode 世代カウンタを格納します。 +.Pp +一般的にはこの関数への呼び出し後は、そのファイルがクライアントにとって +アクセス可能であるかどうかを検査するために +.Xr VFS_CHECKEXP 9 +呼び出しが行われます。 +.Pp +.Sh 戻り値 +そのファイルのロックされた vnode が +.Fa *vpp +に返されます。 +.Sh 関連項目 +.Xr VFS 9 , +.Xr VFS_VPTOFH 9 , +.Xr VFS_CHECKEXP 9 , +.Xr vnode 9 +.Sh 作者 +このマニュアルページは +.An Doug Rabson +が書きました。 diff --git a/ja_JP.eucJP/man/man9/VFS_INIT.9 b/ja_JP.eucJP/man/man9/VFS_INIT.9 new file mode 100644 index 0000000000..d1812f1198 --- /dev/null +++ b/ja_JP.eucJP/man/man9/VFS_INIT.9 @@ -0,0 +1,55 @@ +.\" -*- 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_INIT.9,v 1.6 1999/08/28 00:21:08 peter Exp $ +.\" +.Dd July 24, 1996 +.Os +.Dt VFS_INIT 9 +.Sh 名称 +.Nm VFS_INIT +.Nd ファイルシステムの初期化 +.Sh 書式 +.Fd #include +.Fd #include +.Fd #include +.Ft int +.Fn VFS_INIT +.Sh 解説 +この関数は、ファイルシステムが保持可能な +全ての大域データ構造体を初期化するために、一度だけ呼び出されます。 +オペレーティングシステムの起動時または、 +動的に読み込まれたファイルシステムでは +ファイルシステムを含むカーネルモジュールが読み込まれた時に、呼び出されます。 +.Sh 関連項目 +.Xr VFS 9 , +.Xr vnode 9 +.Sh 作者 +このマニュアルページは +.An Doug Rabson +が書きました。 diff --git a/ja_JP.eucJP/man/man9/VFS_MOUNT.9 b/ja_JP.eucJP/man/man9/VFS_MOUNT.9 new file mode 100644 index 0000000000..295c0aac7f --- /dev/null +++ b/ja_JP.eucJP/man/man9/VFS_MOUNT.9 @@ -0,0 +1,91 @@ +.\" -*- 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_MOUNT.9,v 1.7 2000/03/03 14:05:05 sheldonh Exp $ +.\" +.Dd July 24, 1996 +.Os +.Dt VFS_MOUNT 9 +.Sh 名称 +.Nm VFS_MOUNT +.Nd ファイルシステムのマウント +.Sh 書式 +.Fd #include +.Fd #include +.Fd #include +.Ft int +.Fn VFS_MOUNT "struct mount *mp" "char *path" "caddr_t data" "struct nameidata *ndp" "struct proc *p" +.Sh 解説 +システムの名前空間にファイルシステムをマウントします。 +.Pp +引数は以下の通りです。 +.Bl -tag -width data +.It Ar mp +ファイルシステムを表現する構造体。 +.It Ar path +そのファイルシステムがマウントされるパス名。 +.It Ar data +ファイルシステム固有データ。これはカーネルに +.Xr copyin 9 +を使用して読み込まれるべきです。 +.It Ar ndp +マウントポイントのパス名での +.Xr namei 9 +の呼び出しの結果。 +.It Ar p +ファイルシステムをマウントしようとしているプロセス。 +.El +.Pp +これは、新しいファイルシステムをマウントする目的と、 +既存のファイルシステムの属性変更の目的の、両方の用途で呼び出されます。 +.Fa mp->mnt_flag +に +.Dv MNT_UPDATE +フラグが設定されている場合には、ファイルシステムは +.Fa mp->mnt_flag +の値により内部状態を更新するべきです。 +例えば、読み取り専用ファイルシステムから読み書き可能への変換に +使用されることが可能です。 +また、 +.Xr mountd 8 +によってファイルシステムの NFS エクスポート情報の更新にも使用されています。 +.Pp +.Dv MNT_UPDATE +フラグが設定されていない場合には、 +これは新規にマウントされたファイルシステムです。 +ファイルシステムのコードは、ファイルシステムの表現に必要な私的データの +割り当てと初期化を行なうべきです (この情報を格納するために +.Fa mp->mnt_data +フィールドを使用可能です)。 +.Sh 関連項目 +.Xr VFS 9 , +.Xr vnode 9 +.Sh 作者 +このマニュアルページは +.An Doug Rabson +が書きました。 diff --git a/ja_JP.eucJP/man/man9/VFS_QUOTACTL.9 b/ja_JP.eucJP/man/man9/VFS_QUOTACTL.9 new file mode 100644 index 0000000000..ef70fbd3bf --- /dev/null +++ b/ja_JP.eucJP/man/man9/VFS_QUOTACTL.9 @@ -0,0 +1,54 @@ +.\" -*- 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_QUOTACTL.9,v 1.5 1999/08/28 00:21:08 peter Exp $ +.\" +.Dd July 24, 1996 +.Os +.Dt VFS_QUOTACTL 9 +.Sh 名称 +.Nm VFS_QUOTACTL +.Nd ファイルシステムクォータの操作 +.Sh 書式 +.Fd #include +.Fd #include +.Fd #include +.Ft int +.Fn VFS_QUOTACTL "struct mount *mp" "int cmds" "uid_t uid" "caddr_t arg" "struct proc *p" +.Sh 解説 +ファイルシステムのクォータを実装します。 +引数についての解説は +.Xr quotactl 2 +を参照してください。 +.Sh 関連項目 +.Xr quotactl 2 , +.Xr vnode 9 +.Sh 作者 +このマニュアルページは +.An Doug Rabson +が書きました。 diff --git a/ja_JP.eucJP/man/man9/VFS_ROOT.9 b/ja_JP.eucJP/man/man9/VFS_ROOT.9 new file mode 100644 index 0000000000..366c37063d --- /dev/null +++ b/ja_JP.eucJP/man/man9/VFS_ROOT.9 @@ -0,0 +1,59 @@ +.\" -*- 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.5 1999/08/28 00:21:08 peter Exp $ +.\" +.Dd July 24, 1996 +.Os +.Dt VFS_ROOT 9 +.Sh 名称 +.Nm VFS_ROOT +.Nd ファイルシステムのルート vnode の取得 +.Sh 書式 +.Fd #include +.Fd #include +.Fd #include +.Ft int +.Fn VFS_ROOT "struct mount *mp" "struct vnode **vpp" +.Sh 解説 +ファイルシステムのルートディレクトリに対する、ロックされた vnode を返します。 +.Pp +引数は以下の通りです。 +.Bl -tag -width vpp +.It Ar mp +ファイルシステム。 +.It Ar vpp +ルート vnode の引数の戻り値。 +.El +.Sh 関連項目 +.Xr VFS 9 , +.Xr vnode 9 +.Sh 作者 +このマニュアルページは +.An Doug Rabson +が書きました。 diff --git a/ja_JP.eucJP/man/man9/VFS_START.9 b/ja_JP.eucJP/man/man9/VFS_START.9 new file mode 100644 index 0000000000..cf2d62bd63 --- /dev/null +++ b/ja_JP.eucJP/man/man9/VFS_START.9 @@ -0,0 +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_START.9,v 1.5 1999/08/28 00:21:09 peter Exp $ +.\" +.Dd July 24, 1996 +.Os +.Dt VFS_START 9 +.Sh 名称 +.Nm VFS_START +.Nd ファイルシステムを操作可能にする +.Sh 書式 +.Fd #include +.Fd #include +.Fd #include +.Ft int +.Fn VFS_START "struct mount *mp" "int flags" "struct proc *p" +.Sh 解説 +これは +.Xr VFS_MOUNT 9 +の後且つファイルシステムへの最初のアクセスの前に呼び出されます。 +引数は以下の通りです。 +.Bl -tag -width flags +.It Ar mp +ファイルシステム。 +.It Ar flags +?? +.It Ar p +ファイルシステムを起動しているプロセス。 +.El +.Sh 関連項目 +.Xr VFS 9 , +.Xr vnode 9 +.Sh 作者 +このマニュアルページは +.An Doug Rabson +が書きました。 diff --git a/ja_JP.eucJP/man/man9/VFS_STATFS.9 b/ja_JP.eucJP/man/man9/VFS_STATFS.9 new file mode 100644 index 0000000000..6384699f24 --- /dev/null +++ b/ja_JP.eucJP/man/man9/VFS_STATFS.9 @@ -0,0 +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_STATFS.9,v 1.5 1999/08/28 00:21:09 peter Exp $ +.\" +.Dd July 24, 1996 +.Os +.Dt VFS_STATFS 9 +.Sh 名称 +.Nm VFS_STATFS +.Nd ファイルシステムの状態の取得 +.Sh 書式 +.Fd #include +.Fd #include +.Fd #include +.Ft int +.Fn VFS_STATFS "struct mount *mp" "struct statfs *sbp" "struct proc *p" +.Sh 解説 +この呼び出しは、ファイルシステムについての様々な情報を返します。 +この情報には、推奨されている入出力サイズ、空き領域、空き inode 等があります。 +.Pp +引数は以下の通りです。 +.Bl -tag -width sbp +.It Ar mp +ファイルシステム。 +.It Ar sbp +ファイルシステムの状態のための戻り値。 +.It Ar p +ファイルシステムに問い合わせているプロセス。 +.El +.Sh 関連項目 +.Xr VFS 9 , +.Xr vnode 9 +.Sh 作者 +このマニュアルページは +.An Doug Rabson +が書きました。 diff --git a/ja_JP.eucJP/man/man9/VFS_SYNC.9 b/ja_JP.eucJP/man/man9/VFS_SYNC.9 new file mode 100644 index 0000000000..4d8fa64a16 --- /dev/null +++ b/ja_JP.eucJP/man/man9/VFS_SYNC.9 @@ -0,0 +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/VFS_SYNC.9,v 1.6 1999/08/28 00:21:09 peter Exp $ +.\" +.Dd July 24, 1996 +.Os +.Dt VFS_SYNC 9 +.Sh 名称 +.Nm VFS_SYNC +.Nd 未書き込みデータの吐き出し +.Sh 書式 +.Fd #include +.Fd #include +.Fd #include +.Ft int +.Fn VFS_SYNC "struct mount *mp" "int waitfor" "struct ucred *cred" "struct proc *p" +.Sh 解説 +これはファイルシステムの全ての未書き込みのデータを書き出します。 +.Pp +引数は以下の通りです。 +.Bl -tag -width waitfor +.It Ar mp +ファイルシステム。 +.It Ar waitfor +関数が入出力の完了まで待つべきかどうか。 +.It Ar cred +呼び出し元の証明。 +.It Ar p +呼び出しているプロセス。 +.El +.Pp +これは、通常、ファイルシステム中の全ての vnode のために +.Xr VOP_FSYNC 9 +を呼び出します。 +.Sh 関連項目 +.Xr fsync 2 , +.Xr sync 2 , +.Xr VFS 9 , +.Xr vnode 9 , +.Xr VOP_FSYNC 9 +.Sh 作者 +このマニュアルページは +.An Doug Rabson +が書きました。 diff --git a/ja_JP.eucJP/man/man9/VFS_UNMOUNT.9 b/ja_JP.eucJP/man/man9/VFS_UNMOUNT.9 new file mode 100644 index 0000000000..b73bc1e06b --- /dev/null +++ b/ja_JP.eucJP/man/man9/VFS_UNMOUNT.9 @@ -0,0 +1,65 @@ +.\" -*- 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_UNMOUNT.9,v 1.5 1999/08/28 00:21:10 peter Exp $ +.\" +.Dd July 24, 1996 +.Os +.Dt VFS_UNMOUNT 9 +.Sh 名称 +.Nm VFS_UNMOUNT +.Nd ファイルシステムのアンマウント +.Sh 書式 +.Fd #include +.Fd #include +.Fd #include +.Ft int +.Fn VFS_UNMOUNT "struct mount *mp" "int mntflags" "struct proc *p" +.Sh 解説 +ファイルシステムをアンマウントします。 +.Pp +引数は以下の通りです。 +.Bl -tag -width mntflags +.It Ar mp +ファイルシステム。 +.It Ar mntflags +いろいろなフラグ。 +.It Ar p +ファイルシステムをアンマウントしているプロセス。 +.El +.Pp +.Dv MNT_FORCE +フラグが指定された場合には、開いているファイルは強制的に閉じられるべきです。 +.Sh 関連項目 +.Xr vflush 9 , +.Xr VFS 9 , +.Xr vnode 9 +.Sh 作者 +このマニュアルページは +.An Doug Rabson +が書きました。 diff --git a/ja_JP.eucJP/man/man9/VFS_VGET.9 b/ja_JP.eucJP/man/man9/VFS_VGET.9 new file mode 100644 index 0000000000..c38ef7af5a --- /dev/null +++ b/ja_JP.eucJP/man/man9/VFS_VGET.9 @@ -0,0 +1,73 @@ +.\" -*- 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_VGET.9,v 1.5 1999/08/28 00:21:10 peter Exp $ +.\" +.Dd July 24, 1996 +.Os +.Dt VFS_VGET 9 +.Sh 名称 +.Nm VFS_VGET +.Nd inode 番号から vnode への変換 +.Sh 書式 +.Fd #include +.Fd #include +.Fd #include +.Ft int +.Fn VFS_VGET "struct mount *mp" "ino_t ino" "struct vnode **vpp" +.Sh 解説 +これは inode 番号を、ロックされた vnode へ変換します。 +.Pp +引数は以下の通りです。 +.Bl -tag -width ino +.It Ar mp +ファイルシステム。 +.It Ar ino +そのファイルを表現する inode。 +.It Ar vpp +vnode の戻り値。 +.El +.Pp +これは、ファイルシステム中の各ファイルに対して +一意の識別番号を持つファイルシステムのための、 +オプションのファイルシステムエントリポイントです。 +UFS ファイルシステムはこれを内部的に使用していますし、 +また NFSv3 サーバは +.Dv READDIRPLUS +NFS 呼び出しを実装するために使用しています。 +.Pp +ファイルシステムがこの呼び出しをサポートしていない場合には、 +.Dv EOPNOTSUPP +を返すべきです。 +.Sh 関連項目 +.Xr VFS 9 , +.Xr vnode 9 +.Sh 作者 +このマニュアルページは +.An Doug Rabson +が書きました。 diff --git a/ja_JP.eucJP/man/man9/VFS_VPTOFH.9 b/ja_JP.eucJP/man/man9/VFS_VPTOFH.9 new file mode 100644 index 0000000000..05fe1bd62f --- /dev/null +++ b/ja_JP.eucJP/man/man9/VFS_VPTOFH.9 @@ -0,0 +1,63 @@ +.\" -*- 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_VPTOFH.9,v 1.6 1999/08/28 00:21:11 peter Exp $ +.\" +.Dd July 24, 1996 +.Os +.Dt VFS_VPTOFH 9 +.Sh 名称 +.Nm VFS_VPTOFH +.Nd vnode から NFS ファイルハンドルへの変換 +.Sh 書式 +.Fd #include +.Fd #include +.Fd #include +.Ft int +.Fn VFS_VPTOFH "struct vnode *vp" "struct fid *fhp" +.Sh 解説 +これは NFS サーバが使用し、 +一意にファイルを識別する不透明なファイルハンドルを作成します。 +このファイルハンドルを使用することにより、 +将来 NFS クライアントがそのファイルをアクセス可能となります。 +.Pp +引数は以下の通りです。 +.Bl -tag -width fhp +.It Ar vp +ファイルハンドルを生成する対象の vnode。 +.It Ar fhp +ファイルハンドルの戻り値。 +.El +.Sh 関連項目 +.Xr VFS 9 , +.Xr VFS_FHTOVP 9 , +.Xr vnode 9 +.Sh 作者 +このマニュアルページは +.An Doug Rabson +が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_ACCESS.9 b/ja_JP.eucJP/man/man9/VOP_ACCESS.9 new file mode 100644 index 0000000000..d3e5674985 --- /dev/null +++ b/ja_JP.eucJP/man/man9/VOP_ACCESS.9 @@ -0,0 +1,149 @@ +.\" -*- 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_ACCESS.9,v 1.7.2.1 2000/05/09 14:12:53 sheldonh Exp % +.\" +.Dd July 24, 1996 +.Os +.Dt VOP_ACCESS 9 +.Sh 名称 +.Nm VOP_ACCESS +.Nd ファイルまたは UNIX ドメインソケットのアクセス許可の調査 +.Sh 書式 +.Fd #include +.Fd #include +.Ft int +.Fn VOP_ACCESS "struct vnode *vp" "int mode" "struct ucred *cred" "struct proc *p" +.Sh 解説 +このエントリポイントは、与えられた証明に対する、ファイルの +アクセス許可を調査します。 +.Pp +引数は以下の通りです。 +.Bl -tag -width mode +.It Ar vp +調査対象ファイルの vnode。 +.It Ar mode +要求されたアクセスのタイプ。 +.It Ar cred +調査対象のユーザ証明。 +.It Ar p +調査しているプロセス。 +.El +.Pp +.Fa mode +は +.Dv VREAD , +.Dv VWRITE +または +.Dv VEXEC +を含むマスクです。 +.Sh ロック +vnode は、入る時にロックされ、戻る時にもロックされ続けます。 +.Sh 戻り値 +ファイルが指定された方法でアクセス可能な場合には、0 が返されます。 +そうでない場合には、適切なエラーコードが返されます。 +.Sh 疑似コード +.Bd -literal +int +vop_access(struct vnode *vp, int mode, struct ucred *cred, struct proc *p) +{ + int error; + + /* + * ファイルがソケット、FIFO、またはファイルシステムに存在する + * ブロック型または文字型デバイスでない場合には、読み込み専用 + * ファイルシステムへの書き込みは認められません。 + */ + if (mode & VWRITE) { + switch (vp->v_type) { + case VDIR: + case VLNK: + case VREG: + if (vp->v_mount->mnt_flag & MNT_RDONLY) + return EROFS; + + break; + } + } + + /* 不変ビットが設定されていれば、誰も書き込めません。 */ + if ((mode & VWRITE) && vp has immutable bit set) + return EPERM; + + /* そうでなければ、uid が 0 ならば常に許可。 */ + if (cred->cr_uid == 0) + return 0; + + mask = 0; + + /* そうでなければ、所有者を調べます。 */ + if (cred->cr_uid == owner of vp) { + if (mode & VEXEC) + mask |= S_IXUSR; + if (mode & VREAD) + mask |= S_IRUSR; + if (mode & VWRITE) + mask |= S_IWUSR; + return (((mode of vp) & mask) == mask ? 0 : EACCES); + } + + /* そうでなければ、グループを調べます。 */ + for (i = 0, gp = cred->cr_groups; i < cred->cr_ngroups; i++, gp++) + if (group of vp == *gp) { + if (mode & VEXEC) + mask |= S_IXGRP; + if (mode & VREAD) + mask |= S_IRGRP; + if (mode & VWRITE) + mask |= S_IWGRP; + return (((mode of vp) & mask) == mask ? 0 : EACCES); + } + + /* そうでなければ、その他を調べます。 */ + if (mode & VEXEC) + mask |= S_IXOTH; + if (mode & VREAD) + mask |= S_IROTH; + if (mode & VWRITE) + mask |= S_IWOTH; + return (((mode of vp) & mask) == mask ? 0 : EACCES); +} +.Ed +.Sh エラー +.Bl -tag -width Er +.It Bq Er EPERM +不変ファイルを変更しようとしました。 +.It Bq Er EACCES +許可されません。 +.El +.Sh 関連項目 +.Xr vnode 9 +.Sh 作者 +このマニュアルページは +.An Doug Rabson +が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_ACLCHECK.9 b/ja_JP.eucJP/man/man9/VOP_ACLCHECK.9 new file mode 100644 index 0000000000..47cd56e908 --- /dev/null +++ b/ja_JP.eucJP/man/man9/VOP_ACLCHECK.9 @@ -0,0 +1,99 @@ +.\"- +.\" Copyright (c) 1999 Robert N. M. Watson +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" %FreeBSD: src/share/man/man9/VOP_ACLCHECK.9,v 1.1.2.1 2001/03/06 19:08:22 ru Exp % +.\" +.Dd December 23, 1999 +.Os +.Dt VOP_ACLCHECK 9 +.Sh 名称 +.Nm VOP_ACLCHECK +.Nd vnode のアクセス制御リストの調査 +.Sh 書式 +.Fd #include +.Fd #include +.Fd #include +.Ft int +.Fn VOP_ACLCHECK "struct vnode *vp" "acl_type_t type" "struct acl *aclp" "struct ucred *cred" "struct proc *p" +.Sh 解説 +この vnode 呼び出しは、特定のファイルまたはディレクトリに対する +特定のアクセス制御リスト (ACL) の妥当性を決定するために、使用可能です。 +.Pp +引数は以下の通りです。 +.Bl -tag -width type +.It Ar vp +ファイルまたはディレクトリの vnode。 +.It Ar type +調査対象の ACL の型。 +.It Ar aclp +ACL データの取り出し元の ACL 構造体を指しているポインタ。 +.It Ar cred +要求の認証のために使用されるユーザ証明。 +.It Ar p +ACL を調査しているプロセス。 +.El +.Pp +.Fa cred +ポインタは、NULL を渡すことができ、 +可能であるならばアクセス制御チェックが実行されないことを指示します。 +この cred の設定は、アクティブプロセスに許されていない ACL 証明を、 +カーネルが正当化することを認めるために使用可能です。 +.Pp +vnode ACL インタフェースは、ファイルまたはディレクトリの ACL インタフェースの +セマンティクスではなく文法を定義します。 +カーネル内の ACL 管理についての詳細な情報は +.Xr acl 9 +を参照してください。 +.Sh ロック +この vnode メソッドの呼び出しのためにロックは不要で、 +入る時に保持していた全てのロックは戻る時まで保持されます。 +.Sh 戻り値 +.Fa vp +オブジェクトのための +.Fa type +型の有効な ACL を +.Fa aclp +ポインタが指している場合には 0 が返されます。 +そうでない場合には適切なエラーコードが返されます。 +.Sh エラー +.Bl -tag -width Er +.It Bq Er EINVAL +渡された vnode の ACL 型が無効または ACL データが無効です。 +.It Bq Er EACCES +許可されませんでした。 +.It Bq Er ENOMEM +要求を実行するためのメモリが十分ではありません。 +.It Bq Er EOPNOTSUPP +ファイルシステムが VOP_ACLCHECK をサポートしていません。 +.El +.Sh 関連項目 +.Xr acl 9 , +.Xr vnode 9 , +.Xr VOP_GETACL 9 , +.Xr VOP_SETACL 9 +.Sh 作者 +このマニュアルページは +.An Robert Watson +が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_ADVLOCK.9 b/ja_JP.eucJP/man/man9/VOP_ADVLOCK.9 new file mode 100644 index 0000000000..9589484465 --- /dev/null +++ b/ja_JP.eucJP/man/man9/VOP_ADVLOCK.9 @@ -0,0 +1,85 @@ +.\" -*- 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_ADVLOCK.9,v 1.6 1999/08/28 00:21:11 peter Exp % +.\" +.Dd June 30, 1999 +.Os +.Dt VOP_ADVLOCK 9 +.Sh 名称 +.Nm VOP_ADVLOCK +.Nd 問合せ型レコードロック +.Sh 書式 +.Fd #include +.Fd #include +.Fd #include +.Fd #include +.Ft int +.Fn VOP_ADVLOCK "struct vnode *vp" "caddr_t id" "int op" "struct flock *fl" "int flags" +.Sh 解説 +.Pp +引数は以下の通りです。 +.Bl -tag -width flags +.It Ar vp +操作されている vnode。 +.It Ar id +ロックを変更している識別トークン。 +.It Ar op +実行するべき操作 ( +.Xr fcntl 2 +を参照してください)。 +.It Ar fl +ロックの記述。 +.It Ar flags +以下の値のひとつ以上。 +.Bl -column F_UNLCK -offset indent +.It Dv F_RDLCK Ta 共有または読み込みロック +.It Dv F_UNLCK Ta ロック解除 +.It Dv F_WRLCK Ta 排他的または書き込みロック +.It Dv F_WAIT Ta ロックが承認されるまで待機 +.It Dv F_FLOCK Ta ロックのために +.Xr flock 2 +のセマンティクス使用 +.It Dv F_POSIX Ta ロックのために POSIX のセマンティクスを使用 +.El +.El +.Pp +このエントリポイントは、ファイルの問合せ型レコードロックを操作します。 +ほとんどのファイルシステムは、この呼び出しのための作業を +.Fn lf_advlock +に委任します。 +.Sh 戻り値 +成功時には 0 が返され、そうでない場合にはエラーが返されます。 +.Sh 関連項目 +.Xr fcntl 2 , +.Xr flock 2 , +.Xr vnode 9 +.Sh 作者 +このマニュアルページは +.An Doug Rabson +が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_ATTRIB.9 b/ja_JP.eucJP/man/man9/VOP_ATTRIB.9 new file mode 100644 index 0000000000..1059252802 --- /dev/null +++ b/ja_JP.eucJP/man/man9/VOP_ATTRIB.9 @@ -0,0 +1,159 @@ +.\" -*- 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_ATTRIB.9,v 1.9.2.1 2000/03/16 22:43:43 chris Exp % +.\" +.Dd July 24, 1996 +.Os +.Dt VOP_ATTRIB 9 +.Sh 名称 +.Nm VOP_GETATTR , +.Nm VOP_SETATTR +.Nd ファイルまたはディレクトリの属性の取得または設定 +.Sh 書式 +.Fd #include +.Fd #include +.Ft int +.Fn VOP_GETATTR "struct vnode *vp" "struct vattr *vap" "struct ucred *cred" "struct proc *p" +.Ft int +.Fn VOP_SETATTR "struct vnode *vp" "struct vattr *vap" "struct ucred *cred" "struct proc *p" +.Sh 解説 +これらのエントリポイントは、 +ファイルまたはディレクトリの様々な属性を操作します。 +操作対象には、ファイルパーミッション、所有者、グループ、 +大きさ、アクセス時刻、更新時刻を含みます。 +.Pp +引数は以下の通りです。 +.Bl -tag -width cred +.It Ar vp +ファイルの vnode。 +.It Ar vap +ファイルの属性。 +.It Ar cred +呼び出したプロセスのユーザ証明。 +.It Ar p +プロセス。 +.El +.Pp +.Xr VOP_SETATTR 9 +によって更新されようとしていない属性は +.Dv VNOVAL +が設定されているべきです。 +.Sh ロック +.Xr VOP_GETATTR 9 +は、入る時に vnode がロックされていて、戻り時まで vnode がロックされたままで +あることを期待します。 +.Pp +.Xr VOP_SETATTR 9 +は、入る時に vnode がロックされていて、戻り時まで vnode がロックされたままで +あることを期待します。 +.Sh 戻り値 +.Xr VOP_GETATTR 9 +は +.Fa *vap +にファイルの情報を返します。 +.Xr VOP_SETATTR 9 +は属性がうまく変更された場合には 0 を返し、 +そうでない場合には適切なエラーコードが返されます。 +.Sh 疑似コード +.Bd -literal +int +vop_getattr(struct vnode *vp, struct vattr *vap, + struct ucred *cred, struct proc *p) +{ + /* + * *vap をファイルシステムからの情報で埋めます。 + */ + ...; + + return 0; +} + +int +vop_setattr(struct vnode *vp, struct vattr *vap, + struct ucred *cred, struct proc *p) +{ + /* + * 設定できない属性をチェックします。 + */ + if ((vap->va_type != VNON) || (vap->va_nlink != VNOVAL) || + (vap->va_fsid != VNOVAL) || (vap->va_fileid != VNOVAL) || + (vap->va_blocksize != VNOVAL) || (vap->va_rdev != VNOVAL) || + ((int)vap->va_bytes != VNOVAL) || (vap->va_gen != VNOVAL)) { + return (EINVAL); + } + + if (vap->va_flags != VNOVAL) { + /* + * ファイルの変更不能と追加フラグを設定します。 + */ + } + + if (vap->va_uid != (uid_t)VNOVAL || vap->va_gid != (gid_t)VNOVAL) { + /* + * ファイルの所有者および/またはグループを変更します。 + */ + } + + if (vap->va_size != VNOVAL) { + /* + * ファイルを指定された大きさに切り詰めます。 + */ + } + + if (vap->va_atime.tv_sec != VNOVAL || vap->va_mtime.tv_sec != VNOVAL) { + /* + * ファイルのアクセスおよび/または更新時刻を変更します。 + */ + } + + if (vap->va_mode != (mode_t)VNOVAL) { + /* + * ファイルのパーミッションを変更します。 + */ + } + + return 0; +} +.Ed +.Sh エラー +.Bl -tag -width Er +.It Bq Er EPERM +ファイルは変更不可能です。 +.It Bq Er EACCES +許可されませんでした。 +.It Bq Er EROFS +ファイルシステムが読み込み専用です。 +.El +.Sh 関連項目 +.Xr vnode 9 , +.Xr VOP_ACCESS 9 +.Sh AUTHORS +このマニュアルページは +.An Doug Rabson +が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_BWRITE.9 b/ja_JP.eucJP/man/man9/VOP_BWRITE.9 new file mode 100644 index 0000000000..04e9fc9201 --- /dev/null +++ b/ja_JP.eucJP/man/man9/VOP_BWRITE.9 @@ -0,0 +1,58 @@ +.\" -*- 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_BWRITE.9,v 1.5.2.1 2000/12/29 10:18:07 ru Exp % +.\" +.Dd July 24, 1996 +.Os +.Dt VOP_BWRITE 9 +.Sh 名称 +.Nm VOP_BWRITE +.Nd ファイルシステムバッファの書き込み +.Sh 書式 +.Fd #include +.Fd #include +.Ft int +.Fn VOP_BWRITE "struct vnode *vp" "struct buf *bp" +.Sh 解説 +.Pp +引数は以下の通りです。 +.Bl -tag -width 2n +.It Ar vp +書き込まれているファイルの vnode。 +.It Ar bp +書き込まれるべきバッファ。 +.El +.Sh 戻り値 +成功時には 0 が返され、そうでない場合にはエラーが返されます。 +.Sh 関連項目 +.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 new file mode 100644 index 0000000000..a49f3d33ab --- /dev/null +++ b/ja_JP.eucJP/man/man9/VOP_CREATE.9 @@ -0,0 +1,188 @@ +.\" -*- 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.9 1999/11/13 21:00:26 eivind Exp % +.\" +.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 書式 +.Fd #include +.Fd #include +.Fd #include +.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 Ar dvp +ディレクトリのロックされた vnode。 +.It Ar vpp +作成結果のロックされた vnode が格納されるべき、変数のアドレス。 +.It Ar cnp +生成された要素のパス名。 +.It Ar vap +新しいオブジェクトの作成時に使用されるべき属性。 +.It Ar 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); + 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 +クォータを超過しました。 +.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_FSYNC.9 b/ja_JP.eucJP/man/man9/VOP_FSYNC.9 new file mode 100644 index 0000000000..6134c8c5ba --- /dev/null +++ b/ja_JP.eucJP/man/man9/VOP_FSYNC.9 @@ -0,0 +1,140 @@ +.\" -*- 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_FSYNC.9,v 1.6 1999/08/28 00:21:12 peter Exp % +.\" +.Dd July 24, 1996 +.Os +.Dt VOP_FSYNC 9 +.Sh 名称 +.Nm VOP_FSYNC +.Nd ファイルシステムバッファのファイルへの吐き出し +.Sh 書式 +.Fd #include +.Fd #include +.Ft int +.Fn VOP_FSYNC "struct vnode *vp" "struct ucred *cred" "int waitfor" "struct proc *p" +.Sh 解説 +この呼び出しはファイルの全ての汚れたバッファを吐き出します。 +.Xr sync 2 +および +.Xr fsync 2 +システムコールを実装するために使用されます。 +.Pp +引数は以下の通りです。 +.Bl -tag -width waitfor +.It Ar vp +ファイルの vnode。 +.It Ar cred +呼び出し側の証明。 +.It Ar waitfor +入出力の完了を関数が待つべきかどうか。 +.It Ar p +呼び出しているプロセス。 +.El +.Pp +引数 +.Fa waitfor +は +.Dv MNT_WAIT +または +.Dv MNT_NOWAIT +のどちらかで、関数が戻る前に書き込みの終了を待つべきかどうかを指定します。 +.Sh ロック +ファイルはエントリ時にロックされるべきです。 +.Sh 戻り値 +呼び出しが成功した場合には 0 が返され、 +そうでない場合には適切なエラーコードが返されます。 +.Sh 疑似コード +.Bd -literal +int +vop_fsync(struct vnode *vp, struct ucred *cred, int waitfor, struct proc *p) +{ + struct buf *bp; + struct buf *nbp; + struct timeval tv; + int s; + +loop: + s = splbio(); + for (bp = vp->v_dirtyblkhd.lh_first; bp; bp = nbp) { + nbp = bp->b_vnbufs.le_next; + + /* + * 既に書き込み中のバッファを無視します。 + */ + if (bp->b_flags & B_BUSY) + continue; + + /* + * バッファが汚れているか確認します。 + */ + if ((bp->b_flags & B_DELWRI) == 0) + panic("vop_fsync: not dirty"); + + vfs_bio_awrite(bp); + splx(s); + goto loop; + } + splx(s); + + if (waitfor == MNT_WAIT) { + s = splbio(); + while (vp->v_numoutput) { + vp->v_flag |= VBWAIT; + tsleep((caddr_t)&vp->v_numoutput, PRIBIO + 1, "vopfsn"); + } + splx(s); +#ifdef DIAGNOSTIC + if (vp->v_dirtyblkhd.lh_first) { + vprint("vop_fsync: dirty", vp); + goto loop; + } +#endif + } + + /* + * ディスク上の vnode を書き出します。 + */ + tv = time; + return VOP_UPDATE(vp, &tv, &tv, waitfor == MNT_WAIT); +} +.Ed +.Sh エラー +.Bl -tag -width Er +.It Bq Er ENOSPC +ファイルシステムが一杯です。 +.It Bq Er EDQUOT +クォータを超過しました。 +.El +.Sh 関連項目 +.Xr vnode 9 +.Sh 作者 +このマニュアルページは +.An Doug Rabson +が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_GETACL.9 b/ja_JP.eucJP/man/man9/VOP_GETACL.9 new file mode 100644 index 0000000000..00507d0db2 --- /dev/null +++ b/ja_JP.eucJP/man/man9/VOP_GETACL.9 @@ -0,0 +1,96 @@ +.\"- +.\" Copyright (c) 1999 Robert N. M. Watson +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" %FreeBSD: src/share/man/man9/VOP_GETACL.9,v 1.1 2000/01/05 04:59:01 rwatson Exp % +.\" +.Dd December 23, 1999 +.Os +.Dt VOP_GETACL 9 +.Sh 名称 +.Nm VOP_GETACL +.Nd vnode のアクセス制御リストの取り出し +.Sh 書式 +.Fd #include +.Fd #include +.Fd #include +.Ft int +.Fn VOP_GETACL "struct vnode *vp" "acl_type_t type" "struct acl *aclp" "struct ucred *cred" "struct proc *p" +.Sh 解説 +この vnode 呼び出しは、 +ファイルまたはディレクトリからアクセス制御リスト (ACL) を +取り出すために使用可能です。 +.Pp +引数は以下の通りです。 +.Bl -tag -width type +.It Ar vp +ファイルまたはディレクトリの vnode。 +.It Ar type +取り出す ACL の型。 +.It Ar aclp +ACL データを受け取る ACL 構造体へのポインタ。 +.It Ar cred +要求の認証で使用されるユーザ証明。 +.It Ar p +ACL を要求しているプロセス。 +.El +.Pp +.Fa cred +ポインタは、NULL を渡すことができ、 +可能であるならばアクセス制御チェックが実行されないことを指示します。 +この cred の設定は、アクティブプロセスに許されていない ACL の取り出しを、 +カーネルが正当化することを認めるために使用可能です。 +.Pp +vnode ACL インタフェースはファイルまたはディレクトリの ACL インタフェースの +セマンティクスではなく文法を定義します。 +カーネル内の ACL 管理についての詳細な情報は +.Xr acl 9 +を参照してください。 +.Sh ロック +この vnode メソッドの呼び出しのためにロックは不要で、 +入る時に保持していた全てのロックは戻る時まで保持されます。 +.Sh 戻り値 +.Fa aclp +ポインタが有効な ACL を指している場合には、0 が返されます。 +そうでない場合には適切なエラーコードが返されます。 +.Sh エラー +.Bl -tag -width Er +.It Bq Er EINVAL +渡された ACL 型はこの vnode には無効です。 +.It Bq Er EACCES +許可されませんでした。 +.It Bq Er ENOMEM +要求を処理するために利用可能なメモリが足りません。 +.It Bq Er EOPNOTSUPP +ファイルシステムは VOP_GETACL をサポートしていません。 +.El +.Sh 関連項目 +.Xr acl 9 , +.Xr vnode 9 , +.Xr VOP_ACLCHECK 9 , +.Xr VOP_SETACL 9 +.Sh 作者 +このマニュアルページは +.An Robert Watson +が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_GETEXTATTR.9 b/ja_JP.eucJP/man/man9/VOP_GETEXTATTR.9 new file mode 100644 index 0000000000..736cb2d92d --- /dev/null +++ b/ja_JP.eucJP/man/man9/VOP_GETEXTATTR.9 @@ -0,0 +1,97 @@ +.\"- +.\" Copyright (c) 1999 Robert N. M. Watson +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" %FreeBSD: src/share/man/man9/VOP_GETEXTATTR.9,v 1.1 2000/01/05 04:59:01 rwatson Exp % +.\" +.Dd December 23, 1999 +.Os +.Dt VOP_GETEXTATTR 9 +.Sh 名称 +.Nm VOP_GETEXTATTR +.Nd vnode からの名前付き拡張属性の取り出し +.Sh 書式 +.Fd #include +.Fd #include +.Fd #include +.Ft int +.Fn VOP_GETEXTATTR "struct vnode *vp" "char *name" "struct uio *uio" "struct ucred *cred" "struct proc *p" +.Sh 解説 +この vnode 呼び出しは、ファイルまたはディレクトリから、 +指定した名前付き拡張属性を取り出すために使用することができます。 +.Pp +引数は以下の通りです。 +.Bl -tag -width type +.It Ar vp +ファイルまたはディレクトリの vnode。 +.It Ar name +属性名が入った null で終端された文字列へのポインタ。 +.It Ar uio +読み込むまたは書き込むべきデータの位置。 +.It Ar cred +要求の認証で使用するためのユーザ証明。 +.It Ar p +拡張属性を要求しているプロセス。 +.El +.Pp +.Fa cred +ポインタは、NULL を渡すことができ、 +可能であるならばアクセス制御チェックが実行されないことを指示します。 +この cred の設定は、アクティブプロセスに許されていない拡張属性の取り出しを +カーネルが正当化することを認めるために使用可能です。 +.Pp +拡張属性のセマンティクスはファイルシステムの呼び出しの実装によって +異なるでしょう。拡張属性のより多くの情報は +.Xr extattr 9 +を参照してください。 +.Sh LOCKS +この vnode メソッドを呼び出すためにはロックは不要であり、 +入る時に保持していた全てのロックは戻り時まで保持されます。 +.Sh 戻り値 +成功時には 0 が返され、読み込んだデータを反映して uio 構造体が更新されます。 +そうでなければ適切なエラーコードが返されます。 +.Sh エラー +.Bl -tag -width Er +.It Bq Er ENOENT +この vnode のための属性名が定義されていません。 +.It Bq Er EACCES +許可されませんでした。 +.It Bq Er ENXIO +指定された vnode および属性名に対する要求は、このファイルシステムでは無効です。 +.It Bq Er ENOMEM +要求を実行するための十分なメモリがありません。 +.It Bq Er EFAULT +uio 構造体が無効なユーザ空間アドレスを参照しています。 +.It Bq Er EINVAL +.Fa name +または +.Fa uio +引数が無効です。 +.It Bq Er EOPNOTSUPP +ファイルシステムが VOP_GETEXTATTR をサポートしていません。 +.El +.Sh 関連項目 +.Xr extattr 9 , +.Xr vnode 9 , +.Xr VOP_SETEXTATTR 9 diff --git a/ja_JP.eucJP/man/man9/VOP_GETPAGES.9 b/ja_JP.eucJP/man/man9/VOP_GETPAGES.9 new file mode 100644 index 0000000000..ea009424d1 --- /dev/null +++ b/ja_JP.eucJP/man/man9/VOP_GETPAGES.9 @@ -0,0 +1,74 @@ +.\" -*- 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_GETPAGES.9,v 1.4 1999/08/28 00:21:12 peter Exp % +.\" +.Dd July 24, 1996 +.Os +.Dt VOP_GETPAGES 9 +.Sh 名称 +.Nm VOP_GETPAGES , +.Nm VOP_PUTPAGES +.Nd ファイルから VM ページへの読み込みまたは書き込み +.Sh 書式 +.Fd #include +.Fd #include +.Fd #include +.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 解説 +.Pp +引数は以下の通りです。 +.Bl -tag -width reqpage +.It Ar vp +アクセスするファイル。 +.It Ar m +ページ ???。 +.It Ar count +アクセスするページ数。 +.It Ar sync +書き込みが同期するべきである場合には 0 でない値。 +.It Ar rtvals +???。 +.It Ar reqpage +???。 +.It Ar offset +アクセスを開始するファイルの中のオフセット。 +.El +.Pp +この引数については完全に確かではありません。 +.Sh 戻り値 +成功時には 0 が返され、そうでない場合にはエラーが返されます。 +.Sh 関連項目 +.Xr vnode 9 +.Sh 作者 +このマニュアルページは +.An Doug Rabson +が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_INACTIVE.9 b/ja_JP.eucJP/man/man9/VOP_INACTIVE.9 new file mode 100644 index 0000000000..afd942c4cb --- /dev/null +++ b/ja_JP.eucJP/man/man9/VOP_INACTIVE.9 @@ -0,0 +1,108 @@ +.\" -*- 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_INACTIVE.9,v 1.5 1999/09/24 07:07:02 dillon Exp % +.\" +.Dd July 24, 1996 +.Os +.Dt VOP_INACTIVE 9 +.Sh 名称 +.Nm VOP_INACTIVE , +.Nm VOP_RECLAIM +.Nd vnode のためのファイルシステム資源の回収 +.Sh 書式 +.Fd #include +.Fd #include +.Ft int +.Fn VOP_INACTIVE "struct vnode *vp" "struct proc *p" +.Ft int +.Fn VOP_RECLAIM "struct vnode *vp" "struct proc *p" +.Sh 解説 +.Pp +引数は以下の通りです。 +.Bl -tag -width vpX +.It Ar vp +回収されている vnode。 +.El +.Pp +.Xr VOP_INACTIVE 9 +は、カーネルがもはやその vnode を使用しなくなった時に呼び出されます。 +これは、参照カウントが 0 になった時、 +またはオープンされているファイルがあるファイルシステムが +強制的にアンマウントされた時に起こります。 +「オープンされているが削除された」ファイルのための領域を回収するために、 +使用可能です。 +.Xr VOP_RECLAIM 9 +は、異なるファイルシステムのために vnode が再利用される時に呼び出されます。 +vnode に関連しているあらゆるファイルシステム固有の資源は、開放されるべきです。 +.Sh ロック +.Pp +VOP_INACTIVE では、入る時に vp がロックされます。 +VOP_INACTIVE コードは、戻る前に vp をアンロックしなければなりません。 +.Pp +VOP_RECLAIM では、入る時に vp はロックされず、 +戻り時もロックされないままでいるべきです。 +.Pp +.Sh 疑似コード +.Bd -literal +int +vop_inactive(struct vnode *vp) +{ + if (link count of vp == 0) { + /* + * vp のためのファイルシステム内の領域を回収します。 + */ + ...; + } + VOP_UNLOCK(vp, 0, p); + + return 0; +} + +int +vop_reclaim(struct vnode *vp) +{ + /* + * 名前キャッシュを一掃します。 + */ + cache_purge(vp); + + /* + * ファイルシステムに関連したデータを開放します。 + */ + ...; + + return 0; +} +.Ed +.Sh 関連項目 +.Xr vnode 9 +.Sh 作者 +このマニュアルページは +.An Doug Rabson +が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_IOCTL.9 b/ja_JP.eucJP/man/man9/VOP_IOCTL.9 new file mode 100644 index 0000000000..49c5caf432 --- /dev/null +++ b/ja_JP.eucJP/man/man9/VOP_IOCTL.9 @@ -0,0 +1,80 @@ +.\" -*- 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_IOCTL.9,v 1.5 1999/08/28 00:21:13 peter Exp % +.\" +.Dd July 24, 1996 +.Os +.Dt VOP_IOCTL 9 +.Sh 名称 +.Nm VOP_IOCTL +.Nd デバイス固有の制御 +.Sh 書式 +.Fd #include +.Fd #include +.Ft int +.Fn VOP_IOCTL "struct vnode *vp" "u_long command" "caddr_t data" "int fflag" "struct ucred *cred" "struct proc *p" +.Sh 解説 +デバイス依存の方法でのファイルを操作します。 +.Pp +引数は以下の通りです。 +.Bl -tag -width command +.It Ar vp +ファイル (通常はデバイスを表現する) の vnode。 +.It Ar command +実行すべきデバイス固有の操作。 +.It Ar cnp +指定された操作のための拡張データ。 +.It Ar fflag +幾つかのフラグ ??? +.It Ar cred +呼び出し側の証明。 +.It Ar p +呼び出したプロセス。 +.El +.Pp +ほとんどのファイルシステムはこのエントリポイントを実装しません。 +.Sh ロック +入る時、ファイルはロックされているべきではありません。 +.Sh 戻り値 +成功時には 0 が返され、そうでない場合には適切なエラーが返されます。 +.Sh 疑似コード +.Bd -literal +int +vop_ioctl(struct vnode *vp, int command, caddr_t data, int fflag, + struct ucred *cred, struct proc *p) +{ + return EOPNOTSUPP; +} +.Ed +.Sh 関連項目 +.Xr vnode 9 +.Sh 作者 +このマニュアルページは +.An Doug Rabson +が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_LEASE.9 b/ja_JP.eucJP/man/man9/VOP_LEASE.9 new file mode 100644 index 0000000000..20a3dcc2cf --- /dev/null +++ b/ja_JP.eucJP/man/man9/VOP_LEASE.9 @@ -0,0 +1,61 @@ +.\" -*- 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_LEASE.9,v 1.2.2.2 2000/12/12 10:00:56 ru Exp % +.\" +.Dd September 24, 1999 +.Os +.Dt VOP_LEASE 9 +.Sh 名称 +.Nm VOP_LEASE +.Nd ユーザ証明と操作のタイプの特有の組に対する vnode の正当性の確認 +.Sh 書式 +.Fd #include +.Fd #include +.Ft int +.Fn VOP_LEASE "struct vnode *vp" "struct proc *p" "struct ucred *cred" "int type" +.Sh 解説 +このエントリポイントは、現在実装されていません。 +この着想は、ユーザ証明と操作の型の特有の組のための vnode を確認するための +ものだと信じています。 +サポートされている、2 つの操作の型は LEASE_READ および LEASE_WRITE です。 +現在、関数は常に 0 を返します。 +.Pp +.Sh ロック +入る時、vnode は排他的にロックされていなければならず、 +戻り時まで排他的にロックされ続けているべきです。 +.Sh 戻り値 +成功時には、0 が返されます。そうでない場合にも、うーん... 0 が返されます。 +.\" .Sh エラー +.Sh 関連項目 +.Xr VOP_READ 9 , +.Xr VOP_WRITE 9 +.Sh 作者 +このマニュアルページは +.An Matt Dillon +が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_LINK.9 b/ja_JP.eucJP/man/man9/VOP_LINK.9 new file mode 100644 index 0000000000..8facb50c37 --- /dev/null +++ b/ja_JP.eucJP/man/man9/VOP_LINK.9 @@ -0,0 +1,137 @@ +.\" -*- 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.9 1999/09/24 17:11:02 dillon Exp % +.\" +.Dd July 24, 1996 +.Os +.Dt VOP_LINK 9 +.Sh 名称 +.Nm VOP_LINK +.Nd ファイルの新しい名前の作成 +.Sh 書式 +.Fd #include +.Fd #include +.Ft int +.Fn VOP_LINK "struct vnode *dvp" "struct vnode *vp" "struct componentname *cnp" +.Sh 解説 +これは、既存のファイルに対し、 +指定したディレクトリ中の新しい名前をリンクします。 +.Pp +引数は以下の通りです。 +.Bl -tag -width vdpX +.It Ar dvp +ディレクトリの vnode。 +.It Ar vp +リンクされるファイルの vnode。 +.It Ar cnp +ファイルについてのパス名情報。 +.El +.Pp +パス名情報は、戻り時に開放されなければなりません。 +ディレクトリとファイルの vnode は戻り時に開放されるべきではありません。 +.Sh ロック +ディレクトリ +.Fa dvp +は、入る時にロックされていて、戻り時もロックされ続けているべきです。 +ファイル +.Fa vp +は、入る時にロックされておらず、戻り時もそのままであるべきです。 +VOP コードが +.Fa vp +をロックする場合には、戻る前に必ずロックを解除しなければなりません。 +.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) { + VOP_ABORTOP(dvp, cnp); + error = EXDEV; + goto out2; + } + if (vp != dvp && (error = VOP_LOCK(vp))) { + VOP_ABORTOP(dvp, cnp); + goto out2; + } + + /* + * 今、vp をロックしたので、out2 の代わりに out1 を使用 + * しなければなりません。 + */ + + if (vp would have too many links) { + VOP_ABORTOP(dvp, cnp); + error = EMLINK; + goto out1; + } + + if (vp is immutable) { + VOP_ABORTOP(dvp, cnp); + error = EPERM; + goto out1; + } + + /* + * vp のリンクカウントをインクリメントし、ディスクに書き戻します。 + */ + ...; + + if (!error) { + /* + * ディレクトリの新しい名前を追加します。 + */ + ...; + } + + free(cnp->cn_pnbuf, M_NAMEI); +out1: + if (vp != dvp) + VOP_UNLOCK(vp); +out2: + + return error; +} +.Ed +.Sh エラー +.Bl -tag -width Er +.It Bq Er EPERM +ファィルが変更不可能です。 +.El +.Sh 関連項目 +.Xr vnode 9 , +.Xr vn_lock 9 +.Sh 作者 +このマニュアルページは +.An Doug Rabson +が初めて書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_LOCK.9 b/ja_JP.eucJP/man/man9/VOP_LOCK.9 new file mode 100644 index 0000000000..c635818fe9 --- /dev/null +++ b/ja_JP.eucJP/man/man9/VOP_LOCK.9 @@ -0,0 +1,177 @@ +.\" -*- 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_LOCK.9,v 1.8 1999/12/23 17:28:46 bde Exp % +.\" +.Dd July 24, 1996 +.Os +.Dt VOP_LOCK 9 +.Sh 名称 +.Nm VOP_LOCK , +.Nm VOP_UNLOCK , +.Nm VOP_ISLOCKED , +.Nm vn_lock +.Nd vnode アクセスの直列化 +.Sh 書式 +.Fd #include +.Fd #include +.Fd #include +.Ft int +.Fn VOP_LOCK "struct vnode *vp" "int flags" "struct proc *p" +.Ft int +.Fn VOP_UNLOCK "struct vnode *vp" "int flags" "struct proc *p" +.Ft int +.Fn VOP_ISLOCKED "struct vnode *vp" "struct proc *p" +.Ft int +.Fn vn_lock "struct vnode *vp" "int flags" "struct proc *p" +.Sh 解説 +.Pp +これらの呼び出しは、 +ファイルシステムへのアクセスを直列化するために使用されます。 +例えば、同一ファイルに対する 2 つの書き込みが同時に発生することを +避けるために使用します。 +.Pp +引数は以下の通りです。 +.Bl -tag -width flags +.It Ar vp +ロックまたはロック解除される vnode。 +.It Ar flags +以下のロック要求タイプのひとつ。 +.Bl -column LK_EXCLUPGRADE -offset indent +.It Dv LK_SHARED Ta 共有ロック +.It Dv LK_EXCLUSIVE Ta 排他的ロック +.It Dv LK_UPGRADE Ta 共有から排他的へのアップグレード +.It Dv LK_EXCLUPGRADE Ta 最初の共有から排他的へのアップグレード +.It Dv LK_DOWNGRADE Ta 排他的から共有へのダウングレード +.It Dv LK_RELEASE Ta 全てのロックタイプの解除 +.It Dv LK_DRAIN Ta ロック状態終了までの待機 +.El +.Pp +ロックタイプは、以下のロックフラグと +.Em OR +されているかもしれません。 +.Bl -column LK_CANRECURSE -offset indent +.It Dv LK_NOWAIT Ta ロックを待つために sleep しない +.It Dv LK_SLEEPFAIL Ta sleep して、失敗を返す +.It Dv LK_CANRECURSE Ta 再帰的排他的ロックを認める +.It Dv LK_REENABLE Ta ロック消失後再有効化されるべき +.It Dv LK_NOPAUSE Ta 空回りしない +.El +.Pp +ロックタイプは、以下の制御フラグと +.Em OR +されているかもしれません。 +.Bl -column LK_INTERLOCK -offset indent +.It Dv LK_INTERLOCK Ta 呼び出し側が既に簡易ロックを保持している時に指定 +(VOP_LOCK はロックを取得した後で簡易ロックを解除します) +.It Dv LK_RETRY Ta ロックされるまでリトライ +.It Dv LK_NOOBJ Ta オブジェクトを作成しない +.El +.It Ar p +ロックを使用するためのプロセスコンテクスト。 +.El +.Pp +カーネルコードは vnode をロックするために +.Fn VOP_LOCK +を直接呼び出さずに、 +.Fn vn_lock +を使用するべきです。 +.Sh 戻り値 +成功時には 0 が返され、そうでない場合にはエラーが返されます。 +.Sh 疑似コード +.Bd -literal +struct vopnode { + int von_flag; + /* + * 他のファイルシステム固有データ + */ + ...; +}; +#define VON_LOCKED 1 +#define VON_WANTED 2 +#define VTOVON(vp) ((struct vopnode *) (vp)->v_data) + +int +vop_lock(struct vnode *vp) +{ + struct vopnode* vop; + +start: + while (vp->v_flag & VXLOCK) { + vp->v_flag |= VXWANT; + tsleep((caddr_t)vp, PINOD, "voplk1", 0); + } + if (vp->v_tag == VT_NON) + return ENOENT; + + vop = VTOVON(vp); + if (vop->von_flag & VON_LOCKED) { + vop->von_flag |= VON_WANTED; + tsleep((caddr_t) vop, PINOD, "voplk2", 0); + goto start; + } + + vop->von_flag |= VON_LOCKED; + + return 0; +} + +int +vop_unlock(struct vnode *vp) +{ + struct vopnode *vop = VTOVON(vp); + + if ((vop->von_flag & VON_LOCKED) == 0) { + panic("vop_unlock not locked"); + } + vop->von_flag &= ~VON_LOCKED; + if (vop->von_flag & VON_WANTED) { + vop->von_flag &= ~VON_WANTED; + wakeup((caddr_t) vop); + } + + return 0; +} + +int +vop_islocked(struct vnode *vp) +{ + struct vopnode *vop = VTOVON(vp); + + if (vop->von_flag & VON_LOCKED) + return 1; + else + return 0; +} +.Ed +.Sh 関連項目 +.Xr vnode 9 +.Sh 作者 +このマニュアルページは +.An Doug Rabson +が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_MMAP.9 b/ja_JP.eucJP/man/man9/VOP_MMAP.9 new file mode 100644 index 0000000000..4ac83a6311 --- /dev/null +++ b/ja_JP.eucJP/man/man9/VOP_MMAP.9 @@ -0,0 +1,72 @@ +.\" -*- 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_MMAP.9,v 1.4 1999/08/28 00:21:14 peter Exp % +.\" +.Dd July 24, 1996 +.Os +.Dt VOP_MMAP 9 +.Sh 名称 +.Nm VOP_MMAP +.Nd ファイルをメモリにマップする +.Sh 書式 +.Fd #include +.Fd #include +.Ft int +.Fn VOP_MMAP "struct vnode *vp" "int fflags" "struct ucred *cred" "struct proc *p" +.Sh 解説 +VM システムを使用してファイルの内容をメモリにマップします。 +.Pp +引数は以下の通りです。 +.Bl -tag -width fflags +.It Ar vp +ファイルの vnode。 +.It Ar fflags +幾つかのフラグ ??? +.It Ar cred +呼び出し側の証明。 +.It Ar p +呼び出したプロセス。 +.El +.Pp +ほとんどのファイルシステムは、このエントリポイントを実装していません。 +.Sh 疑似コード +.Bd -literal +int +vop_mmap(struct vnode *vp, int fflags, + struct ucred *cred, struct proc *p) +{ + return EINVAL; +} +.Ed +.Sh 関連項目 +.Xr vnode 9 +.Sh 作者 +このマニュアルページは +.An Doug Rabson +が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_OPENCLOSE.9 b/ja_JP.eucJP/man/man9/VOP_OPENCLOSE.9 new file mode 100644 index 0000000000..51cbfafb17 --- /dev/null +++ b/ja_JP.eucJP/man/man9/VOP_OPENCLOSE.9 @@ -0,0 +1,101 @@ +.\" -*- 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.6 1999/09/24 10:42:45 dillon Exp % +.\" +.Dd July 24, 1996 +.Os +.Dt VOP_OPEN 9 +.Sh 名称 +.Nm VOP_OPEN , +.Nm VOP_CLOSE +.Nd ファイルのオープンまたはクローズ +.Sh 書式 +.Fd #include +.Fd #include +.Ft int +.Fn VOP_OPEN "struct vnode *vp" "int mode" "struct ucred *cred" "struct proc *p" +.Ft int +.Fn VOP_CLOSE "struct vnode *vp" "int mode" "struct ucred *cred" "struct proc *p" +.Sh 解説 +.Xr VOP_OPEN 9 +エントリポイントは、 +ファイルがプロセスによってアクセスされる前に呼び出され、 +.Xr VOP_CLOSE 9 +エントリポイントは、 +ファイルに対するプロセスの仕事の完了後に呼び出されます。 +.Pp +引数は以下の通りです。 +.Bl -tag -width mode +.It Ar vp +ファイルの vnode。 +.It Ar mode +呼び出しプロセスによって要求されたアクセスモード。 +.It Ar p +ファイルにアクセスしているプロセス。 +.El +.Pp +アクセスモードは、 +.Dv FREAD , +.Dv FWRITE , +.Dv O_NONBLOCK , +.Dv O_APPEND +を含むフラグの組です。 +.Sh ロック +.Xr VOP_OPEN 9 +は、入る時に +.Fa vp +がロックされていることを期待し、戻り時までロックされたままにします。 +.Pp +.Xr VOP_CLOSE 9 +は、vnode に結びつけられた参照が少なくとも 1 個は存在することを期待し、 +vnode がロックされているかどうかは気にしません。 +ロックおよび参照状態は、戻る時に変更されずにそのままになります。 +.Fa vn_close +は、ロックされていない参照された vnode を期待し、 +戻る前に参照を手繰ることに注意してください。 +.Sh 戻り値 +成功時には 0 が返され、そうでない場合にはエラーコードが返されます。 +.Sh 疑似コード +.Bd -literal +int +vop_open(struct vnode *vp, int mode, struct ucred *cred, struct proc *p) +{ + /* + * ほとんどのファイルシステムは、ここでは大したことはしません。 + */ + return 0; +} +.Ed +.Sh 関連項目 +.Xr vnode 9 , +.Xr VOP_LOOKUP 9 +.Sh 作者 +このマニュアルページは +.An Doug Rabson +が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_PATHCONF.9 b/ja_JP.eucJP/man/man9/VOP_PATHCONF.9 new file mode 100644 index 0000000000..a4ac37d41e --- /dev/null +++ b/ja_JP.eucJP/man/man9/VOP_PATHCONF.9 @@ -0,0 +1,87 @@ +.\" -*- 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_PATHCONF.9,v 1.6 1999/08/28 00:21:14 peter Exp % +.\" +.Dd July 24, 1996 +.Os +.Dt VOP_PATHCONF 9 +.Sh 名称 +.Nm VOP_PATHCONF +.Nd POSIX パス構成情報の取得 +.Sh 書式 +.Fd #include +.Fd #include +.Fd #include +.Ft int +.Fn VOP_PATHCONF "struct vnode *vp" "int name" "int *retval" +.Sh 解説 +.Pp +引数は以下の通りです。 +.Bl -tag -width retval +.It Ar vp +情報を得る対象の vnode。 +.It Ar name +返す情報の型。 +.It Ar retval +情報を返す場所。 +.El +.Pp +.Fa name +の値は以下の何が返されるかを指定します。 +.Bl -tag -width _PC_CHOWN_RESTRICTED +.It Dv _PC_LINK_MAX +ファイルへのリンクの最大値。 +.It Dv _PC_NAME_MAX +ファイル名の最大バイト数。 +.It Dv _PC_PATH_MAX +パス名の最大バイト数。 +.It Dv _PC_PIPE_BUF +不可分にパイプに書き出される最大バイト数。 +.It Dv _PC_CHOWN_RESTRICTED +.Xr chown 2 +システムコールのために適切な特権が必要な場合には 1、 +そうでない場合には 0。 +.It Dv _PC_NO_TRUNC +.Dv KERN_NAME_MAX +よりも長いファイル名が切り詰められる場合には 1。 +.El +.Sh 戻り値 +.Fa name +が認識される場合、 +.Fa *retval +に指定された値が設定されて 0 が返され、そうでない場合には +.Dv EINVAL +が返されます。 +.Sh 関連項目 +.Xr pathconf 2 , +.Xr vnode 9 +.Sh 作者 +このマニュアルページは +.An Doug Rabson +が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_PRINT.9 b/ja_JP.eucJP/man/man9/VOP_PRINT.9 new file mode 100644 index 0000000000..9ea6f2e09c --- /dev/null +++ b/ja_JP.eucJP/man/man9/VOP_PRINT.9 @@ -0,0 +1,56 @@ +.\" -*- 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_PRINT.9,v 1.4 1999/08/28 00:21:15 peter Exp % +.\" +.Dd July 24, 1996 +.Os +.Dt VOP_PRINT 9 +.Sh 名称 +.Nm VOP_PRINT +.Nd デバッグ情報の表示 +.Sh 書式 +.Fd #include +.Fd #include +.Ft int +.Fn VOP_PRINT "struct vnode *vp" +.Sh 解説 +.Pp +引数は以下の通りです。 +.Bl -tag -width bpXX +.It Ar vp +表示対象の vnode。 +.El +.Sh 戻り値 +成功時には 0 が返され、そうでない場合にはエラーが返されます。 +.Sh 関連項目 +.Xr vnode 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 new file mode 100644 index 0000000000..7819930470 --- /dev/null +++ b/ja_JP.eucJP/man/man9/VOP_RDWR.9 @@ -0,0 +1,232 @@ +.\" -*- 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.9 1999/12/13 02:28:53 alfred Exp % +.\" +.Dd July 24, 1996 +.Os +.Dt VOP_RDWR 9 +.Sh 名称 +.Nm VOP_READ , +.Nm VOP_WRITE +.Nd ファイルの読み込みまたは書き込み +.Sh 書式 +.Fd #include +.Fd #include +.Fd #include +.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 Ar vp +ファイルの vnode。 +.It Ar uio +読み込みまたは書き込み対象のデータの位置。 +.It Ar ioflag +様々なフラグ。 +.It Ar 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 filesystem; + + 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; +} + +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 filesystem; + 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); + 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; +} +.Ed +.Sh エラー +.Bl -tag -width Er +.It Bq Er ENOSPC +ファイルシステムが一杯です。 +.El +.Sh 関連項目 +.Xr uiomove 9 , +.Xr vnode 9 +.Sh 作者 +このマニュアルページは +.An Doug Rabson +が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_READLINK.9 b/ja_JP.eucJP/man/man9/VOP_READLINK.9 new file mode 100644 index 0000000000..caf7e76e57 --- /dev/null +++ b/ja_JP.eucJP/man/man9/VOP_READLINK.9 @@ -0,0 +1,83 @@ +.\" -*- 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_READLINK.9,v 1.7 1999/08/28 00:21:15 peter Exp % +.\" +.Dd July 24, 1996 +.Os +.Dt VOP_READLINK 9 +.Sh 名称 +.Nm VOP_READLINK +.Nd シンボリックリンクのターゲットの読み込み +.Sh 書式 +.Fd #include +.Fd #include +.Fd #include +.Ft int +.Fn VOP_READLINK "struct vnode *vp" "struct uio *uio" "struct ucred *cred" +.Sh 解説 +これは、シンボリックリンクのターゲットのパス名を読み込みます。 +.Bl -tag -width uio +.It Ar vp +シンボリックリンクの vnode。 +.It Ar uio +読み込みまたは書き込みのためのデータの位置。 +.It Ar cnp +呼び出し側の証明。 +.El +.Sh ロック +入る時に、vnode はロックされているべきで、終了時にもロックされ続けます。 +.Sh 戻り値 +成功時には 0 が返され、そうでない場合にはエラーコードが返されます。 +.Sh 疑似コード +.Bd -literal +int +vop_readlink(struct vnode *vp, struct uio *uio, struct ucred *cred) +{ + int error = 0; + + /* + * シンボリックリンクのターゲットを読み込みます。 + */ + ...; + + return error; +} +.Ed +.Sh エラー +.Bl -tag -width Er +.It Bq Er EIO +シンボリックリンクの内容の読み込みの間に、読み込みエラーが発生しました。 +.El +.Sh 関連項目 +.Xr uiomove 9 , +.Xr vnode 9 +.Sh 作者 +このマニュアルページは +.An Doug Rabson +が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_REALLOCBLKS.9 b/ja_JP.eucJP/man/man9/VOP_REALLOCBLKS.9 new file mode 100644 index 0000000000..82fe294053 --- /dev/null +++ b/ja_JP.eucJP/man/man9/VOP_REALLOCBLKS.9 @@ -0,0 +1,61 @@ +.\" -*- 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_REALLOCBLKS.9,v 1.6 1999/12/23 17:35:48 bde Exp % +.\" +.Dd July 24, 1996 +.Os +.Dt VOP_REALLOCBLKS 9 +.Sh 名称 +.Nm VOP_REALLOCBLKS +.Nd ファイルのブロックを連続するように再配列 +.Sh 書式 +.Fd #include +.Fd #include +.Ft int +.Fn VOP_REALLOCBLKS "struct vnode *vp" "struct cluster_save *buflist" +.Sh 解説 +.Pp +引数は以下の通りです。 +.Bl -tag -width buflist +.It Ar vp +操作対象のファイル。 +.It Ar buflist +再配列対象のブロックのリスト。 +.El +.Pp +これは進行中の作業の一部分のようです。 +.Sh 戻り値 +成功時には 0 が返され、そうでない場合にはエラーが返されます。 +.Sh 関連項目 +.Xr buf 9 , +.Xr vnode 9 +.Sh 作者 +このマニュアルページは、 +.An Doug Rabson +が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_REMOVE.9 b/ja_JP.eucJP/man/man9/VOP_REMOVE.9 new file mode 100644 index 0000000000..6874e6487d --- /dev/null +++ b/ja_JP.eucJP/man/man9/VOP_REMOVE.9 @@ -0,0 +1,108 @@ +.\" -*- 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_REMOVE.9,v 1.7 1999/09/24 07:07:02 dillon Exp % +.\" +.Dd July 24, 1996 +.Os +.Dt VOP_REMOVE 9 +.Sh 名称 +.Nm VOP_REMOVE , +.Nm VOP_RMDIR +.Nd ファイルまたはディレクトリの削除 +.Sh 書式 +.Fd #include +.Fd #include +.Ft int +.Fn VOP_REMOVE "struct vnode *dvp" "struct vnode *vp" "struct componentname *cnp" +.Ft int +.Fn VOP_RMDIR "struct vnode *dvp" "struct vnode *vp" "struct componentname *cnp" +.Sh 解説 +これらのエントリポイントは、それぞれファイルとディレクトリを削除します。 +.Pp +引数は以下の通りです。 +.Bl -tag -width dvp +.It Ar dvp +ディレクトリの vnode。 +.It Ar vp +削除対象ファイルの vnode。 +.It Ar cnp +ファイルのパス名情報。 +.El +.Sh ロック +.Fa dvp +および +.Fa vp +共に、入る時にロックされているべきで、戻り時もロックされ続けています。 +.Sh 戻り値 +成功時には 0 が返され、そうでない場合にはエラーコードが返されます。 +.Sh 疑似コード +.Bd -literal +int +vop_remove(struct vnode *dvp, struct vnode *vp, struct componentname *cnp) +{ + int error = 0; + + if (vp is immutable) { + error = EPERM; + goto out; + } + + /* + * ディレクトリから cnp->cn_nameptr の名前を削除し、vp のリンク + * カウントを更新します。 + */ + ...; + + /* + * "." の削除を試みる場合は注意してください。XXX これはより + * 上層で取り扱われるべきです。 + */ + if (dvp == vp) + vrele(vp); + else + vput(vp); + vput(dvp); + + return error; +} +.Ed +.Sh エラー +.Bl -tag -width Er +.It Bq Er EPERM +ファイルは変更不可能です。 +.It Bq Er ENOTEMPTY +空ではないディレクトリを削除しようとしています。 +.El +.Sh 関連項目 +.Xr vnode 9 , +.Xr VOP_LOOKUP 9 +.Sh 作者 +このマニュアルページは +.An Doug Rabson +が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_SETACL.9 b/ja_JP.eucJP/man/man9/VOP_SETACL.9 new file mode 100644 index 0000000000..7084decce9 --- /dev/null +++ b/ja_JP.eucJP/man/man9/VOP_SETACL.9 @@ -0,0 +1,103 @@ +.\"- +.\" Copyright (c) 1999 Robert N. M. Watson +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" %FreeBSD: src/share/man/man9/VOP_SETACL.9,v 1.1 2000/01/05 04:59:01 rwatson Exp % +.\" +.Dd December 23, 1999 +.Os +.Dt VOP_SETACL 9 +.Sh 名称 +.Nm VOP_SETACL +.Nd vnode のアクセス制御リストの設定 +.Sh 書式 +.Fd #include +.Fd #include +.Fd #include +.Ft int +.Fn VOP_SETACL "struct vnode *vp" "acl_type_t type" "struct acl *aclp" "struct ucred *cred" "struct proc *p" +.Sh 解説 +この vnode 呼び出しは、ファイルまたはディレクトリの +アクセス制御リスト (ACL) を設定するために使用可能です。 +.Pp +引数は以下の通りです。 +.Bl -tag -width type +.It Ar vp +ファイルまたはディレクトリの vnode。 +.It Ar type +設定される ACL の型。 +.It Ar aclp +ACL データの取り出し元の ACL 構造体へのポインタ。 +.It Ar cred +要求の認証時に使用されるユーザ証明。 +.It Ar p +ACL を設定しているプロセス。 +.El +.Pp +.Fa aclp +ポインタは、NULL を指定可能であり、 +指定した ACL が削除されるべきであることを示します。 +.Pp +.Fa cred +ポインタは、NULL を渡すことができ、 +可能であるならばアクセス制御チェックが実行されないことを指示します。 +この cred の設定は、アクティブプロセスに許されていない ACL 証明を、 +カーネルが正当化することを認めるために使用可能です。 +この cred の設定は、アクティブプロセスに許されていない拡張属性の変更を +カーネルが正当化することを認めるために使用可能です。 +.Pp +vnode ACL インタフェースは、ファイルまたはディレクトリの ACL インタフェースの +セマンティクスではなく文法を定義します。 +カーネル内の ACL 管理についての詳細な情報は +.Xr acl 9 +を参照してください。 +.Sh ロック +入る時に vnode はロックされ、戻り時にもロックされ続けているべきです。 +.Sh 戻り値 +ACL が成功裏に設定された場合には 0 が返されます。 +そうでない場合には適切なエラーコードが返されます。 +.Sh エラー +.Bl -tag -width Er +.It Bq Er EINVAL +渡された ACL 型はこの vnode には無効です。または、ACL データが無効です。 +.It Bq Er EACCES +許可されませんでした。 +.It Bq Er ENOMEM +要求を実行するための十分なメモリがありません。 +.It Bq Er EOPNOTSUPP +ファイルシステムが VOP_SETACL をサポートしていません。 +.It Bq Er ENOSPC +ファイルシステムの領域不足です。 +.It Bq Er EROFS +ファイルシステムが読み取り専用です。 +.El +.Sh 関連項目 +.Xr acl 9 , +.Xr vnode 9 , +.Xr VOP_ACLCHECK 9 , +.Xr VOP_GETACL 9 +.Sh 作者 +このマニュアルページは +.An Robert Watson +が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_SETEXTATTR.9 b/ja_JP.eucJP/man/man9/VOP_SETEXTATTR.9 new file mode 100644 index 0000000000..c8d8f8d09a --- /dev/null +++ b/ja_JP.eucJP/man/man9/VOP_SETEXTATTR.9 @@ -0,0 +1,111 @@ +.\"- +.\" Copyright (c) 1999 Robert N. M. Watson +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" %FreeBSD: src/share/man/man9/VOP_SETEXTATTR.9,v 1.1 2000/01/05 04:59:01 rwatson Exp % +.\" +.Dd December 23, 1999 +.Os +.Dt VOP_SETEXTATTR 9 +.Sh 名称 +.Nm VOP_SETEXTATTR +.Nd vnode への名前つき拡張属性の設定 +.Sh 書式 +.Fd #include +.Fd #include +.Fd #include +.Ft int +.Fn VOP_SETEXTATTR "struct vnode *vp" "char *name" "struct uio *uio" "struct ucred *cred" "struct proc *p" +.Sh 解説 +この vnode 呼び出しは、ファイルまたはディレクトリに対し、 +特定の名前付き拡張属性を設定するために使用可能です。 +.Pp +引数は以下の通りです。 +.Bl -tag -width type +.It Ar vp +ファイルまたはディレクトリの vnode。 +.It Ar name +属性の名前が入った、ヌル文字で終端された文字列へのポインタ。 +.It Ar uio +読み込みまたは書き込みされるデータの位置。 +.It Ar cred +要求の認証で使用するユーザ証明。 +.It Ar p +拡張属性を設定しているプロセス。 +.El +.Pp +uio 構造体は、 +.Xr VOP_WRITE +での同じ名前の引数と同様に使用されます。しかしながら、 +拡張属性が厳密な "name=value" のセマンティクスを規定しているので、 +0 でないオフセットは却下されるでしょう。 +.Pp +.Fa uio +ポインタは、NULL であることが可能であり、 +指定された拡張属性が削除されるべきであることを指示します。 +.Pp +.Fa cred +.Fa cred +ポインタは、NULL を渡すことができ、 +可能であるならばアクセス制御チェックが実行されないことを指示します。 +この cred の設定は、アクティブプロセスに許されていない拡張属性の変更を、 +カーネルが正当化することを認めるために使用可能です。 +.Pp +拡張属性のセマンティクスは、 +呼び出しを実装しているファイルシステムに依存して異なり得ます。 +拡張属性についてのより多くの情報は +.Xr extattr 9 +を参照してください。 +.Sh ロック +vnode は、入る時にロックされ、戻り時にもロックされ続けているべきです。 +.Sh 戻り値 +拡張属性が成功裏に設定された場合には 0 が返されます。 +そうでない場合には適切なエラーコードが返されます。 +.Sh エラー +.Bl -tag -width Er +.It Bq Er EACCES +許可されませんでした。 +.It Bq Er ENXIO +指定された vnode および属性名に対する要求は、このファイルシステムでは無効です。 +.It Bq Er ENOMEM +要求を実行するための十分なメモリがありません。 +.It Bq Er EFAULT +uio 構造体が無効なユーザ空間アドレスを参照しています。 +.It Bq Er EINVAL +名前または uio 引数が無効です。 +.It Bq Er EOPNOTSUPP +ファイルシステムが VOP_GETEXTATTR をサポートしていません。 +.It Bq Er ENOSPC +ファイルシステムに空き領域がありません。 +.It Bq Er EROFS +ファイルシステムが読み取り専用です。 +.El +.Sh 関連項目 +.Xr extattr 9 , +.Xr vnode 9 , +.Xr VOP_GETEXTATTR 9 +.Sh 作者 +このマニュアルページは +.An Robert Watson +が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_STRATEGY.9 b/ja_JP.eucJP/man/man9/VOP_STRATEGY.9 new file mode 100644 index 0000000000..5fe2764aa4 --- /dev/null +++ b/ja_JP.eucJP/man/man9/VOP_STRATEGY.9 @@ -0,0 +1,63 @@ +.\" -*- 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_STRATEGY.9,v 1.8.2.1 2000/12/29 10:18:07 ru Exp % +.\" +.Dd July 24, 1996 +.Os +.Dt VOP_STRATEGY 9 +.Sh 名称 +.Nm VOP_STRATEGY +.Nd ファイルシステムバッファの読み書き +.Sh 書式 +.Fd #include +.Fd #include +.Ft int +.Fn VOP_STRATEGY "struct vnode *vp" "struct buf *bp" +.Sh 解説 +.Pp +引数は以下の通りです。 +.Bl -tag -width 2n +.It Ar vp +バッファが対象にする vnode。 +.It Ar bp +読み書きされるべきバッファ。 +.El +.Pp +この呼び出しは、 +.Fa bp->b_flags +の値に依存して、ファイルの読み込みまたは書き込みを行ないます。 +.Sh 戻り値 +成功時には 0 が返され、そうでない場合にはエラーが返されます。 +.Sh 関連項目 +.\" .Xr buf 9 , +.Xr vnode 9 +.Sh 作者 +このマニュアルページは +.An Doug Rabson +が書きました。 diff --git a/ja_JP.eucJP/man/man9/acl.9 b/ja_JP.eucJP/man/man9/acl.9 new file mode 100644 index 0000000000..2d7619b9c1 --- /dev/null +++ b/ja_JP.eucJP/man/man9/acl.9 @@ -0,0 +1,120 @@ +.\"- +.\" Copyright (c) 1999, 2000 Robert N. M. Watson +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" $FreeBSD: src/share/man/man9/acl.9,v 1.2 2000/01/28 15:22:49 rwatson Exp $ +.\" +.Dd December 23, 1999 +.Os +.Dt ACL 9 +.Sh 名称 +.Nm acl +.Nd 仮想ファイルシステムアクセス制御リスト +.Sh 書式 +.Fd #include +.Fd #include +.Fd #include +.Pp +.Bd -literal +typedef int acl_type_t; +typedef int acl_tag_t; +typedef mode_t acl_perm_t; + +struct acl_entry { + acl_tag_t ae_tag; + uid_t ae_id; + acl_perm_t ae_perm; +}; +typedef struct acl_entry *acl_entry_t; + +struct acl { + int acl_cnt; + struct acl_entry acl_entry[ACL_MAX_ENTRIES]; +}; +typedef struct acl *acl_t; + +/* + * acl_entry_t の a_tag に有効な値 + */ +#define ACL_USER_OBJ 0x00000001 +#define ACL_USER 0x00000002 +#define ACL_GROUP_OBJ 0x00000004 +#define ACL_GROUP 0x00000008 +#define ACL_MASK 0x00000010 +#define ACL_OTHER 0x00000020 +#define ACL_OTHER_OBJ ACL_OTHER + +/* + * a_type_t 引数に有効な値 + */ +#define ACL_TYPE_ACCESS 0x00000000 +#define ACL_TYPE_DEFAULT 0x00000001 +#define ACL_TYPE_AFS 0x00000002 +#define ACL_TYPE_CODA 0x00000003 +#define ACL_TYPE_NTFS 0x00000004 +#define ACL_TYPE_NWFS 0x00000005 + +/* + * a_perm フィールドに可能なフラグ + */ +#define ACL_PERM_EXEC 0x0001 +#define ACL_PERM_WRITE 0x0002 +#define ACL_PERM_READ 0x0004 +#define ACL_PERM_NONE 0x0000 +#define ACL_PERM_BITS (ACL_PERM_EXEC | ACL_PERM_WRITE | ACL_PERM_READ) +#define ACL_POSIX1E_BITS (ACL_PERM_EXEC | ACL_PERM_WRITE | ACL_PERM_READ) +.Ed +.Sh 解説 +アクセス制御リスト、すなわち ACL は、 +ファイルおよびディレクトリを表現する vnode に対する権限を、 +きめ細かく指定可能とします。 +しかしながら、 +異なる ACL のセマンティクスを持つファイルシステムが過多にあるため、 +vnode インタフェースは ACL の文法のみを理解し、基礎をなすファイルシステムが +細部を実装することを当てにしています。 +基礎をなすファイルシステムに依存して、個々のファイルまたはディレクトリは、 +関連付けられる 0 個以上の ACL を持つことが可能です。 +それぞれ ACL の名前は、適切な vnode ACL 呼び出し +.Xr VOP_ACLCHECK 9 , +.Xr VOP_GETACL 9 , +.Xr VOP_SETACL 9 +の +.Fa type +フィールドを使用して指定されます。 +.Pp +現在は、個々の ACL はカーネル内で固定サイズの ACL 構造体によって表現されます。 +ACL は、ACL エントリの固定サイズ配列で構成されます。 +各 ACL エントリは、 +パーミッションの組、主要な名前空間、主要な識別子から構成されます。 +結びつけられた acl_cnt フィールドの値に依存して、 +これらの 0 個以上のエントリが "定義" されることが出来ます。 +.Sh 関連項目 +.Xr VFS 9 , +.Xr VOP_ACLCHECK 9 , +.Xr VOP_GETACL 9 , +.Xr VOP_SETACL 9 +.Sh 作者 +このマニュアルページは +.An Robert Watson +が書きました。 diff --git a/ja_JP.eucJP/man/man9/at_exit.9 b/ja_JP.eucJP/man/man9/at_exit.9 new file mode 100644 index 0000000000..f19f43e212 --- /dev/null +++ b/ja_JP.eucJP/man/man9/at_exit.9 @@ -0,0 +1,76 @@ +.\" +.\" Copyright (c) 1996 Julian Elischer +.\" +.\" 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/at_exit.9,v 1.10.2.3 2001/01/12 16:16:02 ru Exp % +.\" " +.Dd August 15, 1996 +.Os +.Dt AT_EXIT 9 +.Sh 名称 +.Nm at_exit , +.Nm rm_at_exit +.Nd exit 時に実行される関数の問合せ +.Sh 書式 +.Fd #include +.Fd #include +.Ft typedef\ void ( exitlist_fn ) ( struct\ proc\ * ) ; +.Pp +.Ft int +.Fn at_exit "exitlist_fn func" +.Ft int +.Fn rm_at_exit "exitlist_fn func" +.Sh 解説 +.Nm +の仕組みは、あらゆるプロセスの exit 時に、 +そのことがカーネルモジュールに通知されることを保証します。 +関数 +.Fa func +は、exit しようとしているプロセスの proc 構造体へのポインタを引数として +呼び出されます。 +.Pp +通知に対する必要条件が取り除かれた場合、 +.Fn at_exit +の呼び出しと正確に一致する引数 +.Fa func +を伴って関数 +.Fn rm_at_exit +を呼び出さなければなりません。 +.Pp +.Sh 戻り値 +.Fa at_exit +関数は errno を返し、0 は成功を意味します。 +.Fn rm_at_exit +関数は、削除された項目の個数 (0 または 1 であるべきです) を返します。 +.Sh 関連項目 +.Xr _exit 2 +.Sh 歴史 +.Fn at_exit +関数は +.Fx 2.2 +で登場しました。 +.Sh 作者 +この関数は +.An Julian Elischer Aq julian@FreeBSD.org +が書きました。 diff --git a/ja_JP.eucJP/man/man9/at_fork.9 b/ja_JP.eucJP/man/man9/at_fork.9 new file mode 100644 index 0000000000..dc24759a73 --- /dev/null +++ b/ja_JP.eucJP/man/man9/at_fork.9 @@ -0,0 +1,79 @@ +.\" +.\" Copyright (c) 1996 Julian Elischer +.\" +.\" 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/at_fork.9,v 1.9.2.2 2001/01/12 16:16:02 ru Exp % +.\" " +.Dd August 15, 1996 +.Os +.Dt AT_FORK 9 +.Sh 名称 +.Nm at_fork , +.Nm rm_at_fork +.Nd fork 時に実行される関数の問合せ +.Sh 書式 +.Fd #include +.Fd #include +.Ft "typedef void" ( *forklist_fn ) +.Fa ( "struct proc*" , "struct proc*" , int ) ; +.Pp +.Ft int +.Fn at_fork "forklist_fn func" +.Ft int +.Fn rm_at_fork "forklist_fn func" +.Sh 解説 +.Nm +の仕組みは、あらゆるプロセスの fork 時に、 +そのことがカーネルモジュールに通知されることを保証します。 +関数 +.Fa func +は、fork しようとしているプロセスの proc 構造体へのポインタ、 +子プロセスの構造体へのポインタおよび +.Xr rfork 2 +で使用される fork の型を示すフラグを引数として呼び出されます。 +.Pp +通知に対する必要条件が取り除かれた場合、 +.Fn at_fork +の呼び出しと正確に一致引数 +.Fa func +をとって関数 +.Fn rm_at_fork +を呼び出さなければなりません。 +.Pp +.Sh 戻り値 +.Fn at_fork +は errno を返し、0 は成功を意味します。 +.Fn rm_at_fork +は関数は、削除された項目の個数 (0 または 1 であるべきです) を返します。 +.Sh 関連項目 +.Xr fork 2 +.Sh 歴史 +.Fn at_fork +関数は +.Fx 2.2 +で登場しました。 +.Sh 作者 +この関数は +.An Julian Elischer Aq julian@FreeBSD.org +が書きました。 diff --git a/ja_JP.eucJP/man/man9/bios.9 b/ja_JP.eucJP/man/man9/bios.9 new file mode 100644 index 0000000000..3c7cd825bb --- /dev/null +++ b/ja_JP.eucJP/man/man9/bios.9 @@ -0,0 +1,122 @@ +.\" %FreeBSD: src/share/man/man9/bios.9,v 1.4.2.3 2001/01/12 16:16:02 ru Exp % +.\" +.\" Copyright (c) 1997 Michael Smith +.\" 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. +.\" +.Dd Aug 1, 1997 +.Dt BIOS 9 +.Os FreeBSD +.Sh 名称 +.Nm bios_sigsearch , +.Nm bios32_SDlookup , +.Nm bios32 +.Nd PC BIOS との相互作用 +.Sh 書式 +.Fd #include +.Fd #include +.Ft u_int32_t +.Fn bios_sigsearch "u_int32_t start" "u_char *sig" "int siglen" "int paralen" "int sigofs" +.Ft int +.Fn bios32_SDlookup "struct bios32_SDentry *ent" +.Ft void +.Fn bios32 "caddr_t entry" "struct bios32_args *args" +.Fn BIOS_PADDRTOVADDR "addr" +.Fn BIOS_VADDRTOPADDR "addr" +.Vt extern struct bios32_SDentry PCIbios ; +.Vt extern struct SMBIOS_table SMBIOStable ; +.Vt extern struct DMI_table DMItable ; +.Sh 解説 +これらの関数は、BIOS 関数と x86 PC アーキテクチャシステムで出会うデータを +取り扱うための、汎用インタフェースを提供します。 +.Bl -tag -width 20n +.It Fn bios_sigsearch +サービスシグネチャの BIOS アドレス空間を検索します。 +サービスシグネチャは、 +大抵はアンダスコアで囲まれている大文字の ASCII 文字列です。 +検索は、 +.Fa start +から、または +.Fa start +が 0 の場合には BIOS の最初から始まります。 +.Fa siglen +バイトの BIOS イメージと +.Fa sig +とが、現在位置から +.Fa sigofs +バイトのオフセットにおいて比較されます。 +マッチしないことが分かると、現在位置が +.Fa paralen +バイト増加されて検索が繰り返されます。 +シグネチャが見つかった場合には、その実効物理アドレスが返されます。 +シグネチャが見つからなかった場合には、0 が返されます。 +.It Fn BIOS_VADDRTOPADDR +カーネル仮想アドレス +.Fa addr +に対応する実効物理アドレスを返します。 +.It Fn BIOS_VADDRTOPADDR +実効物理アドレス +.Fa addr +に対応するカーネル仮想アドレスを返します。 +.It SMBIOStable +NULL でない場合は、システム起動時に +システムマネージメント BIOS (System Management BIOS; SMBIOS) テーブル +から読み込まれた情報を含んでいる +.Ft struct SMBIOS_table +構造体を指します。 +.It DMItable +NULL でない場合は、システム起動時に +デスクトップマネージメントインタフェース +(Desktop Management Interface; DMI) パラメータテーブル +から読み込まれた情報を含んでいる +.Ft struct DMI_table +構造体を指します。 +.El +.Sh BIOS32 +システム起動時に、BIOS32 サービスディレクトリ (PCI 仕様の一部) の +ために BIOS がスキャンされ、ディレクトリの存在が記録されます。 +これは後で、他のサービスの場所を特定するために使用できます。 +.Bl -tag -width 20n +.It Fn bios32_SDlookup +引数 +.Fa ent +の +.Fa ident +フィールドで渡される 4 バイトの識別子にマッチする BIOS32 サービス +の場所を特定しようと試みます。 +.It Fn bios32 +bios32 関数を呼び出します。 +これは関数が、カーネルセグメント内で動作できることを +仮定しています (通常の場合)。 +エントリポイントの仮想アドレスは +.Fa entry +で与えられ、 +関数へのレジスタ引数は +.Fa args +で与えられます。 +.It PCIbios +NULL でない場合は、システム起動時に見つかった +PCI BIOS エントリポイントを記述する +.Ft struct bios32_SDentry +構造体を指します。 +.El diff --git a/ja_JP.eucJP/man/man9/boot.9 b/ja_JP.eucJP/man/man9/boot.9 new file mode 100644 index 0000000000..b3509a6f67 --- /dev/null +++ b/ja_JP.eucJP/man/man9/boot.9 @@ -0,0 +1,107 @@ +.\" %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.4 1999/08/28 00:21:18 peter Exp % +.\" +.Dd February 14, 1997 +.Dt BOOT 9 +.Os +.Sh 名称 +.Nm boot +.Nd システムの停止または再起動 +.Sh 書式 +.Fd #include +.Fd #include +.Fd #include +.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 +.Xr at_shutdown 9 +によって以前に設定されたあらゆるシャットダウンフックを実行します。 +.It +システムが停止させられているのか、 +再起動させられているのかを示すメッセージを表示します。 +.It +.Fa howto +に +.Dv RB_HALT +がセットされている場合には、システムを停止します。 +そうでなければ、システムを再起動します。 +.El +.Pp +システムが自動コンフィギュレーションをまだ終えていない場合には、 +.Fn boot +は +.Xr at_shutdown 9 +によって以前に設定されたあらゆるシャットダウンフックを実行し、 +メッセージを表示し、システムを停止します。 +.Pp +.Sh 関連項目 +.Xr at_shutdown 9 , +.Xr vfs_unmountall 9 diff --git a/ja_JP.eucJP/man/man9/bus_alloc_resource.9 b/ja_JP.eucJP/man/man9/bus_alloc_resource.9 new file mode 100644 index 0000000000..b96c9dacd7 --- /dev/null +++ b/ja_JP.eucJP/man/man9/bus_alloc_resource.9 @@ -0,0 +1,157 @@ +.\" -*- 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.2.2.2 2000/06/20 15:06:11 alex Exp % +.\" +.Dd May 18, 2000 +.Dt BUS_ALLOC_RESOURCE 9 +.Os FreeBSD +.Sh 名称 +.Nm bus_alloc_resource +.Nd バス上の資源の割り当て +.Sh 書式 +.Fd #include +.Fd #include +.Fd #include +.Fd #include +.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 +これは資源管理関数群への簡単なインタフェースです。 +親のメソッドテーブルを通る間接的な方法を隠蔽します。 +この関数は、一般的にアタッチ時に呼び出されるべきですが、 +(競合状態の場合を除いて) 決してその前に呼び出してはなりません。 +.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 +は資源の開始/終了アドレスです。 +start に +.Dv 0 +の値を end に +.Dv ~0 +の値を指定した場合には、バスのためのデフォルト値が計算されます。 +.It +.Fa count +は資源の大きさで、例えば、入出力ポートの大きさです +(これは大抵、PCI 上では +.Dv 1 +で、ISA および PCCARD 上ではデバイス依存です)。 +.Fa start +および +.Fa end +にデフォルト値を指定した場合、 +.Fa count +がデフォルト値よりも小さいならばデフォルト値が使用され、 +.Fa count +がデフォルト値以上ならば count が使用されます。 +.It +.Fa flags +は資源のためのフラグを設定します。 +以下のフラグを 1 つ以上設定できます。 +.Bl -tag -width RF_SHAREABLE +.It Dv RF_ALLOCATED +資源は既に予約されています。 +資源は引続き +.Xr rman_activate_resource 9 +で活性化される必要があります。 +.It Dv RF_ACTIVE +不可分に、資源を活性化します。 +.It Dv RF_SHAREABLE +資源は同時共有を許可します。 +その資源が共有不可であることを知らない場合、常に設定されるべきです。 +バスが共有をサポートしていない場合、 +このフラグを取り除くのはバスのコードの仕事です。この例として、 +pccard/cardbus ではデバイスを共有できるかできないかは、バスに依存します。 +.It Dv RF_TIMESHARE +資源は時分割共有を許可します。 +.El +.El +.Sh 戻り値 +成功時には +.Va struct resource +構造体へのポインタが返され、そうでない場合にはヌルポインタが返されます。 +.Sh 使用例 +これはあるサンプルのコードです。 +.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 driver 9 , +.Xr device 9 , +.Xr bus_release_resource 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_release_resource.9 b/ja_JP.eucJP/man/man9/bus_release_resource.9 new file mode 100644 index 0000000000..5d6e3dc6c9 --- /dev/null +++ b/ja_JP.eucJP/man/man9/bus_release_resource.9 @@ -0,0 +1,106 @@ +.\" -*- 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.2.2.1 2000/06/12 14:05:11 alex Exp % +.\" +.Dd May 18, 2000 +.Dt BUS_RELEASE_RESOURCE 9 +.Os FreeBSD +.Sh 名称 +.Nm bus_release_resource +.Nd バス上の資源の開放 +.Sh 書式 +.Fd #include +.Fd #include +.Fd #include +.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 driver 9 , +.Xr device 9 , +.Xr bus_alloc_resource 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 new file mode 100644 index 0000000000..e634ab84f5 --- /dev/null +++ b/ja_JP.eucJP/man/man9/cd.9 @@ -0,0 +1,106 @@ +.\" 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.11 1999/08/28 00:21:20 peter Exp % +.\" +.Dd October 10, 1998 +.Dt CD 9 +.Os FreeBSD +.Sh 名称 +.Nm cd +.Nd CAM SCSI サブシステムのための CD-ROM ドライバ +.Sh 解説 +.Nm +デバイスドライバは CD-ROM ドライブ ( +.Tn SCSI +type 5) +および CD-ROM タイプのコマンドをサポートしている WORM ドライブ ( +.Tn SCSI +type 4) +のための読み込み専用インタフェースを提供します。 +幾つかのドライブは、ドライバが期待したようには振舞いません。 +使用可能なフラグの情報は、癖の章を参照してください。 +.Sh 癖 +それぞれの +.Tn CD-ROM +デバイスは、 +.Tn SCSI +仕様を異なったように解釈し得ます。 +これにより、ドライバ中でドライブを特別扱いする必要性が発生します。 +下記はドライバが認識する癖のリストです。 +癖のエントリの増やし方についてのより多くの情報は、 +.Xr scsiconf 9 +を参照してください。 +.Bl -tag -width CD_Q_BCD_TRACKS +.It Dv CD_Q_NO_TOUCH +このフラグは、 +ディスクがドライブの中にあるかとサイズを調査するために、 +アタッチ時にプローブしないようドライバに通知します。 +現在このフラグは、CAM の +.Nm cd +ドライバでは実装されていません。 +.It Dv CD_Q_BCD_TRACKS +このフラグは、正しい 10 進数ではなくパックされた BCD でトラック番号を返す、 +壊れたドライブ用です。 +ドライブがトラックを飛ばしている +.Pq トラック 10-15 が飛ばされる +ような場合には、 +あなたはこのフラグが必要なドライブを所有しています。 +.It Dv CD_Q_NO_CHANGER +このフラグは、当該ドライブがチェンジャではないことを、ドライバに通知します。 +これはチェンジャの一部ではないが複数の LUN を持つ CD-ROM デバイス +にだけ必要です。 +.It Dv CD_Q_CHANGER +このフラグは、与えられたデバイスが複数の LUN を持つチェンジャであることを、 +ドライバに通知します。 +一般的には、LUN が 0 よりも大きい時には、ドライバはこれを自動的に理解します。 +このフラグを設定する唯一の効果は、チェンジャのスケジューリングコードを通して、 +チェンジャの LUN 0 に対して初期の容量読み取りコマンドを実行することを、 +ドライバに通知することです。 +.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 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/devclass.9 b/ja_JP.eucJP/man/man9/devclass.9 new file mode 100644 index 0000000000..fe2ad296d7 --- /dev/null +++ b/ja_JP.eucJP/man/man9/devclass.9 @@ -0,0 +1,66 @@ +.\" -*- 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/devclass.9,v 1.4 1999/08/28 00:21:20 peter Exp $ +.\" +.Dd June 16, 1998 +.Dt DEVCLASS 9 +.Os FreeBSD +.Sh 名称 +.Nm devclass +.Nd デバイスのクラスを表現するオブジェクト +.Sh 書式 +.Dv typedef struct devclass *devclass_t; +.Sh 解説 +.Pp +.Dv devclass +オブジェクトはシステムに 2 つの主な関数を持っています。 +1 つ目はデバイスインスタンスのユニット番号割り当てを管理するためのもので、 +2 つ目は各々のバスタイプのためのデバイスドライバのリストを +保持するためのものです。 +それぞれの +.Dv devclass +は名前を持っていて、同じ名前を持つ 2 つの devclass は存在できません。 +これは一意なユニット番号が +デバイスインスタンスに割り当てられることを保証します。 +.Sh 関連項目 +.Xr devclass_add_driver 9 , +.Xr devclass_delete_driver 9 , +.Xr devclass_find 9 , +.Xr devclass_find_driver 9 , +.Xr devclass_get_device 9 , +.Xr devclass_get_devices 9 , +.Xr devclass_get_maxunit 9 , +.Xr devclass_get_name 9 , +.Xr devclass_get_softc 9 , +.Xr device 9 , +.Xr driver 9 +.Sh 作者 +このマニュアルページは +.An Doug Rabson +が書きました。 diff --git a/ja_JP.eucJP/man/man9/devclass_add_driver.9 b/ja_JP.eucJP/man/man9/devclass_add_driver.9 new file mode 100644 index 0000000000..87b28eafde --- /dev/null +++ b/ja_JP.eucJP/man/man9/devclass_add_driver.9 @@ -0,0 +1,60 @@ +.\" -*- 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/devclass_add_driver.9,v 1.3 1999/08/28 00:21:21 peter Exp $ +.\" +.Dd June 16, 1998 +.Dt DEVCLASS_ADD_DRIVER 9 +.Os FreeBSD +.Sh 名称 +.Nm devclass_add_driver , +.Nm devclass_delete_driver , +.Nm devclass_find_driver +.Nd devclass の中のドライバの操作 +.Sh 書式 +.Fd #include +.Fd #include +.Ft int +.Fn devclass_add_driver "devclass_t dc" "driver_t *driver" +.Ft int +.Fn devclass_delete_driver "devclass_t dc" "driver_t *driver" +.Ft driver_t * +.Fn devclass_find_driver "devclass_t dc" "const char *name" +.Sh 解説 +.Pp +これらの関数は、システムに新しいドライバを追加するため、 +古いドライバを削除するため、 +および存在しているドライバを探すため、使用可能です。 +通常、ドライバはシステム初期化時に自動的に追加されます。 +.Sh 関連項目 +.Xr devclass 9 , +.Xr driver 9 +.Sh 作者 +このマニュアルページは +.An Doug Rabson +が書きました。 diff --git a/ja_JP.eucJP/man/man9/devclass_find.9 b/ja_JP.eucJP/man/man9/devclass_find.9 new file mode 100644 index 0000000000..d4be50c218 --- /dev/null +++ b/ja_JP.eucJP/man/man9/devclass_find.9 @@ -0,0 +1,57 @@ +.\" -*- 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/devclass_find.9,v 1.3 1999/08/28 00:21:21 peter Exp $ +.\" +.Dd June 16, 1998 +.Dt DEVCLASS_FIND 9 +.Os FreeBSD +.Sh 名称 +.Nm devclass_find +.Nd devclass の検索 +.Sh 書式 +.Fd #include +.Fd #include +.Ft devclass_t +.Fn devclass_find "const char *classname" +.Sh 解説 +.Pp +指定された名前の +.Dv devclass +を検索します。 +.Sh 戻り値 +.Dv devclass +が存在する場合にはその devclass が返され、そうでない場合には +.Dv NULL +が返されます。 +.Sh 関連項目 +.Xr devclass 9 +.Sh 作者 +このマニュアルページは +.An Doug Rabson +が書きました。 diff --git a/ja_JP.eucJP/man/man9/devclass_get_device.9 b/ja_JP.eucJP/man/man9/devclass_get_device.9 new file mode 100644 index 0000000000..076c872885 --- /dev/null +++ b/ja_JP.eucJP/man/man9/devclass_get_device.9 @@ -0,0 +1,55 @@ +.\" -*- 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/devclass_get_device.9,v 1.4 1999/08/28 00:21:21 peter Exp $ +.\" +.Dd June 16, 1998 +.Dt DEVCLASS_GET_DEVICE 9 +.Os FreeBSD +.Sh 名称 +.Nm devclass_get_device +.Nd ユニット番号からデバイスへの変換 +.Sh 書式 +.Fd #include +.Fd #include +.Ft device_t +.Fn devclass_get_device "devclass_t dc" "int unit" +.Sh 解説 +.Pp +この関数は、指定されたユニット番号のデバイスインスタンスを取り出し、 +それを返します。 +.Sh 戻り値 +デバイスが存在する場合にはそのデバイスが返され、 +そうでない場合には NULL が返されます。 +.Sh 関連項目 +.Xr devclass 9 , +.Xr device 9 +.Sh 作者 +このマニュアルページは +.An Doug Rabson +が書きました。 diff --git a/ja_JP.eucJP/man/man9/devclass_get_devices.9 b/ja_JP.eucJP/man/man9/devclass_get_devices.9 new file mode 100644 index 0000000000..c96dbe157a --- /dev/null +++ b/ja_JP.eucJP/man/man9/devclass_get_devices.9 @@ -0,0 +1,60 @@ +.\" -*- 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/devclass_get_devices.9,v 1.4 1999/08/28 00:21:21 peter Exp $ +.\" +.Dd June 16, 1998 +.Dt DEVCLASS_GET_DEVICES 9 +.Os FreeBSD +.Sh 名称 +.Nm devclass_get_devices +.Nd devclass の中のデバイスのリストの取り出し +.Sh 書式 +.Fd #include +.Fd #include +.Ft int +.Fn devclass_get_devices "devclass_t dc" "device_t **devlistp" "int *devcountp" +.Sh 解説 +.Pp +現在 devclass の中にある全てのデバイスインスタンスのリストを取り出し、 +.Fa *devlistp +にそのリストを +.Fa *devcountp +にその個数を返します。 +リストのために割り当てられたメモリは、 +.Fn free "*devlistp" "M_TEMP" +を用いて開放されるべきです。 +.Sh 戻り値 +成功時には 0 が返され、そうでない場合には適切なエラーが返されます。 +.Sh 関連項目 +.Xr devclass 9 , +.Xr device 9 +.Sh 作者 +このマニュアルページは +.An Doug Rabson +が書きました。 diff --git a/ja_JP.eucJP/man/man9/devclass_get_maxunit.9 b/ja_JP.eucJP/man/man9/devclass_get_maxunit.9 new file mode 100644 index 0000000000..4d41d9bef1 --- /dev/null +++ b/ja_JP.eucJP/man/man9/devclass_get_maxunit.9 @@ -0,0 +1,53 @@ +.\" -*- 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/devclass_get_maxunit.9,v 1.3 1999/08/28 00:21:22 peter Exp $ +.\" +.Dd June 16, 1998 +.Dt DEVCLASS_GET_MAXUNIT 9 +.Os FreeBSD +.Sh 名称 +.Nm devclass_get_maxunit +.Nd クラスの中の最大のユニット番号を検索 +.Sh 書式 +.Fd #include +.Fd #include +.Ft int +.Fn devclass_get_maxunit "devclass_t dc" +.Sh 解説 +.Pp +指定された +.Dv devclass +の中のデバイスインスタンスに割り当てられた、最大のユニット番号を返します。 +.Sh 関連項目 +.Xr devclass 9 , +.Xr device 9 +.Sh 作者 +このマニュアルページは +.An Doug Rabson +が書きました。 diff --git a/ja_JP.eucJP/man/man9/devclass_get_name.9 b/ja_JP.eucJP/man/man9/devclass_get_name.9 new file mode 100644 index 0000000000..0ffe412fa0 --- /dev/null +++ b/ja_JP.eucJP/man/man9/devclass_get_name.9 @@ -0,0 +1,51 @@ +.\" -*- 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/devclass_get_name.9,v 1.3 1999/08/28 00:21:22 peter Exp $ +.\" +.Dd June 16, 1998 +.Dt DEVCLASS_GET_NAME 9 +.Os FreeBSD +.Sh 名称 +.Nm devclass_get_name +.Nd devclass の名前の入手 +.Sh 書式 +.Fd #include +.Fd #include +.Ft const char * +.Fn devclass_get_name "devclass_t dc" +.Sh 解説 +.Pp +devclass の名前を返します。 +.Sh 関連項目 +.Xr devclass 9 , +.Xr device 9 +.Sh 作者 +このマニュアルページは +.An Doug Rabson +が書きました。 diff --git a/ja_JP.eucJP/man/man9/devclass_get_softc.9 b/ja_JP.eucJP/man/man9/devclass_get_softc.9 new file mode 100644 index 0000000000..d9b1b58ceb --- /dev/null +++ b/ja_JP.eucJP/man/man9/devclass_get_softc.9 @@ -0,0 +1,56 @@ +.\" -*- 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/devclass_get_softc.9,v 1.4 1999/08/28 00:21:22 peter Exp $ +.\" +.Dd June 16, 1998 +.Dt DEVCLASS_GET_SOFTC 9 +.Os FreeBSD +.Sh 名称 +.Nm devclass_get_softc +.Nd ユニット番号からドライバの私的構造体への変換 +.Sh 書式 +.Fd #include +.Fd #include +.Ft void * +.Fn devclass_get_softc "devclass_t dc" "int unit" +.Sh 解説 +.Pp +この関数は、指定されたユニット番号から、 +そのデバイスのためのドライバの私的なインスタンス変数を取り出し、 +それを返します。 +.Sh 戻り値 +そのデバイスが存在している場合には、 +そのデバイスのドライバの私的な変数が返され、 +そうでない場合には、NULL が返されます。 +.Sh 関連項目 +.Xr device 9 +.Sh 作者 +このマニュアルページは +.An Doug Rabson +が書きました。 diff --git a/ja_JP.eucJP/man/man9/devfs_add_devswf.9 b/ja_JP.eucJP/man/man9/devfs_add_devswf.9 new file mode 100644 index 0000000000..e7a9cc77d4 --- /dev/null +++ b/ja_JP.eucJP/man/man9/devfs_add_devswf.9 @@ -0,0 +1,86 @@ +.\" +.\" Copyright (c) 1995 Joerg Wunsch +.\" +.\" 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/devfs_add_devswf.9,v 1.9.2.1 2000/05/09 18:09:47 mph Exp $ +.\" +.Dd December 31, 1995 +.Os FreeBSD +.Dt DEVFS_ADD_DEVSWF 9 +.Sh 名称 +.Nm devfs_add_devswf +.Nd デバイスをデバイススイッチテーブルに結合 +.Sh 書式 +.Fd #include +.Fd #include +.Ft void * +.Fn devfs_add_devswf "void *devsw" "int minor" "int chrblk" "uid_t uid" "gid_t gid" "int perms" "char *fmt" ... +.Sh 解説 +devfs にエントリを追加する呼び出しは +.Nm devfs_add_devswf +です。 +.Pp +引数は以下の通りです。 +.Bl -tag -width chrblkX +.It Ar devsw +アクセスするべき devsw エントリの名前のアドレス。 +.It Ar minor +マイナ番号。 +.It Ar chrblk +デバイスが CHAR 型か BLK 型か。 +.It Ar uid +所有者 UID。 +.It Ar gid +所有者 GID。 +.It Ar perms +パーミッション (例えば rwxr--r-- = 0744)。 +.It Ar fmt +名前を含む整形された文字列で、 +もし当てはまるならば DEVFS の中のデバイスへのパス名。 +.El +.Sh 戻り値 +トークンを返します。 +このトークンは、同じデバイスに対して他の名前をリンクするため +.Pq Xr devfs_link 9 を参照 +または、そのデバイスを破棄するため +.Pq Xr devfs_remove_dev 9 を参照 +に使用可能です。 +.Sh 関連項目 +.Xr devfs_link 9 , +.Xr devfs_remove_dev 9 +.Sh 歴史 +関数 +.Nm +は +.Fx 2.2 +で登場しました。 +.Sh 作者 +このマニュアルページは +.An Julian Elischer +の解説の後に +.if t J\(:org Wunsch +.if n Joerg Wunsch +が書きました。 diff --git a/ja_JP.eucJP/man/man9/devfs_link.9 b/ja_JP.eucJP/man/man9/devfs_link.9 new file mode 100644 index 0000000000..2cf6754a2e --- /dev/null +++ b/ja_JP.eucJP/man/man9/devfs_link.9 @@ -0,0 +1,66 @@ +.\" +.\" Copyright (c) 1995 Joerg Wunsch +.\" +.\" 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/devfs_link.9,v 1.12 1999/08/28 00:21:22 peter Exp $ +.\" +.Dd December 31, 1995 +.Os FreeBSD +.Dt DEVFS_LINK 9 +.Sh 名称 +.Nm devfs_makelink +.Nd devfs エントリのハードリンクの作成 +.Sh 書式 +.Fd #include +.Fd #include +.Ft void * +.Fn devfs_makelink "void *original" "char *fmt" ... +.Sh 解説 +関数 +.Nm +は以前の +.Fn devfs_add_devswf +または +.Fn devfs_makelink +の呼び出しでのトークンを引数としてとり、それを +.Ar fmt +文字列で示された別の場所にリンクします。 +.Sh 戻り値 +新しくリンクされた devfs エントリのトークンを返します。 +.Sh 関連項目 +.Xr devfs_add_devswf 9 , +.Xr devfs_remove_dev 9 +.Sh 歴史 +関数 +.Nm +は +.Fx 2.2 +で登場しました。 +.Sh 作者 +このマニュアルページは +.if t J\(:org Wunsch +.if n Joerg Wunsch +が書きました。 diff --git a/ja_JP.eucJP/man/man9/devfs_remove_dev.9 b/ja_JP.eucJP/man/man9/devfs_remove_dev.9 new file mode 100644 index 0000000000..028d8588c0 --- /dev/null +++ b/ja_JP.eucJP/man/man9/devfs_remove_dev.9 @@ -0,0 +1,66 @@ +.\" +.\" Copyright (c) 1997 Julian Elischer +.\" +.\" 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 may not claim other authorship to +.\" the exclusion of the copyright holder. +.\" 3. Redistributors of binary releases must be willing if asked, to +.\" admit the true authorship and source of this software. +.\" +.\" 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. +.\" +.\" -translation to english: +.\" - You can't claim it's yours without admitting to the bits I wrote. +.\" - You don't need to say anything in binary releases unless asked. +.\" $FreeBSD: src/share/man/man9/devfs_remove_dev.9,v 1.5.2.1 2000/05/09 14:12:53 sheldonh Exp $ +.\" +.Dd December 25, 1997 +.Os FreeBSD +.Dt DEVFS_REMOVE_DEV 9 +.Sh 名称 +.Nm devfs_remove_dev +.Nd devfs デバイスノードへの全ての参照の削除とそのノードの削除 +.Sh 書式 +.Fd #include +.Fd #include +.Ft void +.Fn devfs_remove_dev "void * token" +.Sh 解説 +関数 +.Nm +は以前の +.Fn devfs_add_devswf +または +.Fn devfs_link +の呼び出しでのトークンを引数としてとり、 +そのデバイスの全ての痕跡をデバイスファイルシステムから削除します。 +.Sh 関連項目 +.Xr devfs_add_devswf 9 , +.Xr devfs_link 9 +.Sh 歴史 +関数 +.Nm +は +.Fx 2.2 +で登場しました。 +.Sh 作者 +DEVFS は +.An Julian Elischer +が書きました。 diff --git a/ja_JP.eucJP/man/man9/device.9 b/ja_JP.eucJP/man/man9/device.9 new file mode 100644 index 0000000000..c6f333016c --- /dev/null +++ b/ja_JP.eucJP/man/man9/device.9 @@ -0,0 +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.9,v 1.7 2000/03/03 14:05:05 sheldonh Exp $ +.\" +.Dd June 16, 1998 +.Dt DEVICE 9 +.Os FreeBSD +.Sh 名称 +.Nm device +.Nd デバイスの抽象表現 +.Sh 書式 +.Dv typedef struct device *device_t; +.Sh 解説 +.Pp +デバイスオブジェクトは拡張カード、カードが挿されるバス、拡張カードに接続される +ディスクドライブなどのシステムにアタッチされたハードウェアの一部を表現します。 +システムは 1 つのデバイス +.Dv root_bus +を定義し、 +他の全てのデバイスは自動コンフィギュレーションの間に動的に生成されます。 +通常、システム (ISA, PCI など) の中のトップレベルのバスを表現するデバイスは、 +.Dv root_bus +に直接アタッチされ、他のデバイスはそれらの適切なバスの子として追加されます。 +.Pp +システムの中のデバイスは木構造を形成します。 +.Dv root_bus +を除く全てのデバイスは親 ( +.Xr device_get_parent 9 +を参照) を持っています。 +加えて、全てのデバイスはそれにアタッチされる子 ( +.Xr device_add_child 9 , +.Xr device_add_child_ordered 9 , +.Xr device_find_child 9 , +.Xr device_get_children 9 , +.Xr device_delete_child 9 +を参照) +を持つことが可能です。 +.Pp +プローブに成功してシステムにアタッチされているデバイスは +ドライバ ( +.Xr device_get_driver 9 +と +.Xr driver 9 +を参照) +およびデバイスクラス ( +.Xr device_get_devclass 9 +と +.Xr devclass 9 +を参照) +も持ちます。 +デバイスの様々な他の属性は、ユニット番号 ( +.Xr device_get_unit 9 +を参照)、 +(通常ドライバによって供給される) 冗長な記述 ( +.Xr device_set_desc 9 +と +.Xr device_get_desc 9 +を参照)、 +バス固有の変数の組 ( +.Xr device_get_ivars 9 +を参照)、 +および driver 固有の変数の組 ( +.Xr device_get_softc 9 +を参照) +を含みます。 +.Pp +デバイスは以下の幾つかの状態の内の 1 つをとることが可能です。 +.Bl -tag -width DS_NOTPRESENT +.It Ar DS_NOTPRESENT +デバイスは存在確認のプローブがされていないか、失敗しました。 +.It Ar DS_ALIVE +デバイスのプローブには成功しましたが、まだアタッチされていません。 +.It Ar DS_ATTACHED +デバイスのアタッチが成功しました。 +.It Ar DS_BUSY +デバイスは現在オープンされています。 +.El +.Pp +デバイスの現在の状態は、 +.Xr device_get_state 9 +の呼び出しにより決定することが可能です。 +.Sh 関連項目 +.Xr devclass 9 , +.Xr driver 9 +.Sh 作者 +このマニュアルページは +.An Doug Rabson +が書きました。 diff --git a/ja_JP.eucJP/man/man9/device_add_child.9 b/ja_JP.eucJP/man/man9/device_add_child.9 new file mode 100644 index 0000000000..012111ccaf --- /dev/null +++ b/ja_JP.eucJP/man/man9/device_add_child.9 @@ -0,0 +1,99 @@ +.\" -*- 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.8.2.1 2000/05/09 14:12:53 sheldonh Exp $ +.\" +.Dd June 16, 1998 +.Dt DEVICE_ADD_CHILD 9 +.Os FreeBSD +.Sh 名称 +.Nm device_add_child , +.Nm device_add_child_ordered +.Nd 存在しているデバイスの子として新しいデバイスを追加 +.Sh 書式 +.Fd #include +.Fd #include +.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 解説 +.Pp +.Fa dev +の新しい子デバイスを追加します。 +.Fa name +および +.Fa unit +引数はデバイスの名前とユニット番号を指定します。 +名前が不明の場合には、呼び出し側は +.Dv NULL +を渡すべきです。 +ユニット番号が不明の場合には、呼び出し側は +.Dv -1 +を渡すべきで、システムは次の使用可能なユニット番号を選択するでしょう。 +.Pp +デバイスの名前は、どのドライバがそのデバイスに適切であるかを +決定するために使用されます。 +名前が指定されている場合には、その名前のドライバのみがプローブされます。 +名前が与えられなかった場合には、 +認識しているバスの全てのドライバがプローブされます。 +.Pp +これは、デバイスインスタンスを独自に識別することができるバス (PCI 等) が、 +個々のドライバが個々のデバイスインスタンスに適合しているか +チェック可能にします。 +供給されたプローブヒントに依存して、 +たった 1 つのドライバがデバイスをプローブ可能なバスでは、 +ドライバの名前はデバイスの名前として指定されるべきです。 +.Pp +通常、ユニット番号はシステムによって時動的に選択されますので、ユニット番号は +.Dv -1 +が与えられるべきです。 +指定のユニット番号が希望された時に (例えば、ハードウェアの一部分を +あらかじめ設定されたユニット番号に結びつけるため)、unit は渡されるべきです。 +指定されたユニット番号が既に割り当てられていた場合には、新しいユニット番号が +割り当てられ、診断メッセージが表示されます。 +.Pp +指定の順序でプローブされなければならないバス (例えば、ISA バス用の幾つかの +デバイスは関連の無いドライバのプローブの試みの失敗に敏感で、それゆえ +最初にプローブされなければならない) にアタッチされたデバイスの場合には、 +.Xr device_add_child_ordered 9 +の +.Fa order +引数が半順序を指定するために使用されるべきです。 +新しいデバイスは、 +既存のより大きい順序を持つすべてのデバイスの前に追加されます。 +.Xr device_add_child 9 +が使用された場合には、順序が 0 であるとして新しい子が追加されます。 +.Sh 戻り値 +成功時には新しいデバイスが、そうでなければ NULL が返されます。 +.Sh 関連項目 +.Xr device 9 +.Sh 作者 +このマニュアルページは +.An Doug Rabson +が書きました。 diff --git a/ja_JP.eucJP/man/man9/device_delete_child.9 b/ja_JP.eucJP/man/man9/device_delete_child.9 new file mode 100644 index 0000000000..a0148cd391 --- /dev/null +++ b/ja_JP.eucJP/man/man9/device_delete_child.9 @@ -0,0 +1,60 @@ +.\" -*- 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_delete_child.9,v 1.3 1999/08/28 00:21:24 peter Exp $ +.\" +.Dd June 16, 1998 +.Dt DEVICE_DELETE_CHILD 9 +.Os FreeBSD +.Sh 名称 +.Nm device_delete_child +.Nd デバイスから子を削除 +.Sh 書式 +.Fd #include +.Fd #include +.Ft int +.Fn device_delete_child "device_t dev" "device_t child" +.Sh 解説 +.Pp +指定されたデバイスを +.Fa dev +から取り除き削除します。 +そのデバイスが現在アタッチされている場合には、先にデタッチ ( +.Xr DEVICE_ATTACH 9 +および +.Xr DEVICE_DETACH 9 +を参照してください) +されます。 +.Sh 戻り値 +成功時には 0 が返され、そうでない場合にはエラーが返されます。 +.Sh 関連項目 +.Xr device_add_child 9 +.Sh 作者 +このマニュアルページは +.An Doug Rabson +が書きました。 diff --git a/ja_JP.eucJP/man/man9/device_enable.9 b/ja_JP.eucJP/man/man9/device_enable.9 new file mode 100644 index 0000000000..b6762a6645 --- /dev/null +++ b/ja_JP.eucJP/man/man9/device_enable.9 @@ -0,0 +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_enable.9,v 1.3 1999/08/28 00:21:24 peter Exp $ +.\" +.Dd June 16, 1998 +.Dt DEVICE_ENABLE 9 +.Os FreeBSD +.Sh 名称 +.Nm device_enable , +.Nm device_disable , +.Nm device_is_enabled +.Nd デバイスの有効フラグの操作 +.Sh 書式 +.Fd #include +.Fd #include +.Ft void +.Fn device_enable "device_t dev" +.Ft void +.Fn device_disable "device_t dev" +.Ft int +.Fn device_is_enabled "device_t dev" +.Sh 解説 +.Pp +個々のデバイスは、結びつけられた有効フラグを持っています。 +デバイスは生成時にはデフォルトで有効になっていますが、(例えば、破壊的または +時間を消費するプローブの試みを防ぐために) 無効にできます。 +デバイスを無効にするには +.Xr device_disable 9 +を呼び出し、再度有効にするには +.Xr device_enable 9 +を呼び出し、デバイスが有効かどうか確認するには +.Xr device_is_enabled 9 +を呼び出します。 +.Sh 関連項目 +.Xr device 9 +.Sh 作者 +このマニュアルページは +.An Doug Rabson +が書きました。 diff --git a/ja_JP.eucJP/man/man9/device_find_child.9 b/ja_JP.eucJP/man/man9/device_find_child.9 new file mode 100644 index 0000000000..0f1d99da0a --- /dev/null +++ b/ja_JP.eucJP/man/man9/device_find_child.9 @@ -0,0 +1,58 @@ +.\" -*- 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_find_child.9,v 1.4 1999/08/28 00:21:24 peter Exp $ +.\" +.Dd June 16, 1998 +.Dt DEVICE_FIND_CHILD 9 +.Os FreeBSD +.Sh 名称 +.Nm device_find_child +.Nd デバイスの子の検索 +.Sh 書式 +.Fd #include +.Fd #include +.Ft device_t +.Fn device_find_child "device_t dev" "const char* name" "int unit" +.Sh 解説 +.Pp +この関数は、 +.Dv dev +の子で、 +.Fa name +および +.Fa unit +を持つものを検索します。 +.Sh 戻り値 +存在している場合には子デバイスが返され、そうでない場合には NULL が返されます。 +.Sh 関連項目 +.Xr device_add_child 9 +.Sh 作者 +このマニュアルページは +.An Doug Rabson +が書きました。 diff --git a/ja_JP.eucJP/man/man9/device_get_children.9 b/ja_JP.eucJP/man/man9/device_get_children.9 new file mode 100644 index 0000000000..202948d4a3 --- /dev/null +++ b/ja_JP.eucJP/man/man9/device_get_children.9 @@ -0,0 +1,62 @@ +.\" -*- 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_get_children.9,v 1.1 1999/12/02 16:34:09 n_hibma Exp $ +.\" +.Dd December 1, 1999 +.Dt DEVICE_GET_CHILDREN 9 +.Os FreeBSD +.Sh 名称 +.Nm device_get_children +.Nd デバイスに接続されているデバイスのリストの取得 +.Sh 書式 +.Fd #include +.Fd #include +.Ft int +.Fn device_get_children "device_t dev" "device_t **devlistp" "int *devcountp" +.Sh 解説 +.Pp +現在 +.Pa dev +に接続されている全てのデバイスインスタンスのリストを取り出し、そのリストを +.Fa *devlistp +に、その個数を +.Fa *devcountp +に入れて返します。 +リストのために割り当てられたメモリは +.Fn free "*devlistp" "M_TEMP" +を使用して開放されるべきです。 +.Sh 戻り値 +成功時には 0 が返され、そうでない場合には適切なエラーが返されます。 +.Sh 関連項目 +.Xr devclass 9 , +.Xr device 9 +.Sh 作者 +このマニュアルページは +.An Doug Rabson +が書きました。 diff --git a/ja_JP.eucJP/man/man9/device_get_devclass.9 b/ja_JP.eucJP/man/man9/device_get_devclass.9 new file mode 100644 index 0000000000..a71517ad75 --- /dev/null +++ b/ja_JP.eucJP/man/man9/device_get_devclass.9 @@ -0,0 +1,54 @@ +.\" -*- 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_get_devclass.9,v 1.3 1999/08/28 00:21:24 peter Exp $ +.\" +.Dd June 16, 1998 +.Dt DEVICE_GET_DEVCLASS 9 +.Os FreeBSD +.Sh 名称 +.Nm device_get_devclass +.Nd デバイスのデバイスクラスへのアクセス +.Sh 書式 +.Fd #include +.Fd #include +.Ft devclass_t +.Fn device_get_devclass "device_t dev" +.Sh 解説 +.Pp +デバイスに関連づけられている現在のデバイスクラスが返されます。 +デバイスがデバイスクラスを持っていない場合には、 +.Dv NULL +が返されます。 +.Sh 関連項目 +.Xr devclass 9 , +.Xr device 9 +.Sh 作者 +このマニュアルページは +.An Doug Rabson +が書きました。 diff --git a/ja_JP.eucJP/man/man9/device_get_driver.9 b/ja_JP.eucJP/man/man9/device_get_driver.9 new file mode 100644 index 0000000000..ba406fe486 --- /dev/null +++ b/ja_JP.eucJP/man/man9/device_get_driver.9 @@ -0,0 +1,54 @@ +.\" -*- 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_get_driver.9,v 1.3 1999/08/28 00:21:25 peter Exp $ +.\" +.Dd June 16, 1998 +.Dt DEVICE_GET_DRIVER 9 +.Os FreeBSD +.Sh 名称 +.Nm device_get_driver +.Nd デバイスのドライバへのアクセス +.Sh 書式 +.Fd #include +.Fd #include +.Ft driver_t * +.Fn device_get_driver "device_t dev" +.Sh 解説 +.Pp +デバイスに関連づけられている現在のドライバが返されます。 +デバイスがドライバを持っていない場合には、 +.Dv NULL +が返されます。 +.Sh 関連項目 +.Xr device 9 , +.Xr driver 9 +.Sh 作者 +このマニュアルページは +.An Doug Rabson +が書きました。 diff --git a/ja_JP.eucJP/man/man9/device_get_flags.9 b/ja_JP.eucJP/man/man9/device_get_flags.9 new file mode 100644 index 0000000000..3dd58b5ca7 --- /dev/null +++ b/ja_JP.eucJP/man/man9/device_get_flags.9 @@ -0,0 +1,59 @@ +.\" -*- nroff -*- +.\" +.\" Copyright (c) 1999 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_set_flags.9,v 1.1 1999/09/12 16:01:11 dfr Exp $ +.\" +.Dd September 6, 1999 +.Dt DEVICE_GET_FLAGS 9 +.Os FreeBSD +.Sh 名称 +.Nm device_set_flags , +.Nm device_get_flags +.Nd ドライバフラグの操作 +.Sh 書式 +.Fd #include +.Fd #include +.Ft void +.Fn device_set_flags "device_t dev" "u_int32_t flags" +.Ft u_int32_t +.Fn device_get_flags "device_t dev" +.Sh 解説 +.Pp +個々のデバイスは、デバイスの振舞いを制御するために使用される +ドライバ依存のフラグの組を、しばしばサポートしています。 +これらのフラグは +.Xr device_get_flags 9 +の呼び出しによって読み込まれ、 +.Xr device_set_flags 9 +の呼び出しによって書き込まれます。 +.Sh 関連項目 +.Xr device 9 +.Sh 作者 +このマニュアルページは +.An Doug Rabson +が書きました。 diff --git a/ja_JP.eucJP/man/man9/device_get_ivars.9 b/ja_JP.eucJP/man/man9/device_get_ivars.9 new file mode 100644 index 0000000000..321ecfb7f0 --- /dev/null +++ b/ja_JP.eucJP/man/man9/device_get_ivars.9 @@ -0,0 +1,50 @@ +.\" -*- 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_get_ivars.9,v 1.3 1999/08/28 00:21:25 peter Exp $ +.\" +.Dd June 16, 1998 +.Dt DEVICE_GET_IVARS 9 +.Os FreeBSD +.Sh 名称 +.Nm device_get_ivars +.Nd バスの私的変数へのアクセス +.Sh 書式 +.Fd #include +.Fd #include +.Ft void * +.Fn device_get_ivars "device_t dev" +.Sh 解説 +.Pp +デバイスのバス固有のインスタンス変数を返します。 +.Sh 関連項目 +.Xr device 9 +.Sh 作者 +このマニュアルページは +.An Doug Rabson +が書きました。 diff --git a/ja_JP.eucJP/man/man9/device_get_softc.9 b/ja_JP.eucJP/man/man9/device_get_softc.9 new file mode 100644 index 0000000000..0e825e6fa1 --- /dev/null +++ b/ja_JP.eucJP/man/man9/device_get_softc.9 @@ -0,0 +1,52 @@ +.\" -*- 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_get_softc.9,v 1.3 1999/08/28 00:21:25 peter Exp $ +.\" +.Dd June 16, 1998 +.Dt DEVICE_GET_SOFTC 9 +.Os FreeBSD +.Sh 名称 +.Nm device_get_softc +.Nd ドライバの私的なインスタンス変数へのアクセス +.Sh 書式 +.Fd #include +.Fd #include +.Ft void * +.Fn device_get_softc "device_t dev" +.Sh 解説 +.Pp +デバイスのドライバ固有のインスタンス変数を返します。 +.Sh 戻り値 +成功時には 0 が返され、そうでない場合にはエラーが返されます。 +.Sh 関連項目 +.Xr device 9 +.Sh 作者 +このマニュアルページは +.An Doug Rabson +が書きました。 diff --git a/ja_JP.eucJP/man/man9/device_get_state.9 b/ja_JP.eucJP/man/man9/device_get_state.9 new file mode 100644 index 0000000000..cfc6f296a4 --- /dev/null +++ b/ja_JP.eucJP/man/man9/device_get_state.9 @@ -0,0 +1,95 @@ +.\" -*- 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_get_state.9,v 1.3 1999/08/28 00:21:26 peter Exp $ +.\" +.Dd June 16, 1998 +.Dt DEVICE_GET_STATE 9 +.Os FreeBSD +.Sh 名称 +.Nm device_get_state , +.Nm device_busy , +.Nm device_unbusy , +.Nm device_is_alive +.Nd デバイス状態の操作 +.Sh 書式 +.Fd #include +.Fd #include +.Ft device_state_t +.Fn device_get_state "device_t dev" +.Ft void +.Fn device_busy "device_t dev" +.Ft void +.Fn device_unbusy "device_t dev" +.Ft int +.Fn device_is_alive "device_t dev" +.Sh 解説 +.Pp +デバイスの現在の状態は、 +.Dv DS_NOTPRESENT , +.Dv DS_ALIVE , +.Dv DS_ATTACHED , +.Dv DS_BUSY +( +.Xr device 9 +で説明されています) を返す +.Xr device_get_state 9 +の呼び出しによってアクセスされます。 +デバイスがうまくプローブされたことを確認するには、単純に状態が +.Dv DS_ALIVE +以上であるかどうかを返す +.Xr device_is_alive 9 +を呼び出します。 +.Pp +個々のデバイスは、 +.Xr device_busy 9 +が呼び出された時にインクリメントされ、 +.Xr device_unbusy 9 +が呼び出された時にデクリメントされるビジーカウントを持っています。 +どちらのルーチンもデバイスの状態が +.Dv DS_ATTACHED +より小さい場合にはエラーを返します。 +.Pp +デバイスが +.Dv DS_ATTACHED +状態で +.Xr device_busy 9 +が呼び出された時には、デバイスは +.Dv DS_BUSY +状態に遷移します。 +.Xr device_unbusy 9 +が呼び出されでデクリメントされた後にデバイスのビジーカウントが 0 ならば、 +デバイスは +.Dv DS_ATTACHED +状態に遷移します。 +.Sh 関連項目 +.Xr device 9 +.Sh 作者 +このマニュアルページは +.An Doug Rabson +が書きました。 diff --git a/ja_JP.eucJP/man/man9/device_get_unit.9 b/ja_JP.eucJP/man/man9/device_get_unit.9 new file mode 100644 index 0000000000..5801cb278e --- /dev/null +++ b/ja_JP.eucJP/man/man9/device_get_unit.9 @@ -0,0 +1,50 @@ +.\" -*- 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_get_unit.9,v 1.3 1999/08/28 00:21:27 peter Exp $ +.\" +.Dd June 16, 1998 +.Dt DEVICE_GET_UNIT 9 +.Os FreeBSD +.Sh 名称 +.Nm device_get_unit +.Nd デバイスのユニット番号へのアクセス +.Sh 書式 +.Fd #include +.Fd #include +.Ft int +.Fn device_get_unit "device_t dev" +.Sh 解説 +.Pp +デバイスのユニット番号を返します。 +.Sh 関連項目 +.Xr device 9 +.Sh 作者 +このマニュアルページは +.An Doug Rabson +が書きました。 diff --git a/ja_JP.eucJP/man/man9/device_probe_and_attach.9 b/ja_JP.eucJP/man/man9/device_probe_and_attach.9 new file mode 100644 index 0000000000..ce2d420f81 --- /dev/null +++ b/ja_JP.eucJP/man/man9/device_probe_and_attach.9 @@ -0,0 +1,61 @@ +.\" -*- 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_and_attach.9,v 1.3 1999/08/28 00:21:27 peter Exp $ +.\" +.Dd June 16, 1998 +.Dt DEVICE_PROBE_AND_ATTACH 9 +.Os FreeBSD +.Sh 名称 +.Nm device_probe_and_attach +.Nd デバイスの初期化 +.Sh 書式 +.Fd #include +.Fd #include +.Ft int +.Fn device_probe_and_attach "device_t dev" +.Sh 解説 +.Pp +この関数は、自動コンフィギュレーションの間に呼び出され、 +システムのデバイスを初期化します。 +個々のデバイスに対して、適切なドライバの +.Xr DEVICE_PROBE 9 +メソッドが呼び出され、プローブに成功した場合には、デバイスの記述が表示され、 +.Xr DEVICE_ATTACH 9 +メソッドが呼び出されます。 +.Xr device_disable 9 +を使用してデバイスが無効にされている場合には、プローブされません。 +.Sh 戻り値 +成功時には 0 が返され、そうでない場合には適切なエラーが返されます。 +.Sh 関連項目 +.Xr device 9 , +.Xr driver 9 +.Sh 作者 +このマニュアルページは +.An Doug Rabson +が書きました。 diff --git a/ja_JP.eucJP/man/man9/device_quiet.9 b/ja_JP.eucJP/man/man9/device_quiet.9 new file mode 100644 index 0000000000..3691b74b56 --- /dev/null +++ b/ja_JP.eucJP/man/man9/device_quiet.9 @@ -0,0 +1,68 @@ +.\" -*- 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: /c/ncvs/src/share/man/man9/device_quiet.9,v 1.3.2.1 2000/12/29 10:18:07 ru Exp $ +.\" +.Dd June 21, 1999 +.Dt DEVICE_QUIET 9 +.Os FreeBSD +.Sh 名称 +.Nm device_quiet , +.Nm device_verbose , +.Nm device_is_quiet +.Nd デバイスの沈黙フラグの操作 +.Sh 書式 +.Fd #include +.Fd #include +.Ft void +.Fn device_quiet "device_t dev" +.Ft void +.Fn device_verbose "device_t dev" +.Ft int +.Fn device_is_quiet "device_t dev" +.Sh 解説 +.Pp +個々のデバイスは結びつけられた沈黙フラグを持っています。 +デバイスは生成時のデフォルトでは冗長ですが、プローブ中に +デバイス識別文字列の出力を妨げるために、沈黙させられます。 +デバイスを沈黙させるには +.Xr device_quiet 9 +を呼び出し、プローブメッセージを再度有効 (例えば +.Xr device_detach 9 +の後に、メッセージが再び現れるようにします) にするには +.Xr device_verbose 9 +を呼び出します。 +デバイスが沈黙状態かどうかを確認するためには +.Xr device_is_quiet 9 +を呼び出します。 +.Sh 関連項目 +.Xr device 9 +.Sh 作者 +このマニュアルページは +.An Doug Rabson +が書きました。 diff --git a/ja_JP.eucJP/man/man9/device_set_desc.9 b/ja_JP.eucJP/man/man9/device_set_desc.9 new file mode 100644 index 0000000000..b286b9493d --- /dev/null +++ b/ja_JP.eucJP/man/man9/device_set_desc.9 @@ -0,0 +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_set_desc.9,v 1.5 2000/03/03 14:05:06 sheldonh Exp $ +.\" +.Dd June 16, 1998 +.Dt DEVICE_SET_DESC 9 +.Os FreeBSD +.Sh 名称 +.Nm device_set_desc , +.Nm device_set_desc_copy , +.Nm device_get_desc +.Nd デバイスの記述にアクセス +.Sh 書式 +.Fd #include +.Fd #include +.Ft void +.Fn device_set_desc "device_t dev" "const char *desc" +.Ft void +.Fn device_set_desc_copy "device_t dev" "const char *desc" +.Ft const char * +.Fn device_get_desc "device_t dev" +.Sh DESCRIPTION +.Pp +デバイスの冗長な記述を操作します。 +(存在するならば) この記述は、 +自動コンフィギュレーションの間のアタッチ時に、 +メッセージの一部として表示されます。 +変種の +.Xr device_set_desc_copy 9 +は、渡される文字列が上書きされるかも知れない一時的なバッファである場合に、 +使用されます。 +この場合にはシステムはその文字列をコピーしますが、 +そうでない場合には渡されたポインタが直接使用されます。 +.Sh 関連項目 +.Xr device 9 +.Sh 作者 +このマニュアルページは +.An Doug Rabson +が書きました。 diff --git a/ja_JP.eucJP/man/man9/devtoname.9 b/ja_JP.eucJP/man/man9/devtoname.9 new file mode 100644 index 0000000000..fc37a4c87b --- /dev/null +++ b/ja_JP.eucJP/man/man9/devtoname.9 @@ -0,0 +1,56 @@ +.\" Copyright (c) 1999 Chris Costello +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" $FreeBSD: src/share/man/man9/devtoname.9,v 1.2.2.1 2000/04/19 02:34:20 chris Exp $ +.\" +.Dd September 25, 1999 +.Os +.Dt DEVTONAME 9 +.Sh 名称 +.Nm devtoname +.Nd dev_t データをデバイス名を示す文字列に変換 +.Sh 書式 +.Fd #include +.Fd #include +.Ft const char * +.Fn devtoname "dev_t dev" +.Sh 解説 +.Fn devtoname +関数は、渡されたデバイスの名前へのポインタを返します。 +名前は +.Fn make_dev +で設定されたものです。 +.Va dev +に関連付けられた名前が無い場合には、 +.Dq # +とそれに続く +.Va dev +に割り当てられている +.Dq Va メジャー Ns / Ns Va マイナ番号 +で構成される文字列へのポインタが返されます。 +.Sh 歴史 +.Fn devtoname +インタフェースは +.Fx 4.0 +で初めて登場しました。 diff --git a/ja_JP.eucJP/man/man9/driver.9 b/ja_JP.eucJP/man/man9/driver.9 new file mode 100644 index 0000000000..a7f0dbcc56 --- /dev/null +++ b/ja_JP.eucJP/man/man9/driver.9 @@ -0,0 +1,109 @@ +.\" -*- 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/driver.9,v 1.3.2.1 2000/09/17 12:41:34 alex Exp $ +.\" +.Dd June 16, 1998 +.Dt DRIVER 9 +.Os FreeBSD +.Sh 名称 +.Nm driver +.Nd デバイスドライバを記述する構造体 +.Sh 書式 +.Bd -literal +#include +#include + +static int foo_probe(device_t); +static int foo_attach(device_t); +static int foo_detach(device_t); +static int foo_frob(device_t, int, int); +static int foo_twiddle(device_t, char *); + +static struct device_method foo_methods[] = { + /* デバイスインタフェースからのメソッド */ + DEVMETHOD(device_probe, foo_probe), + DEVMETHOD(device_attach, foo_attach), + DEVMETHOD(device_detach, foo_detach), + + /* bogo インタフェースからのメソッド */ + DEVMETHOD(bogo_frob, foo_frob), + DEVMETHOD(bogo_twiddle, foo_twiddle), + + /* メソッドリストの終端 */ + { 0, 0 } +}; + +static driver_t foo_driver { + "foo", + foo_methods, + DRIVER_TYPE_MISC, + sizeof(struct foo_softc), +}; + +static devclass_t foo_devclass; + +DRIVER_MODULE(foo, bogo, foo_driver, foo_devclass, 0, 0); +.Ed +.Sh 解説 +カーネルの中の個々のドライバは +.Dv driver_t +構造体によって記述されます。 +この構造体はデバイスの名称、メソッドのリストへのポインタ、 +ドライバが実装したデバイスの種類の表示、 +およびドライバがデバイスインスタンスに関連付けるために必要な私的データの大きさ +を含んでいます。 +各々のドライバは 1 つ以上の (インタフェースと呼ばれる) メソッドの組を +実装します。 +上記の例のドライバは標準の "driver" インタフェースと +仮想的な "bogo" インタフェースを実装しています。 +.Pp +ドライバが ( +.Dv DRIVER_MODULE +マクロによって、 +.Xr DRIVER_MODULE 9 +を参照) システムに登録される時に、 +その親のバスタイプの devclass の中に含まれている +ドライバのリストに追加されます。 +例えば、全ての PCI ドライバは "pci" と名付けられた devclass に含まれ、 +全ての ISA ドライバは "isa" と名付けられた devclass に含まれます。 +ドライバが親のバスのデバイスオブジェクトの中に保持されない理由は、 +与えられたバスのタイプの複数のインスタンスを取り扱うためです。 +.Dv DRIVER_MODULE +マクロはそのドライバの名前の devclass も生成します。 +最後の 2 つの引数として追加のモジュールイベントハンドラとその引数を +与えることによって、 +オプションでドライバの追加の初期化コードを呼び出すことができます。 +.Sh 関連項目 +.Xr DRIVER_MODULE 9 , +.Xr devclass 9 , +.Xr device 9 +.Sh 作者 +このマニュアルページは +.An Doug Rabson +が書きました。 diff --git a/ja_JP.eucJP/man/man9/kernacc.9 b/ja_JP.eucJP/man/man9/kernacc.9 new file mode 100644 index 0000000000..c6c1ce9bb0 --- /dev/null +++ b/ja_JP.eucJP/man/man9/kernacc.9 @@ -0,0 +1,91 @@ +.\" %NetBSD: access.9,v 1.1 1996/06/16 10:38:35 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/kernacc.9,v 1.7 2000/03/03 14:05:06 sheldonh Exp % +.\" +.Dd June 16, 1996 +.Dt KERNACC 9 +.Os FreeBSD +.Sh 名称 +.Nm kernacc , +.Nm useracc +.Nd メモリ領域がアクセス可能か否かの調査 +.Sh 書式 +.Fd #include +.Fd #include +.Fd #include +.Ft int +.Fn kernacc "caddr_t addr" "int len" "int rw" +.Ft int +.Fn useracc "caddr_t addr" "int len" "int rw" +.Sh 解説 +.Fn kernacc +および +.Fn useracc +関数は、 +.Fa addr +および +.Fa len +によって与えられる仮想アドレス範囲で、 +.Fa rw +で指定された操作のタイプが許可されるかどうかを調査します。 +.Fa rw +の指定可能な値は、 +.Dv VM_PROT_READ , +.Dv VM_PROT_WRITE +および +.Dv VM_PROT_EXECUTE +の論理合成値です。 +.Fn kernacc +はカーネルアドレス空間の中のアドレスを調べ、一方 +.Fn useracc +は +.Fa addr +をユーザ空間のアドレス表現とみなします。 +この操作に使用されるプロセスコンテキストは大域変数 +.Va curproc +から得られます。 +.Pp +.Sh 戻り値 +どちらの関数も、 +.Fa rw +によって指定されるタイプのアクセスが許可されている場合には、 +ブール値 true を返します。 +そうでない場合には、ブール値 false が返されます。 +.Pp +.Sh バグ +.Fn useracc +への引数として、プロセスへのポインタが渡されるべきです。 diff --git a/ja_JP.eucJP/man/man9/make_dev.9 b/ja_JP.eucJP/man/man9/make_dev.9 new file mode 100644 index 0000000000..0ad777532d --- /dev/null +++ b/ja_JP.eucJP/man/man9/make_dev.9 @@ -0,0 +1,96 @@ +.\" Copyright (c) 1999 Chris Costello +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" %FreeBSD: src/share/man/man9/make_dev.9,v 1.2 1999/12/23 17:16:31 bde Exp % +.\" +.Dd September 25, 1999 +.Os +.Dt MAKE_DEV 9 +.Sh 名称 +.Nm make_dev , +.Nm destroy_dev +.Nd 新しいデバイスのための dev_t および devfs 登録の作成と削除 +.Sh 書式 +.Fd #include +.Fd #include +.Ft dev_t +.Fn make_dev "struct cdevsw *cdevsw" "int minor" "uid_t uid" "gid_t gid" "int perms" "char *fmt" ... +.Ft void +.Fn destroy_dev "dev_t dev" +.Sh 解説 +.Fn make_dev +関数は新しいデバイスのための +.Fa dev_t +構造体を作成します。 +DEVFS が利用可能な場合、 +DEVFS にもまた新しいデバイスの存在が通知されます。 +そのデバイスは +.Va uid +によって所有され、 +.Va gid +のグループに所有され、 +.Va name +で指定される名前を持ちます。 +.Va perms +に指定するファイルのパーミッションは +.Aq Pa sys/stat.h +で定義されています。 +.Pp +.Bd -literal -offset indent -compact +#define S_IRWXU 0000700 /* 所有者の RWX マスク +#define S_IRUSR 0000400 /* 所有者の R */ +#define S_IWUSR 0000200 /* 所有者の W */ +#define S_IXUSR 0000100 /* 所有者の X */ + +#define S_IRWXG 0000070 /* グループの RWX マスク */ +#define S_IRGRP 0000040 /* グループの R */ +#define S_IWGRP 0000020 /* グループの W */ +#define S_IXGRP 0000010 /* グループの X */ + +#define S_IRWXO 0000007 /* その他の RWX マスク */ +#define S_IROTH 0000004 /* その他の R */ +#define S_IWOTH 0000002 /* その他の W */ +#define S_IXOTH 0000001 /* その他の X */ + +#define S_ISUID 0004000 /* 実行時にユーザ ID を設定 */ +#define S_ISGID 0002000 /* 実行時にグループ ID を設定 */ +#define S_ISVTX 0001000 /* スティッキービット */ +#ifndef _POSIX_SOURCE +#define S_ISTXT 0001000 +#endif +.Ed +.Pp +.Fn destroy_dev +関数は、 +.Fn make_dev +から返された +.Fa dev_t +をとり、そのデバイスの登録を削除します。 +.Sh 歴史 +.Fn make_dev +および +.Fn destroy_dev +関数は +.Fx 4.0 +で初めて登場しました。 diff --git a/ja_JP.eucJP/man/man9/microtime.9 b/ja_JP.eucJP/man/man9/microtime.9 new file mode 100644 index 0000000000..1b1c969b95 --- /dev/null +++ b/ja_JP.eucJP/man/man9/microtime.9 @@ -0,0 +1,109 @@ +.\" Copyright (c) 2000 Kelly Yancey +.\" 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/microtime.9,v 1.2.2.1 2000/12/08 14:59:20 ru Exp % +.\" +.Dd January 3, 2000 +.Dt MICROTIME 9 +.Os FreeBSD +.Sh 名称 +.Nm microtime , +.Nm getmicrotime , +.Nm nanotime , +.Nm getnanotime +.Nd 現在時刻の取得 +.Sh 書式 +.Fd #include +.Ft void +.Fn microtime "struct timeval *tv" +.Ft void +.Fn getmicrotime "struct timeval *tv" +.Ft void +.Fn nanotime "struct timespec *ts" +.Ft void +.Fn getnanotime "struct timespec *tsp" +.Sh 解説 +.Fn microtime +および +.Fn getmicrotime +関数は、 +.Fa tv +によって指定されたアドレスに、 +.Ft timeval +構造体として、システム時刻を保存します。 +.Fn nanotime +および +.Fn getnanotime +関数は、同じ作用を実行しますが、代りに +.Ft timespec +構造体として時刻を記録します。 +.Pp +.Fn microtime +および +.Fn nanotime +は、可能な限り正確な現在時刻を返す時刻カウンタを、常に請求します。 +それに反して、 +.Fn getmicrotime +および +.Fn getnanotime +関数は、正確ではないが高速に得られる時刻を代りに返し得る抽象化です。 +この振舞いは、kern.timecounter.method sysctl 変数により、 +切り替えることができます。 +.Bl -tag -width ABC +.It Dv 0 +高速なコード実行を選択して、正確さを犠牲にします。 +.It Dv 1 +( +.Fn microtime +または +.Fn nanotime +の呼び出しと同等の) より正確な時刻を返します。 +.El +.Pp +.Fn getmicrotime +および +.Fn getnanotime +関数の意図は、タイマの正確さ対実行時間のユーザの好みを強化することです。 +.Sh 関連項目 +.Xr getmicrouptime 9 , +.Xr getnanouptime 9 , +.Xr microuptime 9 , +.Xr nanouptime 9 , +.Xr tvtohz 9 +.Sh 診断 +バグのあるハードウェアは kern.timecounter.method が 0 に設定されている時に、 +"calcru negative..." を起こすことがあります。 +.Sh 歴史 +.Nm +および +.Nm nanotime +関数は +.Fx 3.0 +で初めて登場しましたが、別の形で +.Bx 4.4 +から存在していました。 +.Sh 作者 +このマニュアルページは +.An Kelly Yancey Aq kbyanc@posi.net +が書きました。 diff --git a/ja_JP.eucJP/man/man9/microuptime.9 b/ja_JP.eucJP/man/man9/microuptime.9 new file mode 100644 index 0000000000..637229bd96 --- /dev/null +++ b/ja_JP.eucJP/man/man9/microuptime.9 @@ -0,0 +1,100 @@ +.\" Copyright (c) 2000 Kelly Yancey +.\" 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/microuptime.9,v 1.2 2000/03/03 14:05:08 sheldonh Exp % +.\" +.Dd January 3, 2000 +.Dt MICROUPTIME 9 +.Os FreeBSD +.Sh 名称 +.Nm microuptime , +.Nm getmicrouptime , +.Nm nanouptime , +.Nm getnanouptime +.Nd 起動からの経過時間の取得 +.Sh 書式 +.Fd #include +.Ft void +.Fn microuptime "struct timeval *tv" +.Ft void +.Fn getmicrouptime "struct timeval *tv" +.Ft void +.Fn nanouptime "struct timespec *ts" +.Ft void +.Fn getnanouptime "struct timespec *tsp" +.Sh 解説 +.Fn microuptime +および +.Fn getmicrouptime +関数は、 +.Fa tv +によって指定されたアドレスに、 +.Ft timeval +構造体として、起動からの経過時間を保存します。 +.Fn nanouptime +および +.Fn getnanouptime +関数は、同じ作用を実行しますが、代りに +.Ft timespec +構造体として経過時間を記録します。 +.Pp +.Fn microuptime +および +.Fn nanouptime +は、常に可能な限り正確な現在時刻を返す時刻カウンタを請求します。 +それに反して、 +.Fn getmicrouptime +および +.Fn getnanouptime +関数は、正確ではないが高速に得られる時刻を代りに返し得る抽象化です。 +この振舞いは、kern.timecounter.method sysctl 変数により、 +切り替えることができます。 +.Bl -tag -width ABC +.It Dv 0 +高速なコード実行を選択して、正確さを犠牲にします。 +.It Dv 1 +( +.Fn microuptime +または +.Fn nanouptime +の呼び出しと同等の) より正確な時刻を返します。 +.El +.Pp +.Fn getmicrouptime +および +.Fn getnanouptime +関数の意図は、タイマの正確さ対実行時間のユーザの好みを強化することです。 +.Sh 関連項目 +.Xr getmicrotime 9 , +.Xr getnanotime 9 , +.Xr microtime 9 , +.Xr nanotime 9 , +.Xr tvtohz 9 +.Sh 診断 +バグのあるハードウェアは kern.timecounter.method が 0 に設定されている時に、 +"calcru negative..." を起こすことがあります。 +.Sh 作者 +このマニュアルページは +.An Kelly Yancey Aq kbyanc@posi.net +が書きました。 diff --git a/ja_JP.eucJP/man/man9/tvtohz.9 b/ja_JP.eucJP/man/man9/tvtohz.9 new file mode 100644 index 0000000000..a457cdbb31 --- /dev/null +++ b/ja_JP.eucJP/man/man9/tvtohz.9 @@ -0,0 +1,59 @@ +.\" Copyright (c) 2000 Kelly Yancey +.\" 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/tvtohz.9,v 1.1 2000/01/07 12:42:59 phantom Exp % +.\" +.Dd January 3, 2000 +.Dt TVTOHZ 9 +.Os FreeBSD +.Sh 名称 +.Nm tvtohz +.Nd 時間間隔からティック数への変換 +.Sh 書式 +.Fd #include +.Ft int +.Fn tvtohz "struct timeval *tv" +.Sh 解説 +.Fn tvtohz +関数は、時間間隔を示す単一引数 +.Fa tv +を受け付けます。 +この時間間隔中に、システムティックが何個経過するかを計算します。 +.Sh 戻り値 +指定された時間間隔中に経過すると予測されるシステムティック数を、 +整数で返します。 +この数には、現在のティックも含まれます。 +.Sh 関連項目 +.Xr microtime 9 , +.Xr microuptime 9 , +.Xr timeout 9 +.Sh 歴史 +.Nm +関数は、 +.Fx 3.0 +で初めて登場しました。 +.Sh 作者 +このマニュアルページは +.An Kelly Yancey Aq kbyanc@posi.net +が書きました。 diff --git a/ja_JP.eucJP/man/man9/vget.9 b/ja_JP.eucJP/man/man9/vget.9 new file mode 100644 index 0000000000..19c829a216 --- /dev/null +++ b/ja_JP.eucJP/man/man9/vget.9 @@ -0,0 +1,72 @@ +.\" -*- 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/vget.9,v 1.5 1999/08/28 00:21:34 peter Exp $ +.\" +.Dd July 24, 1996 +.Os +.Dt VGET 9 +.Sh 名称 +.Nm vget +.Nd 開放リストから vnode を取得 +.Sh 書式 +.Fd #include +.Fd #include +.Ft int +.Fn vget "struct vnode *vp" "int lockflag" "struct proc *p" +.Sh 解説 +フリーリストから vnode を取得し、その参照カウントをインクリメントします。 +.Bl -tag -width lockflag +.It Ar vp +フリーリストから取り除く vnode。 +.It Ar lockflag +0 でない場合は、その vnode はロックもされるでしょう。 +.El +.Pp +使用されなくなった時、vnode はフリーリストに保持されます。 +これらの vnode は有効なファイルを参照していますが、 +いつでも新しいファイルを参照するために再利用され得ます。 +vnode は、名前キャッシュ等の +システム中のキャッシュの中にも、しばしば保持されます。 +.Pp +フリーリスト上にある vnode が再利用される時、例えば +.Xr VOP_LOOKUP 9 +を呼び出した結果名前キャッシュにその vnode が見つかった場合、 +参照カウントのインクリメントとフリーリストからの削除のために、 +新しい使用者は +.Xr vget 9 +を呼び出すことが必要です。 +.Sh 関連項目 +.Xr vnode 9 , +.Xr vput 9 , +.Xr vref 9 , +.Xr vrele 9 +.Sh 作者 +このマニュアルページは +.An Doug Rabson +が書きました。 diff --git a/ja_JP.eucJP/man/man9/vput.9 b/ja_JP.eucJP/man/man9/vput.9 new file mode 100644 index 0000000000..bde8250d15 --- /dev/null +++ b/ja_JP.eucJP/man/man9/vput.9 @@ -0,0 +1,64 @@ +.\" -*- 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/vput.9,v 1.6.2.1 2000/05/09 14:12:53 sheldonh Exp $ +.\" +.Dd July 24, 1996 +.Os +.Dt VPUT 9 +.Sh 名称 +.Nm vput +.Nd vnode の使用カウントのデクリメントとロック解除 +.Sh 書式 +.Fd #include +.Fd #include +.Ft void +.Fn vput "struct vnode *vp" +.Sh 解説 +vnode の +.Dv v_usecount +フィールドをデクリメントし、その vnode のロックを解除します。 +.Bl -tag -width vpXX +.It Ar vp +デクリメントされる vnode。 +.El +.Pp +この操作は、 +.Xr vrele 9 +が続く +.Xr VOP_UNLOCK 9 +の呼び出しと、機能的に同等です。 +.Sh 関連項目 +.Xr vnode 9 , +.Xr VOP_UNLOCK 9 , +.Xr vref 9 , +.Xr vrele 9 +.Sh 作者 +このマニュアルページは +.An Doug Rabson +が書きました。 diff --git a/ja_JP.eucJP/man/man9/vref.9 b/ja_JP.eucJP/man/man9/vref.9 new file mode 100644 index 0000000000..8bc599aee9 --- /dev/null +++ b/ja_JP.eucJP/man/man9/vref.9 @@ -0,0 +1,69 @@ +.\" -*- 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.6 1999/08/28 00:21:35 peter Exp $ +.\" +.Dd July 24, 1996 +.Os +.Dt VREF 9 +.Sh 名称 +.Nm vref +.Nd vnode の使用カウントのインクリメント +.Sh 書式 +.Fd #include +.Fd #include +.Ft void +.Fn vref "struct vnode *vp" +.Sh 解説 +vnode の +.Dv v_usecount +フィールドをインクリメントします。 +.Bl -tag -width vpXX +.It Ar vp +インクリメントされる vnode。 +.El +.Pp +個々の vnode は、システムの何個の部分でその vnode が使用中であるかを示す +参照カウントを維持管理します。 +これにより、 +vnode がもはや使われなくなって別のファイル用に安全に再利用可能なことを、 +ファイルシステムが検知可能となります。 +.Pp +vnode を使用中のシステム中の全てのコード (例えば、 +あるアルゴリズムの操作中や、データ構造の格納時) は、 +.Xr vref 9 +を呼び出すべきです。 +.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/vrele.9 b/ja_JP.eucJP/man/man9/vrele.9 new file mode 100644 index 0000000000..011e75cf7a --- /dev/null +++ b/ja_JP.eucJP/man/man9/vrele.9 @@ -0,0 +1,67 @@ +.\" -*- 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/vrele.9,v 1.6 1999/08/28 00:21:35 peter Exp $ +.\" +.Dd July 24, 1996 +.Os +.Dt VRELE 9 +.Sh 名称 +.Nm vrele +.Nd vnode の使用カウントのデクリメント +.Sh 書式 +.Fd #include +.Fd #include +.Ft void +.Fn vrele "struct vnode *vp" +.Sh 解説 +vnode の +.Dv v_usecount +フィールドをデクリメントします。 +.Bl -tag -width vpXX +.It Ar vp +デクリメントされる vnode。 +.El +.Pp +vnode を使用中のシステム中の全てのコードは、 +その vnode を使い終えた時には、 +.Xr vrele 9 +を呼び出すべきです。 +その vnode の +.Dv v_usecount +フィールドが 0 に達した場合には、その vnode はフリーリストに置かれます。 +.Sh 関連項目 +.Xr vget 9 , +.Xr vnode 9 , +.Xr vput 9 , +.Xr vref 9 +.Sh 作者 +このマニュアルページは +.An Doug Rabson +が書きました。 +