2 * Please do not edit this file.
3 * It was generated using rpcgen.
6 #ifndef _RPCB_PROT_H_RPCGEN
7 #define _RPCB_PROT_H_RPCGEN
11 #ifndef IXDR_GET_INT32
12 #define IXDR_GET_INT32(buf) IXDR_GET_LONG((buf))
14 #ifndef IXDR_PUT_INT32
15 #define IXDR_PUT_INT32(buf, v) IXDR_PUT_LONG((buf), (v))
17 #ifndef IXDR_GET_U_INT32
18 #define IXDR_GET_U_INT32(buf) IXDR_GET_U_LONG((buf))
20 #ifndef IXDR_PUT_U_INT32
21 #define IXDR_PUT_U_INT32(buf, v) IXDR_PUT_U_LONG((buf), (v))
24 * $FreeBSD: src/include/rpc/rpcb_prot.x,v 1.3 2002/03/13 10:29:06 obrien Exp $
26 * Copyright (c) 2009, Sun Microsystems, Inc.
27 * All rights reserved.
29 * Redistribution and use in source and binary forms, with or without
30 * modification, are permitted provided that the following conditions are met:
31 * - Redistributions of source code must retain the above copyright notice,
32 * this list of conditions and the following disclaimer.
33 * - Redistributions in binary form must reproduce the above copyright notice,
34 * this list of conditions and the following disclaimer in the documentation
35 * and/or other materials provided with the distribution.
36 * - Neither the name of Sun Microsystems, Inc. nor the names of its
37 * contributors may be used to endorse or promote products derived
38 * from this software without specific prior written permission.
40 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
41 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
42 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
43 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
44 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
45 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
46 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
47 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
48 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
49 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
50 * POSSIBILITY OF SUCH DAMAGE.
53 * Copyright (c) 1988 by Sun Microsystems, Inc.
55 /* from rpcb_prot.x */
57 /* #pragma ident "@(#)rpcb_prot.x 1.5 94/04/29 SMI" */
63 * The following procedures are supported by the protocol in version 3:
65 * RPCBPROC_NULL() returns ()
66 * takes nothing, returns nothing
68 * RPCBPROC_SET(rpcb) returns (bool_t)
69 * TRUE is success, FALSE is failure. Registers the tuple
70 * [prog, vers, address, owner, netid].
71 * Finds out owner and netid information on its own.
73 * RPCBPROC_UNSET(rpcb) returns (bool_t)
74 * TRUE is success, FALSE is failure. Un-registers tuple
75 * [prog, vers, netid]. addresses is ignored.
76 * If netid is NULL, unregister all.
78 * RPCBPROC_GETADDR(rpcb) returns (string).
79 * 0 is failure. Otherwise returns the universal address where the
80 * triple [prog, vers, netid] is registered. Ignore address and owner.
82 * RPCBPROC_DUMP() RETURNS (rpcblist_ptr)
83 * used to dump the entire rpcbind maps
85 * RPCBPROC_CALLIT(rpcb_rmtcallargs)
86 * RETURNS (rpcb_rmtcallres);
87 * Calls the procedure on the remote machine. If it is not registered,
88 * this procedure is quiet; i.e. it does not return error information!!!
89 * This routine only passes null authentication parameters.
90 * It has no interface to xdr routines for RPCBPROC_CALLIT.
92 * RPCBPROC_GETTIME() returns (int).
93 * Gets the remote machines time
95 * RPCBPROC_UADDR2TADDR(strint) RETURNS (struct netbuf)
96 * Returns the netbuf address from universal address.
98 * RPCBPROC_TADDR2UADDR(struct netbuf) RETURNS (string)
99 * Returns the universal address from netbuf address.
101 * END OF RPCBIND VERSION 3 PROCEDURES
104 * Except for RPCBPROC_CALLIT, the procedures above are carried over to
105 * rpcbind version 4. Those below are added or modified for version 4.
106 * NOTE: RPCBPROC_BCAST HAS THE SAME FUNCTIONALITY AND PROCEDURE NUMBER
107 * AS RPCBPROC_CALLIT.
109 * RPCBPROC_BCAST(rpcb_rmtcallargs)
110 * RETURNS (rpcb_rmtcallres);
111 * Calls the procedure on the remote machine. If it is not registered,
112 * this procedure IS quiet; i.e. it DOES NOT return error information!!!
113 * This routine should be used for broadcasting and nothing else.
115 * RPCBPROC_GETVERSADDR(rpcb) returns (string).
116 * 0 is failure. Otherwise returns the universal address where the
117 * triple [prog, vers, netid] is registered. Ignore address and owner.
118 * Same as RPCBPROC_GETADDR except that if the given version number
119 * is not available, the address is not returned.
121 * RPCBPROC_INDIRECT(rpcb_rmtcallargs)
122 * RETURNS (rpcb_rmtcallres);
123 * Calls the procedure on the remote machine. If it is not registered,
124 * this procedure is NOT quiet; i.e. it DOES return error information!!!
125 * as any normal application would expect.
127 * RPCBPROC_GETADDRLIST(rpcb) returns (rpcb_entry_list_ptr).
128 * Same as RPCBPROC_GETADDR except that it returns a list of all the
129 * addresses registered for the combination (prog, vers) (for all
132 * RPCBPROC_GETSTAT(void) returns (rpcb_stat_byvers)
133 * Returns the statistics about the kind of requests received by rpcbind.
137 * A mapping of (program, version, network ID) to address
147 typedef struct rpcb rpcb
;
149 extern "C" bool_t
xdr_rpcb(XDR
*, rpcb
*);
151 extern bool_t
xdr_rpcb(XDR
*, rpcb
*);
152 #else /* Old Style C */
154 bool_t
xdr_rpcb(XDR
*, rpcb
*);
155 #endif /* Old Style C */
164 * Below are two definitions for the rpcblist structure. This is done because
165 * xdr_rpcblist() is specified to take a struct rpcblist **, rather than a
166 * struct rpcblist * that rpcgen would produce. One version of the rpcblist
167 * structure (actually called rp__list) is used with rpcgen, and the other is
168 * defined only in the header file for compatibility with the specified
174 struct rp__list
*rpcb_next
;
176 typedef struct rp__list rp__list
;
178 extern "C" bool_t
xdr_rp__list(XDR
*, rp__list
*);
180 extern bool_t
xdr_rp__list(XDR
*, rp__list
*);
181 #else /* Old Style C */
182 //bool_t xdr_rp__list();
183 bool_t
xdr_rp__list(XDR
*, rp__list
*);
184 #endif /* Old Style C */
187 typedef rp__list
*rpcblist_ptr
;
189 extern "C" bool_t
xdr_rpcblist_ptr(XDR
*, rpcblist_ptr
*);
191 extern bool_t
xdr_rpcblist_ptr(XDR
*, rpcblist_ptr
*);
192 #else /* Old Style C */
193 //bool_t xdr_rpcblist_ptr();
194 bool_t
xdr_rpcblist_ptr(XDR
*, rpcblist_ptr
*);
195 #endif /* Old Style C */
198 typedef struct rp__list rpcblist
;
199 typedef struct rp__list RPCBLIST
;
204 struct rpcblist
*rpcb_next
;
211 extern bool_t
xdr_rpcblist(XDR
*, rpcblist
**);
218 * Arguments of remote calls
221 struct rpcb_rmtcallargs
{
230 typedef struct rpcb_rmtcallargs rpcb_rmtcallargs
;
232 extern "C" bool_t
xdr_rpcb_rmtcallargs(XDR
*, rpcb_rmtcallargs
*);
234 extern bool_t
xdr_rpcb_rmtcallargs(XDR
*, rpcb_rmtcallargs
*);
235 #else /* Old Style C */
236 //bool_t xdr_rpcb_rmtcallargs();
237 bool_t
xdr_rpcb_rmtcallargs(XDR
*, rpcb_rmtcallargs
*);
238 #endif /* Old Style C */
242 * Client-side only representation of rpcb_rmtcallargs structure.
244 * The routine that XDRs the rpcb_rmtcallargs structure must deal with the
245 * opaque arguments in the "args" structure. xdr_rpcb_rmtcallargs() needs to
246 * be passed the XDR routine that knows the args' structure. This routine
247 * doesn't need to go over-the-wire (and it wouldn't make sense anyway) since
248 * the application being called already knows the args structure. So we use a
249 * different "XDR" structure on the client side, r_rpcb_rmtcallargs, which
250 * includes the args' XDR routine.
252 struct r_rpcb_rmtcallargs
{
260 xdrproc_t xdr_args
; /* encodes args */
265 * Results of the remote call
268 struct rpcb_rmtcallres
{
275 typedef struct rpcb_rmtcallres rpcb_rmtcallres
;
277 extern "C" bool_t
xdr_rpcb_rmtcallres(XDR
*, rpcb_rmtcallres
*);
279 extern bool_t
xdr_rpcb_rmtcallres(XDR
*, rpcb_rmtcallres
*);
280 #else /* Old Style C */
281 //bool_t xdr_rpcb_rmtcallres();
282 bool_t
xdr_rpcb_rmtcallres(XDR
*, rpcb_rmtcallres
*);
283 #endif /* Old Style C */
287 * Client-side only representation of rpcb_rmtcallres structure.
289 struct r_rpcb_rmtcallres
{
292 u_int32_t results_len
;
295 xdrproc_t xdr_res
; /* decodes results */
299 * rpcb_entry contains a merged address of a service on a particular
300 * transport, plus associated netconfig information. A list of rpcb_entrys
301 * is returned by RPCBPROC_GETADDRLIST. See netconfig.h for values used
308 u_int r_nc_semantics
;
309 char *r_nc_protofmly
;
312 typedef struct rpcb_entry rpcb_entry
;
314 extern "C" bool_t
xdr_rpcb_entry(XDR
*, rpcb_entry
*);
316 extern bool_t
xdr_rpcb_entry(XDR
*, rpcb_entry
*);
317 #else /* Old Style C */
318 bool_t
xdr_rpcb_entry();
319 #endif /* Old Style C */
323 * A list of addresses supported by a service.
326 struct rpcb_entry_list
{
327 rpcb_entry rpcb_entry_map
;
328 struct rpcb_entry_list
*rpcb_entry_next
;
330 typedef struct rpcb_entry_list rpcb_entry_list
;
332 extern "C" bool_t
xdr_rpcb_entry_list(XDR
*, rpcb_entry_list
*);
334 extern bool_t
xdr_rpcb_entry_list(XDR
*, rpcb_entry_list
*);
335 #else /* Old Style C */
336 bool_t
xdr_rpcb_entry_list();
337 #endif /* Old Style C */
340 typedef rpcb_entry_list
*rpcb_entry_list_ptr
;
342 extern "C" bool_t
xdr_rpcb_entry_list_ptr(XDR
*, rpcb_entry_list_ptr
*);
344 extern bool_t
xdr_rpcb_entry_list_ptr(XDR
*, rpcb_entry_list_ptr
*);
345 #else /* Old Style C */
346 bool_t
xdr_rpcb_entry_list_ptr();
347 #endif /* Old Style C */
354 #define rpcb_highproc_2 RPCBPROC_CALLIT
355 #define rpcb_highproc_3 RPCBPROC_TADDR2UADDR
356 #define rpcb_highproc_4 RPCBPROC_GETSTAT
357 #define RPCBSTAT_HIGHPROC 13
358 #define RPCBVERS_STAT 3
359 #define RPCBVERS_4_STAT 2
360 #define RPCBVERS_3_STAT 1
361 #define RPCBVERS_2_STAT 0
363 /* Link list of all the stats about getport and getaddr */
365 struct rpcbs_addrlist
{
371 struct rpcbs_addrlist
*next
;
373 typedef struct rpcbs_addrlist rpcbs_addrlist
;
375 extern "C" bool_t
xdr_rpcbs_addrlist(XDR
*, rpcbs_addrlist
*);
377 extern bool_t
xdr_rpcbs_addrlist(XDR
*, rpcbs_addrlist
*);
378 #else /* Old Style C */
379 bool_t
xdr_rpcbs_addrlist();
380 #endif /* Old Style C */
383 /* Link list of all the stats about rmtcall */
385 struct rpcbs_rmtcalllist
{
393 struct rpcbs_rmtcalllist
*next
;
395 typedef struct rpcbs_rmtcalllist rpcbs_rmtcalllist
;
397 extern "C" bool_t
xdr_rpcbs_rmtcalllist(XDR
*, rpcbs_rmtcalllist
*);
399 extern bool_t
xdr_rpcbs_rmtcalllist(XDR
*, rpcbs_rmtcalllist
*);
400 #else /* Old Style C */
401 bool_t
xdr_rpcbs_rmtcalllist();
402 #endif /* Old Style C */
405 typedef int rpcbs_proc
[RPCBSTAT_HIGHPROC
];
407 extern "C" bool_t
xdr_rpcbs_proc(XDR
*, rpcbs_proc
);
409 extern bool_t
xdr_rpcbs_proc(XDR
*, rpcbs_proc
);
410 #else /* Old Style C */
411 bool_t
xdr_rpcbs_proc();
412 #endif /* Old Style C */
415 typedef rpcbs_addrlist
*rpcbs_addrlist_ptr
;
417 extern "C" bool_t
xdr_rpcbs_addrlist_ptr(XDR
*, rpcbs_addrlist_ptr
*);
419 extern bool_t
xdr_rpcbs_addrlist_ptr(XDR
*, rpcbs_addrlist_ptr
*);
420 #else /* Old Style C */
421 bool_t
xdr_rpcbs_addrlist_ptr();
422 #endif /* Old Style C */
425 typedef rpcbs_rmtcalllist
*rpcbs_rmtcalllist_ptr
;
427 extern "C" bool_t
xdr_rpcbs_rmtcalllist_ptr(XDR
*, rpcbs_rmtcalllist_ptr
*);
429 extern bool_t
xdr_rpcbs_rmtcalllist_ptr(XDR
*, rpcbs_rmtcalllist_ptr
*);
430 #else /* Old Style C */
431 //bool_t xdr_rpcbs_rmtcalllist_ptr();
432 bool_t
xdr_rpcbs_rmtcalllist_ptr(XDR
*, rpcbs_rmtcalllist_ptr
*);
433 #endif /* Old Style C */
440 rpcbs_addrlist_ptr addrinfo
;
441 rpcbs_rmtcalllist_ptr rmtinfo
;
443 typedef struct rpcb_stat rpcb_stat
;
445 extern "C" bool_t
xdr_rpcb_stat(XDR
*, rpcb_stat
*);
447 extern bool_t
xdr_rpcb_stat(XDR
*, rpcb_stat
*);
448 #else /* Old Style C */
449 bool_t
xdr_rpcb_stat();
450 #endif /* Old Style C */
454 * One rpcb_stat structure is returned for each version of rpcbind
458 typedef rpcb_stat rpcb_stat_byvers
[RPCBVERS_STAT
];
460 extern "C" bool_t
xdr_rpcb_stat_byvers(XDR
*, rpcb_stat_byvers
);
462 extern bool_t
xdr_rpcb_stat_byvers(XDR
*, rpcb_stat_byvers
);
463 #else /* Old Style C */
464 bool_t
xdr_rpcb_stat_byvers();
465 #endif /* Old Style C */
469 * We don't define netbuf in RPCL, since it would contain structure member
470 * names that would conflict with the definition of struct netbuf in
471 * <tiuser.h>. Instead we merely declare the XDR routine xdr_netbuf() here,
472 * and implement it ourselves in rpc/rpcb_prot.c.
475 extern "C" bool_t
xdr_netbuf(XDR
*, struct netbuf
*);
478 extern bool_t
xdr_netbuf(XDR
*, struct netbuf
*);
482 #define RPCBVERS_3 RPCBVERS
483 #define RPCBVERS_4 RPCBVERS4
485 #define _PATH_RPCBINDSOCK "/var/run/rpcbind.sock"
487 #else /* ndef _KERNEL */
493 * A mapping of (program, version, network ID) to address
496 rpcprog_t r_prog
; /* program number */
497 rpcvers_t r_vers
; /* version number */
498 char *r_netid
; /* network id */
499 char *r_addr
; /* universal address */
500 char *r_owner
; /* owner of the mapping */
502 typedef struct rpcb RPCB
;
509 struct rpcblist
*rpcb_next
;
511 typedef struct rpcblist RPCBLIST
;
512 typedef struct rpcblist
*rpcblist_ptr
;
515 * Remote calls arguments
517 struct rpcb_rmtcallargs
{
518 rpcprog_t prog
; /* program number */
519 rpcvers_t vers
; /* version number */
520 rpcproc_t proc
; /* procedure number */
521 u_int32_t arglen
; /* arg len */
522 caddr_t args_ptr
; /* argument */
523 xdrproc_t xdr_args
; /* XDR routine for argument */
525 typedef struct rpcb_rmtcallargs rpcb_rmtcallargs
;
528 * Remote calls results
530 struct rpcb_rmtcallres
{
531 char *addr_ptr
; /* remote universal address */
532 u_int32_t resultslen
; /* results length */
533 caddr_t results_ptr
; /* results */
534 xdrproc_t xdr_results
; /* XDR routine for result */
536 typedef struct rpcb_rmtcallres rpcb_rmtcallres
;
541 unsigned int r_nc_semantics
;
542 char *r_nc_protofmly
;
545 typedef struct rpcb_entry rpcb_entry
;
548 * A list of addresses supported by a service.
551 struct rpcb_entry_list
{
552 rpcb_entry rpcb_entry_map
;
553 struct rpcb_entry_list
*rpcb_entry_next
;
555 typedef struct rpcb_entry_list rpcb_entry_list
;
557 typedef rpcb_entry_list
*rpcb_entry_list_ptr
;
563 #define rpcb_highproc_2 RPCBPROC_CALLIT
564 #define rpcb_highproc_3 RPCBPROC_TADDR2UADDR
565 #define rpcb_highproc_4 RPCBPROC_GETSTAT
566 #define RPCBSTAT_HIGHPROC 13
567 #define RPCBVERS_STAT 3
568 #define RPCBVERS_4_STAT 2
569 #define RPCBVERS_3_STAT 1
570 #define RPCBVERS_2_STAT 0
572 /* Link list of all the stats about getport and getaddr */
574 struct rpcbs_addrlist
{
580 struct rpcbs_addrlist
*next
;
582 typedef struct rpcbs_addrlist rpcbs_addrlist
;
584 /* Link list of all the stats about rmtcall */
586 struct rpcbs_rmtcalllist
{
594 struct rpcbs_rmtcalllist
*next
;
596 typedef struct rpcbs_rmtcalllist rpcbs_rmtcalllist
;
598 typedef int rpcbs_proc
[RPCBSTAT_HIGHPROC
];
600 typedef rpcbs_addrlist
*rpcbs_addrlist_ptr
;
602 typedef rpcbs_rmtcalllist
*rpcbs_rmtcalllist_ptr
;
608 rpcbs_addrlist_ptr addrinfo
;
609 rpcbs_rmtcalllist_ptr rmtinfo
;
611 typedef struct rpcb_stat rpcb_stat
;
614 * One rpcb_stat structure is returned for each version of rpcbind
618 typedef rpcb_stat rpcb_stat_byvers
[RPCBVERS_STAT
];
624 #endif /* ndef _KERNEL */
626 #define RPCBPROG ((u_int32_t)100000)
627 #define RPCBVERS ((u_int32_t)3)
630 #define RPCBPROC_SET ((u_int32_t)1)
631 extern "C" bool_t
* rpcbproc_set_3(rpcb
*, CLIENT
*);
632 extern "C" bool_t
* rpcbproc_set_3_svc(rpcb
*, struct svc_req
*);
633 #define RPCBPROC_UNSET ((u_int32_t)2)
634 extern "C" bool_t
* rpcbproc_unset_3(rpcb
*, CLIENT
*);
635 extern "C" bool_t
* rpcbproc_unset_3_svc(rpcb
*, struct svc_req
*);
636 #define RPCBPROC_GETADDR ((u_int32_t)3)
637 extern "C" char ** rpcbproc_getaddr_3(rpcb
*, CLIENT
*);
638 extern "C" char ** rpcbproc_getaddr_3_svc(rpcb
*, struct svc_req
*);
639 #define RPCBPROC_DUMP ((u_int32_t)4)
640 extern "C" rpcblist_ptr
* rpcbproc_dump_3(void *, CLIENT
*);
641 extern "C" rpcblist_ptr
* rpcbproc_dump_3_svc(void *, struct svc_req
*);
642 #define RPCBPROC_CALLIT ((u_int32_t)5)
643 extern "C" rpcb_rmtcallres
* rpcbproc_callit_3(rpcb_rmtcallargs
*, CLIENT
*);
644 extern "C" rpcb_rmtcallres
* rpcbproc_callit_3_svc(rpcb_rmtcallargs
*, struct svc_req
*);
645 #define RPCBPROC_GETTIME ((u_int32_t)6)
646 extern "C" u_int
* rpcbproc_gettime_3(void *, CLIENT
*);
647 extern "C" u_int
* rpcbproc_gettime_3_svc(void *, struct svc_req
*);
648 #define RPCBPROC_UADDR2TADDR ((u_int32_t)7)
649 extern "C" struct netbuf
* rpcbproc_uaddr2taddr_3(char **, CLIENT
*);
650 extern "C" struct netbuf
* rpcbproc_uaddr2taddr_3_svc(char **, struct svc_req
*);
651 #define RPCBPROC_TADDR2UADDR ((u_int32_t)8)
652 extern "C" char ** rpcbproc_taddr2uaddr_3(struct netbuf
*, CLIENT
*);
653 extern "C" char ** rpcbproc_taddr2uaddr_3_svc(struct netbuf
*, struct svc_req
*);
656 #define RPCBPROC_SET ((u_int32_t)1)
657 extern bool_t
* rpcbproc_set_3(rpcb
*, CLIENT
*);
658 extern bool_t
* rpcbproc_set_3_svc(rpcb
*, struct svc_req
*);
659 #define RPCBPROC_UNSET ((u_int32_t)2)
660 extern bool_t
* rpcbproc_unset_3(rpcb
*, CLIENT
*);
661 extern bool_t
* rpcbproc_unset_3_svc(rpcb
*, struct svc_req
*);
662 #define RPCBPROC_GETADDR ((u_int32_t)3)
663 extern char ** rpcbproc_getaddr_3(rpcb
*, CLIENT
*);
664 extern char ** rpcbproc_getaddr_3_svc(rpcb
*, struct svc_req
*);
665 #define RPCBPROC_DUMP ((u_int32_t)4)
666 extern rpcblist_ptr
* rpcbproc_dump_3(void *, CLIENT
*);
667 extern rpcblist_ptr
* rpcbproc_dump_3_svc(void *, struct svc_req
*);
668 #define RPCBPROC_CALLIT ((u_int32_t)5)
669 extern rpcb_rmtcallres
* rpcbproc_callit_3(rpcb_rmtcallargs
*, CLIENT
*);
670 extern rpcb_rmtcallres
* rpcbproc_callit_3_svc(rpcb_rmtcallargs
*, struct svc_req
*);
671 #define RPCBPROC_GETTIME ((u_int32_t)6)
672 extern u_int
* rpcbproc_gettime_3(void *, CLIENT
*);
673 extern u_int
* rpcbproc_gettime_3_svc(void *, struct svc_req
*);
674 #define RPCBPROC_UADDR2TADDR ((u_int32_t)7)
675 extern struct netbuf
* rpcbproc_uaddr2taddr_3(char **, CLIENT
*);
676 extern struct netbuf
* rpcbproc_uaddr2taddr_3_svc(char **, struct svc_req
*);
677 #define RPCBPROC_TADDR2UADDR ((u_int32_t)8)
678 extern char ** rpcbproc_taddr2uaddr_3(struct netbuf
*, CLIENT
*);
679 extern char ** rpcbproc_taddr2uaddr_3_svc(struct netbuf
*, struct svc_req
*);
681 #else /* Old Style C */
682 #define RPCBPROC_SET ((u_int32_t)1)
683 extern bool_t
* rpcbproc_set_3();
684 extern bool_t
* rpcbproc_set_3_svc();
685 #define RPCBPROC_UNSET ((u_int32_t)2)
686 extern bool_t
* rpcbproc_unset_3();
687 extern bool_t
* rpcbproc_unset_3_svc();
688 #define RPCBPROC_GETADDR ((u_int32_t)3)
689 extern char ** rpcbproc_getaddr_3();
690 extern char ** rpcbproc_getaddr_3_svc();
691 #define RPCBPROC_DUMP ((u_int32_t)4)
692 extern rpcblist_ptr
* rpcbproc_dump_3();
693 extern rpcblist_ptr
* rpcbproc_dump_3_svc();
694 #define RPCBPROC_CALLIT ((u_int32_t)5)
695 extern rpcb_rmtcallres
* rpcbproc_callit_3();
696 extern rpcb_rmtcallres
* rpcbproc_callit_3_svc();
697 #define RPCBPROC_GETTIME ((u_int32_t)6)
698 extern u_int
* rpcbproc_gettime_3();
699 extern u_int
* rpcbproc_gettime_3_svc();
700 #define RPCBPROC_UADDR2TADDR ((u_int32_t)7)
701 extern struct netbuf
* rpcbproc_uaddr2taddr_3();
702 extern struct netbuf
* rpcbproc_uaddr2taddr_3_svc();
703 #define RPCBPROC_TADDR2UADDR ((u_int32_t)8)
704 extern char ** rpcbproc_taddr2uaddr_3();
705 extern char ** rpcbproc_taddr2uaddr_3_svc();
706 #endif /* Old Style C */
707 #define RPCBVERS4 ((u_int32_t)4)
710 extern "C" bool_t
* rpcbproc_set_4(rpcb
*, CLIENT
*);
711 extern "C" bool_t
* rpcbproc_set_4_svc(rpcb
*, struct svc_req
*);
712 extern "C" bool_t
* rpcbproc_unset_4(rpcb
*, CLIENT
*);
713 extern "C" bool_t
* rpcbproc_unset_4_svc(rpcb
*, struct svc_req
*);
714 extern "C" char ** rpcbproc_getaddr_4(rpcb
*, CLIENT
*);
715 extern "C" char ** rpcbproc_getaddr_4_svc(rpcb
*, struct svc_req
*);
716 extern "C" rpcblist_ptr
* rpcbproc_dump_4(void *, CLIENT
*);
717 extern "C" rpcblist_ptr
* rpcbproc_dump_4_svc(void *, struct svc_req
*);
718 #define RPCBPROC_BCAST ((u_int32_t)RPCBPROC_CALLIT)
719 extern "C" rpcb_rmtcallres
* rpcbproc_bcast_4(rpcb_rmtcallargs
*, CLIENT
*);
720 extern "C" rpcb_rmtcallres
* rpcbproc_bcast_4_svc(rpcb_rmtcallargs
*, struct svc_req
*);
721 extern "C" u_int
* rpcbproc_gettime_4(void *, CLIENT
*);
722 extern "C" u_int
* rpcbproc_gettime_4_svc(void *, struct svc_req
*);
723 extern "C" struct netbuf
* rpcbproc_uaddr2taddr_4(char **, CLIENT
*);
724 extern "C" struct netbuf
* rpcbproc_uaddr2taddr_4_svc(char **, struct svc_req
*);
725 extern "C" char ** rpcbproc_taddr2uaddr_4(struct netbuf
*, CLIENT
*);
726 extern "C" char ** rpcbproc_taddr2uaddr_4_svc(struct netbuf
*, struct svc_req
*);
727 #define RPCBPROC_GETVERSADDR ((u_int32_t)9)
728 extern "C" char ** rpcbproc_getversaddr_4(rpcb
*, CLIENT
*);
729 extern "C" char ** rpcbproc_getversaddr_4_svc(rpcb
*, struct svc_req
*);
730 #define RPCBPROC_INDIRECT ((u_int32_t)10)
731 extern "C" rpcb_rmtcallres
* rpcbproc_indirect_4(rpcb_rmtcallargs
*, CLIENT
*);
732 extern "C" rpcb_rmtcallres
* rpcbproc_indirect_4_svc(rpcb_rmtcallargs
*, struct svc_req
*);
733 #define RPCBPROC_GETADDRLIST ((u_int32_t)11)
734 extern "C" rpcb_entry_list_ptr
* rpcbproc_getaddrlist_4(rpcb
*, CLIENT
*);
735 extern "C" rpcb_entry_list_ptr
* rpcbproc_getaddrlist_4_svc(rpcb
*, struct svc_req
*);
736 #define RPCBPROC_GETSTAT ((u_int32_t)12)
737 extern "C" rpcb_stat
* rpcbproc_getstat_4(void *, CLIENT
*);
738 extern "C" rpcb_stat
* rpcbproc_getstat_4_svc(void *, struct svc_req
*);
741 extern bool_t
* rpcbproc_set_4(rpcb
*, CLIENT
*);
742 extern bool_t
* rpcbproc_set_4_svc(rpcb
*, struct svc_req
*);
743 extern bool_t
* rpcbproc_unset_4(rpcb
*, CLIENT
*);
744 extern bool_t
* rpcbproc_unset_4_svc(rpcb
*, struct svc_req
*);
745 extern char ** rpcbproc_getaddr_4(rpcb
*, CLIENT
*);
746 extern char ** rpcbproc_getaddr_4_svc(rpcb
*, struct svc_req
*);
747 extern rpcblist_ptr
* rpcbproc_dump_4(void *, CLIENT
*);
748 extern rpcblist_ptr
* rpcbproc_dump_4_svc(void *, struct svc_req
*);
749 #define RPCBPROC_BCAST ((u_int32_t)RPCBPROC_CALLIT)
750 extern rpcb_rmtcallres
* rpcbproc_bcast_4(rpcb_rmtcallargs
*, CLIENT
*);
751 extern rpcb_rmtcallres
* rpcbproc_bcast_4_svc(rpcb_rmtcallargs
*, struct svc_req
*);
752 extern u_int
* rpcbproc_gettime_4(void *, CLIENT
*);
753 extern u_int
* rpcbproc_gettime_4_svc(void *, struct svc_req
*);
754 extern struct netbuf
* rpcbproc_uaddr2taddr_4(char **, CLIENT
*);
755 extern struct netbuf
* rpcbproc_uaddr2taddr_4_svc(char **, struct svc_req
*);
756 extern char ** rpcbproc_taddr2uaddr_4(struct netbuf
*, CLIENT
*);
757 extern char ** rpcbproc_taddr2uaddr_4_svc(struct netbuf
*, struct svc_req
*);
758 #define RPCBPROC_GETVERSADDR ((u_int32_t)9)
759 extern char ** rpcbproc_getversaddr_4(rpcb
*, CLIENT
*);
760 extern char ** rpcbproc_getversaddr_4_svc(rpcb
*, struct svc_req
*);
761 #define RPCBPROC_INDIRECT ((u_int32_t)10)
762 extern rpcb_rmtcallres
* rpcbproc_indirect_4(rpcb_rmtcallargs
*, CLIENT
*);
763 extern rpcb_rmtcallres
* rpcbproc_indirect_4_svc(rpcb_rmtcallargs
*, struct svc_req
*);
764 #define RPCBPROC_GETADDRLIST ((u_int32_t)11)
765 extern rpcb_entry_list_ptr
* rpcbproc_getaddrlist_4(rpcb
*, CLIENT
*);
766 extern rpcb_entry_list_ptr
* rpcbproc_getaddrlist_4_svc(rpcb
*, struct svc_req
*);
767 #define RPCBPROC_GETSTAT ((u_int32_t)12)
768 extern rpcb_stat
* rpcbproc_getstat_4(void *, CLIENT
*);
769 extern rpcb_stat
* rpcbproc_getstat_4_svc(void *, struct svc_req
*);
771 #else /* Old Style C */
772 extern bool_t
* rpcbproc_set_4();
773 extern bool_t
* rpcbproc_set_4_svc();
774 extern bool_t
* rpcbproc_unset_4();
775 extern bool_t
* rpcbproc_unset_4_svc();
776 extern char ** rpcbproc_getaddr_4();
777 extern char ** rpcbproc_getaddr_4_svc();
778 extern rpcblist_ptr
* rpcbproc_dump_4();
779 extern rpcblist_ptr
* rpcbproc_dump_4_svc();
780 #define RPCBPROC_BCAST ((u_int32_t)RPCBPROC_CALLIT)
781 extern rpcb_rmtcallres
* rpcbproc_bcast_4();
782 extern rpcb_rmtcallres
* rpcbproc_bcast_4_svc();
783 extern u_int
* rpcbproc_gettime_4();
784 extern u_int
* rpcbproc_gettime_4_svc();
785 extern struct netbuf
* rpcbproc_uaddr2taddr_4();
786 extern struct netbuf
* rpcbproc_uaddr2taddr_4_svc();
787 extern char ** rpcbproc_taddr2uaddr_4();
788 extern char ** rpcbproc_taddr2uaddr_4_svc();
789 #define RPCBPROC_GETVERSADDR ((u_int32_t)9)
790 extern char ** rpcbproc_getversaddr_4();
791 extern char ** rpcbproc_getversaddr_4_svc();
792 #define RPCBPROC_INDIRECT ((u_int32_t)10)
793 extern rpcb_rmtcallres
* rpcbproc_indirect_4();
794 extern rpcb_rmtcallres
* rpcbproc_indirect_4_svc();
795 #define RPCBPROC_GETADDRLIST ((u_int32_t)11)
796 extern rpcb_entry_list_ptr
* rpcbproc_getaddrlist_4();
797 extern rpcb_entry_list_ptr
* rpcbproc_getaddrlist_4_svc();
798 #define RPCBPROC_GETSTAT ((u_int32_t)12)
799 extern rpcb_stat
* rpcbproc_getstat_4();
800 extern rpcb_stat
* rpcbproc_getstat_4_svc();
801 #endif /* Old Style C */
803 #endif /* !_RPCB_PROT_H_RPCGEN */