From: Derrick Brashear Date: Tue, 16 Feb 2010 04:51:52 +0000 (-0500) Subject: xdrmem for ukernel X-Git-Tag: openafs-devel-1_5_73~178 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=a0c8c3da0d059df7bc0c6fad98ad55e7cc2f9aed;p=packages%2Fo%2Fopenafs.git xdrmem for ukernel fix up the build for ukernel when warnings are enabled Change-Id: I2520f77e043f2e75297ef66a4c44b6e456d30892 Reviewed-on: http://gerrit.openafs.org/1329 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear --- diff --git a/README.WARNINGS b/README.WARNINGS index 6a6316880..f3ff13fb2 100644 --- a/README.WARNINGS +++ b/README.WARNINGS @@ -58,6 +58,10 @@ libadmin/samples/rxstat_query_peer.c : all : util_RPCStatsStateGet types libadmin/samples/rxstat_query_process.c : all : util_RPCStatsStateGet types libadmin/test/client.c : all : util_RPCStatsStateGet types rx/rx.c : all (pthread) : rxkad_global_stats_init not proto'd +rx/xdr_len.c : all (ukernel) : Prototypes don't match due to AFS_XDR_T + not being used in the xdr header +rx/xdr_mem.c : all (ukernel) : Prototypes don't match due to AFS_XDR_T + not being used in the xdr header rx/xdr_rx.c : all (ukernel) : Prototypes don't match due to AFS_XDR_T not being used in the xdr header ubik/beacon.c : all : Ubik uses signed/unsigned diff --git a/src/libuafs/Makefile.common.in b/src/libuafs/Makefile.common.in index b86bce4b5..4e3c1c817 100644 --- a/src/libuafs/Makefile.common.in +++ b/src/libuafs/Makefile.common.in @@ -870,9 +870,9 @@ $(UOBJ)/Krxstat.ss.o: $(TOP_OBJ_RXSTAT)/Krxstat.ss.c $(UOBJ)/Krxstat.xdr.o: $(TOP_OBJ_RXSTAT)/Krxstat.xdr.c $(CRULE1) $(UOBJ)/xdr_mem.o: $(TOP_SRC_RX)/xdr_mem.c - $(CRULE1) + $(CRULE1) @CFLAGS_NOERROR@ $(UOBJ)/xdr_len.o: $(TOP_SRC_RX)/xdr_len.c - $(CRULE1) + $(CRULE1) @CFLAGS_NOERROR@ # These files are for the netscape plugin @@ -1144,9 +1144,9 @@ $(WEBOBJ)/Krxstat.ss.o: $(TOP_OBJ_RXSTAT)/Krxstat.ss.c $(WEBOBJ)/Krxstat.xdr.o: $(TOP_OBJ_RXSTAT)/Krxstat.xdr.c $(CRULE2) $(WEBOBJ)/xdr_mem.o: $(TOP_SRC_RX)/xdr_mem.c - $(CRULE2) + $(CRULE2) @CFLAGS_NOERROR@ $(WEBOBJ)/xdr_len.o: $(TOP_SRC_RX)/xdr_len.c - $(CRULE2) + $(CRULE2) @CFLAGS_NOERROR@ # These are for libjuafs.a # Used for linking with libafsauthent and libafsrpc @@ -1412,9 +1412,9 @@ $(JUAFS)/Krxstat.ss.o: $(TOP_OBJ_RXSTAT)/Krxstat.ss.c $(JUAFS)/Krxstat.xdr.o: $(TOP_OBJ_RXSTAT)/Krxstat.xdr.c $(CRULE1) $(JUAFS)/xdr_mem.o: $(TOP_SRC_RX)/xdr_mem.c - $(CRULE1) + $(CRULE1) @CFLAGS_NOERROR@ $(JUAFS)/xdr_len.o: $(TOP_SRC_RX)/xdr_len.c - $(CRULE1) + $(CRULE1) @CFLAGS_NOERROR@ clean: -$(RM) -rf UAFS* JUAFS* AFSWEB* nsapi des afs afsint config rx diff --git a/src/rx/xdr_len.c b/src/rx/xdr_len.c index b92150a6b..b3f0748ff 100644 --- a/src/rx/xdr_len.c +++ b/src/rx/xdr_len.c @@ -31,7 +31,15 @@ # include #endif +#ifndef KERNEL #include "xdr.h" +#elif !defined(UKERNEL) +#include "rx/xdr.h" +#else +#include "rpc/types.h" +#include "rpc/xdr.h" +#define AFS_XDRS_T XDR * +#endif static void xdrlen_destroy(AFS_XDRS_T axdrs) @@ -102,9 +110,14 @@ static struct xdr_ops xdrlen_ops = { xdrlen_setpos, /* set offset in the stream */ xdrlen_inline, /* not supported */ xdrlen_destroy /* destroy stream */ +#else +#if defined(UKERNEL) + .x_getlong = xdrlen_getint32, + .x_putlong = xdrlen_putint32, #else .x_getint32 = xdrlen_getint32, .x_putint32 = xdrlen_putint32, +#endif .x_getbytes = xdrlen_getbytes, .x_putbytes = xdrlen_putbytes, .x_getpostn = xdrlen_getpos, diff --git a/src/rx/xdr_mem.c b/src/rx/xdr_mem.c index 27995da4c..de4326279 100644 --- a/src/rx/xdr_mem.c +++ b/src/rx/xdr_mem.c @@ -50,16 +50,24 @@ # endif #endif +#ifndef KERNEL #include "xdr.h" +#elif !defined(UKERNEL) +#include "rx/xdr.h" +#else +#include "rpc/types.h" +#include "rpc/xdr.h" +#define AFS_XDRS_T XDR * +#endif -static bool_t xdrmem_getint32(AFS_XDRS_T, afs_int32 *); -static bool_t xdrmem_putint32(AFS_XDRS_T, afs_int32 *); -static bool_t xdrmem_getbytes(AFS_XDRS_T, caddr_t, u_int); -static bool_t xdrmem_putbytes(AFS_XDRS_T, caddr_t, u_int); -static u_int xdrmem_getpos(AFS_XDRS_T); -static bool_t xdrmem_setpos(AFS_XDRS_T, u_int); -static afs_int32 *xdrmem_inline(AFS_XDRS_T, u_int); -static void xdrmem_destroy(AFS_XDRS_T); +static bool_t xdrmem_getint32(AFS_XDRS_T axdrs, afs_int32 * lp); +static bool_t xdrmem_putint32(AFS_XDRS_T axdrs, afs_int32 * lp); +static bool_t xdrmem_getbytes(AFS_XDRS_T axdrs, caddr_t addr, u_int len); +static bool_t xdrmem_putbytes(AFS_XDRS_T axdrs, caddr_t addr, u_int len); +static u_int xdrmem_getpos(AFS_XDRS_T axdrs); +static bool_t xdrmem_setpos(AFS_XDRS_T axdrs, u_int pos); +static afs_int32 *xdrmem_inline(AFS_XDRS_T axdrs, u_int len); +static void xdrmem_destroy(AFS_XDRS_T axdrs); static struct xdr_ops xdrmem_ops = { #if defined(AFS_NT40_ENV) || (defined(AFS_SGI_ENV) && !defined(__c99)) @@ -73,8 +81,13 @@ static struct xdr_ops xdrmem_ops = { xdrmem_inline, /* prime stream for inline macros */ xdrmem_destroy /* destroy stream */ #else - .x_getint32 = xdrmem_getint32, - .x_putint32 = xdrmem_putint32, +#if defined(UKERNEL) + .x_getlong = xdrmem_getint32, + .x_putlong = xdrmem_putint32, +#else + .x_getint32 = xdrmem_getint32, /* deserialize an afs_int32 */ + .x_putint32 = xdrmem_putint32, /* serialize an afs_int32 */ +#endif .x_getbytes = xdrmem_getbytes, .x_putbytes = xdrmem_putbytes, .x_getpostn = xdrmem_getpos, @@ -163,7 +176,7 @@ xdrmem_getpos(AFS_XDRS_T axdrs) { XDR * xdrs = (XDR *)axdrs; - return ((u_int)(xdrs->x_private - xdrs->x_base)); + return ((u_int)((char *)xdrs->x_private - xdrs->x_base)); } static bool_t