home *** CD-ROM | disk | FTP | other *** search
/ NeXTSTEP 3.2 (Developer) / NS_dev_3.2.iso / NextDeveloper / Headers / bsd / rpcsvc / ypv1_prot.h < prev   
C/C++ Source or Header  |  1990-01-22  |  5KB  |  128 lines

  1. /*    @(#)ypv1_prot.h    1.1 88/02/17 4.0NFSSRC SMI    */
  2.  
  3. /* 
  4.  * Copyright (c) 1988 by Sun Microsystems, Inc.
  5.  * 1.4 86/07/16
  6.  */
  7.  
  8.  
  9. /*
  10.  * This contains symbol and structure definitions used in supporting the old
  11.  * "v1" protocol.  They were previously defined in yp_prot.h.
  12.  * 
  13.  * This file exists so that the yp system can provide backward compatibility.
  14.  * Normal yp client processes should not use this interface:  the old
  15.  * protocol will not be supported in the next release.  
  16.  */
  17. #define YPOLDVERS        (YPVERS - 1)
  18. #define YPOLDPROC_NULL        ((u_long)0)
  19. #define YPOLDPROC_DOMAIN    ((u_long)1)
  20. #define YPOLDPROC_DOMAIN_NONACK    ((u_long)2)
  21. #define YPOLDPROC_MATCH        ((u_long)3)
  22. #define YPOLDPROC_FIRST        ((u_long)4)
  23. #define YPOLDPROC_NEXT        ((u_long)5)
  24. #define YPOLDPROC_POLL        ((u_long)6)
  25. #define YPOLDPROC_PUSH        ((u_long)7)
  26. #define YPOLDPROC_PULL        ((u_long)8)
  27. #define YPOLDPROC_GET        ((u_long)9)
  28.  
  29. enum ypreqtype {YPREQ_KEY = 1, YPREQ_NOKEY = 2, YPREQ_MAP_PARMS = 3};
  30. struct yprequest {
  31.     enum ypreqtype yp_reqtype;
  32.     union {
  33.         struct ypreq_key yp_req_keytype;
  34.         struct ypreq_nokey yp_req_nokeytype;
  35.         struct ypmap_parms yp_req_map_parmstype;
  36.     }yp_reqbody;
  37. };
  38.  
  39. #define YPMATCH_REQTYPE YPREQ_KEY
  40. #define ypmatch_req_domain yp_reqbody.yp_req_keytype.domain
  41. #define ypmatch_req_map yp_reqbody.yp_req_keytype.map
  42. #define ypmatch_req_keydat yp_reqbody.yp_req_keytype.keydat
  43. #define ypmatch_req_keyptr yp_reqbody.yp_req_keytype.keydat.dptr
  44. #define ypmatch_req_keysize yp_reqbody.yp_req_keytype.keydat.dsize
  45.  
  46. #define YPFIRST_REQTYPE YPREQ_NOKEY
  47. #define ypfirst_req_domain yp_reqbody.yp_req_nokeytype.domain
  48. #define ypfirst_req_map yp_reqbody.yp_req_nokeytype.map
  49.  
  50. #define YPNEXT_REQTYPE YPREQ_KEY
  51. #define ypnext_req_domain yp_reqbody.yp_req_keytype.domain
  52. #define ypnext_req_map yp_reqbody.yp_req_keytype.map
  53. #define ypnext_req_keydat yp_reqbody.yp_req_keytype.keydat
  54. #define ypnext_req_keyptr yp_reqbody.yp_req_keytype.keydat.dptr
  55. #define ypnext_req_keysize yp_reqbody.yp_req_keytype.keydat.dsize
  56.  
  57. #define YPPUSH_REQTYPE YPREQ_NOKEY
  58. #define yppush_req_domain yp_reqbody.yp_req_nokeytype.domain
  59. #define yppush_req_map yp_reqbody.yp_req_nokeytype.map
  60.  
  61. #define YPPULL_REQTYPE YPREQ_NOKEY
  62. #define yppull_req_domain yp_reqbody.yp_req_nokeytype.domain
  63. #define yppull_req_map yp_reqbody.yp_req_nokeytype.map
  64.  
  65. #define YPPOLL_REQTYPE YPREQ_NOKEY
  66. #define yppoll_req_domain yp_reqbody.yp_req_nokeytype.domain
  67. #define yppoll_req_map yp_reqbody.yp_req_nokeytype.map
  68.  
  69. #define YPGET_REQTYPE YPREQ_MAP_PARMS
  70. #define ypget_req_domain yp_reqbody.yp_req_map_parmstype.domain
  71. #define ypget_req_map yp_reqbody.yp_req_map_parmstype.map
  72. #define ypget_req_ordernum yp_reqbody.yp_req_map_parmstype.ordernum
  73. #define ypget_req_owner yp_reqbody.yp_req_map_parmstype.owner
  74.  
  75. enum ypresptype {YPRESP_VAL = 1, YPRESP_KEY_VAL = 2, YPRESP_MAP_PARMS = 3};
  76. struct ypresponse {
  77.     enum ypresptype yp_resptype;
  78.     union {
  79.         struct ypresp_val yp_resp_valtype;
  80.         struct ypresp_key_val yp_resp_key_valtype;
  81.         struct ypmap_parms yp_resp_map_parmstype;
  82.     } yp_respbody;
  83. };
  84.  
  85. #define YPMATCH_RESPTYPE YPRESP_VAL
  86. #define ypmatch_resp_status yp_respbody.yp_resp_valtype.status
  87. #define ypmatch_resp_valdat yp_respbody.yp_resp_valtype.valdat
  88. #define ypmatch_resp_valptr yp_respbody.yp_resp_valtype.valdat.dptr
  89. #define ypmatch_resp_valsize yp_respbody.yp_resp_valtype.valdat.dsize
  90.  
  91. #define YPFIRST_RESPTYPE YPRESP_KEY_VAL
  92. #define ypfirst_resp_status yp_respbody.yp_resp_key_valtype.status
  93. #define ypfirst_resp_keydat yp_respbody.yp_resp_key_valtype.keydat
  94. #define ypfirst_resp_keyptr yp_respbody.yp_resp_key_valtype.keydat.dptr
  95. #define ypfirst_resp_keysize yp_respbody.yp_resp_key_valtype.keydat.dsize
  96. #define ypfirst_resp_valdat yp_respbody.yp_resp_key_valtype.valdat
  97. #define ypfirst_resp_valptr yp_respbody.yp_resp_key_valtype.valdat.dptr
  98. #define ypfirst_resp_valsize yp_respbody.yp_resp_key_valtype.valdat.dsize
  99.  
  100. #define YPNEXT_RESPTYPE YPRESP_KEY_VAL
  101. #define ypnext_resp_status yp_respbody.yp_resp_key_valtype.status
  102. #define ypnext_resp_keydat yp_respbody.yp_resp_key_valtype.keydat
  103. #define ypnext_resp_keyptr yp_respbody.yp_resp_key_valtype.keydat.dptr
  104. #define ypnext_resp_keysize yp_respbody.yp_resp_key_valtype.keydat.dsize
  105. #define ypnext_resp_valdat yp_respbody.yp_resp_key_valtype.valdat
  106. #define ypnext_resp_valptr yp_respbody.yp_resp_key_valtype.valdat.dptr
  107. #define ypnext_resp_valsize yp_respbody.yp_resp_key_valtype.valdat.dsize
  108.  
  109. #define YPPOLL_RESPTYPE YPRESP_MAP_PARMS
  110. #define yppoll_resp_domain yp_respbody.yp_resp_map_parmstype.domain
  111. #define yppoll_resp_map yp_respbody.yp_resp_map_parmstype.map
  112. #define yppoll_resp_ordernum yp_respbody.yp_resp_map_parmstype.ordernum
  113. #define yppoll_resp_owner yp_respbody.yp_resp_map_parmstype.owner
  114.  
  115.  
  116. extern bool _xdr_yprequest();
  117. extern bool _xdr_ypresponse();
  118.  
  119. #define YPBINDOLDVERS         (YPBINDVERS - 1)
  120. struct ypbind_oldsetdom {
  121.     char ypoldsetdom_domain[YPMAXDOMAIN + 1];
  122.     struct ypbind_binding ypoldsetdom_binding;
  123. };
  124. #define ypoldsetdom_addr ypoldsetdom_binding.ypbind_binding_addr
  125. #define ypoldsetdom_port ypoldsetdom_binding.ypbind_binding_port
  126.  
  127. extern bool _xdr_ypbind_oldsetdom();
  128.