Leaked source code of windows server 2003
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.
 
 
 
 
 
 

191 lines
3.1 KiB

/*++
Copyright (c) 1992 Microsoft Corporation
Module Name:
bootefi.h
Abstract:
Contains definitions and prototypes specific to EFI based os loaders.
Author:
Andrew Ritz (andrewr) 21-Nov-2000
Revision History:
--*/
#ifndef _BOOTEFI_
#define _BOOTEFI_
#include "efi.h"
//
// these are ARC constants, used for mapping ARC attributes to EFI
// attributes
//
#define ATT_FG_BLACK 0
#define ATT_FG_RED 1
#define ATT_FG_GREEN 2
#define ATT_FG_YELLOW 3
#define ATT_FG_BLUE 4
#define ATT_FG_MAGENTA 5
#define ATT_FG_CYAN 6
#define ATT_FG_WHITE 7
#define ATT_BG_BLACK (ATT_FG_BLACK << 4)
#define ATT_BG_BLUE (ATT_FG_BLUE << 4)
#define ATT_BG_GREEN (ATT_FG_GREEN << 4)
#define ATT_BG_CYAN (ATT_FG_CYAN << 4)
#define ATT_BG_RED (ATT_FG_RED << 4)
#define ATT_BG_MAGENTA (ATT_FG_MAGENTA << 4)
#define ATT_BG_YELLOW (ATT_FG_YELLOW << 4)
#define ATT_BG_WHITE (ATT_FG_WHITE << 4)
#define ATT_FG_INTENSE 8
#define ATT_BG_INTENSE (ATT_FG_INTENSE << 4)
#define DEFIATT (ATT_FG_WHITE | ATT_BG_BLUE | ATT_FG_INTENSE)
// intense red on blue doesn't show up on all monitors.
//#define DEFERRATT (ATT_FG_RED | ATT_BG_BLUE | ATT_FG_INTENSE)
#define DEFERRATT DEFATT
#define DEFSTATTR (ATT_FG_BLACK | ATT_BG_WHITE)
#define DEFDLGATT (ATT_FG_RED | ATT_BG_WHITE)
//
// EFI utility prototypes
//
VOID
FlipToPhysical();
VOID
FlipToVirtual();
BOOLEAN
IsPsrDtOn();
//
// display related prototypes
//
BOOLEAN
BlEfiClearDisplay(
VOID
);
BOOLEAN
BlEfiClearToEndOfDisplay(
VOID
);
BOOLEAN
BlEfiClearToEndOfLine(
VOID
);
ULONG
BlEfiGetColumnsPerLine(
VOID
);
ULONG
BlEfiGetLinesPerRow(
VOID
);
BOOLEAN
BlEfiGetCursorPosition(
OUT PULONG x, OPTIONAL
OUT PULONG y OPTIONAL
);
BOOLEAN
BlEfiPositionCursor(
IN ULONG Column,
IN ULONG Row
);
BOOLEAN
BlEfiEnableCursor(
BOOLEAN bVisible
);
BOOLEAN
BlEfiSetAttribute(
ULONG Attribute
);
BOOLEAN
BlEfiSetInverseMode(
BOOLEAN fInverseOn
);
USHORT
BlEfiGetGraphicsChar(
IN GraphicsChar WhichOne
);
VOID
DBG_EFI_PAUSE(
VOID
);
VOID
EFITRACE( PTCHAR p, ... );
UINT16
__cdecl
wsprintf(
CHAR16 *buf,
const CHAR16 *fmt,
...);
extern WCHAR DebugBuffer[512];
CHAR16*
DevicePathToStr(
EFI_DEVICE_PATH UNALIGNED *DevPath
);
VOID
DisableEFIWatchDog(
VOID
);
#define EFI_WATCHDOG_TIMEOUT 60 * 20
VOID
SetEFIWatchDog(
ULONG Timeout
);
ARC_STATUS
BlGetEfiProtocolHandles(
IN EFI_GUID *ProtocolType,
OUT EFI_HANDLE **pHandleArray,
OUT ULONG *NumberOfDevices
);
ARC_STATUS
BlLoadEFIImage(
IN PCCHAR PartitionArcName,
IN PCCHAR ImagePath,
IN PCCHAR ImageName OPTIONAL,
IN BOOLEAN StartImage,
OUT EFI_HANDLE* EfiHandle OPTIONAL
);
VOID
SetupSMBiosInLoaderBlock(
VOID
);
#endif // _BOOTEFI_