Initial Japanese translations
Submitted by: Akira Ikeuchi <a_ikeuchi@mic.mitsumi.co.jp>
This commit is contained in:
parent
0cd4f33c61
commit
775db488ec
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=18416
19 changed files with 1865 additions and 5 deletions
|
@ -74,14 +74,21 @@ MAN9 = BUF_LOCK.9\
|
|||
bios.9\
|
||||
boot.9\
|
||||
buf.9\
|
||||
bus_activate_resource.9\
|
||||
bus_alloc_resource.9\
|
||||
bus_child_present.9\
|
||||
bus_generic_attach.9\
|
||||
bus_generic_detach.9\
|
||||
bus_generic_print_child.9\
|
||||
bus_generic_read_ivar.9\
|
||||
bus_generic_shutdown.9\
|
||||
bus_release_resource.9\
|
||||
bus_set_resource.9\
|
||||
byteorder.9\
|
||||
cd.9\
|
||||
cdevsw_add.9\
|
||||
cdevsw_remove.9\
|
||||
condvar.9\
|
||||
copy.9\
|
||||
devclass.9\
|
||||
devclass_add_driver.9\
|
||||
|
@ -100,18 +107,25 @@ MAN9 = BUF_LOCK.9\
|
|||
device_get_devclass.9\
|
||||
device_get_driver.9\
|
||||
device_get_ivars.9\
|
||||
device_get_name.9\
|
||||
device_get_parent.9\
|
||||
device_get_softc.9\
|
||||
device_get_state.9\
|
||||
device_get_unit.9\
|
||||
device_ids.9\
|
||||
device_printf.9\
|
||||
device_probe_and_attach.9\
|
||||
device_quiet.9\
|
||||
device_set_desc.9\
|
||||
device_set_driver.9\
|
||||
device_set_flags.9\
|
||||
devstat.9\
|
||||
devsw.9\
|
||||
devtoname.9\
|
||||
driver.9\
|
||||
extattr.9\
|
||||
fetch.9\
|
||||
groupmember.9\
|
||||
inittodr.9\
|
||||
intro.9\
|
||||
kernacc.9\
|
||||
|
@ -126,16 +140,20 @@ MAN9 = BUF_LOCK.9\
|
|||
panic.9\
|
||||
physio.9\
|
||||
printf.9\
|
||||
pseudofs.9\
|
||||
psignal.9\
|
||||
resettodr.9\
|
||||
sbuf.9\
|
||||
sema.9\
|
||||
sleep.9\
|
||||
spl.9\
|
||||
store.9\
|
||||
style.9\
|
||||
suser.9\
|
||||
sx.9\
|
||||
sysctl_add_oid.9\
|
||||
sysctl_ctx_init.9\
|
||||
taskqueue.9\
|
||||
time.9\
|
||||
timeout.9\
|
||||
tvtohz.9\
|
||||
|
@ -172,6 +190,7 @@ 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+=bus_activate_resource.9 bus_deactivate_resource.9
|
||||
MLINKS+=copy.9 copyin.9 copy.9 copyinstr.9 copy.9 copyout.9 copy.9 copystr.9
|
||||
MLINKS+=devstat.9 devicestat.9
|
||||
MLINKS+=devstat.9 devstat_add_entry.9
|
||||
|
@ -210,10 +229,13 @@ 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_ivars.9 device_set_ivars.9
|
||||
MLINKS+=device_get_name.9 device_get_nameunit.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_get_state.9 device_is_attached.9
|
||||
MLINKS+=device_ids.9 major.9 device_ids.9 umajor.9
|
||||
MLINKS+=device_ids.9 minor.9 device_ids.9 uminor.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
|
||||
|
@ -224,9 +246,26 @@ 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+=byteorder.9 bswap16.9 byteorder.9 bswap32.9 byteorder.9 bswap64.9
|
||||
MLINKS+=byteorder.9 be16toh.9 byteorder.9 be32toh.9 byteorder.9 be64toh.9
|
||||
MLINKS+=byteorder.9 htobe16.9 byteorder.9 htobe32.9 byteorder.9 htobe64.9
|
||||
MLINKS+=byteorder.9 le16toh.9 byteorder.9 le32toh.9 byteorder.9 le64toh.9
|
||||
MLINKS+=byteorder.9 htole16.9 byteorder.9 htole32.9 byteorder.9 htole64.9
|
||||
MLINKS+=byteorder.9 be16enc.9 byteorder.9 be32enc.9 byteorder.9 be64enc.9
|
||||
MLINKS+=byteorder.9 be16dec.9 byteorder.9 be32dec.9 byteorder.9 be64dec.9
|
||||
MLINKS+=byteorder.9 le16enc.9 byteorder.9 le32enc.9 byteorder.9 le64enc.9
|
||||
MLINKS+=byteorder.9 le16dec.9 byteorder.9 le32dec.9 byteorder.9 le64dec.9
|
||||
|
||||
MLINKS+=condvar.9 cv_init.9 condvar.9 cv_destroy.9
|
||||
MLINKS+=condvar.9 cv_wait.9 condvar.9 cv_wait_sig.9
|
||||
MLINKS+=condvar.9 cv_timedwait.9 condvar.9 cv_timedwait_sig.9
|
||||
MLINKS+=condvar.9 cv_signal.9 condvar.9 cv_broadcast.9
|
||||
MLINKS+=condvar.9 cv_waitq_remove.9 condvar.9 cv_waitq_empty.9
|
||||
MLINKS+=condvar.9 cv_wmesg.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
|
||||
|
@ -235,11 +274,16 @@ 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+=printf.9 uprintf.9
|
||||
MLINKS+=printf.9 tprintf.9
|
||||
|
||||
MLINKS+=suser.9 suser_cred.9
|
||||
|
||||
MLINKS+=sx.9 sx_init.9 sx.9 sx_destroy.9 sx.9 sx_slock.9 sx.9 sx_xlock.9
|
||||
MLINKS+=sx.9 sx_try_slock.9 sx.9 sx_try_xlock.9 sx.9 sx_sunlock.9
|
||||
MLINKS+=sx.9 sx_xunlock.9 sx.9 sx_try_upgrade.9 sx.9 sx_downgrade.9
|
||||
MLINKS+=sx.9 sx_assert.9 sx.9 SX_SYSINIT.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
|
||||
|
@ -271,6 +315,19 @@ MLINKS+=sbuf.9 sbuf_delete.9
|
|||
MLINKS+=sbuf.9 sbuf_trim.9
|
||||
MLINKS+=sbuf.9 sbuf_vprintf.9
|
||||
|
||||
MLINKS+=sema.9 sema_init.9 sema.9 sema_destroy.9 sema.9 sema_post.9
|
||||
MLINKS+=sema.9 sema_wait.9 sema.9 sema_timedwait.9
|
||||
MLINKS+=sema.9 sema_trywait.9 sema.9 sema_value.9
|
||||
|
||||
MLINKS+=taskqueue.9 TASKQUEUE_DECLARE.9
|
||||
MLINKS+=taskqueue.9 TASKQUEUE_DEFINE.9
|
||||
MLINKS+=taskqueue.9 TASK_INIT.9
|
||||
MLINKS+=taskqueue.9 taskqueue_create.9
|
||||
MLINKS+=taskqueue.9 taskqueue_enqueue.9
|
||||
MLINKS+=taskqueue.9 taskqueue_find.9
|
||||
MLINKS+=taskqueue.9 taskqueue_free.9
|
||||
MLINKS+=taskqueue.9 taskqueue_run.9
|
||||
|
||||
MLINKS+=zone.9 uma.9
|
||||
MLINKS+=zone.9 uma_zalloc.9
|
||||
MLINKS+=zone.9 uma_zcreate.9
|
||||
|
|
95
ja_JP.eucJP/man/man9/bus_activate_resource.9
Normal file
95
ja_JP.eucJP/man/man9/bus_activate_resource.9
Normal file
|
@ -0,0 +1,95 @@
|
|||
.\" -*- nroff -*-
|
||||
.\"
|
||||
.\" Copyright (c) 2003 M. Warner Losh
|
||||
.\"
|
||||
.\" All rights reserved.
|
||||
.\"
|
||||
.\" This program is free software.
|
||||
.\"
|
||||
.\" Redistribution and use in source and binary forms, with or without
|
||||
.\" modification, are permitted provided that the following conditions
|
||||
.\" are met:
|
||||
.\" 1. Redistributions of source code must retain the above copyright
|
||||
.\" notice, this list of conditions and the following disclaimer.
|
||||
.\" 2. Redistributions in binary form must reproduce the above copyright
|
||||
.\" notice, this list of conditions and the following disclaimer in the
|
||||
.\" documentation and/or other materials provided with the distribution.
|
||||
.\"
|
||||
.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
|
||||
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
.\"
|
||||
.\" %FreeBSD: src/share/man/man9/bus_activate_resource.9,v 1.3 2003/05/30 21:13:32 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd March 28, 2003
|
||||
.Dt BUS_ACTIVATE_RESOURCE 9
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm bus_activate_resource , bus_deactivate_resource
|
||||
.Nd リソースの活性化または非活性化
|
||||
.Sh 書式
|
||||
.In sys/param.h
|
||||
.In sys/bus.h
|
||||
.Pp
|
||||
.In machine/bus.h
|
||||
.In sys/rman.h
|
||||
.In machine/resource.h
|
||||
.Ft int
|
||||
.Fo bus_activate_resource
|
||||
.Fa "device_t dev" "int type" "int rid" "struct resource *r"
|
||||
.Fc
|
||||
.Ft int
|
||||
.Fo bus_deactivate_resource
|
||||
.Fa "device_t dev" "int type" "int rid" "struct resource *r"
|
||||
.Fc
|
||||
.Sh 解説
|
||||
これらの関数は、その前に割り当てられたリソースを活性化または非活性化します。
|
||||
一般的に、バスドライバがそのリソースをデバイス空間にマップできるように
|
||||
するため、リソースはドライバによってアクセスされる前に活性化されなければ
|
||||
なりません。
|
||||
.Pp
|
||||
引数は以下の通りです。
|
||||
.Bl -tag -width indent
|
||||
.It Fa dev
|
||||
そのリソースの所有を要求するデバイスです。
|
||||
割り当ての前には、そのリソースは親のバスによって所有されています。
|
||||
.It Fa type
|
||||
割り当てたいリソースの型です。
|
||||
これは下記の中の 1 つです。
|
||||
.Pp
|
||||
.Bl -tag -width ".Dv SYS_RES_MEMORY" -compact
|
||||
.It Dv SYS_RES_IRQ
|
||||
IRQ のリソースです。
|
||||
.It Dv SYS_RES_DRQ
|
||||
ISA DMA ラインのリソースです。
|
||||
.It Dv SYS_RES_IOPORT
|
||||
I/O ポートのリソースです。
|
||||
.It Dv SYS_RES_MEMORY
|
||||
I/O メモリのリソースです。
|
||||
.El
|
||||
.It Fa rid
|
||||
割り当てられているリソースを識別するバス特有のハンドルへのポインタです。
|
||||
.It Fa r
|
||||
.Xr bus_alloc_resource 9
|
||||
によって返される
|
||||
.Vt "struct resource"
|
||||
へのポインタです。
|
||||
.El
|
||||
.Sh 戻り値
|
||||
成功時には 0 が返され、そうでなければエラーが返されます。
|
||||
.Sh 関連項目
|
||||
.Xr bus_alloc_resource 9 ,
|
||||
.Xr device 9 ,
|
||||
.Xr driver 9
|
||||
.Sh 作者
|
||||
このマニュアルページは
|
||||
.An Warner Losh Aq imp@FreeBSD.org
|
||||
が書きました。
|
90
ja_JP.eucJP/man/man9/bus_child_present.9
Normal file
90
ja_JP.eucJP/man/man9/bus_child_present.9
Normal file
|
@ -0,0 +1,90 @@
|
|||
.\" -*- nroff -*-
|
||||
.\"
|
||||
.\" Copyright (c) 2003 M. Warner Losh
|
||||
.\"
|
||||
.\" All rights reserved.
|
||||
.\"
|
||||
.\" This program is free software.
|
||||
.\"
|
||||
.\" Redistribution and use in source and binary forms, with or without
|
||||
.\" modification, are permitted provided that the following conditions
|
||||
.\" are met:
|
||||
.\" 1. Redistributions of source code must retain the above copyright
|
||||
.\" notice, this list of conditions and the following disclaimer.
|
||||
.\" 2. Redistributions in binary form must reproduce the above copyright
|
||||
.\" notice, this list of conditions and the following disclaimer in the
|
||||
.\" documentation and/or other materials provided with the distribution.
|
||||
.\"
|
||||
.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
|
||||
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
.\"
|
||||
.\" %FreeBSD: src/share/man/man9/bus_child_present.9,v 1.2 2003/05/30 21:13:32 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd March 27, 2003
|
||||
.Dt BUS_CHILD_PRESENT 9
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm bus_child_present
|
||||
.Nd バスドライバへのデバイスが実際に存在しているかどうかの確認の問い合わせ
|
||||
.Sh 書式
|
||||
.In sys/param.h
|
||||
.In sys/bus.h
|
||||
.Pp
|
||||
.In machine/bus.h
|
||||
.In sys/rman.h
|
||||
.In machine/resource.h
|
||||
.Ft int
|
||||
.Fn bus_child_present "device_t dev"
|
||||
.Sh 解説
|
||||
.Fn bus_child_present
|
||||
関数は、
|
||||
.Fa dev
|
||||
の親デバイスドライバに対し、
|
||||
.Fa dev
|
||||
で記述されるハードウェアが現時点でいまだに物理的にアクセス可能であるか
|
||||
どうかをチェックすることを要求します。
|
||||
利用可能の概念はバス毎に異なりますが、
|
||||
一般的には利用できないハードウェアとは、利用できるときには
|
||||
.Fn bus_space*
|
||||
メソッドを介してアクセスできるものが、
|
||||
.Fn bus_space*
|
||||
メソッドを介してアクセスできないものを指します。
|
||||
.Pp
|
||||
これは
|
||||
.Dq このデバイスは子デバイスを持っていますか?
|
||||
という質問を尋ねません。
|
||||
この質問は
|
||||
.Xr device_get_children 9
|
||||
によってより良く回答されることが可能です。
|
||||
.Sh 戻り値
|
||||
0 の戻り値はシステム内にそのデバイスが存在しないことを示します。
|
||||
0 ではない戻り値はシステム内にそのデバイスが存在すること、または
|
||||
そのデバイスの状態が決定できないことを示します。
|
||||
.Sh 使用例
|
||||
これはあるサンプルコードです。
|
||||
.Xr dc 4
|
||||
デバイスが実際に存在する時に、stop を呼び出すだけです。
|
||||
.Bd -literal -offset indent
|
||||
device_t dev;
|
||||
dc_softc *sc;
|
||||
|
||||
sc = device_get_softc(dev);
|
||||
if (bus_child_present(dev))
|
||||
dc_stop(sc);
|
||||
.Ed
|
||||
.Sh 関連項目
|
||||
.Xr device 9 ,
|
||||
.Xr driver 9
|
||||
.Sh 作者
|
||||
このマニュアルページは
|
||||
.An Warner Losh Aq imp@FreeBSD.org
|
||||
が書きました。
|
95
ja_JP.eucJP/man/man9/bus_set_resource.9
Normal file
95
ja_JP.eucJP/man/man9/bus_set_resource.9
Normal file
|
@ -0,0 +1,95 @@
|
|||
.\" -*- nroff -*-
|
||||
.\"
|
||||
.\" Copyright (c) 2003 M. Warner Losh
|
||||
.\"
|
||||
.\" All rights reserved.
|
||||
.\"
|
||||
.\" This program is free software.
|
||||
.\"
|
||||
.\" Redistribution and use in source and binary forms, with or without
|
||||
.\" modification, are permitted provided that the following conditions
|
||||
.\" are met:
|
||||
.\" 1. Redistributions of source code must retain the above copyright
|
||||
.\" notice, this list of conditions and the following disclaimer.
|
||||
.\" 2. Redistributions in binary form must reproduce the above copyright
|
||||
.\" notice, this list of conditions and the following disclaimer in the
|
||||
.\" documentation and/or other materials provided with the distribution.
|
||||
.\"
|
||||
.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
|
||||
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
.\"
|
||||
.\" %FreeBSD: src/share/man/man9/bus_set_resource.9,v 1.2 2003/05/30 21:13:32 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd March 29, 2003
|
||||
.Dt BUS_SET_RESOURCE 9
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm bus_set_resource
|
||||
.Nd "確定したリソースと与えられたリソース ID との関連付け"
|
||||
.Sh 書式
|
||||
.In sys/param.h
|
||||
.In sys/bus.h
|
||||
.Pp
|
||||
.In machine/bus.h
|
||||
.In sys/rman.h
|
||||
.In machine/resource.h
|
||||
.Ft int
|
||||
.Fo bus_set_resource
|
||||
.Fa "device_t dev" "int type" "int rid" "u_long start" "u_long count"
|
||||
.Fc
|
||||
.Sh 解説
|
||||
.Fn bus_set_resource
|
||||
関数は、
|
||||
.Fa type , rid
|
||||
ペアで指定されるリソースのうち、指定された開始アドレスのものを長さ
|
||||
.Fa count
|
||||
に設定します。
|
||||
通常は、クライアントドライバはこのインタフェースを使用しません。
|
||||
しかしながら、バスドライバはクライアントドライバが使用するリソースを
|
||||
設定するためにしばしば使用します。
|
||||
.Pp
|
||||
引数は以下の通りです。
|
||||
.Bl -tag -width indent
|
||||
.It Fa dev
|
||||
リソースを設定するデバイスです。
|
||||
.It Fa type
|
||||
割り当てたいリソースの型です。
|
||||
これは下記の中の 1 つです。
|
||||
.Pp
|
||||
.Bl -tag -width ".Dv SYS_RES_MEMORY" -compact
|
||||
.It Dv SYS_RES_IRQ
|
||||
IRQ のリソースです。
|
||||
.It Dv SYS_RES_DRQ
|
||||
ISA DMA ラインのリソースです。
|
||||
.It Dv SYS_RES_IOPORT
|
||||
I/O ポートのリソースです。
|
||||
.It Dv SYS_RES_MEMORY
|
||||
I/O メモリのリソースです。
|
||||
.El
|
||||
.It Fa rid
|
||||
割り当てられているリソースを識別するバス特有のハンドルへのポインタです。
|
||||
.It Fa start
|
||||
このリソースの開始アドレスです。
|
||||
.It Fa count
|
||||
このリソースの長さです。
|
||||
.El
|
||||
.Sh 戻り値
|
||||
成功時には 0 が返され、そうでなければエラーが返されます。
|
||||
.Sh 関連項目
|
||||
.Xr bus_alloc_resource 9 ,
|
||||
.Xr bus_get_resource 9 ,
|
||||
.Xr device 9 ,
|
||||
.Xr driver 9
|
||||
.Sh 作者
|
||||
このマニュアルページは
|
||||
.An Warner Losh Aq imp@FreeBSD.org
|
||||
が書きました。
|
167
ja_JP.eucJP/man/man9/byteorder.9
Normal file
167
ja_JP.eucJP/man/man9/byteorder.9
Normal file
|
@ -0,0 +1,167 @@
|
|||
.\" Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org>
|
||||
.\" 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/byteorder.9,v 1.6 2003/05/21 17:32:55 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd April 29, 2002
|
||||
.Dt BYTEORDER 9
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm bswap16 , bswap32 , bswap64 ,
|
||||
.Nm be16toh , be32toh , be64toh , htobe16 , htobe32 , htobe64 ,
|
||||
.Nm htole16 , htole32 , htole64 , le16toh , le32toh , le64toh ,
|
||||
.Nm be16enc , be16dec , be32enc , be32dec , be64enc , be64dec ,
|
||||
.Nm le16enc , le16dec , le32enc , le32dec , le64enc , le64dec
|
||||
.Nd バイトオーダの操作
|
||||
.Sh 書式
|
||||
.In sys/endian.h
|
||||
.Ft uint16_t
|
||||
.Fn bswap16 "uint16_t int16"
|
||||
.Ft uint32_t
|
||||
.Fn bswap32 "uint32_t int32"
|
||||
.Ft uint64_t
|
||||
.Fn bswap64 "uint64_t int64"
|
||||
.Ft uint16_t
|
||||
.Fn be16toh "uint16_t big16"
|
||||
.Ft uint32_t
|
||||
.Fn be32toh "uint32_t big32"
|
||||
.Ft uint64_t
|
||||
.Fn be64toh "uint64_t big64"
|
||||
.Ft uint16_t
|
||||
.Fn htobe16 "uint16_t host16"
|
||||
.Ft uint32_t
|
||||
.Fn htobe32 "uint32_t host32"
|
||||
.Ft uint64_t
|
||||
.Fn htobe64 "uint64_t host64"
|
||||
.Ft uint16_t
|
||||
.Fn htole16 "uint16_t host16"
|
||||
.Ft uint32_t
|
||||
.Fn htole32 "uint32_t host32"
|
||||
.Ft uint64_t
|
||||
.Fn htole64 "uint64_t host64"
|
||||
.Ft uint16_t
|
||||
.Fn le16toh "uint16_t little16"
|
||||
.Ft uint32_t
|
||||
.Fn le32toh "uint32_t little32"
|
||||
.Ft uint64_t
|
||||
.Fn le64toh "uint64_t little64"
|
||||
.Ft uint16_t
|
||||
.Fn be16dec "const void *"
|
||||
.Ft uint32_t
|
||||
.Fn be32dec "const void *"
|
||||
.Ft uint64_t
|
||||
.Fn be64dec "const void *"
|
||||
.Ft uint16_t
|
||||
.Fn le16dec "const void *"
|
||||
.Ft uint32_t
|
||||
.Fn le32dec "const void *"
|
||||
.Ft uint64_t
|
||||
.Fn le64dec "const void *"
|
||||
.Ft void
|
||||
.Fn be16enc "void *" uint16_t
|
||||
.Ft void
|
||||
.Fn be32enc "void *" uint32_t
|
||||
.Ft void
|
||||
.Fn be64enc "void *" uint64_t
|
||||
.Ft void
|
||||
.Fn le16enc "void *" uint16_t
|
||||
.Ft void
|
||||
.Fn le32enc "void *" uint32_t
|
||||
.Ft void
|
||||
.Fn le64enc "void *" uint64_t
|
||||
.Sh 解説
|
||||
.Fn bswap16 ,
|
||||
.Fn bswap32
|
||||
および
|
||||
.Fn bswap64
|
||||
関数はバイトオーダが交換された整数を返します。
|
||||
ビッグエンディアンのシステム上では、
|
||||
その数値はリトルエンディアンのバイトオーダに変換されます。
|
||||
リトルエンディアンのシステム上では、
|
||||
その数値はビッグエンディアンのバイトオーダに変換されます。
|
||||
.Pp
|
||||
.Fn be16toh ,
|
||||
.Fn be32toh
|
||||
および
|
||||
.Fn be64toh
|
||||
関数はビッグエンディアンのバイトオーダの整数をシステムのネイティブな
|
||||
バイトオーダに変換して返します。
|
||||
ビッグエンディアンのシステム上では、戻り値は引数と同じになります。
|
||||
.Pp
|
||||
.Fn le16toh ,
|
||||
.Fn le32toh
|
||||
および
|
||||
.Fn le64toh
|
||||
関数はリトルエンディアンのバイトオーダの整数をシステムのネイティブな
|
||||
バイトオーダに変換して返します。
|
||||
リトルエンディアンのシステム上では、戻り値は引数と同じになります。
|
||||
.Pp
|
||||
.Fn htobe16 ,
|
||||
.Fn htobe32
|
||||
および
|
||||
.Fn htobe64
|
||||
関数はシステムのネイティブなバイトオーダの整数をビッグエンディアンの
|
||||
バイトオーダに変換して返します。
|
||||
ビッグエンディアンのシステム上では、戻り値は引数と同じになります。
|
||||
.Pp
|
||||
.Fn htole16 ,
|
||||
.Fn htole32
|
||||
および
|
||||
.Fn htole64
|
||||
関数はシステムのネイティブなバイトオーダの整数をリトルエンディアンの
|
||||
バイトオーダに変換して返します。
|
||||
リトルエンディアンのシステム上では、戻り値は引数と同じになります。
|
||||
.Pp
|
||||
.Fn be16enc ,
|
||||
.Fn be16dec ,
|
||||
.Fn be32enc ,
|
||||
.Fn be32dec ,
|
||||
.Fn be64enc ,
|
||||
.Fn be64dec ,
|
||||
.Fn le16enc ,
|
||||
.Fn le16dec ,
|
||||
.Fn le32enc ,
|
||||
.Fn le32dec ,
|
||||
.Fn le64enc ,
|
||||
および
|
||||
.Fn le64dec
|
||||
関数はビッグ/リトルエンディアンのあらゆるアライメントの、
|
||||
整数からバイトストリングへエンコードおよび
|
||||
バイトコードから整数へデコードを行います。
|
||||
.Sh 関連項目
|
||||
.Xr byteorder 3
|
||||
.Sh 歴史
|
||||
.Fn hto*
|
||||
および
|
||||
.Fn *toh
|
||||
関数は
|
||||
.Fx 5.0
|
||||
ではじめて登場し、元々は
|
||||
.Nx
|
||||
プロジェクトによって開発されていました。
|
||||
.Pp
|
||||
エンコード/デコード関数は
|
||||
.Fx 5.1
|
||||
ではじめて登場しました。
|
66
ja_JP.eucJP/man/man9/cdevsw_add.9
Normal file
66
ja_JP.eucJP/man/man9/cdevsw_add.9
Normal 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/cdevsw_add.9,v 1.5 2001/07/13 09:09:52 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd July 9, 2001
|
||||
.Dt CDEVSW_ADD 9
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm cdevsw_add
|
||||
.Nd
|
||||
.Vt cdevsw
|
||||
エントリの追加
|
||||
.Sh 書式
|
||||
.In sys/param.h
|
||||
.In sys/conf.h
|
||||
.Ft int
|
||||
.Fn cdevsw_add "struct cdevsw *newentry"
|
||||
.Sh 解説
|
||||
.Fn cdevsw_add
|
||||
関数は、そのメジャー番号が 0 以上でかつ
|
||||
.Dv NUMCDEVSW
|
||||
より小さい場合に、
|
||||
.Fa newentry
|
||||
エントリを
|
||||
.Va cdevsw
|
||||
テーブルに追加します。
|
||||
.Pp
|
||||
引数は以下の通りです。
|
||||
.Bl -tag -width ".Fa newentry"
|
||||
.It Fa newentry
|
||||
テーブルに追加されるべきデバイスです。
|
||||
.El
|
||||
.Sh 戻り値
|
||||
成功時には 0 の値が返され、そうでない場合には
|
||||
メジャー番号が有効な範囲にはないことを示す
|
||||
.Er EINVAL
|
||||
が返されます。
|
||||
.Sh 作者
|
||||
このマニュアルページは
|
||||
.An Chad David Aq davidc@acns.ab.ca
|
||||
が書きました。
|
66
ja_JP.eucJP/man/man9/cdevsw_remove.9
Normal file
66
ja_JP.eucJP/man/man9/cdevsw_remove.9
Normal 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/cdevsw_remove.9,v 1.5 2001/07/13 09:09:52 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd July 9, 2001
|
||||
.Dt CDEVSW_REMOVE 9
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm cdevsw_remove
|
||||
.Nd
|
||||
.Vt cdevsw
|
||||
エントリの削除
|
||||
.Sh 書式
|
||||
.In sys/param.h
|
||||
.In sys/conf.h
|
||||
.Ft int
|
||||
.Fn cdevsw_remove "struct cdevsw *oldentry"
|
||||
.Sh 解説
|
||||
.Fn cdevsw_remove
|
||||
関数は、そのメジャー番号が 0 以上でかつ
|
||||
.Dv NUMCDEVSW
|
||||
より小さい場合に、
|
||||
.Fa oldentry
|
||||
エントリを
|
||||
.Va cdevsw
|
||||
テーブルから削除します。
|
||||
.Pp
|
||||
引数は以下の通りです。
|
||||
.Bl -tag -width ".Fa oldentry"
|
||||
.It Fa oldentry
|
||||
テーブルから削除されるべきデバイスです。
|
||||
.El
|
||||
.Sh 戻り値
|
||||
成功時には 0 の値が返され、そうでない場合には
|
||||
メジャー番号が有効な範囲にはないことを示す
|
||||
.Er EINVAL
|
||||
が返されます。
|
||||
.Sh 作者
|
||||
このマニュアルページは
|
||||
.An Chad David Aq davidc@acns.ab.ca
|
||||
が書きました。
|
212
ja_JP.eucJP/man/man9/condvar.9
Normal file
212
ja_JP.eucJP/man/man9/condvar.9
Normal file
|
@ -0,0 +1,212 @@
|
|||
.\"
|
||||
.\" Copyright (C) 2000 Jason Evans <jasone@FreeBSD.org>. All rights reserved.
|
||||
.\"
|
||||
.\" Redistribution and use in source and binary forms, with or without
|
||||
.\" modification, are permitted provided that the following conditions
|
||||
.\" are met:
|
||||
.\" 1. Redistributions of source code must retain the above copyright
|
||||
.\" notice(s), this list of conditions and the following disclaimer as
|
||||
.\" the first lines of this file unmodified other than the possible
|
||||
.\" addition of one or more copyright notices.
|
||||
.\" 2. Redistributions in binary form must reproduce the above copyright
|
||||
.\" notice(s), this list of conditions and the following disclaimer in the
|
||||
.\" documentation and/or other materials provided with the distribution.
|
||||
.\"
|
||||
.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) ``AS IS'' AND ANY
|
||||
.\" EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
.\" DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) BE LIABLE FOR ANY
|
||||
.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
.\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
.\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
.\" CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
|
||||
.\" DAMAGE.
|
||||
.\"
|
||||
.\" %FreeBSD: src/share/man/man9/condvar.9,v 1.8 2002/03/28 12:51:06 dd Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd December 11, 2000
|
||||
.Dt CONDVAR 9
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm condvar ,
|
||||
.Nm cv_init ,
|
||||
.Nm cv_destroy ,
|
||||
.Nm cv_wait ,
|
||||
.Nm cv_wait_sig ,
|
||||
.Nm cv_timedwait ,
|
||||
.Nm cv_timedwait_sig ,
|
||||
.Nm cv_signal ,
|
||||
.Nm cv_broadcast ,
|
||||
.Nm cv_waitq_remove ,
|
||||
.Nm cv_waitq_empty ,
|
||||
.Nm cv_wmesg
|
||||
.Nd カーネル状態変数
|
||||
.Sh 書式
|
||||
.In sys/param.h
|
||||
.In sys/proc.h
|
||||
.In sys/condvar.h
|
||||
.Ft void
|
||||
.Fn cv_init "struct cv *cvp" "const char *desc"
|
||||
.Ft void
|
||||
.Fn cv_destroy "struct cv *cvp"
|
||||
.Ft void
|
||||
.Fn cv_wait "struct cv *cvp" "struct mtx *mp"
|
||||
.Ft int
|
||||
.Fn cv_wait_sig "struct cv *cvp" "struct mtx *mp"
|
||||
.Ft int
|
||||
.Fn cv_timedwait "struct cv *cvp" "struct mtx *mp" "int timo"
|
||||
.Ft int
|
||||
.Fn cv_timedwait_sig "struct cv *cvp" "struct mtx *mp" "int timo"
|
||||
.Ft void
|
||||
.Fn cv_signal "struct cv *cvp"
|
||||
.Ft void
|
||||
.Fn cv_broadcast "struct cv *cvp"
|
||||
.Ft void
|
||||
.Fn cv_waitq_remove "struct thread *td"
|
||||
.Ft int
|
||||
.Fn cv_waitq_empty "struct cv *cvp"
|
||||
.Ft const char *
|
||||
.Fn cv_wmesg "struct cv *cvp"
|
||||
.Sh 解説
|
||||
状態変数は mutex と連携して状態の発生を待つために使用されます。
|
||||
状態変数は
|
||||
.Fn cv_init
|
||||
を使用して作成されます。
|
||||
ここで
|
||||
.Fa cvp
|
||||
は
|
||||
.Vt struct cv
|
||||
のための領域へのポインタ、
|
||||
.Fa desc
|
||||
はその状態変数を説明するヌルで終端された文字列へのポインタです。
|
||||
状態変数は
|
||||
.Fn cv_destroy
|
||||
を使用して破壊されます。
|
||||
スレッドは
|
||||
.Fn cv_wait ,
|
||||
.Fn cv_wait_sig ,
|
||||
.Fn cv_timedwait
|
||||
または
|
||||
.Fn cv_timedwait_sig
|
||||
の呼び出しによって、状態変数上でウェイトします。
|
||||
スレッドは、
|
||||
1 つのウェイトのブロックを解除するためには
|
||||
.Fn cv_signal
|
||||
の、または全てのウェイトのブロックを解除するには
|
||||
.Fn cv_broadcast
|
||||
の呼び出しによってウェイトのブロック解除を行います。
|
||||
.Fn cv_waitq_remove
|
||||
は状態変数のウェイトキューからウェイトしているスレッドを取り除きます。
|
||||
.Fn cv_waitq_empty
|
||||
は
|
||||
.Fa cvp
|
||||
上にウェイトしているものが存在しているかどうかを報告します。
|
||||
.Fn cv_wmesg
|
||||
は
|
||||
.Fn cv_init
|
||||
への最初の呼び出しによって設定された
|
||||
.Fa cvp
|
||||
の説明文字列を返します。
|
||||
.Pp
|
||||
スレッドは
|
||||
.Fn cv_wait ,
|
||||
.Fn cv_wait_sig ,
|
||||
.Fn cv_timedwait
|
||||
または
|
||||
.Fn cv_timedwait_sig
|
||||
の呼び出しの前に
|
||||
.Fa mp
|
||||
を保持しなければなしません。
|
||||
スレッドがある状態でウェイトするときに、
|
||||
.Fa mp
|
||||
はそのスレッドがブロックされる前に不可分に開放され、それから
|
||||
その関数呼び出しが戻る前に不可分に再獲得されます。
|
||||
全てのウェイトするものは
|
||||
.Fa cvp
|
||||
と連携している同一の
|
||||
.Fa mp
|
||||
を渡さなければなりません。
|
||||
スレッドは
|
||||
.Fn cv_signal
|
||||
または
|
||||
.Fn cv_broadcast
|
||||
を呼び出している間は、たとえ引数として渡していないとしても、
|
||||
.Fa mp
|
||||
を保持しなければなりません。
|
||||
.Pp
|
||||
.Fn cv_wait ,
|
||||
.Fn cv_wait_sig ,
|
||||
.Fn cv_timedwait
|
||||
および
|
||||
.Fn cv_timedwait_sig
|
||||
のブロックが解除された時に、これらの呼び出しスレッドが実行可能にされます。
|
||||
.Fn cv_timedwait
|
||||
および
|
||||
.Fn cv_timedwait_sig
|
||||
はブロックが解除され
|
||||
.Er EWOULDBLOCK
|
||||
を返す前に最長
|
||||
.Fa timo
|
||||
/
|
||||
.Dv HZ
|
||||
秒間ウェイトします。
|
||||
そうでなければ、0 を返します。
|
||||
.Fn cv_wait_sig
|
||||
および
|
||||
.Fn cv_timedwait_sig
|
||||
は、シグナルがとらえられた場合には未完のまま
|
||||
.Er EINTR
|
||||
または
|
||||
.Er ERESTART
|
||||
の値で戻ります。
|
||||
または、
|
||||
.Fn cv_signal
|
||||
または
|
||||
.Fn cv_broadcast
|
||||
で通知を受けた場合には 0 の値で戻ります。
|
||||
.Sh 戻り値
|
||||
成功の場合には、
|
||||
.Fn cv_wait_sig ,
|
||||
.Fn cv_timedwait
|
||||
および
|
||||
.Fn cv_timedwait_sig
|
||||
は 0 を返します。
|
||||
そうでない場合には、0 ではないエラーコードが返されます。
|
||||
.Pp
|
||||
.Fn cv_waitq_empty
|
||||
は、ウェイトキュー上にスレッドが存在しない場合には
|
||||
は 0 ではない値を、そうでない場合には 0 を、返します。
|
||||
.Pp
|
||||
.Fn cv_wmesg
|
||||
は
|
||||
.Fn cv_init
|
||||
に渡された説明文字列を返します。
|
||||
.Sh エラー
|
||||
.Fn cv_wait_sig
|
||||
および
|
||||
.Fn cv_timedwait_sig
|
||||
は以下の場合に失敗します。
|
||||
.Bl -tag -width Er
|
||||
.It Bq Er EINTR
|
||||
マスクされていないシグナルがつかまりました。
|
||||
.It Bq Er ERESTART
|
||||
マスクされているシグナルがつかまりました。
|
||||
.El
|
||||
.Pp
|
||||
.Fn cv_timedwait
|
||||
および
|
||||
.Fn cv_timedwait_sig
|
||||
は以下の場合に失敗します。
|
||||
.Bl -tag -width Er
|
||||
.It Bq Er EWOULDBLOCK
|
||||
タイムアウトが満了しました。
|
||||
.El
|
||||
.Sh 関連項目
|
||||
.Xr msleep 9 ,
|
||||
.Xr mtx_pool 9 ,
|
||||
.Xr mutex 9 ,
|
||||
.Xr sema 9 ,
|
||||
.Xr sx 9
|
56
ja_JP.eucJP/man/man9/device_get_name.9
Normal file
56
ja_JP.eucJP/man/man9/device_get_name.9
Normal file
|
@ -0,0 +1,56 @@
|
|||
.\" -*- nroff -*-
|
||||
.\"
|
||||
.\" Copyright (c) 2003 M. Warner Losh
|
||||
.\"
|
||||
.\" All rights reserved.
|
||||
.\"
|
||||
.\" This program is free software.
|
||||
.\"
|
||||
.\" Redistribution and use in source and binary forms, with or without
|
||||
.\" modification, are permitted provided that the following conditions
|
||||
.\" are met:
|
||||
.\" 1. Redistributions of source code must retain the above copyright
|
||||
.\" notice, this list of conditions and the following disclaimer.
|
||||
.\" 2. Redistributions in binary form must reproduce the above copyright
|
||||
.\" notice, this list of conditions and the following disclaimer in the
|
||||
.\" documentation and/or other materials provided with the distribution.
|
||||
.\"
|
||||
.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
|
||||
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
.\"
|
||||
.\" %FreeBSD: src/share/man/man9/device_get_name.9,v 1.2 2003/05/30 21:13:32 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd April 21, 2003
|
||||
.Dt DEVICE_GET_NAME 9
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm device_get_name , device_get_nameunit
|
||||
.Nd デバイスのデバイスクラスまたは実体の名前へのアクセス
|
||||
.Sh 書式
|
||||
.In sys/param.h
|
||||
.In sys/bus.h
|
||||
.Ft int
|
||||
.Fn device_get_name "device_t dev"
|
||||
.Ft int
|
||||
.Fn device_get_nameunit "device_t dev"
|
||||
.Sh 解説
|
||||
.Fn device_get_name
|
||||
関数はデバイスのデバイスクラスの名前を返します。
|
||||
.Pp
|
||||
.Fn device_get_nameunit
|
||||
関数はデバイスの実体の名前を返します。
|
||||
.Sh 関連項目
|
||||
.Xr device 9
|
||||
.Sh 作者
|
||||
このマニュアルページは
|
||||
.An Warner Losh
|
||||
が書きました。
|
51
ja_JP.eucJP/man/man9/device_get_parent.9
Normal file
51
ja_JP.eucJP/man/man9/device_get_parent.9
Normal file
|
@ -0,0 +1,51 @@
|
|||
.\" -*- nroff -*-
|
||||
.\"
|
||||
.\" Copyright (c) 2003 M. Warner Losh
|
||||
.\"
|
||||
.\" All rights reserved.
|
||||
.\"
|
||||
.\" This program is free software.
|
||||
.\"
|
||||
.\" Redistribution and use in source and binary forms, with or without
|
||||
.\" modification, are permitted provided that the following conditions
|
||||
.\" are met:
|
||||
.\" 1. Redistributions of source code must retain the above copyright
|
||||
.\" notice, this list of conditions and the following disclaimer.
|
||||
.\" 2. Redistributions in binary form must reproduce the above copyright
|
||||
.\" notice, this list of conditions and the following disclaimer in the
|
||||
.\" documentation and/or other materials provided with the distribution.
|
||||
.\"
|
||||
.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
|
||||
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
.\"
|
||||
.\" %FreeBSD: src/share/man/man9/device_get_parent.9,v 1.2 2003/05/30 21:13:32 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd April 21, 2003
|
||||
.Dt DEVICE_GET_PARENT 9
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm device_get_parent
|
||||
.Nd デバイスの親の取得
|
||||
.Sh 書式
|
||||
.In sys/param.h
|
||||
.In sys/bus.h
|
||||
.Ft device_t
|
||||
.Fn device_get_parent "device_t dev"
|
||||
.Sh 解説
|
||||
.Fn device_get_parent
|
||||
関数はデバイスの親デバイスの名前を返します。
|
||||
.Sh 関連項目
|
||||
.Xr device 9
|
||||
.Sh 作者
|
||||
このマニュアルページは
|
||||
.An Warner Losh
|
||||
が書きました。
|
78
ja_JP.eucJP/man/man9/device_ids.9
Normal file
78
ja_JP.eucJP/man/man9/device_ids.9
Normal file
|
@ -0,0 +1,78 @@
|
|||
.\"
|
||||
.\" 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/device_ids.9,v 1.1 2001/07/13 18:35:48 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd July 9, 2001
|
||||
.Dt DEVICE_IDS 9
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm device_ids ,
|
||||
.Nm major ,
|
||||
.Nm minor ,
|
||||
.Nm umajor ,
|
||||
.Nm uminor
|
||||
.Nd デバイス ID の計算
|
||||
.Sh 書式
|
||||
.In sys/types.h
|
||||
.In sys/systm.h
|
||||
.Ft int
|
||||
.Fn major "dev_t dev"
|
||||
.Ft int
|
||||
.Fn minor "dev_t dev"
|
||||
.Ft int
|
||||
.Fn umajor "udev_t id"
|
||||
.Ft int
|
||||
.Fn uminor "udev_t id"
|
||||
.Sh 解説
|
||||
.Nm
|
||||
ファミリの関数は、ローデバイスの ID である
|
||||
.Fa id
|
||||
またはデバイス構造体へのポインタである
|
||||
.Fa dev
|
||||
をとり、要求されたメジャーまたはマイナデバイス ID の整数値を返します。
|
||||
.Pp
|
||||
実際のメジャーおよびマイナデバイス ID はローデバイス ID から
|
||||
マスクされた値です。
|
||||
実際のメジャーおよびマイナ ID を決定するために使用される計算上の詳細は、
|
||||
.Pa kern_conf.c
|
||||
の実際のソースを参照して下さい。
|
||||
.Sh 戻り値
|
||||
0 より大きくかつ
|
||||
.Dv NUMCDEVSW
|
||||
より小さい整数値です。
|
||||
そのデバイスが無効である場合には、
|
||||
.Fn major
|
||||
および
|
||||
.Fn minor
|
||||
は
|
||||
.Dv NOUDEV
|
||||
を返します。
|
||||
.Sh AUTHORS
|
||||
このマニュアルページは
|
||||
.An Chad David Aq davidc@acns.ab.ca
|
||||
が書きました。
|
58
ja_JP.eucJP/man/man9/device_printf.9
Normal file
58
ja_JP.eucJP/man/man9/device_printf.9
Normal file
|
@ -0,0 +1,58 @@
|
|||
.\"
|
||||
.\" Copyright (c) 2003 M. Warner Losh
|
||||
.\" 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/device_printf.9,v 1.2 2003/05/30 21:13:32 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd April 21, 2003
|
||||
.Dt DEVICE_PRINTF 9
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm device_printf
|
||||
.Nd フォーマット出力の変換
|
||||
.Sh 書式
|
||||
.In sys/param.h
|
||||
.In sys/bus.h
|
||||
.Ft int
|
||||
.Fn device_printf "device_t dev" "const char *fmt" ...
|
||||
.Sh 解説
|
||||
.Fn device_printf
|
||||
関数は
|
||||
.Xr printf 9
|
||||
関数への便利なインタフェースです。
|
||||
コロンおよびスペースが後に続く
|
||||
.Fa dev
|
||||
デバイスの名前を出力します。
|
||||
それから、
|
||||
.Fa fmt
|
||||
およびそれへの残りの引数が渡された場合には
|
||||
.Xr printf 9
|
||||
が印字するものを出力します。
|
||||
.Sh 戻り値
|
||||
.Fn device_printf
|
||||
関数は表示された文字数を返します。
|
||||
.Sh 関連項目
|
||||
.Xr printf 3 ,
|
||||
.Xr printf 9
|
57
ja_JP.eucJP/man/man9/device_set_driver.9
Normal file
57
ja_JP.eucJP/man/man9/device_set_driver.9
Normal file
|
@ -0,0 +1,57 @@
|
|||
.\" -*- nroff -*-
|
||||
.\"
|
||||
.\" Copyright (c) 2003 M. Warner Losh
|
||||
.\"
|
||||
.\" All rights reserved.
|
||||
.\"
|
||||
.\" This program is free software.
|
||||
.\"
|
||||
.\" Redistribution and use in source and binary forms, with or without
|
||||
.\" modification, are permitted provided that the following conditions
|
||||
.\" are met:
|
||||
.\" 1. Redistributions of source code must retain the above copyright
|
||||
.\" notice, this list of conditions and the following disclaimer.
|
||||
.\" 2. Redistributions in binary form must reproduce the above copyright
|
||||
.\" notice, this list of conditions and the following disclaimer in the
|
||||
.\" documentation and/or other materials provided with the distribution.
|
||||
.\"
|
||||
.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
|
||||
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
.\"
|
||||
.\" %FreeBSD: src/share/man/man9/device_set_driver.9,v 1.2 2003/05/30 21:13:32 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd April 21, 2003
|
||||
.Dt DEVICE_SET_DRIVER 9
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm device_set_driver
|
||||
.Nd "指定したドライバとツリーの中のデバイスノードとの関連付け"
|
||||
.Sh 書式
|
||||
.In sys/param.h
|
||||
.In sys/bus.h
|
||||
.Ft void
|
||||
.Fn device_set_driver "device_t dev" "driver_t *driver"
|
||||
.Sh 解説
|
||||
この関数は指定したドライバとツリーの中の与えられたデバイスノードを
|
||||
関連付けます。
|
||||
これは一般的には
|
||||
.Xr isa 4
|
||||
バスのような、関連付けを自動的に行なうことをサポートしていないバスへ
|
||||
デバイスを追加するために、
|
||||
.Xr DEVICE_IDENTIFY 9
|
||||
関数の中で使用されます。
|
||||
.Sh 関連項目
|
||||
.Xr device 9
|
||||
.Sh 作者
|
||||
このマニュアルページは
|
||||
.An M. Warner Losh
|
||||
が書きました。
|
73
ja_JP.eucJP/man/man9/devsw.9
Normal file
73
ja_JP.eucJP/man/man9/devsw.9
Normal file
|
@ -0,0 +1,73 @@
|
|||
.\"
|
||||
.\" 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/devsw.9,v 1.6 2001/12/26 23:14:04 davidc Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd July 9, 2001
|
||||
.Dt DEVSW 9
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm devsw
|
||||
.Nd
|
||||
.Vt cdevsw
|
||||
構造体の取得
|
||||
.Sh 書式
|
||||
.In sys/param.h
|
||||
.In sys/conf.h
|
||||
.Ft "struct cdevsw *"
|
||||
.Fn devsw "dev_t dev"
|
||||
.Sh 解説
|
||||
.Fn devsw
|
||||
関数はこの文字型デバイス ID に関連付けられた
|
||||
.Vt cdevsw
|
||||
構造体へのポインタを返します。
|
||||
.Fa dev->si_cdevsw
|
||||
が設定されている場合にはそれが返され、そうでない場合には
|
||||
.Va cdevsw
|
||||
配列へ
|
||||
.Xr major 9
|
||||
値分オフセットさせたものが返されます。
|
||||
.Pp
|
||||
引数は以下の通りです。
|
||||
.Bl -tag -width ".Fa dev"
|
||||
.It Fa dev
|
||||
返されるべき
|
||||
.Vt cdevsw
|
||||
エントリのデバイスです。
|
||||
.El
|
||||
.Sh 戻り値
|
||||
.Vt cdevsw
|
||||
構造体へのポインタです。
|
||||
.Sh 関連項目
|
||||
.Xr major 9 ,
|
||||
.Xr minor 9 ,
|
||||
.Xr umajor 9 ,
|
||||
.Xr uminor 9
|
||||
.Sh 作者
|
||||
このマニュアルページは
|
||||
.An Chad David Aq davidc@acns.ab.ca
|
||||
が書きました。
|
60
ja_JP.eucJP/man/man9/groupmember.9
Normal file
60
ja_JP.eucJP/man/man9/groupmember.9
Normal file
|
@ -0,0 +1,60 @@
|
|||
.\"
|
||||
.\" 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/groupmember.9,v 1.1 2001/07/13 18:35:48 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd July 9, 2001
|
||||
.Dt GROUPMEMBER 9
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm groupmember
|
||||
.Nd グループ ID のためのグループセットのチェック
|
||||
.Sh 書式
|
||||
.In sys/param.h
|
||||
.In sys/ucred.h
|
||||
.Ft int
|
||||
.Fn groupmember "gid_t gid" "struct ucred *cred"
|
||||
.Sh 解説
|
||||
.Fn groupmember
|
||||
関数は与えられた
|
||||
.Fa gid
|
||||
が証明のグループセット内にあるかどうかを、見るためにチェックします。
|
||||
.Pp
|
||||
引数は以下の通りです。
|
||||
.Bl -tag -width ".Fa cred"
|
||||
.It Fa gid
|
||||
チェックするべきグループ ID です。
|
||||
.It Fa cred
|
||||
これらの証明を検索して、グループをみつけようとします。
|
||||
.El
|
||||
.Sh 戻り値
|
||||
.Fa gid
|
||||
が見つかった場合には 1 が返され、そうでない場合には 0 が返されます。
|
||||
.Sh 作者
|
||||
このマニュアルページは
|
||||
.An Chad David Aq davidc@acns.ab.ca
|
||||
が書きました。
|
69
ja_JP.eucJP/man/man9/pseudofs.9
Normal file
69
ja_JP.eucJP/man/man9/pseudofs.9
Normal file
|
@ -0,0 +1,69 @@
|
|||
.\"-
|
||||
.\" Copyright (c) 2001 Dag-Erling Co骾an Sm鷨grav
|
||||
.\" All rights reserved.
|
||||
.\"
|
||||
.\" Redistribution and use in source and binary forms, with or without
|
||||
.\" modification, are permitted provided that the following conditions
|
||||
.\" are met:
|
||||
.\" 1. Redistributions of source code must retain the above copyright
|
||||
.\" notice, this list of conditions and the following disclaimer.
|
||||
.\" 2. Redistributions in binary form must reproduce the above copyright
|
||||
.\" notice, this list of conditions and the following disclaimer in the
|
||||
.\" documentation and/or other materials provided with the distribution.
|
||||
.\"
|
||||
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
||||
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
||||
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" %FreeBSD: src/share/man/man9/pseudofs.9,v 1.4 2002/12/12 17:25:58 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd September 30, 2001
|
||||
.Dt PSEUDOFS 9
|
||||
.Os
|
||||
.Sh 抩憊
|
||||
.Nm pseudofs
|
||||
.Nd 翕僻白央奶伙扑旦氾丞厭蹲平永玄
|
||||
.Sh 踏摯
|
||||
.In fs/pseudofs/pseudofs.h
|
||||
.\" 仇仇卞銀迕拺毛醣じ允月
|
||||
.Sh 荸濩
|
||||
.Nm
|
||||
乒斥亙□伙反
|
||||
.Xr procfs 5
|
||||
云方太
|
||||
.Xr linprocfs 5
|
||||
及方丹卅翕僻白央奶伙扑旦氾丞及凶戶及鏟擂 API 毛羼間仄引允﹝
|
||||
仇木反 VFS 扑旦氾丞午及奶件正白尼□旦﹜失弁本旦孺豢及雄孺﹜白央奶伙醒及
|
||||
馨濘及問儅﹜云方太皿伕本旦冂肣及白央奶伙午犯奴伊弁玄伉及呁擠﹜
|
||||
及方丹卅蟈化及呁豪卅儀岏及昍邐毛心引允﹝
|
||||
戊件扑亙□穴乒斥亙□伙﹜允卅歹切白央奶伙扑旦氾丞及撢端及醱艘朿毛
|
||||
撢隸允月乒斥亙□伙反﹜(燭蛻今木凶厭瞻蟲及螂寧卞方勻化筏課今木﹜
|
||||
.Nm
|
||||
卞方勻化羼間今木月穴弁伕卞方勻化賡渝祭今木凶) 犯奴伊弁玄伉厭瞻云方太﹜
|
||||
白央奶伙及簞嶺及扷屢引凶反 sbuf 卞白央奶伙及〇芢毛
|
||||
撢端卞踏五慇戈戊□伙田永弁分仃毛﹜羼間允月优邰互丐曰引允﹝
|
||||
.\" 仇仇卞方曰聶仁及樹扷毛醣じ允月
|
||||
.Sh 楮洘嫩杴
|
||||
.Xr linprocfs 5 ,
|
||||
.Xr procfs 5 ,
|
||||
.Xr sbuf 9 ,
|
||||
.Xr vnode 9
|
||||
.Sh 昳銖
|
||||
.Nm
|
||||
乒斥亙□伙反
|
||||
.Fx 5.0
|
||||
匹瓚樺仄引仄凶﹝
|
||||
.Sh 綜樊
|
||||
.Nm
|
||||
乒斥亙□伙午仇及穴瓦亙失伙矢□斥反
|
||||
.An Dag-Erling Sm\(/orgrav
|
||||
互踏五引仄凶﹝
|
116
ja_JP.eucJP/man/man9/sema.9
Normal file
116
ja_JP.eucJP/man/man9/sema.9
Normal file
|
@ -0,0 +1,116 @@
|
|||
.\"
|
||||
.\" Copyright (C) 2001 Jason Evans <jasone@FreeBSD.org>. All rights reserved.
|
||||
.\"
|
||||
.\" Redistribution and use in source and binary forms, with or without
|
||||
.\" modification, are permitted provided that the following conditions
|
||||
.\" are met:
|
||||
.\" 1. Redistributions of source code must retain the above copyright
|
||||
.\" notice(s), this list of conditions and the following disclaimer as
|
||||
.\" the first lines of this file unmodified other than the possible
|
||||
.\" addition of one or more copyright notices.
|
||||
.\" 2. Redistributions in binary form must reproduce the above copyright
|
||||
.\" notice(s), this list of conditions and the following disclaimer in the
|
||||
.\" documentation and/or other materials provided with the distribution.
|
||||
.\"
|
||||
.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) ``AS IS'' AND ANY
|
||||
.\" EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
.\" DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) BE LIABLE FOR ANY
|
||||
.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
.\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
.\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
.\" CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
|
||||
.\" DAMAGE.
|
||||
.\"
|
||||
.\" %FreeBSD: src/share/man/man9/sema.9,v 1.6 2002/03/28 12:51:06 dd Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd August 13, 2001
|
||||
.Dt SEMA 9
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm sema ,
|
||||
.Nm sema_init ,
|
||||
.Nm sema_destroy ,
|
||||
.Nm sema_post ,
|
||||
.Nm sema_wait ,
|
||||
.Nm sema_timedwait ,
|
||||
.Nm sema_trywait ,
|
||||
.Nm sema_value
|
||||
.Nd カーネル計数セマフォ
|
||||
.Sh 書式
|
||||
.In sys/types.h
|
||||
.In sys/lock.h
|
||||
.In sys/sema.h
|
||||
.Ft void
|
||||
.Fn sema_init "struct sema *sema" "int value" "const char *description"
|
||||
.Ft void
|
||||
.Fn sema_destroy "struct sema *sema"
|
||||
.Ft void
|
||||
.Fn sema_post "struct sema *sema"
|
||||
.Ft void
|
||||
.Fn sema_wait "struct sema *sema"
|
||||
.Ft int
|
||||
.Fn sema_timedwait "struct sema *sema" "int timo"
|
||||
.Ft int
|
||||
.Fn sema_trywait "struct sema *sema"
|
||||
.Ft int
|
||||
.Fn sema_value "struct sema *sema"
|
||||
.Sh 解説
|
||||
計数セマフォはリソースのプールへのアクセスの同期のための
|
||||
仕組みを提供します。
|
||||
mutex とは違い、セマフォは所有者の概念は持っていないため、
|
||||
1 つのスレッドがリソースの獲得を必要とし、別のスレッドがそのリソースの
|
||||
開放を必要とするような状況でも、利用できます。
|
||||
各々のセマフォは、それに関連付けられた整数値を持っています。
|
||||
ポスト (インクリメント) は常に成功しますが、ウェイト (デクリメント) は
|
||||
そのセマフォの値が 0 以上になる場合にのみ、成功して完了することが可能です。
|
||||
.Pp
|
||||
セマフォは mutex と状態変数で十分であるようなところでは使用するべきでは
|
||||
ありません。
|
||||
セマフォは mutex と状態変数より複雑な同期の仕組みですので、
|
||||
そのため効率的ではありません。
|
||||
.Pp
|
||||
セマフォは
|
||||
.Fn sema_init
|
||||
を使用して作成されます。
|
||||
ここで
|
||||
.Fa sema
|
||||
は
|
||||
.Vt "struct sema"
|
||||
のための領域へのポインタで、
|
||||
.Fa value
|
||||
はセマフォの初期値で、
|
||||
.Fa description
|
||||
はそのセマフォを説明するヌルで終端された文字列へのポインタです。
|
||||
セマフォは
|
||||
.Fn sema_destroy
|
||||
を使用して破壊されます。
|
||||
セマフォは
|
||||
.Fn sema_post
|
||||
を使用してポスト (インクリメント) されます。
|
||||
セマフォは
|
||||
.Fn sema_wait ,
|
||||
.Fn sema_timedwait
|
||||
または
|
||||
.Fn sema_trywait
|
||||
を使用してウェイト (デクリメント) されます。
|
||||
.Fn sema_timedwait
|
||||
への
|
||||
.Fa timo
|
||||
引数は失敗して戻る前にウェイトするための tick 単位での最小時間を指定します。
|
||||
.Fn sema_value
|
||||
は現在のセマフォの値を返します。
|
||||
.Pp
|
||||
.Fn sema_timedwait
|
||||
および
|
||||
.Fn sema_trywait
|
||||
は、そのセマフォ上でのウェイトに失敗した場合には 0 を返します。
|
||||
そうでない場合には、成功を示すために 0 ではない値が返されます。
|
||||
.Sh 関連項目
|
||||
.Xr condvar 9 ,
|
||||
.Xr mtx_pool 9 ,
|
||||
.Xr mutex 9 ,
|
||||
.Xr sx 9
|
182
ja_JP.eucJP/man/man9/sx.9
Normal file
182
ja_JP.eucJP/man/man9/sx.9
Normal file
|
@ -0,0 +1,182 @@
|
|||
.\"
|
||||
.\" Copyright (C) 2001 Jason Evans <jasone@FreeBSD.org>. All rights reserved.
|
||||
.\"
|
||||
.\" Redistribution and use in source and binary forms, with or without
|
||||
.\" modification, are permitted provided that the following conditions
|
||||
.\" are met:
|
||||
.\" 1. Redistributions of source code must retain the above copyright
|
||||
.\" notice(s), this list of conditions and the following disclaimer as
|
||||
.\" the first lines of this file unmodified other than the possible
|
||||
.\" addition of one or more copyright notices.
|
||||
.\" 2. Redistributions in binary form must reproduce the above copyright
|
||||
.\" notice(s), this list of conditions and the following disclaimer in the
|
||||
.\" documentation and/or other materials provided with the distribution.
|
||||
.\"
|
||||
.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) ``AS IS'' AND ANY
|
||||
.\" EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
.\" DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) BE LIABLE FOR ANY
|
||||
.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
.\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
.\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
.\" CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
|
||||
.\" DAMAGE.
|
||||
.\"
|
||||
.\" %FreeBSD: src/share/man/man9/sx.9,v 1.22 2003/09/14 13:41:59 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd August 14, 2001
|
||||
.Dt SX 9
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm sx ,
|
||||
.Nm sx_init ,
|
||||
.Nm sx_destroy ,
|
||||
.Nm sx_slock ,
|
||||
.Nm sx_xlock ,
|
||||
.Nm sx_try_slock ,
|
||||
.Nm sx_try_xlock ,
|
||||
.Nm sx_sunlock ,
|
||||
.Nm sx_xunlock ,
|
||||
.Nm sx_try_upgrade ,
|
||||
.Nm sx_downgrade ,
|
||||
.Nm sx_assert ,
|
||||
.Nm SX_SYSINIT
|
||||
.Nd カーネルの共有/排他ロック
|
||||
.Sh 書式
|
||||
.In sys/param.h
|
||||
.In sys/lock.h
|
||||
.In sys/mutex.h
|
||||
.In sys/sx.h
|
||||
.Ft void
|
||||
.Fn sx_init "struct sx *sx" "const char *description"
|
||||
.Ft void
|
||||
.Fn sx_destroy "struct sx *sx"
|
||||
.Ft void
|
||||
.Fn sx_slock "struct sx *sx"
|
||||
.Ft void
|
||||
.Fn sx_xlock "struct sx *sx"
|
||||
.Ft int
|
||||
.Fn sx_try_slock "struct sx *sx"
|
||||
.Ft int
|
||||
.Fn sx_try_xlock "struct sx *sx"
|
||||
.Ft void
|
||||
.Fn sx_sunlock "struct sx *sx"
|
||||
.Ft void
|
||||
.Fn sx_xunlock "struct sx *sx"
|
||||
.Ft int
|
||||
.Fn sx_try_upgrade "struct sx *sx"
|
||||
.Ft void
|
||||
.Fn sx_downgrade "struct sx *sx"
|
||||
.Ft void
|
||||
.Fn sx_assert "struct sx *sx" "int what"
|
||||
.Fn SX_SYSINIT "name" "struct sx *sx" "const char *description"
|
||||
.Sh 解説
|
||||
共有/排他ロックは書き込まれるよりも、読み込まれる方が非常に多いデータを
|
||||
保護するために使用されます。
|
||||
mutex は本質的に共有/排他ロックよりも能率的なので、共有/排他ロックは
|
||||
用心深く使用されるべきです。
|
||||
.Pp
|
||||
共有/排他ロックは
|
||||
.Fn sx_init
|
||||
を使用して作成されます。ここで
|
||||
.Fa sx
|
||||
は
|
||||
.Vt struct sx
|
||||
のための領域へのポインタで、
|
||||
.Fa description
|
||||
はその共有/排他ロックを説明するヌルで終端された文字列へのポインタです。
|
||||
共有/排他ロックは
|
||||
.Fn sx_destroy
|
||||
を使用して破壊されます。
|
||||
スレッドは
|
||||
.Fn sx_slock
|
||||
または
|
||||
.Fn sx_try_slock
|
||||
および
|
||||
.Fn sx_sunlock
|
||||
の呼び出しによって共有ロックを獲得および解放します。
|
||||
スレッドは
|
||||
.Fn sx_xlock
|
||||
または
|
||||
.Fn sx_try_xlock
|
||||
および
|
||||
.Fn sx_xunlock
|
||||
の呼び出しによって排他ロックを獲得および解放します。
|
||||
スレッドは
|
||||
.Fn sx_try_upgrade
|
||||
の呼び出しによって、現在所有している共有ロックから排他ロックへの
|
||||
アップグレードを試みることが可能です。
|
||||
排他ロックを所有しているスレッドは、
|
||||
.Fn sx_downgrade
|
||||
の呼び出しによってその排他ロックから共有ロックへのダウングレードが可能です。
|
||||
.Pp
|
||||
.Fn sx_try_slock
|
||||
および
|
||||
.Fn sx_try_xlock
|
||||
は共有/排他ロックがすぐに獲得できなかった場合には 0 を返し、
|
||||
そうでない場合には共有/排他ロックが獲得され 0 ではない値が返されます。
|
||||
.Pp
|
||||
.Fn sx_try_upgrade
|
||||
は共有ロックをすぐに排他ロックにアップグレードできない場合には 0 を返し、
|
||||
そうでない場合には排他ロックが獲得され 0 ではない値が返されます。
|
||||
.Pp
|
||||
.Fn sx_assert
|
||||
関数は指定された状態をテストして、その状態に合わずかつカーネルが
|
||||
.Dv INVARIANTS
|
||||
付きでコンパイルされている場合には、panic します。
|
||||
.Pp
|
||||
.Fn SX_SYSINIT
|
||||
マクロはシステムスタートアップ時に与えられた
|
||||
.Fa sx
|
||||
ロックを初期化するために
|
||||
.Fn sx_sysinit
|
||||
の呼び出しを生成します。
|
||||
引数は
|
||||
.Fn sx_init
|
||||
と同様ですが、
|
||||
そのロックと sysinit ルーチンに関連付けられた構造体に関連した唯一の
|
||||
変数名を生成する際に使用される追加の引数として
|
||||
.Fa name
|
||||
を持ちます。
|
||||
.Pp
|
||||
以下のアサートがサポートされています。
|
||||
.Bl -tag -width ".Dv SX_XLOCKED"
|
||||
.It Dv SX_LOCKED
|
||||
現在のスレッドが、最初の引数によって指されている
|
||||
.Vt sx
|
||||
ロック上に、共有または排他ロックのいずれかを持っていることをアサートします。
|
||||
.It Dv SX_SLOCKED
|
||||
現在のスレッドが、最初の引数によって指されている
|
||||
.Vt sx
|
||||
ロック上に、共有ロックを持っていることをアサートします。
|
||||
.It Dv SX_XLOCKED
|
||||
現在のスレッドが、最初の引数によって指されている
|
||||
.Vt sx
|
||||
ロック上に、排他ロックを持っていることをアサートします。
|
||||
.El
|
||||
.Pp
|
||||
スレッドは共有ロックと排他ロックを同時には持つことができません。
|
||||
同時に持つことはデッドロックを引き起こすことになるためです。
|
||||
.Sh コンテキスト
|
||||
スリープしている間に共有ロックまたは排他ロックを所有することは許可されます。
|
||||
.Sh 関連項目
|
||||
.Xr condvar 9 ,
|
||||
.Xr mtx_pool 9 ,
|
||||
.Xr mutex 9 ,
|
||||
.Xr sema 9
|
||||
.Sh バグ
|
||||
現在、ロックが保持されていないことをアサートする方法がありません。
|
||||
.Dv WITNESS
|
||||
ではない場合には、このスレッドが共有ロックを保持していないことを
|
||||
アサートすることは不可能です。
|
||||
.Dv WITNESS
|
||||
ではない場合には、
|
||||
.Dv SX_LOCKED
|
||||
および
|
||||
.Dv SX_SLOCKED
|
||||
のアサートは、あるスレッドが共有ロックを保持していることを
|
||||
単にチェックするに過ぎません。
|
||||
これらは、現在のスレッドが共有ロックを保持していることを保証しません。
|
212
ja_JP.eucJP/man/man9/taskqueue.9
Normal file
212
ja_JP.eucJP/man/man9/taskqueue.9
Normal file
|
@ -0,0 +1,212 @@
|
|||
.\" -*- nroff -*-
|
||||
.\"
|
||||
.\" Copyright (c) 2000 Doug Rabson
|
||||
.\"
|
||||
.\" All rights reserved.
|
||||
.\"
|
||||
.\" This program is free software.
|
||||
.\"
|
||||
.\" Redistribution and use in source and binary forms, with or without
|
||||
.\" modification, are permitted provided that the following conditions
|
||||
.\" are met:
|
||||
.\" 1. Redistributions of source code must retain the above copyright
|
||||
.\" notice, this list of conditions and the following disclaimer.
|
||||
.\" 2. Redistributions in binary form must reproduce the above copyright
|
||||
.\" notice, this list of conditions and the following disclaimer in the
|
||||
.\" documentation and/or other materials provided with the distribution.
|
||||
.\"
|
||||
.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
|
||||
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
.\"
|
||||
.\" %FreeBSD: src/share/man/man9/taskqueue.9,v 1.8 2003/09/03 05:35:37 ken Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd May 12, 2000
|
||||
.Dt TASKQUEUE 9
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm taskqueue
|
||||
.Nd 非同期タスクの実行
|
||||
.Sh 書式
|
||||
.In sys/param.h
|
||||
.In sys/kernel.h
|
||||
.In sys/malloc.h
|
||||
.In sys/queue.h
|
||||
.In sys/taskqueue.h
|
||||
.Bd -literal
|
||||
typedef void (*task_fn)(void *context, int pending);
|
||||
|
||||
typedef void (*taskqueue_enqueue_fn)(void *context);
|
||||
|
||||
struct task {
|
||||
STAILQ_ENTRY(task) ta_link; /* キューのためのリンク */
|
||||
int ta_pending; /* キューに入った回数 */
|
||||
int ta_priority; /* キュー内タスク優先度 */
|
||||
task_fn ta_func; /* タスクハンドラ */
|
||||
void *ta_context; /* ハンドラの引数 */
|
||||
};
|
||||
|
||||
.Ed
|
||||
.Ft struct taskqueue *
|
||||
.Fn taskqueue_create "const char *name" "int mflags" "taskqueue_enqueue_fn enqueue" "void *context"
|
||||
.Ft void
|
||||
.Fn taskqueue_free "struct taskqueue *queue"
|
||||
.Ft struct taskqueue *
|
||||
.Fn taskqueue_find "const char *name"
|
||||
.Ft int
|
||||
.Fn taskqueue_enqueue "struct taskqueue *queue" "struct task *task"
|
||||
.Ft void
|
||||
.Fn taskqueue_run "struct taskqueue *queue"
|
||||
.Fn TASK_INIT "struct task *task" "int priority" "task_fn_t *func" "void *context"
|
||||
.Fn TASKQUEUE_DECLARE "name"
|
||||
.Fn TASKQUEUE_DEFINE "name" "taskqueue_enqueue_fn enqueue" "void *context" "init"
|
||||
.Sh 解説
|
||||
これらの関数はコードの非同期の実行のための単純なインタフェースを提供します。
|
||||
.Pp
|
||||
関数
|
||||
.Fn taskqueue_create
|
||||
は新しいキューを作成するために使用されます。
|
||||
.Fn taskqueue_create
|
||||
への引数は、唯一であるべき名前、
|
||||
.Fn malloc
|
||||
の呼び出しがスリープを認めるかどうかを指定する
|
||||
.Xr malloc 9
|
||||
フラグの組、タスクがキューに追加されたときに
|
||||
.Fn taskqueue_enqueue
|
||||
から呼び出される関数を含みます。
|
||||
.\" XXX 以下の文は多くは最初の部分に関係しています。
|
||||
これは、(たとえば、ソフトウェア割り込みによるスケジューリングまたは
|
||||
カーネルスレッドが起こされることによって) キューが後で実行されるために
|
||||
準備されることができるようにするためです。
|
||||
.Pp
|
||||
関数
|
||||
.Fn taskqueue_free
|
||||
はキューのグローバルなリストからそのキューを取り除くためと、
|
||||
キューによって使用されたメモリを開放するために使用されるべきです。
|
||||
キュー上の全てのタスクはこのとき実行されます。
|
||||
.Pp
|
||||
システムは、
|
||||
.Fn taskqueue_find
|
||||
を使用して検索されることが可能な、全てのキューのリストを管理します。
|
||||
名前が一致する最初のキューが返され、そうでなければ
|
||||
.Dv NULL
|
||||
が返されます。
|
||||
.Pp
|
||||
タスクキュー上のキューに入れられたタスクのリストに、タスクを追加するためには、
|
||||
キューへのポインタとタスクへのポインタを指定して
|
||||
.Fn taskqueue_enqueue
|
||||
を呼び出します。
|
||||
タスクの
|
||||
.Va ta_pending
|
||||
フィールドが 0 でない場合には、タスクがキューに入れられた回数に反映するために
|
||||
単純にインクリメントされます。
|
||||
そうでない場合には、そのタスクはより低い
|
||||
.Va ta_priority
|
||||
値を持つ最初のタスクの前に、またはより低い優先度持つタスクがない場合は
|
||||
リストの最後に、追加されます。
|
||||
タスクをキューに入れることは、割り込みハンドラの中から呼び出されることに
|
||||
適応するために、メモリの割り当てを実行しません。
|
||||
この関数は、そのキューが開放されようとしている場合には、
|
||||
.Er EPIPE
|
||||
を返します。
|
||||
.Pp
|
||||
キュー上の全てのタスクを実行するには、
|
||||
.Fn taskqueue_run
|
||||
を呼び出します。
|
||||
タスクが実行されるときには、先ずそのタスクがキューから取り除かれ、
|
||||
.Va ta_pending
|
||||
の値が記録されそれからそのフィールドが 0 でクリアされます。
|
||||
task 構造体の
|
||||
.Va ta_func
|
||||
関数は
|
||||
.Va ta_context
|
||||
フィールドの値を最初の引数として、
|
||||
.Va ta_pending
|
||||
の値を 2 番目の引数として、呼び出されます。
|
||||
.Pp
|
||||
便利なマクロ
|
||||
.Fn TASK_INIT "task" "priority" "func" "context"
|
||||
は
|
||||
.Va task
|
||||
構造体を初期化するために提供されています。
|
||||
.Va priority ,
|
||||
.Va func
|
||||
および
|
||||
.Va context
|
||||
の値は単純に task 構造体のフィールドにコピーされ、
|
||||
.Va ta_pending
|
||||
フィールドはクリアされます。
|
||||
.Pp
|
||||
2 つのマクロ
|
||||
.Fn TASKQUEUE_DECLARE "name"
|
||||
および
|
||||
.Fn TASKQUEUE_DEFINE "name" "enqueue" "context" "init"
|
||||
は、グローバルなキューへの参照の宣言およびそのキューの実装の定義の
|
||||
ために使用されます。
|
||||
.Fn TASKQUEUE_DEFINE
|
||||
マクロは
|
||||
.Va name ,
|
||||
.Va enqueue
|
||||
および
|
||||
.Va context
|
||||
引数の値で、システムの初期化の間に
|
||||
.Fn taskqueue_create
|
||||
を呼び出すための手配を行います。
|
||||
.Fn taskqueue_create
|
||||
の呼び出しの後で、(割り込みハンドラの登録などの) その他の初期化が
|
||||
実行されることを可能にするために、このマクロへの
|
||||
.Va init
|
||||
引数が C のステートメントとして実行されます。
|
||||
.Pp
|
||||
システムは 3 つのグローバルなタスクキュー
|
||||
.Va taskqueue_swi ,
|
||||
.Va taskqueue_swi_giant ,
|
||||
および
|
||||
.Va taskqueue_thread
|
||||
を提供します。
|
||||
swi タスクキューはソフトウェア割り込みの仕組みを介して実行されます。
|
||||
taskqueue_swi キューは Giant カーネルロックの保護無しで実行し、
|
||||
taskqueue_swi_giant キューは Giant カーネルロックの保護有りで
|
||||
実行します。
|
||||
スレッドタスクキューはカーネルスレッドコンテキストで実行され、このスレッド
|
||||
から実行されるタスクは、Giant カーネルロック下で実行されません。
|
||||
呼び出し側が Giant ロック下で実行したい場合には、呼び出し側の
|
||||
タスクキューハンドラルーチンの中で、呼び出し側が明確に Giant ロックの
|
||||
獲得および解放を行なうべきです。
|
||||
.Pp
|
||||
このキューを使用するためには、使用したいキュー (
|
||||
.Va taskqueue_swi ,
|
||||
.Va taskqueue_swi_giant
|
||||
または
|
||||
.Va taskqueue_thread
|
||||
) のためのグローバルタスクキュー変数の値で
|
||||
.Fn taskqueue_enqueue
|
||||
を呼び出します。
|
||||
.Pp
|
||||
ソフトウェア割り込みキューは、例えば、ハンドラの中で著しい量の処理を実行
|
||||
しなければならない割り込みハンドラを実装するために、使用されることが可能です。
|
||||
ハードウェア割り込みハンドラは、その割り込みの最小の処理を実行し、それから
|
||||
作業を完了させるためにタスクをキューに入れます。
|
||||
これは、割り込みが無効化されて費やされる時間を最小量にまで縮小します。
|
||||
.Pp
|
||||
スレッドキューは、例えば、スレッドコンテキストからのみ実行することが可能な
|
||||
何かを行なうカーネル関数を呼び出すことが必要な、割り込みレベルのルーチンに
|
||||
よって使用されることが可能です。
|
||||
(例えば、M_WAITOK フラグを伴った malloc の呼び出しです。)
|
||||
.Sh 歴史
|
||||
このインタフェースは
|
||||
.Fx 5.0
|
||||
ではじめて登場しました。
|
||||
Linux カーネルで tqueue と呼ばれる同様のファシリティがあります。
|
||||
.Sh 作者
|
||||
このマニュアルページは
|
||||
.An Doug Rabson
|
||||
が書きました。
|
Loading…
Reference in a new issue