]> granicus.if.org Git - libtirpc/commitdiff
glibc rpcgen compatibility
authorChuck Lever <chuck.lever@oracle.com>
Mon, 9 Dec 2013 16:17:50 +0000 (11:17 -0500)
committerSteve Dickson <steved@redhat.com>
Mon, 9 Dec 2013 16:19:10 +0000 (11:19 -0500)
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>
src/xdr.c
tirpc/rpc/xdr.h

index c645dea6aae1279e5fb0d1c39129ef51b493d533..1142a888071d17291d3ebd1343128770e34e44ad 100644 (file)
--- 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));
+}
index 450aa17dfc360438b3518976278cb047369d3214..613fab055da3392412ae33ee9dd41fc74861dc61 100644 (file)
@@ -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);