.\" Modified 2003-04-23 by Michael Kerrisk
.\" Modified 2004-06-23 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
+.\"*******************************************************************
.\"
-.\" Japanese Version Copyright (c) 1997 SUTO, Mitsuaki
-.\" all rights reserved.
-.\" Translated 1997-06-26, SUTO, Mitsuaki <suto@av.crl.sony.co.jp>
-.\" Updated & Modified 1999-03-01, NAKANO Takeo <nakano@apm.seikei.ac.jp>
-.\" Updated & Modified 2001-06-04, Yuichi SATO <ysato@h4.dion.ne.jp>
-.\" Updated & Modified 2003-07-26, Yuichi SATO <ysato444@yahoo.co.jp>
-.\" Updated & Modified 2004-12-31, Yuichi SATO
-.\" Updated 2005-09-06, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
+.\" This file was generated with po4a. Translate the source file.
.\"
-.\"WORD: node ノード
-.\"WORD: permission 許可属性
-.\"WORD: resolve (パス名を) 解決する
-.\"
-.TH MKNOD 2 2010-09-20 "Linux" "Linux Programmer's Manual"
+.\"*******************************************************************
+.TH MKNOD 2 2010\-09\-20 Linux "Linux Programmer's Manual"
.SH 名前
mknod \- 特殊ファイルや通常のファイルを作成する
.SH 書式
.nf
-.B #include <sys/types.h>
-.B #include <sys/stat.h>
-.B #include <fcntl.h>
-.B #include <unistd.h>
+\fB#include <sys/types.h>\fP
+\fB#include <sys/stat.h>\fP
+\fB#include <fcntl.h>\fP
+\fB#include <unistd.h>\fP
.sp
-.BI "int mknod(const char *" pathname ", mode_t " mode ", dev_t " dev );
+\fBint mknod(const char *\fP\fIpathname\fP\fB, mode_t \fP\fImode\fP\fB, dev_t \fP\fIdev\fP\fB);\fP
.fi
.sp
.in -4n
-glibc 向けの機能検査マクロの要件
-.RB ( feature_test_macros (7)
-参照):
+glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参照):
.in
.sp
-.BR mknod ():
+\fBmknod\fP():
.ad l
.RS 4
-_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\ >=\ 500 ||
-_XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED
+_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\ >=\ 500 || _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED
.RE
.ad
.SH 説明
-システムコール
-.BR mknod ()
-は
-.I pathname
-という名前のファイルシステム・ノード
-(ファイル、デバイススペシャルファイル、名前付きパイプ) を、
-属性
-.I mode
-と
-.I dev
-の指定にしたがって作成する。
+システムコール \fBmknod\fP() は \fIpathname\fP という名前のファイルシステム・ノード
+(ファイル、デバイススペシャルファイル、名前付きパイプ) を、 属性 \fImode\fP と \fIdev\fP の指定にしたがって作成する。
-.I mode
-引き数には、作成するノードの許可属性 (permission) とタイプを指定する。
-.I mode
-の指定は以下にあげるファイルタイプのうちの 1 つと、
-許可属性の組合せ (ビットごとの OR を使用) で行う。
+\fImode\fP 引き数には、作成するノードの許可属性 (permission) とタイプを指定する。 \fImode\fP
+の指定は以下にあげるファイルタイプのうちの 1 つと、 許可属性の組合せ (ビットごとの OR を使用) で行う。
-許可属性は通常通り、プロセスの
-.I umask
-によって修正され、作成されたノードの許可属性は
-.I "(mode & ~umask)"
-となる。
+許可属性は通常通り、プロセスの \fIumask\fP によって修正され、作成されたノードの許可属性は \fI(mode & ~umask)\fP となる。
-ファイルタイプには
-.BR S_IFREG ,
-.BR S_IFCHR ,
-.BR S_IFBLK ,
-.BR S_IFIFO ,
-.B S_IFSOCK
-.\" (S_IFSOCK は Linux 1.2.4 から存在する)
-のいずれかを指定しなければならない。
-それぞれ順に、通常のファイル (空のファイルとして作成される)・
-キャラクタスペシャルファイル・ブロックスペシャルファイル・
-FIFO (名前付きパイプ)・UNIX ドメインソケットである
-(ファイルタイプ 0 は
-.B S_IFREG
-と同じである)。
+.\" (S_IFSOCK since Linux 1.2.4)
+ファイルタイプには \fBS_IFREG\fP, \fBS_IFCHR\fP, \fBS_IFBLK\fP, \fBS_IFIFO\fP, \fBS_IFSOCK\fP
+のいずれかを指定しなければならない。 それぞれ順に、通常のファイル (空のファイルとして作成される)・
+キャラクタスペシャルファイル・ブロックスペシャルファイル・ FIFO (名前付きパイプ)・UNIX ドメインソケットである (ファイルタイプ 0 は
+\fBS_IFREG\fP と同じである)。
-ファイルタイプが
-.B S_IFCHR
-または
-.B S_IFBLK
-のとき、
-.I dev
-には作成するデバイススペシャルファイルのメジャー番号と
-マイナー番号を指定する
-.RB ( makedev (3)
-は
-.I dev
-のこれらの番号を作成する際に役立つだろう)。
-それ以外の場合は
-.I dev
+ファイルタイプが \fBS_IFCHR\fP または \fBS_IFBLK\fP のとき、 \fIdev\fP には作成するデバイススペシャルファイルのメジャー番号と
+マイナー番号を指定する (\fBmakedev\fP(3) は \fIdev\fP のこれらの番号を作成する際に役立つだろう)。 それ以外の場合は \fIdev\fP
は無視される。
-.I pathname
-が既に存在する場合、またはシンボリックリンクの場合、
-この呼び出しは
-.B EEXIST
-エラーで失敗する。
+\fIpathname\fP が既に存在する場合、またはシンボリックリンクの場合、 この呼び出しは \fBEEXIST\fP エラーで失敗する。
-新しく作成されたノードの所有者はプロセスの実効ユーザ ID にセットされる。
-新たに作られたノードを保持する
-親ディレクトリの set-group-ID ビットがセットされていたり、
-ファイルシステムが BSD のグループセマンティクスにしたがって
-マウントされている場合には、新しいノードのグループ所有権は親ディレクトリの
-グループ所有権を継承する (親ディレクトリと同じになる)。
+新しく作成されたノードの所有者はプロセスの実効ユーザ ID にセットされる。 新たに作られたノードを保持する 親ディレクトリの set\-group\-ID
+ビットがセットされていたり、 ファイルシステムが BSD のグループセマンティクスにしたがって
+マウントされている場合には、新しいノードのグループ所有権は親ディレクトリの グループ所有権を継承する (親ディレクトリと同じになる)。
また、そうでなかった場合の所有グループはプロセスの実効グループ ID となる。
.SH 返り値
-.BR mknod ()
-は成功した場合 0 を、失敗した場合 \-1 を返す
-(失敗した場合
-.I errno
-がエラーの内容にしたがってセットされる)。
+\fBmknod\fP() は成功した場合 0 を、失敗した場合 \-1 を返す (失敗した場合 \fIerrno\fP がエラーの内容にしたがってセットされる)。
.SH エラー
-.TP
-.B EACCES
-プロセスが親ディレクトリへの書き込み許可を持たない。
-もしくはパス名
-.I pathname
-中のディレクトリ部分のどれかに検索許可属性が無い
-.RB ( path_resolution (7)
-も参照すること)。
-.TP
-.B EEXIST
-.I pathname
-が既に存在する。
-これには
-.I pathname
-がシンボリック・リンクである場合も含まれる
-(シンボリック・リンクが壊れているか (dangling) どうかは関係ない)。
-.TP
-.B EFAULT
-.I pathname
-がそのプロセスのアクセス可能なアドレス空間の外を指している。
-.TP
-.B EINVAL
-.I mode
-が通常のファイル・デバイススペシャルファイル・FIFO・ソケット以外を
-作成するようにセットされている。
-.TP
-.B ELOOP
-パス名
-.I pathname
-を解決するときに、含まれているシンボリックリンクが多すぎた。
-.TP
-.B ENAMETOOLONG
-.I pathname
-が長過ぎる。
-.TP
-.B ENOENT
-.I pathname
-中で指定されているディレクトリが存在しないか、
-またはリンク先の無いシンボリックリンクである。
-.TP
-.B ENOMEM
+.TP
+\fBEACCES\fP
+プロセスが親ディレクトリへの書き込み許可を持たない。 もしくはパス名 \fIpathname\fP 中のディレクトリ部分のどれかに検索許可属性が無い
+(\fBpath_resolution\fP(7) も参照すること)。
+.TP
+\fBEEXIST\fP
+\fIpathname\fP がすでに存在する。 これには \fIpathname\fP がシンボリックリンクである場合も含まれる
+(シンボリックリンクがリンク切れか (dangling) どうかは関係ない)。
+.TP
+\fBEFAULT\fP
+\fIpathname\fP がそのプロセスのアクセス可能なアドレス空間の外を指している。
+.TP
+\fBEINVAL\fP
+\fImode\fP が通常のファイル・デバイススペシャルファイル・FIFO・ソケット以外を 作成するようにセットされている。
+.TP
+\fBELOOP\fP
+パス名 \fIpathname\fP を解決するときに、含まれているシンボリックリンクが多すぎた。
+.TP
+\fBENAMETOOLONG\fP
+\fIpathname\fP が長過ぎる。
+.TP
+\fBENOENT\fP
+\fIpathname\fP 中のディレクトリ部分が存在しない、 もしくはリンク先の無いシンボリックリンクである。
+.TP
+\fBENOMEM\fP
十分なカーネルメモリが無い。
-.TP
-.B ENOSPC
-.I pathname
-のあるデバイスに新たにノードを作成する空きが無い。
-.TP
-.B ENOTDIR
-.I pathname
-中のディレクトリ要素が、実際にはディレクトリでない。
-.TP
-.B EPERM
-.I mode
-は通常のファイル・FIFO (名前付きパイプ)・UNIX ドメインソケット以外を
-作成するようにセットされているが、実行者が特権
-(Linux では
-.B CAP_MKNOD
-ケーパビリティ (capability)) を持っていない。
-.\" UNIX ドメインソケットと通常ファイルに対して mknod() を行うと、
-.\" Linux 2.2 以前では EPERM を返すだけである。
-.\" Linux 2.4 以降では特権を持っていなくてもこれらのファイルを
-.\" 作成するのに mknod() を使用することができる。
-または
-.I pathname
+.TP
+\fBENOSPC\fP
+\fIpathname\fP のあるデバイスに新たにノードを作成する空きが無い。
+.TP
+\fBENOTDIR\fP
+\fIpathname\fP 中のディレクトリ要素が、実際にはディレクトリでない。
+.TP
+\fBEPERM\fP
+.\" For UNIX domain sockets and regular files, EPERM is only returned in
+.\" Linux 2.2 and earlier; in Linux 2.4 and later, unprivileged can
+.\" use mknod() to make these files.
+\fImode\fP は通常のファイル・FIFO (名前付きパイプ)・UNIX ドメインソケット以外を 作成するようにセットされているが、実行者が特権
+(Linux では \fBCAP_MKNOD\fP ケーパビリティ (capability)) を持っていない。 または \fIpathname\fP
を保持するファイルシステムが、指定されたノード形式をサポートしていない。
-.TP
-.B EROFS
-.I pathname
-が読み出し専用ファイルシステム上のファイルを指している。
+.TP
+\fBEROFS\fP
+\fIpathname\fP が読み出し専用ファイルシステム上のファイルを指している。
.SH 準拠
-SVr4, 4.4BSD, POSIX.1-2001 (下記も参照).
-.\" Linux の実装は SVr4 の実装と異なり、パイプの作成には root 権限が不要である。
-.\" また EMULTIHOP と ENOLINK と EINTR のエラーについては記述されていない。
+.\" The Linux version differs from the SVr4 version in that it
+.\" does not require root permission to create pipes, also in that no
+.\" EMULTIHOP, ENOLINK, or EINTR error is documented.
+SVr4, 4.4BSD, POSIX.1\-2001 (下記も参照).
.SH 注意
-POSIX.1-2001 では次のように書いている:
-.RB 「 mknod ()
-の唯一の移植性のある使用法は、FIFO スペシャルファイルを作成することである。
-.I mode
-が
-.B S_IFIFO
-ではない場合、または
-.I dev
-が 0 ではない場合、
-.BR mknod ()
-の挙動は規定されていない。」
-しかしながら、現在ではこの目的のために
-.BR mknod ()
-を使用すべきではない。この目的のために特別に定義された関数である
-.BR mkfifo ()
-を使用すべきである。
+POSIX.1\-2001 では次のように書いている: 「\fBmknod\fP() の唯一の移植性のある使用法は、FIFO
+スペシャルファイルを作成することである。 \fImode\fP が \fBS_IFIFO\fP ではない場合、または \fIdev\fP が 0 ではない場合、
+\fBmknod\fP() の挙動は規定されていない。」 しかしながら、現在ではこの目的のために \fBmknod\fP()
+を使用すべきではない。この目的のために特別に定義された関数である \fBmkfifo\fP() を使用すべきである。
-Linux では、ディレクトリを作成するために
-この呼び出しを使用することはできない。
-ディレクトリは
-.BR mkdir (2)
-で作成すべきである。
-.\" UNIX ドメインソケットは socket(2) と bind(2) で作成すべきである。
+.\" and one should make UNIX domain sockets with socket(2) and bind(2).
+Linux では、ディレクトリを作成するために この呼び出しを使用することはできない。 ディレクトリは \fBmkdir\fP(2) で作成すべきである。
-NFS を実現しているプロトコルには多くの不備が存在し、
-それらのいくつかは
-.BR mknod ()
-に影響を与える。
+NFS を実現しているプロトコルには多くの不備が存在し、 それらのいくつかは \fBmknod\fP() に影響を与える。
.SH 関連項目
-.BR chmod (2),
-.BR chown (2),
-.BR fcntl (2),
-.BR mkdir (2),
-.BR mknodat (2),
-.BR mount (2),
-.BR socket (2),
-.BR stat (2),
-.BR umask (2),
-.BR unlink (2),
-.BR makedev (3),
-.BR mkfifo (3),
-.BR path_resolution (7)
+\fBchmod\fP(2), \fBchown\fP(2), \fBfcntl\fP(2), \fBmkdir\fP(2), \fBmknodat\fP(2),
+\fBmount\fP(2), \fBsocket\fP(2), \fBstat\fP(2), \fBumask\fP(2), \fBunlink\fP(2),
+\fBmakedev\fP(3), \fBmkfifo\fP(3), \fBpath_resolution\fP(7)