mirror of
				https://git.proxmox.com/git/mirror_edk2
				synced 2025-10-31 17:09:09 +00:00 
			
		
		
		
	 309e37a229
			
		
	
	
		309e37a229
		
	
	
	
	
		
			
			PcdValueCommon is used to calculate structure pcd value. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Liming Gao <liming.gao@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
		
			
				
	
	
		
			185 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			185 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /** @file
 | |
| Header file for PcdValue structure definition.
 | |
| 
 | |
| Copyright (c) 2017, Intel Corporation. All rights reserved.<BR>
 | |
| This program and the accompanying materials
 | |
| are licensed and made available under the terms and conditions of the BSD License
 | |
| which accompanies this distribution.  The full text of the license may be found at
 | |
| http://opensource.org/licenses/bsd-license.php
 | |
| 
 | |
| THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
 | |
| WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 | |
| 
 | |
| **/
 | |
| 
 | |
| #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) &(((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)
 | |
| 
 | |
| 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
 |