home · contact · privacy
Re-wrote large parts of the server client architecture. No more fifo.
[plomrogue] / src / server / cleanup.h
1 /* src/server/cleanup.h
2  *
3  * Stuff defining / performing the cleanup called by rexit.h's exit functions.
4  */
5
6 #ifndef CLEANUP_H
7 #define CLEANUP_H
8
9
10
11 /* set_cleanup_flag() sets any of the flags defined in cleanup_flag to announce
12  * the resources that need cleaning up upon program exit. It is to be called at
13  * the earliest moment possible after resource creation / initialization.
14  */
15 enum cleanup_flag
16 {
17     CLEANUP_FIFO            = 0x0001,
18     CLEANUP_WORLDSTATE      = 0x0002,
19     CLEANUP_MAP_OBJECT_DEFS = 0x0004,
20     CLEANUP_MAP_OBJECTS     = 0x0008,
21     CLEANUP_MAP_OBJECT_ACTS = 0x0010,
22     CLEANUP_IN              = 0x0020,
23     CLEANUP_OUT             = 0x0040
24 };
25
26 /* In addition, unset_cleanup_flag() may be used to unset flags. */
27 extern void set_cleanup_flag(enum cleanup_flag flag);
28 extern void unset_cleanup_flag(enum cleanup_flag flag);
29
30 /* Frees memory and unlinks some files. */
31 extern void cleanup();
32
33
34
35 #endif