Udiff svc.h
--- /webrev/webrev/usr/src/uts/common/rpc/svc.h- Mon Aug 14 13:12:11 2006
+++ svc.h Sun Jul 23 00:43:23 2006
@@ -33,10 +33,23 @@
/*
* svc.h, Server-side remote procedure call interface.
*/
+ /* Copyright (c) 2006, The Ohio State University. All rights reserved.
+ *
+ * Portions of this source code is developed by the team members of
+ * The Ohio State University's Network-Based Computing Laboratory (NBCL),
+ * headed by Professor Dhabaleswar K. (DK) Panda.
+ *
+ * Acknowledgements to contributions from developors:
+ * Ranjit Noronha: noronha@cse.ohio-state.edu
+ * Lei Chai : chail@cse.ohio-state.edu
+ * Weikuan Yu : yuw@cse.ohio-state.edu
+ *
+ */
+
#ifndef _RPC_SVC_H
#define _RPC_SVC_H
#pragma ident "@(#)svc.h 1.86 05/06/10 SMI"
@@ -186,10 +199,11 @@
/* destroy pre-serialized response */
void (*xp_clone_destroy)(SVCXPRT *);
/* destroy a clone xprt */
void (*xp_start)(SVCMASTERXPRT *);
/* `ready-to-receive' */
+ bool_t (*xp_get_wchunk)(struct svc_req *, iovec_t *);
};
#else /* _KERNEL */
/*
* Service control requests
*/
@@ -432,11 +446,11 @@
* The xp_p2buf buffer is used as the storage for a transport type
* specific structure. It is private for the svc ops for a given
* transport type.
*/
-#define SVC_P2LEN 64
+#define SVC_P2LEN 104 /* torplen + credctl + wlist */
struct __svcxprt {
__SVCXPRT_COMMON xp_xpc;
SVCMASTERXPRT *xp_master; /* back ptr to master */
@@ -560,10 +574,13 @@
#define SVC_START(xprt) \
(*(xprt)->xp_ops->xp_start)(xprt)
+#define SVC_GET_WCHUNK(xprt, req, iov) \
+ (*(xprt)->xp_ops->xp_get_wchunk)(req, iov)
+
#else /* _KERNEL */
#define SVC_RECV(xprt, msg) \
(*(xprt)->xp_ops->xp_recv)((xprt), (msg))
#define svc_recv(xprt, msg) \
@@ -800,10 +817,11 @@
extern int svc_rdma_kcreate(char *, SVC_CALLOUT_TABLE *, int,
rdma_xprt_group_t *);
extern void svc_rdma_kstop(SVCMASTERXPRT *);
extern void svc_rdma_kdestroy(SVCMASTERXPRT *);
extern void rdma_stop(rdma_xprt_group_t);
+extern bool_t rdma_get_wchunk_seg(struct svc_req *, iovec_t *);
/*
* GSS cleanup method.
*/
extern void rpc_gss_cleanup(SVCXPRT *);