1 <!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.0 Transitional//EN">
4 <meta http-equiv=
"Content-Type" content=
"text/html;charset=iso-8859-1">
5 <title>File Index
</title>
6 <link href=
"doxygen.css" rel=
"stylesheet" type=
"text/css">
9 <!-- Generated by Doxygen 1.3.4 -->
10 <div class=
"qindex"><a class=
"qindex" href=
"main.html">Main
Page
</a> |
<a class=
"qindex" href=
"classes.html">Alphabetical
List
</a> |
<a class=
"qindex" href=
"annotated.html">Data
Structures
</a> |
<a class=
"qindex" href=
"files.html">File
List
</a> |
<a class=
"qindex" href=
"functions.html">Data
Fields
</a> |
<a class=
"qindex" href=
"globals.html">Globals
</a></div>
11 <h1>dmxconfig.c File Reference
</h1><code>#include
"<a class="el
" href="dmx_8h-source.html
">dmx.h</a>"</code><br>
12 <code>#include
"<a class="el
" href="dmxinput_8h-source.html
">dmxinput.h</a>"</code><br>
13 <code>#include
"<a class="el
" href="dmxconfig_8h-source.html
">dmxconfig.h</a>"</code><br>
14 <code>#include
"<a class="el
" href="dmxparse_8h-source.html
">dmxparse.h</a>"</code><br>
15 <code>#include
"<a class="el
" href="dmxlog_8h-source.html
">dmxlog.h</a>"</code><br>
16 <code>#include
"<a class="el
" href="dmxcb_8h-source.html
">dmxcb.h</a>"</code><br>
17 <code>#include
"<a class="el
" href="dmxstat_8h-source.html
">dmxstat.h</a>"</code><br>
18 <code>#include
"parser.h"</code><br>
19 <table border=
0 cellpadding=
0 cellspacing=
0>
21 <tr><td colspan=
2><br><h2>Data Structures
</h2></td></tr>
22 <tr><td class=
"memItemLeft" nowrap align=right valign=top
>struct
</td><td class=
"memItemRight" valign=bottom
><a class=
"el" href=
"structDMXConfigCmdStruct.html">DMXConfigCmdStruct
</a></td></tr>
24 <tr><td class=
"memItemLeft" nowrap align=right valign=top
>struct
</td><td class=
"memItemRight" valign=bottom
><a class=
"el" href=
"structDMXConfigListStruct.html">DMXConfigListStruct
</a></td></tr>
26 <tr><td colspan=
2><br><h2>Defines
</h2></td></tr>
27 <tr><td class=
"memItemLeft" nowrap align=right valign=top
>#define
</td><td class=
"memItemRight" valign=bottom
><a class=
"el" href=
"dmxconfig_8c.html#a0">GEN
</a>(param, glob, def)
</td></tr>
29 <tr><td colspan=
2><br><h2>Typedefs
</h2></td></tr>
30 <tr><td class=
"memItemLeft" nowrap align=right valign=top
>typedef
<a class=
"el" href=
"structDMXConfigListStruct.html">DMXConfigListStruct
</a> </td><td class=
"memItemRight" valign=bottom
><a class=
"el" href=
"dmxconfig_8c.html#a7">DMXConfigList
</a></td></tr>
32 <tr><td class=
"memItemLeft" nowrap align=right valign=top
>typedef
<a class=
"el" href=
"structDMXConfigListStruct.html">DMXConfigListStruct
</a> *
</td><td class=
"memItemRight" valign=bottom
><a class=
"el" href=
"dmxconfig_8c.html#a8">DMXConfigListPtr
</a></td></tr>
34 <tr><td class=
"memItemLeft" nowrap align=right valign=top
>typedef
<a class=
"el" href=
"structDMXConfigCmdStruct.html">DMXConfigCmdStruct
</a> </td><td class=
"memItemRight" valign=bottom
><a class=
"el" href=
"dmxconfig_8c.html#a9">DMXConfigCmd
</a></td></tr>
36 <tr><td class=
"memItemLeft" nowrap align=right valign=top
>typedef
<a class=
"el" href=
"structDMXConfigCmdStruct.html">DMXConfigCmdStruct
</a> *
</td><td class=
"memItemRight" valign=bottom
><a class=
"el" href=
"dmxconfig_8c.html#a10">DMXConfigCmdPtr
</a></td></tr>
38 <tr><td colspan=
2><br><h2>Functions
</h2></td></tr>
39 <tr><td class=
"memItemLeft" nowrap align=right valign=top
>void
</td><td class=
"memItemRight" valign=bottom
><a class=
"el" href=
"dmxconfig_8c.html#a15">dmxConfigStoreDisplay
</a> (const char *display)
</td></tr>
41 <tr><td class=
"memItemLeft" nowrap align=right valign=top
>void
</td><td class=
"memItemRight" valign=bottom
><a class=
"el" href=
"dmxconfig_8c.html#a16">dmxConfigStoreInput
</a> (const char *input)
</td></tr>
43 <tr><td class=
"memItemLeft" nowrap align=right valign=top
>void
</td><td class=
"memItemRight" valign=bottom
><a class=
"el" href=
"dmxconfig_8c.html#a17">dmxConfigStoreXInput
</a> (const char *input)
</td></tr>
45 <tr><td class=
"memItemLeft" nowrap align=right valign=top
>void
</td><td class=
"memItemRight" valign=bottom
><a class=
"el" href=
"dmxconfig_8c.html#a18">dmxConfigStoreFile
</a> (const char *file)
</td></tr>
47 <tr><td class=
"memItemLeft" nowrap align=right valign=top
>void
</td><td class=
"memItemRight" valign=bottom
><a class=
"el" href=
"dmxconfig_8c.html#a19">dmxConfigStoreConfig
</a> (const char *config)
</td></tr>
49 <tr><td class=
"memItemLeft" nowrap align=right valign=top
>void
</td><td class=
"memItemRight" valign=bottom
><a class=
"el" href=
"dmxconfig_8c.html#a32">dmxConfigConfigure
</a> (void)
</td></tr>
51 <tr><td class=
"memItemLeft" nowrap align=right valign=top
>void
</td><td class=
"memItemRight" valign=bottom
><a class=
"el" href=
"dmxconfig_8c.html#a33">dmxConfigSetMaxScreens
</a> (void)
</td></tr>
54 <hr><a name=
"_details"></a><h2>Detailed Description
</h2>
55 Provides interface for reading DMX configuration files and for combining that information with command-line configuration parameters.
<hr><h2>Define Documentation
</h2>
56 <a class=
"anchor" name=
"a0" doxytag=
"dmxconfig.c::GEN" ></a><p>
57 <table class=
"mdTable" width=
"100%" cellpadding=
"2" cellspacing=
"0">
60 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
62 <td class=
"md" nowrap
valign=
"top"> #define GEN
</td>
63 <td class=
"md" valign=
"top">(
</td>
64 <td class=
"md" nowrap
valign=
"top">param,
<tr>
67 <td class=
"md" nowrap
>glob,
<tr>
70 <td class=
"md" nowrap
>def
</td>
71 <td class=
"mdname1" valign=
"top" nowrap
> </td>
72 <td class=
"md" valign=
"top"> )
</td>
73 <td class=
"md" nowrap
>
78 <table cellspacing=
5 cellpadding=
0 border=
0>
86 <b>Value:
</b><div class=
"fragment"><pre><span class=
"keywordtype">void
</span> dmxConfigSet##glob(
<span class=
"keyword">const
</span> <span class=
"keywordtype">char
</span> *param) { \
87 <span class=
"keywordflow">if
</span> (dmx##glob) free((
<span class=
"keywordtype">void
</span> *)dmx##glob); \
88 dmx##glob = strdup(param); \
90 <span class=
"keywordtype">char
</span> *dmxConfigGet##glob(
<span class=
"keywordtype">void
</span>) { \
91 <span class=
"keywordflow">return
</span> (
<span class=
"keywordtype">char
</span> *)(dmx##glob ? dmx##glob : def); \
93 </pre></div>This macro is used to generate the following access methods:
<ul>
94 <li>dmxConfig{Set,Get}rules
</li><li>dmxConfig{Set,Get}model
</li><li>dmxConfig{Set,Get}layout
</li><li>dmxConfig{Set,Get}variant
</li><li>dmxConfig{Set,Get}options These methods are used to read and write information about the keyboard.
</li></ul>
98 <hr><h2>Typedef Documentation
</h2>
99 <a class=
"anchor" name=
"a9" doxytag=
"dmxconfig.c::DMXConfigCmd" ></a><p>
100 <table class=
"mdTable" width=
"100%" cellpadding=
"2" cellspacing=
"0">
103 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
105 <td class=
"md" nowrap
valign=
"top"> typedef struct
<a class=
"el" href=
"structDMXConfigCmdStruct.html">DMXConfigCmdStruct
</a> <a class=
"el" href=
"structDMXConfigCmdStruct.html">DMXConfigCmd
</a>
110 <table cellspacing=
5 cellpadding=
0 border=
0>
118 This stucture stores the parsed configuration information.
</td>
121 <a class=
"anchor" name=
"a10" doxytag=
"dmxconfig.c::DMXConfigCmdPtr" ></a><p>
122 <table class=
"mdTable" width=
"100%" cellpadding=
"2" cellspacing=
"0">
125 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
127 <td class=
"md" nowrap
valign=
"top"> typedef struct
<a class=
"el" href=
"structDMXConfigCmdStruct.html">DMXConfigCmdStruct
</a> *
<a class=
"el" href=
"structDMXConfigCmdStruct.html">DMXConfigCmdPtr
</a>
132 <table cellspacing=
5 cellpadding=
0 border=
0>
140 This stucture stores the parsed configuration information.
</td>
143 <a class=
"anchor" name=
"a7" doxytag=
"dmxconfig.c::DMXConfigList" ></a><p>
144 <table class=
"mdTable" width=
"100%" cellpadding=
"2" cellspacing=
"0">
147 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
149 <td class=
"md" nowrap
valign=
"top"> typedef struct
<a class=
"el" href=
"structDMXConfigListStruct.html">DMXConfigListStruct
</a> <a class=
"el" href=
"structDMXConfigListStruct.html">DMXConfigList
</a>
154 <table cellspacing=
5 cellpadding=
0 border=
0>
162 Stores lists of configuration information.
</td>
165 <a class=
"anchor" name=
"a8" doxytag=
"dmxconfig.c::DMXConfigListPtr" ></a><p>
166 <table class=
"mdTable" width=
"100%" cellpadding=
"2" cellspacing=
"0">
169 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
171 <td class=
"md" nowrap
valign=
"top"> typedef struct
<a class=
"el" href=
"structDMXConfigListStruct.html">DMXConfigListStruct
</a> *
<a class=
"el" href=
"structDMXConfigListStruct.html">DMXConfigListPtr
</a>
176 <table cellspacing=
5 cellpadding=
0 border=
0>
184 Stores lists of configuration information.
</td>
187 <hr><h2>Function Documentation
</h2>
188 <a class=
"anchor" name=
"a32" doxytag=
"dmxconfig.c::dmxConfigConfigure" ></a><p>
189 <table class=
"mdTable" width=
"100%" cellpadding=
"2" cellspacing=
"0">
192 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
194 <td class=
"md" nowrap
valign=
"top"> void dmxConfigConfigure
</td>
195 <td class=
"md" valign=
"top">(
</td>
196 <td class=
"md" nowrap
valign=
"top">void
</td>
197 <td class=
"mdname1" valign=
"top" nowrap
> </td>
198 <td class=
"md" valign=
"top"> )
</td>
199 <td class=
"md" nowrap
></td>
206 <table cellspacing=
5 cellpadding=
0 border=
0>
214 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.
</td>
217 <a class=
"anchor" name=
"a33" doxytag=
"dmxconfig.c::dmxConfigSetMaxScreens" ></a><p>
218 <table class=
"mdTable" width=
"100%" cellpadding=
"2" cellspacing=
"0">
221 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
223 <td class=
"md" nowrap
valign=
"top"> void dmxConfigSetMaxScreens
</td>
224 <td class=
"md" valign=
"top">(
</td>
225 <td class=
"md" nowrap
valign=
"top">void
</td>
226 <td class=
"mdname1" valign=
"top" nowrap
> </td>
227 <td class=
"md" valign=
"top"> )
</td>
228 <td class=
"md" nowrap
></td>
235 <table cellspacing=
5 cellpadding=
0 border=
0>
243 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.
</td>
246 <a class=
"anchor" name=
"a19" doxytag=
"dmxconfig.c::dmxConfigStoreConfig" ></a><p>
247 <table class=
"mdTable" width=
"100%" cellpadding=
"2" cellspacing=
"0">
250 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
252 <td class=
"md" nowrap
valign=
"top"> void dmxConfigStoreConfig
</td>
253 <td class=
"md" valign=
"top">(
</td>
254 <td class=
"md" nowrap
valign=
"top">const char *
</td>
255 <td class=
"mdname1" valign=
"top" nowrap
> <em>config
</em> </td>
256 <td class=
"md" valign=
"top"> )
</td>
257 <td class=
"md" nowrap
></td>
264 <table cellspacing=
5 cellpadding=
0 border=
0>
272 Make a note that
<em>config
</em> should be used as the configuration for current instantiation of the DMX server.
</td>
275 <a class=
"anchor" name=
"a15" doxytag=
"dmxconfig.c::dmxConfigStoreDisplay" ></a><p>
276 <table class=
"mdTable" width=
"100%" cellpadding=
"2" cellspacing=
"0">
279 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
281 <td class=
"md" nowrap
valign=
"top"> void dmxConfigStoreDisplay
</td>
282 <td class=
"md" valign=
"top">(
</td>
283 <td class=
"md" nowrap
valign=
"top">const char *
</td>
284 <td class=
"mdname1" valign=
"top" nowrap
> <em>display
</em> </td>
285 <td class=
"md" valign=
"top"> )
</td>
286 <td class=
"md" nowrap
></td>
293 <table cellspacing=
5 cellpadding=
0 border=
0>
301 Make a note that
<em>display
</em> is the name of an X11 display that should be initialized as a backend (output) display. Called from
<a class=
"el" href=
"dmxinit_8c.html#a40">ddxProcessArgument
</a>.
</td>
304 <a class=
"anchor" name=
"a18" doxytag=
"dmxconfig.c::dmxConfigStoreFile" ></a><p>
305 <table class=
"mdTable" width=
"100%" cellpadding=
"2" cellspacing=
"0">
308 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
310 <td class=
"md" nowrap
valign=
"top"> void dmxConfigStoreFile
</td>
311 <td class=
"md" valign=
"top">(
</td>
312 <td class=
"md" nowrap
valign=
"top">const char *
</td>
313 <td class=
"mdname1" valign=
"top" nowrap
> <em>file
</em> </td>
314 <td class=
"md" valign=
"top"> )
</td>
315 <td class=
"md" nowrap
></td>
322 <table cellspacing=
5 cellpadding=
0 border=
0>
330 Make a note that
<em>file
</em> is the configuration file.
</td>
333 <a class=
"anchor" name=
"a16" doxytag=
"dmxconfig.c::dmxConfigStoreInput" ></a><p>
334 <table class=
"mdTable" width=
"100%" cellpadding=
"2" cellspacing=
"0">
337 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
339 <td class=
"md" nowrap
valign=
"top"> void dmxConfigStoreInput
</td>
340 <td class=
"md" valign=
"top">(
</td>
341 <td class=
"md" nowrap
valign=
"top">const char *
</td>
342 <td class=
"mdname1" valign=
"top" nowrap
> <em>input
</em> </td>
343 <td class=
"md" valign=
"top"> )
</td>
344 <td class=
"md" nowrap
></td>
351 <table cellspacing=
5 cellpadding=
0 border=
0>
359 Make a note that
<em>input
</em> is the name of an X11 display that should be used for input (either a backend or a console input device).
</td>
362 <a class=
"anchor" name=
"a17" doxytag=
"dmxconfig.c::dmxConfigStoreXInput" ></a><p>
363 <table class=
"mdTable" width=
"100%" cellpadding=
"2" cellspacing=
"0">
366 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
368 <td class=
"md" nowrap
valign=
"top"> void dmxConfigStoreXInput
</td>
369 <td class=
"md" valign=
"top">(
</td>
370 <td class=
"md" nowrap
valign=
"top">const char *
</td>
371 <td class=
"mdname1" valign=
"top" nowrap
> <em>input
</em> </td>
372 <td class=
"md" valign=
"top"> )
</td>
373 <td class=
"md" nowrap
></td>
380 <table cellspacing=
5 cellpadding=
0 border=
0>
388 Make a note that
<em>input
</em> is the name of an X11 display that should be used for input from XInput extension devices.
</td>
394 Generated June
29,
2004 for
<a
395 href=
"http://dmx.sourceforge.net">Distributed Multihead X
</a> by
396 <a href=
"http://www.doxygen.org/index.html">doxygen
</a>