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