]>
git.saurik.com Git - apple/libc.git/blob - include/sysexits.h
ae18a37699d669b59d239e9ae676aa9f6e657bcc
   2  * Copyright (c) 2000 Apple Computer, Inc. All rights reserved. 
   4  * @APPLE_LICENSE_HEADER_START@ 
   6  * Copyright (c) 1999-2003 Apple Computer, Inc.  All Rights Reserved. 
   8  * This file contains Original Code and/or Modifications of Original Code 
   9  * as defined in and that are subject to the Apple Public Source License 
  10  * Version 2.0 (the 'License'). You may not use this file except in 
  11  * compliance with the License. Please obtain a copy of the License at 
  12  * http://www.opensource.apple.com/apsl/ and read it before using this 
  15  * The Original Code and all software distributed under the License are 
  16  * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 
  17  * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 
  18  * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 
  19  * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 
  20  * Please see the License for the specific language governing rights and 
  21  * limitations under the License. 
  23  * @APPLE_LICENSE_HEADER_END@ 
  26  * Copyright (c) 1987, 1993 
  27  *      The Regents of the University of California.  All rights reserved. 
  29  * Redistribution and use in source and binary forms, with or without 
  30  * modification, are permitted provided that the following conditions 
  32  * 1. Redistributions of source code must retain the above copyright 
  33  *    notice, this list of conditions and the following disclaimer. 
  34  * 2. Redistributions in binary form must reproduce the above copyright 
  35  *    notice, this list of conditions and the following disclaimer in the 
  36  *    documentation and/or other materials provided with the distribution. 
  37  * 3. All advertising materials mentioning features or use of this software 
  38  *    must display the following acknowledgement: 
  39  *      This product includes software developed by the University of 
  40  *      California, Berkeley and its contributors. 
  41  * 4. Neither the name of the University nor the names of its contributors 
  42  *    may be used to endorse or promote products derived from this software 
  43  *    without specific prior written permission. 
  45  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 
  46  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
  47  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
  48  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 
  49  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 
  50  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 
  51  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 
  52  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 
  53  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 
  54  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 
  57  *      @(#)sysexits.h  8.1 (Berkeley) 6/2/93 
  64  *  SYSEXITS.H -- Exit status codes for system programs. 
  66  *      This include file attempts to categorize possible error 
  67  *      exit statuses for system programs, notably delivermail 
  68  *      and the Berkeley network. 
  70  *      Error numbers begin at EX__BASE to reduce the possibility of 
  71  *      clashing with other exit statuses that random programs may 
  72  *      already return.  The meaning of the codes is approximately 
  75  *      EX_USAGE -- The command was used incorrectly, e.g., with 
  76  *              the wrong number of arguments, a bad flag, a bad 
  77  *              syntax in a parameter, or whatever. 
  78  *      EX_DATAERR -- The input data was incorrect in some way. 
  79  *              This should only be used for user's data & not 
  81  *      EX_NOINPUT -- An input file (not a system file) did not 
  82  *              exist or was not readable.  This could also include 
  83  *              errors like "No message" to a mailer (if it cared 
  85  *      EX_NOUSER -- The user specified did not exist.  This might 
  86  *              be used for mail addresses or remote logins. 
  87  *      EX_NOHOST -- The host specified did not exist.  This is used 
  88  *              in mail addresses or network requests. 
  89  *      EX_UNAVAILABLE -- A service is unavailable.  This can occur 
  90  *              if a support program or file does not exist.  This 
  91  *              can also be used as a catchall message when something 
  92  *              you wanted to do doesn't work, but you don't know 
  94  *      EX_SOFTWARE -- An internal software error has been detected. 
  95  *              This should be limited to non-operating system related 
  97  *      EX_OSERR -- An operating system error has been detected. 
  98  *              This is intended to be used for such things as "cannot 
  99  *              fork", "cannot create pipe", or the like.  It includes 
 100  *              things like getuid returning a user that does not 
 101  *              exist in the passwd file. 
 102  *      EX_OSFILE -- Some system file (e.g., /etc/passwd, /etc/utmp, 
 103  *              etc.) does not exist, cannot be opened, or has some 
 104  *              sort of error (e.g., syntax error). 
 105  *      EX_CANTCREAT -- A (user specified) output file cannot be 
 107  *      EX_IOERR -- An error occurred while doing I/O on some file. 
 108  *      EX_TEMPFAIL -- temporary failure, indicating something that 
 109  *              is not really an error.  In sendmail, this means 
 110  *              that a mailer (e.g.) could not create a connection, 
 111  *              and the request should be reattempted later. 
 112  *      EX_PROTOCOL -- the remote system returned something that 
 113  *              was "not possible" during a protocol exchange. 
 114  *      EX_NOPERM -- You did not have sufficient permission to 
 115  *              perform the operation.  This is not intended for 
 116  *              file system problems, which should use NOINPUT or 
 117  *              CANTCREAT, but rather for higher level permissions. 
 120 #define EX_OK           0       /* successful termination */ 
 122 #define EX__BASE        64      /* base value for error messages */ 
 124 #define EX_USAGE        64      /* command line usage error */ 
 125 #define EX_DATAERR      65      /* data format error */ 
 126 #define EX_NOINPUT      66      /* cannot open input */ 
 127 #define EX_NOUSER       67      /* addressee unknown */ 
 128 #define EX_NOHOST       68      /* host name unknown */ 
 129 #define EX_UNAVAILABLE  69      /* service unavailable */ 
 130 #define EX_SOFTWARE     70      /* internal software error */ 
 131 #define EX_OSERR        71      /* system error (e.g., can't fork) */ 
 132 #define EX_OSFILE       72      /* critical OS file missing */ 
 133 #define EX_CANTCREAT    73      /* can't create (user) output file */ 
 134 #define EX_IOERR        74      /* input/output error */ 
 135 #define EX_TEMPFAIL     75      /* temp failure; user is invited to retry */ 
 136 #define EX_PROTOCOL     76      /* remote error in protocol */ 
 137 #define EX_NOPERM       77      /* permission denied */ 
 138 #define EX_CONFIG       78      /* configuration error */ 
 140 #define EX__MAX 78      /* maximum listed value */ 
 142 #endif /* !_SYSEXITS_H_ */