Commit Graph

865 Commits

Author SHA1 Message Date
Michael Kerrisk cf4abfb648 ready for 2.24 2006-02-16 18:40:32 +00:00
Michael Kerrisk 155ed18941 ready for 2.24 2006-02-16 18:36:27 +00:00
Michael Kerrisk 82a060204c minor punctuation clarification 2006-02-16 04:55:18 +00:00
Michael Kerrisk 29546c248f Comented out crufty text describing EINVAL error
for the now obsolete CLONE_DETACHED flag.
Under CLONE_SIGHAND, noted that 'flags' must also include
CLONE_VM if CLONE_SIGHAND is specified.
2006-02-16 04:00:49 +00:00
Michael Kerrisk 2ccb99ea53 Remove duplicate CLONE_STOPPED text. 2006-02-16 03:17:12 +00:00
Michael Kerrisk efa25b17c6 Modify formatting of copyright notices 2006-02-15 23:19:08 +00:00
Michael Kerrisk 1130df606b Amend copyright notices, in particular those where I had significant
authorship.
2006-02-15 23:15:29 +00:00
Michael Kerrisk 2486cacf6d ffix 2006-02-14 18:16:45 +00:00
Michael Kerrisk 73dc32f064 Expand explanation of FNM_PATHNAME. 2006-02-14 05:03:56 +00:00
Michael Kerrisk 77e1cda37d spfix 2006-02-14 03:12:51 +00:00
Michael Kerrisk 3adb464791 tfix 2006-02-13 22:46:01 +00:00
Michael Kerrisk ef50679c63 Chage "file name" to "filename" 2006-02-12 22:23:18 +00:00
Michael Kerrisk 2d7195b8fb Change "path name" to "pathname" 2006-02-12 22:19:08 +00:00
Michael Kerrisk 2c5f10893e Change "file name" to "filename" 2006-02-12 22:15:41 +00:00
Michael Kerrisk 069c98bab0 Minor wording fix. 2006-02-12 01:54:40 +00:00
Michael Kerrisk 435827ff1d tfix 2006-02-11 20:54:15 +00:00
Michael Kerrisk 360c175e1a Documented the EAGAIN error for msgrcv(). 2006-02-11 20:53:04 +00:00
Michael Kerrisk 0483625f84 ffix 2006-02-11 20:16:44 +00:00
Michael Kerrisk 8548d8e240 Under ERRORS: Separate out EAGAIN error for locking mmaped files. 2006-02-10 20:29:38 +00:00
Michael Kerrisk 0febdb5ca1 Fix up discussion of EAGAIN/EACCESS errors. 2006-02-10 20:27:59 +00:00
Michael Kerrisk c533af9d27 Reformatted FIXMEs 2006-02-10 18:46:42 +00:00
Michael Kerrisk bf53d187ba Reverse change that removed mqueue information.
We better not do that until the new mqueue pages are actually
in the set.
2006-02-10 18:28:46 +00:00
Michael Kerrisk 3a065ac06d wfix 2006-02-10 05:25:30 +00:00
Michael Kerrisk 3a20b4cafe ffix 2006-02-10 05:20:27 +00:00
Michael Kerrisk 7c623f0661 Migrated information on POSIX message queues to new mqueue.7 page. 2006-02-10 01:41:19 +00:00
Michael Kerrisk 8acfc24444 tfix 2006-02-09 23:14:24 +00:00
Michael Kerrisk 1709027cdd Added SEE ALSO pointers to wide character equivalent functions 2006-02-09 20:57:44 +00:00
Michael Kerrisk dcec8eb551 Formatting fixes 2006-02-09 20:29:51 +00:00
Michael Kerrisk 9ff08aad91 Formatting fixes 2006-02-09 20:24:53 +00:00
Michael Kerrisk c4d4162c93 Modified versions of old GPL pages on kernel modules API. 2006-02-09 19:32:36 +00:00
Michael Kerrisk 6cf92b5ab6 start of 2.24 2006-02-09 19:24:15 +00:00
Michael Kerrisk 272e4fe389 Start of 2.24 2006-02-09 19:23:12 +00:00
Michael Kerrisk c9c0d37720 Start of 2.24 2006-02-09 19:22:11 +00:00
Michael Kerrisk 8bdae7c45c ready for 2.23 2006-02-09 19:11:41 +00:00
Michael Kerrisk 0b3189d89a minor wording change 2006-02-08 19:36:09 +00:00
Michael Kerrisk ad31978e25 Minor changes after suggestions from Robert Love. 2006-02-08 19:16:12 +00:00
Michael Kerrisk a0ddea8773 Add Linux-specific errors, and mark individual errors as being present
in POSIX or C99

Hello Kurt,

Thanks for your message.

> man3/errno.3 was missing some errors. 

Indeed.

> This patch updates errno.3 based
> on /usr/include/linux/errno.h as of 2.6.16-rc2. 

I do not quite understand that last: /usr/include/linux/errno.h is a 
userland file -- it probably won't tie up too well to a 
specific kernel version (or am I missing something?).

> I also synced the error
> description in the man page with the error descriptions from the header
> file.

This generates some useful info, but also some things that are incorrect.
For example, since you are talking about a glibc header, does a 
particular error even occur on Linux.  (See some examples below.)

I think you also overlooked the fact that the page says that the listed 
errors are defined by POSIX.1-2001.  So it is not sufficient to just 
add new errors to the list.  On the other hand, it is irritating
that the current page does not list Linux-specific errors.
And you patch has finally pushed me to do something I've been 
thinking of for a while.  So I've changed the page to mark the 
errors that are POSIX, and added the Linux-specifc errors, 
integrating some of your patch.

> The patch was diffed against manpages-2.22.

Thanks -- many people forget to mention that detail.

> --- errno.3.orig    2005-12-14 07:09:39.000000000 -0500
> +++ errno.3    2006-02-06 23:45:52.000000000 -0500
> @@ -23,9 +23,11 @@
>  .\" 5 Oct 2002, Modified by Michael Kerrisk <mtk-manpages@gmx.net>
>  .\"     Updated for POSIX 1003.1 2001
>  .\" 2004-12-17 Martin Schulze <joey@infodrom.org>, mtk
> -.\"    Removed errno declaration prototype, added notes
> +.\"        Removed errno declaration prototype, added notes
> +.\" 7 Feb 2006, Modified by Kurt Wall <kwall@kurtwerks.com>
> +.\"     Add missing errors, sync to linux-2.6.16-rc2
>  .\"
> -.TH ERRNO 3 2004-12-17 "" "Library functions"
> +.TH ERRNO 3 2006-02-07 "" "Library functions"
>  .SH NAME
>  errno \- number of last error
>  .SH SYNOPSIS
> @@ -71,61 +73,95 @@
>  .\" FIXME The following list is far from complete
>  .TP
>  .B E2BIG
> -Arg list too long
> +Argument list too long

ok

>  .TP
>  .B EACCES
>  Permission denied
>  .TP
>  .B EADDRINUSE
> -Address in use
> +Address already in use

ok

>  .TP
>  .B EADDRNOTAVAIL
> -Address not available
> +Cannot assign requested address

ok

> +.TP
> +.B EADV
> +Advertise error

This is a HURD error.  As far as I can tell it does not occur on Linux.

>  .TP
>  .B EAFNOSUPPORT
> -Address family not supported
> +Address family not supported by protocol

POSIX differs.  I stayed with POSIX.

>  .TP
>  .B EAGAIN
> -Resource temporarily unavailable
> +Try again

This is wrong.  (i.e., it does not match POSIX and/or 
what perror(3) produces)

>  .TP
>  .B EALREADY
> -Connection already in progress
> +Operation already in progress

POSIX differs.  I stayed with POSIX.

> +.TP
> +.B EBADE
> +Invalid exchange

ok

>  .TP
>  .B EBADF
> -Bad file descriptor
> +Bad file number

This is wrong.

> +.TP
> +.B EBADFD
> +File descriptor in bad state

ok

>  .TP
>  .B EBADMSG
> -Bad message
> +Not a data message

This is wrong.

> +.TP
> +.B EBADR
> +Invalid request descriptor

ok

> +.TP
> +.B EBADRQC
> +Invalid request code

ok

> +.TP
> +.B EBADSLT
> +Invalid slot

ok

> +.TP
> +.B EBFONT
> +Bad font file format

As far as I can tell, this is not used on Linux.  Let me know 
if you find otherwise. (I didn't add it)

>  .TP
>  .B EBUSY
> -Resource busy
> +Device or resource busy

ok

>  .TP
>  .B ECANCELED
> -Operation canceled
> +Operation Canceled

Please review the output of automated scripts!
(not changed)

>  .TP
>  .B ECHILD
>  No child processes
>  .TP
> +.B ECHRNG
> +Channel number out of range

ok

> +.TP
> +.B ECOMM
> +Communication error on send

ok

> +.TP
>  .B ECONNABORTED
> -Connection aborted
> +Software caused connection abort

POSIX differs.  I stayed with POSIX.

>  .TP
>  .B ECONNREFUSED
>  Connection refused
>  .TP
>  .B ECONNRESET
> -Connection reset
> +Connection reset by peer

POSIX differs.  I stayed with POSIX.

>  .TP
>  .B EDEADLK
> -Resource deadlock avoided
> +Resource deadlock would occur

POSIX differs.  I stayed with POSIX.

> +.TP
> +.B EDEADLOCK
> +Resource deadlock would occur (might be the same value as
> +.BR EDEADLK)

I wrote just "Synonym for EDEADLK"

>  .TP
>  .B EDESTADDRREQ
>  Destination address required
>  .TP
>  .B EDOM
> -Domain error
> +Math argument out of domain of func

? Garbled

I wrote the POSIX defn: Mathematics argument out of domain of function

> +.TP
> +.B EDOTDOT
> +RFS specific error

This is defined, but appears not to be used.
(I didn't add it)

>  .TP
>  .B EDQUOT
> -Reserved
> +Quota exceeded

POSIX says "Reserved."  In this case better to go with
"Disk quota exceeded"

>  .TP
>  .B EEXIST
>  File exists
> @@ -136,8 +172,11 @@
>  .B EFBIG
>  File too large
>  .TP
> +.B EHOSTDOWN
> +Host is down

ok

> +.TP
>  .B EHOSTUNREACH
> -Host is unreachable
> +No route to host

POSIX differs.  I stayed with POSIX.

>  .TP
>  .B EIDRM
>  Identifier removed
> @@ -146,25 +185,70 @@
>  Illegal byte sequence
>  .TP
>  .B EINPROGRESS
> -Operation in progress
> +Operation now in progress

POSIX differs.  I stayed with POSIX.

>  .TP
>  .B EINTR
> -Interrupted function call
> +Interrupted system call

POSIX differs.  I stayed with POSIX.

>  .TP
>  .B EINVAL
>  Invalid argument
>  .TP
>  .B EIO
> -Input/output error
> +I/O error

POSIX differs.  I stayed with POSIX.

>  .TP
>  .B EISCONN
> -Socket is connected
> +Transport endpoint is already connected

POSIX differs.  I stayed with POSIX.

>  .TP
>  .B EISDIR
>  Is a directory
>  .TP
> +.B EISNAM
> +Is a named type file

ok

> +.TP
> +.B EKEYEXPIRED
> +Key has expired

ok

> +.TP
> +.B EKEYREJECTED
> +Key was rejected by service

ok

> +.TP
> +.B EKEYREVOKED
> +Key has been revoked

ok

> +.TP
> +.B EL2HLT
> +Level 2 halted

ok

> +.TP
> +.B EL2NSYNC
> +Level 2 not synchronized

ok

> +.TP
> +.B EL3HLT
> +Level 3 halted

ok

> +.TP
> +.B EL3RST
> +Level 3 reset

ok

> +.TP
> +.B ELIBACC
> +Can not access a needed shared library

ok

> +.TP
> +.B ELIBBAD
> +Accessing a corrupted shared library

ok

> +.TP
> +.B ELIBEXEC
> +Cannot exec a shared library directly

ok

> +.TP
> +.B ELIBMAX
> +Attempting to link in too many shared libraries

ok

> +.TP
> +.B ELIBSCN
> +.lib section in a.out corrupted

ok

> +.TP
> +.B ELNRNG
> +Link number out of range

This is defined, but appears not to be used.
(I didn't add it)

> +.TP
>  .B ELOOP
> -Too many levels of symbolic links
> +Too many symbolic links encountered

this is wrong

> +.TP
> +.B EMEDIUMTYPE
> +Wrong medium type
>  .TP
>  .B EMFILE
>  Too many open files
> @@ -173,32 +257,41 @@
>  Too many links
>  .TP
>  .B EMSGSIZE
> -Inappropriate message buffer length
> +Message too long

ok

>  .TP
>  .B EMULTIHOP
> -Reserved
> +Multihop attempted

ok
POSIX says "Reserved."  In this case better to go with
Linux.

>  .TP
>  .B ENAMETOOLONG
> -Filename too long
> +File name too long

Scripted output?
(no change)

> +.TP
> +.B ENAVAIL
> +No XENIX semaphores available

This is defined, but appears not to be used.
(I didn't add it)

>  .TP
>  .B ENETDOWN
>  Network is down
>  .TP
>  .B ENETRESET
> -Connection aborted by network
> +Network dropped connection because of reset

POSIX differs.  I stayed with POSIX.

>  .TP
>  .B ENETUNREACH
> -Network unreachable
> +Network is unreachable

POSIX differs.  I stayed with POSIX.

>  .TP
>  .B ENFILE
> -Too many open files in system
> +File table overflow

This is wrong

> +.TP
> +.B ENOANO
> +No anode

This is defined, but appears not to be used.
(I didn't add it)

>  .TP
>  .B ENOBUFS
>  No buffer space available
> +.TP
> +.B ENOCSI
> +No CSI structure available

This is defined, but appears not to be used.
(I didn't add it)

>  .\" ENODATA is part of XSR option
>  .TP
>  .B ENODATA
> -No message is available on the STREAM head read queue
> +No data available

POSIX differs.  I stayed with POSIX.

>  .TP
>  .B ENODEV
>  No such device
> @@ -209,17 +302,29 @@
>  .B ENOEXEC
>  Exec format error
>  .TP
> +.B ENOKEY
> +Required key not available

ok

> +.TP
>  .B ENOLCK
> -No locks available
> +No record locks available

This is wrong

>  .TP
>  .B ENOLINK
> -Reserved
> +Link has been severed

ok
POSIX says "Reserved."  In this case better to go with
Linux.

> +.TP
> +.B ENOMEDIUM
> +No medium found

ok

>  .TP
>  .B ENOMEM
> -Not enough space
> +Out of memory

POSIX differs.  I stayed with POSIX.

>  .TP
>  .B ENOMSG
> -No message of the desired type
> +No message of desired type

POSIX differs.  I stayed with POSIX.

> +.TP
> +.B ENONET
> +Machine is not on the network

ok

> +.TP
> +.B ENOPKG
> +Package not installed

ok

>  .TP
>  .B ENOPROTOOPT
>  Protocol not available
> @@ -229,17 +334,20 @@
>  .\" ENOSR is part of XSR option
>  .TP
>  .B ENOSR
> -No STREAM resources
> +Out of streams resources

POSIX differs.  I stayed with POSIX.

>  .\" ENOSTR is part of XSR option
>  .TP
>  .B ENOSTR
> -Not a STREAM
> +Device not a stream

POSIX differs.  I stayed with POSIX.

>  .TP
>  .B ENOSYS
>  Function not implemented
>  .TP
> +.B ENOTBLK
> +Block device required
> +.TP

ok

>  .B ENOTCONN
> -The socket is not connected
> +Transport endpoint is not connected

POSIX differs.  I stayed with POSIX.

>  .TP
>  .B ENOTDIR
>  Not a directory
> @@ -247,27 +355,33 @@
>  .B ENOTEMPTY
>  Directory not empty
>  .TP
> -.B ENOTSOCK
> -Not a socket
> +.B ENOTNAM
> +Not a XENIX named type file

This is defined, but appears not to be used.
(I didn't add it)

>  .TP
> -.B ENOTSUP
> -Not supported

No!  This exists.


> +.B ENOTSOCK
> +Socket operation on non-socket
>  .TP
>  .B ENOTTY
> -Inappropriate I/O control operation
> +Not a typewriter

this is wrong

> +.TP
> +.B ENOTUNIQ
> +Name not unique on network

ok

>  .TP
>  .B ENXIO
>  No such device or address
>  .TP
>  .B EOPNOTSUPP
> -Operation not supported on socket
> +Operation not supported on transport endpoint

POSIX differs.  I stayed with POSIX.

(In passing ENOTSUP and EOPNOTSUPP have the same value on Linux;
POSIX.1 does not permit this.)

>  .TP
>  .B EOVERFLOW
> -Value too large to be stored in data type
> +Value too large for defined data type

POSIX differs.  I stayed with POSIX.

>  .TP
>  .B EPERM
>  Operation not permitted
>  .TP
> +.B EPFNOSUPPORT
> +Protocol family not supported

ok

> +.TP
>  .B EPIPE
>  Broken pipe
>  .TP
> @@ -281,39 +395,76 @@
>  Protocol wrong type for socket
>  .TP
>  .B ERANGE
> -Result too large
> +Math result not representable

POSIX differs.  I stayed with POSIX.

> +.TP
> +.B EREMCHG
> +Remote address changed

ok

> +.TP
> +.B EREMOTE
> +Object is remote

ok

> +.TP
> +.B EREMOTEIO
> +Remote I/O error

ok

> +.TP
> +.B ERESTART
> +Interrupted system call should be restarted

ok

>  .TP
>  .B EROFS
>  Read-only file system
>  .TP
> +.B ESHUTDOWN
> +Cannot send after transport endpoint shutdown

ok

> +.TP
> +.B ESOCKTNOSUPPORT
> +Socket type not supported

ok

> +.TP
>  .B ESPIPE
> -Invalid seek
> +Illegal seek

POSIX differs.  I stayed with POSIX.

>  .TP
>  .B ESRCH
>  No such process
>  .TP
> +.B ESRMNT
> +Srmount error

This is defined, but appears not to be used.
(I didn't add it)

> +.TP
>  .B ESTALE
> -Stale file handle
> +Stale NFS file handle

Tricky -- you are right about the error message, 
but the message itself is wrong, because the error 
can occur on other file sytems also.
(not changed)

>  .\" Can occur for NFS and for other file systems
>  .\" ETIME is part of XSR option
>  .TP
> +.B ESTRPIPE
> +Streams pipe error

ok

> +.TP
>  .B ETIME
> -STREAM 
> -.BR ioctl () 
> -timeout
> +Timer expired

POSIX differs, but Linux doesn't have streams, and the error is 
used for various purposes.  Changed as you proposed.

>  .TP
>  .B ETIMEDOUT
> -Operation timed out
> +Connection timed out

ok

> +.TP
> +.B ETOOMANYREFS
> +Too many references: cannot splice

This is defined, but appears not to be used.
(I didn't add it)

>  .TP
>  .B ETXTBSY
>  Text file busy
>  .TP
> -.B EWOULDBLOCK
> -Operation would block (may be same value as
> -.BR EAGAIN )

Absolutely not!!

> +.B EUCLEAN
> +Structure needs cleaning

ok

> +.TP
> +.B EUNATCH
> +Protocol driver not attached

ok

> +.TP
> +.B EUSERS
> +Too many users

ok

> +.TP
> +.B EWOULDBLOCK    
> +Operation would block (might be same value as
> +.BR EAGAIN)

okay (except formatting was not quite right: .BR EAGAIN )

>  .TP
>  .B EXDEV
> -Improper link
> +Cross-device link
> +.TP
> +.B EXFULL
> +Exchange full

ok
2006-02-08 18:26:38 +00:00
Michael Kerrisk 92057f4dbc Updated FIXMEs 2006-02-08 09:44:13 +00:00
Michael Kerrisk 64c7bb8a52 Add SEE ALSO for pwrite(2). 2006-02-08 04:18:44 +00:00
Michael Kerrisk 6188db2db4 Add SEE ALSO for pread(2).
As per Debian bug 351873.
2006-02-08 04:18:25 +00:00
Michael Kerrisk 4d2b74dded New pages for inotify API 2006-02-08 04:13:22 +00:00
Michael Kerrisk 314093c9cd New pages on NUMA memory allocation policy API. 2006-02-08 03:20:44 +00:00
Michael Kerrisk 9c2360f893 New page on real-time clock driver 2006-02-08 03:20:03 +00:00
Michael Kerrisk 23b3fc77bb Added cross-ref to locale.7 for 'struct lconv' defn.
Other minor wording changes.
2006-02-07 23:32:50 +00:00
Michael Kerrisk 65b4e14d6a minor changes 2006-02-07 23:22:43 +00:00
Michael Kerrisk 48e1940d60 wfix 2006-02-07 22:54:01 +00:00
Michael Kerrisk f6fa37d126 Minor wording and formatting fixes.
Added FIXME.
2006-02-07 22:48:42 +00:00
Michael Kerrisk b32d8767a4 Added FIXME 2006-02-07 22:39:18 +00:00
Michael Kerrisk 0087e7c432 Added SEE ALSO ref for nl_langinfo.3
As per Debian bug 351831.
2006-02-07 20:57:53 +00:00
Michael Kerrisk 1363cf9511 Added xref under dnotify description to inotify.7. 2006-02-06 22:43:15 +00:00