source: trunk/third/sendmail/src/sysexits.h @ 12554

Revision 12554, 5.3 KB checked in by danw, 26 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r12553, which included commits to RCS files with non-trunk default branches.
Line 
1/*
2 * Copyright (c) 1987, 1993
3 *      The Regents of the University of California.  All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright
9 *    notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright
11 *    notice, this list of conditions and the following disclaimer in the
12 *    documentation and/or other materials provided with the distribution.
13 * 3. All advertising materials mentioning features or use of this software
14 *    must display the following acknowledgement:
15 *      This product includes software developed by the University of
16 *      California, Berkeley and its contributors.
17 * 4. Neither the name of the University nor the names of its contributors
18 *    may be used to endorse or promote products derived from this software
19 *    without specific prior written permission.
20 *
21 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
22 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24 * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
25 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31 * SUCH DAMAGE.
32 *
33 *      @(#)sysexits.h  8.1 (Berkeley) 6/2/93
34 */
35
36#ifndef _SYSEXITS_H_
37#define _SYSEXITS_H_
38
39/*
40 *  SYSEXITS.H -- Exit status codes for system programs.
41 *
42 *      This include file attempts to categorize possible error
43 *      exit statuses for system programs, notably delivermail
44 *      and the Berkeley network.
45 *
46 *      Error numbers begin at EX__BASE to reduce the possibility of
47 *      clashing with other exit statuses that random programs may
48 *      already return.  The meaning of the codes is approximately
49 *      as follows:
50 *
51 *      EX_USAGE -- The command was used incorrectly, e.g., with
52 *              the wrong number of arguments, a bad flag, a bad
53 *              syntax in a parameter, or whatever.
54 *      EX_DATAERR -- The input data was incorrect in some way.
55 *              This should only be used for user's data & not
56 *              system files.
57 *      EX_NOINPUT -- An input file (not a system file) did not
58 *              exist or was not readable.  This could also include
59 *              errors like "No message" to a mailer (if it cared
60 *              to catch it).
61 *      EX_NOUSER -- The user specified did not exist.  This might
62 *              be used for mail addresses or remote logins.
63 *      EX_NOHOST -- The host specified did not exist.  This is used
64 *              in mail addresses or network requests.
65 *      EX_UNAVAILABLE -- A service is unavailable.  This can occur
66 *              if a support program or file does not exist.  This
67 *              can also be used as a catchall message when something
68 *              you wanted to do doesn't work, but you don't know
69 *              why.
70 *      EX_SOFTWARE -- An internal software error has been detected.
71 *              This should be limited to non-operating system related
72 *              errors as possible.
73 *      EX_OSERR -- An operating system error has been detected.
74 *              This is intended to be used for such things as "cannot
75 *              fork", "cannot create pipe", or the like.  It includes
76 *              things like getuid returning a user that does not
77 *              exist in the passwd file.
78 *      EX_OSFILE -- Some system file (e.g., /etc/passwd, /etc/utmp,
79 *              etc.) does not exist, cannot be opened, or has some
80 *              sort of error (e.g., syntax error).
81 *      EX_CANTCREAT -- A (user specified) output file cannot be
82 *              created.
83 *      EX_IOERR -- An error occurred while doing I/O on some file.
84 *      EX_TEMPFAIL -- temporary failure, indicating something that
85 *              is not really an error.  In sendmail, this means
86 *              that a mailer (e.g.) could not create a connection,
87 *              and the request should be reattempted later.
88 *      EX_PROTOCOL -- the remote system returned something that
89 *              was "not possible" during a protocol exchange.
90 *      EX_NOPERM -- You did not have sufficient permission to
91 *              perform the operation.  This is not intended for
92 *              file system problems, which should use NOINPUT or
93 *              CANTCREAT, but rather for higher level permissions.
94 */
95
96#define EX_OK           0       /* successful termination */
97
98#define EX__BASE        64      /* base value for error messages */
99
100#define EX_USAGE        64      /* command line usage error */
101#define EX_DATAERR      65      /* data format error */
102#define EX_NOINPUT      66      /* cannot open input */
103#define EX_NOUSER       67      /* addressee unknown */
104#define EX_NOHOST       68      /* host name unknown */
105#define EX_UNAVAILABLE  69      /* service unavailable */
106#define EX_SOFTWARE     70      /* internal software error */
107#define EX_OSERR        71      /* system error (e.g., can't fork) */
108#define EX_OSFILE       72      /* critical OS file missing */
109#define EX_CANTCREAT    73      /* can't create (user) output file */
110#define EX_IOERR        74      /* input/output error */
111#define EX_TEMPFAIL     75      /* temp failure; user is invited to retry */
112#define EX_PROTOCOL     76      /* remote error in protocol */
113#define EX_NOPERM       77      /* permission denied */
114#define EX_CONFIG       78      /* configuration error */
115
116#define EX__MAX 78      /* maximum listed value */
117
118#endif /* !_SYSEXITS_H_ */
Note: See TracBrowser for help on using the repository browser.