mknod(2)mknod(2)NAMEmknod - Create a FIFO or special file
const char *path,
dev_t device );
Interfaces documented on this reference page conform to industry stan‐
dards as follows:
mknod(): POSIX.1, XSH4.2, XSH5.0
Refer to the standards(5) reference page for more information about
industry standards and associated tags.
Names the new file. If the final component of the path parameter names
a symbolic link, the link will be traversed and pathname resolution
will continue. Specifies the file type, attributes, and access permis‐
sions. This parameter is constructed with a logical OR operation on
values described in the <sys/mode.h> header file. Depends upon the
configuration and is used only if the mode parameter specifies a block
or character special file. If the file you specify is a remote file,
the value of the device parameter must be meaningful on the node where
the file resides.
The mknod() function creates a special file or FIFO. Using the mknod()
function to create file types other than FIFO special requires supe‐
For the mknod() function to complete successfully, a process must have
search permission and write permission in the parent directory of the
The new file has the following characteristics: File type as specified
by the mode parameter Owner ID set to the process effective user ID
Group ID set to the group ID of the file's parent directory Permission
and attribute bits set according to the value of the mode parameter
All bits set in the process file mode creation mask are cleared.
See the umask(2) function.
Upon successful completion of the mknod() function a value of 0 (zero)
is returned. Otherwise, a value of -1 is returned and errno is set to
indicate the error.
If the mknod() function fails, the new file is not created and errno
may be set to one of the following values: A component of the path pre‐
fix denies search permission, or write permission is denied on the par‐
ent directory of the FIFO to be created. The directory in which the
entry for the new link is being placed cannot be extended because the
user's quota of disk blocks or inodes on the file system is exhausted.
The named file exists. While accessing the file system, an I/O error
occurred. An invalid argument has been specified. The length of the
path parameter exceeds PATH_MAX or a pathname component is longer than
NAME_MAX. A component of the path prefix does not exist or the path
parameter points to an empty string. The directory that would contain
the new file cannot be extended or the file system is out of file allo‐
cation resources. A component of the path prefix is not a directory.
The mode parameter specifies a file type other than FIFO and the call‐
ing process does not have the sufficient privilege. The directory in
which the file is to be created is located on a read-only file system.
Functions: chmod(2), mkdir(2), open(2), umask(2), stat(2)
Commands: chmod(1), mkdir(1)