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
|
/**@file
Copyright (c) 2017, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#ifndef _HOB_VARIABLE_LIB_H_
#define _HOB_VARIABLE_LIB_H_
/**
This function finds the default data and create GUID hob for it.
@retval EFI_SUCCESS The matched default data is found.
@retval EFI_NOT_FOUND The matched default data is not found.
@retval EFI_OUT_OF_RESOURCES No enough resource to create HOB.
**/
EFI_STATUS
EFIAPI
CreateVariableHob (
VOID
);
/**
This function finds the matched default data and create GUID hob for it.
@param StoreId Specifies the type of defaults to retrieve.
@param SkuId Specifies the platform board of defaults to retrieve.
@retval EFI_SUCCESS The matched default data is found.
@retval EFI_NOT_FOUND The matched default data is not found.
@retval EFI_OUT_OF_RESOURCES No enough resource to create HOB.
**/
EFI_STATUS
EFIAPI
CreateDefaultVariableHob (
IN UINT16 StoreId,
IN UINT16 SkuId
);
/**
Get variable from default variable HOB.
@param[in] VariableName A Null-terminated string that is the name of the vendor's
variable.
@param[in] VendorGuid A unique identifier for the vendor.
@param[out] Attributes If not NULL, a pointer to the memory location to return the
attributes bitmask for the variable.
@param[in, out] DataSize On input, the size in bytes of the return Data buffer.
On output the size of data returned in Data.
@param[out] Data The buffer to return the contents of the variable.
@retval EFI_SUCCESS The function completed successfully.
@retval EFI_NOT_FOUND The variable was not found.
@retval EFI_BUFFER_TOO_SMALL The DataSize is too small for the result.
@retval EFI_INVALID_PARAMETER VariableName is NULL.
@retval EFI_INVALID_PARAMETER VendorGuid is NULL.
@retval EFI_INVALID_PARAMETER DataSize is NULL.
@retval EFI_INVALID_PARAMETER The DataSize is not too small and Data is NULL.
**/
EFI_STATUS
EFIAPI
GetVariableFromHob (
IN CHAR16 *VariableName,
IN EFI_GUID *VendorGuid,
OUT UINT32 *Attributes, OPTIONAL
IN OUT UINTN *DataSize,
OUT VOID *Data
);
/**
Set variable to default variable HOB.
@param[in] VariableName A Null-terminated string that is the name of the vendor's
variable.
@param[in] VendorGuid A unique identifier for the vendor.
@param[in] Attributes If not NULL, a pointer to the memory location to set the
attributes bitmask for the variable.
@param[in] DataSize On input, the size in bytes of the return Data buffer.
On output the size of data returned in Data.
@param[in] Data The buffer to return the contents of the variable.
@retval EFI_SUCCESS The function completed successfully.
@retval EFI_NOT_FOUND The variable was not found.
@retval EFI_INVALID_PARAMETER VariableName is NULL.
@retval EFI_INVALID_PARAMETER VendorGuid is NULL.
@retval EFI_INVALID_PARAMETER Attributes is not NULL, but attributes value is 0.
@retval EFI_INVALID_PARAMETER DataSize is not equal to the variable data size.
@retval EFI_INVALID_PARAMETER The DataSize is equal to the variable data size, but Data is NULL.
**/
EFI_STATUS
EFIAPI
SetVariableToHob (
IN CHAR16 *VariableName,
IN EFI_GUID *VendorGuid,
IN UINT32 *Attributes, OPTIONAL
IN UINTN DataSize,
IN VOID *Data
);
#endif
|