diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/exitcodes.h | 48 | ||||
-rw-r--r-- | include/inspircd.h | 4 |
2 files changed, 50 insertions, 2 deletions
diff --git a/include/exitcodes.h b/include/exitcodes.h new file mode 100644 index 000000000..b42222697 --- /dev/null +++ b/include/exitcodes.h @@ -0,0 +1,48 @@ +#ifndef __EXITCODE_H__ +#define __EXITCODE_H__ + +/** Valid exit codes to be used with InspIRCd::Exit() + * */ +enum ExitStatus +{ + EXIT_STATUS_NOERROR = 0, + EXIT_STATUS_DIE = 1, + EXIT_STATUS_FAILED_EXEC = 2, + EXIT_STATUS_INTERNAL = 3, + EXIT_STATUS_CONFIG = 4, + EXIT_STATUS_LOG = 5, + EXIT_STATUS_FORK = 6, + EXIT_STATUS_ARGV = 7, + EXIT_STATUS_BIND = 8, + EXIT_STATUS_PID = 9, + EXIT_STATUS_SOCKETENGINE = 10, + EXIT_STATUS_ROOT = 11, + EXIT_STATUS_DIETAG = 12, + EXIT_STATUS_MODULE = 13, + EXIT_STATUS_SIGTERM = 15 /* Note: dont move this value. It corresponds with the value of #define SIGTERM. */ +}; + +/** Array that maps exit codes (ExitStatus types) to + * * human-readable strings to be shown on shutdown. + * */ +const char* ExitCodes[] = +{ + "No error", /* 0 */ + "DIE command", /* 1 */ + "execv() failed", /* 2 */ + "Internal error", /* 3 */ + "Config file error", /* 4 */ + "Logfile error", /* 5 */ + "Fork failed", /* 6 */ + "Bad commandline parameters", /* 7 */ + "No ports could be bound", /* 8 */ + "Can't write PID file", /* 9 */ + "SocketEngine could not initialize", /* 10 */ + "Refusing to start up as root", /* 11 */ + "Found a <die> tag!", /* 12 */ + "Couldn't load module on startup", /* 13 */ + "", /* 14 */ + "Received SIGTERM", /* 15 */ +}; + +#endif diff --git a/include/inspircd.h b/include/inspircd.h index a15c1fd68..4aa61e943 100644 --- a/include/inspircd.h +++ b/include/inspircd.h @@ -26,8 +26,7 @@ #include "command_parse.h" #include "snomasks.h" -/** Returned by some functions to indicate failure, - * and the exit code of the program if it terminates. +/** Returned by some functions to indicate failure. */ #define ERROR -1 @@ -655,6 +654,7 @@ class InspIRCd : public classbase /** Causes the server to exit immediately * @param The exit code to give to the operating system + * (See the ExitStatus enum for valid values) */ static void Exit(int status); |