home *** CD-ROM | disk | FTP | other *** search
/ C Programming Starter Kit 2.0 / SamsPublishing-CProgrammingStarterKit-v2.0-Win31.iso / bc45 / msinc.pak / RPCDCE2.H < prev    next >
C/C++ Source or Header  |  1997-07-23  |  5KB  |  197 lines

  1. /*++
  2.  
  3. Module Name:
  4.  
  5.     rpcdce2.h
  6.  
  7. Abstract:
  8.  
  9.     This file contains the prototypes of the RPC APIs which are not contained
  10.     in the runtime dll, but in a seperate library.
  11.  
  12. Author:
  13.  
  14.     Michael Montague (mikemon) 12-Apr-1993
  15.  
  16. Revision History:
  17.  
  18. --*/
  19.  
  20. /*
  21.  *      C/C++ Run Time Library - Version 6.5
  22.  *
  23.  *      Copyright (c) 1994 by Borland International
  24.  *      All Rights Reserved.
  25.  *
  26.  */
  27.  
  28. #ifndef __RPCDCE2_H__
  29. #define __RPCDCE2_H__
  30. #define __RPCDCE2_H
  31.  
  32. #ifdef __cplusplus
  33. extern "C" {
  34. #endif
  35.  
  36. signed int RPC_ENTRY
  37. UuidCompare (
  38.     IN UUID __RPC_FAR * Uuid1,
  39.     IN UUID __RPC_FAR * Uuid2,
  40.     OUT RPC_STATUS __RPC_FAR * Status
  41.     );
  42.  
  43. RPC_STATUS RPC_ENTRY
  44. UuidCreateNil (
  45.     OUT UUID __RPC_FAR * NilUuid
  46.     );
  47.  
  48. int RPC_ENTRY
  49. UuidEqual (
  50.     IN UUID __RPC_FAR * Uuid1,
  51.     IN UUID __RPC_FAR * Uuid2,
  52.     OUT RPC_STATUS __RPC_FAR * Status
  53.     );
  54.  
  55. unsigned short RPC_ENTRY
  56. UuidHash (
  57.     IN UUID __RPC_FAR * Uuid,
  58.     OUT RPC_STATUS __RPC_FAR * Status
  59.     );
  60.  
  61. int RPC_ENTRY
  62. UuidIsNil (
  63.     IN UUID __RPC_FAR * Uuid,
  64.     OUT RPC_STATUS __RPC_FAR * Status
  65.     );
  66.  
  67. #ifdef RPC_UNICODE_SUPPORTED
  68.  
  69. RPC_STATUS RPC_ENTRY
  70. DceErrorInqTextA (
  71.     IN RPC_STATUS RpcStatus,
  72.     OUT unsigned char __RPC_FAR * ErrorText
  73.     );
  74.  
  75. RPC_STATUS RPC_ENTRY
  76. DceErrorInqTextW (
  77.     IN RPC_STATUS RpcStatus,
  78.     OUT unsigned short __RPC_FAR * ErrorText
  79.     );
  80.  
  81. #ifdef UNICODE
  82. #define DceErrorInqText DceErrorInqTextW
  83. #else /* UNICODE */
  84. #define DceErrorInqText DceErrorInqTextA
  85. #endif /* UNICODE */
  86.  
  87. #else /* RPC_UNICODE_SUPPORTED */
  88.  
  89. RPC_STATUS RPC_ENTRY
  90. DceErrorInqText (
  91.     IN RPC_STATUS RpcStatus,
  92.     OUT unsigned char __RPC_FAR * ErrorText
  93.     );
  94.  
  95. #endif /* RPC_UNICODE_SUPPORTED */
  96.  
  97. #define DCE_C_ERROR_STRING_LEN 256
  98.  
  99. typedef void __RPC_FAR * RPC_EP_INQ_HANDLE;
  100.  
  101. #define  RPC_C_EP_ALL_ELTS        0
  102. #define  RPC_C_EP_MATCH_BY_IF     1
  103. #define  RPC_C_EP_MATCH_BY_OBJ    2
  104. #define  RPC_C_EP_MATCH_BY_BOTH   3
  105.  
  106. #define  RPC_C_VERS_ALL           1
  107. #define  RPC_C_VERS_COMPATIBLE    2
  108. #define  RPC_C_VERS_EXACT         3
  109. #define  RPC_C_VERS_MAJOR_ONLY    4
  110. #define  RPC_C_VERS_UPTO          5
  111.  
  112. RPC_STATUS RPC_ENTRY
  113. RpcMgmtEpEltInqBegin (
  114.     IN RPC_BINDING_HANDLE EpBinding OPTIONAL,
  115.     IN unsigned long InquiryType,
  116.     IN RPC_IF_ID __RPC_FAR * IfId OPTIONAL,
  117.     IN unsigned long VersOption OPTIONAL,
  118.     IN UUID __RPC_FAR * ObjectUuid OPTIONAL,
  119.     OUT RPC_EP_INQ_HANDLE __RPC_FAR * InquiryContext
  120.     );
  121.  
  122. RPC_STATUS RPC_ENTRY
  123. RpcMgmtEpEltInqDone (
  124.     IN OUT RPC_EP_INQ_HANDLE __RPC_FAR * InquiryContext
  125.     );
  126.  
  127. #ifdef RPC_UNICODE_SUPPORTED
  128.  
  129. RPC_STATUS RPC_ENTRY
  130. RpcMgmtEpEltInqNextA (
  131.     IN RPC_EP_INQ_HANDLE InquiryContext,
  132.     OUT RPC_IF_ID __RPC_FAR * IfId,
  133.     OUT RPC_BINDING_HANDLE __RPC_FAR * Binding OPTIONAL,
  134.     OUT UUID __RPC_FAR * ObjectUuid OPTIONAL,
  135.     OUT unsigned char __RPC_FAR * __RPC_FAR * Annotation OPTIONAL
  136.     );
  137.  
  138. RPC_STATUS RPC_ENTRY
  139. RpcMgmtEpEltInqNextW (
  140.     IN RPC_EP_INQ_HANDLE InquiryContext,
  141.     OUT RPC_IF_ID __RPC_FAR * IfId,
  142.     OUT RPC_BINDING_HANDLE __RPC_FAR * Binding OPTIONAL,
  143.     OUT UUID __RPC_FAR * ObjectUuid OPTIONAL,
  144.     OUT unsigned short __RPC_FAR * __RPC_FAR * Annotation OPTIONAL
  145.     );
  146.  
  147. #ifdef UNICODE
  148. #define RpcMgmtEpEltInqNext RpcMgmtEpEltInqNextW
  149. #else /* UNICODE */
  150. #define RpcMgmtEpEltInqNext RpcMgmtEpEltInqNextA
  151. #endif /* UNICODE */
  152.  
  153. #else /* RPC_UNICODE_SUPPORTED */
  154.  
  155. RPC_STATUS RPC_ENTRY
  156. RpcMgmtEpEltInqNext (
  157.     IN RPC_EP_INQ_HANDLE InquiryContext,
  158.     OUT RPC_IF_ID __RPC_FAR * IfId,
  159.     OUT RPC_BINDING_HANDLE __RPC_FAR * Binding OPTIONAL,
  160.     OUT unsigned char __RPC_FAR * __RPC_FAR * Annotation OPTIONAL
  161.     );
  162.  
  163. #endif /* RPC_UNICODE_SUPPORTED */
  164.  
  165. RPC_STATUS RPC_ENTRY
  166. RpcMgmtEpUnregister (
  167.     IN RPC_BINDING_HANDLE EpBinding OPTIONAL,
  168.     IN RPC_IF_ID __RPC_FAR * IfId,
  169.     IN RPC_BINDING_HANDLE Binding,
  170.     IN UUID __RPC_FAR * ObjectUuid OPTIONAL
  171.     );
  172.  
  173. typedef int
  174. (__RPC_API * RPC_MGMT_AUTHORIZATION_FN) (
  175.     IN RPC_BINDING_HANDLE ClientBinding,
  176.     IN unsigned long RequestedMgmtOperation,
  177.     OUT RPC_STATUS __RPC_FAR * Status
  178.     );
  179.  
  180. #define RPC_C_MGMT_INQ_IF_IDS         0
  181. #define RPC_C_MGMT_INQ_PRINC_NAME     1
  182. #define RPC_C_MGMT_INQ_STATS          2
  183. #define RPC_C_MGMT_IS_SERVER_LISTEN   3
  184. #define RPC_C_MGMT_STOP_SERVER_LISTEN 4
  185.  
  186. RPC_STATUS RPC_ENTRY
  187. RpcMgmtSetAuthorizationFn (
  188.     IN RPC_MGMT_AUTHORIZATION_FN AuthorizationFn
  189.     );
  190.  
  191. #ifdef __cplusplus
  192. }
  193. #endif
  194.  
  195. #endif /* __RPCDCE2_H__ */
  196.  
  197.