Creates a directory.
The newly created directory will be owned by the effective user ID of the process. If the directory containing the file has the set-group-ID bit set, or if the filesystem is mounted with BSD group semantics, the new directory will inherit the group ownership from its parent; otherwise it will be owned by the effective group ID of the process.
If the parent directory has the set-group-ID bit set then so will the newly created directory.
This system call is identical to sys_mkdirat with ebx set to AT_FDCWD.
Arguments
eax |
39 |
ebx |
Pointer to a null-terminated string that specifies the pathname of the directory to be created. |
ecx |
Directory access permissions. All the file permission bits are set to the bits of ecx except for those set in the file-mode creation mask of the process. (See sys_umask). Available permissions are:
S_ISUID - set user ID on execution
S_ISGID - set group ID on execution
S_ISVTX - on directories, restricted deletion flag
S_IRWXU - owner has read, write and execute permission
S_IRUSR - owner has read permission
S_IWUSR - owner has write permission
S_IXUSR - owner has execute permission
S_IRWXG - group has read, write and execute permission
S_IRGRP - group has read permission
S_IWGRP - group has write permission
S_IXGRP - group has execute permission
S_IRWXO - others have read, write and execute permission
S_IROTH - others have read permission
S_IWOTH - others have write permission
S_IXOTH - others have execute permission |
|
Return values
If the system call succeeds the return value is 0.
If the system call fails the return value is one of the following errno values:
-EACCES |
The parent directory does not allow write permission to the process, or one of the directories in the path pointed by ebx did not allow search permission. |
-EEXIST |
Path pointed by ebx already exists (not necessarily as a directory). This includes the case where path is a symbolic link, dangling or not. |
-EFAULT |
ebx points outside your accessible address space. |
-ELOOP |
Too many symbolic links were encountered in resolving the path pointed by ebx. |
-ENAMETOOLONG |
Path pointed by ebx was too long. |
-ENOENT |
A directory component in the path pointed by ebx does not exist or is a dangling symbolic link. |
-ENOMEM |
Insufficient kernel memory was available. |
-ENOSPC |
The device containingthe path pointed by ebx has no room for the new directory.
-or-
The new directory cannot be created because the user's disk quota is exhausted. |
-ENOTDIR |
A component used as a directory in the path pointed by ebx is not, in fact, a directory. |
-EPERM |
The filesystem containing the path pointed by ebx does not support the creation of directories. |
-EROFS |
Path pointed by ebx refers to a file on a read-only filesystem. |
|
Remarks
n/a
Compatibility
n/a |