MdePkg/Include/Library/HstiLib.h File Reference


Functions

EFI_STATUS EFIAPI HstiLibSetTable (IN VOID *Hsti, IN UINTN HstiSize)
EFI_STATUS EFIAPI HstiLibGetTable (IN UINT32 Role, IN CHAR16 *ImplementationID, OUT VOID **Hsti, OUT UINTN *HstiSize)
EFI_STATUS EFIAPI HstiLibSetFeaturesVerified (IN UINT32 Role, IN CHAR16 *ImplementationID, IN UINT32 ByteIndex, IN UINT8 BitMask)
EFI_STATUS EFIAPI HstiLibClearFeaturesVerified (IN UINT32 Role, IN CHAR16 *ImplementationID, IN UINT32 ByteIndex, IN UINT8 BitMask)
EFI_STATUS EFIAPI HstiLibAppendErrorString (IN UINT32 Role, IN CHAR16 *ImplementationID, IN CHAR16 *ErrorString)
EFI_STATUS EFIAPI HstiLibSetErrorString (IN UINT32 Role, IN CHAR16 *ImplementationID, IN CHAR16 *ErrorString)

Detailed Description

Provides services to create, get and update HSTI table in AIP protocol.

Copyright (c) 2015, Intel Corporation. All rights reserved.
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.


Function Documentation

EFI_STATUS EFIAPI HstiLibAppendErrorString ( IN UINT32  Role,
IN CHAR16 ImplementationID,
IN CHAR16 ErrorString 
)

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.

Parameters:
Role Role of HSTI data.
ImplementationID ImplementationID of HSTI data. NULL means find the first one match Role.
ErrorString ErrorString of HSTI data.
Return values:
EFI_SUCCESS The ErrorString of HSTI data is updated in AIP protocol.
EFI_NOT_STARTED There is not HSTI table with the Role and ImplementationID published in system.
EFI_OUT_OF_RESOURCES There is not enough system resource to update ErrorString.

EFI_STATUS EFIAPI HstiLibClearFeaturesVerified ( IN UINT32  Role,
IN CHAR16 ImplementationID,
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.

Parameters:
Role Role of HSTI data.
ImplementationID ImplementationID of HSTI data. NULL means find the first one match Role.
ByteIndex Byte index of FeaturesVerified of HSTI data.
BitMask Bit mask of FeaturesVerified of HSTI data.
Return values:
EFI_SUCCESS The FeaturesVerified of HSTI data updated in AIP protocol.
EFI_NOT_STARTED There is not HSTI table with the Role and ImplementationID published in system.
EFI_UNSUPPORTED The ByteIndex is invalid.

EFI_STATUS EFIAPI HstiLibGetTable ( IN UINT32  Role,
IN CHAR16 ImplementationID,
OUT VOID **  Hsti,
OUT 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.

Parameters:
Role Role of HSTI data.
ImplementationID ImplementationID of HSTI data. NULL means find the first one match Role.
Hsti HSTI data. This buffer is allocated by callee, and it is the responsibility of the caller to free it after using it.
HstiSize HSTI size
Return values:
EFI_SUCCESS The HSTI data in AIP protocol is returned.
EFI_NOT_FOUND There is not HSTI table with the Role and ImplementationID published in system.

EFI_STATUS EFIAPI HstiLibSetErrorString ( IN UINT32  Role,
IN CHAR16 ImplementationID,
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.

Parameters:
Role Role of HSTI data.
ImplementationID ImplementationID of HSTI data. NULL means find the first one match Role.
ErrorString ErrorString of HSTI data.
Return values:
EFI_SUCCESS The ErrorString of HSTI data is updated in AIP protocol.
EFI_NOT_STARTED There is not HSTI table with the Role and ImplementationID published in system.
EFI_OUT_OF_RESOURCES There is not enough system resource to update ErrorString.

EFI_STATUS EFIAPI HstiLibSetFeaturesVerified ( IN UINT32  Role,
IN CHAR16 ImplementationID,
IN UINT32  ByteIndex,
IN UINT8  BitMask 
)

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.

Parameters:
Role Role of HSTI data.
ImplementationID ImplementationID of HSTI data. NULL means find the first one match Role.
ByteIndex Byte index of FeaturesVerified of HSTI data.
BitMask Bit mask of FeaturesVerified of HSTI data.
Return values:
EFI_SUCCESS The FeaturesVerified of HSTI data updated in AIP protocol.
EFI_NOT_STARTED There is not HSTI table with the Role and ImplementationID published in system.
EFI_UNSUPPORTED The ByteIndex is invalid.

EFI_STATUS EFIAPI HstiLibSetTable ( IN VOID *  Hsti,
IN UINTN  HstiSize 
)

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.

Parameters:
Hsti HSTI data
HstiSize HSTI size
Return values:
EFI_SUCCESS The HSTI data is published in AIP protocol.
EFI_ALREADY_STARTED There is already HSTI table with Role and ImplementationID published in system.
EFI_VOLUME_CORRUPTED The input HSTI data does not follow HSTI specification.
EFI_OUT_OF_RESOURCES There is not enough system resource to publish HSTI data in AIP protocol.


Generated on Wed Sep 23 16:24:21 2015 for MdePkg[ALL] by  doxygen 1.5.7.1