Mercurial > hg > cdb
comparison cdb.h @ 12:0e21568dec72
allocate a Cdb struct rather than using a single static one,
note that cdb_free does _not_ call alloc_free, just releases the map,
in fact alloc_free is not called anywhere!
| author | Henry S. Thompson <ht@inf.ed.ac.uk> |
|---|---|
| date | Mon, 03 Feb 2025 17:31:23 +0000 |
| parents | 41b9b6a160d1 |
| children | 70f4df5a7283 |
comparison
equal
deleted
inserted
replaced
| 11:978eaa166609 | 12:0e21568dec72 |
|---|---|
| 24 | 24 |
| 25 typedef struct cdb Cdb; | 25 typedef struct cdb Cdb; |
| 26 | 26 |
| 27 extern Cdb* cdb_new(void); | 27 extern Cdb* cdb_new(void); |
| 28 | 28 |
| 29 extern void cdb_free(Cdb *); | 29 extern void cdb_clear(Cdb *); |
| 30 extern void cdb_init(Cdb *,int fd); | 30 extern void cdb_init(Cdb *,int fd); |
| 31 | 31 |
| 32 extern int cdb_read(Cdb *,char *,unsigned int,uint32); | 32 extern int cdb_read(Cdb *,char *,unsigned int,uint32); |
| 33 | 33 |
| 34 extern void cdb_findstart(Cdb *); | 34 extern void cdb_findstart(Cdb *); |
| 35 extern int cdb_findnext(Cdb *,char *,unsigned int); | 35 extern int cdb_findnext(Cdb *,char *,unsigned int); |
| 36 extern int cdb_find(Cdb *,char *,unsigned int); | 36 extern int cdb_find(Cdb *,char *,unsigned int); |
| 37 | 37 |
| 38 extern uint32 cdb_pos(); | 38 /*extern uint32 cdb_pos(); |
| 39 extern uint32 cdb_len(); | 39 extern uint32 cdb_len();*/ |
| 40 #define cdb_pos(c) ((c)->dpos) | |
| 41 #define cdb_len(c) ((c)->dlen) | |
| 40 | 42 |
| 41 extern char *cdb_mmap(); | 43 /*extern char *cdb_mmap(); |
| 42 extern uint32 cdb_msize(); | 44 extern uint32 cdb_msize();*/ |
| 43 | 45 #define cdb_mmap(c) ((c)->map) |
| 46 #define cdb_msize(c) ((c)->size) | |
| 44 | 47 |
| 45 #define cdb_datapos(c) ((c)->dpos) | 48 #define cdb_datapos(c) ((c)->dpos) |
| 46 #define cdb_datalen(c) ((c)->dlen) | 49 #define cdb_datalen(c) ((c)->dlen) |
| 47 | 50 |
| 48 #endif | 51 #endif |
