diff options
author | joerg <joerg@FreeBSD.org> | 1996-03-31 22:33:54 +0000 |
---|---|---|
committer | joerg <joerg@FreeBSD.org> | 1996-03-31 22:33:54 +0000 |
commit | a8d7ddd754512c7f6ee090f132ba679f81b8e14a (patch) | |
tree | 0fba5d3cd0947fb393e50b6b7c36dd90a1b11b0d /share/man/man3/sysexits.3 | |
parent | f55ef7e508b33f503d7540954646e771c299b0b3 (diff) | |
download | FreeBSD-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/man/man3/sysexits.3')
-rw-r--r-- | share/man/man3/sysexits.3 | 133 |
1 files changed, 133 insertions, 0 deletions
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. |