Subversion Repositories Kolibri OS

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
4973 right-hear 1
/* @(#)pmap_prot.h	2.1 88/07/29 4.0 RPCSRC; from 1.14 88/02/08 SMI */
2
/*
3
 * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
4
 * unrestricted use provided that this legend is included on all tape
5
 * media and as a part of the software program in whole or part.  Users
6
 * may copy or modify Sun RPC without charge, but are not authorized
7
 * to license or distribute it to anyone else except as part of a product or
8
 * program developed by the user.
9
 *
10
 * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
11
 * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
12
 * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
13
 *
14
 * Sun RPC is provided with no support and without any obligation on the
15
 * part of Sun Microsystems, Inc. to assist in its use, correction,
16
 * modification or enhancement.
17
 *
18
 * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
19
 * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
20
 * OR ANY PART THEREOF.
21
 *
22
 * In no event will Sun Microsystems, Inc. be liable for any lost revenue
23
 * or profits or other special, indirect and consequential damages, even if
24
 * Sun has been advised of the possibility of such damages.
25
 *
26
 * Sun Microsystems, Inc.
27
 * 2550 Garcia Avenue
28
 * Mountain View, California  94043
29
 */
30
 
31
/*
32
 * pmap_prot.h
33
 * Protocol for the local binder service, or pmap.
34
 *
35
 * Copyright (C) 1984, Sun Microsystems, Inc.
36
 */
37
 
38
#ifndef _RPC_PMAP_PROT_H
39
#define _RPC_PMAP_PROT_H	1
40
 
41
#include 
42
 
43
#include 
44
 
45
__BEGIN_DECLS
46
 
47
/* The following procedures are supported by the protocol:
48
 *
49
 * PMAPPROC_NULL() returns ()
50
 * 	takes nothing, returns nothing
51
 *
52
 * PMAPPROC_SET(struct pmap) returns (bool_t)
53
 * 	TRUE is success, FALSE is failure.  Registers the tuple
54
 *	[prog, vers, prot, port].
55
 *
56
 * PMAPPROC_UNSET(struct pmap) returns (bool_t)
57
 *	TRUE is success, FALSE is failure.  Un-registers pair
58
 *	[prog, vers].  prot and port are ignored.
59
 *
60
 * PMAPPROC_GETPORT(struct pmap) returns (long unsigned).
61
 *	0 is failure.  Otherwise returns the port number where the pair
62
 *	[prog, vers] is registered.  It may lie!
63
 *
64
 * PMAPPROC_DUMP() RETURNS (struct pmaplist *)
65
 *
66
 * PMAPPROC_CALLIT(unsigned, unsigned, unsigned, string<>)
67
 * 	RETURNS (port, string<>);
68
 * usage: encapsulatedresults = PMAPPROC_CALLIT(prog, vers, proc, encapsulatedargs);
69
 * 	Calls the procedure on the local machine.  If it is not registered,
70
 *	this procedure is quite; ie it does not return error information!!!
71
 *	This procedure only is supported on rpc/udp and calls via
72
 *	rpc/udp.  This routine only passes null authentication parameters.
73
 *	This file has no interface to xdr routines for PMAPPROC_CALLIT.
74
 *
75
 * The service supports remote procedure calls on udp/ip or tcp/ip socket 111.
76
 */
77
 
78
#define PMAPPORT		((unsigned short)111)
79
#define PMAPPROG		((unsigned long)100000)
80
#define PMAPVERS		((unsigned long)2)
81
#define PMAPVERS_PROTO		((unsigned long)2)
82
#define PMAPVERS_ORIG		((unsigned long)1)
83
#define PMAPPROC_NULL		((unsigned long)0)
84
#define PMAPPROC_SET		((unsigned long)1)
85
#define PMAPPROC_UNSET		((unsigned long)2)
86
#define PMAPPROC_GETPORT	((unsigned long)3)
87
#define PMAPPROC_DUMP		((unsigned long)4)
88
#define PMAPPROC_CALLIT		((unsigned long)5)
89
 
90
struct pmap {
91
	long unsigned pm_prog;
92
	long unsigned pm_vers;
93
	long unsigned pm_prot;
94
	long unsigned pm_port;
95
};
96
 
97
extern bool_t xdr_pmap (XDR *__xdrs, struct pmap *__regs) __THROW;
98
 
99
struct pmaplist {
100
	struct pmap	pml_map;
101
	struct pmaplist *pml_next;
102
};
103
 
104
extern bool_t xdr_pmaplist (XDR *__xdrs, struct pmaplist **__rp) __THROW;
105
 
106
__END_DECLS
107
 
108
#endif /* rpc/pmap_prot.h */