OpenCore  1.0.4
OpenCore Bootloader
Loading...
Searching...
No Matches
OcHeciLib.c File Reference
#include <PiDxe.h>
#include <Library/BaseMemoryLib.h>
#include <Library/OcHeciLib.h>
#include <Library/OcDebugLogLib.h>
#include <Library/OcMiscLib.h>
#include <Library/UefiBootServicesTableLib.h>
#include <Protocol/Heci.h>
#include <Protocol/Heci2.h>
#include <IndustryStandard/AppleProvisioning.h>
#include <IndustryStandard/HeciMsg.h>
#include <IndustryStandard/HeciClientMsg.h>

Go to the source code of this file.

Functions

EFI_STATUS HeciReadMessage (IN UINT32 Blocking, IN UINT32 *MessageBody, IN OUT UINT32 *Length)
 
EFI_STATUS HeciSendMessage (IN UINT32 *Message, IN UINT32 Length, IN UINT8 HostAddress, IN UINT8 MEAddress)
 
EFI_STATUS HeciLocateProtocol (VOID)
 
VOID HeciUpdateReceiveMsgStatus (VOID)
 
EFI_STATUS HeciGetResponse (OUT VOID *MessageData, IN UINT32 ResponseSize)
 
EFI_STATUS HeciSendMessageWithResponse (IN OUT VOID *MessageData, IN UINT32 RequestSize, IN UINT32 ResponseSize)
 
EFI_STATUS HeciGetClientMap (OUT UINT8 *ClientMap, OUT UINT8 *ClientActiveCount)
 
EFI_STATUS HeciGetClientProperties (IN UINT8 Address, OUT HECI_CLIENT_PROPERTIES *Properties)
 
EFI_STATUS HeciConnectToClient (IN UINT8 Address)
 
EFI_STATUS HeciSendMessagePerClient (IN VOID *Message, IN UINT32 Size)
 
EFI_STATUS HeciDisconnectFromClients (VOID)
 
EFI_STATUS HeciPavpRequestProvisioning (OUT UINT32 *EpidStatus, OUT UINT32 *EpidGroupId)
 
EFI_STATUS HeciPavpPerformProvisioning (IN EPID_CERTIFICATE *EpidCertificate, IN EPID_GROUP_PUBLIC_KEY *EpidGroupPublicKey, OUT BOOLEAN *SetVar OPTIONAL)
 
EFI_STATUS HeciFpfGetStatus (OUT UINT32 *FpfStatus)
 
EFI_STATUS HeciFpfProvision (OUT UINT32 *FpfStatus)
 

Variables

STATIC UINT8 mCurrentMeClientRequestedReceiveMsg
 
STATIC UINT8 mCurrentMeClientCanReceiveMsg
 
STATIC UINT8 mCurrentMeClientAddress
 
STATIC EFI_HECI_PROTOCOLmHeci
 
STATIC EFI_HECI2_PROTOCOLmHeci2
 
STATIC BOOLEAN mSendingHeciCommand
 
STATIC BOOLEAN mSendingHeciCommandPerClient
 

Detailed Description

This file implements interaction with HECI.

Copyright (c) 2019, vit9696. All rights reserved.
Portions copyright (c) 2019, savvas. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause

Definition in file OcHeciLib.c.

Function Documentation

◆ HeciConnectToClient()

EFI_STATUS HeciConnectToClient ( IN UINT8 Address)

Definition at line 334 of file OcHeciLib.c.

◆ HeciDisconnectFromClients()

EFI_STATUS HeciDisconnectFromClients ( VOID )

Definition at line 414 of file OcHeciLib.c.

◆ HeciFpfGetStatus()

EFI_STATUS HeciFpfGetStatus ( OUT UINT32 * FpfStatus)

Definition at line 557 of file OcHeciLib.c.

◆ HeciFpfProvision()

EFI_STATUS HeciFpfProvision ( OUT UINT32 * FpfStatus)

Definition at line 580 of file OcHeciLib.c.

◆ HeciGetClientMap()

EFI_STATUS HeciGetClientMap ( OUT UINT8 * ClientMap,
OUT UINT8 * ClientActiveCount )

Definition at line 245 of file OcHeciLib.c.

◆ HeciGetClientProperties()

EFI_STATUS HeciGetClientProperties ( IN UINT8 Address,
OUT HECI_CLIENT_PROPERTIES * Properties )

Definition at line 298 of file OcHeciLib.c.

◆ HeciGetResponse()

EFI_STATUS HeciGetResponse ( OUT VOID * MessageData,
IN UINT32 ResponseSize )

Definition at line 155 of file OcHeciLib.c.

◆ HeciLocateProtocol()

EFI_STATUS HeciLocateProtocol ( VOID )

Definition at line 92 of file OcHeciLib.c.

◆ HeciPavpPerformProvisioning()

EFI_STATUS HeciPavpPerformProvisioning ( IN EPID_CERTIFICATE * EpidCertificate,
IN EPID_GROUP_PUBLIC_KEY * EpidGroupPublicKey,
OUT BOOLEAN *SetVar OPTIONAL )

Definition at line 494 of file OcHeciLib.c.

◆ HeciPavpRequestProvisioning()

EFI_STATUS HeciPavpRequestProvisioning ( OUT UINT32 * EpidStatus,
OUT UINT32 * EpidGroupId )

Definition at line 466 of file OcHeciLib.c.

◆ HeciReadMessage()

EFI_STATUS HeciReadMessage ( IN UINT32 Blocking,
IN UINT32 * MessageBody,
IN OUT UINT32 * Length )

Definition at line 33 of file OcHeciLib.c.

◆ HeciSendMessage()

EFI_STATUS HeciSendMessage ( IN UINT32 * Message,
IN UINT32 Length,
IN UINT8 HostAddress,
IN UINT8 MEAddress )

Definition at line 61 of file OcHeciLib.c.

◆ HeciSendMessagePerClient()

EFI_STATUS HeciSendMessagePerClient ( IN VOID * Message,
IN UINT32 Size )

Definition at line 384 of file OcHeciLib.c.

◆ HeciSendMessageWithResponse()

EFI_STATUS HeciSendMessageWithResponse ( IN OUT VOID * MessageData,
IN UINT32 RequestSize,
IN UINT32 ResponseSize )

Definition at line 207 of file OcHeciLib.c.

◆ HeciUpdateReceiveMsgStatus()

VOID HeciUpdateReceiveMsgStatus ( VOID )

Definition at line 131 of file OcHeciLib.c.

Variable Documentation

◆ mCurrentMeClientAddress

STATIC UINT8 mCurrentMeClientAddress

Definition at line 25 of file OcHeciLib.c.

◆ mCurrentMeClientCanReceiveMsg

STATIC UINT8 mCurrentMeClientCanReceiveMsg

Definition at line 24 of file OcHeciLib.c.

◆ mCurrentMeClientRequestedReceiveMsg

STATIC UINT8 mCurrentMeClientRequestedReceiveMsg

Definition at line 23 of file OcHeciLib.c.

◆ mHeci

STATIC EFI_HECI_PROTOCOL* mHeci

Definition at line 27 of file OcHeciLib.c.

◆ mHeci2

STATIC EFI_HECI2_PROTOCOL* mHeci2

Definition at line 28 of file OcHeciLib.c.

◆ mSendingHeciCommand

STATIC BOOLEAN mSendingHeciCommand

Definition at line 29 of file OcHeciLib.c.

◆ mSendingHeciCommandPerClient

STATIC BOOLEAN mSendingHeciCommandPerClient

Definition at line 30 of file OcHeciLib.c.