|  | /*	$OpenBSD: sysexits.h,v 1.5 2003/06/02 19:34:12 millert Exp $	*/ | 
|  | /*	$NetBSD: sysexits.h,v 1.4 1994/10/26 00:56:33 cgd Exp $	*/ | 
|  |  | 
|  | /* | 
|  | * Copyright (c) 1987 Regents of the University of California. | 
|  | * All rights reserved. | 
|  | * | 
|  | * Redistribution and use in source and binary forms, with or without | 
|  | * modification, are permitted provided that the following conditions | 
|  | * are met: | 
|  | * 1. Redistributions of source code must retain the above copyright | 
|  | *    notice, this list of conditions and the following disclaimer. | 
|  | * 2. Redistributions in binary form must reproduce the above copyright | 
|  | *    notice, this list of conditions and the following disclaimer in the | 
|  | *    documentation and/or other materials provided with the distribution. | 
|  | * 3. Neither the name of the University nor the names of its contributors | 
|  | *    may be used to endorse or promote products derived from this software | 
|  | *    without specific prior written permission. | 
|  | * | 
|  | * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND | 
|  | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | 
|  | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | 
|  | * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE | 
|  | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | 
|  | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | 
|  | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | 
|  | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | 
|  | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | 
|  | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | 
|  | * SUCH DAMAGE. | 
|  | * | 
|  | *	@(#)sysexits.h	4.8 (Berkeley) 4/3/91 | 
|  | */ | 
|  |  | 
|  | #pragma once | 
|  |  | 
|  | /** | 
|  | * @file sysexits.h | 
|  | * @brief Exit status codes for system programs. | 
|  | * | 
|  | * This include file attempts to categorize possible error | 
|  | * exit statuses for system programs such as sendmail. | 
|  | */ | 
|  |  | 
|  | #include <sys/cdefs.h> | 
|  |  | 
|  | /** Successful termination. */ | 
|  | #define EX_OK  0 | 
|  |  | 
|  | /** | 
|  | * Base value for error messages. | 
|  | * Error numbers begin at `EX__BASE` to reduce the possibility of | 
|  | * clashing with other exit statuses that random programs may | 
|  | * already return. | 
|  | */ | 
|  | #define EX__BASE 64 | 
|  |  | 
|  | /** | 
|  | * Command line usage error. | 
|  | * The command was used incorrectly, such as the wrong number of | 
|  | * arguments, a bad flag, or bad syntax for a parameter. | 
|  | */ | 
|  | #define EX_USAGE 64 | 
|  |  | 
|  | /** | 
|  | * Data format error. | 
|  | * The input data was incorrect in some way. | 
|  | * This should only be used for user's data and not for system files. | 
|  | */ | 
|  | #define EX_DATAERR 65 | 
|  |  | 
|  | /** | 
|  | * Cannot open input. | 
|  | * An input file (not a system file) did not exist or was not readable. | 
|  | * This could also include errors like "No message" to a mailer (if it cared | 
|  | * to catch it). | 
|  | */ | 
|  | #define EX_NOINPUT 66 | 
|  |  | 
|  | /** | 
|  | * The specified user did not exist. | 
|  | * This might be used for mail addresses or remote logins. | 
|  | */ | 
|  | #define EX_NOUSER 67 | 
|  |  | 
|  | /** | 
|  | * The specified host did not exist. | 
|  | * This is used in mail addresses or network requests. | 
|  | */ | 
|  | #define EX_NOHOST 68 | 
|  |  | 
|  | /** | 
|  | * A service is unavailable. | 
|  | * This can occur if a support program or file does not exist. | 
|  | * This can also be used as a catchall message when something | 
|  | * you wanted to do doesn't work, but you don't know why. | 
|  | */ | 
|  | #define EX_UNAVAILABLE 69 | 
|  |  | 
|  | /** | 
|  | * An internal software error has been detected. | 
|  | * This should be limited to non-operating system related errors. | 
|  | */ | 
|  | #define EX_SOFTWARE 70 | 
|  |  | 
|  | /** | 
|  | * An operating system error has been detected. | 
|  | * This is intended to be used for such things as "cannot | 
|  | * fork", "cannot create pipe", or the like.  It includes | 
|  | * things like getuid returning a user that does not | 
|  | * exist in the passwd file. | 
|  | */ | 
|  | #define EX_OSERR 71 | 
|  |  | 
|  | /** | 
|  | * Critical OS file error. | 
|  | * A system file (such as /etc/passwd) does not exist, cannot be opened, | 
|  | * or has some other problem (such as a syntax error). | 
|  | */ | 
|  | #define EX_OSFILE 72 | 
|  |  | 
|  | /** | 
|  | * Can't create (user) output file. | 
|  | * A (user specified) output file cannot be created. | 
|  | */ | 
|  | #define EX_CANTCREAT 73 | 
|  |  | 
|  | /** | 
|  | * Input/output error. | 
|  | * An error occurred while doing I/O on some file. | 
|  | */ | 
|  | #define EX_IOERR 74 | 
|  |  | 
|  | /** | 
|  | * Temporary failure; user is invited to retry. | 
|  | * A temporary failure, indicating something that | 
|  | * is not really an error.  In sendmail, this might mean | 
|  | * that a mailer could not create a connection, | 
|  | * and the request should be reattempted later. | 
|  | */ | 
|  | #define EX_TEMPFAIL 75 | 
|  |  | 
|  | /** | 
|  | * Remote error in protocol. | 
|  | * The remote system returned something that | 
|  | * was "not possible" during a protocol exchange. | 
|  | */ | 
|  | #define EX_PROTOCOL 76 | 
|  |  | 
|  | /** | 
|  | * Permission denied. | 
|  | * You did not have sufficient permission to perform the operation. | 
|  | * This is not intended for file system problems, which should use EX_NOINPUT or | 
|  | * EX_CANTCREAT, but rather for higher level permissions. | 
|  | */ | 
|  | #define EX_NOPERM 77 | 
|  |  | 
|  | /** | 
|  | * Configuration error. | 
|  | * Something was found in an unconfigured or misconfigured state. | 
|  | */ | 
|  | #define EX_CONFIG 78 | 
|  |  | 
|  | /** Maximum listed value. */ | 
|  | #define EX__MAX  78 |