b3aee9efe3
Submitted by: Nobuyuki Koganemaru <n-kogane at syd odn ne jp> Reviewed by: kano at na rim or jp Yoshihiko Sarumaru <mistral at imasy or jp>
139 lines
3.9 KiB
Groff
139 lines
3.9 KiB
Groff
.\" Copyright (c) 1999 Chris Costello
|
|
.\" All rights reserved.
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, are permitted provided that the following conditions
|
|
.\" are met:
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
.\"
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
|
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
|
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
.\" SUCH DAMAGE.
|
|
.\"
|
|
.\" %FreeBSD: src/share/man/man9/make_dev.9,v 1.15.4.1 2005/03/31 14:20:12 brueffer Exp %
|
|
.\"
|
|
.\" $FreeBSD$
|
|
.Dd March 28, 2005
|
|
.Os
|
|
.Dt MAKE_DEV 9
|
|
.Sh 名称
|
|
.Nm make_dev ,
|
|
.Nm make_dev_alias ,
|
|
.Nm destroy_dev ,
|
|
.Nm dev_depends
|
|
.Nd デバイスのための
|
|
.Vt cdev
|
|
および DEVFS 登録の管理
|
|
.Sh 書式
|
|
.In sys/param.h
|
|
.In sys/conf.h
|
|
.Ft struct cdev
|
|
.Fn make_dev "struct cdevsw *cdevsw" "int minor" "uid_t uid" "gid_t gid" "int perms" "const char *fmt" ...
|
|
.Ft struct cdev
|
|
.Fn make_dev_alias "struct cdev pdev" "const char *fmt" ...
|
|
.Ft void
|
|
.Fn destroy_dev "struct cdev dev"
|
|
.Ft void
|
|
.Fn dev_depends "struct cdev pdev" "struct cdev cdev"
|
|
.Sh 解説
|
|
.Fn make_dev
|
|
関数は新しいデバイスのための
|
|
.Fa cdev
|
|
構造体を作成します。
|
|
DEVFS が利用可能の場合には、新しいデバイスの存在も通知されます。
|
|
そのデバイスは
|
|
.Va uid
|
|
によって所有され、
|
|
.Va gid
|
|
のグループに所有され、
|
|
.Va name
|
|
で指定される名前を持ちます。
|
|
.Va perms
|
|
に指定するファイルのパーミッションは
|
|
.In sys/stat.h
|
|
で定義されています。
|
|
.Pp
|
|
.Bd -literal -offset indent -compact
|
|
#define S_IRWXU 0000700 /* 所有者の RWX マスク
|
|
#define S_IRUSR 0000400 /* 所有者の R */
|
|
#define S_IWUSR 0000200 /* 所有者の W */
|
|
#define S_IXUSR 0000100 /* 所有者の X */
|
|
|
|
#define S_IRWXG 0000070 /* グループの RWX マスク */
|
|
#define S_IRGRP 0000040 /* グループの R */
|
|
#define S_IWGRP 0000020 /* グループの W */
|
|
#define S_IXGRP 0000010 /* グループの X */
|
|
|
|
#define S_IRWXO 0000007 /* その他の RWX マスク */
|
|
#define S_IROTH 0000004 /* その他の R */
|
|
#define S_IWOTH 0000002 /* その他の W */
|
|
#define S_IXOTH 0000001 /* その他の X */
|
|
|
|
#define S_ISUID 0004000 /* 実行時にユーザ ID を設定 */
|
|
#define S_ISGID 0002000 /* 実行時にグループ ID を設定 */
|
|
#define S_ISVTX 0001000 /* スティッキビット */
|
|
#ifndef _POSIX_SOURCE
|
|
#define S_ISTXT 0001000
|
|
#endif
|
|
.Ed
|
|
.Pp
|
|
.Fn make_dev_alias
|
|
関数は
|
|
.Fn make_dev
|
|
から返された
|
|
.Ft cdev
|
|
をとり、このデバイスのための別の名前 (別名) を作成します。
|
|
.Fn make_dev
|
|
の呼出しの前の
|
|
.Fn make_dev_alias
|
|
の呼出しは、誤りです。
|
|
.Pp
|
|
.Fn destroy_dev
|
|
関数は
|
|
.Fn make_dev
|
|
から返された
|
|
.Fa cdev
|
|
をとり、そのデバイスの登録を削除します。
|
|
.Fn make_dev_alias
|
|
で作成されたデバイスで
|
|
.Fn destroy_dev
|
|
を呼出さないでください。
|
|
.Pp
|
|
.Fn dev_depends
|
|
関数は 2 つのデバイス間の親子関係を確立します。
|
|
このネット効果は、親デバイスの
|
|
.Fn destroy_dev
|
|
は、もしあれば、結果としてその子デバイスの破壊に終わります。
|
|
1 つのデバイスは同時に親にも子にもなれ、
|
|
そのため、完全な階層構造を構築することが可能です。
|
|
.Sh 関連項目
|
|
.Xr devfs 5
|
|
.Sh 歴史
|
|
.Fn make_dev
|
|
および
|
|
.Fn destroy_dev
|
|
関数は
|
|
.Fx 4.0
|
|
ではじめて登場しました。
|
|
関数
|
|
.Fn make_dev_alias
|
|
は
|
|
.Fx 4.1
|
|
ではじめて登場しました。
|
|
関数
|
|
.Fn dev_depends
|
|
は
|
|
.Fx 5.0
|
|
ではじめて登場しました。
|