Initial Japanese translation

Submitted by:	Akira Ikeuchi <a_ikeuchi@mic.mitsumi.co.jp>
This commit is contained in:
Kazuo Horikawa 2003-08-17 19:22:33 +00:00
parent 9dd46fa936
commit 19ac9aeb76
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=17897
13 changed files with 1198 additions and 2 deletions

View file

@ -0,0 +1,75 @@
.\"
.\" Copyright (C) 2001 Chad David <davidc@acns.ab.ca>. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice(s), this list of conditions and the following disclaimer as
.\" the first lines of this file unmodified other than the possible
.\" addition of one or more copyright notices.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice(s), this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) ``AS IS'' AND ANY
.\" EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
.\" DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) BE LIABLE FOR ANY
.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
.\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
.\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
.\" CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
.\" DAMAGE.
.\"
.\" %FreeBSD: src/share/man/man9/BUF_LOCK.9,v 1.7 2001/12/26 23:14:04 davidc Exp %
.\"
.\" $FreeBSD$
.Dd July 9, 2001
.Dt BUF_LOCK 9
.Os
.Sh 名称
.Nm BUF_LOCK
.Nd バッファのロック
.Sh 書式
.In sys/param.h
.In sys/systm.h
.In sys/uio.h
.In sys/bio.h
.In sys/buf.h
.Ft int
.Fn BUF_LOCK "struct buf *bp" "int locktype"
.Sh 解説
.Fn BUF_LOCK
関数は与えられたバッファをロックします。
既にロックされている場合には、
.Dv LK_NOWAIT
が設定されていなければそのロックを取得できるまでの間、
この呼び出しはブロックされます。
.Pp
引数は以下の通りです。
.Bl -tag -width ".Fa locktype"
.It Fa bp
ロックされるべきバッファです。
.It Fa locktype
ロックの型を制御するフラグです。
詳細については
.Xr lockmgr 9
を参照して下さい。
.El
.Sh 戻り値
成功時には、値 0 が返されます。
0 ではない戻り値についての情報は
.Xr lockmgr 9
を参照して下さい。
.Sh 関連項目
.Xr buf 9 ,
.Xr BUF_TIMELOCK 9 ,
.Xr BUF_UNLOCK 9 ,
.Xr lockmgr 9
.Sh 作者
このマニュアルページは
.An Chad David Aq davidc@acns.ab.ca
が書きました。

View file

@ -0,0 +1,64 @@
.\"
.\" Copyright (C) 2001 Chad David <davidc@acns.ab.ca>. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice(s), this list of conditions and the following disclaimer as
.\" the first lines of this file unmodified other than the possible
.\" addition of one or more copyright notices.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice(s), this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) ``AS IS'' AND ANY
.\" EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
.\" DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) BE LIABLE FOR ANY
.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
.\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
.\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
.\" CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
.\" DAMAGE.
.\"
.\" %FreeBSD: src/share/man/man9/BUF_LOCKFREE.9,v 1.6 2001/12/26 23:14:04 davidc Exp %
.\"
.\" $FreeBSD$
.Dd July 9, 2001
.Dt BUF_LOCKFREE 9
.Os
.Sh 名称
.Nm BUF_LOCKFREE
.Nd バッファのロックの削除
.Sh 書式
.In sys/param.h
.In sys/systm.h
.In sys/uio.h
.In sys/bio.h
.In sys/buf.h
.Ft void
.Fn BUF_LOCKFREE "struct buf *bp"
.Sh 解説
.Fn BUF_LOCKFREE
マクロはバッファのロックを破壊します。
このマクロが呼び出される時には、ロックが保持されていなければなりません。
さもなければパニックします。
.Pp
引数は以下の通りです。
.Bl -tag -width ".Fa bp"
.It Fa bp
ロックが破壊されるべきバッファです。
.El
.Sh 関連項目
.Xr buf 9 ,
.Xr BUF_LOCK 9 ,
.Xr BUF_TIMELOCK 9 ,
.Xr BUF_UNLOCK 9 ,
.Xr lockdestroy 9
.Sh 作者
このマニュアルページは
.An Chad David Aq davidc@acns.ab.ca
が書きました。

View file

@ -0,0 +1,63 @@
.\"
.\" Copyright (C) 2001 Chad David <davidc@acns.ab.ca>. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice(s), this list of conditions and the following disclaimer as
.\" the first lines of this file unmodified other than the possible
.\" addition of one or more copyright notices.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice(s), this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) ``AS IS'' AND ANY
.\" EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
.\" DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) BE LIABLE FOR ANY
.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
.\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
.\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
.\" CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
.\" DAMAGE.
.\"
.\" %FreeBSD: src/share/man/man9/BUF_LOCKINIT.9,v 1.6 2001/12/26 23:14:04 davidc Exp %
.\"
.\" $FreeBSD$
.Dd July 9, 2001
.Dt BUF_LOCKINIT 9
.Os
.Sh 名称
.Nm BUF_LOCKINIT
.Nd ロックされたバッファのロック解除
.Sh 書式
.In sys/param.h
.In sys/systm.h
.In sys/uio.h
.In sys/bio.h
.In sys/buf.h
.Ft void
.Fn BUF_LOCKINIT "struct buf *bp"
.Sh 解説
.Fn BUF_LOCKINIT
マクロはバッファのロックを初期化します。
.Pp
引数は以下の通りです。
.Bl -tag -width ".Fa bp"
.It Fa bp
ロックを初期化されるべきバッファです。
.El
.Sh 関連項目
.Xr buf 9 ,
.Xr BUF_LOCK 9 ,
.Xr BUF_TIMELOCK 9 ,
.Xr BUF_UNLOCK 9 ,
.Xr lockinit 9 ,
.Xr lockmgr 9
.Sh 作者
このマニュアルページは
.An Chad David Aq davidc@acns.ab.ca
が書きました。

View file

@ -0,0 +1,62 @@
.\"
.\" Copyright (C) 2001 Chad David <davidc@acns.ab.ca>. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice(s), this list of conditions and the following disclaimer as
.\" the first lines of this file unmodified other than the possible
.\" addition of one or more copyright notices.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice(s), this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) ``AS IS'' AND ANY
.\" EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
.\" DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) BE LIABLE FOR ANY
.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
.\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
.\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
.\" CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
.\" DAMAGE.
.\"
.\" %FreeBSD: src/share/man/man9/BUF_REFCNT.9,v 1.6 2001/12/26 23:14:04 davidc Exp %
.\"
.\" $FreeBSD$
.Dd July 9, 2001
.Dt BUF_REFCNT 9
.Os
.Sh 名称
.Nm BUF_REFCNT
.Nd バッファのロックの参照カウントの取得
.Sh 書式
.In sys/param.h
.In sys/systm.h
.In sys/uio.h
.In sys/bio.h
.In sys/buf.h
.Ft int
.Fn BUF_REFCNT "struct buf *bp"
.Sh 解説
.Fn BUF_REFCNT
関数はバッファのロックの参照カウントを返します。
.Pp
引数は以下の通りです。
.Bl -tag -width ".Fa bp"
.It Fa bp
ロックの参照カウントを返すべきバッファです。
.El
.Sh 関連項目
.Xr buf 9 ,
.Xr BUF_LOCK 9 ,
.Xr BUF_TIMELOCK 9 ,
.Xr BUF_UNLOCK 9 ,
.Xr lockcount 9
.Sh 作者
このマニュアルページは
.An Chad David Aq davidc@acns.ab.ca
が書きました。

View file

@ -0,0 +1,83 @@
.\"
.\" Copyright (C) 2001 Chad David <davidc@acns.ab.ca>. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice(s), this list of conditions and the following disclaimer as
.\" the first lines of this file unmodified other than the possible
.\" addition of one or more copyright notices.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice(s), this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) ``AS IS'' AND ANY
.\" EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
.\" DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) BE LIABLE FOR ANY
.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
.\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
.\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
.\" CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
.\" DAMAGE.
.\"
.\" %FreeBSD: src/share/man/man9/BUF_TIMELOCK.9,v 1.8 2002/01/09 11:43:45 mpp Exp %
.\"
.\" $FreeBSD$
.Dd July 9, 2001
.Dt BUF_TIMELOCK 9
.Os
.Sh 名称
.Nm BUF_TIMELOCK
.Nd バッファのロック
.Sh 書式
.In sys/param.h
.In sys/systm.h
.In sys/uio.h
.In sys/bio.h
.In sys/buf.h
.Ft int
.Fn BUF_TIMELOCK "struct buf *bp" "int locktype" "char *wmesg" "int catch" "int timo"
.Sh 解説
.Fn BUF_TIMELOCK
関数は与えられたバッファをロックし、スリープする時間量を
.Fa timo
に制限し、さらにそのスリープの優先度と
.Fa catch
の OR をとります。
.Fa wmesg
はスリープで使用される状態文字列です。
.Pp
引数は以下の通りです。
.Bl -tag -width ".Fa locktype"
.It Fa bp
ロックされるべきバッファです。
.It Fa locktype
ロックの型を制御するフラグです。
詳細については
.Xr lockmgr 9
を参照して下さい。
.It Fa wmesg
ロックを獲得している間の全てのスリープで使用される状態文字列です。
.It Fa catch
スリープの優先度に OR をとる優先度です。
.It Fa timo
ロックされている間に発生する全てのスリープのためのタイムアウトです。
.El
.Sh 戻り値
成功時には、値 0 が返されます。
0 ではない戻り値についての詳細は
.Xr lockmgr 9
を参照して下さい。
.Sh 関連項目
.Xr buf 9 ,
.Xr BUF_LOCK 9 ,
.Xr BUF_UNLOCK 9 ,
.Xr lockmgr 9
.Sh 作者
このマニュアルページは
.An Chad David Aq davidc@acns.ab.ca
が書きました。

View file

@ -0,0 +1,66 @@
.\"
.\" Copyright (C) 2001 Chad David <davidc@acns.ab.ca>. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice(s), this list of conditions and the following disclaimer as
.\" the first lines of this file unmodified other than the possible
.\" addition of one or more copyright notices.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice(s), this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) ``AS IS'' AND ANY
.\" EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
.\" DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) BE LIABLE FOR ANY
.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
.\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
.\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
.\" CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
.\" DAMAGE.
.\"
.\" %FreeBSD: src/share/man/man9/BUF_UNLOCK.9,v 1.6 2001/12/26 23:14:04 davidc Exp %
.\"
.\" $FreeBSD$
.Dd July 9, 2001
.Dt BUF_UNLOCK 9
.Os
.Sh 名称
.Nm BUF_UNLOCK
.Nd ロックされたバッファのロック解除
.Sh 書式
.In sys/param.h
.In sys/systm.h
.In sys/uio.h
.In sys/bio.h
.In sys/buf.h
.Ft void
.Fn BUF_UNLOCK "struct buf *bp"
.Sh 解説
.Fn BUF_UNLOCK
関数は以前に
.Fn BUF_LOCK
または
.Fn BUF_TIMELOCK
を用いてロックされたバッファを、ロック解除します。
.Pp
引数は以下の通りです。
.Bl -tag -width ".Fa bp"
.It Fa bp
ロック解除されるべきバッファです。
このバッファは既にロックされていなければなりません。
.El
.Sh 関連項目
.Xr buf 9 ,
.Xr BUF_LOCK 9 ,
.Xr BUF_TIMELOCK 9 ,
.Xr lockmgr 9
.Sh 作者
このマニュアルページは
.An Chad David Aq davidc@acns.ab.ca
が書きました。

View file

@ -0,0 +1,61 @@
.\" Copyright (c) 2003 Hiten M. Pandya
.\"
.\" 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/CTASSERT.9,v 1.2 2003/05/30 21:13:32 ru Exp %
.\"
.\" $FreeBSD$
.Dd May 15, 2003
.Os
.Dt CTASSERT 9
.Sh 名称
.Nm CTASSERT
.Nd コンパイル時のアサーションマクロ
.Sh 書式
.In sys/param.h
.In sys/systm.h
.Fn CTASSERT expression
.Sh 解説
.Fn CTASSERT
マクロは
.Fa expression
をコンパイル時に評価し、それが偽の場合にはコンパイラエラーを発生させます。
.Pp
.Fn CTASSERT
マクロは重要なデータ構造体または変数のサイズまたはアライメントを
コンパイル時にアサートするのに便利です。
これは実行時にコードを失敗させる事とは異なります。
.Sh 使用例
.Vt uuid
構造体の大きさが 16 バイトであることをアサートします。
.Pp
.Dl "CTASSERT(sizeof(struct uuid) == 16);"
.Sh 関連項目
.Xr KASSERT 9
.Sh 作者
このマニュアルページは
.An Hiten M. Pandya
.Aq hmp@FreeBSD.org
が書きました。

View file

@ -1,7 +1,14 @@
# $FreeBSD$
MAN9 = BUS_PRINT_CHILD.9\
MAN9 = BUF_LOCK.9\
BUF_LOCKFREE.9\
BUF_LOCKINIT.9\
BUF_REFCNT.9\
BUF_TIMELOCK.9\
BUF_UNLOCK.9\
BUS_PRINT_CHILD.9\
BUS_READ_IVAR.9\
BUS_SETUP_INTR.9\
CTASSERT.9\
DECLARE_MODULE.9\
DELAY.9\
DEVICE_ATTACH.9\
@ -23,6 +30,7 @@ MAN9 = BUS_PRINT_CHILD.9\
VFS_MOUNT.9\
VFS_QUOTACTL.9\
VFS_ROOT.9\
VFS_SET.9\
VFS_START.9\
VFS_STATFS.9\
VFS_SYNC.9\
@ -39,6 +47,7 @@ MAN9 = BUS_PRINT_CHILD.9\
VOP_GETACL.9\
VOP_GETEXTATTR.9\
VOP_GETPAGES.9\
VOP_GETVOBJECT.9\
VOP_INACTIVE.9\
VOP_IOCTL.9\
VOP_LEASE.9\
@ -54,13 +63,14 @@ MAN9 = BUS_PRINT_CHILD.9\
VOP_REALLOCBLKS.9\
VOP_REMOVE.9\
VOP_RENAME.9\
VOP_REVOKE.9\
VOP_SETACL.9\
VOP_SETEXTATTR.9\
VOP_STRATEGY.9\
acl.9\
accept_filter.9\
accf_data.9\
accf_http.9\
acl.9\
bios.9\
boot.9\
buf.9\
@ -105,6 +115,7 @@ MAN9 = BUS_PRINT_CHILD.9\
inittodr.9\
intro.9\
kernacc.9\
lock.9\
make_dev.9\
malloc.9\
mi_switch.9\
@ -114,6 +125,7 @@ MAN9 = BUS_PRINT_CHILD.9\
module.9\
panic.9\
physio.9\
printf.9\
psignal.9\
resettodr.9\
sbuf.9\
@ -149,6 +161,8 @@ 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_GETVOBJECT.9 VOP_CREATEVOBJECT.9
MLINKS+=VOP_GETVOBJECT.9 VOP_DESTROYVOBJECT.9
MLINKS+=VOP_INACTIVE.9 VOP_RECLAIM.9
MLINKS+=VOP_LOCK.9 VOP_ISLOCKED.9
MLINKS+=VOP_LOCK.9 VOP_UNLOCK.9
@ -210,6 +224,10 @@ 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+= lock.9 lockinit.9 lock.9 lockdestroy.9
MLINKS+= lock.9 lockcount.9 lock.9 lockmgr.9
MLINKS+= lock.9 lockstatus.9 lock.9 lockmgr_printinfo.9
MLINKS+=microtime.9 getmicrotime.9
MLINKS+=microtime.9 nanotime.9
MLINKS+=microtime.9 getnanotime.9
@ -217,6 +235,9 @@ MLINKS+=microuptime.9 getmicrouptime.9
MLINKS+=microuptime.9 nanouptime.9
MLINKS+=microuptime.9 getnanouptime.9
MLINKS+= printf.9 uprintf.9
MLINKS+= printf.9 tprintf.9
MLINKS+=suser.9 suser_cred.9
MLINKS+=sysctl_add_oid.9 sysctl_remove_oid.9

View file

@ -0,0 +1,106 @@
.\"
.\" Copyright (C) 2001 Chad David <davidc@acns.ab.ca>. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice(s), this list of conditions and the following disclaimer as
.\" the first lines of this file unmodified other than the possible
.\" addition of one or more copyright notices.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice(s), this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) ``AS IS'' AND ANY
.\" EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
.\" DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) BE LIABLE FOR ANY
.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
.\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
.\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
.\" CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
.\" DAMAGE.
.\"
.\" %FreeBSD: src/share/man/man9/VFS_SET.9,v 1.5 2003/05/16 15:21:20 hmp Exp %
.\"
.\" $FreeBSD$
.Dd December 2, 2001
.Dt VFS_SET 9
.Os
.Sh 名称
.Nm VFS_SET
.Nd ローダブルファイルシステム
.Vt vfsconf
のセットアップ
.Sh 書式
.In sys/param.h
.In sys/kernel.h
.In sys/module.h
.In sys/mount.h
.Ft void
.Fn VFS_SET "struct vfsops *vfsops" "fsname" "int flags"
.Sh 解説
.Fn VFS_SET
はローダブルモジュールのために与えられた
.Fa vfsops , fsname
および
.Fa flags ,
.Vt vfsconf
構造体を作成し、イベントハンドラとして
.Fn vfs_modevent
を使用して
.Xr DECLARE_MODULE 9
の呼び出しによって宣言します。
.Pp
.Fa flags
引数のために利用可能な値は以下に記述されています。
.Bl -hang -width VFCF_SYNTHETIC
.It Dv VFCF_STATIC
ファイルシステムはカーネル内で静的に利用可能であるべきです。
.It Dv VFCF_NETWORK
ネットワークにエクスポート可能なファイルシステムです。
.It Dv VFCF_READONLY
書き込み操作がサポートされていません。
.It Dv VFCF_SYNTHETIC
疑似ファイルシステムであり、データはディスク上のファイルを表現していません。
.It Dv VFCF_LOOPBACK
ループバックファイルシステムレイヤです。
.It Dv VFCF_UNICODE
ファイル名は Unicode として格納されます。
.El
.Sh 疑似コード
.Bd -literal
/*
* 使用するものを記述し、残りは vfs_std を使用します。
*/
static struct vfsops myfs_vfsops = {
myfs_mount,
vfs_stdstart,
myfs_unmount,
myfs_root,
vfs_stdquotactl,
myfs_statfs,
vfs_stdsync,
vfs_stdvget,
vfs_stdfhtovp,
vfs_stdcheckexp,
vfs_stdvptofh,
vfs_stdinit,
vfs_stduninit,
vfs_stdextattrctl,
};
VFS_SET(myfs_vfsops, skelfs, 0);
.Ed
.Sh 関連項目
.Xr DECLARE_MODULE 9 ,
.Xr vfsconf 9 ,
.Xr vfs_modevent 9
.Sh 作者
このマニュアルページは
.An Chad David Aq davidc@acns.ab.ca
が書きました。

View file

@ -0,0 +1,118 @@
.\" -*- nroff -*-
.\"
.\" Copyright (c) 2000 Boris Popov
.\"
.\" 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_GETVOBJECT.9,v 1.6 2002/12/12 17:25:58 ru Exp %
.\"
.\" $FreeBSD$
.Dd September 10, 2000
.Os
.Dt VOP_CREATEVOBJECT 9
.Sh 名称
.Nm VOP_CREATEVOBJECT ,
.Nm VOP_DESTROYVOBJECT ,
.Nm VOP_GETVOBJECT
.Nd VM オブジェクトの相互作用
.Sh 書式
.In sys/param.h
.In sys/vnode.h
.Ft int
.Fn VOP_CREATEVOBJECT "struct vnode *vp" "struct ucred *cred" "struct thread *td"
.Ft int
.Fn VOP_DESTROYVOBJECT "struct vnode *vp"
.Ft int
.Fn VOP_GETVOBJECT "struct vnode *vp" "struct vm_object **objpp"
.Sh 解説
これらの呼び出しは、VM オブジェクトと特有の vnode の連係を制御するために
使用されます。
.Pp
これらの関数で指定する引数は以下の通りです。
.Bl -tag -width objpp
.It Fa vp
そのファイルの vnode です。
.It Fa objpp
返される VM オブジェクト、または呼び出し側がその VM オブジェクトの
存在のテストをする場合には
.Dv NULL
です。
.El
.Pp
与えられた
.Xr vnode 9
のために VM オブジェクトを作成する必要がある時には、
.Xr VFS 9
.Fn VOP_CREATEVOBJECT
を実行します。
ファイルシステムのコードはこの呼び出しを下層のファイルシステムに
渡すことができます。
この VOP は何度も呼び出されることが可能で、ファイルシステムのコードは
追加の全ての呼び出しを無視し、0 を返すコードで終了するべきです。
.Pp
.Xr vnode 9
が再利用された時には、
.Fn VOP_DESTROYVOBJECT
が呼び出されます。
.Pp
VM オブジェクトを取得するために全てのカーネルのコードで、
.Fn VOP_GETVOBJECT
が使用されるべきです。
.\" XXX 次の文は何を伝えようとしているのだろう?
返された VM オブジェクトは、重ねられたマウントの場合には
異なったファイルシステムに属するかもしれません。
.Pp
.Xr VFS 9
は VM オブジェクトの作成および破壊の標準の操作を実行する、
3 つの関数を持っています。
これらの関数は
.Fn vop_stdcreatevobject ,
.Fn vop_stddestroyvobject
および
.Fn vop_stdgetvobject
です。
.Pp
.Em 注意 :
.Xr vnode 9
は入る時にロックされているべきで、終了時までロックされ続けていなければ
なりません。
.Sh 戻り値
.Fn VOP_CREATEVOBJECT ,
.Fn VOP_DESTROYVOBJECT
および
.Fn VOP_GETVOBJECT
関数は成功時には 0 を返し、失敗時には 0 ではない値を返します。
成功時には 0 が返され、そうでなければエラーが返されます。
.Sh 使用例
.\" なぜここにあるコードは、このマニュアルページに説明されていない関数を
.\" 使用していないの?
デフォルトでは、ファイルシステムは
.Fn vop_std*
関数に VM オブジェクトの取り扱いを委ねます。
.Sh 関連項目
.Xr vnode 9 ,
.Xr VOP_GETPAGES 9 ,
.Xr VOP_PUTPAGES 9
.Sh 作者
このマニュアルページは
.An Boris Popov
が書きました。

View file

@ -0,0 +1,72 @@
.\" -*- nroff -*-
.\"
.\" Copyright (c) 2002 Networks Associates Technology, Inc.
.\" All rights reserved.
.\"
.\" This software was developed for the FreeBSD Project by NAI Labs, the
.\" Security Research Division of Network Associates, Inc. under
.\" DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the DARPA
.\" CHATS research program.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. The names of the authors may not be used to endorse or promote
.\" products derived from this software without specific prior written
.\" permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" %FreeBSD: src/share/man/man9/VOP_REVOKE.9,v 1.5 2002/03/18 16:40:07 ru Exp %
.\"
.\" $FreeBSD$
.Dd February 5, 2002
.Os
.Dt VOP_REVOKE 9
.Sh 名称
.Nm VOP_REVOKE
.Nd "デバイスとその別名へのアクセスの取り消し"
.Sh 書式
.In sys/param.h
.In sys/vnode.h
.Ft int
.Fn VOP_REVOKE "struct vnode *vp" "int flags"
.Sh 解説
.Fn VOP_REVOKE
は管理上、
.Fa vp
によって指定されたデバイスと
.Xr make_dev_alias 9
によって作成されたあらゆる別名へのアクセスを取り消します。
既にオープンしているプロセスによるこれら全てのデバイス上のファイル操作は、
普通は失敗します。
全てのアクセスが取り消されることを示すために、
.Fa flags
.Dv REVOKEALL
に設定されなければなりません。他の全ての値は無効です。
.Sh ロック
.Fa vp
は入る時にロック解除されていなければならず、戻る時までロック解除され続けます。
.Sh 関連項目
.Xr make_dev_alias 9 ,
.Xr vnode 9
.Sh 作者
このマニュアルページは
.An Brian Fundakowski Feldman
が書きました。

280
ja_JP.eucJP/man/man9/lock.9 Normal file
View file

@ -0,0 +1,280 @@
.\"
.\" Copyright (C) 2002 Chad David <davidc@acns.ab.ca>. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice(s), this list of conditions and the following disclaimer as
.\" the first lines of this file unmodified other than the possible
.\" addition of one or more copyright notices.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice(s), this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) ``AS IS'' AND ANY
.\" EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
.\" DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) BE LIABLE FOR ANY
.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
.\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
.\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
.\" CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
.\" DAMAGE.
.\"
.\" %FreeBSD: src/share/man/man9/lock.9,v 1.10 2002/04/12 05:16:27 davidc Exp %
.\"
.\" $FreeBSD$
.Dd July 9, 2001
.Dt LOCK 9
.Os
.Sh 名称
.Nm lockinit ,
.Nm lockdestroy ,
.Nm lockcount ,
.Nm lockmgr ,
.Nm lockstatus ,
.Nm lockmgr_printinfo
.Nd lockmgr ファミリの関数
.Sh 書式
.In sys/types.h
.In sys/lockmgr.h
.Ft void
.Fn lockinit "struct lock *lkp" "int prio" "const char *wmesg" "int timo" "int flags"
.Ft void
.Fn lockdestroy "struct lock *lkp"
.Ft int
.Fn lockcount "struct lock *lkp"
.Ft int
.Fn lockmgr "struct lock *lkp" "u_int flags" "struct mtx *interlkp" "struct thread *td"
.Ft int
.Fn lockstatus "struct lock *lkp" "struct thread *td"
.Ft void
.Fn lockmgr_printinfo "struct lock *lkp"
.Sh 解説
.Fn lockinit
関数はロックを初期化するために使用されます。
これはロックに関する実行されることが可能なあらゆる操作の前に、
呼び出されなければなりません。
引数は以下の通りです。
.Bl -tag -width ".Fa wmesg"
.It Fa lkp
初期化されるべきロックへのポインタです。
.It Fa prio
.Xr msleep 9
に渡される優先度です。
.It Fa wmesg
ロックのメッセージです。
これはデバッグ出力と
.Xr msleep 9
の両方のために使用されます。
.It Fa timo
.Xr msleep 9
に渡されるタイムアウト値です。
.It Fa flags
ロックを初期化するために使用されるべきフラグです。
.Bl -tag -width ".Dv LG_CANRECURSE"
.It Dv LK_NOWAIT
ロックを獲得するとき、スリープしません。
.It Dv LK_SLEEPFAIL
スリープした後に失敗します。
.It Dv LK_CANRECURSE
再帰的な排他ロックを許可します。
.It Dv LK_REENABLE
ロックをドレインした後、そのロックを再度有効化します。
.It Dv LK_NOPAUSE
ロックを獲得するとき、スピンロックを使用しません。
.It Dv LK_TIMELOCK
スリープしている間
.Fa timo
を使用します。そうでなければ 0 が使用されます。
.El
.El
.Pp
.Fn lockdestroy
関数はロックを破壊するために使用され、カーネル内のいくつかの場所で
呼び出されますが、現在は何もしません。
.Pp
.Fn lockcount
関数はロック
.Fa lkp
に対する排他ロックと共有ロックのカウント数を返します。
.Pp
.Fn lockmgr
関数は共有ロックと排他ロックおよび再帰のサポートを含む、
カーネル内部の一般的なロック機能を取り扱います。
.Fn lockmgr
はロックのアップグレードとダウングレードも可能です。
.Pp
引数は以下の通りです。
.Bl -tag -width ".Fa interlkp"
.It Fa lkp
操作するべきロックへのポインタです。
.It Fa flags
行なわれるべき操作を示しているフラグです。
.Bl -tag -width ".Dv LK_EXCLUPGRADE"
.It Dv LK_SHARED
共有ロックを獲得します。
現在排他ロックが保持されている場合には、ダウングレードされます。
.It Dv LK_EXCLUSIVE
排他ロックを獲得します。
既に排他ロックが保持されていて、
.Dv LK_CANRECURSE
が設定されていない場合には、システムは
.Xr panic 9
します。
.It Dv LK_DOWNGRADE
排他ロックから共有ロックにダウングレードします。
共有ロックのダウングレードは許可されていません。
排他ロックが既に再帰している場合には、全ての参照がダウングレードされます。
.It Dv LK_EXCLUPGRADE
共有ロックから排他ロックにアップグレードします。
他の誰かが先にアップグレードを待っている最中の場合には、
.Er EBUSY
で失敗します。
この呼び出しが失敗した場合には、その共有ロックは失われます。
排他ロックのアップグレードの試みは
.Xr panic 9
を引き起こします。
.It Dv LK_UPGRADE
共有ロックから排他ロックにアップグレードします。
この呼び出しが失敗した場合には、その共有ロックは失われます。
排他ロックのアップグレードの試みは
.Xr panic 9
を引き起こします。
.It Dv LK_RELEASE
ロックを解放します。
保持していないロックの解放は、
.Xr panic 9
を引き起こすことがあります。
.It Dv LK_DRAIN
ロック上の全ての行動の終了を待ち、それから役割を終えた印を付けます。
今にも解放されようとしているメモリの一部分のロックを解放する前に使用されます。
.Aq ( Pa sys/lockmgr.h
に解説されています。)
.It Dv LK_SLEEPFAIL
操作がスリープした場合には、失敗します。
.It Dv LK_NOWAIT
この呼び出しがスリープすることを認めません。
これはロックをテストするために使用することが可能です。
.It Dv LK_CANRECURSE
排他ロック上の再帰を認めます。
それぞれのロックに対し、解放が存在しなければなりません。
.It Dv LK_INTERLOCK
(既にロックされているべき) 相互ロックをロック解除します。
.El
.It Fa interlkp
ロックへのグループアクセスを制御するための相互ロック mutex です。
.Dv LK_INTERLOCK
が指定された場合には、
.Fn lockmgr
.Fa interlkp
は現在所有されていて再帰していないと仮定し、ロック解除されて返します。
.Xr mtx_assert 9
を参照してください。
.It Fa td
この呼び出しに責任があるレッドです。
.Dv NULL
.Dv LK_KERNPROC
になります。
.El
.Pp
.Fn lockstatus
関数は渡された
.Vt thread
に関するロックの状態を返します。
.Fa td
.Dv NULL
で排他ロックが保持されている場合には、
.Dv LK_EXCLUSIVE
が返されます。
.Pp
.Fn lockmgr_printinfo
関数はロックについてのデバッグ情報を出力します。
これは主に
.Xr VOP_PRINT 9
関数によって使用されます。
.Sh 戻り値
.Fn lockcount
関数は 0 以上の整数を返します。
.Pp
.Fn lockmgr
関数は成功時には 0 を、失敗時には 0 ではない値を返します。
.Pp
.Fn lockstatus
関数は以下の値を返します。
.Bl -tag -width ".Dv LK_EXCLUSIVE"
.It Dv LK_EXCLUSIVE
スレッド
.Fa td
によって排他ロックが保持されています。
.It Dv LK_EXCLOTHER
スレッド
.Fa td
ではない他の誰かよって排他ロックが保持されています。
.It Dv LK_SHARED
共有ロックが保持されています。
.It Li 0
だれもロックを保持していません。
.El
.Sh エラー
.Fn lockmgr
は次の場合に失敗します。
.Bl -tag -width Er
.It Bq Er EBUSY
.Dv LK_FORCEUPGRADE
が要求されて、ほかのスレッドが既にロックのアップグレードを要求しています。
.It Bq Er EBUSY
.Dv LK_NOWAIT
が設定されて、スリープが要求されていました。
.It Bq Er ENOLCK
.Dv LK_SLEEPFAIL
が設定されて、
.Fn lockmgr
は既にスリープしました。
.It Bq Er EINTR
ロックの優先度に
.Dv PCATCH
が設定されて、スリープしている間にシグナルが配送されました。
下記の
.Er ERESTART
エラーに注意してください。
.It Bq Er ERESTART
ロックの優先度に
.Dv PCATCH
が設定されて、スリープしている間にシグナルが配送され、システムコールが
再スタートされました。
.It Bq Er EWOULDBLOCK
0 でないタイムアウトが与えられ、そのタイムアウトが満了しました。
.El
.Sh ロック
.Fn lockmgr
への
.Fa flags
引数に
.Dv LK_INTERLOCK
が渡された場合には、
.Fa interlkp
.Fn lockmgr
を呼び出すために以前に保持されていなければならず、ロック解除されて返されます。
.Pp
失敗するアップグレードの試みは、現在保持しているロックを失わせる
結果になります。
また、排他ロックのアップグレードは無効で、試行の結果として
.Xr panic 9
を引き起こします。
.Sh 関連項目
.Xr msleep 9 ,
.Xr mtx_assert 9 ,
.Xr panic 9 ,
.Xr VOP_PRINT 9
.Sh 作者
このマニュアルページは
.An Chad David Aq davidc@acns.ab.ca
が書きました。

View file

@ -0,0 +1,125 @@
.\"
.\" Copyright (c) 2001 Andrew R. Reiter
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
.\" BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
.\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
.\" AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
.\" OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" %FreeBSD: src/share/man/man9/printf.9,v 1.3 2001/10/01 16:09:25 ru Exp %
.\"
.\" $FreeBSD$
.Dd April 25, 2001
.Dt PRINTF 9
.Os
.Sh 名称
.Nm printf , uprintf , tprintf
.Nd フォーマットされた出力の変換
.Sh 書式
.In sys/types.h
.In sys/systm.h
.Ft int
.Fn printf "const char *fmt" "..."
.Ft void
.Fn tprintf "struct proc *p" "int pri" "const char *fmt" "..."
.Ft int
.Fn uprintf "const char *fmt" "..."
.Sh 解説
.Xr printf 9
ファミリの関数は
.Xr printf 3
ファミリの関数と類似しています。
この 3 つの関数はそれぞれ異なった出力ストリームを使用します。
.Fn uprintf
関数は現在のプロセスが制御している tty に出力しますが、
.Fn printf
はロギングファシリティおよびコンソールに出力します。
.Fn tprintf
関数は
.Fa pri
\&-1 でない場合には、プロセス
.Fa p
に関連づけられた tty およびロギングファシリティに出力します。
.Pp
これらそれぞれの関連した関数は、
.Xr printf 3
と同じ方法で
.Fa fmt
パラメータを使用します。
しかしながら、
.Xr printf 9
は 2 つの他の変換指定子を追加しています。
.Pp
.Cm \&%b
識別子は 2 つの引数を期待します。
.Vt int
および
.Vt "char *"
です。
これらはビットマスクのデコードのため、
レジスタ値と印字マスクとして使用されます。
この印字マスクは 2 つの部分で構成されます。基数と引数です。
基数値は整数値として表現される出力の基数です。
例えば、\\10 は 8 進数を \\20 は 16 進数を与えます。
引数はビット識別子の並びとして構成されます。
個々のビット識別子はこの識別子が表すビット番号の整数値で始まります。
識別子の残り部分はそのビットの名前を含む文字列です。
この文字列は次のビット識別子の始まりのビット番号、
または最後のビット識別子のために
.Dv NUL
で終端されます。
.Pp
.Cm \&%D
識別子は 16 進ダンプを補助することを意図されています。
.Cm \&%D
これは 2 つの引数を要求します。
.Vt "u_char *"
ポインタおよび
.Vt "char *"
文字列です。
ポインタが指しているメモリは、16 進数で一度に 1 バイト出力されます。
文字列は個々のバイトの間のデリミタとして使用されます。
もし存在すれば、幅ディレクティブが表示するバイト数を指定します。
デフォルトでは、16 バイトのデータが出力されます。
.Sh 戻り値
.Fn printf
および
.Fn uprintf
関数は表示された文字数を返します。
.Sh 使用例
この使用例は \&%b および \&%D 変換指定子の使用方法を示しています。
関数
.Bd -literal -offset indent
void
printf_test(void)
{
printf("reg=%b\\n", 3, "\\10\\2BITTWO\\1BITONE\\n");
printf("out: %4D\\n", "AAAA", ":");
}
.Ed
.Pp
は下記の出力を発生させます。
.Bd -literal -offset indent
reg=3<BITTWO,BITONE>
out: 41:41:41:41
.Ed
.Sh 関連項目
.Xr printf 3