1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
|
/** @file
Definitions of RedfishPlatformConfigLib
(C) Copyright 2021 Hewlett Packard Enterprise Development LP<BR>
Copyright (c) 2022-2024, 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
|