The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/rpc/rpcb_prot.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*
    2  * Please do not edit this file.
    3  * It was generated using rpcgen.
    4  */
    5 
    6 #ifndef _RPCB_PROT_H_RPCGEN
    7 #define _RPCB_PROT_H_RPCGEN
    8 
    9 #include <rpc/rpc.h>
   10 
   11 #ifdef __cplusplus
   12 extern "C" {
   13 #endif
   14 
   15 /*-
   16  * Copyright (c) 2009, Sun Microsystems, Inc.
   17  * All rights reserved.
   18  *
   19  * Redistribution and use in source and binary forms, with or without
   20  * modification, are permitted provided that the following conditions are met:
   21  * - Redistributions of source code must retain the above copyright notice,
   22  *   this list of conditions and the following disclaimer.
   23  * - Redistributions in binary form must reproduce the above copyright notice,
   24  *   this list of conditions and the following disclaimer in the documentation
   25  *   and/or other materials provided with the distribution.
   26  * - Neither the name of Sun Microsystems, Inc. nor the names of its
   27  *   contributors may be used to endorse or promote products derived
   28  *   from this software without specific prior written permission.
   29  *
   30  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
   31  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   32  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   33  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
   34  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR   
   35  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
   36  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
   37  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
   38  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   39  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
   40  * POSSIBILITY OF SUCH DAMAGE.
   41  *
   42  * $FreeBSD: releng/11.1/sys/rpc/rpcb_prot.h 258578 2013-11-25 19:04:36Z hrs $
   43  */
   44 /*
   45  * Copyright (c) 1988 by Sun Microsystems, Inc.
   46  */
   47 /* from rpcb_prot.x */
   48 
   49 /* #pragma ident        "@(#)rpcb_prot.x        1.5     94/04/29 SMI" */
   50 
   51 #ifndef _KERNEL
   52 
   53 
   54 /*
   55  * The following procedures are supported by the protocol in version 3:
   56  *
   57  * RPCBPROC_NULL() returns ()
   58  *      takes nothing, returns nothing
   59  *
   60  * RPCBPROC_SET(rpcb) returns (bool_t)
   61  *      TRUE is success, FALSE is failure.  Registers the tuple
   62  *      [prog, vers, address, owner, netid].
   63  *      Finds out owner and netid information on its own.
   64  *
   65  * RPCBPROC_UNSET(rpcb) returns (bool_t)
   66  *      TRUE is success, FALSE is failure.  Un-registers tuple
   67  *      [prog, vers, netid].  addresses is ignored.
   68  *      If netid is NULL, unregister all.
   69  *
   70  * RPCBPROC_GETADDR(rpcb) returns (string).
   71  *      0 is failure.  Otherwise returns the universal address where the
   72  *      triple [prog, vers, netid] is registered.  Ignore address and owner.
   73  *
   74  * RPCBPROC_DUMP() RETURNS (rpcblist_ptr)
   75  *      used to dump the entire rpcbind maps
   76  *
   77  * RPCBPROC_CALLIT(rpcb_rmtcallargs)
   78  *      RETURNS (rpcb_rmtcallres);
   79  *      Calls the procedure on the remote machine.  If it is not registered,
   80  *      this procedure is quiet; i.e. it does not return error information!!!
   81  *      This routine only passes null authentication parameters.
   82  *      It has no interface to xdr routines for RPCBPROC_CALLIT.
   83  *
   84  * RPCBPROC_GETTIME() returns (int).
   85  *      Gets the remote machines time
   86  *
   87  * RPCBPROC_UADDR2TADDR(strint) RETURNS (struct netbuf)
   88  *      Returns the netbuf address from universal address.
   89  *
   90  * RPCBPROC_TADDR2UADDR(struct netbuf) RETURNS (string)
   91  *      Returns the universal address from netbuf address.
   92  *
   93  * END OF RPCBIND VERSION 3 PROCEDURES
   94  */
   95 /*
   96  * Except for RPCBPROC_CALLIT, the procedures above are carried over to
   97  * rpcbind version 4.  Those below are added or modified for version 4.
   98  * NOTE: RPCBPROC_BCAST HAS THE SAME FUNCTIONALITY AND PROCEDURE NUMBER
   99  * AS RPCBPROC_CALLIT.
  100  *
  101  * RPCBPROC_BCAST(rpcb_rmtcallargs)
  102  *      RETURNS (rpcb_rmtcallres);
  103  *      Calls the procedure on the remote machine.  If it is not registered,
  104  *      this procedure IS quiet; i.e. it DOES NOT return error information!!!
  105  *      This routine should be used for broadcasting and nothing else.
  106  *
  107  * RPCBPROC_GETVERSADDR(rpcb) returns (string).
  108  *      0 is failure.  Otherwise returns the universal address where the
  109  *      triple [prog, vers, netid] is registered.  Ignore address and owner.
  110  *      Same as RPCBPROC_GETADDR except that if the given version number
  111  *      is not available, the address is not returned.
  112  *
  113  * RPCBPROC_INDIRECT(rpcb_rmtcallargs)
  114  *      RETURNS (rpcb_rmtcallres);
  115  *      Calls the procedure on the remote machine.  If it is not registered,
  116  *      this procedure is NOT quiet; i.e. it DOES return error information!!!
  117  *      as any normal application would expect.
  118  *
  119  * RPCBPROC_GETADDRLIST(rpcb) returns (rpcb_entry_list_ptr).
  120  *      Same as RPCBPROC_GETADDR except that it returns a list of all the
  121  *      addresses registered for the combination (prog, vers) (for all
  122  *      transports).
  123  *
  124  * RPCBPROC_GETSTAT(void) returns (rpcb_stat_byvers)
  125  *      Returns the statistics about the kind of requests received by rpcbind.
  126  */
  127 
  128 /*
  129  * A mapping of (program, version, network ID) to address
  130  */
  131 
  132 struct rpcb {
  133         rpcprog_t r_prog;
  134         rpcvers_t r_vers;
  135         char *r_netid;
  136         char *r_addr;
  137         char *r_owner;
  138 };
  139 typedef struct rpcb rpcb;
  140 
  141 typedef rpcb RPCB;
  142 
  143 
  144 /*
  145  * A list of mappings
  146  *
  147  * Below are two definitions for the rpcblist structure.  This is done because
  148  * xdr_rpcblist() is specified to take a struct rpcblist **, rather than a
  149  * struct rpcblist * that rpcgen would produce.  One version of the rpcblist
  150  * structure (actually called rp__list) is used with rpcgen, and the other is
  151  * defined only in the header file for compatibility with the specified
  152  * interface.
  153  */
  154 
  155 struct rp__list {
  156         rpcb rpcb_map;
  157         struct rp__list *rpcb_next;
  158 };
  159 typedef struct rp__list rp__list;
  160 
  161 typedef rp__list *rpcblist_ptr;
  162 
  163 typedef struct rp__list rpcblist;
  164 typedef struct rp__list RPCBLIST;
  165 
  166 #ifndef __cplusplus
  167 struct rpcblist {
  168  RPCB rpcb_map;
  169  struct rpcblist *rpcb_next;
  170 };
  171 #endif
  172 
  173 #ifdef __cplusplus
  174 extern "C" {
  175 #endif
  176 extern bool_t xdr_rpcblist(XDR *, rpcblist**);
  177 #ifdef __cplusplus
  178 }
  179 #endif
  180 
  181 
  182 /*
  183  * Arguments of remote calls
  184  */
  185 
  186 struct rpcb_rmtcallargs {
  187         rpcprog_t prog;
  188         rpcvers_t vers;
  189         rpcproc_t proc;
  190         struct {
  191                 u_int args_len;
  192                 char *args_val;
  193         } args;
  194 };
  195 typedef struct rpcb_rmtcallargs rpcb_rmtcallargs;
  196 
  197 /*
  198  * Client-side only representation of rpcb_rmtcallargs structure.
  199  *
  200  * The routine that XDRs the rpcb_rmtcallargs structure must deal with the
  201  * opaque arguments in the "args" structure.  xdr_rpcb_rmtcallargs() needs to
  202  * be passed the XDR routine that knows the args' structure.  This routine
  203  * doesn't need to go over-the-wire (and it wouldn't make sense anyway) since
  204  * the application being called already knows the args structure.  So we use a
  205  * different "XDR" structure on the client side, r_rpcb_rmtcallargs, which
  206  * includes the args' XDR routine.
  207  */
  208 struct r_rpcb_rmtcallargs {
  209  rpcprog_t prog;
  210  rpcvers_t vers;
  211  rpcproc_t proc;
  212  struct {
  213  u_int args_len;
  214  char *args_val;
  215  } args;
  216  xdrproc_t xdr_args; /* encodes args */
  217 };
  218 
  219 
  220 /*
  221  * Results of the remote call
  222  */
  223 
  224 struct rpcb_rmtcallres {
  225         char *addr;
  226         struct {
  227                 u_int results_len;
  228                 char *results_val;
  229         } results;
  230 };
  231 typedef struct rpcb_rmtcallres rpcb_rmtcallres;
  232 
  233 /*
  234  * Client-side only representation of rpcb_rmtcallres structure.
  235  */
  236 struct r_rpcb_rmtcallres {
  237  char *addr;
  238  struct {
  239  uint32_t results_len;
  240  char *results_val;
  241  } results;
  242  xdrproc_t xdr_res; /* decodes results */
  243 };
  244 
  245 /*
  246  * rpcb_entry contains a merged address of a service on a particular
  247  * transport, plus associated netconfig information.  A list of rpcb_entrys
  248  * is returned by RPCBPROC_GETADDRLIST.  See netconfig.h for values used
  249  * in r_nc_* fields.
  250  */
  251 
  252 struct rpcb_entry {
  253         char *r_maddr;
  254         char *r_nc_netid;
  255         u_int r_nc_semantics;
  256         char *r_nc_protofmly;
  257         char *r_nc_proto;
  258 };
  259 typedef struct rpcb_entry rpcb_entry;
  260 
  261 /*
  262  * A list of addresses supported by a service.
  263  */
  264 
  265 struct rpcb_entry_list {
  266         rpcb_entry rpcb_entry_map;
  267         struct rpcb_entry_list *rpcb_entry_next;
  268 };
  269 typedef struct rpcb_entry_list rpcb_entry_list;
  270 
  271 typedef rpcb_entry_list *rpcb_entry_list_ptr;
  272 
  273 /*
  274  * rpcbind statistics
  275  */
  276 
  277 #define rpcb_highproc_2 RPCBPROC_CALLIT
  278 #define rpcb_highproc_3 RPCBPROC_TADDR2UADDR
  279 #define rpcb_highproc_4 RPCBPROC_GETSTAT
  280 #define RPCBSTAT_HIGHPROC 13
  281 #define RPCBVERS_STAT 3
  282 #define RPCBVERS_4_STAT 2
  283 #define RPCBVERS_3_STAT 1
  284 #define RPCBVERS_2_STAT 0
  285 
  286 /* Link list of all the stats about getport and getaddr */
  287 
  288 struct rpcbs_addrlist {
  289         rpcprog_t prog;
  290         rpcvers_t vers;
  291         int success;
  292         int failure;
  293         char *netid;
  294         struct rpcbs_addrlist *next;
  295 };
  296 typedef struct rpcbs_addrlist rpcbs_addrlist;
  297 
  298 /* Link list of all the stats about rmtcall */
  299 
  300 struct rpcbs_rmtcalllist {
  301         rpcprog_t prog;
  302         rpcvers_t vers;
  303         rpcproc_t proc;
  304         int success;
  305         int failure;
  306         int indirect;
  307         char *netid;
  308         struct rpcbs_rmtcalllist *next;
  309 };
  310 typedef struct rpcbs_rmtcalllist rpcbs_rmtcalllist;
  311 
  312 typedef int rpcbs_proc[RPCBSTAT_HIGHPROC];
  313 
  314 typedef rpcbs_addrlist *rpcbs_addrlist_ptr;
  315 
  316 typedef rpcbs_rmtcalllist *rpcbs_rmtcalllist_ptr;
  317 
  318 struct rpcb_stat {
  319         rpcbs_proc info;
  320         int setinfo;
  321         int unsetinfo;
  322         rpcbs_addrlist_ptr addrinfo;
  323         rpcbs_rmtcalllist_ptr rmtinfo;
  324 };
  325 typedef struct rpcb_stat rpcb_stat;
  326 
  327 /*
  328  * One rpcb_stat structure is returned for each version of rpcbind
  329  * being monitored.
  330  */
  331 
  332 typedef rpcb_stat rpcb_stat_byvers[RPCBVERS_STAT];
  333 
  334 /*
  335  * We don't define netbuf in RPCL, since it would contain structure member
  336  * names that would conflict with the definition of struct netbuf in
  337  * <tiuser.h>.  Instead we merely declare the XDR routine xdr_netbuf() here,
  338  * and implement it ourselves in rpc/rpcb_prot.c.
  339  */
  340 #ifdef __cplusplus
  341 extern "C" bool_t xdr_netbuf(XDR *, struct netbuf *);
  342 
  343 #else /* __STDC__ */
  344 extern bool_t xdr_netbuf(XDR *, struct netbuf *);
  345 
  346 #endif
  347 
  348 #define RPCBVERS_3 RPCBVERS
  349 #define RPCBVERS_4 RPCBVERS4
  350 
  351 #else /* ndef _KERNEL */
  352 #ifdef __cplusplus
  353 extern "C" {
  354 #endif
  355 
  356 /*
  357  * A mapping of (program, version, network ID) to address
  358  */
  359 struct rpcb {
  360  rpcprog_t r_prog; /* program number */
  361  rpcvers_t r_vers; /* version number */
  362  char *r_netid; /* network id */
  363  char *r_addr; /* universal address */
  364  char *r_owner; /* owner of the mapping */
  365 };
  366 typedef struct rpcb RPCB;
  367 
  368 /*
  369  * A list of mappings
  370  */
  371 struct rpcblist {
  372  RPCB rpcb_map;
  373  struct rpcblist *rpcb_next;
  374 };
  375 typedef struct rpcblist RPCBLIST;
  376 typedef struct rpcblist *rpcblist_ptr;
  377 
  378 /*
  379  * Remote calls arguments
  380  */
  381 struct rpcb_rmtcallargs {
  382  rpcprog_t prog; /* program number */
  383  rpcvers_t vers; /* version number */
  384  rpcproc_t proc; /* procedure number */
  385  uint32_t arglen; /* arg len */
  386  caddr_t args_ptr; /* argument */
  387  xdrproc_t xdr_args; /* XDR routine for argument */
  388 };
  389 typedef struct rpcb_rmtcallargs rpcb_rmtcallargs;
  390 
  391 /*
  392  * Remote calls results
  393  */
  394 struct rpcb_rmtcallres {
  395  char *addr_ptr; /* remote universal address */
  396  uint32_t resultslen; /* results length */
  397  caddr_t results_ptr; /* results */
  398  xdrproc_t xdr_results; /* XDR routine for result */
  399 };
  400 typedef struct rpcb_rmtcallres rpcb_rmtcallres;
  401 
  402 struct rpcb_entry {
  403  char *r_maddr;
  404  char *r_nc_netid;
  405  unsigned int r_nc_semantics;
  406  char *r_nc_protofmly;
  407  char *r_nc_proto;
  408 };
  409 typedef struct rpcb_entry rpcb_entry;
  410 
  411 /*
  412  * A list of addresses supported by a service.
  413  */
  414 
  415 struct rpcb_entry_list {
  416  rpcb_entry rpcb_entry_map;
  417  struct rpcb_entry_list *rpcb_entry_next;
  418 };
  419 typedef struct rpcb_entry_list rpcb_entry_list;
  420 
  421 typedef rpcb_entry_list *rpcb_entry_list_ptr;
  422 
  423 /*
  424  * rpcbind statistics
  425  */
  426 
  427 #define rpcb_highproc_2 RPCBPROC_CALLIT
  428 #define rpcb_highproc_3 RPCBPROC_TADDR2UADDR
  429 #define rpcb_highproc_4 RPCBPROC_GETSTAT
  430 #define RPCBSTAT_HIGHPROC 13
  431 #define RPCBVERS_STAT 3
  432 #define RPCBVERS_4_STAT 2
  433 #define RPCBVERS_3_STAT 1
  434 #define RPCBVERS_2_STAT 0
  435 
  436 /* Link list of all the stats about getport and getaddr */
  437 
  438 struct rpcbs_addrlist {
  439  rpcprog_t prog;
  440  rpcvers_t vers;
  441  int success;
  442  int failure;
  443  char *netid;
  444  struct rpcbs_addrlist *next;
  445 };
  446 typedef struct rpcbs_addrlist rpcbs_addrlist;
  447 
  448 /* Link list of all the stats about rmtcall */
  449 
  450 struct rpcbs_rmtcalllist {
  451  rpcprog_t prog;
  452  rpcvers_t vers;
  453  rpcproc_t proc;
  454  int success;
  455  int failure;
  456  int indirect;
  457  char *netid;
  458  struct rpcbs_rmtcalllist *next;
  459 };
  460 typedef struct rpcbs_rmtcalllist rpcbs_rmtcalllist;
  461 
  462 typedef int rpcbs_proc[RPCBSTAT_HIGHPROC];
  463 
  464 typedef rpcbs_addrlist *rpcbs_addrlist_ptr;
  465 
  466 typedef rpcbs_rmtcalllist *rpcbs_rmtcalllist_ptr;
  467 
  468 struct rpcb_stat {
  469  rpcbs_proc info;
  470  int setinfo;
  471  int unsetinfo;
  472  rpcbs_addrlist_ptr addrinfo;
  473  rpcbs_rmtcalllist_ptr rmtinfo;
  474 };
  475 typedef struct rpcb_stat rpcb_stat;
  476 
  477 /*
  478  * One rpcb_stat structure is returned for each version of rpcbind
  479  * being monitored.
  480  */
  481 
  482 typedef rpcb_stat rpcb_stat_byvers[RPCBVERS_STAT];
  483 
  484 #ifdef __cplusplus
  485 }
  486 #endif
  487 
  488 #endif /* ndef _KERNEL */
  489 
  490 #define _PATH_RPCBINDSOCK "/var/run/rpcbind.sock"
  491 
  492 #define RPCBPROG ((unsigned long)(100000))
  493 #define RPCBVERS ((unsigned long)(3))
  494 
  495 extern  void rpcbprog_3(struct svc_req *rqstp, SVCXPRT *transp);
  496 #define RPCBPROC_SET ((unsigned long)(1))
  497 extern  bool_t * rpcbproc_set_3(RPCB *, CLIENT *);
  498 extern  bool_t * rpcbproc_set_3_svc(RPCB *, struct svc_req *);
  499 #define RPCBPROC_UNSET ((unsigned long)(2))
  500 extern  bool_t * rpcbproc_unset_3(RPCB *, CLIENT *);
  501 extern  bool_t * rpcbproc_unset_3_svc(RPCB *, struct svc_req *);
  502 #define RPCBPROC_GETADDR ((unsigned long)(3))
  503 extern  char ** rpcbproc_getaddr_3(RPCB *, CLIENT *);
  504 extern  char ** rpcbproc_getaddr_3_svc(RPCB *, struct svc_req *);
  505 #define RPCBPROC_DUMP ((unsigned long)(4))
  506 extern  rpcblist_ptr * rpcbproc_dump_3(void *, CLIENT *);
  507 extern  rpcblist_ptr * rpcbproc_dump_3_svc(void *, struct svc_req *);
  508 #define RPCBPROC_CALLIT ((unsigned long)(5))
  509 extern  rpcb_rmtcallres * rpcbproc_callit_3(rpcb_rmtcallargs *, CLIENT *);
  510 extern  rpcb_rmtcallres * rpcbproc_callit_3_svc(rpcb_rmtcallargs *, struct svc_req *);
  511 #define RPCBPROC_GETTIME ((unsigned long)(6))
  512 extern  u_int * rpcbproc_gettime_3(void *, CLIENT *);
  513 extern  u_int * rpcbproc_gettime_3_svc(void *, struct svc_req *);
  514 #define RPCBPROC_UADDR2TADDR ((unsigned long)(7))
  515 extern  struct netbuf * rpcbproc_uaddr2taddr_3(char **, CLIENT *);
  516 extern  struct netbuf * rpcbproc_uaddr2taddr_3_svc(char **, struct svc_req *);
  517 #define RPCBPROC_TADDR2UADDR ((unsigned long)(8))
  518 extern  char ** rpcbproc_taddr2uaddr_3(struct netbuf *, CLIENT *);
  519 extern  char ** rpcbproc_taddr2uaddr_3_svc(struct netbuf *, struct svc_req *);
  520 extern int rpcbprog_3_freeresult(SVCXPRT *, xdrproc_t, caddr_t);
  521 #define RPCBVERS4 ((unsigned long)(4))
  522 
  523 extern  void rpcbprog_4(struct svc_req *rqstp, SVCXPRT *transp);
  524 extern  bool_t * rpcbproc_set_4(RPCB *, CLIENT *);
  525 extern  bool_t * rpcbproc_set_4_svc(RPCB *, struct svc_req *);
  526 extern  bool_t * rpcbproc_unset_4(RPCB *, CLIENT *);
  527 extern  bool_t * rpcbproc_unset_4_svc(RPCB *, struct svc_req *);
  528 extern  char ** rpcbproc_getaddr_4(RPCB *, CLIENT *);
  529 extern  char ** rpcbproc_getaddr_4_svc(RPCB *, struct svc_req *);
  530 extern  rpcblist_ptr * rpcbproc_dump_4(void *, CLIENT *);
  531 extern  rpcblist_ptr * rpcbproc_dump_4_svc(void *, struct svc_req *);
  532 #define RPCBPROC_BCAST ((unsigned long)(RPCBPROC_CALLIT))
  533 extern  rpcb_rmtcallres * rpcbproc_bcast_4(rpcb_rmtcallargs *, CLIENT *);
  534 extern  rpcb_rmtcallres * rpcbproc_bcast_4_svc(rpcb_rmtcallargs *, struct svc_req *);
  535 extern  u_int * rpcbproc_gettime_4(void *, CLIENT *);
  536 extern  u_int * rpcbproc_gettime_4_svc(void *, struct svc_req *);
  537 extern  struct netbuf * rpcbproc_uaddr2taddr_4(char **, CLIENT *);
  538 extern  struct netbuf * rpcbproc_uaddr2taddr_4_svc(char **, struct svc_req *);
  539 extern  char ** rpcbproc_taddr2uaddr_4(struct netbuf *, CLIENT *);
  540 extern  char ** rpcbproc_taddr2uaddr_4_svc(struct netbuf *, struct svc_req *);
  541 #define RPCBPROC_GETVERSADDR ((unsigned long)(9))
  542 extern  char ** rpcbproc_getversaddr_4(RPCB *, CLIENT *);
  543 extern  char ** rpcbproc_getversaddr_4_svc(RPCB *, struct svc_req *);
  544 #define RPCBPROC_INDIRECT ((unsigned long)(10))
  545 extern  rpcb_rmtcallres * rpcbproc_indirect_4(rpcb_rmtcallargs *, CLIENT *);
  546 extern  rpcb_rmtcallres * rpcbproc_indirect_4_svc(rpcb_rmtcallargs *, struct svc_req *);
  547 #define RPCBPROC_GETADDRLIST ((unsigned long)(11))
  548 extern  rpcb_entry_list_ptr * rpcbproc_getaddrlist_4(RPCB *, CLIENT *);
  549 extern  rpcb_entry_list_ptr * rpcbproc_getaddrlist_4_svc(RPCB *, struct svc_req *);
  550 #define RPCBPROC_GETSTAT ((unsigned long)(12))
  551 extern  rpcb_stat * rpcbproc_getstat_4(void *, CLIENT *);
  552 extern  rpcb_stat * rpcbproc_getstat_4_svc(void *, struct svc_req *);
  553 extern int rpcbprog_4_freeresult(SVCXPRT *, xdrproc_t, caddr_t);
  554 
  555 /* the xdr functions */
  556 extern  bool_t xdr_rpcb(XDR *, RPCB *);
  557 #ifndef _KERNEL
  558 extern  bool_t xdr_rp__list(XDR *, rp__list*);
  559 #endif
  560 extern  bool_t xdr_rpcblist_ptr(XDR *, rpcblist_ptr*);
  561 extern  bool_t xdr_rpcb_rmtcallargs(XDR *, rpcb_rmtcallargs*);
  562 extern  bool_t xdr_rpcb_rmtcallres(XDR *, rpcb_rmtcallres*);
  563 extern  bool_t xdr_rpcb_entry(XDR *, rpcb_entry*);
  564 extern  bool_t xdr_rpcb_entry_list(XDR *, rpcb_entry_list*);
  565 extern  bool_t xdr_rpcb_entry_list_ptr(XDR *, rpcb_entry_list_ptr*);
  566 extern  bool_t xdr_rpcbs_addrlist(XDR *, rpcbs_addrlist*);
  567 extern  bool_t xdr_rpcbs_rmtcalllist(XDR *, rpcbs_rmtcalllist*);
  568 extern  bool_t xdr_rpcbs_proc(XDR *, rpcbs_proc);
  569 extern  bool_t xdr_rpcbs_addrlist_ptr(XDR *, rpcbs_addrlist_ptr*);
  570 extern  bool_t xdr_rpcbs_rmtcalllist_ptr(XDR *, rpcbs_rmtcalllist_ptr*);
  571 extern  bool_t xdr_rpcb_stat(XDR *, rpcb_stat*);
  572 extern  bool_t xdr_rpcb_stat_byvers(XDR *, rpcb_stat_byvers);
  573 
  574 #ifdef __cplusplus
  575 }
  576 #endif
  577 
  578 #endif /* !_RPCB_PROT_H_RPCGEN */

Cache object: 3cc9ceaff6866fffbde9056b9f5c772a


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.