summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2006-12-23 16:41:22 +0000
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2006-12-23 16:41:22 +0000
commitf9ef034ef59702e3d627d0077e93980e565f0ea7 (patch)
treeefb2830d2b08b0cd93e26df7ad5df8e68c36f7ca /include
parentde3978c580edabe667d0845ed6027c9ff25e461b (diff)
Fix exit in wrong place, and add new exitcodes.h
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6077 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'include')
-rw-r--r--include/exitcodes.h48
-rw-r--r--include/inspircd.h4
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);