mirror of
https://github.com/CloverHackyColor/CloverBootloader.git
synced 2024-12-01 12:53:27 +01:00
144 lines
5.2 KiB
C
144 lines
5.2 KiB
C
/** @file
|
|
Definitions of RedfishPlatformConfigLib
|
|
|
|
(C) Copyright 2021 Hewlett Packard Enterprise Development LP<BR>
|
|
Copyright (c) 2022-2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
|
|
|
SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
|
|
**/
|
|
|
|
#ifndef REDFISH_PLATFORM_CONFIG_LIB_H_
|
|
#define REDFISH_PLATFORM_CONFIG_LIB_H_
|
|
|
|
#include <Protocol/EdkIIRedfishPlatformConfig.h>
|
|
|
|
/**
|
|
Get Redfish value with the given Schema and Configure Language.
|
|
|
|
@param[in] Schema The Redfish schema to query.
|
|
@param[in] Version The Redfish version to query.
|
|
@param[in] ConfigureLang The target value which match this configure Language.
|
|
@param[out] Value The returned value.
|
|
|
|
@retval EFI_SUCCESS Value is returned successfully.
|
|
@retval EFI_NOT_READY Redfish Platform Config protocol is not ready.
|
|
@retval Others Some error happened.
|
|
|
|
**/
|
|
EFI_STATUS
|
|
RedfishPlatformConfigGetValue (
|
|
IN CHAR8 *Schema,
|
|
IN CHAR8 *Version,
|
|
IN EFI_STRING ConfigureLang,
|
|
OUT EDKII_REDFISH_VALUE *Value
|
|
);
|
|
|
|
/**
|
|
Set Redfish value with the given Schema and Configure Language.
|
|
|
|
@param[in] Schema The Redfish schema to query.
|
|
@param[in] Version The Redfish version to query.
|
|
@param[in] ConfigureLang The target value which match this configure Language.
|
|
@param[in] Value The value to set.
|
|
|
|
@retval EFI_SUCCESS Value is returned successfully.
|
|
@retval EFI_NOT_READY Redfish Platform Config protocol is not ready.
|
|
@retval Others Some error happened.
|
|
|
|
**/
|
|
EFI_STATUS
|
|
RedfishPlatformConfigSetValue (
|
|
IN CHAR8 *Schema,
|
|
IN CHAR8 *Version,
|
|
IN EFI_STRING ConfigureLang,
|
|
IN EDKII_REDFISH_VALUE Value
|
|
);
|
|
|
|
/**
|
|
Get the list of Configure Language from platform configuration by the given Schema and Pattern.
|
|
|
|
@param[in] Schema The Redfish schema to query.
|
|
@param[in] Version The Redfish version to query.
|
|
@param[in] Pattern The target Configure Language pattern.
|
|
@param[out] ConfigureLangList The list of Configure Language.
|
|
@param[out] Count The number of Configure Language in ConfigureLangList.
|
|
|
|
@retval EFI_SUCCESS ConfigureLangList is returned successfully.
|
|
@retval EFI_NOT_READY Redfish Platform Config protocol is not ready.
|
|
@retval Others Some error happened.
|
|
|
|
**/
|
|
EFI_STATUS
|
|
RedfishPlatformConfigGetConfigureLang (
|
|
IN CHAR8 *Schema,
|
|
IN CHAR8 *Version,
|
|
IN EFI_STRING Pattern,
|
|
OUT EFI_STRING **ConfigureLangList,
|
|
OUT UINTN *Count
|
|
);
|
|
|
|
/**
|
|
Get the list of supported Redfish schema from platform configuration.
|
|
|
|
@param[out] SupportedSchema The supported schema list which is separated by ';'.
|
|
For example: "x-uefi-redfish-Memory.v1_7_1;x-uefi-redfish-Boot.v1_0_1"
|
|
The SupportedSchema is allocated by the callee. It's caller's
|
|
responsibility to free this buffer using FreePool().
|
|
|
|
@retval EFI_SUCCESS Schema is returned successfully.
|
|
@retval EFI_NOT_READY Redfish Platform Config protocol is not ready.
|
|
@retval Others Some error happened.
|
|
|
|
**/
|
|
EFI_STATUS
|
|
EFIAPI
|
|
RedfishPlatformConfigGetSupportedSchema (
|
|
OUT CHAR8 **SupportedSchema
|
|
);
|
|
|
|
/**
|
|
Get Redfish attribute value with the given Schema and Configure Language.
|
|
|
|
@param[in] Schema The Redfish schema to query.
|
|
@param[in] Version The Redfish version to query.
|
|
@param[in] ConfigureLang The target value which match this configure Language.
|
|
@param[out] AttributeValue The attribute value.
|
|
|
|
@retval EFI_SUCCESS Value is returned successfully.
|
|
@retval Others Some error happened.
|
|
|
|
**/
|
|
EFI_STATUS
|
|
RedfishPlatformConfigGetAttribute (
|
|
IN CHAR8 *Schema,
|
|
IN CHAR8 *Version,
|
|
IN EFI_STRING ConfigureLang,
|
|
OUT EDKII_REDFISH_ATTRIBUTE *AttributeValue
|
|
);
|
|
|
|
/**
|
|
Get Redfish default value with the given Schema and Configure Language.
|
|
|
|
@param[in] Schema The Redfish schema to query.
|
|
@param[in] Version The Redfish version to query.
|
|
@param[in] ConfigureLang The target value which match this configure Language.
|
|
@param[in] DefaultClass The UEFI defined default class.
|
|
Please refer to UEFI spec. 33.2.5.8 "defaults" for details.
|
|
@param[out] Value The returned value.
|
|
|
|
@retval EFI_SUCCESS Value is returned successfully.
|
|
@retval Others Some error happened.
|
|
|
|
**/
|
|
EFI_STATUS
|
|
RedfishPlatformConfigGetDefaultValue (
|
|
IN CHAR8 *Schema,
|
|
IN CHAR8 *Version,
|
|
IN EFI_STRING ConfigureLang,
|
|
IN UINT16 DefaultClass,
|
|
OUT EDKII_REDFISH_VALUE *Value
|
|
);
|
|
|
|
#endif
|