equal
deleted
inserted
replaced
|
1 /* Public domain. */ |
|
2 |
|
3 #ifndef CDB_MAKE_H |
|
4 #define CDB_MAKE_H |
|
5 |
|
6 #include "buffer.h" |
|
7 #include "uint32.h" |
|
8 |
|
9 #define CDB_HPLIST 1000 |
|
10 |
|
11 struct cdb_hp { uint32 h; uint32 p; } ; |
|
12 |
|
13 struct cdb_hplist { |
|
14 struct cdb_hp hp[CDB_HPLIST]; |
|
15 struct cdb_hplist *next; |
|
16 int num; |
|
17 } ; |
|
18 |
|
19 struct cdb_make { |
|
20 char bspace[8192]; |
|
21 char final[2048]; |
|
22 uint32 count[256]; |
|
23 uint32 start[256]; |
|
24 struct cdb_hplist *head; |
|
25 struct cdb_hp *split; /* includes space for hash */ |
|
26 struct cdb_hp *hash; |
|
27 uint32 numentries; |
|
28 buffer b; |
|
29 uint32 pos; |
|
30 int fd; |
|
31 } ; |
|
32 |
|
33 extern int cdb_make_start(struct cdb_make *,int); |
|
34 extern int cdb_make_addbegin(struct cdb_make *,unsigned int,unsigned int); |
|
35 extern int cdb_make_addend(struct cdb_make *,unsigned int,unsigned int,uint32); |
|
36 extern int cdb_make_add(struct cdb_make *,char *,unsigned int,char *,unsigned int); |
|
37 extern int cdb_make_finish(struct cdb_make *); |
|
38 |
|
39 #endif |