2015-06-29 22:44:34 +02:00
|
|
|
/* $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
|
|
|
|
*/
|
|
|
|
|
2018-08-22 01:10:48 +02:00
|
|
|
#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.
|
|
|
|
*/
|
2015-06-29 22:44:34 +02:00
|
|
|
|
2016-07-22 23:56:18 +02:00
|
|
|
#include <sys/cdefs.h>
|
|
|
|
|
2018-08-22 01:10:48 +02:00
|
|
|
/** 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
|