Crate exit_code [] [src]

Common exit codes for applications.

Example

extern crate exit_code;

::std::process::exit(exit_code::SUCCESS);

Constants

CANNOT_CREATE

A (user specified) output file cannot be created.

CONFIG_ERROR

Something was found in an unconfigured or misconfigured state.

DATA_ERROR

The input data was incorrect in some way. This should only be used for user’s data and not system file.

FAILURE

Unsuccessful termination. This is a catch-all error code that should only be used by processes if the reason for the failure is unknown.

IO_ERROR

An error occurred while doing I/O on some file.

NO_HOST

The host specified did not exist. This is used in mail addresses of network requests.

NO_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).

NO_PERMISSION

Insufficient permissions to perform an operation. This is not intended for file system problems, which should use NO_INPUT or CANNOT_CREATE, but rather for higher level permissions.

NO_USER

The user specified did not exist. This might be used for mail addresses or remote logins.

OS_ERROR

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.

OS_FILE_ERROR

Some system file (e.g., /etc/passwd, /var/run/utmp, etc.) does not exist, cannot be opened, or has some sort of error (e.g., syntax error).

PROTOCOL_ERROR

The remote system returned something that was “not possible” during a protocol exchanged.

SERVICE_UNAVAILABLE

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.

SOFTWARE_ERROR

An internal software error has been detected. This should be limited to non-operating system related errors.

SUCCESS

Successful termination.

TEMPORARY_FAILURE

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.

USAGE_ERROR

The command was used incorrectly, e.g., with the wrong number of arguments, a bad flag, a bad syntax in a parameter, or whatever.

Functions

is_reserved

Check if the given exit code is reserved and has a special meaning in a shells.

is_valid

Check if the given exit code is in [0..256].