]> git.proxmox.com Git - mirror_edk2.git/blob - MdePkg/Include/Protocol/EdidOverride.h
MdePkg: Apply uncrustify changes
[mirror_edk2.git] / MdePkg / Include / Protocol / EdidOverride.h
1 /** @file
2 EDID Override Protocol from the UEFI 2.0 specification.
3
4 Allow platform to provide EDID information to the producer of the Graphics Output
5 protocol.
6
7 Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
8 SPDX-License-Identifier: BSD-2-Clause-Patent
9
10 **/
11
12 #ifndef __EDID_OVERRIDE_H__
13 #define __EDID_OVERRIDE_H__
14
15 #define EFI_EDID_OVERRIDE_PROTOCOL_GUID \
16 { \
17 0x48ecb431, 0xfb72, 0x45c0, {0xa9, 0x22, 0xf4, 0x58, 0xfe, 0x4, 0xb, 0xd5 } \
18 }
19
20 typedef struct _EFI_EDID_OVERRIDE_PROTOCOL EFI_EDID_OVERRIDE_PROTOCOL;
21
22 #define EFI_EDID_OVERRIDE_DONT_OVERRIDE 0x01
23 #define EFI_EDID_OVERRIDE_ENABLE_HOT_PLUG 0x02
24
25 /**
26 Returns policy information and potentially a replacement EDID for the specified video output device.
27
28 @param This The EFI_EDID_OVERRIDE_PROTOCOL instance.
29 @param ChildHandle A child handle produced by the Graphics Output EFI
30 driver that represents a video output device.
31 @param Attributes The attributes associated with ChildHandle video output device.
32 @param EdidSize A pointer to the size, in bytes, of the Edid buffer.
33 @param Edid A pointer to callee allocated buffer that contains the EDID that
34 should be used for ChildHandle. A value of NULL
35 represents no EDID override for ChildHandle.
36
37 @retval EFI_SUCCESS Valid overrides returned for ChildHandle.
38 @retval EFI_UNSUPPORTED ChildHandle has no overrides.
39
40 **/
41 typedef
42 EFI_STATUS
43 (EFIAPI *EFI_EDID_OVERRIDE_PROTOCOL_GET_EDID)(
44 IN EFI_EDID_OVERRIDE_PROTOCOL *This,
45 IN EFI_HANDLE *ChildHandle,
46 OUT UINT32 *Attributes,
47 OUT UINTN *EdidSize,
48 OUT UINT8 **Edid
49 );
50
51 ///
52 /// This protocol is produced by the platform to allow the platform to provide
53 /// EDID information to the producer of the Graphics Output protocol.
54 ///
55 struct _EFI_EDID_OVERRIDE_PROTOCOL {
56 EFI_EDID_OVERRIDE_PROTOCOL_GET_EDID GetEdid;
57 };
58
59 extern EFI_GUID gEfiEdidOverrideProtocolGuid;
60
61 #endif