119 lines
3.3 KiB
Groff
119 lines
3.3 KiB
Groff
|
||
|
||
MKNOD(2) Minix Programmer's Manual MKNOD(2)
|
||
|
||
|
||
NAME
|
||
mknod, mkfifo - make a special file
|
||
|
||
SYNOPSIS
|
||
#include <sys/types.h>
|
||
#include <unistd.h>
|
||
#include <sys/stat.h>
|
||
|
||
int mknod(const char *path, mode_t mode, dev_t dev)
|
||
int mkfifo(const char *path, mode_t mode)
|
||
|
||
DESCRIPTION
|
||
Mknod creates a new file whose name is path. The mode of the new file
|
||
(including special file bits) is initialized from mode, as defined in
|
||
<sys/stat.h>. (The protection part of the mode is modified by the
|
||
process's mode mask (see umask(2))). The first block pointer of the i-
|
||
node is initialized from dev and is used to specify which device the
|
||
special file refers to.
|
||
|
||
If mode indicates a block or character special file, dev is the device
|
||
number of a character or block I/O device. The low eight bits of the
|
||
device number hold the minor device number that selects a device among
|
||
the devices governed by the same driver. The driver is selected by the
|
||
major device number, the next eight bits of the device number.
|
||
|
||
If mode does not indicate a block special or character special device,
|
||
dev is ignored. (For example, when creating a ``fifo'' special file.)
|
||
|
||
Mknod may be invoked only by the super-user, unless it is being used to
|
||
create a fifo.
|
||
|
||
The call mkfifo(path, mode) is equivalent to
|
||
|
||
mknod(path, (mode & 0777) | S_IFIFO, 0)
|
||
|
||
RETURN VALUE
|
||
Upon successful completion a value of 0 is returned. Otherwise, a value
|
||
of -1 is returned and errno is set to indicate the error.
|
||
|
||
ERRORS
|
||
Mknod will fail and the file mode will be unchanged if:
|
||
|
||
[ENOTDIR] A component of the path prefix is not a directory.
|
||
|
||
[ENAMETOOLONG] The path name exceeds PATH_MAX characters.
|
||
|
||
[ENOENT] A component of the path prefix does not exist.
|
||
|
||
|
||
|
||
|
||
|
||
4BSD May 23, 1986 1
|
||
|
||
|
||
|
||
MKNOD(2) Minix Programmer's Manual MKNOD(2)
|
||
|
||
|
||
[EACCES] Search permission is denied for a component of the path
|
||
prefix.
|
||
|
||
[ELOOP] Too many symbolic links were encountered in translating
|
||
the pathname. (Minix-vmd)
|
||
|
||
[EPERM] The process's effective user ID is not super-user.
|
||
|
||
[EIO] An I/O error occurred while making the directory entry or
|
||
allocating the inode.
|
||
|
||
[ENOSPC] The directory in which the entry for the new node is being
|
||
placed cannot be extended because there is no space left
|
||
on the file system containing the directory.
|
||
|
||
[ENOSPC] There are no free inodes on the file system on which the
|
||
node is being created.
|
||
|
||
[EROFS] The named file resides on a read-only file system.
|
||
|
||
[EEXIST] The named file exists.
|
||
|
||
[EFAULT] Path points outside the process's allocated address space.
|
||
|
||
SEE ALSO
|
||
chmod(2), stat(2), umask(2).
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
4BSD May 23, 1986 2
|
||
|