/* Whether the TCG or TCG2 protocols are installed in the UEFI protocol database. This information is used by the MorLock code to infer whether an existing MOR variable is legitimate or not. */
BOOLEAN VariableHaveTcgProtocols(VOID)
/* Whether the TCG or TCG2 protocols are installed in the UEFI protocol database. This information is used by the MorLock code to infer whether an existing MOR variable is legitimate or not. */
BOOLEAN VariableHaveTcgProtocols(VOID)
{
  EFI_STATUS  Status;
  VOID        *Interface;
  Status = gBS->LocateProtocol (
                  &gEfiTcg2ProtocolGuid,
                  NULL,
                  &Interface
                  );
  if (!EFI_ERROR (Status)) {
    return TRUE;
  }
  Status = gBS->LocateProtocol (
                  &gEfiTcgProtocolGuid,
                  NULL,
                  &Interface
                  );
  return !EFI_ERROR (Status);
}