Home | History | Annotate | Line # | Download | only in rpc
rpcb_clnt.h revision 1.3
      1 /*	$NetBSD: rpcb_clnt.h,v 1.3 2005/12/03 15:16:19 yamt Exp $	*/
      2 
      3 /*
      4  * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
      5  * unrestricted use provided that this legend is included on all tape
      6  * media and as a part of the software program in whole or part.  Users
      7  * may copy or modify Sun RPC without charge, but are not authorized
      8  * to license or distribute it to anyone else except as part of a product or
      9  * program developed by the user.
     10  *
     11  * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
     12  * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
     13  * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
     14  *
     15  * Sun RPC is provided with no support and without any obligation on the
     16  * part of Sun Microsystems, Inc. to assist in its use, correction,
     17  * modification or enhancement.
     18  *
     19  * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
     20  * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
     21  * OR ANY PART THEREOF.
     22  *
     23  * In no event will Sun Microsystems, Inc. be liable for any lost revenue
     24  * or profits or other special, indirect and consequential damages, even if
     25  * Sun has been advised of the possibility of such damages.
     26  *
     27  * Sun Microsystems, Inc.
     28  * 2550 Garcia Avenue
     29  * Mountain View, California  94043
     30  */
     31 /*
     32  * Copyright (c) 1986 - 1991 by Sun Microsystems, Inc.
     33  */
     34 
     35 /*
     36  * rpcb_clnt.h
     37  * Supplies C routines to get to rpcbid services.
     38  *
     39  */
     40 
     41 /*
     42  * Usage:
     43  *	success = rpcb_set(program, version, nconf, address);
     44  *	success = rpcb_unset(program, version, nconf);
     45  *	success = rpcb_getaddr(program, version, nconf, host);
     46  *	head = rpcb_getmaps(nconf, host);
     47  *	clnt_stat = rpcb_rmtcall(nconf, host, program, version, procedure,
     48  *		xdrargs, argsp, xdrres, resp, tout, addr_ptr)
     49  *	success = rpcb_gettime(host, timep)
     50  *	uaddr = rpcb_taddr2uaddr(nconf, taddr);
     51  *	taddr = rpcb_uaddr2uaddr(nconf, uaddr);
     52  */
     53 
     54 #ifndef _RPC_RPCB_CLNT_H
     55 #define	_RPC_RPCB_CLNT_H
     56 
     57 /* #pragma ident	"@(#)rpcb_clnt.h	1.13	94/04/25 SMI" */
     58 /* rpcb_clnt.h 1.3 88/12/05 SMI */
     59 
     60 #include <rpc/types.h>
     61 #include <rpc/rpcb_prot.h>
     62 
     63 __BEGIN_DECLS
     64 extern bool_t rpcb_set(const rpcprog_t, const rpcvers_t,
     65 			const struct netconfig  *, const struct netbuf *);
     66 extern bool_t rpcb_unset(const rpcprog_t, const rpcvers_t,
     67 			 const struct netconfig *);
     68 extern rpcblist	*rpcb_getmaps(const struct netconfig *, const char *);
     69 extern enum clnt_stat rpcb_rmtcall(const struct netconfig *,
     70 				   const char *, const rpcprog_t,
     71 				   const rpcvers_t, const rpcproc_t,
     72 				   const xdrproc_t, const char *,
     73 				   const xdrproc_t, caddr_t,
     74 				   const struct timeval,
     75 				   const struct netbuf *);
     76 extern bool_t rpcb_getaddr(const rpcprog_t, const rpcvers_t,
     77 			   const struct netconfig *, struct netbuf *,
     78 			   const  char *);
     79 extern bool_t rpcb_gettime(const char *, time_t *);
     80 extern char *rpcb_taddr2uaddr(struct netconfig *, struct netbuf *);
     81 extern struct netbuf *rpcb_uaddr2taddr(struct netconfig *, char *);
     82 __END_DECLS
     83 
     84 #endif	/* !_RPC_RPCB_CLNT_H */
     85