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.

216 lines
3.3 KiB

  1. /**
  2. *** Copyright (C) 1996-97 Intel Corporation. All rights reserved.
  3. ***
  4. *** The information and source code contained herein is the exclusive
  5. *** property of Intel Corporation and may not be disclosed, examined
  6. *** or reproduced in whole or in part without explicit written authorization
  7. *** from the company.
  8. **/
  9. /*++
  10. Copyright (c) 1991 Microsoft Corporation
  11. Module Name:
  12. biosdrv.h
  13. Abstract:
  14. This module defines globally used procedure and data structures used be
  15. the ARC emulation BIOS drivers.
  16. Author:
  17. John Vert (jvert) 8-Aug-1991
  18. Revision History:
  19. Allen Kay (akay) 26-Jan-1996 Ported for IA64
  20. --*/
  21. //
  22. // Defines for the ARC name of console input and output
  23. //
  24. #define CONSOLE_INPUT_NAME "multi(0)key(0)keyboard(0)"
  25. #define CONSOLE_OUTPUT_NAME "multi(0)video(0)monitor(0)"
  26. //
  27. // Define special character values.
  28. //
  29. #define ASCI_NUL 0x00
  30. #define ASCI_BEL 0x07
  31. #define ASCI_BS 0x08
  32. #define ASCI_HT 0x09
  33. #define ASCI_LF 0x0A
  34. #define ASCI_VT 0x0B
  35. #define ASCI_FF 0x0C
  36. #define ASCI_CR 0x0D
  37. #define ASCI_CSI 0x9B
  38. #define ASCI_ESC 0x1B
  39. #define ASCI_SYSRQ 0x80
  40. //
  41. // Define special key input values
  42. //
  43. #define DOWN_ARROW 0x5000
  44. #define UP_ARROW 0x4800
  45. #define HOME_KEY 0x4700
  46. #define END_KEY 0x4F00
  47. //
  48. // Device I/O prototypes
  49. //
  50. ARC_STATUS
  51. BiosPartitionClose(
  52. IN ULONG FileId
  53. );
  54. ARC_STATUS
  55. BiosPartitionOpen(
  56. IN PCHAR OpenPath,
  57. IN OPEN_MODE OpenMode,
  58. OUT PULONG FileId
  59. );
  60. ARC_STATUS
  61. BiosPartitionRead (
  62. IN ULONG FileId,
  63. OUT PVOID Buffer,
  64. IN ULONG Length,
  65. OUT PULONG Count
  66. );
  67. ARC_STATUS
  68. BiosPartitionWrite(
  69. IN ULONG FileId,
  70. OUT PVOID Buffer,
  71. IN ULONG Length,
  72. OUT PULONG Count
  73. );
  74. ARC_STATUS
  75. BiosPartitionSeek (
  76. IN ULONG FileId,
  77. IN PLARGE_INTEGER Offset,
  78. IN SEEK_MODE SeekMode
  79. );
  80. ARC_STATUS
  81. BiosDiskGetFileInfo(
  82. IN ULONG FileId,
  83. OUT PFILE_INFORMATION FileInfo
  84. );
  85. ARC_STATUS
  86. BiosPartitionGetFileInfo(
  87. IN ULONG FileId,
  88. OUT PFILE_INFORMATION FileInfo
  89. );
  90. ARC_STATUS
  91. BlArcNotYetImplemented(
  92. IN ULONG FileId
  93. );
  94. ARC_STATUS
  95. BiosConsoleOpen(
  96. IN PCHAR OpenPath,
  97. IN OPEN_MODE OpenMode,
  98. OUT PULONG FileId
  99. );
  100. ARC_STATUS
  101. BiosConsoleReadStatus(
  102. IN ULONG FileId
  103. );
  104. ARC_STATUS
  105. BiosConsoleRead (
  106. IN ULONG FileId,
  107. OUT PUCHAR Buffer,
  108. IN ULONG Length,
  109. OUT PULONG Count
  110. );
  111. ARC_STATUS
  112. BiosConsoleWrite (
  113. IN ULONG FileId,
  114. OUT PWCHAR Buffer,
  115. IN ULONG Length,
  116. OUT PULONG Count
  117. );
  118. ARC_STATUS
  119. BiosDiskOpen(
  120. IN ULONG DriveId,
  121. IN OPEN_MODE OpenMode,
  122. OUT PULONG FileId
  123. );
  124. ARC_STATUS
  125. BiosDiskRead (
  126. IN ULONG FileId,
  127. OUT PVOID Buffer,
  128. IN ULONG Length,
  129. OUT PULONG Count
  130. );
  131. ARC_STATUS
  132. BiosDiskWrite(
  133. IN ULONG FileId,
  134. OUT PVOID Buffer,
  135. IN ULONG Length,
  136. OUT PULONG Count
  137. );
  138. ARC_STATUS
  139. HardDiskPartitionOpen(
  140. IN ULONG FileId,
  141. IN ULONG DiskId,
  142. IN UCHAR PartitionNumber
  143. );
  144. ULONG
  145. GetDriveCount(
  146. VOID
  147. );
  148. EFI_HANDLE
  149. GetCd(
  150. );
  151. EFI_HANDLE
  152. GetHardDrive(
  153. ULONG DriveId
  154. );
  155. EFI_HANDLE
  156. GetFloppyDrive(
  157. ULONG DriveId
  158. );
  159. //
  160. // constants for BlGetDriveId.DriveType
  161. //
  162. #define BL_DISKTYPE_ATAPI 0x00000001
  163. #define BL_DISKTYPE_SCSI 0x00000002
  164. #define BL_DISKTYPE_UNKNOWN 0x00000003
  165. ULONG
  166. BlGetDriveId(
  167. ULONG DriveType,
  168. PBOOT_DEVICE Device
  169. );