xref: /aosp_15_r20/bionic/libc/include/sysexits.h (revision 8d67ca893c1523eb926b9080dbe4e2ffd2a27ba1)
1*8d67ca89SAndroid Build Coastguard Worker /*	$OpenBSD: sysexits.h,v 1.5 2003/06/02 19:34:12 millert Exp $	*/
2*8d67ca89SAndroid Build Coastguard Worker /*	$NetBSD: sysexits.h,v 1.4 1994/10/26 00:56:33 cgd Exp $	*/
3*8d67ca89SAndroid Build Coastguard Worker 
4*8d67ca89SAndroid Build Coastguard Worker /*
5*8d67ca89SAndroid Build Coastguard Worker  * Copyright (c) 1987 Regents of the University of California.
6*8d67ca89SAndroid Build Coastguard Worker  * All rights reserved.
7*8d67ca89SAndroid Build Coastguard Worker  *
8*8d67ca89SAndroid Build Coastguard Worker  * Redistribution and use in source and binary forms, with or without
9*8d67ca89SAndroid Build Coastguard Worker  * modification, are permitted provided that the following conditions
10*8d67ca89SAndroid Build Coastguard Worker  * are met:
11*8d67ca89SAndroid Build Coastguard Worker  * 1. Redistributions of source code must retain the above copyright
12*8d67ca89SAndroid Build Coastguard Worker  *    notice, this list of conditions and the following disclaimer.
13*8d67ca89SAndroid Build Coastguard Worker  * 2. Redistributions in binary form must reproduce the above copyright
14*8d67ca89SAndroid Build Coastguard Worker  *    notice, this list of conditions and the following disclaimer in the
15*8d67ca89SAndroid Build Coastguard Worker  *    documentation and/or other materials provided with the distribution.
16*8d67ca89SAndroid Build Coastguard Worker  * 3. Neither the name of the University nor the names of its contributors
17*8d67ca89SAndroid Build Coastguard Worker  *    may be used to endorse or promote products derived from this software
18*8d67ca89SAndroid Build Coastguard Worker  *    without specific prior written permission.
19*8d67ca89SAndroid Build Coastguard Worker  *
20*8d67ca89SAndroid Build Coastguard Worker  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21*8d67ca89SAndroid Build Coastguard Worker  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22*8d67ca89SAndroid Build Coastguard Worker  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23*8d67ca89SAndroid Build Coastguard Worker  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24*8d67ca89SAndroid Build Coastguard Worker  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25*8d67ca89SAndroid Build Coastguard Worker  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26*8d67ca89SAndroid Build Coastguard Worker  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27*8d67ca89SAndroid Build Coastguard Worker  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28*8d67ca89SAndroid Build Coastguard Worker  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29*8d67ca89SAndroid Build Coastguard Worker  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30*8d67ca89SAndroid Build Coastguard Worker  * SUCH DAMAGE.
31*8d67ca89SAndroid Build Coastguard Worker  *
32*8d67ca89SAndroid Build Coastguard Worker  *	@(#)sysexits.h	4.8 (Berkeley) 4/3/91
33*8d67ca89SAndroid Build Coastguard Worker  */
34*8d67ca89SAndroid Build Coastguard Worker 
35*8d67ca89SAndroid Build Coastguard Worker #pragma once
36*8d67ca89SAndroid Build Coastguard Worker 
37*8d67ca89SAndroid Build Coastguard Worker /**
38*8d67ca89SAndroid Build Coastguard Worker  * @file sysexits.h
39*8d67ca89SAndroid Build Coastguard Worker  * @brief Exit status codes for system programs.
40*8d67ca89SAndroid Build Coastguard Worker  *
41*8d67ca89SAndroid Build Coastguard Worker  * This include file attempts to categorize possible error
42*8d67ca89SAndroid Build Coastguard Worker  * exit statuses for system programs such as sendmail.
43*8d67ca89SAndroid Build Coastguard Worker  */
44*8d67ca89SAndroid Build Coastguard Worker 
45*8d67ca89SAndroid Build Coastguard Worker #include <sys/cdefs.h>
46*8d67ca89SAndroid Build Coastguard Worker 
47*8d67ca89SAndroid Build Coastguard Worker /** Successful termination. */
48*8d67ca89SAndroid Build Coastguard Worker #define EX_OK  0
49*8d67ca89SAndroid Build Coastguard Worker 
50*8d67ca89SAndroid Build Coastguard Worker /**
51*8d67ca89SAndroid Build Coastguard Worker  * Base value for error messages.
52*8d67ca89SAndroid Build Coastguard Worker  * Error numbers begin at `EX__BASE` to reduce the possibility of
53*8d67ca89SAndroid Build Coastguard Worker  * clashing with other exit statuses that random programs may
54*8d67ca89SAndroid Build Coastguard Worker  * already return.
55*8d67ca89SAndroid Build Coastguard Worker  */
56*8d67ca89SAndroid Build Coastguard Worker #define EX__BASE 64
57*8d67ca89SAndroid Build Coastguard Worker 
58*8d67ca89SAndroid Build Coastguard Worker /**
59*8d67ca89SAndroid Build Coastguard Worker  * Command line usage error.
60*8d67ca89SAndroid Build Coastguard Worker  * The command was used incorrectly, such as the wrong number of
61*8d67ca89SAndroid Build Coastguard Worker  * arguments, a bad flag, or bad syntax for a parameter.
62*8d67ca89SAndroid Build Coastguard Worker  */
63*8d67ca89SAndroid Build Coastguard Worker #define EX_USAGE 64
64*8d67ca89SAndroid Build Coastguard Worker 
65*8d67ca89SAndroid Build Coastguard Worker /**
66*8d67ca89SAndroid Build Coastguard Worker  * Data format error.
67*8d67ca89SAndroid Build Coastguard Worker  * The input data was incorrect in some way.
68*8d67ca89SAndroid Build Coastguard Worker  * This should only be used for user's data and not for system files.
69*8d67ca89SAndroid Build Coastguard Worker  */
70*8d67ca89SAndroid Build Coastguard Worker #define EX_DATAERR 65
71*8d67ca89SAndroid Build Coastguard Worker 
72*8d67ca89SAndroid Build Coastguard Worker /**
73*8d67ca89SAndroid Build Coastguard Worker  * Cannot open input.
74*8d67ca89SAndroid Build Coastguard Worker  * An input file (not a system file) did not exist or was not readable.
75*8d67ca89SAndroid Build Coastguard Worker  * This could also include errors like "No message" to a mailer (if it cared
76*8d67ca89SAndroid Build Coastguard Worker  * to catch it).
77*8d67ca89SAndroid Build Coastguard Worker  */
78*8d67ca89SAndroid Build Coastguard Worker #define EX_NOINPUT 66
79*8d67ca89SAndroid Build Coastguard Worker 
80*8d67ca89SAndroid Build Coastguard Worker /**
81*8d67ca89SAndroid Build Coastguard Worker  * The specified user did not exist.
82*8d67ca89SAndroid Build Coastguard Worker  * This might be used for mail addresses or remote logins.
83*8d67ca89SAndroid Build Coastguard Worker  */
84*8d67ca89SAndroid Build Coastguard Worker #define EX_NOUSER 67
85*8d67ca89SAndroid Build Coastguard Worker 
86*8d67ca89SAndroid Build Coastguard Worker /**
87*8d67ca89SAndroid Build Coastguard Worker  * The specified host did not exist.
88*8d67ca89SAndroid Build Coastguard Worker  * This is used in mail addresses or network requests.
89*8d67ca89SAndroid Build Coastguard Worker  */
90*8d67ca89SAndroid Build Coastguard Worker #define EX_NOHOST 68
91*8d67ca89SAndroid Build Coastguard Worker 
92*8d67ca89SAndroid Build Coastguard Worker /**
93*8d67ca89SAndroid Build Coastguard Worker  * A service is unavailable.
94*8d67ca89SAndroid Build Coastguard Worker  * This can occur if a support program or file does not exist.
95*8d67ca89SAndroid Build Coastguard Worker  * This can also be used as a catchall message when something
96*8d67ca89SAndroid Build Coastguard Worker  * you wanted to do doesn't work, but you don't know why.
97*8d67ca89SAndroid Build Coastguard Worker  */
98*8d67ca89SAndroid Build Coastguard Worker #define EX_UNAVAILABLE 69
99*8d67ca89SAndroid Build Coastguard Worker 
100*8d67ca89SAndroid Build Coastguard Worker /**
101*8d67ca89SAndroid Build Coastguard Worker  * An internal software error has been detected.
102*8d67ca89SAndroid Build Coastguard Worker  * This should be limited to non-operating system related errors.
103*8d67ca89SAndroid Build Coastguard Worker  */
104*8d67ca89SAndroid Build Coastguard Worker #define EX_SOFTWARE 70
105*8d67ca89SAndroid Build Coastguard Worker 
106*8d67ca89SAndroid Build Coastguard Worker /**
107*8d67ca89SAndroid Build Coastguard Worker  * An operating system error has been detected.
108*8d67ca89SAndroid Build Coastguard Worker  * This is intended to be used for such things as "cannot
109*8d67ca89SAndroid Build Coastguard Worker  * fork", "cannot create pipe", or the like.  It includes
110*8d67ca89SAndroid Build Coastguard Worker  * things like getuid returning a user that does not
111*8d67ca89SAndroid Build Coastguard Worker  * exist in the passwd file.
112*8d67ca89SAndroid Build Coastguard Worker  */
113*8d67ca89SAndroid Build Coastguard Worker #define EX_OSERR 71
114*8d67ca89SAndroid Build Coastguard Worker 
115*8d67ca89SAndroid Build Coastguard Worker /**
116*8d67ca89SAndroid Build Coastguard Worker  * Critical OS file error.
117*8d67ca89SAndroid Build Coastguard Worker  * A system file (such as /etc/passwd) does not exist, cannot be opened,
118*8d67ca89SAndroid Build Coastguard Worker  * or has some other problem (such as a syntax error).
119*8d67ca89SAndroid Build Coastguard Worker  */
120*8d67ca89SAndroid Build Coastguard Worker #define EX_OSFILE 72
121*8d67ca89SAndroid Build Coastguard Worker 
122*8d67ca89SAndroid Build Coastguard Worker /**
123*8d67ca89SAndroid Build Coastguard Worker  * Can't create (user) output file.
124*8d67ca89SAndroid Build Coastguard Worker  * A (user specified) output file cannot be created.
125*8d67ca89SAndroid Build Coastguard Worker  */
126*8d67ca89SAndroid Build Coastguard Worker #define EX_CANTCREAT 73
127*8d67ca89SAndroid Build Coastguard Worker 
128*8d67ca89SAndroid Build Coastguard Worker /**
129*8d67ca89SAndroid Build Coastguard Worker  * Input/output error.
130*8d67ca89SAndroid Build Coastguard Worker  * An error occurred while doing I/O on some file.
131*8d67ca89SAndroid Build Coastguard Worker  */
132*8d67ca89SAndroid Build Coastguard Worker #define EX_IOERR 74
133*8d67ca89SAndroid Build Coastguard Worker 
134*8d67ca89SAndroid Build Coastguard Worker /**
135*8d67ca89SAndroid Build Coastguard Worker  * Temporary failure; user is invited to retry.
136*8d67ca89SAndroid Build Coastguard Worker  * A temporary failure, indicating something that
137*8d67ca89SAndroid Build Coastguard Worker  * is not really an error.  In sendmail, this might mean
138*8d67ca89SAndroid Build Coastguard Worker  * that a mailer could not create a connection,
139*8d67ca89SAndroid Build Coastguard Worker  * and the request should be reattempted later.
140*8d67ca89SAndroid Build Coastguard Worker  */
141*8d67ca89SAndroid Build Coastguard Worker #define EX_TEMPFAIL 75
142*8d67ca89SAndroid Build Coastguard Worker 
143*8d67ca89SAndroid Build Coastguard Worker /**
144*8d67ca89SAndroid Build Coastguard Worker  * Remote error in protocol.
145*8d67ca89SAndroid Build Coastguard Worker  * The remote system returned something that
146*8d67ca89SAndroid Build Coastguard Worker  * was "not possible" during a protocol exchange.
147*8d67ca89SAndroid Build Coastguard Worker  */
148*8d67ca89SAndroid Build Coastguard Worker #define EX_PROTOCOL 76
149*8d67ca89SAndroid Build Coastguard Worker 
150*8d67ca89SAndroid Build Coastguard Worker /**
151*8d67ca89SAndroid Build Coastguard Worker  * Permission denied.
152*8d67ca89SAndroid Build Coastguard Worker  * You did not have sufficient permission to perform the operation.
153*8d67ca89SAndroid Build Coastguard Worker  * This is not intended for file system problems, which should use EX_NOINPUT or
154*8d67ca89SAndroid Build Coastguard Worker  * EX_CANTCREAT, but rather for higher level permissions.
155*8d67ca89SAndroid Build Coastguard Worker  */
156*8d67ca89SAndroid Build Coastguard Worker #define EX_NOPERM 77
157*8d67ca89SAndroid Build Coastguard Worker 
158*8d67ca89SAndroid Build Coastguard Worker /**
159*8d67ca89SAndroid Build Coastguard Worker  * Configuration error.
160*8d67ca89SAndroid Build Coastguard Worker  * Something was found in an unconfigured or misconfigured state.
161*8d67ca89SAndroid Build Coastguard Worker  */
162*8d67ca89SAndroid Build Coastguard Worker #define EX_CONFIG 78
163*8d67ca89SAndroid Build Coastguard Worker 
164*8d67ca89SAndroid Build Coastguard Worker /** Maximum listed value. */
165*8d67ca89SAndroid Build Coastguard Worker #define EX__MAX  78
166