summaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
authorjoerg <joerg@FreeBSD.org>1996-03-31 22:33:54 +0000
committerjoerg <joerg@FreeBSD.org>1996-03-31 22:33:54 +0000
commita8d7ddd754512c7f6ee090f132ba679f81b8e14a (patch)
tree0fba5d3cd0947fb393e50b6b7c36dd90a1b11b0d /share
parentf55ef7e508b33f503d7540954646e771c299b0b3 (diff)
downloadFreeBSD-src-a8d7ddd754512c7f6ee090f132ba679f81b8e14a.zip
FreeBSD-src-a8d7ddd754512c7f6ee090f132ba679f81b8e14a.tar.gz
Add sysexits(3). It's horrible to always examine the include file for
this.
Diffstat (limited to 'share')
-rw-r--r--share/man/man3/Makefile3
-rw-r--r--share/man/man3/sysexits.3133
2 files changed, 135 insertions, 1 deletions
diff --git a/share/man/man3/Makefile b/share/man/man3/Makefile
index 9b3c7bf..9d5d0a0 100644
--- a/share/man/man3/Makefile
+++ b/share/man/man3/Makefile
@@ -1,6 +1,7 @@
# @(#)Makefile 8.2 (Berkeley) 12/13/93
-MAN3= assert.3 bitstring.3 end.3 fpgetround.3 intro.3 queue.3 stdarg.3
+MAN3= assert.3 bitstring.3 end.3 fpgetround.3 intro.3 queue.3 stdarg.3 \
+ sysexits.3
MLINKS+=bitstring.3 bit_alloc.3 bitstring.3 bit_clear.3 \
bitstring.3 bit_decl.3 bitstring.3 bit_ffs.3 bitstring.3 bit_nclear.3 \
bitstring.3 bit_nset.3 bitstring.3 bit_set.3 \
diff --git a/share/man/man3/sysexits.3 b/share/man/man3/sysexits.3
new file mode 100644
index 0000000..da4169e
--- /dev/null
+++ b/share/man/man3/sysexits.3
@@ -0,0 +1,133 @@
+.\"
+.\" Copyright (c) 1996 Joerg Wunsch
+.\"
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $Id$
+.\"
+.\" "
+.Dd March 31, 1996
+.Os
+.Dt SYSEXITS 3
+.Sh NAME
+.Nm sysexits
+.Nd preferable exit codes for programs
+.Sh SYNOPSIS
+.Fd #include <sysexits.h>
+.Sh DESCRIPTION
+According to
+.Xr style 9 ,
+it is not a good practice to call
+.Xr exit 3
+with arbitrary values to indicate a failure condition when ending
+a program. Instead, the pre-defined exit codes from
+.Nm sysexits
+should be used, so the caller of the process can get a rough
+estimation about the failure class without looking up the source code.
+.Pp
+The successful exit is always indicated by a status of 0, or
+.Sy EX_OK .
+Error numbers begin at
+.Sy EX__BASE
+to reduce the possibility of clashing with other exit statuses that
+random programs may already return. The meaning of the codes is
+approximately as follows:
+.Bl -tag -width "EX_UNAVAILABLEXX(XX)"
+.It Sy EX_USAGE Pq 64
+The command was used incorrectly, e.g., with the wrong number of
+arguments, a bad flag, a bad syntax in a parameter, or whatever.
+.It Sy EX_DATAERR Pq 65
+The input data was incorrect in some way. This should only be used
+for user's data and not system files.
+.It Sy EX_NOINPUT Pq 66
+An input file (not a system file) did not exist or was not readable.
+This could also include errors like
+.Dq \&No message
+to a mailer (if it cared to catch it).
+.It Sy EX_NOUSER Pq 67
+The user specified did not exist. This might be used for mail
+addresses or remote logins.
+.It Sy EX_NOHOST Pq 68
+The host specified did not exist. This is used in mail addresses or
+network requests.
+.It Sy EX_UNAVAILABLE Pq 69
+A service is unavailable. This can occur if a support program or file
+does not exist. This can also be used as a catchall message when
+something you wanted to do doesn't work, but you don't know why.
+.It Sy EX_SOFTWARE Pq 70
+An internal software error has been detected. This should be limited
+to non-operating system related errors as possible.
+.It Sy EX_OSERR Pq 71
+An operating system error has been detected. This is intended to be
+used for such things as
+.Dq cannot fork ,
+.Dq cannot create pipe ,
+or the like. It includes things like getuid returning a user that
+does not exist in the passwd file.
+.It Sy EX_OSFILE Pq 72
+Some system file (e.g.,
+.Pa /etc/passwd ,
+.Pa /etc/utmp ,
+etc.) does not exist, cannot be opened, or has some sort of error
+(e.g., syntax error).
+.It Sy EX_CANTCREAT Pq 73
+A (user specified) output file cannot be created.
+.It Sy EX_IOERR Pq 74
+An error occurred while doing I/O on some file.
+.It Sy EX_TEMPFAIL Pq 75
+Temporary failure, indicating something that is not really an error.
+In sendmail, this means that a mailer (e.g.) could not create a
+connection, and the request should be reattempted later.
+.It Sy EX_PROTOCOL Pq 76
+The remote system returned something that was
+.Dq not possible
+during a protocol exchange.
+.It Sy EX_NOPERM Pq 77
+You did not have sufficient permission to perform the operation. This
+is not intended for file system problems, which should use
+.Sy EX_NOINPUT
+or
+.Sy EX_CANTCREAT ,
+but rather for higher level permissions.
+.It Sy EX_CONFIG Pq 78
+Something was found in an unconfigured or misconfigured state.
+.El
+.Pp
+The numerical values corresponding to the symbolical ones are given in
+parenthesis for easy reference.
+.Sh SEE ALSO
+.Xr exit 3 ,
+.Xr style 9 .
+.Sh HISTORY
+The
+.Nm sysexits
+file appeared somewhere after
+.Bx 4.3 .
+.Sh AUTHORS
+This man page has been written by
+.ie t J\(:org Wunsch
+.el Joerg Wunsch
+after the comments in
+.Pa <sysexits.h> .
+.Sh BUGS
+The choice of an appropriate exit value is often ambiguous.
OpenPOWER on IntegriCloud