Statistiques
| Branche: | Révision :

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 */