diff options
author | joerg <joerg> | 2008-10-29 11:23:17 +0000 |
---|---|---|
committer | joerg <joerg> | 2008-10-29 11:23:17 +0000 |
commit | ad30d184c732f6b7a1944663eaa005df98aa1569 (patch) | |
tree | db356de95d12e24b2c5a3e31e05c592a8307b3eb | |
parent | fb3c3c0583052adcec8ab57ef36734c61d77d88f (diff) | |
download | pkgsrc-ad30d184c732f6b7a1944663eaa005df98aa1569.tar.gz |
Provide more compat glue for ndbm interface as shown in PR 39738.
Bump to libnbcompat-20081029.
-rw-r--r-- | pkgtools/libnbcompat/Makefile | 4 | ||||
-rw-r--r-- | pkgtools/libnbcompat/files/db/hash/ndbm.c | 8 | ||||
-rw-r--r-- | pkgtools/libnbcompat/files/db/hash/ndbmdatum.c | 8 | ||||
-rw-r--r-- | pkgtools/libnbcompat/files/nbcompat/ndbm.h | 77 |
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_ */ |