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.

191 lines
3.1 KiB

  1. /*++
  2. Copyright (c) Microsoft Corporation. All rights reserved.
  3. Module Name:
  4. vdmp.h
  5. Abstract:
  6. This is the private include file for the vdm component
  7. Author:
  8. Dave Hastings (daveh) 24-Apr-1992
  9. Revision History:
  10. --*/
  11. #pragma warning(disable:4214) // bit field types other than int
  12. #pragma warning(disable:4201) // nameless struct/union
  13. #pragma warning(disable:4324) // alignment sensitive to declspec
  14. #pragma warning(disable:4127) // condition expression is constant
  15. #pragma warning(disable:4115) // named type definition in parentheses
  16. #pragma warning(disable:4232) // dllimport not static
  17. #pragma warning(disable:4206) // translation unit empty
  18. #include <ntos.h>
  19. #include <nturtl.h>
  20. #include <vdmntos.h>
  21. //
  22. // internal function prototypes
  23. //
  24. NTSTATUS
  25. VdmpInitialize(
  26. PVDM_INITIALIZE_DATA VdmInitData
  27. );
  28. #if 0
  29. BOOLEAN
  30. VdmIoInitialize(
  31. VOID
  32. );
  33. #endif
  34. NTSTATUS
  35. VdmpStartExecution(
  36. VOID
  37. );
  38. VOID
  39. VdmSwapContexts(
  40. IN PKTRAP_FRAME TrapFrame,
  41. IN PCONTEXT InContext,
  42. IN PCONTEXT OutContext
  43. );
  44. NTSTATUS
  45. VdmpQueueInterrupt(
  46. IN HANDLE ThreadHandle
  47. );
  48. NTSTATUS
  49. VdmpDelayInterrupt(
  50. PVDMDELAYINTSDATA pdsd
  51. );
  52. BOOLEAN
  53. VdmpDispatchableIntPending(
  54. IN ULONG EFlags
  55. );
  56. NTSTATUS
  57. VdmpIsThreadTerminating(
  58. HANDLE ThreadId
  59. );
  60. #if 0
  61. BOOLEAN
  62. VdmDispatchUnalignedIoToHandler(
  63. IN PVDM_IO_HANDLER VdmIoHandler,
  64. IN ULONG PortNumber,
  65. IN ULONG Size,
  66. IN BOOLEAN Read,
  67. IN OUT PULONG Data
  68. );
  69. BOOLEAN
  70. VdmDispatchIoToHandler(
  71. IN PVDM_IO_HANDLER VdmIoHandler,
  72. IN ULONG PortNumber,
  73. IN ULONG Size,
  74. IN BOOLEAN Read,
  75. IN OUT PULONG Data
  76. );
  77. BOOLEAN
  78. VdmDispatchStringIoToHandler(
  79. IN PVDM_IO_HANDLER VdmIoHandler,
  80. IN ULONG PortNumber,
  81. IN ULONG Size,
  82. IN ULONG Count,
  83. IN BOOLEAN Read,
  84. IN ULONG Data
  85. );
  86. BOOLEAN
  87. VdmCallStringIoHandler(
  88. IN PVDM_IO_HANDLER VdmIoHandler,
  89. IN PVOID StringIoRoutine,
  90. IN ULONG PortNumber,
  91. IN ULONG Size,
  92. IN ULONG Count,
  93. IN BOOLEAN Read,
  94. IN ULONG Data
  95. );
  96. VOID
  97. VdmSetBits(
  98. PULONG Location,
  99. ULONG Flag
  100. );
  101. VOID
  102. VdmResetBits(
  103. PULONG Location,
  104. ULONG Flag
  105. );
  106. BOOLEAN
  107. VdmGetSelectorParameters(
  108. IN USHORT Selector,
  109. OUT PULONG Flags,
  110. OUT PULONG Base,
  111. OUT PULONG Limit
  112. );
  113. BOOLEAN
  114. VdmConvertToLinearAddress(
  115. IN ULONG SegmentedAddress,
  116. OUT PVOID *LinearAddress
  117. );
  118. #endif
  119. BOOLEAN
  120. VdmPrinterStatus(
  121. ULONG iPort,
  122. ULONG cbInstructionSize,
  123. PKTRAP_FRAME TrapFrame
  124. );
  125. BOOLEAN
  126. VdmPrinterWriteData(
  127. ULONG iPort,
  128. ULONG cbInstructionSize,
  129. PKTRAP_FRAME TrapFrame
  130. );
  131. NTSTATUS
  132. VdmpPrinterDirectIoOpen(
  133. PVOID ServiceData
  134. );
  135. NTSTATUS
  136. VdmpPrinterDirectIoClose(
  137. PVOID ServiceData
  138. );
  139. VOID
  140. VdmTraceEvent(
  141. USHORT Type,
  142. USHORT wData,
  143. USHORT lData,
  144. PKTRAP_FRAME TrapFrame
  145. );
  146. NTSTATUS
  147. VdmpPrinterInitialize(
  148. PVOID ServiceData
  149. );
  150. NTSTATUS
  151. VdmpGetVdmTib(
  152. OUT PVDM_TIB *ppVdmTib
  153. );