foreground and background windows
[unix-history] / usr / src / include / ndbm.h
CommitLineData
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
9typedef 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
26typedef 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
35datum dbmfetch();
36datum dbmfirstkey();
37datum dbmnextkey();
38long dbmforder();
39int dbmdelete();
40int dbmstore();
41
42DBM *ndbmopen();
43void ndbmclose();