Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:13:01

0001 /*  $NetBSD: pmap_prot.h,v 1.8 2000/06/02 22:57:55 fvdl Exp $   */
0002 
0003 /*
0004  * Copyright (c) 2009, Sun Microsystems, Inc.
0005  * All rights reserved.
0006  *
0007  * Redistribution and use in source and binary forms, with or without
0008  * modification, are permitted provided that the following conditions are met:
0009  * - Redistributions of source code must retain the above copyright notice,
0010  *   this list of conditions and the following disclaimer.
0011  * - Redistributions in binary form must reproduce the above copyright notice,
0012  *   this list of conditions and the following disclaimer in the documentation
0013  *   and/or other materials provided with the distribution.
0014  * - Neither the name of Sun Microsystems, Inc. nor the names of its
0015  *   contributors may be used to endorse or promote products derived
0016  *   from this software without specific prior written permission.
0017  *
0018  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
0019  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
0020  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
0021  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
0022  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
0023  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
0024  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
0025  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
0026  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
0027  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
0028  * POSSIBILITY OF SUCH DAMAGE.
0029  *
0030  *  from: @(#)pmap_prot.h 1.14 88/02/08 SMI 
0031  *  from: @(#)pmap_prot.h   2.1 88/07/29 4.0 RPCSRC
0032  * $FreeBSD: src/include/rpc/pmap_prot.h,v 1.12 2002/03/23 17:24:55 imp Exp $
0033  */
0034 
0035 /*
0036  * pmap_prot.h
0037  * Protocol for the local binder service, or pmap.
0038  *
0039  * Copyright (C) 1984, Sun Microsystems, Inc.
0040  *
0041  * The following procedures are supported by the protocol:
0042  *
0043  * PMAPPROC_NULL() returns ()
0044  *  takes nothing, returns nothing
0045  *
0046  * PMAPPROC_SET(struct pmap) returns (bool_t)
0047  *  TRUE is success, FALSE is failure.  Registers the tuple
0048  *  [prog, vers, prot, port].
0049  *
0050  * PMAPPROC_UNSET(struct pmap) returns (bool_t)
0051  *  TRUE is success, FALSE is failure.  Un-registers pair
0052  *  [prog, vers].  prot and port are ignored.
0053  *
0054  * PMAPPROC_GETPORT(struct pmap) returns (long unsigned).
0055  *  0 is failure.  Otherwise returns the port number where the pair
0056  *  [prog, vers] is registered.  It may lie!
0057  *
0058  * PMAPPROC_DUMP() RETURNS (struct pmaplist *)
0059  *
0060  * PMAPPROC_CALLIT(unsigned, unsigned, unsigned, string<>)
0061  *  RETURNS (port, string<>);
0062  * usage: encapsulatedresults = PMAPPROC_CALLIT(prog, vers, proc, encapsulatedargs);
0063  *  Calls the procedure on the local machine.  If it is not registered,
0064  *  this procedure is quite; ie it does not return error information!!!
0065  *  This procedure only is supported on rpc/udp and calls via
0066  *  rpc/udp.  This routine only passes null authentication parameters.
0067  *  This file has no interface to xdr routines for PMAPPROC_CALLIT.
0068  *
0069  * The service supports remote procedure calls on udp/ip or tcp/ip socket 111.
0070  */
0071 
0072 #ifndef _RPC_PMAP_PROT_H
0073 #define _RPC_PMAP_PROT_H
0074 
0075 #define PMAPPORT        ((u_short)111)
0076 #define PMAPPROG        ((u_long)100000)
0077 #define PMAPVERS        ((u_long)2)
0078 #define PMAPVERS_PROTO      ((u_long)2)
0079 #define PMAPVERS_ORIG       ((u_long)1)
0080 #define PMAPPROC_NULL       ((u_long)0)
0081 #define PMAPPROC_SET        ((u_long)1)
0082 #define PMAPPROC_UNSET      ((u_long)2)
0083 #define PMAPPROC_GETPORT    ((u_long)3)
0084 #define PMAPPROC_DUMP       ((u_long)4)
0085 #define PMAPPROC_CALLIT     ((u_long)5)
0086 
0087 #define V2FIRST     "RPCB_V2FIRST"
0088 
0089 struct pmap {
0090     long unsigned pm_prog;
0091     long unsigned pm_vers;
0092     long unsigned pm_prot;
0093     long unsigned pm_port;
0094 };
0095 
0096 struct pmaplist {
0097     struct pmap pml_map;
0098     struct pmaplist *pml_next;
0099 };
0100 
0101 #ifdef __cplusplus
0102 extern "C" {
0103 #endif
0104 extern bool_t xdr_pmap(XDR *, struct pmap *);
0105 extern bool_t xdr_pmaplist(XDR *, struct pmaplist **);
0106 extern bool_t xdr_pmaplist_ptr(XDR *, struct pmaplist *);
0107 #ifdef __cplusplus
0108 }
0109 #endif
0110 
0111 #endif /* !_RPC_PMAP_PROT_H */