ucspi-ssl  0.99e
TLS encryption for IPv6 communication
cdb.h
Go to the documentation of this file.
1 /* Public domain. */
2 
3 #ifndef CDB_H
4 #define CDB_H
5 
6 #include "uint32.h"
7 
8 #define CDB_HASHSTART 5381
9 extern uint32 cdb_hashadd(uint32,unsigned char);
10 extern uint32 cdb_hash(const char *,unsigned int);
11 
12 struct cdb {
13  char *map; /* 0 if no map is available */
14  int fd;
15  uint32 size; /* initialized if map is nonzero */
16  uint32 loop; /* number of hash slots searched under this key */
17  uint32 khash; /* initialized if loop is nonzero */
18  uint32 kpos; /* initialized if loop is nonzero */
19  uint32 hpos; /* initialized if loop is nonzero */
20  uint32 hslots; /* initialized if loop is nonzero */
21  uint32 dpos; /* initialized if cdb_findnext() returns 1 */
22  uint32 dlen; /* initialized if cdb_findnext() returns 1 */
23 } ;
24 
25 extern void cdb_free(struct cdb *);
26 extern void cdb_init(struct cdb *,int fd);
27 
28 extern int cdb_read(struct cdb *,char *,unsigned int,uint32);
29 
30 extern void cdb_findstart(struct cdb *);
31 extern int cdb_findnext(struct cdb *,const char *,unsigned int);
32 extern int cdb_find(struct cdb *,const char *,unsigned int);
33 
34 #define cdb_datapos(c) ((c)->dpos)
35 #define cdb_datalen(c) ((c)->dlen)
36 
37 #endif
uint32 kpos
Definition: cdb.h:18
uint32 hpos
Definition: cdb.h:19
uint32 size
Definition: cdb.h:15
int fd
Definition: cdb.h:14
Definition: cdb.h:12
void cdb_init(struct cdb *, int fd)
Definition: cdb.c:25
uint32 hslots
Definition: cdb.h:20
int cdb_read(struct cdb *, char *, unsigned int, uint32)
Definition: cdb.c:44
uint32 dpos
Definition: cdb.h:21
int cdb_findnext(struct cdb *, const char *, unsigned int)
Definition: cdb.c:87
uint32 loop
Definition: cdb.h:16
int cdb_find(struct cdb *, const char *, unsigned int)
Definition: cdb.c:132
uint32 khash
Definition: cdb.h:17
uint32 dlen
Definition: cdb.h:22
char * map
Definition: cdb.h:13
void cdb_free(struct cdb *)
Definition: cdb.c:12
uint32 cdb_hashadd(uint32, unsigned char)
Definition: cdb_hash.c:5
void cdb_findstart(struct cdb *)
Definition: cdb.c:20
uint32 cdb_hash(const char *, unsigned int)
Definition: cdb_hash.c:11