Newer
Older
AMI-Aptio-BIOS-Reversed / MdePkg / Library / UefiBootServicesTableLib / UefiConfigManager / UefiConfigManager.h
@Ajax Dong Ajax Dong 2 days ago 11 KB Restructure the repo
/** @file
  UefiConfigManager.h -- Header for UefiConfigManager

Copyright (c) HR650X BIOS Decompilation Project
**/

#ifndef __UEFICONFIGMANAGER_H__
#define __UEFICONFIGMANAGER_H__

#include "../uefi_headers/Uefi.h"

//
// Function Prototypes
//

EFI_STATUS
EFIAPI
StrLen(
  VOID
);

EFI_STATUS
EFIAPI
AsciiStrLen(
  VOID
);

EFI_STATUS
EFIAPI
StrnLenS(
  VOID
);

EFI_STATUS
EFIAPI
AsciiStrnLenS(
  VOID
);

EFI_STATUS
EFIAPI
UnicodeVSPrint(
  VOID
);

EFI_STATUS
EFIAPI
UnicodeSPrint(
  VOID
);

EFI_STATUS
EFIAPI
SPrint(
  VOID
);

EFI_STATUS
EFIAPI
GetHiiDatabase(
  VOID
);

EFI_STATUS
EFIAPI
DebugAssert(
  VOID
);

EFI_STATUS
EFIAPI
DebugLog(
  VOID
);

EFI_STATUS
EFIAPI
GetDebugLevel(
  VOID
);

EFI_STATUS
EFIAPI
FreePool(
  VOID
);

EFI_STATUS
EFIAPI
ReadUnaligned16(
  VOID
);

EFI_STATUS
EFIAPI
ReadUnaligned64(
  VOID
);

EFI_STATUS
EFIAPI
ConfigNodeFree(
  VOID
);

EFI_STATUS
EFIAPI
HexParse4(
  VOID
);

EFI_STATUS
EFIAPI
JsonObjectAdd(
  VOID
);

EFI_STATUS
EFIAPI
GetHiiPackageListSize(
  VOID
);

EFI_STATUS
EFIAPI
RegisterVarStoreNodeMapping(
  VOID
);

EFI_STATUS
EFIAPI
RegisterVarStoreNode(
  VOID
);

EFI_STATUS
EFIAPI
CompareVarStoreGuid(
  VOID
);

EFI_STATUS
EFIAPI
CleanupVarStore(
  VOID
);

EFI_STATUS
EFIAPI
ProcessIfrOpcode(
  VOID
);

EFI_STATUS
EFIAPI
ParseIfrGuidOp(
  VOID
);

EFI_STATUS
EFIAPI
ParseIfrOpcodes(
  VOID
);

EFI_STATUS
EFIAPI
ProcessVarStore(
  VOID
);

EFI_STATUS
EFIAPI
InitSetupStoreList(
  VOID
);

EFI_STATUS
EFIAPI
FindVarStoreProtocol(
  VOID
);

EFI_STATUS
EFIAPI
WriteBackSetupStore(
  VOID
);

EFI_STATUS
EFIAPI
InitAttributesNode(
  VOID
);

EFI_STATUS
EFIAPI
UefiConfigManagerEntry(
  VOID
);

EFI_STATUS
EFIAPI
ModuleEntryPoint(
  VOID
);

EFI_STATUS
EFIAPI
memset call (compiler intrinsic or inline assembly)(
  VOID
);

EFI_STATUS
EFIAPI
aligned 8-byte chunks from end(
  VOID
);

EFI_STATUS
EFIAPI
remainder bytes(
  VOID
);

EFI_STATUS
EFIAPI
overlap: copy forward, 8 bytes at a time(
  VOID
);

EFI_STATUS
EFIAPI
qmemcpy for aligned chunks(
  VOID
);

EFI_STATUS
EFIAPI
remaining bytes(
  VOID
);

EFI_STATUS
EFIAPI
}(
  VOID
);

EFI_STATUS
EFIAPI
checks on buffer, format, sizes(
  VOID
);

EFI_STATUS
EFIAPI
literal character(
  VOID
);

EFI_STATUS
EFIAPI
format specifier(
  VOID
);

EFI_STATUS
EFIAPI
'%'(
  VOID
);

EFI_STATUS
EFIAPI
for flags (only '-' is minimally supported)(
  VOID
);

EFI_STATUS
EFIAPI
if (*FormatChar == L'*') {(
  VOID
);

EFI_STATUS
EFIAPI
if (*FormatChar == L'.') {(
  VOID
);

EFI_STATUS
EFIAPI
modifiers(
  VOID
);

EFI_STATUS
EFIAPI
specifier(
  VOID
);

EFI_STATUS
EFIAPI
to decimal(
  VOID
);

EFI_STATUS
EFIAPI
digits(
  VOID
);

EFI_STATUS
EFIAPI
status string or output hex code(
  VOID
);

EFI_STATUS
EFIAPI
printing - simplified representation(
  VOID
);

EFI_STATUS
EFIAPI
UnicodeVSPrint with BufferSize/2 (CHAR16 half)(
  VOID
);

EFI_STATUS
EFIAPI
if we're at TPL level that allows protocol lookup(
  VOID
);

EFI_STATUS
EFIAPI
the HII Database protocol (GUID at unk_6C00)(
  VOID
);

EFI_STATUS
EFIAPI
the debug protocol GUID(
  VOID
);

EFI_STATUS
EFIAPI
the debug protocol's assertion handler (at offset +8)(
  VOID
);

EFI_STATUS
EFIAPI
if this error level is enabled(
  VOID
);

EFI_STATUS
EFIAPI
the protocol's debug print function at offset +0(
  VOID
);

EFI_STATUS
EFIAPI
CMOS(
  VOID
);

EFI_STATUS
EFIAPI
physical memory at 0xFDAF0490(
  VOID
);

EFI_STATUS
EFIAPI
only(
  VOID
);

EFI_STATUS
EFIAPI
| EFI_D_INIT(
  VOID
);

EFI_STATUS
EFIAPI
caller expects the variable to be set even if NULL(
  VOID
);

EFI_STATUS
EFIAPI
SetMem to zero it(
  VOID
);

EFI_STATUS
EFIAPI
this is not a reference (flag 0x100 not set), free children(
  VOID
);

EFI_STATUS
EFIAPI
flag 0x200 not set, free StringValue(
  VOID
);

EFI_STATUS
EFIAPI
for "null"(
  VOID
);

EFI_STATUS
EFIAPI
for "false"(
  VOID
);

EFI_STATUS
EFIAPI
for "true"(
  VOID
);

EFI_STATUS
EFIAPI
string(
  VOID
);

EFI_STATUS
EFIAPI
(negative sign or digit)(
  VOID
);

EFI_STATUS
EFIAPI
if (*Input == '[') {(
  VOID
);

EFI_STATUS
EFIAPI
if (*Input == '{') {(
  VOID
);

EFI_STATUS
EFIAPI
integer initially(
  VOID
);

EFI_STATUS
EFIAPI
negative sign(
  VOID
);

EFI_STATUS
EFIAPI
for leading zero (octal/hex prefix ignored per JSON spec, but parsed anyway)(
  VOID
);

EFI_STATUS
EFIAPI
integer part(
  VOID
);

EFI_STATUS
EFIAPI
fractional part(
  VOID
);

EFI_STATUS
EFIAPI
EndPtr++;(
  VOID
);

EFI_STATUS
EFIAPI
exponent(
  VOID
);

EFI_STATUS
EFIAPI
check 'e' or 'E'(
  VOID
);

EFI_STATUS
EFIAPI
parsed values in the node(
  VOID
);

EFI_STATUS
EFIAPI
the type flags (int vs float) in the pad field(
  VOID
);

EFI_STATUS
EFIAPI
the length of the string (after escape processing)(
  VOID
);

EFI_STATUS
EFIAPI
actual characters (escape sequences count as 1)(
  VOID
);

EFI_STATUS
EFIAPI
buffer for the decoded string(
  VOID
);

EFI_STATUS
EFIAPI
escape sequences(
  VOID
);

EFI_STATUS
EFIAPI
escape \uXXXX(
  VOID
);

EFI_STATUS
EFIAPI
surrogate pairs(
  VOID
);

EFI_STATUS
EFIAPI
surrogate, expect \uXXXX low surrogate(
  VOID
);

EFI_STATUS
EFIAPI
the decoded string in the node(
  VOID
);

EFI_STATUS
EFIAPI
pointer after closing quote(
  VOID
);

EFI_STATUS
EFIAPI
whitespace(
  VOID
);

EFI_STATUS
EFIAPI
array(
  VOID
);

EFI_STATUS
EFIAPI
first element(
  VOID
);

EFI_STATUS
EFIAPI
remaining elements(
  VOID
);

EFI_STATUS
EFIAPI
next element(
  VOID
);

EFI_STATUS
EFIAPI
object(
  VOID
);

EFI_STATUS
EFIAPI
first member(
  VOID
);

EFI_STATUS
EFIAPI
key string(
  VOID
);

EFI_STATUS
EFIAPI
string value to name, mark as key(
  VOID
);

EFI_STATUS
EFIAPI
original decompiled code swaps Name and StringValue pointers(
  VOID
);

EFI_STATUS
EFIAPI
value(
  VOID
);

EFI_STATUS
EFIAPI
remaining members(
  VOID
);

EFI_STATUS
EFIAPI
key(
  VOID
);

EFI_STATUS
EFIAPI
searching(
  VOID
);

EFI_STATUS
EFIAPI
any existing key name on the value(
  VOID
);

EFI_STATUS
EFIAPI
the key name(
  VOID
);

EFI_STATUS
EFIAPI
into parent's child list(
  VOID
);

EFI_STATUS
EFIAPI
the last sibling(
  VOID
);

EFI_STATUS
EFIAPI
attempt with 512-byte buffer(
  VOID
);

EFI_STATUS
EFIAPI
and retry with correct size(
  VOID
);

EFI_STATUS
EFIAPI
call: get required buffer size(
  VOID
);

EFI_STATUS
EFIAPI
and re-export(
  VOID
);

EFI_STATUS
EFIAPI
with full buffer(
  VOID
);

EFI_STATUS
EFIAPI
bytes to UINT16 units(
  VOID
);

EFI_STATUS
EFIAPI
buffer pointer as status(
  VOID
);

EFI_STATUS
EFIAPI
to linked list(
  VOID
);

EFI_STATUS
EFIAPI
leading spaces(
  VOID
);

EFI_STATUS
EFIAPI
the string left(
  VOID
);

EFI_STATUS
EFIAPI
trailing spaces(
  VOID
);

EFI_STATUS
EFIAPI
NULL if all spaces were stripped(
  VOID
);

EFI_STATUS
EFIAPI
count(
  VOID
);

EFI_STATUS
EFIAPI
at end of linked list at gIfrNvStoreMapHandle + 26(
  VOID
);

EFI_STATUS
EFIAPI
VarId = OpcodeData[9];  // VarStoreId(
  VOID
);

EFI_STATUS
EFIAPI
variable name follows(
  VOID
);

EFI_STATUS
EFIAPI
VarGuid = OpcodeData + 11;  // GUID(
  VOID
);

EFI_STATUS
EFIAPI
VarId = OpcodeData[1];  // VarStoreId(
  VOID
);

EFI_STATUS
EFIAPI
VarStoreName = (CHAR8 *)(OpcodeData + 2);(
  VOID
);

EFI_STATUS
EFIAPI
or create the varstore mapping in the linked list(
  VOID
);

EFI_STATUS
EFIAPI
for matching config section name(
  VOID
);

EFI_STATUS
EFIAPI
variable from RuntimeServices(
  VOID
);

EFI_STATUS
EFIAPI
the original: RuntimeServices->GetVariable(varName, &guid, &attribs, &size, buffer)(
  VOID
);

EFI_STATUS
EFIAPI
check for section name matching "Setup" etc.(
  VOID
);

EFI_STATUS
EFIAPI
and store the variable data(
  VOID
);

EFI_STATUS
EFIAPI
data into entry(
  VOID
);

EFI_STATUS
EFIAPI
the config name reference(
  VOID
);

EFI_STATUS
EFIAPI
+ 17 stores the config name pointer for the section(
  VOID
);

EFI_STATUS
EFIAPI
if debug enabled(
  VOID
);

EFI_STATUS
EFIAPI
the mapping(
  VOID
);

EFI_STATUS
EFIAPI
opcode processing(
  VOID
);

EFI_STATUS
EFIAPI
the variable ID and data, registers mappings(
  VOID
);

EFI_STATUS
EFIAPI
opcode length at offset +2(
  VOID
);

EFI_STATUS
EFIAPI
based on opcode type(
  VOID
);

EFI_STATUS
EFIAPI
case 0x02:  // EFI_IFR_SUBTITLE(
  VOID
);

EFI_STATUS
EFIAPI
case 0x05:  // EFI_IFR_ONE_OF(
  VOID
);

EFI_STATUS
EFIAPI
case 0x07:  // EFI_IFR_NUMERIC(
  VOID
);

EFI_STATUS
EFIAPI
case 0x09:  // EFI_IFR_PASSWORD(
  VOID
);

EFI_STATUS
EFIAPI
// Questions with varstore - parse variable info(
  VOID
);

EFI_STATUS
EFIAPI
the linked list tracking varstore IDs(
  VOID
);

EFI_STATUS
EFIAPI
case 0x25:  // EFI_IFR_VARSTORE_NAME_VALUE(
  VOID
);

EFI_STATUS
EFIAPI
ProcessIfrOpcode(ConfigAddr, (UINT16 *)Current, IfrEnd, DummyParam);(
  VOID
);

EFI_STATUS
EFIAPI
ParseIfrGuidOp(ConfigAddr, (UINT16 *)Current, DummyParam);(
  VOID
);

EFI_STATUS
EFIAPI
case 0x2D:  // EFI_IFR_DEFAULTSTORE(
  VOID
);

EFI_STATUS
EFIAPI
package list size(
  VOID
);

EFI_STATUS
EFIAPI
buffer(
  VOID
);

EFI_STATUS
EFIAPI
the package list(
  VOID
);

EFI_STATUS
EFIAPI
IFR opcodes from the package list(
  VOID
);

EFI_STATUS
EFIAPI
package list header(
  VOID
);

EFI_STATUS
EFIAPI
package list length(
  VOID
);

EFI_STATUS
EFIAPI
= end marker(
  VOID
);

EFI_STATUS
EFIAPI
package type 2(
  VOID
);

EFI_STATUS
EFIAPI
any pending varstore mapping items from the queue(
  VOID
);

EFI_STATUS
EFIAPI
and process(
  VOID
);

EFI_STATUS
EFIAPI
list of HII handles (RegisteredHandles)(
  VOID
);

EFI_STATUS
EFIAPI
temporary array for varstore entries (each 53 bytes)(
  VOID
);

EFI_STATUS
EFIAPI
raw 8-byte pointer arithmetic as in original(
  VOID
);

EFI_STATUS
EFIAPI
varstore array(
  VOID
);

EFI_STATUS
EFIAPI
each handle(
  VOID
);

EFI_STATUS
EFIAPI
on error(
  VOID
);

EFI_STATUS
EFIAPI
back phase(
  VOID
);

EFI_STATUS
EFIAPI
byte comparison that tries 8-byte aligned reads(
  VOID
);

EFI_STATUS
EFIAPI
misalignment(
  VOID
);

EFI_STATUS
EFIAPI
aligned 8-byte chunks(
  VOID
);

EFI_STATUS
EFIAPI
all handles supporting the form map protocol(
  VOID
);

EFI_STATUS
EFIAPI
GetData(Handle, 0x19, 0, ConfigData, ConfigSize, ...)(
  VOID
);

EFI_STATUS
EFIAPI
phase: try ResetData(
  VOID
);

EFI_STATUS
EFIAPI
handles again, call ResetData(
  VOID
);

EFI_STATUS
EFIAPI
to fixed TPL(
  VOID
);

EFI_STATUS
EFIAPI
the actual variable store protocol(
  VOID
);

EFI_STATUS
EFIAPI
variable data(
  VOID
);

EFI_STATUS
EFIAPI
ReadFunction(
  VOID
);

EFI_STATUS
EFIAPI
BootServices->FreePool(*ConfigData);(
  VOID
);

EFI_STATUS
EFIAPI
TPL again(
  VOID
);

EFI_STATUS
EFIAPI
is valid(
  VOID
);

EFI_STATUS
EFIAPI
system access variable(
  VOID
);

EFI_STATUS
EFIAPI
variable name(
  VOID
);

EFI_STATUS
EFIAPI
the variable(
  VOID
);

EFI_STATUS
EFIAPI
at offset +25(
  VOID
);

EFI_STATUS
EFIAPI
at offset +49(
  VOID
);

EFI_STATUS
EFIAPI
at offset +41(
  VOID
);

EFI_STATUS
EFIAPI
at offset +9(
  VOID
);

EFI_STATUS
EFIAPI
as written(
  VOID
);

EFI_STATUS
EFIAPI
the backup variable(
  VOID
);

EFI_STATUS
EFIAPI
system reset via I/O port 0xCF9(
  VOID
);

EFI_STATUS
EFIAPI
reset(
  VOID
);

EFI_STATUS
EFIAPI
HII Database Protocol(
  VOID
);

EFI_STATUS
EFIAPI
HII String Protocol(
  VOID
);

EFI_STATUS
EFIAPI
number of HII handles(
  VOID
);

EFI_STATUS
EFIAPI
handle buffer(
  VOID
);

EFI_STATUS
EFIAPI
setup store list(
  VOID
);

EFI_STATUS
EFIAPI
back and cleanup(
  VOID
);

EFI_STATUS
EFIAPI
root "BIOS Setup Information Store" node(
  VOID
);

EFI_STATUS
EFIAPI
type(
  VOID
);

EFI_STATUS
EFIAPI
"Modified" timestamp string(
  VOID
);

EFI_STATUS
EFIAPI
current date/time from RuntimeServices(
  VOID
);

EFI_STATUS
EFIAPI
timestamp(
  VOID
);

EFI_STATUS
EFIAPI
as ASCII via AsciiToUnicode/UnicodeToAscii(
  VOID
);

EFI_STATUS
EFIAPI
Attributes node(
  VOID
);

EFI_STATUS
EFIAPI
protocols and varstore(
  VOID
);

EFI_STATUS
EFIAPI
is built; clean up(
  VOID
);

EFI_STATUS
EFIAPI
HOB list(
  VOID
);

EFI_STATUS
EFIAPI
the actual entry point(
  VOID
);

#endif /* __UEFICONFIGMANAGER_H__ */