/** @file Interface definition details between System Agent and platform drivers during DXE phase. Copyright (c) 2017 - 2020 Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #ifndef _SA_POLICY_H_ #define _SA_POLICY_H_ #include #include #include #include /// /// Extern the GUID for protocol users. /// extern EFI_GUID gSaPolicyProtocolGuid; extern EFI_GUID gGraphicsDxeConfigGuid; /** Don't change the original SA_POLICY_PROTOCOL_REVISION macro, external modules maybe have consumed this macro in their source code. Directly update the SA_POLICY_PROTOCOL_REVISION version number may cause those external modules to auto mark themselves wrong version info. Always create new version macro for new Policy protocol interface. **/ #define SA_POLICY_PROTOCOL_REVISION 1 /** SA DXE Policy The SA_POLICY_PROTOCOL producer drvier is recommended to set all the SA_POLICY_PROTOCOL size buffer zero before init any member parameter, this clear step can make sure no random value for those unknow new version parameters. Make sure to update the Revision if any change to the protocol, including the existing internal structure definations.\n Note: Here revision will be bumped up when adding/removing any config block under this structure.\n Revision 1: - Initial version. **/ typedef struct { CONFIG_BLOCK_TABLE_HEADER TableHeader; ///< Offset 0-31 /* Individual Config Block Structures are added here in memory as part of AddConfigBlock() */ } SA_POLICY_PROTOCOL; #endif