Download raw body.
Missing errno # 71 in man errno
Hello, Jonathan Gray wrote on Wed, Jul 16, 2025 at 09:38:43AM +1000: > EREMOTE use in inteldrm comes from linux, not somthing I changed. > inteldrm is not a reason to document it, I don't think that codepath > is even reachable at the moment. Thanks for the feedback, and to all the others who spoke up as well. Here is a patch to improve errno(2) in a number of respects: * Mention EWOULDBLOCK. It is required by POSIX, both to be defined, and to be returned by various functions. POSIX explicitly allows it to resolve to the same error number as EAGAIN. We take advantage of that permission. * EPROCLIM has no description at all. Mark it "Not used in OpenBSD" as we already do for a few others. * Add EREMOTE and mark it "Not used in OpenBSD". I think that's the right thing to do given this sentence in the third paragraph of DIAGNOSTICS: "The following is a complete list of the errors and their names as given in <sys/errno.h>." * Add STANDARDS. * Add BUGS, based on what was discussed in this thread. OK? Ingo Index: intro.2 =================================================================== RCS file: /cvs/src/lib/libc/sys/intro.2,v diff -u -r1.75 intro.2 --- intro.2 13 Jun 2025 13:56:43 -0000 1.75 +++ intro.2 17 Jul 2025 13:19:36 -0000 @@ -228,7 +228,7 @@ .It Er 34 ERANGE Em "Result too large" . A result of the function was too large to fit in the available space (perhaps exceeded precision). -.It Er 35 EAGAIN Em "Resource temporarily unavailable" . +.It Er 35 EAGAIN No = Er EWOULDBLOCK Em "Resource temporarily unavailable" . This is a temporary condition and later calls to the same routine may complete normally. .It Er 36 EINPROGRESS Em "Operation now in progress" . @@ -352,6 +352,8 @@ .Ql \&.. was supplied to a remove directory or rename call. .It Er 67 EPROCLIM Em "Too many processes" . +Not used in +.Ox . .It Er 68 EUSERS Em "Too many users" . The quota system ran out of table entries. .It Er 69 EDQUOT Em "Disk quota exceeded" . @@ -366,6 +368,9 @@ is now unavailable as referenced by the file descriptor. This may indicate the file was deleted on the NFS server or some other catastrophic event occurred. +.It Er 71 EREMOTE Em "Too many levels of remote in path" . +Not used in +.Ox . .It Er 72 EBADRPC Em "RPC struct is bad" . Exchange of .Xr rpc 3 @@ -740,8 +745,49 @@ .Xr pledge 2 , .Xr intro 3 , .Xr perror 3 +.Sh STANDARDS +Most of the macro names that resolve to error numbers +are required to be defined by +.St -p1003.1-2024 . +In some cases, the standard requires certain kinds of failures +to be reported with certain error numbers. +It some cases, it allows certain kinds of failures +to optionally be reported with certain error numbers. +In some cases, it is entirely silent about whether and how +the system should report problems. +.Pp +The following defined constants are extensions to the standard: +.Er EAUTH , +.Er EBADRPC , +.Er EFTYPE , +.Er EHOSTDOWN , +.Er EIPSEC , +.Er EMEDIUMTYPE , +.Er ENEEDAUTH , +.Er ENOATTR , +.Er ENOMEDIUM , +.Er ENOTBLK , +.Er EPFNOSUPPORT , +.Er EPROCLIM , +.Er EPROCUNAVAIL , +.Er EPROGMISMATCH , +.Er EPROGUNAVAIL , +.Er EREMOTE , +.Er ERPCMISMATCH , +.Er ESHUTDOWN , +.Er ETOOMANYREFS , +and +.Er EUSERS . .Sh HISTORY An .Nm manual for section 2 first appeared in .At v5 . +.Sh BUGS +Since some error numbers are only loosely defined, and since which error +numbers any given function can set often varies from system to system, +programs usually need to make a fallback decision when receiving an +unexpected error number, typically treating it as a hard failure, +or less commonly just ignoring it. +Making portable decisions based on error numbers is only possible +for some specific error numbers being set by some specific functions.
Missing errno # 71 in man errno