lib/tty/exit/code.rb
# frozen_string_literal: true
module TTY
module Exit
# All reserved exit codes as constants
module Code
# No errors
SUCCESS = 0
# Catchall for general errors
ERROR = 1
# Missing keyword or command, or permission problem
# (and diff return code on a failed binary file comparison).
SHELL_MISUSE = 2
# The start base code to reduce possibility of clashing with other
# exit statuses that programs may already run.
BASE = 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.
USAGE_ERROR = BASE # 64
# The input data was incorrect in some way.
# This should only be used for user's data & not system files.
DATA_ERROR = BASE + 1 # 65
# An input file (not a system file) did not exist or was not readable.
NO_INPUT = BASE + 2 # 66
# The user specified did not exist. This might be used for mail
# addresses or remote logins.
NO_USER = BASE + 3 # 67
# The host specified did not exist. This is used in mail addresses
# or network requests.
NO_HOST = BASE + 4 # 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.
SERVICE_UNAVAILABLE = BASE + 5 # 69
# An internal software error has been detected. This should be
# limited to non-operating system related errors as possible.
SOFTWARE_ERROR = BASE + 6 # 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.
SYSTEM_ERROR = BASE + 7 # 71
# Some system file (e.g., /etc/passwd, /etc/utmp, etc.) does not exist,
# cannot be opened, or has some sort of error (e.g., syntax error).
SYSTEM_FILE_MISSING = BASE + 8 #72
# A (user specified) output file cannot be created.
CANT_CREATE = BASE + 9 # 73
# An error occurred while doing I/O on some file.
IO_ERROR = BASE + 10 # 74
# Temporary failure, indicating something that is not really an error.
# For example that a mailer could not create a connection, and the
# request should be reattempted later.
TEMP_FAIL = BASE + 11 # 75
# The remote system returned something that was 'not possible' during
# a protocol exchange.
PROTOCOL = BASE + 12 # 76
# You did not have sufficient permission to perform the operation.
# This is not intended for file system problems, which should use
# NO_INPUT or CANT_CREATE, but rather for higher level permissions.
NO_PERM = BASE + 13 # 77
# Something was found in an unconfigured or misconfigured state.
CONFIG_ERROR = BASE + 14 # 78
# Command invoked cannot execute. This may be due to permission
# issues.
CANNOT_EXECUTE = 126
# "command not found", possible typos in shell command or
# unrecognized characters
COMMAND_NOT_FOUND = 127
# The start base code for the system interrupt signals.
SIGNAL_BASE = 128
# Exit takes only integer args in the range 0 - 255,
# e.g. exit 3.14159 is invalid.
INVALID_ARGUMENT = SIGNAL_BASE
# This indicates that program received SIGHUP signal.
# It means that the controlling pseudo or virtual terminal
# has been closed.
HANGUP = SIGNAL_BASE + 1 # 129
# This indicates that program received SIGINT signal.
# An interrupt signal that by default this causes the
# process to terminate.
INTERRUPT = SIGNAL_BASE + 2 # 130
# This indicates that program received SIGQUIT signal.
QUIT = SIGNAL_BASE + 3 # 131
# This indicates that program received SIGQUIT signal.
ILLEGAL_INSTRUCTION = SIGNAL_BASE + 4 # 132
# This indicates that program received SIGTRAP signal.
TRACE_TRAP = SIGNAL_BASE + 5 # 133
# This indicates that program received SIGABRT signal.
ABORT = SIGNAL_BASE + 6 # 134
# This indicates that program received SIGKILL signal.
KILL = SIGNAL_BASE + 9 # 137
# This indicates that program received SIGBUS signal.
# Access to an undefined portion of a memory object
BUS_ERROR = SIGNAL_BASE + 10 # 138
# This indicates that program received SIGSEGV signal.
MEMORY_ERROR = SIGNAL_BASE + 11 # 139
# This indicates that program received SIGPIPE signal.
PIPE = SIGNAL_BASE + 13 # 141
# This indicates that program received SIGALARM signal.
ALARM = SIGNAL_BASE + 14 # 142
# This indicates that program received SIGUSR1 signal.
USER1 = SIGNAL_BASE + 30 # 158
# This indicates that program received SIGUSR2 signal.
USER2 = SIGNAL_BASE + 31 # 159
end # Code
end # Exit
end # TTY