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/rpc_com.h

Version: -  FREEBSD  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-2  -  FREEBSD-11-1  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-4  -  FREEBSD-10-3  -  FREEBSD-10-2  -  FREEBSD-10-1  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-3  -  FREEBSD-9-2  -  FREEBSD-9-1  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-4  -  FREEBSD-8-3  -  FREEBSD-8-2  -  FREEBSD-8-1  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-4  -  FREEBSD-7-3  -  FREEBSD-7-2  -  FREEBSD-7-1  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-4  -  FREEBSD-6-3  -  FREEBSD-6-2  -  FREEBSD-6-1  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-5  -  FREEBSD-5-4  -  FREEBSD-5-3  -  FREEBSD-5-2  -  FREEBSD-5-1  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  linux-2.6  -  linux-2.4.22  -  MK83  -  MK84  -  PLAN9  -  DFBSD  -  NETBSD  -  NETBSD5  -  NETBSD4  -  NETBSD3  -  NETBSD20  -  OPENBSD  -  xnu-517  -  xnu-792  -  xnu-792.6.70  -  xnu-1228  -  xnu-1456.1.26  -  xnu-1699.24.8  -  xnu-2050.18.24  -  OPENSOLARIS  -  minix-3-1-1 
SearchContext: -  none  -  3  -  10 

    1 /*      $NetBSD: rpc_com.h,v 1.3 2000/12/10 04:10:08 christos Exp $     */
    2 
    3 /*-
    4  * Copyright (c) 2009, Sun Microsystems, Inc.
    5  * All rights reserved.
    6  *
    7  * Redistribution and use in source and binary forms, with or without 
    8  * modification, are permitted provided that the following conditions are met:
    9  * - Redistributions of source code must retain the above copyright notice, 
   10  *   this list of conditions and the following disclaimer.
   11  * - Redistributions in binary form must reproduce the above copyright notice, 
   12  *   this list of conditions and the following disclaimer in the documentation 
   13  *   and/or other materials provided with the distribution.
   14  * - Neither the name of Sun Microsystems, Inc. nor the names of its 
   15  *   contributors may be used to endorse or promote products derived 
   16  *   from this software without specific prior written permission.
   17  * 
   18  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
   19  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
   20  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
   21  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 
   22  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
   23  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
   24  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
   25  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
   26  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
   27  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
   28  * POSSIBILITY OF SUCH DAMAGE.
   29  *
   30  * $FreeBSD: stable/11/sys/rpc/rpc_com.h 331722 2018-03-29 02:50:57Z eadler $
   31  */
   32 /*
   33  * Copyright (c) 1986 - 1991 by Sun Microsystems, Inc.
   34  */
   35 
   36 /*
   37  * rpc_com.h, Common definitions for both the server and client side.
   38  * All for the topmost layer of rpc
   39  *
   40  * In Sun's tirpc distribution, this was installed as <rpc/rpc_com.h>,
   41  * but as it contains only non-exported interfaces, it was moved here.
   42  */
   43 
   44 #ifndef _RPC_RPCCOM_H
   45 #define _RPC_RPCCOM_H
   46 
   47 #include <sys/cdefs.h>
   48 
   49 /* #pragma ident        "@(#)rpc_com.h  1.11    93/07/05 SMI" */
   50 
   51 /*
   52  * The max size of the transport, if the size cannot be determined
   53  * by other means.
   54  */
   55 #define RPC_MAXDATASIZE 9000
   56 #define RPC_MAXADDRSIZE 1024
   57 
   58 #ifdef _KERNEL
   59 
   60 #define __RPC_GETXID(now) ((uint32_t)curproc->p_pid ^ (uint32_t)(now)->tv_sec ^ \
   61     (uint32_t)(now)->tv_usec)
   62 
   63 #else
   64 
   65 #define __RPC_GETXID(now) ((uint32_t)getpid() ^ (uint32_t)(now)->tv_sec ^ \
   66     (uint32_t)(now)->tv_usec)
   67 
   68 #endif
   69 
   70 __BEGIN_DECLS
   71 #ifndef _KERNEL
   72 extern u_int __rpc_get_a_size(int);
   73 extern int __rpc_dtbsize(void);
   74 extern struct netconfig * __rpcgettp(int);
   75 extern  int  __rpc_get_default_domain(char **);
   76 
   77 char *__rpc_taddr2uaddr_af(int, const struct netbuf *);
   78 struct netbuf *__rpc_uaddr2taddr_af(int, const char *);
   79 int __rpc_fixup_addr(struct netbuf *, const struct netbuf *);
   80 int __rpc_sockinfo2netid(struct __rpc_sockinfo *, const char **);
   81 int __rpc_seman2socktype(int);
   82 int __rpc_socktype2seman(int);
   83 void *rpc_nullproc(CLIENT *);
   84 int __rpc_sockisbound(int);
   85 
   86 struct netbuf *__rpcb_findaddr_timed(rpcprog_t, rpcvers_t,
   87     const struct netconfig *, const char *host, CLIENT **clpp,
   88     struct timeval *tp);
   89 
   90 bool_t __rpc_control(int,void *);
   91 
   92 char *_get_next_token(char *, int);
   93 
   94 bool_t __svc_clean_idle(fd_set *, int, bool_t);
   95 bool_t __xdrrec_setnonblock(XDR *, int);
   96 bool_t __xdrrec_getrec(XDR *, enum xprt_stat *, bool_t);
   97 void __xprt_unregister_unlocked(SVCXPRT *);
   98 
   99 SVCXPRT **__svc_xports;
  100 int __svc_maxrec;
  101 
  102 #else
  103 
  104 #define SUN_LEN(su) \
  105         (sizeof(*(su)) - sizeof((su)->sun_path) + strlen((su)->sun_path))
  106 
  107 extern u_int __rpc_get_a_size(int);
  108 extern char *__rpc_taddr2uaddr_af(int, const struct netbuf *);
  109 extern struct netbuf *__rpc_uaddr2taddr_af(int, const char *);
  110 extern int __rpc_seman2socktype(int);
  111 extern int __rpc_socktype2seman(int);
  112 extern int __rpc_sockisbound(struct socket*);
  113 extern int bindresvport(struct socket *so, struct sockaddr *sa);
  114 
  115 struct xucred;
  116 struct XDR;
  117 bool_t xdr_authunix_parms(struct XDR *xdrs, uint32_t *time, struct xucred *cred);
  118 #endif
  119 
  120 __END_DECLS
  121 
  122 #endif /* _RPC_RPCCOM_H */

Cache object: 873dd6e3ed24254222c9f9e71c4a9d5f


[ 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.