File: sdbm.h

package info (click to toggle)
epic5 3.0.3-1
  • links: PTS
  • area: main
  • in suites: forky, sid
  • size: 5,328 kB
  • sloc: ansic: 75,810; makefile: 648; ruby: 227; python: 215; sh: 78; perl: 13
file content (32 lines) | stat: -rw-r--r-- 709 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
/*
 * sdbm - ndbm work-alike hashed database library
 * based on Per-Ake Larson's Dynamic Hashing algorithms. BIT 18 (1978).
 * author: oz@nexus.yorku.ca
 * status: public domain. 
 */
struct SDBM;
typedef struct SDBM SDBM;

typedef struct {
	const char *dptr;
	int dsize;
} Datum;

/*
 * flags to sdbm_store
 */
#define DBM_INSERT	0
#define DBM_REPLACE	1

/*
 * ndbm interface
 */
extern SDBM *	sdbm_open (const char *, int, int);
extern void 	sdbm_close (SDBM *);
extern Datum 	sdbm_fetch (SDBM *, Datum);
extern int 	sdbm_delete (SDBM *, Datum);
extern int 	sdbm_store (SDBM *, Datum, Datum, int);
extern Datum 	sdbm_firstkey (SDBM *);
extern Datum 	sdbm_nextkey (SDBM *);
extern int	sdbm_error (SDBM *);