/** @file Macros for platform to update different types of policy. Copyright (c) 2021, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #ifndef _POLICY_UPDATE_MACRO_H_ #define _POLICY_UPDATE_MACRO_H_ #ifdef UPDATE_POLICY #undef UPDATE_POLICY #endif #ifdef COPY_POLICY #undef COPY_POLICY #endif #ifdef GET_POLICY #undef GET_POLICY #endif #ifdef AND_POLICY #undef AND_POLICY #endif #ifdef OR_POLICY #undef OR_POLICY #endif #if FixedPcdGetBool(PcdFspModeSelection) == 1 // // MACROS for platform code use // #define UPDATE_POLICY(UpdField, ConfigField, Value) UpdField = Value; #define COPY_POLICY(UpdField, ConfigField, Value, Size) CopyMem (UpdField, Value, Size); #define GET_POLICY(UpdField, ConfigField, Value) Value = UpdField; #define AND_POLICY(UpdField, ConfigField, Value) UpdField &= Value; #define OR_POLICY(UpdField, ConfigField, Value) UpdField |= Value; #else #define UPDATE_POLICY(UpdField, ConfigField, Value) ConfigField = Value; #define COPY_POLICY(UpdField, ConfigField, Value, Size) CopyMem (ConfigField, Value, Size); #define GET_POLICY(UpdField, ConfigField, Value) Value = ConfigField; #define AND_POLICY(UpdField, ConfigField, Value) ConfigField &= Value; #define OR_POLICY(UpdField, ConfigField, Value) ConfigField |= Value; #endif #endif //_POLICY_UPDATE_MACRO_H_