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

Copyright (c) HR650X BIOS Decompilation Project
**/

#ifndef __OPALSECURITY_H__
#define __OPALSECURITY_H__

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

//
// Function Prototypes
//

EFI_STATUS
EFIAPI
OpalReadCmosDebugLevel(
  VOID
);

EFI_STATUS
EFIAPI
OpalGetHobList(
  VOID
);

EFI_STATUS
EFIAPI
OpalSecurityDriverInit(
  VOID
);

EFI_STATUS
EFIAPI
OpalSecurityBindingStart(
  VOID
);

EFI_STATUS
EFIAPI
OpalSecurityBindingStop(
  VOID
);

EFI_STATUS
EFIAPI
OpalSecurityAllocBuffer(
  VOID
);

EFI_STATUS
EFIAPI
OpalSecurityReceiveResponse(
  VOID
);

EFI_STATUS
EFIAPI
OpalSecuritySendCommand(
  VOID
);

EFI_STATUS
EFIAPI
TcgStorageIoRecv(
  VOID
);

EFI_STATUS
EFIAPI
TcgStorageIoSend(
  VOID
);

EFI_STATUS
EFIAPI
OpalDebugAssertPrint(
  VOID
);

EFI_STATUS
EFIAPI
OpalAssertHandler(
  VOID
);

EFI_STATUS
EFIAPI
OpalCompareGuid(
  VOID
);

EFI_STATUS
EFIAPI
OpalReadUnaligned64(
  VOID
);

EFI_STATUS
EFIAPI
global variables set by the UEFI Boot Services Table Library(
  VOID
);

EFI_STATUS
EFIAPI
EFI_HANDLE        gImageHandle;(
  VOID
);

EFI_STATUS
EFIAPI
EFI_BOOT_SERVICES    *mBootServices             = NULL;(
  VOID
);

EFI_STATUS
EFIAPI
declarations(
  VOID
);

EFI_STATUS
EFIAPI
UINTN(
  VOID
);

EFI_STATUS
EFIAPI
Entry Point(
  VOID
);

EFI_STATUS
EFIAPI
UEFI service table pointers locally(
  VOID
);

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

EFI_STATUS
EFIAPI
a protocol instance structure(
  VOID
);

EFI_STATUS
EFIAPI
= mBootServices->AllocatePool ((
  VOID
);

EFI_STATUS
EFIAPI
the protocol dispatch table with binding Start/Stop(
  VOID
);

EFI_STATUS
EFIAPI
the Opal Security Protocol onto the image handle(
  VOID
);

EFI_STATUS
EFIAPI
the MemoryOverwriteRequestControl variable per UEFI spec(
  VOID
);

EFI_STATUS
EFIAPI
Binding Start(
  VOID
);

EFI_STATUS
EFIAPI
the buffer used for TCG command data(
  VOID
);

EFI_STATUS
EFIAPI
(Buffer, 0, sizeof (Buffer));(
  VOID
);

EFI_STATUS
EFIAPI
if the controller supports TCG Storage IO (type == 1)(
  VOID
);

EFI_STATUS
EFIAPI
(StorageIoType == 1)(
  VOID
);

EFI_STATUS
EFIAPI
the device context from the controller handle(
  VOID
);

EFI_STATUS
EFIAPI
(Buffer, (VOID *)((UINTN)ControllerHandle + 35), 4 * sizeof (UINT128));(
  VOID
);

EFI_STATUS
EFIAPI
TCG SSC feature bit in Level 0 discovery data (bit 94)(
  VOID
);

EFI_STATUS
EFIAPI
((Buffer[94] & 1) == 0) {(
  VOID
);

EFI_STATUS
EFIAPI
if the protocol already exists on this controller(
  VOID
);

EFI_STATUS
EFIAPI
the child protocol instance (32 bytes)(
  VOID
);

EFI_STATUS
EFIAPI
child protocol with TCG send/recv handlers(
  VOID
);

EFI_STATUS
EFIAPI
the child protocol(
  VOID
);

EFI_STATUS
EFIAPI
Opal Security is enabled, perform initial security exchange(
  VOID
);

EFI_STATUS
EFIAPI
((mOpalSecurityEnabled & 1) != 0 &&(
  VOID
);

EFI_STATUS
EFIAPI
Binding Stop(
  VOID
);

EFI_STATUS
EFIAPI
Allocation for TCG Security Protocol(
  VOID
);

EFI_STATUS
EFIAPI
IF-RECV (Level 0 Discovery) to read TCG capabilities(
  VOID
);

EFI_STATUS
EFIAPI
TCG Security Response (IF-RECV data parsing)(
  VOID
);

EFI_STATUS
EFIAPI
descriptor count from Level 0 Discovery response(
  VOID
);

EFI_STATUS
EFIAPI
= _byteswap_ushort (*(UINT16 *)(DiscoveryBuffer + 6));(
  VOID
);

EFI_STATUS
EFIAPI
TCG Level 0 Discovery descriptors(
  VOID
);

EFI_STATUS
EFIAPI
(Index = 0; Index < NumDescriptors; Index++)(
  VOID
);

/// send IF-SEND command
EFI_STATUS
EFIAPI
Storage SSC feature found(
  VOID
);

EFI_STATUS
EFIAPI
= 0;(
  VOID
);

/// issue IF-RECV
EFI_STATUS
EFIAPI
SSC v2 (Pyrite) feature(
  VOID
);

EFI_STATUS
EFIAPI
= OpalSecuritySendCommand (Protocol);(
  VOID
);

EFI_STATUS
EFIAPI
Storage IF-SEND Command(
  VOID
);

EFI_STATUS
EFIAPI
= 256;(
  VOID
);

EFI_STATUS
EFIAPI
the COM ID iteration matches(
  VOID
);

EFI_STATUS
EFIAPI
(CommandIteration != _byteswap_ushort (*(UINT16 *)(CmdResponseBuffer + 2)))(
  VOID
);

EFI_STATUS
EFIAPI
IF-RECV with Level 1 discovery ProtocolId(
  VOID
);

EFI_STATUS
EFIAPI
= NULL;(
  VOID
);

EFI_STATUS
EFIAPI
IF-RECV (receive security data without transfer length)(
  VOID
);

EFI_STATUS
EFIAPI
TCG IF-RECV packet(
  VOID
);

EFI_STATUS
EFIAPI
IF-SEND (send security data with transfer length)(
  VOID
);

EFI_STATUS
EFIAPI
Support Functions(
  VOID
);

EFI_STATUS
EFIAPI
List Retrieval(
  VOID
);

EFI_STATUS
EFIAPI
Functions(
  VOID
);

#endif /* __OPALSECURITY_H__ */