1 /** @file
2   EDID Active Protocol from the UEFI 2.0 specification.
3 
4   Placed on the video output device child handle that is actively displaying output.
5 
6   Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
7   This program and the accompanying materials
8   are licensed and made available under the terms and conditions of the BSD License
9   which accompanies this distribution.  The full text of the license may be found at
10   http://opensource.org/licenses/bsd-license.php
11 
12   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
13   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
14 
15 **/
16 
17 #ifndef __EDID_ACTIVE_H__
18 #define __EDID_ACTIVE_H__
19 
20 #define EFI_EDID_ACTIVE_PROTOCOL_GUID \
21   { \
22     0xbd8c1056, 0x9f36, 0x44ec, {0x92, 0xa8, 0xa6, 0x33, 0x7f, 0x81, 0x79, 0x86 } \
23   }
24 
25 ///
26 /// This protocol contains the EDID information for an active video output device. This is either the
27 /// EDID information retrieved from the EFI_EDID_OVERRIDE_PROTOCOL if an override is
28 /// available, or an identical copy of the EDID information from the
29 /// EFI_EDID_DISCOVERED_PROTOCOL if no overrides are available.
30 ///
31 typedef struct {
32   ///
33   /// The size, in bytes, of the Edid buffer. 0 if no EDID information
34   /// is available from the video output device. Otherwise, it must be a
35   /// minimum of 128 bytes.
36   ///
37   UINT32   SizeOfEdid;
38 
39   ///
40   /// A pointer to a read-only array of bytes that contains the EDID
41   /// information for an active video output device. This pointer is
42   /// NULL if no EDID information is available for the video output
43   /// device. The minimum size of a valid Edid buffer is 128 bytes.
44   /// EDID information is defined in the E-EDID EEPROM
45   /// specification published by VESA (www.vesa.org).
46   ///
47   UINT8    *Edid;
48 } EFI_EDID_ACTIVE_PROTOCOL;
49 
50 extern EFI_GUID gEfiEdidActiveProtocolGuid;
51 
52 #endif
53