MKDIR(2)

名称
mkdir - ディレクトリファイルを作成する

ライブラリ
libc

書式
<sys/types.h> <sys/stat.h> int mkdir(const char *path, mode_t mode)

解説
ディレクトリ path が、 mode による指定に呼び出しプロセスの umask(2) で制約を加えたアクセス許可で作成されます。

ディレクトリの所有者 ID は、プロセスの実効ユーザ ID に設定されます。 ディレクトリのグループ ID は、そのディレクトリが作成された親ディレクトリの グループ ID に設定されます。

戻り値

エラー
mkdir() は次の場合、処理に失敗してディレクトリは作成されません。

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

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

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

[EACCES]
    指定されたパスには、検索が許可されていないディレクトリが含まれています。 または、作成するディレクトリの親ディレクトリに対する書き込み権限が 拒否されました。

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

[EROFS]
    指定されたファイルは読取り専用ファイルシステム上にあります。

[EEXIST]
    指定のファイルがすでに存在します。

[ENOSPC]
    新しいディレクトリが作成できません。 そのディレクトリを作る容量がファイルシステムに残っていません。

[ENOSPC]
    ディレクトリを作成するファイルシステム上に未使用の inode がありません。

[EDQUOT]
    新しいディレクトリが作成できません。ディレクトリを作るファイルシステム上の ディスクブロックのユーザのクォータが枯渇しました。

[EDQUOT]
    ディレクトリを作成中のファイルシステム上のユーザの inode のクォータが 枯渇しました。

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

[EIO]
    ファイルシステムに読み書きしている間に入出力エラーが発生しました。

[EFAULT]
    path は、プロセスに割り当てられたアドレス空間の範囲外を指しています。

関連項目
chmod(2), stat(2), umask(2)

規格
mkdir() 関数は p1003.1-90 に準拠しています。