OpenCore  1.0.4
OpenCore Bootloader
Loading...
Searching...
No Matches
DevicePathPropertyDatabase.h
Go to the documentation of this file.
1
13#ifndef DEVICE_PATH_PROPERTY_DATABASE_H
14#define DEVICE_PATH_PROPERTY_DATABASE_H
15
16// EFI_DEVICE_PATH_PROPERTY_DATABASE_PROTOCOL_REVISION
17#define EFI_DEVICE_PATH_PROPERTY_DATABASE_PROTOCOL_REVISION 0x00010000
18
19// Related definitions
20
21// DEVICE_PATH_PROPERTY_DATA
23typedef struct {
24 UINT32 Size;
25 UINT8 Data[];
27
28// DEVICE_PATH_PROPERTY_BUFFER_NODE_HDR
34
35// DEVICE_PATH_PROPERTY_BUFFER_NODE
37typedef struct {
41 EFI_DEVICE_PATH_PROTOCOL DevicePath;
42
44 // EFI_DEVICE_PATH_PROPERTY_DATA Data;
46
47// DEVICE_PATH_PROPERTY_BUFFER
61
62// Protocol declaration
63
64// EFI_DEVICE_PATH_PROPERTY_DATABASE_PROTOCOL_GUID
66#define EFI_DEVICE_PATH_PROPERTY_DATABASE_PROTOCOL_GUID \
67 { 0x91BD12FE, 0xF6C3, 0x44FB, \
68 { 0xA5, 0xB7, 0x51, 0x22, 0xAB, 0x30, 0x3A, 0xE0 } }
69
70typedef
73
74// DPP_DATABASE_GET_PROPERTY
75
95typedef
96EFI_STATUS
99 IN EFI_DEVICE_PATH_PROTOCOL *DevicePath,
100 IN CONST CHAR16 *Name,
101 OUT VOID *Value OPTIONAL,
102 IN OUT UINTN *Size
103 );
104
105// DPP_DATABASE_SET_PROPERTY
106
119typedef
120EFI_STATUS
123 IN EFI_DEVICE_PATH_PROTOCOL *DevicePath,
124 IN CONST CHAR16 *Name,
125 IN VOID *Value,
126 IN UINTN Size
127 );
128
129// DPP_DATABASE_REMOVE_PROPERTY
130
141typedef
142EFI_STATUS
145 IN EFI_DEVICE_PATH_PROTOCOL *DevicePath,
146 IN CONST CHAR16 *Name
147 );
148
149// DPP_DATABASE_GET_PROPERTY_BUFFER
150
165typedef
166EFI_STATUS
170 IN OUT UINTN *Size
171 );
172
173// EFI_DEVICE_PATH_PROPERTY_DATABASE_PROTOCOL
191
192// gEfiDevicePathPropertyDatabaseProtocolGuid
194
195#endif // DEVICE_PATH_PROPERTY_DATABASE_H
EFI_STATUS(EFIAPI * DPP_DATABASE_SET_PROPERTY)(IN EFI_DEVICE_PATH_PROPERTY_DATABASE_PROTOCOL *This, IN EFI_DEVICE_PATH_PROTOCOL *DevicePath, IN CONST CHAR16 *Name, IN VOID *Value, IN UINTN Size)
EFI_STATUS(EFIAPI * DPP_DATABASE_GET_PROPERTY)(IN EFI_DEVICE_PATH_PROPERTY_DATABASE_PROTOCOL *This, IN EFI_DEVICE_PATH_PROTOCOL *DevicePath, IN CONST CHAR16 *Name, OUT VOID *Value OPTIONAL, IN OUT UINTN *Size)
EFI_STATUS(EFIAPI * DPP_DATABASE_GET_PROPERTY_BUFFER)(IN EFI_DEVICE_PATH_PROPERTY_DATABASE_PROTOCOL *This, OUT EFI_DEVICE_PATH_PROPERTY_BUFFER *Buffer OPTIONAL, IN OUT UINTN *Size)
EFI_STATUS(EFIAPI * DPP_DATABASE_REMOVE_PROPERTY)(IN EFI_DEVICE_PATH_PROPERTY_DATABASE_PROTOCOL *This, IN EFI_DEVICE_PATH_PROTOCOL *DevicePath, IN CONST CHAR16 *Name)
EFI_GUID gEfiDevicePathPropertyDatabaseProtocolGuid
DMG_SIZE_DEVICE_PATH Size
OC_TYPING_BUFFER_ENTRY Buffer[OC_TYPING_BUFFER_SIZE]
Definition OcTypingLib.h:42
UINT32 NumberOfProperties
The size, in bytes, of the entire node.
The structure defining the header of a Device Property node.
EFI_DEVICE_PATH_PROTOCOL DevicePath
The device path for the current node.
EFI_DEVICE_PATH_PROPERTY_BUFFER_NODE_HDR Hdr
The node header structure.
The structure defining the header of a Device Property Buffer.
The structure exposed by the EFI_DEVICE_PATH_PROPERTY_DATABASE_PROTOCOL.
DPP_DATABASE_GET_PROPERTY_BUFFER GetPropertyBuffer
Returns a Buffer of all device properties into Buffer.
DPP_DATABASE_GET_PROPERTY GetProperty
Locates a device property in the database and returns its value into Value.
UINT64 Revision
The revision of the installed protocol.
DPP_DATABASE_SET_PROPERTY SetProperty
Sets the sepcified property of the given device path to the provided Value.
DPP_DATABASE_REMOVE_PROPERTY RemoveProperty
Removes the sepcified property from the given device path.
The structure defining the header of a Device Path Property.
UINT32 Size
The size, in bytes, of the current data set.