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.

247 lines
3.2 KiB

  1. /*++
  2. Copyright (c) Microsoft Corporation. All rights reserved.
  3. Module Name:
  4. inbv.h
  5. Abstract:
  6. This module contains the public header information (function prototypes,
  7. data and type declarations) for the Initialization Boot Video component.
  8. Author:
  9. Erick Smith (ericks) 23-Mar-1998
  10. Revision History:
  11. --*/
  12. #ifndef _INBV_
  13. #define _INBV_
  14. typedef enum _INBV_DISPLAY_STATE
  15. {
  16. INBV_DISPLAY_STATE_OWNED, // we own the display
  17. INBV_DISPLAY_STATE_DISABLED, // we own but should not use
  18. INBV_DISPLAY_STATE_LOST // we lost ownership
  19. } INBV_DISPLAY_STATE;
  20. typedef
  21. BOOLEAN
  22. (*INBV_RESET_DISPLAY_PARAMETERS)(
  23. ULONG Cols,
  24. ULONG Rows
  25. );
  26. typedef
  27. VOID
  28. (*INBV_DISPLAY_STRING_FILTER)(
  29. PUCHAR *Str
  30. );
  31. VOID
  32. InbvNotifyDisplayOwnershipLost(
  33. INBV_RESET_DISPLAY_PARAMETERS ResetDisplayParameters
  34. );
  35. VOID
  36. InbvInstallDisplayStringFilter(
  37. INBV_DISPLAY_STRING_FILTER DisplayStringFilter
  38. );
  39. VOID
  40. InbvAcquireDisplayOwnership(
  41. VOID
  42. );
  43. BOOLEAN
  44. InbvDriverInitialize(
  45. IN PLOADER_PARAMETER_BLOCK LoaderBlock,
  46. IN ULONG Count
  47. );
  48. BOOLEAN
  49. InbvResetDisplay(
  50. );
  51. VOID
  52. InbvBitBlt(
  53. PUCHAR Buffer,
  54. ULONG x,
  55. ULONG y
  56. );
  57. VOID
  58. InbvSolidColorFill(
  59. ULONG x1,
  60. ULONG y1,
  61. ULONG x2,
  62. ULONG y2,
  63. ULONG color
  64. );
  65. BOOLEAN
  66. InbvDisplayString(
  67. PUCHAR Str
  68. );
  69. VOID
  70. InbvUpdateProgressBar(
  71. ULONG Percentage
  72. );
  73. VOID
  74. InbvSetProgressBarSubset(
  75. ULONG Floor,
  76. ULONG Ceiling
  77. );
  78. VOID
  79. InbvSetBootDriverBehavior(
  80. PLOADER_PARAMETER_BLOCK LoaderBlock
  81. );
  82. VOID
  83. InbvIndicateProgress(
  84. VOID
  85. );
  86. VOID
  87. InbvSetProgressBarCoordinates(
  88. ULONG x,
  89. ULONG y
  90. );
  91. VOID
  92. InbvEnableBootDriver(
  93. BOOLEAN bEnable
  94. );
  95. BOOLEAN
  96. InbvEnableDisplayString(
  97. BOOLEAN bEnable
  98. );
  99. BOOLEAN
  100. InbvIsBootDriverInstalled(
  101. VOID
  102. );
  103. PUCHAR
  104. InbvGetResourceAddress(
  105. IN ULONG ResourceNumber
  106. );
  107. VOID
  108. InbvBufferToScreenBlt(
  109. PUCHAR Buffer,
  110. ULONG x,
  111. ULONG y,
  112. ULONG width,
  113. ULONG height,
  114. ULONG lDelta
  115. );
  116. VOID
  117. InbvScreenToBufferBlt(
  118. PUCHAR Buffer,
  119. ULONG x,
  120. ULONG y,
  121. ULONG width,
  122. ULONG height,
  123. ULONG lDelta
  124. );
  125. BOOLEAN
  126. InbvTestLock(
  127. VOID
  128. );
  129. VOID
  130. InbvAcquireLock(
  131. VOID
  132. );
  133. VOID
  134. InbvReleaseLock(
  135. VOID
  136. );
  137. BOOLEAN
  138. InbvCheckDisplayOwnership(
  139. VOID
  140. );
  141. VOID
  142. InbvSetScrollRegion(
  143. ULONG x1,
  144. ULONG y1,
  145. ULONG x2,
  146. ULONG y2
  147. );
  148. ULONG
  149. InbvSetTextColor(
  150. ULONG Color
  151. );
  152. VOID
  153. InbvSetDisplayOwnership(
  154. BOOLEAN DisplayOwned
  155. );
  156. INBV_DISPLAY_STATE
  157. InbvGetDisplayState(
  158. VOID
  159. );
  160. //
  161. // Functions defined in port.c
  162. //
  163. BOOLEAN
  164. InbvPortInitialize(
  165. IN ULONG BaudRate,
  166. IN ULONG PortNumber,
  167. IN PUCHAR PortAddress,
  168. OUT PULONG BlFileId,
  169. IN BOOLEAN IsMMIOAddress
  170. );
  171. BOOLEAN
  172. InbvPortTerminate(
  173. IN ULONG BlFileId
  174. );
  175. VOID
  176. InbvPortPutString (
  177. IN ULONG BlFileId,
  178. IN PUCHAR Output
  179. );
  180. VOID
  181. InbvPortPutByte (
  182. IN ULONG BlFileId,
  183. IN UCHAR Output
  184. );
  185. BOOLEAN
  186. InbvPortPollOnly (
  187. IN ULONG BlFileId
  188. );
  189. BOOLEAN
  190. InbvPortGetByte (
  191. IN ULONG BlFileId,
  192. OUT PUCHAR Input
  193. );
  194. VOID
  195. InbvPortEnableFifo(
  196. IN ULONG DeviceId,
  197. IN BOOLEAN bEnable
  198. );
  199. #endif