summaryrefslogtreecommitdiffstats
path: root/man2/mknod.2
diff options
context:
space:
mode:
Diffstat (limited to 'man2/mknod.2')
-rw-r--r--man2/mknod.2302
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)