src/mmdb.h

Go to the documentation of this file.
00001 /*
00002  * db_rw.h
00003  */
00004 #ifndef __MMDB_H__
00005 #define __MMDB_H__
00006 #include "copyright.h"
00007 
00008 struct mmdb_t {
00009         void *base;
00010         void *ppos;
00011         void *end;
00012         int length;
00013         int fd;
00014 };
00015 
00016 struct mmdb_t *mmdb_open_read(char *filename);
00017 struct mmdb_t *mmdb_open_write(char *filename);
00018 void mmdb_resize(struct mmdb_t *, int length);
00019 void mmdb_close(struct mmdb_t *);
00020 void *mmdb_read(struct mmdb_t *, void *dest, int length);
00021 void mmdb_write(struct mmdb_t *, void *data, int length);
00022 
00023 void mmdb_write_opaque(struct mmdb_t *, void *data, int length);
00024 void mmdb_read_opaque(struct mmdb_t *, void *dest, int max);
00025 void mmdb_write_string(struct mmdb_t *, char *data);
00026 char *mmdb_read_string(struct mmdb_t *);
00027 
00028 void mmdb_write_uint(struct mmdb_t *, unsigned int); /* Deprecated */
00029 unsigned int mmdb_read_uint(struct mmdb_t *); /* Deprecated */
00030 
00031 #define mmdb_write_uint8(db,val) mmdb_write_uint32(db, (uint32_t)val);
00032 #define mmdb_read_uint8(db) (uint8_t)mmdb_read_uint32(db);
00033 #define mmdb_write_uint16(db,val) mmdb_write_uint32(db, (uint32_t)val);
00034 #define mmdb_read_uint16(db) (uint8_t)mmdb_read_uint32(db);
00035 
00036 void mmdb_write_uint32(struct mmdb_t *, uint32_t);
00037 uint32_t mmdb_read_uint32(struct mmdb_t *);
00038 void mmdb_write_uint64(struct mmdb_t *, uint64_t);
00039 uint64_t mmdb_read_uint64(struct mmdb_t *);
00040 
00041 void mmdb_write_single(struct mmdb_t *, float);
00042 float mmdb_read_single(struct mmdb_t *);
00043 void mmdb_write_double(struct mmdb_t *, double);
00044 double mmdb_read_double(struct mmdb_t *);
00045 
00046 
00047 #endif

Generated on Mon May 28 04:25:25 2007 for BattletechMUX by  doxygen 1.4.7