23.4 EDID Active Protocol Implementation
The EFI_EDID_ACTIVE_PROTOCOL
provides information to the system about a video
output device. This is retrieved from either the EFI_EDID_DISCOVERED_PROTOCOL
or the EFI_EDID_OVERRIDE_PROTOCOL
. The protocol interface structure is
defined below. The EDID information for the video output device (for example the monitor)
connected to this graphics output device is populated into this protocol for
use by the system. It is the job of the driver to populate this information.
The minimum valid size of EDID information is 128 bytes. See the EDID EEPROM
specification for details on the format of an EDID. This protocol does not
provide any services. It only provides a pointer to a buffer with the EDID
formatted data.
Example 234-EDID Active Protocol
///
/// This protocol contains the EDID information for an active video output device.
/// This is either the EDID information retrieved from the
/// EFI_EDID_OVERRIDE_PROTOCOL if an override is available, or an identical copy of
/// the EDID information from the EFI_EDID_DISCOVERED_PROTOCOL if no overrides are
/// available.
///
typedef struct {
///
/// The size, in bytes, of the Edid buffer. 0 if no EDID information
/// is available from the video output device. Otherwise, it must be a
/// minimum of 128 bytes.
///
UINT32 SizeOfEdid;
///
/// A pointer to a read-only array of bytes that contains the EDID
/// information for an active video output device. This pointer is
/// NULL if no EDID information is available for the video output
/// device. The minimum size of a valid Edid buffer is 128 bytes.
/// EDID information is defined in the E-DID EEPROM
/// specification published by VESA (www.vesa.org).
///
UINT8 *Edid;
} EFI_EDID_ACTIVE_PROTOCOL;
extern EFI_GUID gEfiEdidActiveProtocolGuid;