b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* $XFree86: xc/programs/Xserver/hw/xfree86/ddc/xf86DDC.h,v 1.10 2000/06/07 22:03:09 tsi Exp $ */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* xf86DDC.h
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync *
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * This file contains all information to interpret a standard EDIC block
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * transmitted by a display device via DDC (Display Data Channel). So far
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * there is no information to deal with optional EDID blocks.
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * DDC is a Trademark of VESA (Video Electronics Standard Association).
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync *
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * Copyright 1998 by Egbert Eich <Egbert.Eich@Physik.TU-Darmstadt.DE>
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#ifndef XF86_DDC_H
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync# define XF86_DDC_H
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#include "edid.h"
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#include "xf86i2c.h"
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#include "xf86str.h"
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* speed up / slow down */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef enum {
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DDC_SLOW,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DDC_FAST
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync} xf86ddcSpeed;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef void (* DDC1SetSpeedProc)(ScrnInfoPtr, xf86ddcSpeed);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern xf86MonPtr xf86DoEDID_DDC1(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int scrnIndex,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DDC1SetSpeedProc DDC1SetSpeed,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned int (*DDC1Read)(ScrnInfoPtr)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern xf86MonPtr xf86DoEDID_DDC2(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int scrnIndex,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync I2CBusPtr pBus
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern xf86MonPtr xf86PrintEDID(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xf86MonPtr monPtr
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern xf86MonPtr xf86InterpretEDID(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int screenIndex, Uchar *block
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern xf86vdifPtr xf86InterpretVdif(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync CARD8 *c
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern Bool xf86SetDDCproperties(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync ScrnInfoPtr pScreen,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xf86MonPtr DDC
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void xf86print_vdif(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xf86vdifPtr v
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#endif
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync