Cdiff 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,42 ****
--- 33,55 ----
/*
* 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,195 ****
--- 199,209 ----
/* 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,442 ****
* 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
struct __svcxprt {
__SVCXPRT_COMMON xp_xpc;
SVCMASTERXPRT *xp_master; /* back ptr to master */
--- 446,456 ----
* 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 104 /* torplen + credctl + wlist */
struct __svcxprt {
__SVCXPRT_COMMON xp_xpc;
SVCMASTERXPRT *xp_master; /* back ptr to master */
*** 560,569 ****
--- 574,586 ----
#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,809 ****
--- 817,827 ----
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 *);