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