MKNOD.2
资源名称:os_source.zip [点击查看]
上传用户:datang2001
上传日期:2007-02-01
资源大小:53269k
文件大小:3k
源码类别:
操作系统开发
开发平台:
C/C++
- ." Copyright (c) 1980 Regents of the University of California.
- ." All rights reserved. The Berkeley software License Agreement
- ." specifies the terms and conditions for redistribution.
- ."
- ." @(#)mknod.2 6.4 (Berkeley) 5/23/86
- ."
- .TH MKNOD 2 "May 23, 1986"
- .UC 4
- .SH NAME
- mknod, mkfifo - make a special file
- .SH SYNOPSIS
- .nf
- .ft B
- #include <sys/types.h>
- #include <unistd.h>
- #include <sys/stat.h>
- int mknod(const char *fIpathfP, mode_t fImodefP, dev_t fIdevfP)
- int mkfifo(const char *fIpathfP, mode_t fImodefP)
- .fi
- .ft R
- .SH DESCRIPTION
- .B Mknod
- creates a new file
- whose name is
- .I path.
- The mode of the new file
- (including special file bits)
- is initialized from
- .IR mode ,
- as defined in
- .IR <sys/stat.h> .
- (The protection part of the mode
- is modified by the process's mode mask (see
- .BR umask (2))).
- The first block pointer of the i-node
- is initialized from
- .I dev
- and is used to specify which device the special file
- refers to.
- .PP
- If mode indicates a block or character special file,
- .I 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.
- .PP
- If
- .I mode
- does not indicate a block special or character special device,
- .I dev
- is ignored.
- (For example, when creating a ``fifo'' special file.)
- .PP
- .B Mknod
- may be invoked only by the super-user,
- unless it is being used to create a fifo.
- .PP
- The call
- .BI "mkfifo(" path ", " mode ")"
- is equivalent to
- .PP
- .RS
- .BI "mknod(" path ", (" mode " & 0777) | S_IFIFO, 0)"
- .RE
- .SH "RETURN VALUE
- Upon successful completion a value of 0 is returned.
- Otherwise, a value of -1 is returned and fBerrnofP
- is set to indicate the error.
- .SH ERRORS
- .B Mknod
- will fail and the file mode will be unchanged if:
- .TP 15
- [ENOTDIR]
- A component of the path prefix is not a directory.
- .TP 15
- [ENAMETOOLONG]
- The path name exceeds PATH_MAX characters.
- .TP 15
- [ENOENT]
- A component of the path prefix does not exist.
- .TP 15
- [EACCES]
- Search permission is denied for a component of the path prefix.
- .TP 15
- [ELOOP]
- Too many symbolic links were encountered in translating the pathname.
- (Minix-vmd)
- .TP 15
- [EPERM]
- The process's effective user ID is not super-user.
- .TP 15
- [EIO]
- An I/O error occurred while making the directory entry or allocating the inode.
- .TP 15
- [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.
- .TP 15
- [ENOSPC]
- There are no free inodes on the file system on which the
- node is being created.
- .ig
- .TP 15
- [EDQUOT]
- The directory in which the entry for the new node
- is being placed cannot be extended because the
- user's quota of disk blocks on the file system
- containing the directory has been exhausted.
- .TP 15
- [EDQUOT]
- The user's quota of inodes on the file system on
- which the node is being created has been exhausted.
- ..
- .TP 15
- [EROFS]
- The named file resides on a read-only file system.
- .TP 15
- [EEXIST]
- The named file exists.
- .TP 15
- [EFAULT]
- .I Path
- points outside the process's allocated address space.
- .SH "SEE ALSO"
- .BR chmod (2),
- .BR stat (2),
- .BR umask (2).