/** @file
  SMM variable check definitions, it reuses the interface definitions of variable check.

  Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
  SPDX-License-Identifier: BSD-2-Clause-Patent

**/

#ifndef __SMM_VAR_CHECK_H__
#define __SMM_VAR_CHECK_H__

#include <Protocol/VarCheck.h>

#define EDKII_SMM_VAR_CHECK_PROTOCOL_GUID \
  { \
    0xb0d8f3c1, 0xb7de, 0x4c11, { 0xbc, 0x89, 0x2f, 0xb5, 0x62, 0xc8, 0xc4, 0x11 } \
  };

typedef struct _EDKII_SMM_VAR_CHECK_PROTOCOL EDKII_SMM_VAR_CHECK_PROTOCOL;

struct _EDKII_SMM_VAR_CHECK_PROTOCOL {
  EDKII_VAR_CHECK_REGISTER_SET_VARIABLE_CHECK_HANDLER   SmmRegisterSetVariableCheckHandler;
  EDKII_VAR_CHECK_VARIABLE_PROPERTY_SET                 SmmVariablePropertySet;
  EDKII_VAR_CHECK_VARIABLE_PROPERTY_GET                 SmmVariablePropertyGet;
};

extern EFI_GUID gEdkiiSmmVarCheckProtocolGuid;

#endif

