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