mknod - Creates an FIFO or special file
Standard C Library (libc.a)
int mknod (
const char *path,
dev_t device );
Interfaces documented on this reference page conform to industry standards
mknod(): POSIX.1, XPG4-UNIX
Refer to the standards(5) reference page for more information about indus-
try standards and associated tags.
path 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.
mode Specifies the file type, attributes, and access permissions. This
parameter is constructed by logically ORing values described in
the sys/mode.h header file.
device 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 param-
eter 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 superuser
For the mknod() function to complete successfully, a process must have
search permission and write permission in the parent directory of the path
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 its 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() 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 indi-
cate the error.
If the mknod() function fails, the new file is not created and errno may be
set to one of the following values:
[EACCES] A component of the path prefix denies search permission, or write
permission is denied on the parent directory of the FIFO to be
[EDQUOT] 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.
[EEXIST] The named file exists.
[EIO] While accessing the file system, an I/O error occurred.
[EINVAL] An invalid argument has been specified.
The length of the path parameter exceeds PATH_MAX or a pathname
component is longer than NAME_MAX.
[ENOENT] A component of the path prefix does not exist or the path parame-
ter points to an empty string.
[ENOSPC] The directory that would contain the new file cannot be extended
or the file system is out of file allocation resources.
[ENOTDIR] A component of the path prefix is not a directory.
[EPERM] The mode parameter specifies a file type other than FIFO and the
calling process does not have the sufficient privilege.
[EROFS] 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)