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.

149 lines
2.4 KiB

  1. /*++
  2. Copyright (c) 1999-2001 Microsoft Corporation
  3. Module Name:
  4. chanmgr.h
  5. Abstract:
  6. Routines for managing channels.
  7. Author:
  8. Brian Guarraci (briangu) March, 2001.
  9. Revision History:
  10. --*/
  11. #ifndef CHAN_MGR_H
  12. #define CHAN_MGR_H
  13. #include <ntddsac.h>
  14. //
  15. // The maximum # of channels allowed to be created - including SAC
  16. //
  17. #define MAX_CHANNEL_COUNT 10
  18. //
  19. // Prototypes
  20. //
  21. NTSTATUS
  22. ChanMgrInitialize(
  23. VOID
  24. );
  25. NTSTATUS
  26. ChanMgrShutdown(
  27. VOID
  28. );
  29. BOOLEAN
  30. ChanMgrIsUniqueName(
  31. IN PCWSTR Name
  32. );
  33. NTSTATUS
  34. ChanMgrGenerateUniqueCmdName(
  35. PWSTR ChannelName
  36. );
  37. NTSTATUS
  38. ChanMgrCreateChannel(
  39. OUT PSAC_CHANNEL* Channel,
  40. IN PSAC_CHANNEL_OPEN_ATTRIBUTES Attributes
  41. );
  42. NTSTATUS
  43. ChanMgrGetChannelByName(
  44. IN PCWSTR Name,
  45. OUT PSAC_CHANNEL* pChannel
  46. );
  47. NTSTATUS
  48. ChanMgrGetByIndex(
  49. IN ULONG TargetIndex,
  50. OUT PSAC_CHANNEL* TargetChannel
  51. );
  52. NTSTATUS
  53. ChanMgrGetNextActiveChannel(
  54. IN PSAC_CHANNEL CurrentChannel,
  55. OUT PULONG TargetIndex,
  56. OUT PSAC_CHANNEL* TargetChannel
  57. );
  58. NTSTATUS
  59. ChanMgrReleaseChannel(
  60. IN PSAC_CHANNEL Channel
  61. );
  62. NTSTATUS
  63. ChanMgrAddChannel(
  64. PSAC_CHANNEL Channel
  65. );
  66. NTSTATUS
  67. ChanMgrRemoveChannel(
  68. PSAC_CHANNEL Channel
  69. );
  70. NTSTATUS
  71. ChanMgrGetByHandle(
  72. IN SAC_CHANNEL_HANDLE ChannelHandle,
  73. OUT PSAC_CHANNEL* TargetChannel
  74. );
  75. NTSTATUS
  76. ChanMgrGetByHandleAndFileObject(
  77. IN SAC_CHANNEL_HANDLE TargetChannelHandle,
  78. IN PFILE_OBJECT FileObject,
  79. OUT PSAC_CHANNEL* TargetChannel
  80. );
  81. VOID
  82. ChanMgrSetChannel(
  83. IN PSAC_CHANNEL Channel,
  84. IN BOOLEAN SendToScreen
  85. );
  86. NTSTATUS
  87. ChanMgrAdvanceCurrentChannel(
  88. VOID
  89. );
  90. NTSTATUS
  91. ChanMgrDisplayCurrentChannel(
  92. VOID
  93. );
  94. NTSTATUS
  95. ChanMgrGetChannelIndex(
  96. IN PSAC_CHANNEL Channel,
  97. OUT PULONG ChannelIndex
  98. );
  99. NTSTATUS
  100. ChanMgrCloseChannelsWithFileObject(
  101. IN PFILE_OBJECT FileObject
  102. );
  103. NTSTATUS
  104. ChanMgrCloseChannel(
  105. IN PSAC_CHANNEL Channel
  106. );
  107. NTSTATUS
  108. ChanMgrGetChannelCount(
  109. OUT PULONG ChannelCount
  110. );
  111. NTSTATUS
  112. ChanMgrIsFull(
  113. OUT PBOOLEAN bStatus
  114. );
  115. #endif