blob: 37a3968168f19ccfdde9d130d9271801dd188424 (
plain)
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
|
/** @file
Header file for Config Block Lib implementation
Copyright (c) 2019 - 2020 Intel Corporation. All rights reserved. <BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#ifndef _CONFIG_BLOCK_LIB_H_
#define _CONFIG_BLOCK_LIB_H_
/**
Create config block table.
@param[in] TotalSize - Max size to be allocated for the Config Block Table
@param[out] ConfigBlockTableAddress - On return, points to a pointer to the beginning of Config Block Table Address
@retval EFI_INVALID_PARAMETER - Invalid Parameter
@retval EFI_OUT_OF_RESOURCES - Out of resources
@retval EFI_SUCCESS - Successfully created Config Block Table at ConfigBlockTableAddress
**/
EFI_STATUS
EFIAPI
CreateConfigBlockTable (
IN UINT16 TotalSize,
OUT VOID **ConfigBlockTableAddress
);
/**
Add config block into config block table structure.
@param[in] ConfigBlockTableAddress - A pointer to the beginning of Config Block Table Address
@param[out] ConfigBlockAddress - On return, points to a pointer to the beginning of Config Block Address
@retval EFI_OUT_OF_RESOURCES - Config Block Table is full and cannot add new Config Block or
Config Block Offset Table is full and cannot add new Config Block.
@retval EFI_SUCCESS - Successfully added Config Block
**/
EFI_STATUS
EFIAPI
AddConfigBlock (
IN VOID *ConfigBlockTableAddress,
OUT VOID **ConfigBlockAddress
);
/**
Retrieve a specific Config Block data by GUID.
@param[in] ConfigBlockTableAddress - A pointer to the beginning of Config Block Table Address
@param[in] ConfigBlockGuid - A pointer to the GUID uses to search specific Config Block
@param[out] ConfigBlockAddress - On return, points to a pointer to the beginning of Config Block Address
@retval EFI_NOT_FOUND - Could not find the Config Block
@retval EFI_SUCCESS - Config Block found and return
**/
EFI_STATUS
EFIAPI
GetConfigBlock (
IN VOID *ConfigBlockTableAddress,
IN EFI_GUID *ConfigBlockGuid,
OUT VOID **ConfigBlockAddress
);
#endif // _CONFIG_BLOCK_LIB_H_
|