xdrmem for ukernel
authorDerrick Brashear <shadow@dementia.org>
Tue, 16 Feb 2010 04:51:52 +0000 (23:51 -0500)
committerDerrick Brashear <shadow@dementia.org>
Tue, 16 Feb 2010 15:34:12 +0000 (07:34 -0800)
fix up the build for ukernel when warnings are enabled

Change-Id: I2520f77e043f2e75297ef66a4c44b6e456d30892
Reviewed-on: http://gerrit.openafs.org/1329
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

README.WARNINGS
src/libuafs/Makefile.common.in
src/rx/xdr_len.c
src/rx/xdr_mem.c

index 6a63168..f3ff13f 100644 (file)
@@ -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 
index b86bce4..4e3c1c8 100644 (file)
@@ -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
index b92150a..b3f0748 100644 (file)
 # include <stdlib.h>
 #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)
@@ -103,8 +111,13 @@ static struct xdr_ops xdrlen_ops = {
     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,
index 27995da..de43262 100644 (file)
 # 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