aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--man2/chmod.283
-rw-r--r--man2/chown.275
-rw-r--r--man2/mkdir.233
-rw-r--r--man2/mknod.233
-rw-r--r--man2/open.233
-rw-r--r--man2/readlink.221
-rw-r--r--man2/stat.242
-rw-r--r--man2/symlink.246
-rw-r--r--man3/mkfifo.327
-rw-r--r--man3/scandir.321
-rw-r--r--man3/sem_wait.317
11 files changed, 196 insertions, 235 deletions
diff --git a/man2/chmod.2 b/man2/chmod.2
index 6862a7e3d2..b1aa3691ce 100644
--- a/man2/chmod.2
+++ b/man2/chmod.2
@@ -245,10 +245,30 @@ Search permission is denied on a component of the path prefix.
(See also
.BR path_resolution (7).)
.TP
+.B EBADF
+.RB ( fchmod ())
+The file descriptor
+.I fd
+is not valid.
+.TP
+.B EBADF
+.RB ( fchmodat ())
+.I pathname
+is relative but
+.I dirfd
+is neither
+.B AT_FDCWD
+nor a valid file descriptor.
+.TP
.B EFAULT
.I pathname
points outside your accessible address space.
.TP
+.B EINVAL
+.RB ( fchmodat ())
+Invalid flag specified in
+.IR flags .
+.TP
.B EIO
An I/O error occurred.
.TP
@@ -269,6 +289,20 @@ Insufficient kernel memory was available.
.B ENOTDIR
A component of the path prefix is not a directory.
.TP
+.B ENOTDIR
+.RB ( fchmodat ())
+.I pathname
+is relative and
+.I dirfd
+is a file descriptor referring to a file other than a directory.
+.TP
+.B ENOTSUP
+.RB ( fchmodat ())
+.I flags
+specified
+.BR AT_SYMLINK_NOFOLLOW ,
+which is not supported.
+.TP
.B EPERM
The effective UID does not match the owner of the file,
and the process is not privileged (Linux: it does not have the
@@ -282,55 +316,6 @@ The file is marked immutable or append-only.
.TP
.B EROFS
The named file resides on a read-only filesystem.
-.PP
-The general errors for
-.BR fchmod ()
-are listed below:
-.TP
-.B EBADF
-The file descriptor
-.I fd
-is not valid.
-.TP
-.B EIO
-See above.
-.TP
-.B EPERM
-See above.
-.TP
-.B EROFS
-See above.
-.PP
-The same errors that occur for
-.BR chmod ()
-can also occur for
-.BR fchmodat ().
-The following additional errors can occur for
-.BR fchmodat ():
-.TP
-.B EBADF
-.I pathname
-is relative but
-.I dirfd
-is neither
-.B AT_FDCWD
-nor a valid file descriptor.
-.TP
-.B EINVAL
-Invalid flag specified in
-.IR flags .
-.TP
-.B ENOTDIR
-.I pathname
-is relative and
-.I dirfd
-is a file descriptor referring to a file other than a directory.
-.TP
-.B ENOTSUP
-.I flags
-specified
-.BR AT_SYMLINK_NOFOLLOW ,
-which is not supported.
.SH VERSIONS
.BR fchmodat ()
was added to Linux in kernel 2.6.16;
diff --git a/man2/chown.2 b/man2/chown.2
index 354193c283..a3a76fda70 100644
--- a/man2/chown.2
+++ b/man2/chown.2
@@ -232,10 +232,33 @@ Search permission is denied on a component of the path prefix.
(See also
.BR path_resolution (7).)
.TP
+.B EBADF
+.RB ( fchown ())
+.I fd
+is not a valid open file descriptor.
+.TP
+.B EBADF
+.RB ( fchownat ())
+.I pathname
+is relative but
+.I dirfd
+is neither
+.B AT_FDCWD
+nor a valid file descriptor.
+.TP
.B EFAULT
.I pathname
points outside your accessible address space.
.TP
+.B EINVAL
+.RB ( fchownat ())
+Invalid flag specified in
+.IR flags .
+.TP
+.B EIO
+.RB ( fchown ())
+A low-level I/O error occurred while modifying the inode.
+.TP
.B ELOOP
Too many symbolic links were encountered in resolving
.IR pathname .
@@ -253,6 +276,13 @@ Insufficient kernel memory was available.
.B ENOTDIR
A component of the path prefix is not a directory.
.TP
+.B ENOTDIR
+.RB ( fchownat ())
+.I pathname
+is relative and
+.I dirfd
+is a file descriptor referring to a file other than a directory.
+.TP
.B EPERM
The calling process did not have the required permissions
(see above) to change owner and/or group.
@@ -264,51 +294,6 @@ The file is marked immutable or append-only.
.TP
.B EROFS
The named file resides on a read-only filesystem.
-.PP
-The general errors for
-.BR fchown ()
-are listed below:
-.TP
-.B EBADF
-.I fd
-is not a valid open file descriptor.
-.TP
-.B EIO
-A low-level I/O error occurred while modifying the inode.
-.TP
-.B ENOENT
-See above.
-.TP
-.B EPERM
-See above.
-.TP
-.B EROFS
-See above.
-.PP
-The same errors that occur for
-.BR chown ()
-can also occur for
-.BR fchownat ().
-The following additional errors can occur for
-.BR fchownat ():
-.TP
-.B EBADF
-.I pathname
-is relative but
-.I dirfd
-is neither
-.B AT_FDCWD
-nor a valid file descriptor.
-.TP
-.B EINVAL
-Invalid flag specified in
-.IR flags .
-.TP
-.B ENOTDIR
-.I pathname
-is relative and
-.I dirfd
-is a file descriptor referring to a file other than a directory.
.SH VERSIONS
.BR fchownat ()
was added to Linux in kernel 2.6.16;
diff --git a/man2/mkdir.2 b/man2/mkdir.2
index 355ba086e7..9c541058f5 100644
--- a/man2/mkdir.2
+++ b/man2/mkdir.2
@@ -126,6 +126,15 @@ did not allow search permission.
(See also
.BR path_resolution (7).)
.TP
+.B EBADF
+.RB ( mkdirat ())
+.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.
@@ -179,6 +188,13 @@ A component used as a directory in
.I pathname
is not, in fact, a directory.
.TP
+.B ENOTDIR
+.RB ( mkdirat ())
+.I pathname
+is relative and
+.I dirfd
+is a file descriptor referring to a file other than a directory.
+.TP
.B EPERM
The filesystem containing
.I pathname
@@ -187,23 +203,6 @@ does not support the creation of directories.
.B EROFS
.I pathname
refers to a file on a read-only filesystem.
-.PP
-The following additional errors can occur for
-.BR mkdirat ():
-.TP
-.B EBADF
-.I pathname
-is relative but
-.I dirfd
-is neither
-.B AT_FDCWD
-nor a valid file descriptor.
-.TP
-.B ENOTDIR
-.I pathname
-is relative and
-.I dirfd
-is a file descriptor referring to a file other than a directory.
.SH VERSIONS
.BR mkdirat ()
was added to Linux in kernel 2.6.16;
diff --git a/man2/mknod.2 b/man2/mknod.2
index f5bb0900af..143f67d0a3 100644
--- a/man2/mknod.2
+++ b/man2/mknod.2
@@ -163,6 +163,15 @@ did not allow search permission.
(See also
.BR path_resolution (7).)
.TP
+.B EBADF
+.BR ( 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.
@@ -207,6 +216,13 @@ A component used as a directory in
.I pathname
is not, in fact, a directory.
.TP
+.B ENOTDIR
+.BR ( 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,
@@ -224,23 +240,6 @@ does not support the type of node requested.
.B EROFS
.I pathname
refers to a file on a read-only filesystem.
-.PP
-The following additional errors can occur for
-.BR mknodat ():
-.TP
-.B EBADF
-.I pathname
-is relative but
-.I dirfd
-is neither
-.B AT_FDCWD
-nor a valid file descriptor.
-.TP
-.B ENOTDIR
-.I pathname
-is relative and
-.I dirfd
-is a file descriptor referring to a file other than a directory.
.SH VERSIONS
.BR mknodat ()
was added to Linux in kernel 2.6.16;
diff --git a/man2/open.2 b/man2/open.2
index af8120cfab..5eca172ecc 100644
--- a/man2/open.2
+++ b/man2/open.2
@@ -1034,6 +1034,15 @@ and
in
.BR proc (5).
.TP
+.B EBADF
+.RB ( openat ())
+.I pathname
+is relative but
+.I dirfd
+is neither
+.B AT_FDCWD
+nor a valid file descriptor.
+.TP
.B EBUSY
.B O_EXCL
was specified in
@@ -1210,6 +1219,13 @@ is not, in fact, a directory, or \fBO_DIRECTORY\fP was specified and
.I pathname
was not a directory.
.TP
+.B ENOTDIR
+.RB ( openat ())
+.I pathname
+is a relative pathname and
+.I dirfd
+is a file descriptor referring to a file other than a directory.
+.TP
.B ENXIO
.BR O_NONBLOCK " | " O_WRONLY
is set, the named file is a FIFO, and
@@ -1285,23 +1301,6 @@ The
flag was specified, and an incompatible lease was held on the file
(see
.BR fcntl (2)).
-.PP
-The following additional errors can occur for
-.BR openat ():
-.TP
-.B EBADF
-.I pathname
-is relative but
-.I dirfd
-is neither
-.B AT_FDCWD
-nor a valid file descriptor.
-.TP
-.B ENOTDIR
-.I pathname
-is a relative pathname and
-.I dirfd
-is a file descriptor referring to a file other than a directory.
.SH VERSIONS
.BR openat ()
was added to Linux in kernel 2.6.16;
diff --git a/man2/readlink.2 b/man2/readlink.2
index 6ae07c3852..a1ffbf7d01 100644
--- a/man2/readlink.2
+++ b/man2/readlink.2
@@ -160,6 +160,15 @@ Search permission is denied for a component of the path prefix.
(See also
.BR path_resolution (7).)
.TP
+.B EBADF
+.RB ( readlinkat ())
+.I pathname
+is relative but
+.I dirfd
+is neither
+.B AT_FDCWD
+nor a valid file descriptor.
+.TP
.B EFAULT
.I buf
extends outside the process's allocated address space.
@@ -195,19 +204,9 @@ Insufficient kernel memory was available.
.TP
.B ENOTDIR
A component of the path prefix is not a directory.
-.PP
-The following additional errors can occur for
-.BR readlinkat ():
-.TP
-.B EBADF
-.I pathname
-is relative but
-.I dirfd
-is neither
-.B AT_FDCWD
-nor a valid file descriptor.
.TP
.B ENOTDIR
+.RB ( readlinkat ())
.I pathname
is relative and
.I dirfd
diff --git a/man2/stat.2 b/man2/stat.2
index e5859abaff..08a99690a7 100644
--- a/man2/stat.2
+++ b/man2/stat.2
@@ -381,9 +381,23 @@ in the path prefix of
.I fd
is not a valid open file descriptor.
.TP
+.B EBADF
+.RB ( fstatat ())
+.I pathname
+is relative but
+.I dirfd
+is neither
+.B AT_FDCWD
+nor a valid file descriptor.
+.TP
.B EFAULT
Bad address.
.TP
+.B EINVAL
+.RB ( fstatat ())
+Invalid flag specified in
+.IR flags .
+.TP
.B ELOOP
Too many symbolic links encountered while traversing the path.
.TP
@@ -411,6 +425,13 @@ A component of the path prefix of
.I pathname
is not a directory.
.TP
+.B ENOTDIR
+.RB ( fstatat ())
+.I pathname
+is relative and
+.I dirfd
+is a file descriptor referring to a file other than a directory.
+.TP
.B EOVERFLOW
.I pathname
or
@@ -429,27 +450,6 @@ calls
on a file whose size exceeds
.I (1<<31)\-1
bytes.
-.PP
-The following additional errors can occur for
-.BR fstatat ():
-.TP
-.B EBADF
-.I pathname
-is relative but
-.I dirfd
-is neither
-.B AT_FDCWD
-nor a valid file descriptor.
-.TP
-.B EINVAL
-Invalid flag specified in
-.IR flags .
-.TP
-.B ENOTDIR
-.I pathname
-is relative and
-.I dirfd
-is a file descriptor referring to a file other than a directory.
.SH VERSIONS
.BR fstatat ()
was added to Linux in kernel 2.6.16;
diff --git a/man2/symlink.2 b/man2/symlink.2
index f0c4293a7f..f5bf7ef231 100644
--- a/man2/symlink.2
+++ b/man2/symlink.2
@@ -152,6 +152,15 @@ did not allow search permission.
(See also
.BR path_resolution (7).)
.TP
+.B EBADF
+.RB ( symlinkat ())
+.I linkpath
+is relative but
+.I newdirfd
+is neither
+.B AT_FDCWD
+nor a valid file descriptor.
+.TP
.B EDQUOT
The user's quota of resources on the filesystem has been exhausted.
The resources could be inodes or disk blocks, depending on the filesystem
@@ -183,6 +192,13 @@ or
.I linkpath
is an empty string.
.TP
+.B ENOENT
+.RB ( symlinkat ())
+.I linkpath
+is a relative pathname and
+.IR newdirfd
+refers to a directory that has been deleted.
+.TP
.B ENOMEM
Insufficient kernel memory was available.
.TP
@@ -195,6 +211,13 @@ A component used as a directory in
.I linkpath
is not, in fact, a directory.
.TP
+.B ENOTDIR
+.RB ( symlinkat ())
+.I linkpath
+is relative and
+.I newdirfd
+is a file descriptor referring to a file other than a directory.
+.TP
.B EPERM
The filesystem containing
.I linkpath
@@ -203,29 +226,6 @@ does not support the creation of symbolic links.
.B EROFS
.I linkpath
is on a read-only filesystem.
-.PP
-The following additional errors can occur for
-.BR symlinkat ():
-.TP
-.B EBADF
-.I linkpath
-is relative but
-.I newdirfd
-is neither
-.B AT_FDCWD
-nor a valid file descriptor.
-.TP
-.B ENOENT
-.I linkpath
-is a relative pathname and
-.IR newdirfd
-refers to a directory that has been deleted.
-.TP
-.B ENOTDIR
-.I linkpath
-is relative and
-.I newdirfd
-is a file descriptor referring to a file other than a directory.
.SH VERSIONS
.BR symlinkat ()
was added to Linux in kernel 2.6.16;
diff --git a/man3/mkfifo.3 b/man3/mkfifo.3
index 3aba5498cc..a0c5789394 100644
--- a/man3/mkfifo.3
+++ b/man3/mkfifo.3
@@ -131,6 +131,15 @@ is set to indicate the error.
One of the directories in \fIpathname\fP did not allow search
(execute) permission.
.TP
+.B EBADF
+.RB ( mkfifoat ())
+.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.
@@ -160,25 +169,15 @@ The directory or filesystem has no room for the new file.
A component used as a directory in \fIpathname\fP is not, in fact, a
directory.
.TP
-.B EROFS
-\fIpathname\fP refers to a read-only filesystem.
-.PP
-The following additional errors can occur for
-.BR mkfifoat ():
-.TP
-.B EBADF
-.I pathname
-is relative but
-.I dirfd
-is neither
-.B AT_FDCWD
-nor a valid file descriptor.
-.TP
.B ENOTDIR
+.RB ( mkfifoat ())
.I pathname
is a relative pathname and
.I dirfd
is a file descriptor referring to a file other than a directory.
+.TP
+.B EROFS
+\fIpathname\fP refers to a read-only filesystem.
.SH VERSIONS
.BR mkfifoat ()
was added to glibc in version 2.4.
diff --git a/man3/scandir.3 b/man3/scandir.3
index f3a34db530..f010720670 100644
--- a/man3/scandir.3
+++ b/man3/scandir.3
@@ -191,6 +191,15 @@ or greater than zero if the first argument is considered to be
respectively less than, equal to, or greater than the second.
.SH ERRORS
.TP
+.B EBADF
+.RB ( scandirat ())
+.I dirp
+is relative but
+.I dirfd
+is neither
+.B AT_FDCWD
+nor a valid file descriptor.
+.TP
.B ENOENT
The path in \fIdirp\fR does not exist.
.TP
@@ -199,19 +208,9 @@ Insufficient memory to complete the operation.
.TP
.B ENOTDIR
The path in \fIdirp\fR is not a directory.
-.PP
-The following additional errors can occur for
-.BR scandirat ():
-.TP
-.B EBADF
-.I dirp
-is relative but
-.I dirfd
-is neither
-.B AT_FDCWD
-nor a valid file descriptor.
.TP
.B ENOTDIR
+.RB ( scandirat ())
.I dirp
is a relative pathname and
.I dirfd
diff --git a/man3/sem_wait.3 b/man3/sem_wait.3
index bb86d984b8..40cedb2a37 100644
--- a/man3/sem_wait.3
+++ b/man3/sem_wait.3
@@ -113,6 +113,11 @@ on error, the value of the semaphore is left unchanged,
is set to indicate the error.
.SH ERRORS
.TP
+.B EAGAIN
+.RB ( sem_trywait ())
+The operation could not be performed without blocking (i.e., the
+semaphore currently has the value zero).
+.TP
.B EINTR
The call was interrupted by a signal handler; see
.BR signal (7).
@@ -120,23 +125,15 @@ The call was interrupted by a signal handler; see
.B EINVAL
.I sem
is not a valid semaphore.
-.PP
-The following additional error can occur for
-.BR sem_trywait ():
-.TP
-.B EAGAIN
-The operation could not be performed without blocking (i.e., the
-semaphore currently has the value zero).
-.PP
-The following additional errors can occur for
-.BR sem_timedwait ():
.TP
.B EINVAL
+.RB ( sem_timedwait ())
The value of
.I abs_timeout.tv_nsecs
is less than 0, or greater than or equal to 1000 million.
.TP
.B ETIMEDOUT
+.RB ( sem_timedwait ())
The call timed out before the semaphore could be locked.
.\" POSIX.1-2001 also allows EDEADLK -- "A deadlock condition
.\" was detected", but this does not occur on Linux(?).