summaryrefslogtreecommitdiffstats
path: root/src/VBox/Devices/EFI/Firmware/BaseTools/Source/C/Common/PcdValueCommon.h
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-11 08:17:27 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-11 08:17:27 +0000
commitf215e02bf85f68d3a6106c2a1f4f7f063f819064 (patch)
tree6bb5b92c046312c4e95ac2620b10ddf482d3fa8b /src/VBox/Devices/EFI/Firmware/BaseTools/Source/C/Common/PcdValueCommon.h
parentInitial commit. (diff)
downloadvirtualbox-f215e02bf85f68d3a6106c2a1f4f7f063f819064.tar.xz
virtualbox-f215e02bf85f68d3a6106c2a1f4f7f063f819064.zip
Adding upstream version 7.0.14-dfsg.upstream/7.0.14-dfsg
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/VBox/Devices/EFI/Firmware/BaseTools/Source/C/Common/PcdValueCommon.h')
-rw-r--r--src/VBox/Devices/EFI/Firmware/BaseTools/Source/C/Common/PcdValueCommon.h185
1 files changed, 185 insertions, 0 deletions
diff --git a/src/VBox/Devices/EFI/Firmware/BaseTools/Source/C/Common/PcdValueCommon.h b/src/VBox/Devices/EFI/Firmware/BaseTools/Source/C/Common/PcdValueCommon.h
new file mode 100644
index 00000000..f53d8a4b
--- /dev/null
+++ b/src/VBox/Devices/EFI/Firmware/BaseTools/Source/C/Common/PcdValueCommon.h
@@ -0,0 +1,185 @@
+/** @file
+Header file for PcdValue structure definition.
+
+Copyright (c) 2017, Intel Corporation. All rights reserved.<BR>
+SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#ifndef _PCD_VALUE_COMMON_H
+#define _PCD_VALUE_COMMON_H
+
+#include <Common/UefiBaseTypes.h>
+#include <Common/UefiInternalFormRepresentation.h>
+
+#define __FIELD_SIZE(TYPE, Field) (sizeof((TYPE *)0)->Field)
+#define __ARRAY_ELEMENT_SIZE(TYPE, Field) (sizeof((TYPE *)0)->Field[0])
+#define __OFFSET_OF(TYPE, Field) ((UINT32)(size_t) &(((TYPE *)0)->Field))
+#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)
+#define __ARRAY_SIZE(Array) (sizeof(Array)/sizeof(Array[0]))
+
+#if defined(_MSC_EXTENSIONS)
+#define __STATIC_ASSERT static_assert
+#else
+#define __STATIC_ASSERT _Static_assert
+#endif
+
+VOID
+PcdEntryPoint (
+ VOID
+ )
+/*++
+
+Routine Description:
+
+ Main function updates PCD values. It is auto generated by Build
+
+Arguments:
+
+ None
+
+Returns:
+ None
+--*/
+;
+
+int
+PcdValueMain (
+ int argc,
+ char *argv[]
+ )
+/*++
+
+Routine Description:
+
+ Main function updates PCD values.
+
+Arguments:
+
+ argc Number of command line parameters.
+ argv Array of pointers to parameter strings.
+
+Returns:
+ EXIT_SUCCESS
+--*/
+;
+
+VOID
+__PcdSet (
+ CHAR8 *SkuName OPTIONAL,
+ CHAR8 *DefaultValueName OPTIONAL,
+ CHAR8 *TokenSpaceGuidName,
+ CHAR8 *TokenName,
+ UINT64 Value
+ )
+/*++
+
+Routine Description:
+
+ Get PCD value
+
+Arguments:
+
+ SkuName SkuName String
+ DefaultValueName DefaultValueName String
+ TokenSpaceGuidName TokenSpaceGuidName String
+ TokenName TokenName String
+
+Returns:
+
+ PCD value
+--*/
+;
+
+VOID
+__PcdSet (
+ CHAR8 *SkuName OPTIONAL,
+ CHAR8 *DefaultValueName OPTIONAL,
+ CHAR8 *TokenSpaceGuidName,
+ CHAR8 *TokenName,
+ UINT64 Value
+ )
+/*++
+
+Routine Description:
+
+ Set PCD value
+
+Arguments:
+
+ SkuName SkuName String
+ DefaultValueName DefaultValueName String
+ TokenSpaceGuidName TokenSpaceGuidName String
+ TokenName TokenName String
+ Value PCD value to be set
+
+Returns:
+
+ None
+--*/
+;
+
+VOID *
+__PcdGetPtr (
+ CHAR8 *SkuName OPTIONAL,
+ CHAR8 *DefaultValueName OPTIONAL,
+ CHAR8 *TokenSpaceGuidName,
+ CHAR8 *TokenName,
+ UINT32 *Size
+ )
+/*++
+
+Routine Description:
+
+ Get PCD value buffer
+
+Arguments:
+
+ SkuName SkuName String
+ DefaultValueName DefaultValueName String
+ TokenSpaceGuidName TokenSpaceGuidName String
+ TokenName TokenName String
+ Size Size of PCD value buffer
+
+Returns:
+
+ PCD value buffer
+--*/
+;
+
+VOID
+__PcdSetPtr (
+ CHAR8 *SkuName OPTIONAL,
+ CHAR8 *DefaultValueName OPTIONAL,
+ CHAR8 *TokenSpaceGuidName,
+ CHAR8 *TokenName,
+ UINT32 Size,
+ UINT8 *Value
+ )
+/*++
+
+Routine Description:
+
+ Set PCD value buffer
+
+Arguments:
+
+ SkuName SkuName String
+ DefaultValueName DefaultValueName String
+ TokenSpaceGuidName TokenSpaceGuidName String
+ TokenName TokenName String
+ Size Size of PCD value
+ Value Pointer to the updated PCD value buffer
+
+Returns:
+
+ None
+--*/
+;
+
+#define PcdGet(A, B, C, D) __PcdGet(#A, #B, #C, #D)
+#define PcdSet(A, B, C, D, Value) __PcdSet(#A, #B, #C, #D, Value)
+#define PcdGetPtr(A, B, C, D, Size) __PcdGetPtr(#A, #B, #C, #D, Size)
+#define PcdSetPtr(A, B, C, D, Size, Value) __PcdSetPtr(#A, #B, #C, #D, Size, Value)
+
+#endif