summaryrefslogtreecommitdiff
path: root/ext/dbm/GDBM_File.xs
blob: 2c619cbe42f29fe53531a7e40377d6021ba3f255 (plain)
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#include "EXTERN.h"
#include "perl.h"
#include "XSUB.h"
#include <gdbm.h>

#include <fcntl.h>

typedef GDBM_FILE GDBM_File;

#define gdbm_new(dbtype, name, block_size, read_write, mode, fatal_func) \
	gdbm_open(name, block_size, read_write, mode, fatal_func)

typedef datum gdatum;

typedef void (*FATALFUNC)();

MODULE = GDBM_File	PACKAGE = GDBM_File	PREFIX = gdbm_

GDBM_File
gdbm_new(dbtype, name, block_size, read_write, mode, fatal_func = (FATALFUNC)croak)
	char *		dbtype
	char *		name
	int		block_size
	int		read_write
	int		mode
	FATALFUNC	fatal_func

GDBM_File
gdbm_open(name, block_size, read_write, mode, fatal_func = (FATALFUNC)croak)
	char *		name
	int		block_size
	int		read_write
	int		mode
	FATALFUNC	fatal_func

void
gdbm_close(db)
	GDBM_File	db
	CLEANUP:

void
gdbm_DESTROY(db)
	GDBM_File	db
	CODE:
	gdbm_close(db);

gdatum
gdbm_fetch(db, key)
	GDBM_File	db
	datum		key

int
gdbm_store(db, key, value, flags = GDBM_REPLACE)
	GDBM_File	db
	datum		key
	datum		value
	int		flags

int
gdbm_delete(db, key)
	GDBM_File	db
	datum		key

gdatum
gdbm_firstkey(db)
	GDBM_File	db

gdatum
gdbm_nextkey(db, key)
	GDBM_File	db
	datum		key

int
gdbm_reorganize(db)
	GDBM_File	db