MKNOD(2) — NEWS-OS Programmer’s Manual
名称
mknod − スペシャルファイルを作成する
形式
mknod(path, mode, dev)
char ∗path;
int mode, dev;
解説
mknod は、 名前が path である新しいファイルを 作成します。 新しいファイルのモードは(特殊ファイルのビットも含めて)、 mode を 用いて初期設定されます。 (モードの保護部分は、 プロセスのモードマスクによって修正されます ( umask(2) 参照)) i ノードの先頭ブロックポインタは、 dev を 用いて初期設定され、 その特殊ファイルがどちらのデバイスを 参照するのかを 指定するために使用されます。
mode がブロック型またはキャラクタ型特殊ファイルを 示している場合には、 dev はコンフィグレーションに依存したキャラクタ型または ブロック型入出力デバイスの値になります。 mode がブロック型またはキャラクタ型特殊ファイルを 示していない場合には、 dev は無視されます。
mknod は、 mode が FIFO 特殊ファイルの場合を除いて、 スーパーユーザだけが呼び出すことができます。
リターン値
正常終了時には、 値 0 が返されます。 そうでない場合には、 値 −1 が返され、 errno がエラーを 示すようにセットされます。
エラー
次の場合には、 mknod は失敗し、 ファイルのモードは変更されません。
[ENOTDIR] パスプレフィックスの構成要素がディレクトリではないものがある。
[EINVAL] パス名に最上位ビットのセットされたキャラクタが含まれている。 (NEWS-OS では起きません。)
[ENAMETOOLONG]
パス名の 1 構成要素が 255 バイトを 超えている、 またはパス名全体が 1023 バイトを 超えている。
[ENOENT] パスプレフィックスの構成要素が存在していないものがある。
[EACCES] パスプレフィックスの構成要素についてサーチパーミッションが 許されていないものがある。
[ELOOP] パス名の処理で遭遇したシンボリックリンクの数が多すぎる。
[EPERM] そのプロセスの有効ユーザ ID がスーパーユーザではない。
[EPERM] パス名に最上位ビットのセットされたキャラクタが含まれている。 (NEWS-OS では起きません。)
[EIO] ディレクトリエントリの作成中または i ノードの割り当て中に、 入出力エラーが発生した。
[ENOSPC] 新しいノードのエントリを 入れるディレクトリのあるファイルシステムにスペースが残されていないために、 そのディレクトリを 拡張することができない。
[ENOSPC] そのノードが作成されるファイルシステムに、 フリー i ノードがない。
[EDQUOT] その新しいノードのエントリを 入れるディレクトリのあるファイルシステムで、 そのユーザのディスクブロックの割り当て量が使い果たされているために、 そのディレクトリを 拡張することができない。
[EDQUOT] そのノードが作成されるファイルシステムで、 そのユーザの i ノードの割り当て量が使い果たされている。
[EROFS] 指定されたファイルが読み取り専用のファイルシステム上にある。
[EEXIST] 指定されたファイルが既に在している。
[EFAULT] path が、 そのプロセスの割り当てアドレススペースの外を 指している。
関連事項
NEWS-OSRelease 4.2.1R