summaryrefslogtreecommitdiff
path: root/src/common/core.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/common/core.h')
-rw-r--r--src/common/core.h47
1 files changed, 47 insertions, 0 deletions
diff --git a/src/common/core.h b/src/common/core.h
new file mode 100644
index 000000000..d48962c94
--- /dev/null
+++ b/src/common/core.h
@@ -0,0 +1,47 @@
+// Copyright (c) Athena Dev Teams - Licensed under GNU GPL
+// For more information, see LICENCE in the main folder
+
+#ifndef _CORE_H_
+#define _CORE_H_
+
+extern int arg_c;
+extern char **arg_v;
+
+#if defined(BUILDBOT)
+ extern int buildbotflag;
+#endif
+
+/// @see E_CORE_ST
+extern int runflag;
+extern char *SERVER_NAME;
+
+enum {
+ ATHENA_SERVER_NONE = 0, // not defined
+ ATHENA_SERVER_LOGIN = 1, // login server
+ ATHENA_SERVER_CHAR = 2, // char server
+ ATHENA_SERVER_INTER = 4, // inter server
+ ATHENA_SERVER_MAP = 8, // map server
+};
+
+extern char SERVER_TYPE;
+
+extern int parse_console(const char* buf);
+extern const char *get_svn_revision(void);
+extern int do_init(int,char**);
+extern void set_server_type(void);
+extern void do_abort(void);
+extern void do_final(void);
+
+/// The main loop continues until runflag is CORE_ST_STOP
+enum E_CORE_ST
+{
+ CORE_ST_STOP = 0,
+ CORE_ST_RUN,
+ CORE_ST_LAST
+};
+
+/// Called when a terminate signal is received. (Ctrl+C pressed)
+/// If NULL, runflag is set to CORE_ST_STOP instead.
+extern void (*shutdown_callback)(void);
+
+#endif /* _CORE_H_ */