/** @file
GraphicsConsole.h -- Header for GraphicsConsole
Copyright (c) HR650X BIOS Decompilation Project
**/
#ifndef __GRAPHICSCONSOLE_H__
#define __GRAPHICSCONSOLE_H__
#include "../uefi_headers/Uefi.h"
//
// Function Prototypes
//
EFI_STATUS
EFIAPI
ModuleEntryPoint(
VOID
);
EFI_STATUS
EFIAPI
GraphicsConsoleDriverEntry(
VOID
);
EFI_STATUS
EFIAPI
GopNotificationEvent(
VOID
);
EFI_STATUS
EFIAPI
TextOutConstructor(
VOID
);
EFI_STATUS
EFIAPI
TextOutDestructor(
VOID
);
EFI_STATUS
EFIAPI
TextOutResetGop(
VOID
);
EFI_STATUS
EFIAPI
TextOutReset(
VOID
);
EFI_STATUS
EFIAPI
TextOutOutputString(
VOID
);
EFI_STATUS
EFIAPI
TextOutTestString(
VOID
);
EFI_STATUS
EFIAPI
TextOutQueryMode(
VOID
);
EFI_STATUS
EFIAPI
TextOutSetMode(
VOID
);
EFI_STATUS
EFIAPI
TextOutSetAttribute(
VOID
);
EFI_STATUS
EFIAPI
FlushCursor(
VOID
);
EFI_STATUS
EFIAPI
EnableCursor(
VOID
);
EFI_STATUS
EFIAPI
SetCursorPosition(
VOID
);
EFI_STATUS
EFIAPI
ClearScreen(
VOID
);
EFI_STATUS
EFIAPI
GraphicsOutputFindMode(
VOID
);
EFI_STATUS
EFIAPI
InitializeGraphicsMode(
VOID
);
EFI_STATUS
EFIAPI
ScrollUp(
VOID
);
EFI_STATUS
EFIAPI
ScrollDown(
VOID
);
EFI_STATUS
EFIAPI
ScrollRow(
VOID
);
EFI_STATUS
EFIAPI
TextOutClearLine(
VOID
);
EFI_STATUS
EFIAPI
FlushCurrentLine(
VOID
);
EFI_STATUS
EFIAPI
TextOutSetModeCallback(
VOID
);
EFI_STATUS
EFIAPI
TextOutFlushStub(
VOID
);
EFI_STATUS
EFIAPI
TextOutFlush(
VOID
);
EFI_STATUS
EFIAPI
IsValidChar(
VOID
);
EFI_STATUS
EFIAPI
state variables for text output line buffer(
VOID
);
EFI_STATUS
EFIAPI
*gOutputBuffer = NULL;(
VOID
);
EFI_STATUS
EFIAPI
HII_FONT protocol pointer(
VOID
);
EFI_STATUS
EFIAPI
HII_FONT protocol handle(
VOID
);
EFI_STATUS
EFIAPI
UEFI globals (set by ModuleEntryPoint)(
VOID
);
EFI_STATUS
EFIAPI
gImageHandle = NULL;(
VOID
);
EFI_STATUS
EFIAPI
gImageHandle_0 = NULL;(
VOID
);
EFI_STATUS
EFIAPI
UEFI Module Entry Point(
VOID
);
EFI_STATUS
EFIAPI
Entry Point(
VOID
);
EFI_STATUS
EFIAPI
GOP notification event (TPL_NOTIFY)(
VOID
);
EFI_STATUS
EFIAPI
= gBootServices_0->CreateEvent ((
VOID
);
EFI_STATUS
EFIAPI
protocol notification for SimpleTextOut on GOP(
VOID
);
EFI_STATUS
EFIAPI
= gBootServices_0->InstallProtocolInterface ((
VOID
);
EFI_STATUS
EFIAPI
driver binding + component name protocols(
VOID
);
EFI_STATUS
EFIAPI
gBootServices_0->InstallMultipleProtocolInterfaces ((
VOID
);
EFI_STATUS
EFIAPI
Notification Event Handler(
VOID
);
EFI_STATUS
EFIAPI
all handles with GOP protocol(
VOID
);
EFI_STATUS
EFIAPI
= gBootServices_0->LocateHandleBuffer ((
VOID
);
EFI_STATUS
EFIAPI
GOP handle by comparing first 16 bytes of mode info(
VOID
);
EFI_STATUS
EFIAPI
(CompareMem (GopModeInfo, &mGopModeInfoSource, 16) != 0) {(
VOID
);
EFI_STATUS
EFIAPI
HII_FONT protocol(
VOID
);
EFI_STATUS
EFIAPI
(gHiiFontInterface == NULL) {(
VOID
);
EFI_STATUS
EFIAPI
HII font with notification buffer(
VOID
);
EFI_STATUS
EFIAPI
= (ModeEntry->ModeNumber & 0xFFFFFF) + 24;(
VOID
);
EFI_STATUS
EFIAPI
(Driver Binding Start)(
VOID
);
EFI_STATUS
EFIAPI
private context (266 bytes)(
VOID
);
EFI_STATUS
EFIAPI
= gBootServices_0->AllocatePool ((
VOID
);
EFI_STATUS
EFIAPI
function table template (80 bytes at off_2990)(
VOID
);
EFI_STATUS
EFIAPI
and init SimpleTextOutMode (24 bytes)(
VOID
);
EFI_STATUS
EFIAPI
mode table (4 modes x 25 bytes = 100 bytes)(
VOID
);
EFI_STATUS
EFIAPI
GOP protocol BY_DRIVER(
VOID
);
EFI_STATUS
EFIAPI
= gBootServices_0->OpenProtocol ((
VOID
);
EFI_STATUS
EFIAPI
HII Font protocol BY_DRIVER (optional)(
VOID
);
EFI_STATUS
EFIAPI
(EFI_ERROR (gBootServices_0->OpenProtocol ((
VOID
);
EFI_STATUS
EFIAPI
HII Font on any handle(
VOID
);
EFI_STATUS
EFIAPI
graphics mode table(
VOID
);
EFI_STATUS
EFIAPI
= InitializeGraphicsMode (Private);(
VOID
);
EFI_STATUS
EFIAPI
private fields(
VOID
);
EFI_STATUS
EFIAPI
default mode 0 and clear screen(
VOID
);
EFI_STATUS
EFIAPI
(TextOutSetMode (Private, 0) >= 0) {(
VOID
);
EFI_STATUS
EFIAPI
protocols on new handle(
VOID
);
EFI_STATUS
EFIAPI
= gBootServices_0->InstallMultipleProtocolInterfaces ((
VOID
);
EFI_STATUS
EFIAPI
(Driver Binding Stop)(
VOID
);
EFI_STATUS
EFIAPI
private data from the protocol interface(
VOID
);
EFI_STATUS
EFIAPI
GOP protocol (opened BY_DRIVER)(
VOID
);
EFI_STATUS
EFIAPI
protocols(
VOID
);
EFI_STATUS
EFIAPI
= gBootServices_0->UninstallMultipleProtocolInterfaces ((
VOID
);
EFI_STATUS
EFIAPI
resources(
VOID
);
EFI_STATUS
EFIAPI
- Reset GOP state for this instance(
VOID
);
EFI_STATUS
EFIAPI
the controller handle via GOP protocol(
VOID
);
EFI_STATUS
EFIAPI
= gBootServices_0->LocateProtocol ((
VOID
);
EFI_STATUS
EFIAPI
GOP protocol(
VOID
);
EFI_STATUS
EFIAPI
char to glyph via HII Font(
VOID
);
EFI_STATUS
EFIAPI
= Private->HiiFont->StringToImage ((
VOID
);
EFI_STATUS
EFIAPI
width to 8 for wide chars(
VOID
);
EFI_STATUS
EFIAPI
(((*(UINT16 *)GlyphBuffer - 8) & 0xFFF7) != 0) {(
VOID
);
EFI_STATUS
EFIAPI
character in output buffer(
VOID
);
EFI_STATUS
EFIAPI
= *(UINT16 *)GlyphBuffer >> 3;(
VOID
);
EFI_STATUS
EFIAPI
glyph buffer(
VOID
);
EFI_STATUS
EFIAPI
(GlyphBuffer != NULL) {(
VOID
);
EFI_STATUS
EFIAPI
remaining buffered characters(
VOID
);
EFI_STATUS
EFIAPI
(Private);(
VOID
);
EFI_STATUS
EFIAPI
GOP mode if needed(
VOID
);
EFI_STATUS
EFIAPI
= Private->Gop->Mode->Mode;(
VOID
);
EFI_STATUS
EFIAPI
(gOutputBuffer != NULL) {(
VOID
);
EFI_STATUS
EFIAPI
Helper Functions(
VOID
);
EFI_STATUS
EFIAPI
mode table (debug output)(
VOID
);
EFI_STATUS
EFIAPI
((EFI_D_INFO, " Mode# Text Col Text Row Vid Col Vid Row Supported GraphicsMode\n\r"));(
VOID
);
EFI_STATUS
EFIAPI
cursor stub with width info(
VOID
);
EFI_STATUS
EFIAPI
to GOP framebuffer(
VOID
);
EFI_STATUS
EFIAPI
check(
VOID
);
#endif /* __GRAPHICSCONSOLE_H__ */