EDK2 doxygen online documents - Firmware Encoding Index 1
EDK2 doxygen online documents - Firmware Encoding Index

StdLib/Include/sysexits.h

Go to the documentation of this file.
00001 
00040 #ifndef _SYSEXITS_H_
00041 #define _SYSEXITS_H_
00042 
00043 /*
00044  *  SYSEXITS.H -- Exit status codes for system programs.
00045  *
00046  *  This include file attempts to categorize possible error
00047  *  exit statuses for system programs, notably delivermail
00048  *  and the Berkeley network.
00049  *
00050  *  Error numbers begin at EX__BASE to reduce the possibility of
00051  *  clashing with other exit statuses that random programs may
00052  *  already return.  The meaning of the codes is approximately
00053  *  as follows:
00054  *
00055  *  EX_USAGE -- The command was used incorrectly, e.g., with
00056  *    the wrong number of arguments, a bad flag, a bad
00057  *    syntax in a parameter, or whatever.
00058  *  EX_DATAERR -- The input data was incorrect in some way.
00059  *    This should only be used for user's data & not
00060  *    system files.
00061  *  EX_NOINPUT -- An input file (not a system file) did not
00062  *    exist or was not readable.  This could also include
00063  *    errors like "No message" to a mailer (if it cared
00064  *    to catch it).
00065  *  EX_NOUSER -- The user specified did not exist.  This might
00066  *    be used for mail addresses or remote logins.
00067  *  EX_NOHOST -- The host specified did not exist.  This is used
00068  *    in mail addresses or network requests.
00069  *  EX_UNAVAILABLE -- A service is unavailable.  This can occur
00070  *    if a support program or file does not exist.  This
00071  *    can also be used as a catchall message when something
00072  *    you wanted to do doesn't work, but you don't know
00073  *    why.
00074  *  EX_SOFTWARE -- An internal software error has been detected.
00075  *    This should be limited to non-operating system related
00076  *    errors as possible.
00077  *  EX_OSERR -- An operating system error has been detected.
00078  *    This is intended to be used for such things as "cannot
00079  *    fork", "cannot create pipe", or the like.  It includes
00080  *    things like getuid returning a user that does not
00081  *    exist in the passwd file.
00082  *  EX_OSFILE -- Some system file (e.g., /etc/passwd, /etc/utmp,
00083  *    etc.) does not exist, cannot be opened, or has some
00084  *    sort of error (e.g., syntax error).
00085  *  EX_CANTCREAT -- A (user specified) output file cannot be
00086  *    created.
00087  *  EX_IOERR -- An error occurred while doing I/O on some file.
00088  *  EX_TEMPFAIL -- temporary failure, indicating something that
00089  *    is not really an error.  In sendmail, this means
00090  *    that a mailer (e.g.) could not create a connection,
00091  *    and the request should be reattempted later.
00092  *  EX_PROTOCOL -- the remote system returned something that
00093  *    was "not possible" during a protocol exchange.
00094  *  EX_NOPERM -- You did not have sufficient permission to
00095  *    perform the operation.  This is not intended for
00096  *    file system problems, which should use NOINPUT or
00097  *    CANTCREAT, but rather for higher level permissions.
00098  */
00099 
00100 #define EX_OK   0 /* successful termination */
00101 
00102 #define EX__BASE  64  /* base value for error messages */
00103 
00104 #define EX_USAGE  64  /* command line usage error */
00105 #define EX_DATAERR  65  /* data format error */
00106 #define EX_NOINPUT  66  /* cannot open input */
00107 #define EX_NOUSER 67  /* addressee unknown */
00108 #define EX_NOHOST 68  /* host name unknown */
00109 #define EX_UNAVAILABLE  69  /* service unavailable */
00110 #define EX_SOFTWARE 70  /* internal software error */
00111 #define EX_OSERR  71  /* system error (e.g., can't fork) */
00112 #define EX_OSFILE 72  /* critical OS file missing */
00113 #define EX_CANTCREAT  73  /* can't create (user) output file */
00114 #define EX_IOERR  74  /* input/output error */
00115 #define EX_TEMPFAIL 75  /* temp failure; user is invited to retry */
00116 #define EX_PROTOCOL 76  /* remote error in protocol */
00117 #define EX_NOPERM 77  /* permission denied */
00118 #define EX_CONFIG 78  /* configuration error */
00119 
00120 #define EX__MAX 78  /* maximum listed value */
00121 
00122 #endif /* !_SYSEXITS_H_ */
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Defines