home · contact · privacy
Server: Change read_config_file() parameter order (stylistic reasons).
[plomrogue] / src / server / io.h
index 02f8e9017d2dadc7c2bc6b6581f6b8a3f0d4193c..ad1344fcabf9d9bfee69e2a290198b6f1a124ad8 100644 (file)
@@ -7,8 +7,28 @@
 #ifndef IO_H
 #define IO_H
 
+#include <stddef.h> /* size_t */
+#include <stdint.h> /* uint8_t, uint32_t */
+#include <stdio.h> /* FILE */
+#include "cleanup.h" /* enum cleanup_flag */
 
 
+
+/* Wrapper to reading in config files from "path" for DB entries of "size
+ * starting at "entry_start", to be unset by "cleanup" and reading in individual
+ * entry data line by line via "read"(). Assumes all entries start with the
+ * items collected in the EntrySkeleton struct.
+ */
+struct EntrySkeleton
+{
+    uint8_t id;
+    struct EntrySkeleton * next;
+};
+extern void read_config_file(char * path, enum cleanup_flag cleanup,
+                             void (* read) (char *, uint32_t, char *,
+                                            struct EntrySkeleton *, FILE *),
+                             size_t size, struct EntrySkeleton ** entry_start);
+
 /* Return single \0-terminated string read from input queue (world.queue); or,
  * if queue is empty and world.turn is unequal world.last_update_turn, update
  * world state file at world.path_worldstate (and update world.last_update_turn