Commit | Line | Data |
---|---|---|
a2e80c59 | 1 | /* ndbm.h 4.2 83/12/20 */ |
d1e097f8 RC |
2 | |
3 | /* | |
4 | * (New) Hashed key data base library (-lndbm). | |
5 | */ | |
6 | #define PBLKSIZ 1024 | |
7 | #define DBLKSIZ 4096 | |
8 | ||
9 | typedef struct { | |
10 | int db_dirf; /* open directory file */ | |
11 | int db_pagf; /* open page file */ | |
12 | int db_flags; | |
13 | #define _DB_RDONLY 0x1 /* data base open read-only */ | |
14 | long db_maxbno; /* last ``block'' in page file */ | |
15 | long db_bitno; | |
16 | long db_hmask; | |
17 | long db_blkno; /* current page to read/write */ | |
18 | long db_pagbno; /* current page in pagbuf */ | |
19 | char db_pagbuf[PBLKSIZ]; /* page file block buffer */ | |
20 | long db_dirbno; /* current block in dirbuf */ | |
21 | char db_dirbuf[DBLKSIZ]; /* directory file block buffer */ | |
22 | } DBM; | |
23 | ||
24 | #define dbrdonly(db) ((db)->db_flags&_DB_RDONLY) != 0 | |
25 | ||
26 | typedef struct { | |
27 | char *dptr; | |
28 | int dsize; | |
29 | } datum; | |
30 | ||
a2e80c59 RC |
31 | /* flags to dbmstore() */ |
32 | #define DB_INSERT 0 | |
33 | #define DB_REPLACE 1 | |
34 | ||
d1e097f8 RC |
35 | datum dbmfetch(); |
36 | datum dbmfirstkey(); | |
37 | datum dbmnextkey(); | |
38 | long dbmforder(); | |
39 | int dbmdelete(); | |
40 | int dbmstore(); | |
41 | ||
42 | DBM *ndbmopen(); | |
43 | void ndbmclose(); |