mknod(2) FreeBSD 一般コマンドマニュアル

mknod

前のページ 上に戻る 次のページ

mknod




書式

     #include <unistd.h>

     int
     mknod(const char *path, mode_t mode, dev_t dev);


解説

     ファイルシステムノード path が、 mode で指定されたファイルタイプとアクセ
     ス許可で作成されます。アクセス許可はプロセスの umask 値による修正を受けま
     す。

     mode がブロックまたはキャラクタ型特殊ファイルを示す場合、 dev はシステム
     上の特定のデバイスを示す構成に依存する指示です。そうでない場合 dev は無視
     されます。

     mknod() にはスーパユーザ権限が必要です。


戻り値

     関数 mknod() は、処理が成功すると値 0 を返します。そうでない場合、値 -1
     が返され、グローバル変数 errno が設定されてエラーを示します。


エラー

     mknod() は次の場合に処理に失敗し、ファイルは作成されません。

     [ENOTDIR]          パスの構成要素中にディレクトリ以外のものが含まれていま
                        す。

     [ENAMETOOLONG]     パス名の構成要素が 255 文字を越えているか、またはパス
                        名全体が 1023 文字を越えています。

     [ENOENT]           パスの構成要素が存在しません。

     [EACCES]           指定されたパスには、検索が許可されていないディレクトリ
                        が含まれています。

     [ELOOP]            パス名を変換するときに検出されたシンボリックリンクが多
                        すぎます。

     [EPERM]            プロセスの実効ユーザ ID がスーパユーザではありません。

     [EIO]              ディレクトリエントリの作成中、あるいは i ノードを割り
                        当て中に入出力エラーが発生しました。

     [ENOSPC]           新しいノード用のエントリを配置するディレクトリが拡張で
                        きません。ディレクトリが入っているファイルシステム上に
                        空き容量が残っていません。

     [ENOSPC]           ノードを作成するファイルシステム上に未使用の i ノード
                        がありません。

     [EDQUOT]           新しいノードのエントリを配置するディレクトリが拡張でき
     [EINVAL]           ブロックまたはキャラクタ型特殊ファイル (または
                        whiteout) 以外の作成は行われません。


関連項目

     chmod(2), mkfifo(2), stat(2), umask(2)


歴史

     mknod() 関数は Version 6 AT&T UNIX で登場しました。

FreeBSD 4.4                      June 4, 1993                      FreeBSD 4.4

ABELNET VPSサービス