core.h 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. // Copyright (c) Athena Dev Teams - Licensed under GNU GPL
  2. // For more information, see LICENCE in the main folder
  3. #ifndef _CORE_H_
  4. #define _CORE_H_
  5. extern int arg_c;
  6. extern char **arg_v;
  7. #if defined(BUILDBOT)
  8. extern int buildbotflag;
  9. #endif
  10. /// @see E_CORE_ST
  11. extern int runflag;
  12. extern char *SERVER_NAME;
  13. enum {
  14. ATHENA_SERVER_NONE = 0, // not defined
  15. ATHENA_SERVER_LOGIN = 1, // login server
  16. ATHENA_SERVER_CHAR = 2, // char server
  17. ATHENA_SERVER_INTER = 4, // inter server
  18. ATHENA_SERVER_MAP = 8, // map server
  19. };
  20. extern char SERVER_TYPE;
  21. extern int parse_console(const char* buf);
  22. extern const char *get_svn_revision(void);
  23. extern int do_init(int,char**);
  24. extern void set_server_type(void);
  25. extern void do_abort(void);
  26. extern void do_final(void);
  27. /// The main loop continues until runflag is CORE_ST_STOP
  28. enum E_CORE_ST
  29. {
  30. CORE_ST_STOP = 0,
  31. CORE_ST_RUN,
  32. CORE_ST_LAST
  33. };
  34. /// Called when a terminate signal is received. (Ctrl+C pressed)
  35. /// If NULL, runflag is set to CORE_ST_STOP instead.
  36. extern void (*shutdown_callback)(void);
  37. #endif /* _CORE_H_ */