]> git.sur5r.net Git - openldap/blobdiff - include/ldbm.h
printf(%ld, pid) -> printf(%ld, (long)pid)
[openldap] / include / ldbm.h
index 0f4c07c3ad8f1f46614d3b26736e97d2d0eec123..ffe8804d6c40487594db0c45a898da8c5f6c12bd 100644 (file)
@@ -1,8 +1,19 @@
+/*
+ * Copyright 1998,1999 The OpenLDAP Foundation, Redwood City, California, USA
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted only
+ * as authorized by the OpenLDAP Public License.  A copy of this
+ * license is available at http://www.OpenLDAP.org/license.html or
+ * in file LICENSE in the top-level directory of the distribution.
+ */
 /* ldbm.h - ldap dbm compatibility routine header file */
 
 #ifndef _LDBM_H_
 #define _LDBM_H_
 
+#include <ldap_cdefs.h>
+
 #ifdef LDBM_USE_DBBTREE
 
 /*****************************************************************
@@ -15,7 +26,7 @@
 #include <limits.h>
 #include <fcntl.h>
 
-#ifdef HAVE_DB185_H
+#ifdef HAVE_DB_185_H
 #      include <db_185.h>
 #else
 #      include <db.h>
 #endif
 
 
+LDAP_BEGIN_DECL
+
 typedef DBT    Datum;
 #define dsize  size
 #define dptr   data
 
 typedef DB     *LDBM;
 
+LDAP_END_DECL
+
 #define DB_TYPE                DB_BTREE
 
 /* for ldbm_open */
@@ -69,7 +84,7 @@ typedef DB    *LDBM;
 #include <limits.h>
 #include <fcntl.h>
 
-#ifdef HAVE_DB185_H
+#ifdef HAVE_DB_185_H
 #      include <db_185.h>
 #else
 #      include <db.h>
@@ -79,12 +94,16 @@ typedef DB  *LDBM;
 #      endif
 #endif
 
+LDAP_BEGIN_DECL
+
 typedef DBT    Datum;
 #define dsize  size
 #define dptr   data
 
 typedef DB     *LDBM;
 
+LDAP_END_DECL
+
 #define DB_TYPE                DB_HASH
 
 /* for ldbm_open */
@@ -118,12 +137,16 @@ typedef DB        *LDBM;
 
 #include <gdbm.h>
 
+LDAP_BEGIN_DECL
+
 typedef datum          Datum;
 
 typedef GDBM_FILE      LDBM;
 
 extern gdbm_error      gdbm_errno;
 
+LDAP_END_DECL
+
 /* for ldbm_open */
 #define LDBM_READER    GDBM_READER
 #define LDBM_WRITER    GDBM_WRITER
@@ -153,10 +176,14 @@ extern gdbm_error gdbm_errno;
 #include <fcntl.h>
 #endif
 
+LDAP_BEGIN_DECL
+
 typedef datum  Datum;
 
 typedef DBM    *LDBM;
 
+LDAP_END_DECL
+
 /* for ldbm_open */
 #define LDBM_READER    O_RDONLY
 #define LDBM_WRITER    O_WRONLY
@@ -173,6 +200,11 @@ typedef DBM        *LDBM;
 
 #endif
 
+LDAP_BEGIN_DECL
+
+int ldbm_initialize( void );
+int ldbm_shutdown( void );
+
 int    ldbm_errno( LDBM ldbm );
 LDBM   ldbm_open( char *name, int rw, int mode, int dbcachesize );
 void   ldbm_close( LDBM ldbm );
@@ -192,4 +224,14 @@ int        ldbm_delete( LDBM ldbm, Datum key );
        Datum   ldbm_nextkey( LDBM ldbm, Datum key );
 #endif
 
+
+/* initialization of Datum structures */
+#ifdef HAVE_BERKELEY_DB2
+#   define ldbm_datum_init(d) ((void)memset(&(d), 0, sizeof(Datum)))
+#else
+#   define ldbm_datum_init(d) ((void)0)
+#endif  /* HAVE_BERKELEY_DB2 */
+
+LDAP_END_DECL
+
 #endif /* _ldbm_h_ */