pmap_prot.h
上传用户:luoyougen
上传日期:2008-05-12
资源大小:23136k
文件大小:4k
源码类别:

VxWorks

开发平台:

C/C++

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