PennMUSH Community

root/1.8.3/trunk/hdrs/dbio.h

Revision 919, 1.4 kB (checked in by shawnw, 1 year ago)

1.8.3p3

Line 
1 /**
2  * \file dbio.h
3  *
4  * \brief header files for functions for reading/writing database files
5  */
6
7 #ifndef __DBIO_H
8 #define __DBIO_H
9
10 #include <setjmp.h>
11 #include <stdio.h>
12 #ifdef HAVE_STDINT_H
13 #include <stdint.h>
14 #endif
15
16 extern jmp_buf db_err;
17
18 /** Run a function, and jump if error */
19 #define OUTPUT(fun) do { if ((fun) < 0) longjmp(db_err, 1); } while (0)
20
21
22 /* Output */
23 void putref(FILE * f, long int ref);
24 void putstring(FILE * f, const char *s);
25 void db_write_labeled_string(FILE * f, char const *label, char const *value);
26 void db_write_labeled_int(FILE * f, char const *label, int value);
27 void db_write_labeld_uint32(FILE *, char const *, uint32_t);
28 void db_write_labeled_dbref(FILE * f, char const *label, dbref value);
29
30 dbref db_write(FILE * f, int flag);
31 int db_paranoid_write(FILE * f, int flag);
32
33 /* Input functions */
34 char *getstring_noalloc(FILE * f);
35 long getref(FILE * f);
36 void db_read_this_labeled_string(FILE * f, const char *label, char **val);
37 void db_read_labeled_string(FILE * f, char **label, char **val);
38 void db_read_this_labeled_int(FILE * f, const char *label, int *val);
39 void db_read_this_labeled_uint32(FILE * f, const char *lable, uint32_t * val);
40 void db_read_labeled_int(FILE * f, char **label, int *val);
41 void db_read_labeled_uint32(FILE * f, char **label, uint32_t * val);
42 void db_read_this_labeled_dbref(FILE * f, const char *label, dbref *val);
43 void db_read_labeled_dbref(FILE * f, char **label, dbref *val);
44
45
46 dbref db_read(FILE * f);
47
48
49 #endif
50
Note: See TracBrowser for help on using the browser.