path: root/cddl/compat/opensolaris/include
diff options
authorJustin T. Gibbs <gibbs@FreeBSD.org>2011-06-10 20:10:30 +0000
committerJustin T. Gibbs <gibbs@FreeBSD.org>2011-06-10 20:10:30 +0000
commit1c3bf595840f0f84514093b1014b316a2900c308 (patch)
treeb9ceefa1a1a2bae6902b9f392e2e40d97b244f33 /cddl/compat/opensolaris/include
parent19da774130cdd31bf54d5cc09580f3ec54b08428 (diff)
Remove C constructs that are incompatible with C++ from various
OpenSolaris and ZFS header files. These changes are sufficient to allow a C++ program to use the libzfs library. Note: The majority of these files already included 'extern "C"' declarations, so the intention of providing C++ compatibility already existed even if it wasn't provided. cddl/compat/opensolaris/include/assert.h: Wrap our compatibility assert implementation in 'extern "C"'. Since this is a compatibility header I matched the Solaris style of doing this explicitly rather than rely on FreeBSD's __BEGIN/END_DECLS macro. sys/cddl/compat/opensolaris/sys/kstat.h: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/arc.h: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_pool.h: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/ddt.h: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa.h: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h: Rename parameters in function declarations that conflict with C++ keywords. This was the solution preferred by members of the Illumos community. sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ioctl.h: In C, nested structures are visible in the global namespace, but in C++, they take on the namespace of the structure in which they are contained. Flatten nested structure definitions within struct zfs_cmd so these structures are visible in the global namespace when compiled in both languages. Sponsored by: Spectra Logic Corporation
Notes: svn path=/head/; revision=222950
Diffstat (limited to 'cddl/compat/opensolaris/include')
1 files changed, 9 insertions, 0 deletions
diff --git a/cddl/compat/opensolaris/include/assert.h b/cddl/compat/opensolaris/include/assert.h
index 353f0c9fd819..0887093d5d64 100644
--- a/cddl/compat/opensolaris/include/assert.h
+++ b/cddl/compat/opensolaris/include/assert.h
@@ -43,6 +43,10 @@
#include <stdio.h>
#include <stdlib.h>
+#ifdef __cplusplus
+extern "C" {
static __inline void
__assert(const char *expr, const char *file, int line)
@@ -52,4 +56,9 @@ __assert(const char *expr, const char *file, int line)
+#ifdef __cplusplus
#endif /* !_ASSERT_H_ */