summaryrefslogtreecommitdiff
path: root/pkgtools/libnbcompat
diff options
context:
space:
mode:
authorjoerg <joerg@pkgsrc.org>2008-10-29 11:23:17 +0000
committerjoerg <joerg@pkgsrc.org>2008-10-29 11:23:17 +0000
commit8dee63e64434781100a63f0df4c11f6f2dff6d17 (patch)
treedb356de95d12e24b2c5a3e31e05c592a8307b3eb /pkgtools/libnbcompat
parentbfc9fdcd4789a33505ce065a9688190e5e47aeb6 (diff)
downloadpkgsrc-8dee63e64434781100a63f0df4c11f6f2dff6d17.tar.gz
Provide more compat glue for ndbm interface as shown in PR 39738.
Bump to libnbcompat-20081029.
Diffstat (limited to 'pkgtools/libnbcompat')
-rw-r--r--pkgtools/libnbcompat/Makefile4
-rw-r--r--pkgtools/libnbcompat/files/db/hash/ndbm.c8
-rw-r--r--pkgtools/libnbcompat/files/db/hash/ndbmdatum.c8
-rw-r--r--pkgtools/libnbcompat/files/nbcompat/ndbm.h77
4 files changed, 87 insertions, 10 deletions
diff --git a/pkgtools/libnbcompat/Makefile b/pkgtools/libnbcompat/Makefile
index cc0fb5548d4..5d66a6a6fc3 100644
--- a/pkgtools/libnbcompat/Makefile
+++ b/pkgtools/libnbcompat/Makefile
@@ -1,11 +1,11 @@
-# $NetBSD: Makefile,v 1.66 2008/10/28 15:15:18 joerg Exp $
+# $NetBSD: Makefile,v 1.67 2008/10/29 11:23:17 joerg Exp $
#
# NOTE: If you update this package, it is *mandatory* that you update
# pkgsrc/pkgtools/libnbcompat/files/README to reflect the actual
# list of tested and supported platforms.
#
-DISTNAME= libnbcompat-20081028
+DISTNAME= libnbcompat-20081029
CATEGORIES= pkgtools devel
MASTER_SITES= # empty
DISTFILES= # empty
diff --git a/pkgtools/libnbcompat/files/db/hash/ndbm.c b/pkgtools/libnbcompat/files/db/hash/ndbm.c
index af3fef751ab..d94b9b0130b 100644
--- a/pkgtools/libnbcompat/files/db/hash/ndbm.c
+++ b/pkgtools/libnbcompat/files/db/hash/ndbm.c
@@ -1,4 +1,4 @@
-/* $NetBSD: ndbm.c,v 1.1 2008/10/10 00:21:44 joerg Exp $ */
+/* $NetBSD: ndbm.c,v 1.2 2008/10/29 11:23:17 joerg Exp $ */
/* NetBSD: ndbm.c,v 1.23 2008/09/11 12:58:00 joerg Exp */
/*-
@@ -36,19 +36,19 @@
#include <nbcompat.h>
#include <nbcompat/cdefs.h>
-__RCSID("$NetBSD: ndbm.c,v 1.1 2008/10/10 00:21:44 joerg Exp $");
+__RCSID("$NetBSD: ndbm.c,v 1.2 2008/10/29 11:23:17 joerg Exp $");
/*
* This package provides a dbm compatible interface to the new hashing
* package described in db(3).
*/
-#include <sys/param.h>
+#include <nbcompat/param.h>
#include <fcntl.h>
#include <stdio.h>
#include <string.h>
-#include <ndbm.h>
+#include <nbcompat/ndbm.h>
#include "hash.h"
/*
diff --git a/pkgtools/libnbcompat/files/db/hash/ndbmdatum.c b/pkgtools/libnbcompat/files/db/hash/ndbmdatum.c
index 2da00f320d8..80ab67d37cb 100644
--- a/pkgtools/libnbcompat/files/db/hash/ndbmdatum.c
+++ b/pkgtools/libnbcompat/files/db/hash/ndbmdatum.c
@@ -1,4 +1,4 @@
-/* $NetBSD: ndbmdatum.c,v 1.1 2008/10/10 00:21:44 joerg Exp $ */
+/* $NetBSD: ndbmdatum.c,v 1.2 2008/10/29 11:23:17 joerg Exp $ */
/* NetBSD: ndbmdatum.c,v 1.4 2008/09/11 12:58:00 joerg Exp */
/*-
@@ -36,19 +36,19 @@
#include <nbcompat.h>
#include <nbcompat/cdefs.h>
-__RCSID("$NetBSD: ndbmdatum.c,v 1.1 2008/10/10 00:21:44 joerg Exp $");
+__RCSID("$NetBSD: ndbmdatum.c,v 1.2 2008/10/29 11:23:17 joerg Exp $");
/*
* This package provides a dbm compatible interface to the new hashing
* package described in db(3).
*/
-#include <sys/param.h>
+#include <nbcompat/param.h>
#include <fcntl.h>
#include <stdio.h>
#include <string.h>
-#include <ndbm.h>
+#include <nbcompat/ndbm.h>
#include "hash.h"
/*
diff --git a/pkgtools/libnbcompat/files/nbcompat/ndbm.h b/pkgtools/libnbcompat/files/nbcompat/ndbm.h
new file mode 100644
index 00000000000..2f64ce782d9
--- /dev/null
+++ b/pkgtools/libnbcompat/files/nbcompat/ndbm.h
@@ -0,0 +1,77 @@
+/* $NetBSD: ndbm.h,v 1.1 2008/10/29 11:23:17 joerg Exp $ */
+
+/*-
+ * Copyright (c) 1990, 1993
+ * The Regents of the University of California. All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * Margo Seltzer.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * @(#)ndbm.h 8.1 (Berkeley) 6/2/93
+ */
+
+#ifndef _NBCOMPAT_NDBM_H_
+#define _NBCOMPAT_NDBM_H_
+
+#include <nbcompat/cdefs.h>
+#include <nbcompat/db.h>
+
+/* Map dbm interface onto db(3). */
+#define DBM_RDONLY O_RDONLY
+
+/* Flags to dbm_store(). */
+#define DBM_INSERT 0
+#define DBM_REPLACE 1
+
+/*
+ * The db(3) support for ndbm(3) always appends this suffix to the
+ * file name to avoid overwriting the user's original database.
+ */
+#define DBM_SUFFIX ".db"
+
+typedef struct {
+ void *dptr;
+ size_t dsize; /* XPG4.2 */
+} datum;
+
+typedef DB DBM;
+#define dbm_pagfno(a) DBM_PAGFNO_NOT_AVAILABLE
+
+__BEGIN_DECLS
+void dbm_close(DBM *);
+DBM *dbm_open(const char *, int, mode_t);
+int dbm_error(DBM *);
+int dbm_clearerr(DBM *);
+int dbm_dirfno(DBM *);
+int dbm_delete(DBM *, datum) __RENAME(__dbm_delete13);
+datum dbm_fetch(DBM *, datum) __RENAME(__dbm_fetch13);
+datum dbm_firstkey(DBM *) __RENAME(__dbm_firstkey13);
+datum dbm_nextkey(DBM *) __RENAME(__dbm_nextkey13);
+int dbm_store(DBM *, datum, datum, int) __RENAME(__dbm_store13);
+__END_DECLS
+
+#endif /* !_NDBM_H_ */