1/* proto.h - The prototypes for the dbm routines. */
2
3/*  This file is part of GDBM, the GNU data base manager, by Philip A. Nelson.
4    Copyright (C) 1990, 1991, 1993  Free Software Foundation, Inc.
5
6    GDBM is free software; you can redistribute it and/or modify
7    it under the terms of the GNU General Public License as published by
8    the Free Software Foundation; either version 2, or (at your option)
9    any later version.
10
11    GDBM is distributed in the hope that it will be useful,
12    but WITHOUT ANY WARRANTY; without even the implied warranty of
13    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14    GNU General Public License for more details.
15
16    You should have received a copy of the GNU General Public License
17    along with GDBM; see the file COPYING.  If not, write to
18    the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
19
20    You may contact the author by:
21       e-mail:  phil@cs.wwu.edu
22      us-mail:  Philip A. Nelson
23                Computer Science Department
24                Western Washington University
25                Bellingham, WA 98226
26
27*************************************************************************/
28
29
30#ifndef __P
31#ifdef __STDC__
32#define __P(args) args
33#else
34#define __P(args) ()
35#endif
36#endif
37
38/* From bucket.c */
39void _gdbm_new_bucket    __P((gdbm_file_info *, hash_bucket *, int));
40void _gdbm_get_bucket    __P((gdbm_file_info *, int));
41void _gdbm_split_bucket  __P((gdbm_file_info *, int));
42void _gdbm_write_bucket  __P((gdbm_file_info *, cache_elem *));
43
44/* From falloc.c */
45off_t _gdbm_alloc       __P((gdbm_file_info *, int));
46void _gdbm_free         __P((gdbm_file_info *, off_t, int));
47int  _gdbm_put_av_elem  __P((avail_elem, avail_elem [], int *, int));
48
49/* From findkey.c */
50char *_gdbm_read_entry  __P((gdbm_file_info *, int));
51int _gdbm_findkey       __P((gdbm_file_info *, datum, char **, int *));
52
53/* From hash.c */
54int _gdbm_hash __P((datum));
55
56/* From update.c */
57void _gdbm_end_update   __P((gdbm_file_info *));
58void _gdbm_fatal         __P((gdbm_file_info *, char *));
59
60/* From gdbmopen.c */
61int _gdbm_init_cache	__P((gdbm_file_info *, int));
62
63/* The user callable routines.... */
64void  gdbm_close	  __P((gdbm_file_info *));
65int   gdbm_delete	  __P((gdbm_file_info *, datum));
66datum gdbm_fetch	  __P((gdbm_file_info *, datum));
67gdbm_file_info *gdbm_open __P((char *, int, int, int, void (*) (void)));
68int   gdbm_reorganize	  __P((gdbm_file_info *));
69datum gdbm_firstkey       __P((gdbm_file_info *));
70datum gdbm_nextkey        __P((gdbm_file_info *, datum));
71int   gdbm_store          __P((gdbm_file_info *, datum, datum, int));
72int   gdbm_exists	  __P((gdbm_file_info *, datum));
73void  gdbm_sync		  __P((gdbm_file_info *));
74int   gdbm_setopt	  __P((gdbm_file_info *, int, int *, int));
75int   gdbm_fdesc	  __P((gdbm_file_info *));
76