XFree86 server 4.x Design (DRAFT) : Recommended driver functions
Previous: Optional Driver Functions
Next: Data and Data Structures

## 7. Recommended driver functions

The functions outlined here are for internal use by the driver only. They are entirely optional, and are never accessed directly from higher layers. The sample function declarations shown here are just examples. The interface (if any) used is up to the driver.

### 7.1. Save

Save the video state. This could be called from `ChipScreenInit()` and (possibly) `ChipEnterVT()`.

> `void ChipSave(ScrnInfoPtr pScrn)`

> > Saves the current state. This will only be saving pre-server states or states before returning to the server. There is only one current saved state per screen and it is stored in private storage in the screen.

### 7.2. Restore

Restore the original video state. This could be called from the `ChipLeaveVT()` and `ChipCloseScreen()` functions.

> `void ChipRestore(ScrnInfoPtr pScrn)`

> > Restores the saved state from the private storage. Usually only used for restoring text modes.

### 7.3. Initialise Mode

Initialise a video mode. This could be called from the `ChipScreenInit()`, `ChipSwitchMode()` and `ChipEnterVT()` functions.

> `Bool ChipModeInit(ScrnInfoPtr pScrn, DisplayModePtr mode)`

> > Programs the hardware for the given video mode.

XFree86 server 4.x Design (DRAFT) : Recommended driver functions
Previous: Optional Driver Functions
Next: Data and Data Structures