home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 4 / DATAFILE_PDCD4.iso / unix / armlinux / alpha / PARTITIONS / USR_GZ / usr / include / ndbm.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-05-14  |  2.2 KB  |  71 lines

  1. /* ndbm.h  -  The include file for ndbm users.  */
  2.  
  3. /*  This file is part of GDBM, the GNU data base manager, by Philip A. Nelson.
  4.     Copyright (C) 1990, 1991  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 1, 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.         phone:  (206) 676-3035
  27.        
  28. *************************************************************************/
  29.  
  30. #ifndef _NDBM_H /* allow multiple inclusions */
  31. #define _NDBM_H
  32.  
  33. #include <features.h>
  34.  
  35. /* Parameters to dbm_store for simple insertion or replacement. */
  36. #define  DBM_INSERT  0
  37. #define  DBM_REPLACE 1
  38.  
  39.  
  40. /* The data and key structure.  This structure is defined for compatibility. */
  41. typedef struct {
  42.     char *dptr;
  43.     int   dsize;
  44.       } datum;
  45.  
  46.  
  47. /* The file information header. This is good enough for most applications. */
  48. typedef struct {int dummy[10];} DBM;
  49.  
  50.  
  51. /* These are the routines (with some macros defining them!) */
  52.  
  53. __BEGIN_DECLS
  54.  
  55. extern DBM *dbm_open __P((__const char *, int, int));
  56. extern void dbm_close __P((DBM *));
  57. extern datum dbm_fetch __P((DBM *, datum));
  58. extern datum dbm_firstkey __P((DBM *));
  59. extern datum dbm_nextkey __P((DBM *));
  60. extern int dbm_delete __P((DBM *, datum));
  61. extern int dbm_store __P((DBM *, datum, datum, int));
  62. extern int dbm_dirfno __P((DBM *));
  63. extern int dbm_pagfno __P((DBM *));
  64.  
  65. __END_DECLS
  66.  
  67. #define         dbm_error(dbf)  0
  68. #define         dbm_clearerr(dbf)
  69.  
  70. #endif /* _NDBM_H */
  71.