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