source: trunk/third/sendmail/sendmail/sysexits.h @ 19204

Revision 19204, 3.9 KB checked in by zacheiss, 21 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r19203, 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 * By using this file, you agree to the terms and conditions set
6 * forth in the LICENSE file which can be found at the top level of
7 * the sendmail distribution.
8 *
9 *      $Id: sysexits.h,v 1.1.1.1 2003-04-08 15:11:39 zacheiss Exp $
10 *      @(#)sysexits.h  8.1 (Berkeley) 6/2/93
11 */
12
13#ifndef _SYSEXITS_H_
14# define _SYSEXITS_H_
15
16/*
17**  SYSEXITS.H -- Exit status codes for system programs.
18**
19**      This include file attempts to categorize possible error
20**      exit statuses for system programs, notably delivermail
21**      and the Berkeley network.
22**
23**      Error numbers begin at EX__BASE to reduce the possibility of
24**      clashing with other exit statuses that random programs may
25**      already return.  The meaning of the codes is approximately
26**      as follows:
27**
28**      EX_USAGE -- The command was used incorrectly, e.g., with
29**              the wrong number of arguments, a bad flag, a bad
30**              syntax in a parameter, or whatever.
31**      EX_DATAERR -- The input data was incorrect in some way.
32**              This should only be used for user's data & not
33**              system files.
34**      EX_NOINPUT -- An input file (not a system file) did not
35**              exist or was not readable.  This could also include
36**              errors like "No message" to a mailer (if it cared
37**              to catch it).
38**      EX_NOUSER -- The user specified did not exist.  This might
39**              be used for mail addresses or remote logins.
40**      EX_NOHOST -- The host specified did not exist.  This is used
41**              in mail addresses or network requests.
42**      EX_UNAVAILABLE -- A service is unavailable.  This can occur
43**              if a support program or file does not exist.  This
44**              can also be used as a catchall message when something
45**              you wanted to do doesn't work, but you don't know
46**              why.
47**      EX_SOFTWARE -- An internal software error has been detected.
48**              This should be limited to non-operating system related
49**              errors as possible.
50**      EX_OSERR -- An operating system error has been detected.
51**              This is intended to be used for such things as "cannot
52**              fork", "cannot create pipe", or the like.  It includes
53**              things like getuid returning a user that does not
54**              exist in the passwd file.
55**      EX_OSFILE -- Some system file (e.g., /etc/passwd, /etc/utmp,
56**              etc.) does not exist, cannot be opened, or has some
57**              sort of error (e.g., syntax error).
58**      EX_CANTCREAT -- A (user specified) output file cannot be
59**              created.
60**      EX_IOERR -- An error occurred while doing I/O on some file.
61**      EX_TEMPFAIL -- temporary failure, indicating something that
62**              is not really an error.  In sendmail, this means
63**              that a mailer (e.g.) could not create a connection,
64**              and the request should be reattempted later.
65**      EX_PROTOCOL -- the remote system returned something that
66**              was "not possible" during a protocol exchange.
67**      EX_NOPERM -- You did not have sufficient permission to
68**              perform the operation.  This is not intended for
69**              file system problems, which should use NOINPUT or
70**              CANTCREAT, but rather for higher level permissions.
71*/
72
73# define EX_OK          0       /* successful termination */
74
75# define EX__BASE       64      /* base value for error messages */
76
77# define EX_USAGE       64      /* command line usage error */
78# define EX_DATAERR     65      /* data format error */
79# define EX_NOINPUT     66      /* cannot open input */
80# define EX_NOUSER      67      /* addressee unknown */
81# define EX_NOHOST      68      /* host name unknown */
82# define EX_UNAVAILABLE 69      /* service unavailable */
83# define EX_SOFTWARE    70      /* internal software error */
84# define EX_OSERR       71      /* system error (e.g., can't fork) */
85# define EX_OSFILE      72      /* critical OS file missing */
86# define EX_CANTCREAT   73      /* can't create (user) output file */
87# define EX_IOERR       74      /* input/output error */
88# define EX_TEMPFAIL    75      /* temp failure; user is invited to retry */
89# define EX_PROTOCOL    76      /* remote error in protocol */
90# define EX_NOPERM      77      /* permission denied */
91# define EX_CONFIG      78      /* configuration error */
92
93# define EX__MAX        78      /* maximum listed value */
94
95#endif /* ! _SYSEXITS_H_ */
Note: See TracBrowser for help on using the repository browser.