/** @file GBL EFI AVF Protocol. Supplies GBL with vendor DICE handover and Secret Keeper public key needed for Android Virtualization Framework. Related docs: https://android.googlesource.com/platform/bootable/libbootloader/+/refs/heads/gbl-mainline/gbl/docs/gbl_efi_avf_protocol.md Copyright (c) 2025, The Android Open Source Project.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #pragma once #include // // {e7f1c4a6-0a52-4f61-bd98-9e60b559452a} // #define GBL_EFI_AVF_PROTOCOL_GUID \ { 0xe7f1c4a6, 0x0a52, 0x4f61, { 0xbd, 0x98, 0x9e, 0x60, 0xb5, 0x59, 0x45, 0x2a } } #define GBL_EFI_AVF_PROTOCOL_REVISION 0x00010000 typedef struct _GBL_EFI_AVF_PROTOCOL GBL_EFI_AVF_PROTOCOL; typedef EFI_STATUS (EFIAPI *GBL_EFI_AVF_READ_VENDOR_DICE_HANDOVER)( IN GBL_EFI_AVF_PROTOCOL *This, IN OUT UINTN *HandoverSize, OUT UINT8 *Handover ); typedef EFI_STATUS (EFIAPI *GBL_EFI_AVF_READ_SECRET_KEEPER_PUBLIC_KEY)( IN GBL_EFI_AVF_PROTOCOL *This, IN OUT UINTN *PublicKeySize, OUT UINT8 *PublicKey ); struct _GBL_EFI_AVF_PROTOCOL { UINT64 Revision; GBL_EFI_AVF_READ_VENDOR_DICE_HANDOVER ReadVendorDiceHandover; GBL_EFI_AVF_READ_SECRET_KEEPER_PUBLIC_KEY ReadSecretKeeperPublicKey; }; extern EFI_GUID gGblEfiAvfProtocolGuid;