Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

152 lines
3.7 KiB

  1. /* (C) 1996-1997 Microsoft Corp.
  2. *
  3. * file : MCS.h
  4. * author : Erik Mavrinac
  5. *
  6. * description: User mode MCS node controller and user attachment interface
  7. * definitions, defined in addition to the common interface functions
  8. * defined in MCSCommn.h.
  9. */
  10. #ifndef __MCS_H
  11. #define __MCS_H
  12. #include "MCSCommn.h"
  13. /*
  14. * Exported API Routines
  15. */
  16. #ifdef __cplusplus
  17. extern "C" {
  18. #endif
  19. // User-mode-only entry points.
  20. MCSError APIENTRY MCSInitialize(MCSNodeControllerCallback NCCallback);
  21. MCSError APIENTRY MCSCleanup(void);
  22. MCSError APIENTRY MCSCreateDomain(
  23. HANDLE hIca,
  24. HANDLE hIcaStack,
  25. void *pContext,
  26. DomainHandle *phDomain);
  27. MCSError APIENTRY MCSDeleteDomain(
  28. HANDLE hIca,
  29. DomainHandle hDomain,
  30. MCSReason Reason);
  31. MCSError APIENTRY MCSGetBufferRequest(
  32. UserHandle hUser,
  33. unsigned Size,
  34. void **ppBuffer);
  35. MCSError APIENTRY MCSFreeBufferRequest(
  36. UserHandle hUser,
  37. void *pBuffer);
  38. // These functions mirror T.122 primitives.
  39. MCSError APIENTRY MCSConnectProviderRequest(
  40. DomainSelector CallingDomain,
  41. unsigned CallingLength,
  42. DomainSelector CalledDomain,
  43. unsigned CalledLength,
  44. BOOL bUpwardConnection,
  45. PDomainParameters pDomainParams,
  46. BYTE *pUserData,
  47. unsigned UserDataLength,
  48. DomainHandle *phDomain,
  49. ConnectionHandle *phConn);
  50. MCSError APIENTRY MCSConnectProviderResponse(
  51. ConnectionHandle hConn,
  52. MCSResult Result,
  53. BYTE *pUserData,
  54. unsigned UserDataLength);
  55. MCSError APIENTRY MCSDisconnectProviderRequest(
  56. HANDLE hIca,
  57. ConnectionHandle hConn,
  58. MCSReason Reason);
  59. MCSError APIENTRY MCSSendDataRequest(
  60. UserHandle hUser,
  61. DataRequestType RequestType,
  62. ChannelHandle hChannel,
  63. ChannelID ChannelID,
  64. MCSPriority Priority,
  65. Segmentation Segmentation,
  66. BYTE *pData,
  67. unsigned DataLength);
  68. // These are not implemented and may be common to kernel and user
  69. // modes but will stay here for now. There are stubs in user mode.
  70. MCSError APIENTRY MCSChannelConveneRequest(
  71. UserHandle hUser);
  72. MCSError APIENTRY MCSChannelDisbandRequest(
  73. UserHandle hUser,
  74. ChannelID ChannelID);
  75. MCSError APIENTRY MCSChannelAdmitRequest(
  76. UserHandle hUser,
  77. ChannelID ChannelID,
  78. UserID *UserIDList,
  79. unsigned UserIDCount);
  80. MCSError APIENTRY MCSChannelExpelRequest(
  81. UserHandle hUser,
  82. ChannelID ChannelID,
  83. UserID *UserIDList,
  84. unsigned UserIDCount);
  85. MCSError APIENTRY MCSTokenGrabRequest(
  86. UserHandle hUser,
  87. TokenID TokenID);
  88. MCSError APIENTRY MCSTokenInhibitRequest(
  89. UserHandle hUser,
  90. TokenID TokenID);
  91. MCSError APIENTRY MCSTokenGiveRequest(
  92. UserHandle hUser,
  93. TokenID TokenID,
  94. UserID ReceiverID);
  95. MCSError APIENTRY MCSTokenGiveResponse(
  96. UserHandle hUser,
  97. TokenID TokenID,
  98. MCSResult Result);
  99. MCSError APIENTRY MCSTokenPleaseRequest(
  100. UserHandle hUser,
  101. TokenID TokenID);
  102. MCSError APIENTRY MCSTokenReleaseRequest(
  103. UserHandle hUser,
  104. TokenID TokenID);
  105. MCSError APIENTRY MCSTokenTestRequest(
  106. UserHandle hUser,
  107. TokenID TokenID);
  108. #ifdef __cplusplus
  109. } // End extern "C" block.
  110. #endif
  111. #endif // !defined(__MCS_H)