-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Exit codes as defined by BSD
--   
--   Expose the exit codes defined by BSD in sysexits.h to the Haskell
--   world.
@package exit-codes
@version 1.0.0


-- | These are Haskell values generated by the C pre processor which expose
--   exit codes as defined by the BSD project in "sysexits.h".
--   
--   Please note that the values shown in the documentation are also
--   inserted by the preprocessor and thus technically only valid for the
--   platform this documentation was built on.
--   
--   As may be evident from the structure here both the integer value for
--   the exit code as well as the <a>ExitCode</a> value (to be used with
--   <a>exitWith</a>) are exposed.
--   
--   The format for a given code is:
--   
--   <ul>
--   <li><i>EX_ERRORNAME</i> Error code CPP macro as defined by the
--   <tt>sysexits.h</tt> header</li>
--   <li><i>exErrorName</i> <a>Int</a> value for the error</li>
--   <li><i>codeErrorName</i> <a>ExitCode</a> value for the error</li>
--   </ul>
--   
--   The documentation snippets I copied from
--   <a>https://www.freebsd.org/cgi/man.cgi?query=sysexits&amp;apropos=0&amp;sektion=0&amp;manpath=FreeBSD+4.3-RELEASE&amp;format=html</a>.
module System.Exit.Codes

-- | successful termination (0)
--   
--   The successful exit is always indicated by a status of 0, or
--   <a>exOk</a>.
exOk :: Int

-- | successful termination (0)
codeOk :: ExitCode

-- | command line usage error (64)
--   
--   The command was used incorrectly, e.g., with the wrong number of
--   arguments, a bad flag, a bad syntax in a parameter, or whatever.
exUsage :: Int

-- | command line usage error (64)
codeUsage :: ExitCode

-- | data format error (65)
--   
--   The input data was incorrect in some way. This should only be used for
--   user's data and not system files.
exDataErr :: Int

-- | data format error (65)
codeDataErr :: ExitCode

-- | cannot open input (66)
--   
--   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).
exNoInput :: Int

-- | cannot open input (66)
codeNoInput :: ExitCode

-- | addressee unknown (67)
--   
--   The user specified did not exist. This might be used for mail
--   addresses or remote logins.
exNoUser :: Int

-- | addressee unknown (67)
codeNoUser :: ExitCode

-- | host name unknown (68)
--   
--   The host specified did not exist. This is used in mail addresses or
--   network requests.
exNoHost :: Int

-- | host name unknown (68)
codeNoHost :: ExitCode

-- | service unavailable (69)
--   
--   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.
exUnavailable :: Int

-- | service unavailable (69)
codeUnavaiable :: ExitCode

-- | internal software error (70)
--   
--   An internal software error has been detected. This should be limited
--   to non-operating system related errors as possible.
exSoftware :: Int

-- | internal software error (70)
codeSoftware :: ExitCode

-- | system error (71)
--   
--   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.
exOsErr :: Int

-- | system error (71)
codeOsErr :: ExitCode

-- | critical OS file missing (72)
--   
--   Some system file (e.g., <tt><i>etc</i>passwd</tt>,
--   <tt><i>var</i>run/utmp</tt>, etc.) does not exist, cannot be opened,
--   or has some sort of error (e.g., syntax error).
exOsFile :: Int

-- | critical OS file missing (72)
codeOsFile :: ExitCode

-- | can't create (user) output file (73)
--   
--   A (user specified) output file cannot be created.
exCantCreate :: Int

-- | can't create (user) output file (73)
codeCantCreate :: ExitCode

-- | input/output error (74)
--   
--   An error occurred while doing I/O on some file.
exIOErr :: Int

-- | input/output error (74)
codeIOErr :: ExitCode

-- | temp failure; user is invited to retry (75)
--   
--   Temporary failure, indicating something that is not really an error.
--   In sendmail, this means that a mailer (e.g.) could not create a
--   connection, and the request should be reattempted later.
exTempFail :: Int

-- | temp failure; user is invited to retry (75)
codeTempFail :: ExitCode

-- | remote error in protocol (76)
--   
--   The remote system returned something that was "not possible" during a
--   protocol exchange.
exProtocol :: Int

-- | remote error in protocol (76)
codeProtocol :: ExitCode

-- | permission denied (77)
--   
--   You did not have sufficient permission to perform the operation. This
--   is not intended for file system problems, which should use
--   <a>exNoInput</a> or <a>exNoPerm</a>, but rather for higher level
--   permissions.
exNoPerm :: Int

-- | permission denied (77)
codeNoPerm :: ExitCode

-- | configuration error (78)
--   
--   Something was found in an unconfigured or misconfigured state.
exConfig :: Int

-- | configuration error (78)
codeConfig :: ExitCode

-- | base value for error messages (64)
--   
--   Error numbers begin at <a>exBase</a> to reduce the possibility of
--   clashing with other exit statuses that random programs may already
--   return.
exBase :: Int

-- | maximum listed value (78)
exMax :: Int
