# 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 | DMXConfigCmdStruct
struct | DMXConfigListStruct

## Defines

#define | GEN(param, glob, def)

## Typedefs

typedef DMXConfigListStruct | DMXConfigList
typedef DMXConfigListStruct * | DMXConfigListPtr
typedef DMXConfigCmdStruct | DMXConfigCmd
typedef DMXConfigCmdStruct * | DMXConfigCmdPtr

## Functions

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)
void | dmxConfigConfigure (void)
void | dmxConfigSetMaxScreens (void)

## Detailed Description

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

## Define 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

typedef struct DMXConfigCmdStruct DMXConfigCmd

| This stucture stores the parsed configuration information.

typedef struct DMXConfigCmdStruct * DMXConfigCmdPtr

| This stucture stores the parsed configuration information.

typedef struct DMXConfigListStruct DMXConfigList

| Stores lists of configuration information.

typedef struct DMXConfigListStruct * DMXConfigListPtr

| Stores lists of configuration information.

## Function Documentation

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.

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.

void dmxConfigStoreConfig | ( | const char * | config | ) |

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

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.

void dmxConfigStoreFile | ( | const char * | file | ) |

| Make a note that file is the configuration file.

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).

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.

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