meplib / cCode / utils / std-exit-errors.h @ master
Historique | Voir | Annoter | Télécharger (3,55 ko)
1 | 08aa5d9e | Serge Torres | /* std-exit-errors.h */
|
---|---|---|---|
2 | 08aa5d9e | Serge Torres | |
3 | 08aa5d9e | Serge Torres | #ifndef STD_EXIT_ERRORS_h
|
4 | 08aa5d9e | Serge Torres | #define STD_EXIT_ERRORS_h
|
5 | 08aa5d9e | Serge Torres | |
6 | 08aa5d9e | Serge Torres | /*
|
7 | 08aa5d9e | Serge Torres | Exit status codes for system programs.
|
8 | 08aa5d9e | Serge Torres | |
9 | 08aa5d9e | Serge Torres | This include file attempts to categorize possible error
|
10 | 08aa5d9e | Serge Torres | exit statuses for system programs, notably delivermail
|
11 | 08aa5d9e | Serge Torres | and the Berkeley network.
|
12 | 08aa5d9e | Serge Torres | |
13 | 08aa5d9e | Serge Torres | Error numbers begin at EX__BASE to reduce the possibility of
|
14 | 08aa5d9e | Serge Torres | clashing with other exit statuses that random programs may
|
15 | 08aa5d9e | Serge Torres | already return. The meaning of the codes is approximately
|
16 | 08aa5d9e | Serge Torres | as follows:
|
17 | 08aa5d9e | Serge Torres | |
18 | 08aa5d9e | Serge Torres | EX_USAGE -- The command was used incorrectly, e.g., with
|
19 | 08aa5d9e | Serge Torres | the wrong number of arguments, a bad flag, a bad
|
20 | 08aa5d9e | Serge Torres | syntax in a parameter, or whatever.
|
21 | 08aa5d9e | Serge Torres | EX_DATAERR -- The input data was incorrect in some way.
|
22 | 08aa5d9e | Serge Torres | This should only be used for user's data & not
|
23 | 08aa5d9e | Serge Torres | system files.
|
24 | 08aa5d9e | Serge Torres | EX_NOINPUT -- An input file (not a system file) did not
|
25 | 08aa5d9e | Serge Torres | exist or was not readable. This could also include
|
26 | 08aa5d9e | Serge Torres | errors like "No message" to a mailer (if it cared
|
27 | 08aa5d9e | Serge Torres | to catch it).
|
28 | 08aa5d9e | Serge Torres | EX_NOUSER -- The user specified did not exist. This might
|
29 | 08aa5d9e | Serge Torres | be used for mail addresses or remote logins.
|
30 | 08aa5d9e | Serge Torres | EX_NOHOST -- The host specified did not exist. This is used
|
31 | 08aa5d9e | Serge Torres | in mail addresses or network requests.
|
32 | 08aa5d9e | Serge Torres | EX_UNAVAILABLE -- A service is unavailable. This can occur
|
33 | 08aa5d9e | Serge Torres | if a support program or file does not exist. This
|
34 | 08aa5d9e | Serge Torres | can also be used as a catchall message when something
|
35 | 08aa5d9e | Serge Torres | you wanted to do doesn't work, but you don't know
|
36 | 08aa5d9e | Serge Torres | why.
|
37 | 08aa5d9e | Serge Torres | EX_SOFTWARE -- An internal software error has been detected.
|
38 | 08aa5d9e | Serge Torres | This should be limited to non-operating system related
|
39 | 08aa5d9e | Serge Torres | errors as possible.
|
40 | 08aa5d9e | Serge Torres | EX_OSERR -- An operating system error has been detected.
|
41 | 08aa5d9e | Serge Torres | This is intended to be used for such things as "cannot
|
42 | 08aa5d9e | Serge Torres | fork", "cannot create pipe", or the like. It includes
|
43 | 08aa5d9e | Serge Torres | things like getuid returning a user that does not
|
44 | 08aa5d9e | Serge Torres | exist in the passwd file.
|
45 | 08aa5d9e | Serge Torres | EX_OSFILE -- Some system file (e.g., /etc/passwd, /etc/utmp,
|
46 | 08aa5d9e | Serge Torres | etc.) does not exist, cannot be opened, or has some
|
47 | 08aa5d9e | Serge Torres | sort of error (e.g., syntax error).
|
48 | 08aa5d9e | Serge Torres | EX_CANTCREAT -- A (user specified) output file cannot be
|
49 | 08aa5d9e | Serge Torres | created.
|
50 | 08aa5d9e | Serge Torres | EX_IOERR -- An error occurred while doing I/O on some file.
|
51 | 08aa5d9e | Serge Torres | EX_TEMPFAIL -- temporary failure, indicating something that
|
52 | 08aa5d9e | Serge Torres | is not really an error. In sendmail, this means
|
53 | 08aa5d9e | Serge Torres | that a mailer (e.g.) could not create a connection,
|
54 | 08aa5d9e | Serge Torres | and the request should be reattempted later.
|
55 | 08aa5d9e | Serge Torres | EX_PROTOCOL -- the remote system returned something that
|
56 | 08aa5d9e | Serge Torres | was "not possible" during a protocol exchange.
|
57 | 08aa5d9e | Serge Torres | EX_NOPERM -- You did not have sufficient permission to
|
58 | 08aa5d9e | Serge Torres | perform the operation. This is not intended for
|
59 | 08aa5d9e | Serge Torres | file system problems, which should use NOINPUT or
|
60 | 08aa5d9e | Serge Torres | CANTCREAT, but rather for higher level permissions.
|
61 | 08aa5d9e | Serge Torres | */
|
62 | 08aa5d9e | Serge Torres | |
63 | 08aa5d9e | Serge Torres | #define EX_OK 0 /* successful termination */ |
64 | 08aa5d9e | Serge Torres | /**/
|
65 | 08aa5d9e | Serge Torres | #define EX__BASE 64 /* base value for error messages */ |
66 | 08aa5d9e | Serge Torres | /**/
|
67 | 08aa5d9e | Serge Torres | #define EX_USAGE 64 /* command line usage error */ |
68 | 08aa5d9e | Serge Torres | #define EX_DATAERR 65 /* data format error */ |
69 | 08aa5d9e | Serge Torres | #define EX_NOINPUT 66 /* cannot open input */ |
70 | 08aa5d9e | Serge Torres | #define EX_NOUSER 67 /* addressee unknown */ |
71 | 08aa5d9e | Serge Torres | #define EX_NOHOST 68 /* host name unknown */ |
72 | 08aa5d9e | Serge Torres | #define EX_UNAVAILABLE 69 /* service unavailable */ |
73 | 08aa5d9e | Serge Torres | #define EX_SOFTWARE 70 /* internal software error */ |
74 | 08aa5d9e | Serge Torres | #define EX_OSERR 71 /* system error (e.g., can't fork) */ |
75 | 08aa5d9e | Serge Torres | #define EX_OSFILE 72 /* critical OS file missing */ |
76 | 08aa5d9e | Serge Torres | #define EX_CANTCREAT 73 /* can't create (user) output file */ |
77 | 08aa5d9e | Serge Torres | #define EX_IOERR 74 /* input/output error */ |
78 | 08aa5d9e | Serge Torres | #define EX_TEMPFAIL 75 /* temp failure; user is invited to retry */ |
79 | 08aa5d9e | Serge Torres | #define EX_PROTOCOL 76 /* remote error in protocol */ |
80 | 08aa5d9e | Serge Torres | #define EX_NOPERM 77 /* permission denied */ |
81 | 08aa5d9e | Serge Torres | #define EX_CONFIG 78 /* configuration error */ |
82 | 08aa5d9e | Serge Torres | /**/
|
83 | 08aa5d9e | Serge Torres | #define EX__MAX 78 /* maximum listed value */ |
84 | 08aa5d9e | Serge Torres | /**/
|
85 | 08aa5d9e | Serge Torres | #endif /* STD_EXIT_ERRORS_h */ |