MKNOD.2
上传用户:jnzhq888
上传日期:2007-01-18
资源大小:51694k
文件大小:3k
- 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