Newer
Older
AMI-Aptio-BIOS-Reversed / AmiIpmiPkg / Ipmi / IpmiRedirFru / IpmiRedirFru.h
/** @file
  IpmiRedirFru.h -- Header for IpmiRedirFru

Copyright (c) HR650X BIOS Decompilation Project
**/

#ifndef __IPMIREDIRFRU_H__
#define __IPMIREDIRFRU_H__

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

//
// Function Prototypes
//

EFI_STATUS
EFIAPI
ModuleEntryPoint(
  VOID
);

EFI_STATUS
EFIAPI
FruProtocolEventNotify(
  VOID
);

EFI_STATUS
EFIAPI
variables(
  VOID
);

EFI_STATUS
EFIAPI
*SystemTable;(
  VOID
);

EFI_STATUS
EFIAPI
at 0x1000(
  VOID
);

EFI_STATUS
EFIAPI
*__fastcall InternalCopyMem(char *dst, char *src, unsigned __int64 count)(
  VOID
);

EFI_STATUS
EFIAPI
unsigned __int64 count_1; // rcx(
  VOID
);

EFI_STATUS
EFIAPI
char *src_1; // rsi(
  VOID
);

EFI_STATUS
EFIAPI
at 0x1050(
  VOID
);

EFI_STATUS
EFIAPI
*__fastcall InternalZeroMem(char *buf, unsigned __int64 a2)(
  VOID
);

EFI_STATUS
EFIAPI
at 0x10d0(
  VOID
);

EFI_STATUS
EFIAPI
at 0x10e0(
  VOID
);

EFI_STATUS
EFIAPI
__int64 FruRedirFruStub_10E0()(
  VOID
);

EFI_STATUS
EFIAPI
at 0x10f0(
  VOID
);

EFI_STATUS
EFIAPI
at 0x1100(
  VOID
);

EFI_STATUS
EFIAPI
at 0x1110(
  VOID
);

EFI_STATUS
EFIAPI
__int64 FruRedirFruStub_1110()(
  VOID
);

EFI_STATUS
EFIAPI
at 0x1114(
  VOID
);

EFI_STATUS
EFIAPI
ModuleEntryPoint(EFI_HANDLE ImageHandle, EFI_SYSTEM_TABLE *SystemTable)(
  VOID
);

EFI_STATUS
EFIAPI
at 0x113c(
  VOID
);

EFI_STATUS
EFIAPI
__fastcall UefiBootServicesTableLibConstructor(__int64 ImageHandle, EFI_SYSTEM_TABLE *SystemTable)(
  VOID
);

EFI_STATUS
EFIAPI
__int64 BootServices_1; // r10(
  VOID
);

EFI_STATUS
EFIAPI
__int64 v6; // rax(
  VOID
);

EFI_STATUS
EFIAPI
__int64 v8; // rax(
  VOID
);

EFI_STATUS
EFIAPI
__int64 v10; // rax(
  VOID
);

EFI_STATUS
EFIAPI
__int64 v12; // rbx(
  VOID
);

EFI_STATUS
EFIAPI
_BYTE *v14; // rax(
  VOID
);

EFI_STATUS
EFIAPI
bool v16; // bl(
  VOID
);

EFI_STATUS
EFIAPI
int i; // eax(
  VOID
);

EFI_STATUS
EFIAPI
at 0x1558(
  VOID
);

EFI_STATUS
EFIAPI
__int64 v1; // rbx(
  VOID
);

EFI_STATUS
EFIAPI
__int64 v3; // rax(
  VOID
);

EFI_STATUS
EFIAPI
__int64 v5; // rbx(
  VOID
);

EFI_STATUS
EFIAPI
at 0x16e0(
  VOID
);

EFI_STATUS
EFIAPI
at 0x1754(
  VOID
);

EFI_STATUS
EFIAPI
__int64 __fastcall FruGetInventoryAreaInfo(__int64 a1, __int64 a2, char *dst, _QWORD *a4, _QWORD *a5)(
  VOID
);

EFI_STATUS
EFIAPI
__int64 v9; // rbx(
  VOID
);

EFI_STATUS
EFIAPI
at 0x181c(
  VOID
);

EFI_STATUS
EFIAPI
__fastcall FruReadData(__int64 a1, char *dst, _QWORD *a3, _QWORD *a4)(
  VOID
);

EFI_STATUS
EFIAPI
__int64 v8; // rbx(
  VOID
);

EFI_STATUS
EFIAPI
at 0x18c8(
  VOID
);

EFI_STATUS
EFIAPI
__fastcall FruReadDataCompletion(__int64 a1, __int64 n127_1, __int16 a3, unsigned __int8 *a4, __int64 a5)(
  VOID
);

EFI_STATUS
EFIAPI
unsigned __int16 v6; // r14(
  VOID
);

EFI_STATUS
EFIAPI
__int64 v8; // rdi(
  VOID
);

EFI_STATUS
EFIAPI
__int64 result; // rax(
  VOID
);

EFI_STATUS
EFIAPI
int v13; // [rsp+28h] [rbp-D8h](
  VOID
);

EFI_STATUS
EFIAPI
at 0x1a50(
  VOID
);

EFI_STATUS
EFIAPI
__fastcall FruWriteData(__int64 a1, __int64 a2, __int16 a3, unsigned __int8 *a4, __int64 a5)(
  VOID
);

EFI_STATUS
EFIAPI
__int64 v8; // rbp(
  VOID
);

EFI_STATUS
EFIAPI
char v10; // di(
  VOID
);

EFI_STATUS
EFIAPI
unsigned __int8 v13; // al(
  VOID
);

EFI_STATUS
EFIAPI
int v15; // [rsp+28h] [rbp-140h](
  VOID
);

EFI_STATUS
EFIAPI
at 0x1b88(
  VOID
);

EFI_STATUS
EFIAPI
__int64 __fastcall FruDriverInit(__int64 a1, __int64 a2)(
  VOID
);

EFI_STATUS
EFIAPI
__int64 v4; // rdx(
  VOID
);

EFI_STATUS
EFIAPI
__int64 v6; // r9(
  VOID
);

EFI_STATUS
EFIAPI
_QWORD v8[2]; // [rsp+48h] [rbp-30h] BYREF(
  VOID
);

EFI_STATUS
EFIAPI
at 0x1d38(
  VOID
);

EFI_STATUS
EFIAPI
__fastcall IpmiRedirFruTimerCallback(__int64 a1)(
  VOID
);

EFI_STATUS
EFIAPI
__int64 v5; // rdi(
  VOID
);

EFI_STATUS
EFIAPI
char *src; // rbx(
  VOID
);

EFI_STATUS
EFIAPI
__int64 LENOVO_2; // rbx(
  VOID
);

EFI_STATUS
EFIAPI
const __int16 *LENOVO_1; // r14(
  VOID
);

EFI_STATUS
EFIAPI
const __int16 *ThinkSystem_; // rbx(
  VOID
);

EFI_STATUS
EFIAPI
__int64 v15; // rax(
  VOID
);

EFI_STATUS
EFIAPI
__int64 LENOVO_4; // rbx(
  VOID
);

EFI_STATUS
EFIAPI
__int64 v19; // rax(
  VOID
);

EFI_STATUS
EFIAPI
const __int16 *LENOVO_5; // r14(
  VOID
);

EFI_STATUS
EFIAPI
_BYTE *v23; // rdi(
  VOID
);

EFI_STATUS
EFIAPI
__int64 v25; // rax(
  VOID
);

EFI_STATUS
EFIAPI
const __int16 *LENOVO_7; // r14(
  VOID
);

EFI_STATUS
EFIAPI
__int64 LENOVO_10; // rbx(
  VOID
);

EFI_STATUS
EFIAPI
__int64 v31; // rax(
  VOID
);

EFI_STATUS
EFIAPI
const __int16 *LENOVO_11; // r14(
  VOID
);

EFI_STATUS
EFIAPI
__int64 LENOVO_14; // rbx(
  VOID
);

EFI_STATUS
EFIAPI
__int64 v37; // rax(
  VOID
);

EFI_STATUS
EFIAPI
const __int16 *LENOVO_15; // r14(
  VOID
);

EFI_STATUS
EFIAPI
__int64 v41; // rdi(
  VOID
);

EFI_STATUS
EFIAPI
__int64 v43; // rax(
  VOID
);

EFI_STATUS
EFIAPI
const __int16 *LENOVO_17; // r14(
  VOID
);

EFI_STATUS
EFIAPI
__int64 LENOVO_20; // rbx(
  VOID
);

EFI_STATUS
EFIAPI
__int64 v49; // rax(
  VOID
);

EFI_STATUS
EFIAPI
const __int16 *LENOVO_21; // r14(
  VOID
);

EFI_STATUS
EFIAPI
__int64 LENOVO_23; // rbx(
  VOID
);

EFI_STATUS
EFIAPI
at 0x2724(
  VOID
);

EFI_STATUS
EFIAPI
__int64 v1; // rax(
  VOID
);

EFI_STATUS
EFIAPI
at 0x27e8(
  VOID
);

EFI_STATUS
EFIAPI
*__fastcall InternalBase64Encode(_WORD *a1, unsigned int *a2, unsigned __int64 i)(
  VOID
);

EFI_STATUS
EFIAPI
_WORD *v5; // r11(
  VOID
);

EFI_STATUS
EFIAPI
unsigned __int64 v7; // rdi(
  VOID
);

EFI_STATUS
EFIAPI
__int64 n4; // rbp(
  VOID
);

EFI_STATUS
EFIAPI
unsigned __int64 v11; // rbx(
  VOID
);

EFI_STATUS
EFIAPI
unsigned __int64 v13; // r8(
  VOID
);

EFI_STATUS
EFIAPI
har v15; // al(
  VOID
);

EFI_STATUS
EFIAPI
at 0x28b8(
  VOID
);

EFI_STATUS
EFIAPI
__int64 __fastcall InternalEncodeToDisplayString(__int64 a1, __int64 *a2, char n2, unsigned __int8 i_1)(
  VOID
);

EFI_STATUS
EFIAPI
__int64 v9; // rax(
  VOID
);

EFI_STATUS
EFIAPI
unsigned int v11; // eax(
  VOID
);

EFI_STATUS
EFIAPI
if (n2 == 2) /*0x28d8*/(
  VOID
);

EFI_STATUS
EFIAPI
at 0x2990(
  VOID
);

EFI_STATUS
EFIAPI
__fastcall FruProtocolProcess(__int64 a1, char a2)(
  VOID
);

EFI_STATUS
EFIAPI
__int64 v3; // r12(
  VOID
);

EFI_STATUS
EFIAPI
__int64 v7; // r15(
  VOID
);

EFI_STATUS
EFIAPI
__int16 v9; // bx(
  VOID
);

EFI_STATUS
EFIAPI
__int64 v11; // rsi(
  VOID
);

EFI_STATUS
EFIAPI
__int64 v13; // rax(
  VOID
);

EFI_STATUS
EFIAPI
__int64 v15; // rbx(
  VOID
);

EFI_STATUS
EFIAPI
__int64 v17; // rax(
  VOID
);

EFI_STATUS
EFIAPI
__int64 v19; // rdx(
  VOID
);

EFI_STATUS
EFIAPI
_BYTE *v21; // rcx(
  VOID
);

EFI_STATUS
EFIAPI
__int64 v23; // rax(
  VOID
);

EFI_STATUS
EFIAPI
__int64 v25; // r14(
  VOID
);

EFI_STATUS
EFIAPI
__int64 v27; // rdi(
  VOID
);

EFI_STATUS
EFIAPI
unsigned __int8 n16_4; // bl(
  VOID
);

EFI_STATUS
EFIAPI
unsigned __int8 n16_5; // bl(
  VOID
);

EFI_STATUS
EFIAPI
__int64 v35; // rax(
  VOID
);

EFI_STATUS
EFIAPI
int v37; // eax(
  VOID
);

EFI_STATUS
EFIAPI
__int64 v39; // rax(
  VOID
);

EFI_STATUS
EFIAPI
__int64 v41; // rax(
  VOID
);

EFI_STATUS
EFIAPI
unsigned __int8 n16_7; // bl(
  VOID
);

EFI_STATUS
EFIAPI
_BYTE *v47; // rcx(
  VOID
);

EFI_STATUS
EFIAPI
__int64 v51; // rsi(
  VOID
);

EFI_STATUS
EFIAPI
__int64 v53; // rax(
  VOID
);

EFI_STATUS
EFIAPI
_BYTE *v55; // rcx(
  VOID
);

EFI_STATUS
EFIAPI
__int64 v57; // rax(
  VOID
);

EFI_STATUS
EFIAPI
int v59; // eax(
  VOID
);

EFI_STATUS
EFIAPI
__int64 v61; // rax(
  VOID
);

EFI_STATUS
EFIAPI
char v63; // bl(
  VOID
);

EFI_STATUS
EFIAPI
__int64 v65; // rdx(
  VOID
);

EFI_STATUS
EFIAPI
__int64 v67; // rax(
  VOID
);

EFI_STATUS
EFIAPI
_BYTE *v69; // rcx(
  VOID
);

EFI_STATUS
EFIAPI
__int64 v71; // rax(
  VOID
);

EFI_STATUS
EFIAPI
__int64 v73; // rax(
  VOID
);

EFI_STATUS
EFIAPI
__int64 v75; // rax(
  VOID
);

EFI_STATUS
EFIAPI
__int16 v77; // bx(
  VOID
);

EFI_STATUS
EFIAPI
__int64 v79; // rbx(
  VOID
);

EFI_STATUS
EFIAPI
unsigned __int8 n16_1; // bl(
  VOID
);

EFI_STATUS
EFIAPI
at 0x35f4(
  VOID
);

EFI_STATUS
EFIAPI
at 0x3680(
  VOID
);

EFI_STATUS
EFIAPI
__fastcall InternalPcdGetPtr(__int64 a1, _QWORD *a2, __int64 a3)(
  VOID
);

EFI_STATUS
EFIAPI
if (a2) /*0x369b*/(
  VOID
);

EFI_STATUS
EFIAPI
at 0x36fc(
  VOID
);

EFI_STATUS
EFIAPI
*__fastcall InternalCopyMemWrapper(char *dst, char *src, unsigned __int64 count)(
  VOID
);

EFI_STATUS
EFIAPI
v3 = ount - 1;(
  VOID
);

EFI_STATUS
EFIAPI
at 0x379c(
  VOID
);

EFI_STATUS
EFIAPI
*__fastcall InternalZeroMemWrapper(char *buf, unsigned __int64 a2)(
  VOID
);

EFI_STATUS
EFIAPI
at 0x380c(
  VOID
);

EFI_STATUS
EFIAPI
__fastcall InternalCompareGuid(char *src, __int64 a2)(
  VOID
);

EFI_STATUS
EFIAPI
at 0x3874(
  VOID
);

EFI_STATUS
EFIAPI
__fastcall InternalStrCpy(_WORD *ThinkSystem_, __int16 *a2)(
  VOID
);

EFI_STATUS
EFIAPI
__int64 ThinkSystem__2; // rax(
  VOID
);

EFI_STATUS
EFIAPI
at 0x394c(
  VOID
);

EFI_STATUS
EFIAPI
__int64 __fastcall InternalStrLen(_WORD *a1)(
  VOID
);

EFI_STATUS
EFIAPI
unsigned __int64 n0xF4240; // rdi(
  VOID
);

EFI_STATUS
EFIAPI
at 0x39e0(
  VOID
);

EFI_STATUS
EFIAPI
__fastcall InternalStrCmp(_WORD *a1, _WORD *a2)(
  VOID
);

EFI_STATUS
EFIAPI
v3 = a1; /*0x39f2*/(
  VOID
);

EFI_STATUS
EFIAPI
at 0x3a80(
  VOID
);

EFI_STATUS
EFIAPI
*__fastcall InternalUnicodeToAscii(_WORD *a1, _BYTE *a2)(
  VOID
);

EFI_STATUS
EFIAPI
_BYTE *v4; // rsi(
  VOID
);

EFI_STATUS
EFIAPI
at 0x3bbc(
  VOID
);

EFI_STATUS
EFIAPI
__int64 __fastcall InternalAsciiStrLen(_BYTE *a1)(
  VOID
);

EFI_STATUS
EFIAPI
unsigned __int64 i; // rdi(
  VOID
);

EFI_STATUS
EFIAPI
at 0x3c28(
  VOID
);

EFI_STATUS
EFIAPI
__fastcall InternalCheckSumByte(__int64 p_n3, unsigned __int64 n8)(
  VOID
);

EFI_STATUS
EFIAPI
unsigned __int64 i; // rax(
  VOID
);

EFI_STATUS
EFIAPI
at 0x3ca4(
  VOID
);

EFI_STATUS
EFIAPI
__fastcall InternalReadUnaligned64(__int64 a1)(
  VOID
);

EFI_STATUS
EFIAPI
at 0x3cd4(
  VOID
);

EFI_STATUS
EFIAPI
unsigned __int64 n0x10; // rbx(
  VOID
);

EFI_STATUS
EFIAPI
__int64 v3; // rcx(
  VOID
);

EFI_STATUS
EFIAPI
at 0x3d5c(
  VOID
);

EFI_STATUS
EFIAPI
__int64 v4; // r8(
  VOID
);

EFI_STATUS
EFIAPI
unsigned __int8 v6; // al(
  VOID
);

EFI_STATUS
EFIAPI
int n113; // edx(
  VOID
);

EFI_STATUS
EFIAPI
at 0x3ddc(
  VOID
);

EFI_STATUS
EFIAPI
__fastcall InternalDebugAssert(__int64 a1, __int64 a2, __int64 a3)(
  VOID
);

EFI_STATUS
EFIAPI
result = InternalGetDebugProtocol();(
  VOID
);

EFI_STATUS
EFIAPI
at 0x3e1c(
  VOID
);

EFI_STATUS
EFIAPI
at 0x3e28(
  VOID
);

EFI_STATUS
EFIAPI
if (qword_70E0) /*0x3e34*/(
  VOID
);

EFI_STATUS
EFIAPI
at 0x3e50(
  VOID
);

EFI_STATUS
EFIAPI
*__fastcall InternalAllocateZeroPool(__int64 a1, unsigned __int64 a2)(
  VOID
);

EFI_STATUS
EFIAPI
char *buf; // rcx(
  VOID
);

EFI_STATUS
EFIAPI
at 0x3e94(
  VOID
);

EFI_STATUS
EFIAPI
result = (*(__int64 (**)(void))(ootServices + 72))();(
  VOID
);

EFI_STATUS
EFIAPI
at 0x3ed8(
  VOID
);

EFI_STATUS
EFIAPI
__int64 __fastcall InternalGetSystemConfigurationTable(char *src, _QWORD *a2)(
  VOID
);

EFI_STATUS
EFIAPI
if (src) /*0x3efa*/(
  VOID
);

EFI_STATUS
EFIAPI
at 0x3f9c(
  VOID
);

EFI_STATUS
EFIAPI
signed __int64 v1; // rax(
  VOID
);

EFI_STATUS
EFIAPI
at 0x4020(
  VOID
);

EFI_STATUS
EFIAPI
FruProtocolEventNotify(){ ; /*0x4020*/}(
  VOID
);

EFI_STATUS
EFIAPI
at 0x4024(
  VOID
);

EFI_STATUS
EFIAPI
result = (*(__int64 (__fastcall **)(_QWORD, __int64 *))(RuntimeServices + 64))(0, &RuntimeServices_1); /*0x4038*/(
  VOID
);

EFI_STATUS
EFIAPI
at 0x4048(
  VOID
);

EFI_STATUS
EFIAPI
unsigned __int64 v1; // rbx(
  VOID
);

EFI_STATUS
EFIAPI
result = qword_7100; /*0x4052*/(
  VOID
);

EFI_STATUS
EFIAPI
at 0x40b8(
  VOID
);

EFI_STATUS
EFIAPI
__fastcall InternalPciExpressRead(__int64 n1024064)(
  VOID
);

EFI_STATUS
EFIAPI
unsigned __int64 v3; // rax(
  VOID
);

EFI_STATUS
EFIAPI
if ((n1024064 & 0xFFFFFFFFF0000000uLL) = 0) /*0x40c8*/(
  VOID
);

EFI_STATUS
EFIAPI
at 0x417c(
  VOID
);

EFI_STATUS
EFIAPI
__fastcall InternalMicroSecondDelay(unsigned int n107386)(
  VOID
);

EFI_STATUS
EFIAPI
int n0x400000; // edi(
  VOID
);

EFI_STATUS
EFIAPI
at 0x41f0(
  VOID
);

EFI_STATUS
EFIAPI
__fastcall UpdateMiscOffsetPcd(unsigned __int16 a1, __int64 a2, double a3)(
  VOID
);

EFI_STATUS
EFIAPI
__int64 v7; // rax(
  VOID
);

EFI_STATUS
EFIAPI
char v10; // [rsp+58h] [rbp+10h] BYREF(
  VOID
);

EFI_STATUS
EFIAPI
at 0x4348(
  VOID
);

EFI_STATUS
EFIAPI
__fastcall InternalIoWrite16(_WORD *a1)(
  VOID
);

EFI_STATUS
EFIAPI
at 0x437c(
  VOID
);

EFI_STATUS
EFIAPI
__int32 __fastcall InternalIoRead32(unsigned __int16 n1288)(
  VOID
);

#endif /* __IPMIREDIRFRU_H__ */