]> git.proxmox.com Git - mirror_edk2.git/blob - EdkCompatibilityPkg/Foundation/Efi/Protocol/EdidOverride/EdidOverride.h
Add in the 1st version of ECP.
[mirror_edk2.git] / EdkCompatibilityPkg / Foundation / Efi / Protocol / EdidOverride / EdidOverride.h
1 /*++
2
3 Copyright (c) 2006, Intel Corporation
4 All rights reserved. This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution. The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
8
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
11
12 Module Name:
13
14 EdidOverride.h
15
16 Abstract:
17
18 EDID Override Protocol from the UEFI 2.0 specification.
19
20 Allow platform to provide EDID information to producer of the Graphics Output
21 protocol.
22
23 --*/
24
25 #ifndef __EDID_OVERRIDE_H__
26 #define __EDID_OVERRIDE_H__
27
28 #include "EfiSpec.h"
29 #include EFI_PROTOCOL_DEFINITION (EdidDiscovered)
30
31 #define EFI_EDID_OVERRIDE_PROTOCOL_GUID \
32 { \
33 0x48ecb431, 0xfb72, 0x45c0, 0xa9, 0x22, 0xf4, 0x58, 0xfe, 0x4, 0xb, 0xd5 \
34 }
35
36 typedef struct _EFI_EDID_OVERRIDE_PROTOCOL EFI_EDID_OVERRIDE_PROTOCOL;
37
38 #define EFI_EDID_OVERRIDE_DONT_OVERRIDE 0x01
39 #define EFI_EDID_OVERRIDE_ENABLE_HOT_PLUG 0x02
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 IN OUT UINTN *EdidSize,
48 IN OUT UINT8 **Edid
49 )
50 /*++
51
52 Routine Description:
53 Return the current video mode information.
54
55 Arguments:
56 This - Protocol instance pointer.
57 ChildHandle - A child handle produced by the Graphics Output EFI
58 driver that represents a video output device.
59 Attributes - The attributes associated with ChildHandle video output device.
60 EdidSize - A pointer to the size, in bytes, of the Edid buffer.
61 Edid - A pointer to callee allocated buffer that contains the EDID that
62 should be used for ChildHandle. A value of NULL
63 represents no EDID override for ChildHandle.
64
65 Returns:
66 EFI_SUCCESS - Valid overrides returned for ChildHandle.
67 EFI_UNSUPPORTED - ChildHandle has no overrides.
68
69 --*/
70 ;
71
72 typedef struct _EFI_EDID_OVERRIDE_PROTOCOL {
73 EFI_EDID_OVERRIDE_PROTOCOL_GET_EDID GetEdid;
74 } EFI_EDID_OVERRIDE_PROTOCOL;
75
76 extern EFI_GUID gEfiEdidOverrideProtocolGuid;
77
78 #endif