XFree86 server 4.x Design (DRAFT) : DPMS Extension
Previous: Colormap Handling
Next: DGA Extension

14. DPMS Extension

Support code for the DPMS extension is included in the XFree86 common layer. This code provides an interface between the main extension code, and a means for drivers to initialise DPMS when they support it. One function is available to drivers to do this initialisation, and it is always available, even when the DPMS extension is not supported by the core server (in which case it returns a failure result).

Bool xf86DPMSInit(ScreenPtr pScreen, DPMSSetProcPtr set, int flags)

This function registers a driver's DPMS level programming function set. It also checks pScrn->options for the "dpms" option, and when present marks DPMS as being enabled for that screen. The set function is called whenever the DPMS level changes, and is used to program the requested level. flags is currently not used, and should be 0. If the initialisation fails for any reason, including when there is no DPMS support in the core server, the function returns FALSE.

Drivers that implement DPMS support must provide the following function, that gets called when the DPMS level is changed:

void ChipDPMSSet(ScrnInfoPtr pScrn, int level, int flags)

Program the DPMS level specified by level. Valid values of level are DPMSModeOn, DPMSModeStandby, DPMSModeSuspend, DPMSModeOff. These values are defined in "extensions/dpms.h".


XFree86 server 4.x Design (DRAFT) : DPMS Extension
Previous: Colormap Handling
Next: DGA Extension