windows-nt/Source/XPSP1/NT/base/boot/efi/biosdrv.h
2020-09-26 16:20:57 +08:00

217 lines
3.3 KiB
C
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
*** Copyright (C) 1996-97 Intel Corporation. All rights reserved.
***
*** The information and source code contained herein is the exclusive
*** property of Intel Corporation and may not be disclosed, examined
*** or reproduced in whole or in part without explicit written authorization
*** from the company.
**/
/*++
Copyright (c) 1991 Microsoft Corporation
Module Name:
biosdrv.h
Abstract:
This module defines globally used procedure and data structures used be
the ARC emulation BIOS drivers.
Author:
John Vert (jvert) 8-Aug-1991
Revision History:
Allen Kay (akay) 26-Jan-1996 Ported for IA64
--*/
//
// Defines for the ARC name of console input and output
//
#define CONSOLE_INPUT_NAME "multi(0)key(0)keyboard(0)"
#define CONSOLE_OUTPUT_NAME "multi(0)video(0)monitor(0)"
//
// Define special character values.
//
#define ASCI_NUL 0x00
#define ASCI_BEL 0x07
#define ASCI_BS 0x08
#define ASCI_HT 0x09
#define ASCI_LF 0x0A
#define ASCI_VT 0x0B
#define ASCI_FF 0x0C
#define ASCI_CR 0x0D
#define ASCI_CSI 0x9B
#define ASCI_ESC 0x1B
#define ASCI_SYSRQ 0x80
//
// Define special key input values
//
#define DOWN_ARROW 0x5000
#define UP_ARROW 0x4800
#define HOME_KEY 0x4700
#define END_KEY 0x4F00
//
// Device I/O prototypes
//
ARC_STATUS
BiosPartitionClose(
IN ULONG FileId
);
ARC_STATUS
BiosPartitionOpen(
IN PCHAR OpenPath,
IN OPEN_MODE OpenMode,
OUT PULONG FileId
);
ARC_STATUS
BiosPartitionRead (
IN ULONG FileId,
OUT PVOID Buffer,
IN ULONG Length,
OUT PULONG Count
);
ARC_STATUS
BiosPartitionWrite(
IN ULONG FileId,
OUT PVOID Buffer,
IN ULONG Length,
OUT PULONG Count
);
ARC_STATUS
BiosPartitionSeek (
IN ULONG FileId,
IN PLARGE_INTEGER Offset,
IN SEEK_MODE SeekMode
);
ARC_STATUS
BiosDiskGetFileInfo(
IN ULONG FileId,
OUT PFILE_INFORMATION FileInfo
);
ARC_STATUS
BiosPartitionGetFileInfo(
IN ULONG FileId,
OUT PFILE_INFORMATION FileInfo
);
ARC_STATUS
BlArcNotYetImplemented(
IN ULONG FileId
);
ARC_STATUS
BiosConsoleOpen(
IN PCHAR OpenPath,
IN OPEN_MODE OpenMode,
OUT PULONG FileId
);
ARC_STATUS
BiosConsoleReadStatus(
IN ULONG FileId
);
ARC_STATUS
BiosConsoleRead (
IN ULONG FileId,
OUT PUCHAR Buffer,
IN ULONG Length,
OUT PULONG Count
);
ARC_STATUS
BiosConsoleWrite (
IN ULONG FileId,
OUT PWCHAR Buffer,
IN ULONG Length,
OUT PULONG Count
);
ARC_STATUS
BiosDiskOpen(
IN ULONG DriveId,
IN OPEN_MODE OpenMode,
OUT PULONG FileId
);
ARC_STATUS
BiosDiskRead (
IN ULONG FileId,
OUT PVOID Buffer,
IN ULONG Length,
OUT PULONG Count
);
ARC_STATUS
BiosDiskWrite(
IN ULONG FileId,
OUT PVOID Buffer,
IN ULONG Length,
OUT PULONG Count
);
ARC_STATUS
HardDiskPartitionOpen(
IN ULONG FileId,
IN ULONG DiskId,
IN UCHAR PartitionNumber
);
ULONG
GetDriveCount(
VOID
);
EFI_HANDLE
GetCd(
);
EFI_HANDLE
GetHardDrive(
ULONG DriveId
);
EFI_HANDLE
GetFloppyDrive(
ULONG DriveId
);
//
// constants for BlGetDriveId.DriveType
//
#define BL_DISKTYPE_ATAPI 0x00000001
#define BL_DISKTYPE_SCSI 0x00000002
#define BL_DISKTYPE_UNKNOWN 0x00000003
ULONG
BlGetDriveId(
ULONG DriveType,
PBOOT_DEVICE Device
);