aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorRob N <robn@despairlabs.com>2024-04-03 22:13:27 +0000
committerGitHub <noreply@github.com>2024-04-03 22:13:27 +0000
commita9a4290173dfdfd25aabd623bc3ccd994126794a (patch)
tree2c2e14962b1e77479406bc7438324c26bfc1db2f /include
parentb12738182cff269456e7737241415356c08b5d2e (diff)
downloadsrc-a9a4290173dfdfd25aabd623bc3ccd994126794a.tar.gz
src-a9a4290173dfdfd25aabd623bc3ccd994126794a.zip
Diffstat (limited to 'include')
-rw-r--r--include/os/freebsd/Makefile.am2
-rw-r--r--include/os/freebsd/spl/rpc/xdr.h71
-rw-r--r--include/os/linux/Makefile.am1
-rw-r--r--include/os/linux/spl/rpc/types.h30
-rw-r--r--include/os/linux/spl/rpc/xdr.h2
5 files changed, 31 insertions, 75 deletions
diff --git a/include/os/freebsd/Makefile.am b/include/os/freebsd/Makefile.am
index 551f75f42a20..d4103c2f062a 100644
--- a/include/os/freebsd/Makefile.am
+++ b/include/os/freebsd/Makefile.am
@@ -4,8 +4,6 @@ noinst_HEADERS = \
\
%D%/spl/acl/acl_common.h \
\
- %D%/spl/rpc/xdr.h \
- \
%D%/spl/sys/ia32/asm_linkage.h \
\
%D%/spl/sys/acl.h \
diff --git a/include/os/freebsd/spl/rpc/xdr.h b/include/os/freebsd/spl/rpc/xdr.h
deleted file mode 100644
index c98466e9d16a..000000000000
--- a/include/os/freebsd/spl/rpc/xdr.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-
-#ifndef _OPENSOLARIS_RPC_XDR_H_
-#define _OPENSOLARIS_RPC_XDR_H_
-
-#include <rpc/types.h>
-#include_next <rpc/xdr.h>
-
-#if !defined(_KERNEL) && !defined(_STANDALONE)
-
-#include <assert.h>
-
-/*
- * Taken from sys/xdr/xdr_mem.c.
- *
- * FreeBSD's userland XDR doesn't implement control method (only the kernel),
- * but OpenSolaris nvpair still depend on it, so we have to implement it here.
- */
-static __inline bool_t
-xdrmem_control(XDR *xdrs, int request, void *info)
-{
- xdr_bytesrec *xptr;
-
- switch (request) {
- case XDR_GET_BYTES_AVAIL:
- xptr = (xdr_bytesrec *)info;
- xptr->xc_is_last_record = TRUE;
- xptr->xc_num_avail = xdrs->x_handy;
- return (TRUE);
- default:
- assert(!"unexpected request");
- }
- return (FALSE);
-}
-
-#undef XDR_CONTROL
-#define XDR_CONTROL(xdrs, req, op) \
- (((xdrs)->x_ops->x_control == NULL) ? \
- xdrmem_control((xdrs), (req), (op)) : \
- (*(xdrs)->x_ops->x_control)(xdrs, req, op))
-
-#endif /* !_KERNEL && !_STANDALONE */
-
-#endif /* !_OPENSOLARIS_RPC_XDR_H_ */
diff --git a/include/os/linux/Makefile.am b/include/os/linux/Makefile.am
index 51c27132b4ef..332569efe361 100644
--- a/include/os/linux/Makefile.am
+++ b/include/os/linux/Makefile.am
@@ -47,6 +47,7 @@ kernel_sys_HEADERS = \
kernel_spl_rpcdir = $(kerneldir)/spl/rpc
kernel_spl_rpc_HEADERS = \
+ %D%/spl/rpc/types.h \
%D%/spl/rpc/xdr.h
kernel_spl_sysdir = $(kerneldir)/spl/sys
diff --git a/include/os/linux/spl/rpc/types.h b/include/os/linux/spl/rpc/types.h
new file mode 100644
index 000000000000..5bbb4f2dec46
--- /dev/null
+++ b/include/os/linux/spl/rpc/types.h
@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) 2008 Sun Microsystems, Inc.
+ * Written by Ricardo Correia <Ricardo.M.Correia@Sun.COM>
+ *
+ * This file is part of the SPL, Solaris Porting Layer.
+ *
+ * The SPL is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * The SPL is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with the SPL. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef _SPL_RPC_TYPES_H
+#define _SPL_RPC_TYPES_H
+
+#include <sys/types.h>
+
+/* Just enough to support rpc/xdr.h */
+
+typedef int bool_t;
+
+#endif /* SPL_RPC_TYPES_H */
diff --git a/include/os/linux/spl/rpc/xdr.h b/include/os/linux/spl/rpc/xdr.h
index b00f3542fcdf..5b621fa9c863 100644
--- a/include/os/linux/spl/rpc/xdr.h
+++ b/include/os/linux/spl/rpc/xdr.h
@@ -23,8 +23,6 @@
#include <sys/types.h>
-typedef int bool_t;
-
/*
* XDR enums and types.
*/