147 lines
2.3 KiB
C
147 lines
2.3 KiB
C
|
/*++
|
||
|
|
||
|
Copyright (c) 1998 Intel Corporation
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
biboot.h
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
Public IBI header files
|
||
|
|
||
|
Author:
|
||
|
|
||
|
|
||
|
|
||
|
Revision History
|
||
|
|
||
|
--*/
|
||
|
|
||
|
|
||
|
#include "bootia64.h" // BUGBUG
|
||
|
|
||
|
// #define IBI32 1 // Building 32 bit IBI
|
||
|
#define IBI64 1 // Building 64 bit IBI
|
||
|
|
||
|
#include "ibi.h"
|
||
|
|
||
|
//
|
||
|
// Console functions
|
||
|
//
|
||
|
|
||
|
|
||
|
IBI_STATUS
|
||
|
BiOutputString (
|
||
|
VOID *Context,
|
||
|
CHAR16 *Str
|
||
|
);
|
||
|
|
||
|
IBI_STATUS
|
||
|
BiSetAttribute (
|
||
|
VOID *Context,
|
||
|
UINTN Attribute
|
||
|
);
|
||
|
|
||
|
IBI_STATUS
|
||
|
BiSetCursorPosition (
|
||
|
VOID *Context,
|
||
|
UINTN Column,
|
||
|
UINTN Row
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
BIASSERT (
|
||
|
IN char *str
|
||
|
);
|
||
|
|
||
|
//
|
||
|
// Arc functions
|
||
|
//
|
||
|
|
||
|
ARC_STATUS
|
||
|
BiArcNotImplemented (
|
||
|
IN ULONG No
|
||
|
);
|
||
|
|
||
|
|
||
|
ARC_STATUS
|
||
|
BiArcCloseNop (
|
||
|
IN ULONG FileId
|
||
|
);
|
||
|
|
||
|
|
||
|
IBI_STATUS
|
||
|
BiHandleToArcName (
|
||
|
IN IBI_HANDLE Handle,
|
||
|
OUT PUCHAR Buffer,
|
||
|
IN UINTN BufferSize
|
||
|
);
|
||
|
|
||
|
IBI_STATUS
|
||
|
BiArcNameToHandle (
|
||
|
IN PCHAR OpenPath,
|
||
|
OUT IBI_ARC_OPEN_CONTEXT *OpenContext,
|
||
|
OUT PBL_DEVICE_ENTRY_TABLE *ArcIo
|
||
|
);
|
||
|
|
||
|
|
||
|
//
|
||
|
// Allocate and free IBI pool (not loader pool)
|
||
|
//
|
||
|
|
||
|
PVOID
|
||
|
BiAllocatePool (
|
||
|
IN UINTN Size
|
||
|
);
|
||
|
|
||
|
|
||
|
VOID
|
||
|
BiFreePool (
|
||
|
IN PVOID Buffer
|
||
|
);
|
||
|
|
||
|
|
||
|
WCHAR *
|
||
|
BiDupAscizToUnicode (
|
||
|
PUCHAR Str
|
||
|
);
|
||
|
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
|
||
|
ARC_STATUS
|
||
|
BiArcCode (
|
||
|
IN IBI_STATUS Status
|
||
|
);
|
||
|
|
||
|
//
|
||
|
// Externals
|
||
|
//
|
||
|
|
||
|
extern IBI_SYSTEM_TABLE *IbiST;
|
||
|
extern IBI_BOOT_SERVICES *IbiBS;
|
||
|
extern IBI_RUNTIME_SERVICES *IbiRT;
|
||
|
extern IBI_LOADED_IMAGE *IbiImageInfo;
|
||
|
extern IBI_HANDLE IbiNtldr;
|
||
|
|
||
|
extern IBI_GUID IbiLoadedImageProtocol;
|
||
|
extern IBI_GUID IbiDevicePathProtocol;
|
||
|
extern IBI_GUID IbiBlockIoProtocol;
|
||
|
extern IBI_GUID IbiFilesystemProtocol;
|
||
|
extern IBI_GUID IbiDeviceIoProtocol;
|
||
|
|
||
|
extern IBI_GUID IbiFileInformation;
|
||
|
extern IBI_GUID IbiFileSystemInformation;
|
||
|
|
||
|
extern IBI_GUID VendorMicrosoft;
|
||
|
|
||
|
extern BL_DEVICE_ENTRY_TABLE BiArcConsoleOut;
|
||
|
extern BL_DEVICE_ENTRY_TABLE BiArcConsoleIn;
|
||
|
extern BL_DEVICE_ENTRY_TABLE BiArcBlockIo;
|
||
|
extern BL_DEVICE_ENTRY_TABLE BiArcFsDevIo;
|
||
|
extern PUCHAR BiClipBuffer;
|
||
|
extern UINTN BiClipBufferSize;
|
||
|
|