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.

146 lines
2.2 KiB

  1. /*++
  2. Copyright (c) 1998 Intel Corporation
  3. Module Name:
  4. biboot.h
  5. Abstract:
  6. Public IBI header files
  7. Author:
  8. Revision History
  9. --*/
  10. #include "bootia64.h" // BUGBUG
  11. // #define IBI32 1 // Building 32 bit IBI
  12. #define IBI64 1 // Building 64 bit IBI
  13. #include "ibi.h"
  14. //
  15. // Console functions
  16. //
  17. IBI_STATUS
  18. BiOutputString (
  19. VOID *Context,
  20. CHAR16 *Str
  21. );
  22. IBI_STATUS
  23. BiSetAttribute (
  24. VOID *Context,
  25. UINTN Attribute
  26. );
  27. IBI_STATUS
  28. BiSetCursorPosition (
  29. VOID *Context,
  30. UINTN Column,
  31. UINTN Row
  32. );
  33. VOID
  34. BIASSERT (
  35. IN char *str
  36. );
  37. //
  38. // Arc functions
  39. //
  40. ARC_STATUS
  41. BiArcNotImplemented (
  42. IN ULONG No
  43. );
  44. ARC_STATUS
  45. BiArcCloseNop (
  46. IN ULONG FileId
  47. );
  48. IBI_STATUS
  49. BiHandleToArcName (
  50. IN IBI_HANDLE Handle,
  51. OUT PUCHAR Buffer,
  52. IN UINTN BufferSize
  53. );
  54. IBI_STATUS
  55. BiArcNameToHandle (
  56. IN PCHAR OpenPath,
  57. OUT IBI_ARC_OPEN_CONTEXT *OpenContext,
  58. OUT PBL_DEVICE_ENTRY_TABLE *ArcIo
  59. );
  60. //
  61. // Allocate and free IBI pool (not loader pool)
  62. //
  63. PVOID
  64. BiAllocatePool (
  65. IN UINTN Size
  66. );
  67. VOID
  68. BiFreePool (
  69. IN PVOID Buffer
  70. );
  71. WCHAR *
  72. BiDupAscizToUnicode (
  73. PUCHAR Str
  74. );
  75. //
  76. //
  77. //
  78. ARC_STATUS
  79. BiArcCode (
  80. IN IBI_STATUS Status
  81. );
  82. //
  83. // Externals
  84. //
  85. extern IBI_SYSTEM_TABLE *IbiST;
  86. extern IBI_BOOT_SERVICES *IbiBS;
  87. extern IBI_RUNTIME_SERVICES *IbiRT;
  88. extern IBI_LOADED_IMAGE *IbiImageInfo;
  89. extern IBI_HANDLE IbiNtldr;
  90. extern IBI_GUID IbiLoadedImageProtocol;
  91. extern IBI_GUID IbiDevicePathProtocol;
  92. extern IBI_GUID IbiBlockIoProtocol;
  93. extern IBI_GUID IbiFilesystemProtocol;
  94. extern IBI_GUID IbiDeviceIoProtocol;
  95. extern IBI_GUID IbiFileInformation;
  96. extern IBI_GUID IbiFileSystemInformation;
  97. extern IBI_GUID VendorMicrosoft;
  98. extern BL_DEVICE_ENTRY_TABLE BiArcConsoleOut;
  99. extern BL_DEVICE_ENTRY_TABLE BiArcConsoleIn;
  100. extern BL_DEVICE_ENTRY_TABLE BiArcBlockIo;
  101. extern BL_DEVICE_ENTRY_TABLE BiArcFsDevIo;
  102. extern PUCHAR BiClipBuffer;
  103. extern UINTN BiClipBufferSize;