2 Header file for PcdValue structure definition.
4 Copyright (c) 2017, Intel Corporation. All rights reserved.<BR>
5 This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
15 #ifndef _PCD_VALUE_COMMON_H
16 #define _PCD_VALUE_COMMON_H
18 #include <Common/UefiBaseTypes.h>
19 #include <Common/UefiInternalFormRepresentation.h>
21 #define __FIELD_SIZE(TYPE, Field) (sizeof((TYPE *)0)->Field)
22 #define __ARRAY_ELEMENT_SIZE(TYPE, Field) (sizeof((TYPE *)0)->Field[0])
23 #define __OFFSET_OF(TYPE, Field) ((UINT32) &(((TYPE *)0)->Field))
24 #define __FLEXIBLE_SIZE(Size, TYPE, Field, MaxIndex) if (__FIELD_SIZE(TYPE, Field) == 0) Size = MAX((__OFFSET_OF(TYPE, Field) + __ARRAY_ELEMENT_SIZE(TYPE, Field) * (MaxIndex)), Size)
25 #define __ARRAY_SIZE(Array) (sizeof(Array)/sizeof(Array[0]))
27 #if defined(_MSC_EXTENSIONS)
28 #define __STATIC_ASSERT static_assert
30 #define __STATIC_ASSERT _Static_assert
41 Main function updates PCD values. It is auto generated by Build
61 Main function updates PCD values.
65 argc Number of command line parameters.
66 argv Array of pointers to parameter strings.
75 CHAR8
*SkuName OPTIONAL
,
76 CHAR8
*DefaultValueName OPTIONAL
,
77 CHAR8
*TokenSpaceGuidName
,
89 SkuName SkuName String
90 DefaultValueName DefaultValueName String
91 TokenSpaceGuidName TokenSpaceGuidName String
92 TokenName TokenName String
102 CHAR8
*SkuName OPTIONAL
,
103 CHAR8
*DefaultValueName OPTIONAL
,
104 CHAR8
*TokenSpaceGuidName
,
116 SkuName SkuName String
117 DefaultValueName DefaultValueName String
118 TokenSpaceGuidName TokenSpaceGuidName String
119 TokenName TokenName String
120 Value PCD value to be set
130 CHAR8
*SkuName OPTIONAL
,
131 CHAR8
*DefaultValueName OPTIONAL
,
132 CHAR8
*TokenSpaceGuidName
,
144 SkuName SkuName String
145 DefaultValueName DefaultValueName String
146 TokenSpaceGuidName TokenSpaceGuidName String
147 TokenName TokenName String
148 Size Size of PCD value buffer
158 CHAR8
*SkuName OPTIONAL
,
159 CHAR8
*DefaultValueName OPTIONAL
,
160 CHAR8
*TokenSpaceGuidName
,
173 SkuName SkuName String
174 DefaultValueName DefaultValueName String
175 TokenSpaceGuidName TokenSpaceGuidName String
176 TokenName TokenName String
177 Size Size of PCD value
178 Value Pointer to the updated PCD value buffer
186 #define PcdGet(A, B, C, D) __PcdGet(#A, #B, #C, #D)
187 #define PcdSet(A, B, C, D, Value) __PcdSet(#A, #B, #C, #D, Value)
188 #define PcdGetPtr(A, B, C, D, Size) __PcdGetPtr(#A, #B, #C, #D, Size)
189 #define PcdSetPtr(A, B, C, D, Size, Value) __PcdSetPtr(#A, #B, #C, #D, Size, Value)