Newer
Older
AMI-Aptio-BIOS-Reversed / VlanConfigDxe / VlanConfigDxe.h
@Ajax Dong Ajax Dong 2 days ago 11 KB Init
/** @file
  VlanConfigDxe.h -- Header for VlanConfigDxe

Copyright (c) HR650X BIOS Decompilation Project
**/

#ifndef __VLANCONFIGDXE_H__
#define __VLANCONFIGDXE_H__

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

//
// Function Prototypes
//

EFI_STATUS
EFIAPI
VlanConfigInitPrivateData(
  VOID
);

EFI_STATUS
EFIAPI
VlanConfigCleanupPrivateData(
  VOID
);

EFI_STATUS
EFIAPI
VlanConfigValidateConfigHeader(
  VOID
);

EFI_STATUS
EFIAPI
VlanConfigCompareConfigStrings(
  VOID
);

EFI_STATUS
EFIAPI
VlanConfigUpdateForm(
  VOID
);

EFI_STATUS
EFIAPI
VlanConfigFreePool(
  VOID
);

EFI_STATUS
EFIAPI
VlanConfigDxeEntryPoint(
  VOID
);

EFI_STATUS
EFIAPI
VlanConfigDriverBindingSupported(
  VOID
);

EFI_STATUS
EFIAPI
VlanConfigDriverBindingStart(
  VOID
);

EFI_STATUS
EFIAPI
VlanConfigDriverBindingStop(
  VOID
);

EFI_STATUS
EFIAPI
VlanConfigDxeUnload(
  VOID
);

EFI_STATUS
EFIAPI
VlanConfigSet(
  VOID
);

EFI_STATUS
EFIAPI
VlanConfigFind(
  VOID
);

EFI_STATUS
EFIAPI
VlanConfigRemove(
  VOID
);

EFI_STATUS
EFIAPI
VlanConfigExtractConfig(
  VOID
);

EFI_STATUS
EFIAPI
VlanConfigRouteConfig(
  VOID
);

EFI_STATUS
EFIAPI
VlanConfigCallback(
  VOID
);

EFI_STATUS
EFIAPI
VlanConfigComponentName2GetDriverName(
  VOID
);

EFI_STATUS
EFIAPI
VlanConfigComponentName2GetControllerName(
  VOID
);

EFI_STATUS
EFIAPI
Definitions(
  VOID
);

EFI_STATUS
EFIAPI
Config Protocol GUID: { B3276D32-41FC-4260-7469-D90FAA23DC4C }(
  VOID
);

EFI_STATUS
EFIAPI
the data at 0x7208 in .rdata(
  VOID
);

EFI_STATUS
EFIAPI
gEfiVlanConfigProtocolGuid = {(
  VOID
);

EFI_STATUS
EFIAPI
Network Protocol GUID: { C1539892-9836-5822-AB31-A01843B41A4D }(
  VOID
);

EFI_STATUS
EFIAPI
gEfiManagedNetworkProtocolGuid = {(
  VOID
);

EFI_STATUS
EFIAPI
Path Protocol GUID: { 09576E91-6D3F-11D2-8E39-00A0C969723B }(
  VOID
);

EFI_STATUS
EFIAPI
gEfiDevicePathProtocolGuid = {(
  VOID
);

EFI_STATUS
EFIAPI
Network Protocol GUID: { A19832B9-AC25-11D3-9A2D-0090273FC14D }(
  VOID
);

EFI_STATUS
EFIAPI
gEfiSimpleNetworkProtocolGuid = {(
  VOID
);

EFI_STATUS
EFIAPI
Protocol GUIDS (standard UEFI)(
  VOID
);

EFI_STATUS
EFIAPI
gEfiHiiStringProtocolGuid = {(
  VOID
);

EFI_STATUS
EFIAPI
Variables(
  VOID
);

EFI_STATUS
EFIAPI
handle (global)(
  VOID
);

EFI_STATUS
EFIAPI
gImageHandle = NULL;(
  VOID
);

EFI_STATUS
EFIAPI
Config Routing Protocol handle(
  VOID
);

EFI_STATUS
EFIAPI
*gHiiConfigRouting = NULL;(
  VOID
);

EFI_STATUS
EFIAPI
Database Protocol handle(
  VOID
);

EFI_STATUS
EFIAPI
*gHiiDatabase = NULL;(
  VOID
);

EFI_STATUS
EFIAPI
String Protocol handle(
  VOID
);

EFI_STATUS
EFIAPI
*gHiiString = NULL;(
  VOID
);

EFI_STATUS
EFIAPI
Config Access Protocol handle (lazy init)(
  VOID
);

EFI_STATUS
EFIAPI
*gHiiConfigAccess = NULL;(
  VOID
);

EFI_STATUS
EFIAPI
zero MAC address (6 bytes)(
  VOID
);

EFI_STATUS
EFIAPI
mZeroMacAddress[6] = { 0, 0, 0, 0, 0, 0 };(
  VOID
);

EFI_STATUS
EFIAPI
Binding Protocol instance(
  VOID
);

EFI_STATUS
EFIAPI
gVlanConfigDriverBinding = {(
  VOID
);

EFI_STATUS
EFIAPI
NULL,          // ImageHandle (filled at entry)(
  VOID
);

EFI_STATUS
EFIAPI
(filled at entry)(
  VOID
);

EFI_STATUS
EFIAPI
Name 2 Protocol table(
  VOID
);

EFI_STATUS
EFIAPI
gVlanConfigComponentName2 = {(
  VOID
);

EFI_STATUS
EFIAPI
Config Access Protocol instance(
  VOID
);

EFI_STATUS
EFIAPI
gVlanConfigHiiConfigAccess = {(
  VOID
);

EFI_STATUS
EFIAPI
binary and string package references (defined in auto-generated files)(
  VOID
);

EFI_STATUS
EFIAPI
UINT8  mVlanConfigVfrBin[];(
  VOID
);

EFI_STATUS
EFIAPI
Prototypes for Local Functions(
  VOID
);

EFI_STATUS
EFIAPI
VlanConfigInitPrivateData ((
  VOID
);

EFI_STATUS
EFIAPI
Wrappers(
  VOID
);

EFI_STATUS
EFIAPI
Entry Point(
  VOID
);

EFI_STATUS
EFIAPI
global service pointer tables(
  VOID
);

EFI_STATUS
EFIAPI
= ImageHandle;(
  VOID
);

EFI_STATUS
EFIAPI
HII protocol interfaces (LocateProtocol with 0 registration)(
  VOID
);

EFI_STATUS
EFIAPI
= gBS->LocateProtocol ((
  VOID
);

EFI_STATUS
EFIAPI
HII Config Access Protocol (for NV data storage, optional)(
  VOID
);

EFI_STATUS
EFIAPI
up driver binding protocol handles(
  VOID
);

EFI_STATUS
EFIAPI
the Driver Binding and Component Name 2 protocols(
  VOID
);

EFI_STATUS
EFIAPI
= gBS->InstallMultipleProtocolInterfaces ((
  VOID
);

EFI_STATUS
EFIAPI
Binding Protocol(
  VOID
);

EFI_STATUS
EFIAPI
if VLAN Config Protocol already exists on this controller.(
  VOID
);

EFI_STATUS
EFIAPI
so, report ACCESS_DENIED to avoid duplicate binding.(
  VOID
);

EFI_STATUS
EFIAPI
= gBS->OpenProtocol ((
  VOID
);

EFI_STATUS
EFIAPI
controller must have Managed Network Protocol(
  VOID
);

EFI_STATUS
EFIAPI
if VLAN Config Protocol already exists on this controller(
  VOID
);

EFI_STATUS
EFIAPI
Simple Network Protocol on the controller (GET_PROTOCOL)(
  VOID
);

EFI_STATUS
EFIAPI
Managed Network Protocol on the controller (BY_DRIVER)(
  VOID
);

EFI_STATUS
EFIAPI
Device Path Protocol on the controller (BY_DRIVER)(
  VOID
);

EFI_STATUS
EFIAPI
and initialize private data structure (0x130 bytes)(
  VOID
);

EFI_STATUS
EFIAPI
= (VLAN_CONFIG_PRIVATE_DATA *)VlanConfigAllocateZeroPool (sizeof (VLAN_CONFIG_PRIVATE_DATA));(
  VOID
);

EFI_STATUS
EFIAPI
private data fields(
  VOID
);

EFI_STATUS
EFIAPI
VLAN Config Protocol interface(
  VOID
);

EFI_STATUS
EFIAPI
the driver instance and create HII resources(
  VOID
);

EFI_STATUS
EFIAPI
= VlanConfigInitPrivateData (Private);(
  VOID
);

EFI_STATUS
EFIAPI
the VLAN Config Protocol on the controller handle(
  VOID
);

EFI_STATUS
EFIAPI
= gBS->InstallProtocolInterface ((
  VOID
);

EFI_STATUS
EFIAPI
signature and get the private data(
  VOID
);

EFI_STATUS
EFIAPI
up HII resources(
  VOID
);

EFI_STATUS
EFIAPI
(Private);(
  VOID
);

EFI_STATUS
EFIAPI
the VLAN Config Protocol(
  VOID
);

EFI_STATUS
EFIAPI
= gBS->UninstallProtocolInterface ((
  VOID
);

EFI_STATUS
EFIAPI
protocols opened by this driver(
  VOID
);

EFI_STATUS
EFIAPI
Unload / Image Unload Handler(
  VOID
);

EFI_STATUS
EFIAPI
all handles with VLAN Config Protocol(
  VOID
);

EFI_STATUS
EFIAPI
= gBS->LocateHandleBuffer ((
  VOID
);

EFI_STATUS
EFIAPI
the driver on each controller(
  VOID
);

EFI_STATUS
EFIAPI
(Index = 0; Index < HandleCount; Index++) {(
  VOID
);

EFI_STATUS
EFIAPI
the driver binding and component name protocols(
  VOID
);

EFI_STATUS
EFIAPI
= gBS->UninstallMultipleProtocolInterfaces ((
  VOID
);

EFI_STATUS
EFIAPI
Data Initialization and Cleanup(
  VOID
);

EFI_STATUS
EFIAPI
current MAC address from SNP's mode data(
  VOID
);

EFI_STATUS
EFIAPI
= sizeof (EFI_MAC_ADDRESS);(
  VOID
);

EFI_STATUS
EFIAPI
the formset with HII database(
  VOID
);

EFI_STATUS
EFIAPI
the HII Config Access Protocol on the controller handle(
  VOID
);

EFI_STATUS
EFIAPI
the form title: "VLAN Configuration (MAC:...)"(
  VOID
);

EFI_STATUS
EFIAPI
(MacStr != NULL) {(
  VOID
);

EFI_STATUS
EFIAPI
the VLAN list on the form(
  VOID
);

EFI_STATUS
EFIAPI
= VlanConfigUpdateForm (Private);(
  VOID
);

EFI_STATUS
EFIAPI
HII Config Access Protocol from the controller(
  VOID
);

EFI_STATUS
EFIAPI
(Private->ControllerHandle != NULL) {(
  VOID
);

EFI_STATUS
EFIAPI
HII packages (strings and forms)(
  VOID
);

EFI_STATUS
EFIAPI
(Private->HiiHandle != NULL) {(
  VOID
);

EFI_STATUS
EFIAPI
Config Protocol Implementation(
  VOID
);

EFI_STATUS
EFIAPI
Form Population(
  VOID
);

EFI_STATUS
EFIAPI
VLAN list from Managed Network(
  VOID
);

EFI_STATUS
EFIAPI
current VLAN count and list(
  VOID
);

EFI_STATUS
EFIAPI
= 0;(
  VOID
);

EFI_STATUS
EFIAPI
op-code handles for the form(
  VOID
);

EFI_STATUS
EFIAPI
= HiiAllocateOpCodeHandle ();(
  VOID
);

EFI_STATUS
EFIAPI
start label(
  VOID
);

EFI_STATUS
EFIAPI
= (EFI_IFR_GUID_LABEL *)HiiCreateGuidOpCode ((
  VOID
);

EFI_STATUS
EFIAPI
end label(
  VOID
);

EFI_STATUS
EFIAPI
VLAN count for form display (max 100)(
  VOID
);

EFI_STATUS
EFIAPI
= PrivateData->NumberOfVlan;(
  VOID
);

EFI_STATUS
EFIAPI
form entries for each existing VLAN(
  VOID
);

EFI_STATUS
EFIAPI
(VlanCount > 0) {(
  VOID
);

EFI_STATUS
EFIAPI
string: "  VLAN ID: %d"(
  VOID
);

EFI_STATUS
EFIAPI
((
  VOID
);

EFI_STATUS
EFIAPI
to align priority text(
  VOID
);

EFI_STATUS
EFIAPI
= 2 * (4 - (StrLen (VlanString) - 6));(
  VOID
);

EFI_STATUS
EFIAPI
//(
  VOID
);

EFI_STATUS
EFIAPI
priority sub-string(
  VOID
);

EFI_STATUS
EFIAPI
not stored per-VLAN in min implementation(
  VOID
);

EFI_STATUS
EFIAPI
new string in HII database(
  VOID
);

EFI_STATUS
EFIAPI
= HiiSetString (PrivateData->HiiHandle, 0, VlanString, NULL);(
  VOID
);

EFI_STATUS
EFIAPI
the text op-code for this VLAN entry(
  VOID
);

EFI_STATUS
EFIAPI
the form(
  VOID
);

EFI_STATUS
EFIAPI
up op-code handles(
  VOID
);

EFI_STATUS
EFIAPI
(StartOpCodeHandle != NULL) {(
  VOID
);

EFI_STATUS
EFIAPI
Config Access Protocol(
  VOID
);

EFI_STATUS
EFIAPI
the config request string if provided(
  VOID
);

EFI_STATUS
EFIAPI
(Request != NULL && !VlanConfigValidateConfigHeader (Request)) {(
  VOID
);

EFI_STATUS
EFIAPI
no request string, build a complete request for VLAN_CONFIGURATION_SIZE(
  VOID
);

EFI_STATUS
EFIAPI
(Request == NULL || !StrStr (Request, L"OFFSET")) {(
  VOID
);

EFI_STATUS
EFIAPI
HII Config Routing protocol is loaded(
  VOID
);

EFI_STATUS
EFIAPI
(gHiiConfigRouting == NULL) {(
  VOID
);

EFI_STATUS
EFIAPI
configuration via ConfigRouting(
  VOID
);

EFI_STATUS
EFIAPI
= CR (This, VLAN_CONFIG_PRIVATE_DATA, VlanConfigProtocol(
  VOID
);

EFI_STATUS
EFIAPI
the config header(
  VOID
);

EFI_STATUS
EFIAPI
(!VlanConfigValidateConfigHeader (Configuration)) {(
  VOID
);

EFI_STATUS
EFIAPI
to end for progress reporting(
  VOID
);

EFI_STATUS
EFIAPI
data for the form(
  VOID
);

EFI_STATUS
EFIAPI
((QuestionId == 0) || (Action - 3 <= 1)) {(
  VOID
);

EFI_STATUS
EFIAPI
the form submission(
  VOID
);

EFI_STATUS
EFIAPI
= (VLAN_CONFIGURATION *)Private->VlanConfigProtocol;(
  VOID
);

EFI_STATUS
EFIAPI
a new VLAN - Value contains VLAN ID (u16) and Priority (u8 at +2)(
  VOID
);

EFI_STATUS
EFIAPI
(Value != NULL) {(
  VOID
);

EFI_STATUS
EFIAPI
the form's VLAN ID/Priority fields(
  VOID
);

EFI_STATUS
EFIAPI
(&Configuration->VlanId, 4);(
  VOID
);

EFI_STATUS
EFIAPI
the network interface to apply the change(
  VOID
);

EFI_STATUS
EFIAPI
VLANs that are marked (checkbox set)(
  VOID
);

EFI_STATUS
EFIAPI
= Private->NumberOfVlan;(
  VOID
);

EFI_STATUS
EFIAPI
VLAN by ID(
  VOID
);

EFI_STATUS
EFIAPI
String Helpers(
  VOID
);

EFI_STATUS
EFIAPI
GUID= section (between start and L"&NAME=")(
  VOID
);

EFI_STATUS
EFIAPI
= VlanConfigCompareConfigStrings ((
  VOID
);

EFI_STATUS
EFIAPI
&NAME= section (between L"&NAME=" and L"&PATH=")(
  VOID
);

EFI_STATUS
EFIAPI
the config string header components:(
  VOID
);

EFI_STATUS
EFIAPI
the device path to calculate its total size(
  VOID
);

EFI_STATUS
EFIAPI
(Private != NULL && Private->DevicePath != NULL) {(
  VOID
);

EFI_STATUS
EFIAPI
the maximum possible header size:(
  VOID
);

EFI_STATUS
EFIAPI
(32 hex) + &NAME= + VlanNvData (8 chars as hex) + &PATH= + device path hex(
  VOID
);

EFI_STATUS
EFIAPI
= 2 * (32 + 8 + 2 + 2 * DevicePathSize) + 66;(
  VOID
);

EFI_STATUS
EFIAPI
the GUID= portion from the protocol GUID(
  VOID
);

EFI_STATUS
EFIAPI
"&NAME="(
  VOID
);

EFI_STATUS
EFIAPI
(ConfigString, (BufferSize - (ConfigString - Buffer)) / 2, L"&NAME=");(
  VOID
);

EFI_STATUS
EFIAPI
"VlanNvData" as hex chars(
  VOID
);

EFI_STATUS
EFIAPI
(Index = 0; Index < sizeof (L"VlanNvData") / 2 - 1; Index++) {(
  VOID
);

EFI_STATUS
EFIAPI
"&PATH="(
  VOID
);

EFI_STATUS
EFIAPI
(ConfigString, (BufferSize - (ConfigString - Buffer)) / 2, L"&PATH=");(
  VOID
);

EFI_STATUS
EFIAPI
PATH as hex bytes of device path (or empty if none)(
  VOID
);

EFI_STATUS
EFIAPI
uppercase hex to lowercase in PATH/NAME sections(
  VOID
);

EFI_STATUS
EFIAPI
= FALSE;(
  VOID
);

EFI_STATUS
EFIAPI
Name Protocol(
  VOID
);

#endif /* __VLANCONFIGDXE_H__ */