about summary refs log tree commit diff
path: root/db
diff options
context:
space:
mode:
Diffstat (limited to 'db')
-rw-r--r--db/btree/btree.h12
-rw-r--r--db/db.h1
-rw-r--r--db/db/db.c10
-rw-r--r--db/mpool.h8
-rw-r--r--db/mpool/mpool.c29
5 files changed, 60 insertions, 0 deletions
diff --git a/db/btree/btree.h b/db/btree/btree.h
index ab4c5b5ec4..45f7c94ed4 100644
--- a/db/btree/btree.h
+++ b/db/btree/btree.h
@@ -43,6 +43,18 @@
 
 #include <mpool.h>
 
+#ifdef _LIBC
+/* In the GNU C library we must not pollute the namespace because libdb is
+   needed by libnss_db.  */
+#define mpool_open __mpool_open
+#define mpool_filter __mpool_filter
+#define mpool_new __mpool_new
+#define mpool_get __mpool_get
+#define mpool_put __mpool_put
+#define mpool_sync __mpool_sync
+#define mpool_close __mpool_close
+#endif
+
 #define	DEFMINKEYPAGE	(2)		/* Minimum keys per page */
 #define	MINCACHE	(5)		/* Minimum cached pages */
 #define	MINPSIZE	(512)		/* Minimum page size */
diff --git a/db/db.h b/db/db.h
index 13c7495d64..8f1a9de9e2 100644
--- a/db/db.h
+++ b/db/db.h
@@ -224,6 +224,7 @@ typedef struct {
 #endif
 
 __BEGIN_DECLS
+DB *__dbopen __P((const char *, int, int, DBTYPE, const void *));
 DB *dbopen __P((const char *, int, int, DBTYPE, const void *));
 
 #ifdef __DBINTERFACE_PRIVATE
diff --git a/db/db/db.c b/db/db/db.c
index c93b36ff75..49f6124580 100644
--- a/db/db/db.c
+++ b/db/db/db.c
@@ -44,6 +44,12 @@ static char sccsid[] = "@(#)db.c	8.4 (Berkeley) 2/21/94";
 
 #include <db.h>
 
+#ifdef _LIBC
+/* In the GNU C library we must not pollute the namespace, because libdb
+   is needed by libnss_db.  */
+#define dbopen __dbopen
+#endif
+
 DB *
 dbopen(fname, flags, mode, type, openinfo)
 	const char *fname;
@@ -72,6 +78,10 @@ dbopen(fname, flags, mode, type, openinfo)
 	errno = EINVAL;
 	return (NULL);
 }
+#ifdef _LIBC
+#undef dbopen
+weak_alias (__dbopen, dbopen)
+#endif
 
 static int
 __dberr __P((void))
diff --git a/db/mpool.h b/db/mpool.h
index 40d1022309..e533072a65 100644
--- a/db/mpool.h
+++ b/db/mpool.h
@@ -85,13 +85,21 @@ typedef struct MPOOL {
 } MPOOL;
 
 __BEGIN_DECLS
+MPOOL	*__mpool_open __P((void *, int, pgno_t, pgno_t));
 MPOOL	*mpool_open __P((void *, int, pgno_t, pgno_t));
+void	 __mpool_filter __P((MPOOL *, void (*)(void *, pgno_t, void *),
+	    void (*)(void *, pgno_t, void *), void *));
 void	 mpool_filter __P((MPOOL *, void (*)(void *, pgno_t, void *),
 	    void (*)(void *, pgno_t, void *), void *));
+void	*__mpool_new __P((MPOOL *, pgno_t *));
 void	*mpool_new __P((MPOOL *, pgno_t *));
+void	*__mpool_get __P((MPOOL *, pgno_t, u_int));
 void	*mpool_get __P((MPOOL *, pgno_t, u_int));
+int	 __mpool_put __P((MPOOL *, void *, u_int));
 int	 mpool_put __P((MPOOL *, void *, u_int));
+int	 __mpool_sync __P((MPOOL *));
 int	 mpool_sync __P((MPOOL *));
+int	 __mpool_close __P((MPOOL *));
 int	 mpool_close __P((MPOOL *));
 #ifdef STATISTICS
 void	 mpool_stat __P((MPOOL *));
diff --git a/db/mpool/mpool.c b/db/mpool/mpool.c
index 9956aca87b..7ced76fd4f 100644
--- a/db/mpool/mpool.c
+++ b/db/mpool/mpool.c
@@ -50,6 +50,18 @@ static char sccsid[] = "@(#)mpool.c	8.5 (Berkeley) 7/26/94";
 #define	__MPOOLINTERFACE_PRIVATE
 #include <mpool.h>
 
+#ifdef _LIBC
+/* In the GNU C library we must not pollute the namespace because libdb is
+   needed by libnss_db.  */
+#define mpool_open __mpool_open
+#define mpool_filter __mpool_filter
+#define mpool_new __mpool_new
+#define mpool_get __mpool_get
+#define mpool_put __mpool_put
+#define mpool_sync __mpool_sync
+#define mpool_close __mpool_close
+#endif
+
 static BKT *mpool_bkt __P((MPOOL *));
 static BKT *mpool_look __P((MPOOL *, pgno_t));
 static int  mpool_write __P((MPOOL *, BKT *));
@@ -301,6 +313,23 @@ mpool_sync(mp)
 	return (fsync(mp->fd) ? RET_ERROR : RET_SUCCESS);
 }
 
+#ifdef _LIBC
+#undef mpool_open
+#undef mpool_filter
+#undef mpool_new
+#undef mpool_get
+#undef mpool_put
+#undef mpool_close
+#undef mpool_sync
+weak_alias (__mpool_open, mpool_open)
+weak_alias (__mpool_filter, mpool_filter)
+weak_alias (__mpool_new, mpool_new)
+weak_alias (__mpool_get, mpool_get)
+weak_alias (__mpool_put, mpool_put)
+weak_alias (__mpool_close, mpool_close)
+weak_alias (__mpool_sync, mpool_sync)
+#endif
+
 /*
  * mpool_bkt
  *	Get a page from the cache (or create one).