Distributed Multihead X  1.16.4
dmxconfig.c File Reference
#include "dmx.h"
#include "dmxinput.h"
#include "dmxconfig.h"
#include "dmxparse.h"
#include "dmxlog.h"
#include "dmxcb.h"
#include "dmxstat.h"
#include "parser.h"

Data Structures

struct  DMXConfigListStruct
 
struct  DMXConfigCmdStruct
 

Macros

#define GEN(param, glob, def)
 

Typedefs

typedef struct DMXConfigListStruct DMXConfigList
 
typedef struct
DMXConfigListStruct
DMXConfigListPtr
 
typedef struct DMXConfigCmdStruct DMXConfigCmd
 
typedef struct DMXConfigCmdStructDMXConfigCmdPtr
 

Functions

int yyparse (void)
 
void dmxConfigStoreDisplay (const char *display)
 
void dmxConfigStoreInput (const char *input)
 
void dmxConfigStoreXInput (const char *input)
 
void dmxConfigStoreFile (const char *file)
 
void dmxConfigStoreConfig (const char *config)
 
static int dmxConfigReadFile (const char *filename, int debug)
 
static const char * dmxConfigMatch (const char *target, DMXConfigEntryPtr entry)
 
static DMXScreenInfodmxConfigAddDisplay (const char *name, int scrnWidth, int scrnHeight, int scrnX, int scrnY, int scrnXSign, int scrnYSign, int rootWidth, int rootHeight, int rootX, int rootY, int rootXSign, int rootYSign)
 
DMXInputInfodmxConfigAddInput (const char *name, int core)
 
static void dmxConfigCopyFromDisplay (DMXConfigDisplayPtr d)
 
static void dmxConfigCopyFromWall (DMXConfigWallPtr w)
 
static void dmxConfigCopyFromOption (DMXConfigOptionPtr o)
 
static void dmxConfigCopyFromParam (DMXConfigParamPtr p)
 
static void dmxConfigCopyData (DMXConfigVirtualPtr v)
 
static void dmxConfigFromCommandLine (void)
 
static void dmxConfigFromConfigFile (void)
 
static void dmxConfigConfigInputs (void)
 
void dmxConfigConfigure (void)
 
void dmxConfigSetMaxScreens (void)
 

Variables

FILE * yyin
 
static char * dmxXkbRules
 
static char * dmxXkbModel
 
static char * dmxXkbLayout
 
static char * dmxXkbVariant
 
static char * dmxXkbOptions
 
DMXConfigEntryPtr dmxConfigEntry
 
static DMXConfigCmd dmxConfigCmd
 
static int dmxDisplaysFromCommandLine
 

Detailed Description

Provides interface for reading DMX configuration files and for combining that information with command-line configuration parameters.

Macro Definition Documentation

#define GEN (   param,
  glob,
  def 
)
Value:
void dmxConfigSet##glob(const char *param) { \
if (dmx##glob) free((void *)dmx##glob); \
dmx##glob = strdup(param); \
} \
char *dmxConfigGet##glob(void) { \
return (char *)(dmx##glob ? dmx##glob : def); \
}

This macro is used to generate the following access methods:

  • dmxConfig{Set,Get}rules
  • dmxConfig{Set,Get}model
  • dmxConfig{Set,Get}layout
  • dmxConfig{Set,Get}variant
  • dmxConfig{Set,Get}options These methods are used to read and write information about the keyboard.

Typedef Documentation

This stucture stores the parsed configuration information.

Stores lists of configuration information.

Function Documentation

static DMXScreenInfo* dmxConfigAddDisplay ( const char *  name,
int  scrnWidth,
int  scrnHeight,
int  scrnX,
int  scrnY,
int  scrnXSign,
int  scrnYSign,
int  rootWidth,
int  rootHeight,
int  rootX,
int  rootY,
int  rootXSign,
int  rootYSign 
)
static
void dmxConfigConfigure ( void  )

Set up the appropriate global variables so that the DMX server will be initialized using the configuration specified in the config file and on the command line.

References DMXConfigCmdStruct::config, DMXConfigCmdStruct::displays, dmxConfigConfigInputs(), dmxConfigFreeEntry(), dmxConfigFromCommandLine(), dmxConfigFromConfigFile(), dmxConfigReadFile(), dmxLog(), dmxWarning, and DMXConfigCmdStruct::filename.

Referenced by dmxConfigSetMaxScreens(), and InitOutput().

static void dmxConfigCopyFromOption ( DMXConfigOptionPtr  o)
static
static const char* dmxConfigMatch ( const char *  target,
DMXConfigEntryPtr  entry 
)
static
static int dmxConfigReadFile ( const char *  filename,
int  debug 
)
static

References dmxInfo, dmxLog(), str, yydebug, yyin, and yyparse().

Referenced by dmxConfigConfigure().

void dmxConfigSetMaxScreens ( void  )

This function determines the number of displays we WILL have and sets MAXSCREENS to that value. This is difficult since the number depends on the command line (which is easy to count) or on the config file, which has to be parsed.

References dmxConfigConfigure(), dmxDisplaysFromCommandLine, dmxNumScreens, and DMXConfigCmdStruct::filename.

Referenced by ddxProcessArgument().

void dmxConfigStoreConfig ( const char *  config)

Make a note that config should be used as the configuration for current instantiation of the DMX server.

References DMXConfigCmdStruct::config, dmxFatal, and dmxLog().

Referenced by ddxProcessArgument().

void dmxConfigStoreDisplay ( const char *  display)

Make a note that display is the name of an X11 display that should be initialized as a backend (output) display. Called from ddxProcessArgument.

References DMXConfigCmdStruct::displays, dmxDisplaysFromCommandLine, dmxFatal, dmxLog(), DMXConfigListStruct::name, and DMXConfigListStruct::next.

Referenced by ddxProcessArgument().

void dmxConfigStoreFile ( const char *  file)

Make a note that file is the configuration file.

References dmxFatal, dmxLog(), and DMXConfigCmdStruct::filename.

Referenced by ddxProcessArgument().

void dmxConfigStoreInput ( const char *  input)

Make a note that input is the name of an X11 display that should be used for input (either a backend or a console input device).

References dmxFatal, dmxLog(), DMXConfigCmdStruct::inputs, DMXConfigListStruct::name, and DMXConfigListStruct::next.

Referenced by ddxProcessArgument().

void dmxConfigStoreXInput ( const char *  input)

Make a note that input is the name of an X11 display that should be used for input from XInput extension devices.

References dmxFatal, dmxLog(), DMXConfigListStruct::name, DMXConfigListStruct::next, and DMXConfigCmdStruct::xinputs.

Referenced by ddxProcessArgument().

int yyparse ( void  )

Referenced by dmxConfigReadFile().

Variable Documentation

DMXConfigCmd dmxConfigCmd
static
DMXConfigEntryPtr dmxConfigEntry

Referenced by main().

int dmxDisplaysFromCommandLine
static
char* dmxXkbLayout
static
char* dmxXkbModel
static
char* dmxXkbOptions
static
char* dmxXkbRules
static
char* dmxXkbVariant
static
FILE* yyin

Referenced by dmxConfigReadFile().


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