Distributed Multihead X  1.16.4
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 <X11/Xos.h>
#include <X11/Xmu/SysUtil.h>
#include "dixstruct.h"
#include <signal.h>
#include <X11/extensions/dmxproto.h>

Macros

#define DMX_ERROR_BUF_SIZE   256
 

Functions

static int dmxErrorHandler (Display *dpy, XErrorEvent *ev)
 
Bool dmxOpenDisplay (DMXScreenInfo *dmxScreen)
 
void dmxSetErrorHandler (DMXScreenInfo *dmxScreen)
 
static void dmxPrintScreenInfo (DMXScreenInfo *dmxScreen)
 
void dmxGetScreenAttribs (DMXScreenInfo *dmxScreen)
 
Bool dmxGetVisualInfo (DMXScreenInfo *dmxScreen)
 
void dmxGetColormaps (DMXScreenInfo *dmxScreen)
 
void dmxGetPixmapFormats (DMXScreenInfo *dmxScreen)
 
static Bool dmxSetPixmapFormats (ScreenInfo *pScreenInfo, DMXScreenInfo *dmxScreen)
 
void dmxCheckForWM (DMXScreenInfo *dmxScreen)
 
static void dmxDisplayInit (DMXScreenInfo *dmxScreen)
 
static const char * dmxExecOS (void)
 
static const char * dmxBuildCompiler (void)
 
static const char * dmxExecHost (void)
 
static void dmxAddExtensions (Bool glxSupported)
 
void InitOutput (ScreenInfo *pScreenInfo, int argc, char *argv[])
 
static void dmxSetDefaultFontPath (const char *fp)
 
void AbortDDX (enum ExitCode error)
 
void ddxGiveUp (enum ExitCode error)
 
void OsVendorInit (void)
 
void OsVendorFatalError (const char *f, va_list args)
 
int ddxProcessArgument (int argc, char *argv[], int i)
 
void ddxUseMsg (void)
 

Variables

int dmxNumScreens
 
DMXScreenInfodmxScreens
 
int dmxNumInputs
 
DMXInputInfodmxInputs
 
XErrorEvent dmxLastErrorEvent
 
Bool dmxErrorOccurred = FALSE
 
char * dmxFontPath = NULL
 
Bool dmxOffScreenOpt = TRUE
 
Bool dmxSubdividePrimitives = TRUE
 
Bool dmxLazyWindowCreation = TRUE
 
Bool dmxUseXKB = TRUE
 
int dmxDepth = 0
 
static Bool dmxGLXProxy = FALSE
 
RESTYPE RRProviderType = 0
 
Bool dmxIgnoreBadFontPaths = FALSE
 
Bool dmxAddRemoveScreens = FALSE
 

Detailed Description

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

Macro Definition Documentation

#define DMX_ERROR_BUF_SIZE   256

Referenced by dmxErrorHandler().

Function Documentation

void AbortDDX ( enum ExitCode  error)

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.

References _DMXScreenInfo::beDisplay, and dmxNumScreens.

Referenced by ddxGiveUp().

void ddxGiveUp ( enum ExitCode  error)

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.

References AbortDDX().

void ddxUseMsg ( void  )

Provide succinct usage information for the DMX server.

static void dmxAddExtensions ( Bool  glxSupported)
static

References DMXExtensionInit().

Referenced by InitOutput().

static const char* dmxBuildCompiler ( void  )
static

Referenced by InitOutput().

void dmxCheckForWM ( DMXScreenInfo dmxScreen)
static void dmxDisplayInit ( DMXScreenInfo dmxScreen)
static

Initialize the display and collect relevant information about the display properties

References dmxCheckForWM(), dmxFatal, dmxGetColormaps(), dmxGetPixmapFormats(), dmxGetScreenAttribs(), dmxGetVisualInfo(), dmxLog(), dmxOpenDisplay(), dmxSetErrorHandler(), and _DMXScreenInfo::name.

Referenced by InitOutput().

static int dmxErrorHandler ( Display *  dpy,
XErrorEvent *  ev 
)
static
static const char* dmxExecHost ( void  )
static

Referenced by InitOutput().

static const char* dmxExecOS ( void  )
static

Referenced by InitOutput().

Bool dmxOpenDisplay ( DMXScreenInfo dmxScreen)
static void dmxPrintScreenInfo ( DMXScreenInfo dmxScreen)
static
static void dmxSetDefaultFontPath ( const char *  fp)
static

References dmxFontPath.

Referenced by ddxProcessArgument().

void dmxSetErrorHandler ( DMXScreenInfo dmxScreen)

References dmxErrorHandler().

Referenced by dmxAttachScreen(), and dmxDisplayInit().

static Bool dmxSetPixmapFormats ( ScreenInfo *  pScreenInfo,
DMXScreenInfo dmxScreen 
)
static
void OsVendorFatalError ( const char *  f,
va_list  args 
)

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

Referenced by ddxProcessArgument(), dmxAttachScreen(), dmxDetachScreen(), and InitOutput().

int dmxDepth = 0

Requested depth if

non-zero

Referenced by ddxProcessArgument(), and dmxGetVisualInfo().

Bool dmxErrorOccurred = FALSE

True if an error

occurred

Referenced by dmxErrorHandler().

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

Referenced by dmxBELoadFont(), and dmxSetDefaultFontPath().

Bool dmxGLXProxy = FALSE
static

Referenced by ddxProcessArgument(), and InitOutput().

Bool dmxIgnoreBadFontPaths = FALSE

True if bad font

paths should be ignored during server init

Referenced by ddxProcessArgument(), and dmxBELoadFont().

XErrorEvent dmxLastErrorEvent

Last error that

occurred

Referenced by dmxErrorHandler().

Bool dmxLazyWindowCreation = TRUE

True if using the

lazy window creation optimization

Referenced by ddxProcessArgument(), dmxCreateWindow(), and InitOutput().

Bool dmxOffScreenOpt = TRUE

True if using off

screen optimizations

Referenced by ddxProcessArgument(), and InitOutput().

DMXScreenInfo* dmxScreens

List of outputs

Referenced by _dmxMoveCursor(), _dmxRealizeCursor(), _dmxSetCursor(), _dmxUnrealizeCursor(), dmxAttachScreen(), dmxBackendFindOverlapping(), dmxBackendInitPrivate(), dmxBackendOffscreen(), dmxBackendProcessInput(), dmxBackendUpdatePosition(), dmxBECloseScreen(), dmxBECreateColormap(), dmxBECreateCursor(), dmxBECreateGC(), dmxBECreateGlyphSet(), dmxBECreatePixmap(), dmxBECreateWindowTree(), dmxBEDestroyWindow(), dmxBEFreeColormap(), dmxBEFreeCursor(), dmxBEFreeFont(), dmxBEFreeGC(), dmxBEFreeGlyphSet(), dmxBEFreePicture(), dmxBEFreePixmap(), dmxBELoadFont(), dmxBERestorePixmap(), dmxBERestoreRenderGlyph(), dmxBESavePixmap(), dmxBEScreenInit(), dmxBitmapToRegion(), dmxChangeBorderWidth(), dmxChangeClip(), dmxChangeGC(), dmxChangePicture(), dmxChangePictureClip(), dmxChangeWindowAttributes(), dmxCheckCursor(), dmxCloseScreen(), dmxColormapFromDefaultVisual(), dmxCommonSaveState(), dmxComposite(), dmxCompositeRects(), dmxComputeScreenOrigins(), dmxComputeWidthHeight(), dmxConfigAddDisplay(), dmxConfigConfigInputs(), dmxConfigCopyFromWall(), dmxConfigFromCommandLine(), dmxConnectionBlockCallback(), dmxConsoleDraw(), dmxCopyArea(), dmxCopyGC(), dmxCopyPlane(), dmxCopyWindow(), dmxCoreMotion(), dmxCreateAndRealizeWindow(), dmxCreateColormap(), dmxCreateGC(), dmxCreateNonRootWindow(), dmxCreatePicture(), dmxCreatePixmap(), dmxCreateRootWindow(), dmxCreateWindow(), dmxCursorOffScreen(), dmxDestroyClip(), dmxDestroyColormap(), dmxDestroyGC(), dmxDestroyPicture(), dmxDestroyPictureClip(), dmxDestroyPixmap(), dmxDestroyWindow(), dmxDetachScreen(), dmxDoCreatePicture(), dmxDoRestackWindow(), dmxDoSetShape(), dmxFillPolygon(), dmxFindAlternatePixmap(), dmxFindFirstScreen(), dmxGetImage(), dmxGetScreenAttributes(), dmxImageText16(), dmxImageText8(), dmxInitOrigins(), dmxInitOverlap(), dmxInputAttachBackend(), dmxInputInit(), dmxInstallColormap(), dmxLookupVisual(), dmxLookupVisualFromID(), dmxMoveCursor(), dmxPictureInit(), dmxPolyArc(), dmxPolyFillArc(), dmxPolyFillRect(), dmxPolylines(), dmxPolyPoint(), dmxPolyRectangle(), dmxPolySegment(), dmxPolyText16(), dmxPolyText8(), dmxPositionWindow(), dmxProcRenderAddGlyphs(), dmxProcRenderCompositeGlyphs(), dmxProcRenderCreateGlyphSet(), dmxProcRenderFreeGlyphs(), dmxProcRenderFreeGlyphSet(), dmxProcRenderSetPictureFilter(), dmxProcRenderSetPictureTransform(), dmxProcSetFontPath(), dmxPropertyCheckOtherWindows(), dmxPutImage(), dmxRealizeCursor(), dmxRealizeFont(), dmxRealizeWindow(), dmxReInitOrigins(), dmxReparentWindow(), dmxResizeRootWindow(), dmxResizeScreenWindow(), dmxResizeWindow(), dmxRestackWindow(), dmxSaveScreen(), dmxScreenInit(), dmxSetCursor(), dmxSetShape(), dmxStatCallback(), dmxStoreColors(), dmxSyncCallback(), dmxTrapezoids(), dmxTriangles(), dmxTryComputeScreenOrigins(), dmxUnrealizeCursor(), dmxUnrealizeFont(), dmxUnrealizeWindow(), dmxUpdateScreenResources(), dmxValidatePicture(), and dmxWindowExposures().

Bool dmxSubdividePrimitives = TRUE

True if using the

primitive subdivision optimization

Referenced by ddxProcessArgument(), and dmxPutImage().

Bool dmxUseXKB = TRUE

True if the XKB

extension should be used with the backend servers

Referenced by ddxProcessArgument(), and dmxCommonSaveState().

RESTYPE RRProviderType = 0

Generated on Tue Aug 18 2015 01:27:31 for Distributed Multihead X by doxygen 1.8.8