REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3737 Apply uncrustify changes to .c/.h files in the MdePkg package Cc: Andrew Fish <afish@apple.com> Cc: Leif Lindholm <leif@nuviainc.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
		
			
				
	
	
		
			153 lines
		
	
	
		
			5.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			153 lines
		
	
	
		
			5.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /** @file
 | |
|   Provides services to create, get and update HSTI table in AIP protocol.
 | |
| 
 | |
|   Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
 | |
|   SPDX-License-Identifier: BSD-2-Clause-Patent
 | |
| 
 | |
| **/
 | |
| 
 | |
| #ifndef __HSTI_LIB_H__
 | |
| #define __HSTI_LIB_H__
 | |
| 
 | |
| /**
 | |
|   Publish HSTI table in AIP protocol.
 | |
| 
 | |
|   One system should have only one PLATFORM_SECURITY_ROLE_PLATFORM_REFERENCE.
 | |
| 
 | |
|   If the Role is NOT PLATFORM_SECURITY_ROLE_PLATFORM_REFERENCE,
 | |
|   SecurityFeaturesRequired field will be ignored.
 | |
| 
 | |
|   @param Hsti      HSTI data
 | |
|   @param HstiSize  HSTI size
 | |
| 
 | |
|   @retval EFI_SUCCESS          The HSTI data is published in AIP protocol.
 | |
|   @retval EFI_ALREADY_STARTED  There is already HSTI table with Role and ImplementationID published in system.
 | |
|   @retval EFI_VOLUME_CORRUPTED The input HSTI data does not follow HSTI specification.
 | |
|   @retval EFI_OUT_OF_RESOURCES There is not enough system resource to publish HSTI data in AIP protocol.
 | |
| **/
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| HstiLibSetTable (
 | |
|   IN VOID   *Hsti,
 | |
|   IN UINTN  HstiSize
 | |
|   );
 | |
| 
 | |
| /**
 | |
|   Search HSTI table in AIP protocol, and return the data.
 | |
|   This API will return the HSTI table with indicated Role and ImplementationID,
 | |
|   NULL ImplementationID means to find the first HSTI table with indicated Role.
 | |
| 
 | |
|   @param Role             Role of HSTI data.
 | |
|   @param ImplementationID ImplementationID of HSTI data.
 | |
|                           NULL means find the first one match Role.
 | |
|   @param Hsti             HSTI data. This buffer is allocated by callee, and it
 | |
|                           is the responsibility of the caller to free it after
 | |
|                           using it.
 | |
|   @param HstiSize         HSTI size
 | |
| 
 | |
|   @retval EFI_SUCCESS          The HSTI data in AIP protocol is returned.
 | |
|   @retval EFI_NOT_FOUND        There is not HSTI table with the Role and ImplementationID published in system.
 | |
| **/
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| HstiLibGetTable (
 | |
|   IN UINT32  Role,
 | |
|   IN CHAR16  *ImplementationID OPTIONAL,
 | |
|   OUT VOID   **Hsti,
 | |
|   OUT UINTN  *HstiSize
 | |
|   );
 | |
| 
 | |
| /**
 | |
|   Set FeaturesVerified in published HSTI table.
 | |
|   This API will update the HSTI table with indicated Role and ImplementationID,
 | |
|   NULL ImplementationID means to find the first HSTI table with indicated Role.
 | |
| 
 | |
|   @param Role             Role of HSTI data.
 | |
|   @param ImplementationID ImplementationID of HSTI data.
 | |
|                           NULL means find the first one match Role.
 | |
|   @param ByteIndex        Byte index of FeaturesVerified of HSTI data.
 | |
|   @param BitMask          Bit mask of FeaturesVerified of HSTI data.
 | |
| 
 | |
|   @retval EFI_SUCCESS          The FeaturesVerified of HSTI data updated in AIP protocol.
 | |
|   @retval EFI_NOT_STARTED      There is not HSTI table with the Role and ImplementationID published in system.
 | |
|   @retval EFI_UNSUPPORTED      The ByteIndex is invalid.
 | |
| **/
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| HstiLibSetFeaturesVerified (
 | |
|   IN UINT32  Role,
 | |
|   IN CHAR16  *ImplementationID  OPTIONAL,
 | |
|   IN UINT32  ByteIndex,
 | |
|   IN UINT8   BitMask
 | |
|   );
 | |
| 
 | |
| /**
 | |
|   Clear FeaturesVerified in published HSTI table.
 | |
|   This API will update the HSTI table with indicated Role and ImplementationID,
 | |
|   NULL ImplementationID means to find the first HSTI table with indicated Role.
 | |
| 
 | |
|   @param Role             Role of HSTI data.
 | |
|   @param ImplementationID ImplementationID of HSTI data.
 | |
|                           NULL means find the first one match Role.
 | |
|   @param ByteIndex        Byte index of FeaturesVerified of HSTI data.
 | |
|   @param BitMask          Bit mask of FeaturesVerified of HSTI data.
 | |
| 
 | |
|   @retval EFI_SUCCESS          The FeaturesVerified of HSTI data updated in AIP protocol.
 | |
|   @retval EFI_NOT_STARTED      There is not HSTI table with the Role and ImplementationID published in system.
 | |
|   @retval EFI_UNSUPPORTED      The ByteIndex is invalid.
 | |
| **/
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| HstiLibClearFeaturesVerified (
 | |
|   IN UINT32  Role,
 | |
|   IN CHAR16  *ImplementationID  OPTIONAL,
 | |
|   IN UINT32  ByteIndex,
 | |
|   IN UINT8   BitMask
 | |
|   );
 | |
| 
 | |
| /**
 | |
|   Append ErrorString in published HSTI table.
 | |
|   This API will update the HSTI table with indicated Role and ImplementationID,
 | |
|   NULL ImplementationID means to find the first HSTI table with indicated Role.
 | |
| 
 | |
|   @param Role             Role of HSTI data.
 | |
|   @param ImplementationID ImplementationID of HSTI data.
 | |
|                           NULL means find the first one match Role.
 | |
|   @param ErrorString      ErrorString of HSTI data.
 | |
| 
 | |
|   @retval EFI_SUCCESS          The ErrorString of HSTI data is updated in AIP protocol.
 | |
|   @retval EFI_NOT_STARTED      There is not HSTI table with the Role and ImplementationID published in system.
 | |
|   @retval EFI_OUT_OF_RESOURCES There is not enough system resource to update ErrorString.
 | |
| **/
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| HstiLibAppendErrorString (
 | |
|   IN UINT32  Role,
 | |
|   IN CHAR16  *ImplementationID  OPTIONAL,
 | |
|   IN CHAR16  *ErrorString
 | |
|   );
 | |
| 
 | |
| /**
 | |
|   Set a new ErrorString in published HSTI table.
 | |
|   This API will update the HSTI table with indicated Role and ImplementationID,
 | |
|   NULL ImplementationID means to find the first HSTI table with indicated Role.
 | |
| 
 | |
|   @param Role             Role of HSTI data.
 | |
|   @param ImplementationID ImplementationID of HSTI data.
 | |
|                           NULL means find the first one match Role.
 | |
|   @param ErrorString      ErrorString of HSTI data.
 | |
| 
 | |
|   @retval EFI_SUCCESS          The ErrorString of HSTI data is updated in AIP protocol.
 | |
|   @retval EFI_NOT_STARTED      There is not HSTI table with the Role and ImplementationID published in system.
 | |
|   @retval EFI_OUT_OF_RESOURCES There is not enough system resource to update ErrorString.
 | |
| **/
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| HstiLibSetErrorString (
 | |
|   IN UINT32  Role,
 | |
|   IN CHAR16  *ImplementationID  OPTIONAL,
 | |
|   IN CHAR16  *ErrorString
 | |
|   );
 | |
| 
 | |
| #endif
 |