1/*
2 * Copyright 2023 Adrien Destugues <pulkomandy@pulkomandy.tk>
3 * Distributed under terms of the MIT license.
4 */
5
6#pragma once
7
8
9#include <efi/types.h>
10
11
12#define EFI_EDID_DISCOVERED_PROTOCOL_GUID \
13	{0x1c0c34f6, 0xd380, 0x41fa, {0xa0, 0x49, 0x8a, 0xd0, 0x6c, 0x1a, 0x66, 0xaa}}
14
15#define EFI_EDID_ACTIVE_PROTOCOL_GUID \
16	{0xbd8c1056, 0x9f36, 0x44ec, {0x92, 0xa8, 0xa6, 0x33, 0x7f, 0x81, 0x79, 0x86}}
17
18#define EFI_EDID_OVERRIDE_PROTOCOL_GUID \
19	{0x48ecb431, 0xfb72, 0x45c0, {0xa9, 0x22, 0xf4, 0x58, 0xfe, 0x04, 0x0b, 0xd5}}
20
21
22struct efi_edid_protocol {
23	uint32_t SizeOfEdid;
24	uint8_t* Edid;
25};
26
27
28struct efi_edid_override_protocol {
29	efi_status (*GetEdid) (struct efi_edid_override_protocol* self, efi_handle* child,
30		uint32_t* attributes, size_t* edidSize, uint8_t** edid) EFIAPI;
31};
32