home · contact · privacy
7c9148dba55a415c2e61c296b7ae9ef62dff4e51
[plomrogue] / src / server / io.h
1 /* io.h
2  *
3  * This file is part of PlomRogue. PlomRogue is licensed under the GPL version 3
4  * or any later version. For details on its copyright, license, and warranties,
5  * see the file NOTICE in the root directory of the PlomRogue source package.
6  *
7  * Communication of the server with the outside world and its client via input,
8  * output and world state files.
9  */
10
11 #ifndef IO_H
12 #define IO_H
13
14
15
16 /* Return single \0-terminated string read from input queue (world.queue); or,
17  * if queue is empty and world.do_update is set, update world state file (and
18  * unset world.do_update) and write a single dot line to server out file, then
19  * read server in file for the next load of bytes to put onto the input queue.
20  * (Queueing ensures only complete messages are interpreted.)
21  */
22 extern char * io_round();
23
24 /* Write to savefile (atomically) god commands (one per line) to rebuild the
25  * current world state.
26  */
27 extern void save_world();
28
29
30
31 #endif