summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChuck Lever <chuck.lever@oracle.com>2013-12-09 11:17:50 -0500
committerSteve Dickson <steved@redhat.com>2013-12-09 11:19:10 -0500
commit5190a70de9ff9339c8ef0c536cc4d420fb0cdf89 (patch)
treebf0b278159d420c17dcdf911517b93792a23c172
parent45b16c0a6a4c7c05dc26cff232d173bac16c969d (diff)
downloadti-rpc-5190a70de9ff9339c8ef0c536cc4d420fb0cdf89.tar.gz
glibc rpcgen compatibility
xdr_quad_t() and xdr_u_quad_t() call sites are generated by glibc's rpcgen, which uses them to marshal 64-bit integers. Since we want libtirpc to maintain glibc compatibility, introduce xdr_quad_t() and xdr_u_quad_t() to libtirpc. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Steve Dickson <steved@redhat.com>
-rw-r--r--src/xdr.c23
-rw-r--r--tirpc/rpc/xdr.h2
2 files changed, 25 insertions, 0 deletions
diff --git a/src/xdr.c b/src/xdr.c
index c645dea..1142a88 100644
--- a/src/xdr.c
+++ b/src/xdr.c
@@ -979,3 +979,26 @@ xdr_u_longlong_t(xdrs, ullp)
*/
return (xdr_u_int64_t(xdrs, (u_int64_t *)ullp));
}
+
+/*
+ * XDR quad_t
+ */
+bool_t
+xdr_quad_t(xdrs, llp)
+ XDR *xdrs;
+ int64_t *llp;
+{
+ return (xdr_int64_t(xdrs, (int64_t *)llp));
+}
+
+
+/*
+ * XDR u_quad_t
+ */
+bool_t
+xdr_u_quad_t(xdrs, ullp)
+ XDR *xdrs;
+ u_int64_t *ullp;
+{
+ return (xdr_u_int64_t(xdrs, (u_int64_t *)ullp));
+}
diff --git a/tirpc/rpc/xdr.h b/tirpc/rpc/xdr.h
index 450aa17..613fab0 100644
--- a/tirpc/rpc/xdr.h
+++ b/tirpc/rpc/xdr.h
@@ -307,6 +307,8 @@ extern bool_t xdr_uint32_t(XDR *, uint32_t *);
extern bool_t xdr_int64_t(XDR *, int64_t *);
extern bool_t xdr_u_int64_t(XDR *, u_int64_t *);
extern bool_t xdr_uint64_t(XDR *, uint64_t *);
+extern bool_t xdr_quad_t(XDR *, int64_t *);
+extern bool_t xdr_u_quad_t(XDR *, u_int64_t *);
extern bool_t xdr_bool(XDR *, bool_t *);
extern bool_t xdr_enum(XDR *, enum_t *);
extern bool_t xdr_array(XDR *, char **, u_int *, u_int, u_int, xdrproc_t);