# dmxinit.c File Reference

`#include "dmx.h"`
`#include "dmxinit.h"`
`#include "dmxsync.h"`
`#include "dmxlog.h"`
`#include "dmxinput.h"`
`#include "dmxscrinit.h"`
`#include "dmxcursor.h"`
`#include "dmxfont.h"`
`#include "config/dmxconfig.h"`
`#include "dmxcb.h"`
`#include "dmxprop.h"`
`#include "dmxstat.h"`
`#include "dmxpict.h"`
`#include "Xos.h"`
`#include "dixstruct.h"`
`#include "panoramiXsrv.h"`
`#include <signal.h>`

## Functions

void | InitOutput (ScreenInfo *pScreenInfo, int argc, char *argv[])
void | AbortDDX (void)
void | ddxGiveUp (void)
void | OsVendorInit (void)
void | OsVendorFatalError (void)
int | ddxProcessArgument (int argc, char *argv[], int i)
void | ddxUseMsg (void)
CARD32 | GetTimeInMillis (void)

## Variables

int | dmxNumScreens
DMXScreenInfo * | dmxScreens
int | dmxNumInputs
DMXInputInfo * | dmxInputs
int | dmxShadowFB = FALSE
XErrorEvent | dmxLastErrorEvent
Bool | dmxErrorOccurred = FALSE
char * | dmxFontPath = NULL
Bool | dmxOffScreenOpt = TRUE
Bool | dmxSubdividePrimitives = TRUE
Bool | dmxLazyWindowCreation = TRUE
Bool | dmxUseXKB = TRUE
int | dmxDepth = 0
Bool | dmxNoRender = FALSE
Bool | dmxIgnoreBadFontPaths = FALSE
Bool | dmxAddRemoveScreens = FALSE

## Detailed Description

Provide expected functions for initialization from the ddx layer and global variables for the DMX server.

## Function Documentation

void AbortDDX | ( | void |  | ) |

| This function is called in Xserver/os/utils.c from AbortServer(). We must ensure that backend and console state is restored in the event the server shutdown wasn't clean.

void ddxGiveUp | ( | void |  | ) |

| This function is called in Xserver/dix/main.c from main() when dispatchException & DE_TERMINATE (which is the only way to exit the main loop without an interruption.

int ddxProcessArgument | ( | int | argc,
|  | char * | argv[],
|  | int | i
| ) |

| Process our command line arguments.

void ddxUseMsg | ( | void |  | ) |

| Provide succinct usage information for the DMX server.

CARD32 GetTimeInMillis | ( | void |  | ) |

| Return wall-clock time in milliseconds.

void InitOutput | ( | ScreenInfo * | pScreenInfo,
|  | int | argc,
|  | char * | argv[]
| ) |

| This routine is called in Xserver/dix/main.c from main().

void OsVendorFatalError | ( | void |  | ) |

| This function is called in Xserver/os/utils.c from FatalError() and VFatalError(). (Note that setting the function pointer OsVendorVErrorFProc will cause VErrorF() (which is called by the two routines mentioned here, as well as by others) to use the referenced routine instead of vfprintf().)

void OsVendorInit | ( | void |  | ) |

| This function is called in Xserver/os/osinit.c from OsInit().

## Variable Documentation

Bool dmxAddRemoveScreens = FALSE

| True if add and remove screens support is enabled

int dmxDepth = 0

| Requested depth if non-zero

Bool dmxErrorOccurred = FALSE

| True if an error occurred

char* dmxFontPath = NULL

| NULL if no font path is set on the command line; otherwise, a string of comma separated paths built from the command line specified font paths

Bool dmxIgnoreBadFontPaths = FALSE

| True if bad font paths should be ignored during server init

DMXInputInfo* dmxInputs

| List of inputs

XErrorEvent dmxLastErrorEvent

| Last error that occurred

Bool dmxLazyWindowCreation = TRUE

| True if using the lazy window creation optimization

Bool dmxNoRender = FALSE

| True if the RENDER extension should be disabled

int dmxNumInputs

| Number of dmxInputs

int dmxNumScreens

| Number of dmxScreens

Bool dmxOffScreenOpt = TRUE

| True if using off screen optimizations

DMXScreenInfo* dmxScreens

| List of outputs

int dmxShadowFB = FALSE

| Non-zero if using shadow frame-buffer (deprecated)

Bool dmxSubdividePrimitives = TRUE

| True if using the primitive subdivision optimization

Bool dmxUseXKB = TRUE

| True if the XKB extension should be used with the backend servers

Generated June 29, 2004 for Distributed Multihead X by doxygen 1.3.4. </addres>