diff options
Diffstat (limited to 'man2/mknod.2')
-rw-r--r-- | man2/mknod.2 | 302 |
1 files changed, 0 insertions, 302 deletions
diff --git a/man2/mknod.2 b/man2/mknod.2 deleted file mode 100644 index dd7905c..0000000 --- a/man2/mknod.2 +++ /dev/null @@ -1,302 +0,0 @@ -.\" This manpage is Copyright (C) 1992 Drew Eckhardt; -.\" and Copyright (C) 1993 Michael Haardt -.\" and Copyright (C) 1993,1994 Ian Jackson -.\" and Copyright (C) 2006, 2014, Michael Kerrisk -.\" -.\" SPDX-License-Identifier: GPL-1.0-or-later -.\" -.\" Modified 1996-08-18 by urs -.\" Modified 2003-04-23 by Michael Kerrisk -.\" Modified 2004-06-23 by Michael Kerrisk <mtk.manpages@gmail.com> -.\" -.TH mknod 2 2023-10-31 "Linux man-pages 6.7" -.SH NAME -mknod, mknodat \- create a special or ordinary file -.SH LIBRARY -Standard C library -.RI ( libc ", " \-lc ) -.SH SYNOPSIS -.nf -.B #include <sys/stat.h> -.P -.BI "int mknod(const char *" pathname ", mode_t " mode ", dev_t " dev ); -.P -.BR "#include <fcntl.h> " "/* Definition of AT_* constants */" -.B #include <sys/stat.h> -.P -.BI "int mknodat(int " dirfd ", const char *" pathname ", mode_t " mode \ -", dev_t " dev ); -.fi -.P -.RS -4 -Feature Test Macro Requirements for glibc (see -.BR feature_test_macros (7)): -.RE -.P -.BR mknod (): -.nf - _XOPEN_SOURCE >= 500 -.\" || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED - || /* Since glibc 2.19: */ _DEFAULT_SOURCE - || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE -.fi -.SH DESCRIPTION -The system call -.BR mknod () -creates a filesystem node (file, device special file, or -named pipe) named -.IR pathname , -with attributes specified by -.I mode -and -.IR dev . -.P -The -.I mode -argument specifies both the file mode to use and the type of node -to be created. -It should be a combination (using bitwise OR) of one of the file types -listed below and zero or more of the file mode bits listed in -.BR inode (7). -.P -The file mode is modified by the process's -.I umask -in the usual way: in the absence of a default ACL, the permissions of the -created node are -.RI ( mode " & \[ti]" umask ). -.P -The file type must be one of -.BR S_IFREG , -.BR S_IFCHR , -.BR S_IFBLK , -.BR S_IFIFO , -or -.B S_IFSOCK -.\" (S_IFSOCK since Linux 1.2.4) -to specify a regular file (which will be created empty), character -special file, block special file, FIFO (named pipe), or UNIX domain socket, -respectively. -(Zero file type is equivalent to type -.BR S_IFREG .) -.P -If the file type is -.B S_IFCHR -or -.BR S_IFBLK , -then -.I dev -specifies the major and minor numbers of the newly created device -special file -.RB ( makedev (3) -may be useful to build the value for -.IR dev ); -otherwise it is ignored. -.P -If -.I pathname -already exists, or is a symbolic link, this call fails with an -.B EEXIST -error. -.P -The newly created node will be owned by the effective user ID of the -process. -If the directory containing the node has the set-group-ID -bit set, or if the filesystem is mounted with BSD group semantics, the -new node will inherit the group ownership from its parent directory; -otherwise it will be owned by the effective group ID of the process. -.\" -.\" -.SS mknodat() -The -.BR mknodat () -system call operates in exactly the same way as -.BR mknod (), -except for the differences described here. -.P -If the pathname given in -.I pathname -is relative, then it is interpreted relative to the directory -referred to by the file descriptor -.I dirfd -(rather than relative to the current working directory of -the calling process, as is done by -.BR mknod () -for a relative pathname). -.P -If -.I pathname -is relative and -.I dirfd -is the special value -.BR AT_FDCWD , -then -.I pathname -is interpreted relative to the current working -directory of the calling process (like -.BR mknod ()). -.P -If -.I pathname -is absolute, then -.I dirfd -is ignored. -.P -See -.BR openat (2) -for an explanation of the need for -.BR mknodat (). -.SH RETURN VALUE -.BR mknod () -and -.BR mknodat () -return zero on success. -On error, \-1 is returned and -.I errno -is set to indicate the error. -.SH ERRORS -.TP -.B EACCES -The parent directory does not allow write permission to the process, -or one of the directories in the path prefix of -.I pathname -did not allow search permission. -(See also -.BR path_resolution (7).) -.TP -.B EBADF -.RB ( mknodat ()) -.I pathname -is relative but -.I dirfd -is neither -.B AT_FDCWD -nor a valid file descriptor. -.TP -.B EDQUOT -The user's quota of disk blocks or inodes on the filesystem has been -exhausted. -.TP -.B EEXIST -.I pathname -already exists. -This includes the case where -.I pathname -is a symbolic link, dangling or not. -.TP -.B EFAULT -.IR pathname " points outside your accessible address space." -.TP -.B EINVAL -.I mode -requested creation of something other than a regular file, device -special file, FIFO or socket. -.TP -.B ELOOP -Too many symbolic links were encountered in resolving -.IR pathname . -.TP -.B ENAMETOOLONG -.IR pathname " was too long." -.TP -.B ENOENT -A directory component in -.I pathname -does not exist or is a dangling symbolic link. -.TP -.B ENOMEM -Insufficient kernel memory was available. -.TP -.B ENOSPC -The device containing -.I pathname -has no room for the new node. -.TP -.B ENOTDIR -A component used as a directory in -.I pathname -is not, in fact, a directory. -.TP -.B ENOTDIR -.RB ( mknodat ()) -.I pathname -is relative and -.I dirfd -is a file descriptor referring to a file other than a directory. -.TP -.B EPERM -.I mode -requested creation of something other than a regular file, -FIFO (named pipe), or UNIX domain socket, and the caller -is not privileged (Linux: does not have the -.B CAP_MKNOD -capability); -.\" For UNIX domain sockets and regular files, EPERM is returned only in -.\" Linux 2.2 and earlier; in Linux 2.4 and later, unprivileged can -.\" use mknod() to make these files. -also returned if the filesystem containing -.I pathname -does not support the type of node requested. -.TP -.B EROFS -.I pathname -refers to a file on a read-only filesystem. -.SH VERSIONS -POSIX.1-2001 says: "The only portable use of -.BR mknod () -is to create a FIFO-special file. -If -.I mode -is not -.B S_IFIFO -or -.I dev -is not 0, the behavior of -.BR mknod () -is unspecified." -However, nowadays one should never use -.BR mknod () -for this purpose; one should use -.BR mkfifo (3), -a function especially defined for this purpose. -.P -Under Linux, -.BR mknod () -cannot be used to create directories. -One should make directories with -.BR mkdir (2). -.\" and one should make UNIX domain sockets with socket(2) and bind(2). -.SH STANDARDS -POSIX.1-2008. -.SH HISTORY -.TP -.BR mknod () -SVr4, 4.4BSD, POSIX.1-2001 (but see VERSIONS). -.\" The Linux version differs from the SVr4 version in that it -.\" does not require root permission to create pipes, also in that no -.\" EMULTIHOP, ENOLINK, or EINTR error is documented. -.TP -.BR mknodat () -Linux 2.6.16, -glibc 2.4. -POSIX.1-2008. -.SH NOTES -There are many infelicities in the protocol underlying NFS. -Some of these affect -.BR mknod () -and -.BR mknodat (). -.SH SEE ALSO -.BR mknod (1), -.BR chmod (2), -.BR chown (2), -.BR fcntl (2), -.BR mkdir (2), -.BR mount (2), -.BR socket (2), -.BR stat (2), -.BR umask (2), -.BR unlink (2), -.BR makedev (3), -.BR mkfifo (3), -.BR acl (5), -.BR path_resolution (7) |