8 typedef GDBM_FILE GDBM_File;
10 #define GDBM_BLOCKSIZE 0 /* gdbm defaults to stat blocksize */
11 #define gdbm_TIEHASH(dbtype, name, read_write, mode, fatal_func) \
12 gdbm_open(name, GDBM_BLOCKSIZE, read_write, mode, fatal_func)
14 #define gdbm_FETCH(db,key) gdbm_fetch(db,key)
15 #define gdbm_STORE(db,key,value,flags) gdbm_store(db,key,value,flags)
16 #define gdbm_DELETE(db,key) gdbm_delete(db,key)
17 #define gdbm_FIRSTKEY(db) gdbm_firstkey(db)
18 #define gdbm_NEXTKEY(db,key) gdbm_nextkey(db,key)
22 typedef void (*FATALFUNC)();
28 croak("GDBM_File::%s not implemented on this architecture", s);
52 if (strEQ(name, "GDBM_CACHESIZE"))
54 return GDBM_CACHESIZE;
58 if (strEQ(name, "GDBM_FAST"))
64 if (strEQ(name, "GDBM_FASTMODE"))
70 if (strEQ(name, "GDBM_INSERT"))
76 if (strEQ(name, "GDBM_NEWDB"))
82 if (strEQ(name, "GDBM_READER"))
88 if (strEQ(name, "GDBM_REPLACE"))
94 if (strEQ(name, "GDBM_WRCREAT"))
100 if (strEQ(name, "GDBM_WRITER"))
154 MODULE = GDBM_File PACKAGE = GDBM_File PREFIX = gdbm_
163 gdbm_TIEHASH(dbtype, name, read_write, mode, fatal_func = (FATALFUNC)croak)
187 gdbm_STORE(db, key, value, flags = GDBM_REPLACE)
194 if (RETVAL < 0 && errno == EPERM)
195 croak("No write permission to gdbm file");
196 croak("gdbm store returned %d, errno %d, key \"%.*s\"",
197 RETVAL,errno,key.dsize,key.dptr);
198 /* gdbm_clearerr(db); */
211 gdbm_NEXTKEY(db, key)
230 gdbm_setopt (db, optflag, optval, optlen)