Source code of Windows XP (NT5)
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.

218 lines
3.3 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. NTSTATUS
  53. VdmpEnterIcaLock(
  54. IN PRTL_CRITICAL_SECTION pIcaLock
  55. );
  56. NTSTATUS
  57. VdmpLeaveIcaLock(
  58. IN PRTL_CRITICAL_SECTION pIcaLock
  59. );
  60. BOOLEAN
  61. VdmpDispatchableIntPending(
  62. IN ULONG EFlags
  63. );
  64. NTSTATUS
  65. VdmpIsThreadTerminating(
  66. HANDLE ThreadId
  67. );
  68. #if 0
  69. BOOLEAN
  70. VdmDispatchUnalignedIoToHandler(
  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. VdmDispatchIoToHandler(
  79. IN PVDM_IO_HANDLER VdmIoHandler,
  80. IN ULONG PortNumber,
  81. IN ULONG Size,
  82. IN BOOLEAN Read,
  83. IN OUT PULONG Data
  84. );
  85. BOOLEAN
  86. VdmDispatchStringIoToHandler(
  87. IN PVDM_IO_HANDLER VdmIoHandler,
  88. IN ULONG PortNumber,
  89. IN ULONG Size,
  90. IN ULONG Count,
  91. IN BOOLEAN Read,
  92. IN ULONG Data
  93. );
  94. BOOLEAN
  95. VdmCallStringIoHandler(
  96. IN PVDM_IO_HANDLER VdmIoHandler,
  97. IN PVOID StringIoRoutine,
  98. IN ULONG PortNumber,
  99. IN ULONG Size,
  100. IN ULONG Count,
  101. IN BOOLEAN Read,
  102. IN ULONG Data
  103. );
  104. VOID
  105. VdmSetBits(
  106. PULONG Location,
  107. ULONG Flag
  108. );
  109. VOID
  110. VdmResetBits(
  111. PULONG Location,
  112. ULONG Flag
  113. );
  114. BOOLEAN
  115. VdmGetSelectorParameters(
  116. IN USHORT Selector,
  117. OUT PULONG Flags,
  118. OUT PULONG Base,
  119. OUT PULONG Limit
  120. );
  121. BOOLEAN
  122. VdmConvertToLinearAddress(
  123. IN ULONG SegmentedAddress,
  124. OUT PVOID *LinearAddress
  125. );
  126. #endif
  127. BOOLEAN
  128. VdmPrinterStatus(
  129. ULONG iPort,
  130. ULONG cbInstructionSize,
  131. PKTRAP_FRAME TrapFrame
  132. );
  133. BOOLEAN
  134. VdmPrinterWriteData(
  135. ULONG iPort,
  136. ULONG cbInstructionSize,
  137. PKTRAP_FRAME TrapFrame
  138. );
  139. NTSTATUS
  140. VdmpPrinterDirectIoOpen(
  141. PVOID ServiceData
  142. );
  143. NTSTATUS
  144. VdmpPrinterDirectIoClose(
  145. PVOID ServiceData
  146. );
  147. NTSTATUS
  148. VdmpSetLdtEntries(
  149. ULONG Selector0,
  150. ULONG Entry0Low,
  151. ULONG Entry0Hi,
  152. ULONG Selector1,
  153. ULONG Entry1Low,
  154. ULONG Entry1Hi
  155. );
  156. NTSTATUS
  157. VdmpSetProcessLdtInfo(
  158. PPROCESS_LDT_INFORMATION ProcessInformation,
  159. ULONG ProcessInformationLength
  160. );
  161. VOID
  162. VdmTraceEvent(
  163. USHORT Type,
  164. USHORT wData,
  165. USHORT lData,
  166. PKTRAP_FRAME TrapFrame
  167. );
  168. NTSTATUS
  169. VdmpPrinterInitialize(
  170. PVOID ServiceData
  171. );
  172. NTSTATUS
  173. VdmpGetVdmTib(
  174. OUT PVDM_TIB *ppVdmTib
  175. );