1 /* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License (the "License"). 6 * You may not use this file except in compliance with the License. 7 * 8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 * or http://www.opensolaris.org/os/licensing. 10 * See the License for the specific language governing permissions 11 * and limitations under the License. 12 * 13 * When distributing Covered Code, include this CDDL HEADER in each 14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 * If applicable, add the following below this CDDL HEADER, with the 16 * fields enclosed by brackets "[]" replaced with your own identifying 17 * information: Portions Copyright [yyyy] [name of copyright owner] 18 * 19 * CDDL HEADER END 20 */ 21 /* 22 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 23 * Use is subject to license terms. 24 */ 25 26 #ifndef _RDC_CLNT_H 27 #define _RDC_CLNT_H 28 29 #ifdef __cplusplus 30 extern "C" { 31 #endif 32 33 extern kmutex_t rdc_clnt_lock; 34 35 struct chtab { 36 uint_t ch_timesused; 37 bool_t ch_inuse; 38 ulong_t ch_prog; 39 rpcvers_t ch_vers; 40 dev_t ch_dev; 41 char *ch_protofmly; 42 CLIENT *ch_client; 43 struct chtab *ch_next; /* chain of different prog/vers/dev/proto */ 44 struct chtab *ch_list; /* chain of similar clients */ 45 }; 46 47 #define MAXCLIENTS 64 48 49 extern int rdc_clnt_call(rdc_srv_t *, rpcproc_t, rpcvers_t, xdrproc_t, 50 caddr_t, xdrproc_t, caddr_t, struct timeval *); 51 extern int rdc_clnt_call_any(rdc_srv_t *, rdc_if_t *, rpcproc_t, 52 xdrproc_t, caddr_t, xdrproc_t, caddr_t, 53 struct timeval *); 54 extern int rdc_clnt_call_walk(rdc_k_info_t *, rpcproc_t, xdrproc_t, caddr_t, 55 xdrproc_t, caddr_t, struct timeval *); 56 57 extern int rdc_rpc_tmout; 58 59 extern int rdc_aio_coalesce(rdc_aio_t *, rdc_aio_t *); 60 61 62 #ifdef __cplusplus 63 } 64 #endif 65 66 #endif /* _RDC_CLNT_H */ 67