|
|
/**
*** 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 );
|