diff options
Diffstat (limited to 'src/common/core.h')
-rw-r--r-- | src/common/core.h | 47 |
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_ */ |