mknod - Create a FIFO or special file
#include <sys/stat.h>
int mknod(
const char *path,
mode_t mode,
dev_t device );
Interfaces documented on this reference page conform to
industry standards 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.
Standards: standards(5)
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 permissions. 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 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: 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 prefix denies search permission, or
write permission is denied on the parent 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 allocation
resources. A component of the path prefix is not a directory.
The mode parameter specifies a file type other than
FIFO and the calling 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)
Others: standards(5)
mknod(2)
[ Back ] |