NAME
mknod - Creates an FIFO or special file
LIBRARY
Standard C Library (libc.a)
SYNOPSIS
#include <sys/types.h>
#include <sys/stat.h>
int mknod (
const char *path,
int mode,
dev_t device );
PARAMETERS
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 log-
ically 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 parameter must be
meaningful on the node where the file resides.
DESCRIPTION
The mknod() function creates a special file or FIFO. Using
the mknod() function to create file types other than FIFO
special requires superuser privilege.
For the mknod() function to complete successfully, a process
must have search permission and write permission in the
parent directory of the path parameter.
The new file has the following characteristics:
o File type as specified by the mode parameter.
o Owner ID set to the process effective user ID.
o Group ID set to the group ID of its parent directory.
o Permission and attribute bits set according to the
value of the mode parameter. All bits set in the pro-
cess file mode creation mask are cleared. See the
umask() function.
RETURN VALUES
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.
ERRORS
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 per-
mission, or write permission is denied on the
parent directory of the FIFO to be created.
[EPERM] The mode parameter specifies a file type other
than FIFO and the calling process does not have
the sufficient privilege.
[EEXIST] The named file exists.
[EIO] While accessing the file system, an I/O error
occurred.
[EINVAL] An invalid argument has been specified.
[EROFS] The directory in which the file is to be created
is located on a read-only file system.
[ENOSPC] The directory that would contain the new file can-
not be extended or the file system is out of file
allocation resources.
[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.
[ENAMETOOLONG]
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 parameter points to an empty string.
[ENOTDIR] A component of the path prefix is not a directory.
RELATED INFORMATION
Functions: chmod(2), mkdir(2), open(2), umask(2), stat(2)
Commands: chmod(1), mkdir(1)
Acknowledgement and Disclaimer