Project

General

Profile

Statistics
| Revision:

root / lab4 / .minix-src / include / sysexits.h @ 14

History | View | Annotate | Download (5.25 KB)

1
/*        $NetBSD: sysexits.h,v 1.7 2005/09/30 20:56:19 rpaulo Exp $        */
2

    
3
/*
4
 * Copyright (c) 1987, 1993
5
 *        The Regents of the University of California.  All rights reserved.
6
 *
7
 * Redistribution and use in source and binary forms, with or without
8
 * modification, are permitted provided that the following conditions
9
 * are met:
10
 * 1. Redistributions of source code must retain the above copyright
11
 *    notice, this list of conditions and the following disclaimer.
12
 * 2. Redistributions in binary form must reproduce the above copyright
13
 *    notice, this list of conditions and the following disclaimer in the
14
 *    documentation and/or other materials provided with the distribution.
15
 * 3. Neither the name of the University nor the names of its contributors
16
 *    may be used to endorse or promote products derived from this software
17
 *    without specific prior written permission.
18
 *
19
 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
20
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
23
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
25
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
26
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
28
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
29
 * SUCH DAMAGE.
30
 *
31
 *        @(#)sysexits.h        8.1 (Berkeley) 6/2/93
32
 */
33

    
34
#ifndef        _SYSEXITS_H_
35
#define        _SYSEXITS_H_
36

    
37
/*
38
 *  SYSEXITS.H -- Exit status codes for system programs.
39
 *
40
 *        This include file attempts to categorize possible error
41
 *        exit statuses for system programs, notably delivermail
42
 *        and the Berkeley network.
43
 *
44
 *        Error numbers begin at EX__BASE to reduce the possibility of
45
 *        clashing with other exit statuses that random programs may
46
 *        already return.  The meaning of the codes is approximately
47
 *        as follows:
48
 *
49
 *        EX_USAGE -- The command was used incorrectly, e.g., with
50
 *                the wrong number of arguments, a bad flag, a bad
51
 *                syntax in a parameter, or whatever.
52
 *        EX_DATAERR -- The input data was incorrect in some way.
53
 *                This should only be used for user's data & not
54
 *                system files.
55
 *        EX_NOINPUT -- An input file (not a system file) did not
56
 *                exist or was not readable.  This could also include
57
 *                errors like "No message" to a mailer (if it cared
58
 *                to catch it).
59
 *        EX_NOUSER -- The user specified did not exist.  This might
60
 *                be used for mail addresses or remote logins.
61
 *        EX_NOHOST -- The host specified did not exist.  This is used
62
 *                in mail addresses or network requests.
63
 *        EX_UNAVAILABLE -- A service is unavailable.  This can occur
64
 *                if a support program or file does not exist.  This
65
 *                can also be used as a catchall message when something
66
 *                you wanted to do doesn't work, but you don't know
67
 *                why.
68
 *        EX_SOFTWARE -- An internal software error has been detected.
69
 *                This should be limited to non-operating system related
70
 *                errors as possible.
71
 *        EX_OSERR -- An operating system error has been detected.
72
 *                This is intended to be used for such things as "cannot
73
 *                fork", "cannot create pipe", or the like.  It includes
74
 *                things like getuid returning a user that does not
75
 *                exist in the passwd file.
76
 *        EX_OSFILE -- Some system file (e.g., /etc/passwd, /etc/utmp,
77
 *                etc.) does not exist, cannot be opened, or has some
78
 *                sort of error (e.g., syntax error).
79
 *        EX_CANTCREAT -- A (user specified) output file cannot be
80
 *                created.
81
 *        EX_IOERR -- An error occurred while doing I/O on some file.
82
 *        EX_TEMPFAIL -- temporary failure, indicating something that
83
 *                is not really an error.  In sendmail, this means
84
 *                that a mailer (e.g.) could not create a connection,
85
 *                and the request should be reattempted later.
86
 *        EX_PROTOCOL -- the remote system returned something that
87
 *                was "not possible" during a protocol exchange.
88
 *        EX_NOPERM -- You did not have sufficient permission to
89
 *                perform the operation.  This is not intended for
90
 *                file system problems, which should use NOINPUT or
91
 *                CANTCREAT, but rather for higher level permissions.
92
 *
93
 *        Please update the sysexits(3) man page after adding more entries.
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_ */