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.
7 * Communication of the server with the outside world and its client via input,
8 * output and world state files.
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, and io_loop()'s
21 * server tests only happening in a multi-second interval.)
23 extern char * io_round();
25 /* Write to savefile (atomically) god commands (one per line) to rebuild the
26 * current world state.
28 extern void save_world();