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.

166 lines
2.6 KiB

  1. /*++
  2. Copyright (c) 1992 Microsoft Corporation
  3. Module Name:
  4. bootefi.h
  5. Abstract:
  6. Contains definitions and prototypes specific to EFI based os loaders.
  7. Author:
  8. Andrew Ritz (andrewr) 21-Nov-2000
  9. Revision History:
  10. --*/
  11. #ifndef _BOOTEFI_
  12. #define _BOOTEFI_
  13. #include "efi.h"
  14. //
  15. // these are ARC constants, used for mapping ARC attributes to EFI
  16. // attributes
  17. //
  18. #define ATT_FG_BLACK 0
  19. #define ATT_FG_RED 1
  20. #define ATT_FG_GREEN 2
  21. #define ATT_FG_YELLOW 3
  22. #define ATT_FG_BLUE 4
  23. #define ATT_FG_MAGENTA 5
  24. #define ATT_FG_CYAN 6
  25. #define ATT_FG_WHITE 7
  26. #define ATT_BG_BLACK (ATT_FG_BLACK << 4)
  27. #define ATT_BG_BLUE (ATT_FG_BLUE << 4)
  28. #define ATT_BG_GREEN (ATT_FG_GREEN << 4)
  29. #define ATT_BG_CYAN (ATT_FG_CYAN << 4)
  30. #define ATT_BG_RED (ATT_FG_RED << 4)
  31. #define ATT_BG_MAGENTA (ATT_FG_MAGENTA << 4)
  32. #define ATT_BG_YELLOW (ATT_FG_YELLOW << 4)
  33. #define ATT_BG_WHITE (ATT_FG_WHITE << 4)
  34. #define ATT_FG_INTENSE 8
  35. #define ATT_BG_INTENSE (ATT_FG_INTENSE << 4)
  36. #define DEFIATT (ATT_FG_WHITE | ATT_BG_BLUE | ATT_FG_INTENSE)
  37. // intense red on blue doesn't show up on all monitors.
  38. //#define DEFERRATT (ATT_FG_RED | ATT_BG_BLUE | ATT_FG_INTENSE)
  39. #define DEFERRATT DEFATT
  40. #define DEFSTATTR (ATT_FG_BLACK | ATT_BG_WHITE)
  41. #define DEFDLGATT (ATT_FG_RED | ATT_BG_WHITE)
  42. //
  43. // EFI utility prototypes
  44. //
  45. VOID
  46. FlipToPhysical();
  47. VOID
  48. FlipToVirtual();
  49. //
  50. // display related prototypes
  51. //
  52. BOOLEAN
  53. BlEfiClearDisplay(
  54. VOID
  55. );
  56. BOOLEAN
  57. BlEfiClearToEndOfDisplay(
  58. VOID
  59. );
  60. BOOLEAN
  61. BlEfiClearToEndOfLine(
  62. VOID
  63. );
  64. ULONG
  65. BlEfiGetColumnsPerLine(
  66. VOID
  67. );
  68. ULONG
  69. BlEfiGetLinesPerRow(
  70. VOID
  71. );
  72. BOOLEAN
  73. BlEfiGetCursorPosition(
  74. OUT PULONG x, OPTIONAL
  75. OUT PULONG y OPTIONAL
  76. );
  77. BOOLEAN
  78. BlEfiPositionCursor(
  79. IN ULONG Column,
  80. IN ULONG Row
  81. );
  82. BOOLEAN
  83. BlEfiEnableCursor(
  84. BOOLEAN bVisible
  85. );
  86. BOOLEAN
  87. BlEfiSetAttribute(
  88. ULONG Attribute
  89. );
  90. BOOLEAN
  91. BlEfiSetInverseMode(
  92. BOOLEAN fInverseOn
  93. );
  94. USHORT
  95. BlEfiGetGraphicsChar(
  96. IN GraphicsChar WhichOne
  97. );
  98. VOID
  99. DBG_EFI_PAUSE(
  100. VOID
  101. );
  102. VOID
  103. EFITRACE( PTCHAR p, ... );
  104. UINT16
  105. __cdecl
  106. wsprintf(
  107. CHAR16 *buf,
  108. const CHAR16 *fmt,
  109. ...);
  110. extern WCHAR DebugBuffer[512];
  111. CHAR16*
  112. DevicePathToStr(
  113. EFI_DEVICE_PATH UNALIGNED *DevPath
  114. );
  115. VOID
  116. DisableEFIWatchDog(
  117. VOID
  118. );
  119. ARC_STATUS
  120. BlGetEfiProtocolHandles(
  121. IN EFI_GUID *ProtocolType,
  122. OUT EFI_HANDLE **pHandleArray,
  123. OUT ULONG *NumberOfDevices
  124. );
  125. #endif // _BOOTEFI_