/** @file
TlsAuthConfigDxe.h -- Header for TlsAuthConfigDxe
Copyright (c) HR650X BIOS Decompilation Project
**/
#ifndef __TLSAUTHCONFIGDXE_H__
#define __TLSAUTHCONFIGDXE_H__
#include "../uefi_headers/Uefi.h"
//
// Function Prototypes
//
EFI_STATUS
EFIAPI
TlsAuthConfigExtractConfig(
VOID
);
EFI_STATUS
EFIAPI
TlsAuthConfigRouteConfig(
VOID
);
EFI_STATUS
EFIAPI
TlsAuthConfigCallback(
VOID
);
EFI_STATUS
EFIAPI
TlsAuthConfigInstallHiiConfigAccess(
VOID
);
EFI_STATUS
EFIAPI
TlsAuthConfigLibraryInit(
VOID
);
EFI_STATUS
EFIAPI
TlsAuthConfigUnload(
VOID
);
EFI_STATUS
EFIAPI
TlsAuthConfigDxeEntry(
VOID
);
EFI_STATUS
EFIAPI
TlsAuthConfigDriverBindingSupported(
VOID
);
EFI_STATUS
EFIAPI
TlsAuthConfigDriverBindingStart(
VOID
);
EFI_STATUS
EFIAPI
TlsAuthConfigDriverBindingStop(
VOID
);
EFI_STATUS
EFIAPI
TlsAuthConfigPrivateInit(
VOID
);
EFI_STATUS
EFIAPI
TlsAuthConfigPrivateDestroy(
VOID
);
EFI_STATUS
EFIAPI
IsCertificateEntryType(
VOID
);
EFI_STATUS
EFIAPI
UEFI System Table Pointers(
VOID
);
EFI_STATUS
EFIAPI
by TlsAuthConfigDriverBindingStart via(
VOID
);
EFI_STATUS
EFIAPI
/ UefiRuntimeServicesTableLib(
VOID
);
EFI_STATUS
EFIAPI
gImageHandle = NULL; /* qword_CDD8 */(
VOID
);
EFI_STATUS
EFIAPI
protocol interface pointers (populated during driver start)(
VOID
);
EFI_STATUS
EFIAPI
*gHiiConfigRouting = NULL; /* qword_CE00 */(
VOID
);
EFI_STATUS
EFIAPI
Definitions (from .rdata section)(
VOID
);
EFI_STATUS
EFIAPI
gEfiDriverBindingProtocolGuid = { 0x5B1B31A1, 0x9562, 0x11D2, { 0x8E, 0x3F, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B } };(
VOID
);
EFI_STATUS
EFIAPI
Declarations(
VOID
);
EFI_STATUS
EFIAPI
EFIAPI(
VOID
);
EFI_STATUS
EFIAPI
Helpers (BaseMemoryLib / BaseLib linked implementations)(
VOID
);
EFI_STATUS
EFIAPI
Binding Protocol Entry Point(
VOID
);
EFI_STATUS
EFIAPI
the HII system table (locates HII config routing, etc.)(
VOID
);
EFI_STATUS
EFIAPI
(NULL); /* HII setup placeholder */(
VOID
);
EFI_STATUS
EFIAPI
HII Config Access Protocol(
VOID
);
EFI_STATUS
EFIAPI
= gBootServices->LocateProtocol ((
VOID
);
EFI_STATUS
EFIAPI
HII Config Routing Protocol(
VOID
);
EFI_STATUS
EFIAPI
HII Database Protocol(
VOID
);
EFI_STATUS
EFIAPI
Platform Setup Transport and HII String(
VOID
);
EFI_STATUS
EFIAPI
the private protocol to retrieve our context(
VOID
);
EFI_STATUS
EFIAPI
= gBootServices->OpenProtocol ((
VOID
);
EFI_STATUS
EFIAPI
the protocol and free the private data(
VOID
);
EFI_STATUS
EFIAPI
1: initialise UEFI library globals + HII protocols(
VOID
);
EFI_STATUS
EFIAPI
(ImageHandle, SystemTable);(
VOID
);
EFI_STATUS
EFIAPI
2: install the Driver Binding Protocol onto our image handle(
VOID
);
EFI_STATUS
EFIAPI
= AllocateZeroPool (sizeof (EFI_DRIVER_BINDING_PROTOCOL));(
VOID
);
EFI_STATUS
EFIAPI
3: store the Unload handler (at Private-> + 88 = +0x58)(
VOID
);
EFI_STATUS
EFIAPI
4: install HII Config Access protocol(
VOID
);
EFI_STATUS
EFIAPI
TlsAuthConfigInstallHiiConfigAccess (ImageHandle);(
VOID
);
EFI_STATUS
EFIAPI
Binding Protocol Implementation(
VOID
);
EFI_STATUS
EFIAPI
the TLS Auth Config Protocol is already installed, return(
VOID
);
EFI_STATUS
EFIAPI
private context (144 bytes)(
VOID
);
EFI_STATUS
EFIAPI
= AllocateZeroPool (144);(
VOID
);
EFI_STATUS
EFIAPI
the private context(
VOID
);
EFI_STATUS
EFIAPI
= TlsAuthConfigPrivateInit (Private);(
VOID
);
EFI_STATUS
EFIAPI
the TLS Auth Config Protocol on the controller(
VOID
);
EFI_STATUS
EFIAPI
= gBootServices->InstallMultipleProtocolInterfaces ((
VOID
);
EFI_STATUS
EFIAPI
Data Helpers(
VOID
);
EFI_STATUS
EFIAPI
child init function pointers, opens TLS config protocol(
VOID
);
EFI_STATUS
EFIAPI
HII handles, etc.(
VOID
);
EFI_STATUS
EFIAPI
EFI_SUCCESS;(
VOID
);
EFI_STATUS
EFIAPI
any open protocols, free child data(
VOID
);
EFI_STATUS
EFIAPI
Config Access Protocol (
VOID
);
EFI_STATUS
EFIAPI
HII opcode handles(
VOID
);
EFI_STATUS
EFIAPI
= HiiAllocateOpCodeHandle ();(
VOID
);
EFI_STATUS
EFIAPI
the TlsCaCertificate variable for size(
VOID
);
EFI_STATUS
EFIAPI
= 0;(
VOID
);
EFI_STATUS
EFIAPI
entry contains TLS certificates(
VOID
);
EFI_STATUS
EFIAPI
= Entry->CertDescLen; /* field at +20 */(
VOID
);
EFI_STATUS
EFIAPI
certificate identifier as a HII text opcode(
VOID
);
EFI_STATUS
EFIAPI
((
VOID
);
EFI_STATUS
EFIAPI
the opcode entry in template buffer(
VOID
);
EFI_STATUS
EFIAPI
((CHAR8 *)CertStr + 0x2, 0xE);(
VOID
);
EFI_STATUS
EFIAPI
cert list handle to main form handle; clean up(
VOID
);
EFI_STATUS
EFIAPI
(FormOpCodeHandle, CertListOpCodeHandle);(
VOID
);
EFI_STATUS
EFIAPI
buffers(
VOID
);
EFI_STATUS
EFIAPI
= AllocateZeroPool (VarSize);(
VOID
);
EFI_STATUS
EFIAPI
entries and copy to CertVarCopy, skipping the deleted cert(
VOID
);
EFI_STATUS
EFIAPI
= (UINT32)VarSize;(
VOID
);
EFI_STATUS
EFIAPI
an entry was deleted, compact and write the variable back(
VOID
);
EFI_STATUS
EFIAPI
(EntryDeleted) {(
VOID
);
EFI_STATUS
EFIAPI
Config Access Install (
VOID
);
EFI_STATUS
EFIAPI
the HII Config Access protocol instance(
VOID
);
EFI_STATUS
EFIAPI
= AllocateZeroPool (sizeof (TLS_AUTH_CONFIG_PRIVATE));(
VOID
);
EFI_STATUS
EFIAPI
the Config Access protocol interface on the private struct(
VOID
);
EFI_STATUS
EFIAPI
= &Private->ConfigAccess;(
VOID
);
EFI_STATUS
EFIAPI
the protocol(
VOID
);
EFI_STATUS
EFIAPI
= &Private->DriverImageHandle;(
VOID
);
EFI_STATUS
EFIAPI
the GUID at CertificationEntry + 8 with the expected GUID(
VOID
);
EFI_STATUS
EFIAPI
CompareGuid ((
VOID
);
#endif /* __TLSAUTHCONFIGDXE_H__ */