First import
[xorg_rtime.git] / xorg-server-1.4 / hw / dmx / doc / html / dmxconfig_8c.html
bloba20ab1c26eecd6e16924402e9269f8253f01a94d
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
2 <html>
3 <head>
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">
7 </head>
8 <body>
9 <!-- Generated by Doxygen 1.3.4 -->
10 <div class="qindex"><a class="qindex" href="main.html">Main&nbsp;Page</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Data&nbsp;Structures</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Data&nbsp;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>
20 <tr><td></td></tr>
21 <tr><td colspan=2><br><h2>Data Structures</h2></td></tr>
22 <tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</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 &nbsp;</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&nbsp;</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>&nbsp;</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> *&nbsp;</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>&nbsp;</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> *&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="dmxconfig_8c.html#a33">dmxConfigSetMaxScreens</a> (void)</td></tr>
53 </table>
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">
58 <tr>
59 <td class="mdRow">
60 <table cellpadding="0" cellspacing="0" border="0">
61 <tr>
62 <td class="md" nowrap valign="top"> #define GEN</td>
63 <td class="md" valign="top">(&nbsp;</td>
64 <td class="md" nowrap valign="top">param, <tr>
65 <td></td>
66 <td></td>
67 <td class="md" nowrap>glob, <tr>
68 <td></td>
69 <td></td>
70 <td class="md" nowrap>def&nbsp;</td>
71 <td class="mdname1" valign="top" nowrap> </td>
72 <td class="md" valign="top">&nbsp;)&nbsp;</td>
73 <td class="md" nowrap>
74 </table>
75 </td>
76 </tr>
77 </table>
78 <table cellspacing=5 cellpadding=0 border=0>
79 <tr>
80 <td>
81 &nbsp;
82 </td>
83 <td>
85 <p>
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); \
89 } \
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>
95 </td>
96 </tr>
97 </table>
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">
101 <tr>
102 <td class="mdRow">
103 <table cellpadding="0" cellspacing="0" border="0">
104 <tr>
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>
106 </table>
107 </td>
108 </tr>
109 </table>
110 <table cellspacing=5 cellpadding=0 border=0>
111 <tr>
112 <td>
113 &nbsp;
114 </td>
115 <td>
118 This stucture stores the parsed configuration information. </td>
119 </tr>
120 </table>
121 <a class="anchor" name="a10" doxytag="dmxconfig.c::DMXConfigCmdPtr" ></a><p>
122 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
123 <tr>
124 <td class="mdRow">
125 <table cellpadding="0" cellspacing="0" border="0">
126 <tr>
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>
128 </table>
129 </td>
130 </tr>
131 </table>
132 <table cellspacing=5 cellpadding=0 border=0>
133 <tr>
134 <td>
135 &nbsp;
136 </td>
137 <td>
140 This stucture stores the parsed configuration information. </td>
141 </tr>
142 </table>
143 <a class="anchor" name="a7" doxytag="dmxconfig.c::DMXConfigList" ></a><p>
144 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
145 <tr>
146 <td class="mdRow">
147 <table cellpadding="0" cellspacing="0" border="0">
148 <tr>
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>
150 </table>
151 </td>
152 </tr>
153 </table>
154 <table cellspacing=5 cellpadding=0 border=0>
155 <tr>
156 <td>
157 &nbsp;
158 </td>
159 <td>
162 Stores lists of configuration information. </td>
163 </tr>
164 </table>
165 <a class="anchor" name="a8" doxytag="dmxconfig.c::DMXConfigListPtr" ></a><p>
166 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
167 <tr>
168 <td class="mdRow">
169 <table cellpadding="0" cellspacing="0" border="0">
170 <tr>
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>
172 </table>
173 </td>
174 </tr>
175 </table>
176 <table cellspacing=5 cellpadding=0 border=0>
177 <tr>
178 <td>
179 &nbsp;
180 </td>
181 <td>
184 Stores lists of configuration information. </td>
185 </tr>
186 </table>
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">
190 <tr>
191 <td class="mdRow">
192 <table cellpadding="0" cellspacing="0" border="0">
193 <tr>
194 <td class="md" nowrap valign="top"> void dmxConfigConfigure </td>
195 <td class="md" valign="top">(&nbsp;</td>
196 <td class="md" nowrap valign="top">void&nbsp;</td>
197 <td class="mdname1" valign="top" nowrap> </td>
198 <td class="md" valign="top">&nbsp;)&nbsp;</td>
199 <td class="md" nowrap></td>
200 </tr>
202 </table>
203 </td>
204 </tr>
205 </table>
206 <table cellspacing=5 cellpadding=0 border=0>
207 <tr>
208 <td>
209 &nbsp;
210 </td>
211 <td>
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>
215 </tr>
216 </table>
217 <a class="anchor" name="a33" doxytag="dmxconfig.c::dmxConfigSetMaxScreens" ></a><p>
218 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
219 <tr>
220 <td class="mdRow">
221 <table cellpadding="0" cellspacing="0" border="0">
222 <tr>
223 <td class="md" nowrap valign="top"> void dmxConfigSetMaxScreens </td>
224 <td class="md" valign="top">(&nbsp;</td>
225 <td class="md" nowrap valign="top">void&nbsp;</td>
226 <td class="mdname1" valign="top" nowrap> </td>
227 <td class="md" valign="top">&nbsp;)&nbsp;</td>
228 <td class="md" nowrap></td>
229 </tr>
231 </table>
232 </td>
233 </tr>
234 </table>
235 <table cellspacing=5 cellpadding=0 border=0>
236 <tr>
237 <td>
238 &nbsp;
239 </td>
240 <td>
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>
244 </tr>
245 </table>
246 <a class="anchor" name="a19" doxytag="dmxconfig.c::dmxConfigStoreConfig" ></a><p>
247 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
248 <tr>
249 <td class="mdRow">
250 <table cellpadding="0" cellspacing="0" border="0">
251 <tr>
252 <td class="md" nowrap valign="top"> void dmxConfigStoreConfig </td>
253 <td class="md" valign="top">(&nbsp;</td>
254 <td class="md" nowrap valign="top">const char *&nbsp;</td>
255 <td class="mdname1" valign="top" nowrap> <em>config</em> </td>
256 <td class="md" valign="top">&nbsp;)&nbsp;</td>
257 <td class="md" nowrap></td>
258 </tr>
260 </table>
261 </td>
262 </tr>
263 </table>
264 <table cellspacing=5 cellpadding=0 border=0>
265 <tr>
266 <td>
267 &nbsp;
268 </td>
269 <td>
272 Make a note that <em>config</em> should be used as the configuration for current instantiation of the DMX server. </td>
273 </tr>
274 </table>
275 <a class="anchor" name="a15" doxytag="dmxconfig.c::dmxConfigStoreDisplay" ></a><p>
276 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
277 <tr>
278 <td class="mdRow">
279 <table cellpadding="0" cellspacing="0" border="0">
280 <tr>
281 <td class="md" nowrap valign="top"> void dmxConfigStoreDisplay </td>
282 <td class="md" valign="top">(&nbsp;</td>
283 <td class="md" nowrap valign="top">const char *&nbsp;</td>
284 <td class="mdname1" valign="top" nowrap> <em>display</em> </td>
285 <td class="md" valign="top">&nbsp;)&nbsp;</td>
286 <td class="md" nowrap></td>
287 </tr>
289 </table>
290 </td>
291 </tr>
292 </table>
293 <table cellspacing=5 cellpadding=0 border=0>
294 <tr>
295 <td>
296 &nbsp;
297 </td>
298 <td>
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>
302 </tr>
303 </table>
304 <a class="anchor" name="a18" doxytag="dmxconfig.c::dmxConfigStoreFile" ></a><p>
305 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
306 <tr>
307 <td class="mdRow">
308 <table cellpadding="0" cellspacing="0" border="0">
309 <tr>
310 <td class="md" nowrap valign="top"> void dmxConfigStoreFile </td>
311 <td class="md" valign="top">(&nbsp;</td>
312 <td class="md" nowrap valign="top">const char *&nbsp;</td>
313 <td class="mdname1" valign="top" nowrap> <em>file</em> </td>
314 <td class="md" valign="top">&nbsp;)&nbsp;</td>
315 <td class="md" nowrap></td>
316 </tr>
318 </table>
319 </td>
320 </tr>
321 </table>
322 <table cellspacing=5 cellpadding=0 border=0>
323 <tr>
324 <td>
325 &nbsp;
326 </td>
327 <td>
330 Make a note that <em>file</em> is the configuration file. </td>
331 </tr>
332 </table>
333 <a class="anchor" name="a16" doxytag="dmxconfig.c::dmxConfigStoreInput" ></a><p>
334 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
335 <tr>
336 <td class="mdRow">
337 <table cellpadding="0" cellspacing="0" border="0">
338 <tr>
339 <td class="md" nowrap valign="top"> void dmxConfigStoreInput </td>
340 <td class="md" valign="top">(&nbsp;</td>
341 <td class="md" nowrap valign="top">const char *&nbsp;</td>
342 <td class="mdname1" valign="top" nowrap> <em>input</em> </td>
343 <td class="md" valign="top">&nbsp;)&nbsp;</td>
344 <td class="md" nowrap></td>
345 </tr>
347 </table>
348 </td>
349 </tr>
350 </table>
351 <table cellspacing=5 cellpadding=0 border=0>
352 <tr>
353 <td>
354 &nbsp;
355 </td>
356 <td>
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>
360 </tr>
361 </table>
362 <a class="anchor" name="a17" doxytag="dmxconfig.c::dmxConfigStoreXInput" ></a><p>
363 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
364 <tr>
365 <td class="mdRow">
366 <table cellpadding="0" cellspacing="0" border="0">
367 <tr>
368 <td class="md" nowrap valign="top"> void dmxConfigStoreXInput </td>
369 <td class="md" valign="top">(&nbsp;</td>
370 <td class="md" nowrap valign="top">const char *&nbsp;</td>
371 <td class="mdname1" valign="top" nowrap> <em>input</em> </td>
372 <td class="md" valign="top">&nbsp;)&nbsp;</td>
373 <td class="md" nowrap></td>
374 </tr>
376 </table>
377 </td>
378 </tr>
379 </table>
380 <table cellspacing=5 cellpadding=0 border=0>
381 <tr>
382 <td>
383 &nbsp;
384 </td>
385 <td>
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>
389 </tr>
390 </table>
391 <hr>
392 <address>
393 <small>
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>
397 1.3.4.
398 </small>
399 </addres>
400 </hr>
401 </body>
402 </html>