Back to index

openldap  2.4.31
sysexits-compat.h
Go to the documentation of this file.
00001 /* $OpenLDAP$ */
00002 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
00003  *
00004  * Copyright 1998-2012 The OpenLDAP Foundation.
00005  * All rights reserved.
00006  *
00007  * Redistribution and use in source and binary forms, with or without
00008  * modification, are permitted only as authorized by the OpenLDAP
00009  * Public License.
00010  *
00011  * A copy of this license is available in file LICENSE in the
00012  * top-level directory of the distribution or, alternatively, at
00013  * <http://www.OpenLDAP.org/license.html>.
00014  */
00015 /* Portions Copyright (c) 1987 Regents of the University of California.
00016  * All rights reserved.
00017  *
00018  * Redistribution and use in source and binary forms are permitted
00019  * provided that the above copyright notice and this paragraph are
00020  * duplicated in all such forms and that any documentation,
00021  * advertising materials, and other materials related to such
00022  * distribution and use acknowledge that the software was developed
00023  * by the University of California, Berkeley.  The name of the
00024  * University may not be used to endorse or promote products derived
00025  * from this software without specific prior written permission.
00026  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
00027  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
00028  * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
00029  *
00030  *     @(#)sysexits.h       4.5 (Berkeley) 7/6/88
00031  */
00032 
00033 /*
00034 **  SYSEXITS.H -- Exit status codes for system programs.
00035 **
00036 **     This include file attempts to categorize possible error
00037 **     exit statuses for system programs, notably delivermail
00038 **     and the Berkeley network.
00039 **
00040 **     Error numbers begin at EX__BASE to reduce the possibility of
00041 **     clashing with other exit statuses that random programs may
00042 **     already return.  The meaning of the codes is approximately
00043 **     as follows:
00044 **
00045 **     EX_USAGE -- The command was used incorrectly, e.g., with
00046 **            the wrong number of arguments, a bad flag, a bad
00047 **            syntax in a parameter, or whatever.
00048 **     EX_DATAERR -- The input data was incorrect in some way.
00049 **            This should only be used for user's data & not
00050 **            system files.
00051 **     EX_NOINPUT -- An input file (not a system file) did not
00052 **            exist or was not readable.  This could also include
00053 **            errors like "No message" to a mailer (if it cared
00054 **            to catch it).
00055 **     EX_NOUSER -- The user specified did not exist.  This might
00056 **            be used for mail addresses or remote logins.
00057 **     EX_NOHOST -- The host specified did not exist.  This is used
00058 **            in mail addresses or network requests.
00059 **     EX_UNAVAILABLE -- A service is unavailable.  This can occur
00060 **            if a support program or file does not exist.  This
00061 **            can also be used as a catchall message when something
00062 **            you wanted to do doesn't work, but you don't know
00063 **            why.
00064 **     EX_SOFTWARE -- An internal software error has been detected.
00065 **            This should be limited to non-operating system related
00066 **            errors as possible.
00067 **     EX_OSERR -- An operating system error has been detected.
00068 **            This is intended to be used for such things as "cannot
00069 **            fork", "cannot create pipe", or the like.  It includes
00070 **            things like getuid returning a user that does not
00071 **            exist in the passwd file.
00072 **     EX_OSFILE -- Some system file (e.g., /etc/passwd, /etc/utmp,
00073 **            etc.) does not exist, cannot be opened, or has some
00074 **            sort of error (e.g., syntax error).
00075 **     EX_CANTCREAT -- A (user specified) output file cannot be
00076 **            created.
00077 **     EX_IOERR -- An error occurred while doing I/O on some file.
00078 **     EX_TEMPFAIL -- temporary failure, indicating something that
00079 **            is not really an error.  In sendmail, this means
00080 **            that a mailer (e.g.) could not create a connection,
00081 **            and the request should be reattempted later.
00082 **     EX_PROTOCOL -- the remote system returned something that
00083 **            was "not possible" during a protocol exchange.
00084 **     EX_NOPERM -- You did not have sufficient permission to
00085 **            perform the operation.  This is not intended for
00086 **            file system problems, which should use NOINPUT or
00087 **            CANTCREAT, but rather for higher level permissions.
00088 **            For example, kre uses this to restrict who students
00089 **            can send mail to.
00090 **
00091 **     Maintained by Eric Allman (eric@berkeley, ucbvax!eric) --
00092 **            please mail changes to me.
00093 **
00094 **                   @(#)sysexits.h       4.5           7/6/88
00095 */
00096 
00097 # define EX_OK              0      /* successful termination */
00098 
00099 # define EX__BASE    64     /* base value for error messages */
00100 
00101 # define EX_USAGE    64     /* command line usage error */
00102 # define EX_DATAERR  65     /* data format error */
00103 # define EX_NOINPUT  66     /* cannot open input */
00104 # define EX_NOUSER   67     /* addressee unknown */
00105 # define EX_NOHOST   68     /* host name unknown */
00106 # define EX_UNAVAILABLE     69     /* service unavailable */
00107 # define EX_SOFTWARE 70     /* internal software error */
00108 # define EX_OSERR    71     /* system error (e.g., can't fork) */
00109 # define EX_OSFILE   72     /* critical OS file missing */
00110 # define EX_CANTCREAT       73     /* can't create (user) output file */
00111 # define EX_IOERR    74     /* input/output error */
00112 # define EX_TEMPFAIL 75     /* temp failure; user is invited to retry */
00113 # define EX_PROTOCOL 76     /* remote error in protocol */
00114 # define EX_NOPERM   77     /* permission denied */
00115 # define EX_CONFIG   78     /* configuration error */