summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorngie <ngie@FreeBSD.org>2017-02-21 03:46:37 +0000
committerngie <ngie@FreeBSD.org>2017-02-21 03:46:37 +0000
commite902f09805f6f217a23eeddcbeaf7199090b20bd (patch)
tree8a10d602da8416b3df251e7a46a409b284ab2a7c
parent2c373db546ea8a67318e412fcf159b0c7e645609 (diff)
downloadFreeBSD-src-e902f09805f6f217a23eeddcbeaf7199090b20bd.zip
FreeBSD-src-e902f09805f6f217a23eeddcbeaf7199090b20bd.tar.gz
MFC r313404:
Improve libnetbsd compatibility with NetBSD This change is being made to diff reduce/reduce duplication in contrib/netbsd-tests and to facilitate further porting of software from NetBSD Add the following headers: - sys/event.h: -- sys/types.h is required for kqueue on FreeBSD, but not NetBSD. - sys/types.h: -- NBBY is defined in sys/param.h on FreeBSD, not sys/types.h like on NetBSD. Pull in sys/param.h to have parity with NetBSD. - sys/wait.h: -- Define wrusage as __wrusage for parity with NetBSD typedef. - glob.h -- Define __gl_stat_t as "struct stat" for parity with NetBSD typedef. - pthread.h: -- Pull in pthread_np.h for _np functions defined separately on FreeBSD. Improve compatibility with NetBSD in the following headers: - sha1.h: -- define SHA1_CTX as SHA_CTX -- define SHA1Final as SHA1_Final - sha2.h: -- #include sha384 to pick up all of the SHA 384 bit macros and definitions. - util.h: -- Add sys/types.h to util.h to pollute the header for types used in flags_to_string and string_to_flags (u_long) as NetBSD doesn't require them for the functions.
-rw-r--r--lib/libnetbsd/glob.h39
-rw-r--r--lib/libnetbsd/pthread.h36
-rw-r--r--lib/libnetbsd/sha1.h3
-rw-r--r--lib/libnetbsd/sha2.h1
-rw-r--r--lib/libnetbsd/sys/event.h42
-rw-r--r--lib/libnetbsd/sys/types.h37
-rw-r--r--lib/libnetbsd/sys/wait.h37
-rw-r--r--lib/libnetbsd/util.h7
8 files changed, 199 insertions, 3 deletions
diff --git a/lib/libnetbsd/glob.h b/lib/libnetbsd/glob.h
new file mode 100644
index 0000000..a42d823
--- /dev/null
+++ b/lib/libnetbsd/glob.h
@@ -0,0 +1,39 @@
+/*-
+ * Copyright (c) 2017 Dell, Inc.
+ * All rights reserved.
+ *
+ * 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.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 COPYRIGHT HOLDER 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.
+ *
+ * $FreeBSD$
+ */
+
+#ifndef _LIBNETBSD_GLOB_H_
+#define _LIBNETBSD_GLOB_H_
+
+#include_next <glob.h>
+
+#ifndef __gl_stat_t
+#define __gl_stat_t struct stat
+#endif
+
+#endif
diff --git a/lib/libnetbsd/pthread.h b/lib/libnetbsd/pthread.h
new file mode 100644
index 0000000..f436574
--- /dev/null
+++ b/lib/libnetbsd/pthread.h
@@ -0,0 +1,36 @@
+/*-
+ * Copyright (c) 2017 Dell, Inc.
+ * All rights reserved.
+ *
+ * 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.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 COPYRIGHT HOLDER 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.
+ *
+ * $FreeBSD$
+ */
+
+#ifndef _LIBNETBSD_PTHREAD_H_
+#define _LIBNETBSD_PTHREAD_H_
+
+#include_next <pthread.h>
+#include <pthread_np.h>
+
+#endif
diff --git a/lib/libnetbsd/sha1.h b/lib/libnetbsd/sha1.h
index 41280c5..9da870e 100644
--- a/lib/libnetbsd/sha1.h
+++ b/lib/libnetbsd/sha1.h
@@ -35,8 +35,11 @@
#include <sha.h>
+#define SHA1_CTX SHA_CTX
+
#define SHA1End SHA1_End
#define SHA1File SHA1_File
+#define SHA1Final SHA1_Final
#define SHA1Init SHA1_Init
#define SHA1Update SHA1_Update
diff --git a/lib/libnetbsd/sha2.h b/lib/libnetbsd/sha2.h
index b67691d..6329284 100644
--- a/lib/libnetbsd/sha2.h
+++ b/lib/libnetbsd/sha2.h
@@ -34,6 +34,7 @@
#define _SHA2_H_
#include <sha256.h>
+#include <sha384.h>
#include <sha512.h>
#endif /* _SHA2_H_ */
diff --git a/lib/libnetbsd/sys/event.h b/lib/libnetbsd/sys/event.h
new file mode 100644
index 0000000..88a363c
--- /dev/null
+++ b/lib/libnetbsd/sys/event.h
@@ -0,0 +1,42 @@
+/*-
+ * Copyright (c) 2017 Dell, Inc.
+ * All rights reserved.
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * $FreeBSD$ *
+ */
+
+#ifndef _LIBNETBSD_SYS_EVENT_H_
+#define _LIBNETBSD_SYS_EVENT_H_
+
+/*
+ * kqueue on FreeBSD requires sys/event.h, which in turn uses uintptr_t
+ * (defined in sys/types.h), so in order to accomodate their requirements,
+ * pull in sys/types.h as part of event.h.
+ */
+#include <sys/types.h>
+
+#include_next <sys/event.h>
+
+#endif
diff --git a/lib/libnetbsd/sys/types.h b/lib/libnetbsd/sys/types.h
new file mode 100644
index 0000000..e14dd49
--- /dev/null
+++ b/lib/libnetbsd/sys/types.h
@@ -0,0 +1,37 @@
+/*-
+ * Copyright (c) 2017 Dell, Inc.
+ * All rights reserved.
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * $FreeBSD$ *
+ */
+
+#ifndef _LIBNETBSD_SYS_TYPES_H_
+#define _LIBNETBSD_SYS_TYPES_H_
+
+#include_next <sys/types.h>
+
+#include <sys/param.h> /* For NBBY */
+
+#endif
diff --git a/lib/libnetbsd/sys/wait.h b/lib/libnetbsd/sys/wait.h
new file mode 100644
index 0000000..a936980
--- /dev/null
+++ b/lib/libnetbsd/sys/wait.h
@@ -0,0 +1,37 @@
+/*-
+ * Copyright (c) 2017 Dell, Inc.
+ * All rights reserved.
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * $FreeBSD$ *
+ */
+
+#ifndef _LIBNETBSD_SYS_WAIT_H_
+#define _LIBNETBSD_SYS_WAIT_H_
+
+#include_next <sys/wait.h>
+
+#define wrusage __wrusage
+
+#endif
diff --git a/lib/libnetbsd/util.h b/lib/libnetbsd/util.h
index c7d32e1..99bc3ca 100644
--- a/lib/libnetbsd/util.h
+++ b/lib/libnetbsd/util.h
@@ -30,12 +30,13 @@
* SUCH DAMAGE.
*/
-#ifndef _UTIL_H_
-#define _UTIL_H_
+#ifndef _LIBNETBSD_UTIL_H_
+#define _LIBNETBSD_UTIL_H_
+#include <sys/types.h>
#include <libutil.h>
char *flags_to_string(u_long flags, const char *def);
int string_to_flags(char **stringp, u_long *setp, u_long *clrp);
-#endif /* _UTIL_H_ */
+#endif
OpenPOWER on IntegriCloud