s/qmail  3.3.23
Next generation secure email transport
cdbmake.h
Go to the documentation of this file.
1 #ifndef CDBMAKE_H
2 #define CDBMAKE_H
3 
4 #include "uint32.h"
5 
6 #define CDBMAKE_HPLIST 1000
7 
8 struct cdbmake_hp { uint32 h; uint32 p; } ;
9 
13  int num;
14 } ;
15 
16 struct cdbmake {
17  char final[2048];
18  uint32 count[256];
19  uint32 start[256];
21  struct cdbmake_hp *split; /* includes space for hash */
22  struct cdbmake_hp *hash;
23  uint32 numentries;
24 } ;
25 
26 void cdbmake_pack(unsigned char *,uint32);
27 #define CDBMAKE_HASHSTART ((uint32) 5381)
28 uint32 cdbmake_hashadd(uint32,unsigned int);
29 
30 void cdbmake_init(struct cdbmake *);
31 int cdbmake_add(struct cdbmake *,uint32,uint32,char *(*alloc)());
32 int cdbmake_split(struct cdbmake *,char *(*alloc)());
33 uint32 cdbmake_throw(struct cdbmake *,uint32,int);
34 
35 #endif
char * alloc(unsigned int n)
Definition: alloc.c:16
void cdbmake_pack(unsigned char *, uint32)
Definition: cdbmake_pack.c:3
int cdbmake_add(struct cdbmake *, uint32, uint32, char *(*alloc)())
Definition: cdbmake_add.c:12
#define CDBMAKE_HPLIST
Definition: cdbmake.h:6
struct cdbmake_hp * hash
Definition: cdbmake.h:22
struct cdbmake_hp * split
Definition: cdbmake.h:21
struct cdbmake_hplist * head
Definition: cdbmake.h:20
void cdbmake_init(struct cdbmake *)
Definition: cdbmake_add.c:4
struct cdbmake_hplist * next
Definition: cdbmake.h:12
uint32 cdbmake_hashadd(uint32, unsigned int)
Definition: cdbmake_hash.c:3
uint32 h
Definition: cdbmake.h:8
uint32 numentries
Definition: cdbmake.h:23
int cdbmake_split(struct cdbmake *, char *(*alloc)())
Definition: cdbmake_add.c:31
uint32 p
Definition: cdbmake.h:8
uint32 cdbmake_throw(struct cdbmake *, uint32, int)
Definition: cdbmake_add.c:79