amq_clnt.c revision 119679
1/* 2 * Copyright (c) 1997-2003 Erez Zadok 3 * Copyright (c) 1990 Jan-Simon Pendry 4 * Copyright (c) 1990 Imperial College of Science, Technology & Medicine 5 * Copyright (c) 1990 The Regents of the University of California. 6 * All rights reserved. 7 * 8 * This code is derived from software contributed to Berkeley by 9 * Jan-Simon Pendry at Imperial College, London. 10 * 11 * Redistribution and use in source and binary forms, with or without 12 * modification, are permitted provided that the following conditions 13 * are met: 14 * 1. Redistributions of source code must retain the above copyright 15 * notice, this list of conditions and the following disclaimer. 16 * 2. Redistributions in binary form must reproduce the above copyright 17 * notice, this list of conditions and the following disclaimer in the 18 * documentation and/or other materials provided with the distribution. 19 * 3. All advertising materials mentioning features or use of this software 20 * must display the following acknowledgment: 21 * This product includes software developed by the University of 22 * California, Berkeley and its contributors. 23 * 4. Neither the name of the University nor the names of its contributors 24 * may be used to endorse or promote products derived from this software 25 * without specific prior written permission. 26 * 27 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 28 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 29 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 30 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 31 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 32 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 33 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 34 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 35 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 36 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 37 * SUCH DAMAGE. 38 * 39 * %W% (Berkeley) %G% 40 * 41 * $Id: amq_clnt.c,v 1.3.2.3 2002/12/27 22:44:45 ezk Exp $ 42 * 43 */ 44 45#ifdef HAVE_CONFIG_H 46# include <config.h> 47#endif /* HAVE_CONFIG_H */ 48#include <am_defs.h> 49#include <amq.h> 50 51 52static struct timeval TIMEOUT = {ALLOWED_MOUNT_TIME, 0}; 53 54 55voidp 56amqproc_null_1(voidp argp, CLIENT *clnt) 57{ 58 static char res; 59 60 memset((char *) &res, 0, sizeof(res)); 61 if (clnt_call(clnt, AMQPROC_NULL, 62 (XDRPROC_T_TYPE) xdr_void, argp, 63 (XDRPROC_T_TYPE) xdr_void, &res, TIMEOUT) 64 != RPC_SUCCESS) { 65 return (NULL); 66 } 67 return ((voidp) &res); 68} 69 70 71amq_mount_tree_p * 72amqproc_mnttree_1(amq_string *argp, CLIENT *clnt) 73{ 74 static amq_mount_tree_p res; 75 76 memset((char *) &res, 0, sizeof(res)); 77 if (clnt_call(clnt, AMQPROC_MNTTREE, 78 (XDRPROC_T_TYPE) xdr_amq_string, (SVC_IN_ARG_TYPE) argp, 79 (XDRPROC_T_TYPE) xdr_amq_mount_tree_p, (SVC_IN_ARG_TYPE) & res, 80 TIMEOUT) != RPC_SUCCESS) { 81 return (NULL); 82 } 83 return (&res); 84} 85 86 87voidp 88amqproc_umnt_1(amq_string *argp, CLIENT *clnt) 89{ 90 static char res; 91 92 memset((char *) &res, 0, sizeof(res)); 93 if (clnt_call(clnt, AMQPROC_UMNT, 94 (XDRPROC_T_TYPE) xdr_amq_string, (SVC_IN_ARG_TYPE) argp, 95 (XDRPROC_T_TYPE) xdr_void, &res, 96 TIMEOUT) != RPC_SUCCESS) { 97 return (NULL); 98 } 99 return ((voidp) &res); 100} 101 102 103amq_mount_stats * 104amqproc_stats_1(voidp argp, CLIENT *clnt) 105{ 106 static amq_mount_stats res; 107 108 memset((char *) &res, 0, sizeof(res)); 109 if (clnt_call(clnt, AMQPROC_STATS, 110 (XDRPROC_T_TYPE) xdr_void, argp, 111 (XDRPROC_T_TYPE) xdr_amq_mount_stats, 112 (SVC_IN_ARG_TYPE) & res, 113 TIMEOUT) != RPC_SUCCESS) { 114 return (NULL); 115 } 116 return (&res); 117} 118 119 120amq_mount_tree_list * 121amqproc_export_1(voidp argp, CLIENT *clnt) 122{ 123 static amq_mount_tree_list res; 124 125 memset((char *) &res, 0, sizeof(res)); 126 if (clnt_call(clnt, AMQPROC_EXPORT, 127 (XDRPROC_T_TYPE) xdr_void, argp, 128 (XDRPROC_T_TYPE) xdr_amq_mount_tree_list, 129 (SVC_IN_ARG_TYPE) & res, TIMEOUT) != RPC_SUCCESS) { 130 return (NULL); 131 } 132 return (&res); 133} 134 135 136int * 137amqproc_setopt_1(amq_setopt *argp, CLIENT *clnt) 138{ 139 static int res; 140 141 memset((char *) &res, 0, sizeof(res)); 142 if (clnt_call(clnt, AMQPROC_SETOPT, (XDRPROC_T_TYPE) xdr_amq_setopt, 143 (SVC_IN_ARG_TYPE) argp, (XDRPROC_T_TYPE) xdr_int, 144 (SVC_IN_ARG_TYPE) & res, TIMEOUT) != RPC_SUCCESS) { 145 return (NULL); 146 } 147 return (&res); 148} 149 150 151amq_mount_info_list * 152amqproc_getmntfs_1(voidp argp, CLIENT *clnt) 153{ 154 static amq_mount_info_list res; 155 156 memset((char *) &res, 0, sizeof(res)); 157 if (clnt_call(clnt, AMQPROC_GETMNTFS, (XDRPROC_T_TYPE) xdr_void, argp, 158 (XDRPROC_T_TYPE) xdr_amq_mount_info_list, 159 (SVC_IN_ARG_TYPE) & res, TIMEOUT) != RPC_SUCCESS) { 160 return (NULL); 161 } 162 return (&res); 163} 164 165 166int * 167amqproc_mount_1(voidp argp, CLIENT *clnt) 168{ 169 static int res; 170 171 memset((char *) &res, 0, sizeof(res)); 172 if (clnt_call(clnt, AMQPROC_MOUNT, (XDRPROC_T_TYPE) xdr_amq_string, argp, 173 (XDRPROC_T_TYPE) xdr_int, (SVC_IN_ARG_TYPE) & res, 174 TIMEOUT) != RPC_SUCCESS) { 175 return (NULL); 176 } 177 return (&res); 178} 179 180 181amq_string * 182amqproc_getvers_1(voidp argp, CLIENT *clnt) 183{ 184 static amq_string res; 185 186 memset((char *) &res, 0, sizeof(res)); 187 if (clnt_call(clnt, AMQPROC_GETVERS, (XDRPROC_T_TYPE) xdr_void, argp, 188 (XDRPROC_T_TYPE) xdr_amq_string, (SVC_IN_ARG_TYPE) & res, 189 TIMEOUT) != RPC_SUCCESS) { 190 return (NULL); 191 } 192 return (&res); 193} 194 195 196int * 197amqproc_getpid_1(voidp argp, CLIENT *clnt) 198{ 199 static int res; 200 201 memset((char *) &res, 0, sizeof(res)); 202 if (clnt_call(clnt, AMQPROC_GETPID, (XDRPROC_T_TYPE) xdr_void, argp, 203 (XDRPROC_T_TYPE) xdr_int, (SVC_IN_ARG_TYPE) & res, 204 TIMEOUT) != RPC_SUCCESS) { 205 return (NULL); 206 } 207 return (&res); 208} 209