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>dmxinit.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="dmxinit_8h-source.html">dmxinit.h</a>"</code><br>
13
<code>#include "<a class="el" href="dmxsync_8h-source.html">dmxsync.h</a>"</code><br>
14
<code>#include "<a class="el" href="dmxlog_8h-source.html">dmxlog.h</a>"</code><br>
15
<code>#include "<a class="el" href="dmxinput_8h-source.html">dmxinput.h</a>"</code><br>
16
<code>#include "<a class="el" href="dmxscrinit_8h-source.html">dmxscrinit.h</a>"</code><br>
17
<code>#include "<a class="el" href="dmxcursor_8h-source.html">dmxcursor.h</a>"</code><br>
18
<code>#include "<a class="el" href="dmxfont_8h-source.html">dmxfont.h</a>"</code><br>
19
<code>#include "<a class="el" href="dmxconfig_8h-source.html">config/dmxconfig.h</a>"</code><br>
20
<code>#include "<a class="el" href="dmxcb_8h-source.html">dmxcb.h</a>"</code><br>
21
<code>#include "<a class="el" href="dmxprop_8h-source.html">dmxprop.h</a>"</code><br>
22
<code>#include "<a class="el" href="dmxstat_8h-source.html">dmxstat.h</a>"</code><br>
23
<code>#include "<a class="el" href="dmxpict_8h-source.html">dmxpict.h</a>"</code><br>
24
<code>#include "Xos.h"</code><br>
25
<code>#include "dixstruct.h"</code><br>
26
<code>#include "panoramiXsrv.h"</code><br>
27
<code>#include <signal.h></code><br>
28
<table border=0 cellpadding=0 cellspacing=0>
30
<tr><td colspan=2><br><h2>Functions</h2></td></tr>
31
<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="dmxinit_8c.html#a34">InitOutput</a> (ScreenInfo *pScreenInfo, int argc, char *argv[])</td></tr>
33
<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="dmxinit_8c.html#a36">AbortDDX</a> (void)</td></tr>
35
<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="dmxinit_8c.html#a37">ddxGiveUp</a> (void)</td></tr>
37
<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="dmxinit_8c.html#a38">OsVendorInit</a> (void)</td></tr>
39
<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="dmxinit_8c.html#a39">OsVendorFatalError</a> (void)</td></tr>
41
<tr><td class="memItemLeft" nowrap align=right valign=top>int </td><td class="memItemRight" valign=bottom><a class="el" href="dmxinit_8c.html#a40">ddxProcessArgument</a> (int argc, char *argv[], int i)</td></tr>
43
<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="dmxinit_8c.html#a41">ddxUseMsg</a> (void)</td></tr>
45
<tr><td class="memItemLeft" nowrap align=right valign=top>CARD32 </td><td class="memItemRight" valign=bottom><a class="el" href="dmxinit_8c.html#a42">GetTimeInMillis</a> (void)</td></tr>
47
<tr><td colspan=2><br><h2>Variables</h2></td></tr>
48
<tr><td class="memItemLeft" nowrap align=right valign=top>int </td><td class="memItemRight" valign=bottom><a class="el" href="dmxinit_8c.html#a1">dmxNumScreens</a></td></tr>
50
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="struct__DMXScreenInfo.html">DMXScreenInfo</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="dmxinit_8c.html#a2">dmxScreens</a></td></tr>
52
<tr><td class="memItemLeft" nowrap align=right valign=top>int </td><td class="memItemRight" valign=bottom><a class="el" href="dmxinit_8c.html#a3">dmxNumInputs</a></td></tr>
54
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="struct__DMXInputInfo.html">DMXInputInfo</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="dmxinit_8c.html#a4">dmxInputs</a></td></tr>
56
<tr><td class="memItemLeft" nowrap align=right valign=top>int </td><td class="memItemRight" valign=bottom><a class="el" href="dmxinit_8c.html#a5">dmxShadowFB</a> = FALSE</td></tr>
58
<tr><td class="memItemLeft" nowrap align=right valign=top>XErrorEvent </td><td class="memItemRight" valign=bottom><a class="el" href="dmxinit_8c.html#a6">dmxLastErrorEvent</a></td></tr>
60
<tr><td class="memItemLeft" nowrap align=right valign=top>Bool </td><td class="memItemRight" valign=bottom><a class="el" href="dmxinit_8c.html#a7">dmxErrorOccurred</a> = FALSE</td></tr>
62
<tr><td class="memItemLeft" nowrap align=right valign=top>char * </td><td class="memItemRight" valign=bottom><a class="el" href="dmxinit_8c.html#a8">dmxFontPath</a> = NULL</td></tr>
64
<tr><td class="memItemLeft" nowrap align=right valign=top>Bool </td><td class="memItemRight" valign=bottom><a class="el" href="dmxinit_8c.html#a9">dmxOffScreenOpt</a> = TRUE</td></tr>
66
<tr><td class="memItemLeft" nowrap align=right valign=top>Bool </td><td class="memItemRight" valign=bottom><a class="el" href="dmxinit_8c.html#a10">dmxSubdividePrimitives</a> = TRUE</td></tr>
68
<tr><td class="memItemLeft" nowrap align=right valign=top>Bool </td><td class="memItemRight" valign=bottom><a class="el" href="dmxinit_8c.html#a11">dmxLazyWindowCreation</a> = TRUE</td></tr>
70
<tr><td class="memItemLeft" nowrap align=right valign=top>Bool </td><td class="memItemRight" valign=bottom><a class="el" href="dmxinit_8c.html#a12">dmxUseXKB</a> = TRUE</td></tr>
72
<tr><td class="memItemLeft" nowrap align=right valign=top>int </td><td class="memItemRight" valign=bottom><a class="el" href="dmxinit_8c.html#a13">dmxDepth</a> = 0</td></tr>
74
<tr><td class="memItemLeft" nowrap align=right valign=top>Bool </td><td class="memItemRight" valign=bottom><a class="el" href="dmxinit_8c.html#a14">dmxNoRender</a> = FALSE</td></tr>
76
<tr><td class="memItemLeft" nowrap align=right valign=top>Bool </td><td class="memItemRight" valign=bottom><a class="el" href="dmxinit_8c.html#a16">dmxIgnoreBadFontPaths</a> = FALSE</td></tr>
78
<tr><td class="memItemLeft" nowrap align=right valign=top>Bool </td><td class="memItemRight" valign=bottom><a class="el" href="dmxinit_8c.html#a17">dmxAddRemoveScreens</a> = FALSE</td></tr>
81
<hr><a name="_details"></a><h2>Detailed Description</h2>
82
Provide expected functions for initialization from the ddx layer and global variables for the DMX server.<hr><h2>Function Documentation</h2>
83
<a class="anchor" name="a36" doxytag="dmxinit.c::AbortDDX" ></a><p>
84
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
87
<table cellpadding="0" cellspacing="0" border="0">
89
<td class="md" nowrap valign="top"> void AbortDDX </td>
90
<td class="md" valign="top">( </td>
91
<td class="md" nowrap valign="top">void </td>
92
<td class="mdname1" valign="top" nowrap> </td>
93
<td class="md" valign="top"> ) </td>
94
<td class="md" nowrap></td>
101
<table cellspacing=5 cellpadding=0 border=0>
109
This function is called in Xserver/os/utils.c from <em><a class="el" href="dmxlog_8c.html#a3">AbortServer()</a></em>. We must ensure that backend and console state is restored in the event the server shutdown wasn't clean. </td>
112
<a class="anchor" name="a37" doxytag="dmxinit.c::ddxGiveUp" ></a><p>
113
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
116
<table cellpadding="0" cellspacing="0" border="0">
118
<td class="md" nowrap valign="top"> void ddxGiveUp </td>
119
<td class="md" valign="top">( </td>
120
<td class="md" nowrap valign="top">void </td>
121
<td class="mdname1" valign="top" nowrap> </td>
122
<td class="md" valign="top"> ) </td>
123
<td class="md" nowrap></td>
130
<table cellspacing=5 cellpadding=0 border=0>
138
This function is called in Xserver/dix/main.c from <em><a class="el" href="xdmxconfig_8c.html#a101">main()</a></em> when dispatchException & DE_TERMINATE (which is the only way to exit the main loop without an interruption. </td>
141
<a class="anchor" name="a40" doxytag="dmxinit.c::ddxProcessArgument" ></a><p>
142
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
145
<table cellpadding="0" cellspacing="0" border="0">
147
<td class="md" nowrap valign="top"> int ddxProcessArgument </td>
148
<td class="md" valign="top">( </td>
149
<td class="md" nowrap valign="top">int </td>
150
<td class="mdname" nowrap> <em>argc</em>, </td>
155
<td class="md" nowrap>char * </td>
156
<td class="mdname" nowrap> <em>argv</em>[], </td>
161
<td class="md" nowrap>int </td>
162
<td class="mdname" nowrap> <em>i</em></td>
166
<td class="md">) </td>
167
<td class="md" colspan="2"></td>
174
<table cellspacing=5 cellpadding=0 border=0>
182
Process our command line arguments. </td>
185
<a class="anchor" name="a41" doxytag="dmxinit.c::ddxUseMsg" ></a><p>
186
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
189
<table cellpadding="0" cellspacing="0" border="0">
191
<td class="md" nowrap valign="top"> void ddxUseMsg </td>
192
<td class="md" valign="top">( </td>
193
<td class="md" nowrap valign="top">void </td>
194
<td class="mdname1" valign="top" nowrap> </td>
195
<td class="md" valign="top"> ) </td>
196
<td class="md" nowrap></td>
203
<table cellspacing=5 cellpadding=0 border=0>
211
Provide succinct usage information for the DMX server. </td>
214
<a class="anchor" name="a42" doxytag="dmxinit.c::GetTimeInMillis" ></a><p>
215
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
218
<table cellpadding="0" cellspacing="0" border="0">
220
<td class="md" nowrap valign="top"> CARD32 GetTimeInMillis </td>
221
<td class="md" valign="top">( </td>
222
<td class="md" nowrap valign="top">void </td>
223
<td class="mdname1" valign="top" nowrap> </td>
224
<td class="md" valign="top"> ) </td>
225
<td class="md" nowrap></td>
232
<table cellspacing=5 cellpadding=0 border=0>
240
Return wall-clock time in milliseconds. </td>
243
<a class="anchor" name="a34" doxytag="dmxinit.c::InitOutput" ></a><p>
244
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
247
<table cellpadding="0" cellspacing="0" border="0">
249
<td class="md" nowrap valign="top"> void InitOutput </td>
250
<td class="md" valign="top">( </td>
251
<td class="md" nowrap valign="top">ScreenInfo * </td>
252
<td class="mdname" nowrap> <em>pScreenInfo</em>, </td>
257
<td class="md" nowrap>int </td>
258
<td class="mdname" nowrap> <em>argc</em>, </td>
263
<td class="md" nowrap>char * </td>
264
<td class="mdname" nowrap> <em>argv</em>[]</td>
268
<td class="md">) </td>
269
<td class="md" colspan="2"></td>
276
<table cellspacing=5 cellpadding=0 border=0>
284
This routine is called in Xserver/dix/main.c from <em><a class="el" href="xdmxconfig_8c.html#a101">main()</a></em>. </td>
287
<a class="anchor" name="a39" doxytag="dmxinit.c::OsVendorFatalError" ></a><p>
288
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
291
<table cellpadding="0" cellspacing="0" border="0">
293
<td class="md" nowrap valign="top"> void OsVendorFatalError </td>
294
<td class="md" valign="top">( </td>
295
<td class="md" nowrap valign="top">void </td>
296
<td class="mdname1" valign="top" nowrap> </td>
297
<td class="md" valign="top"> ) </td>
298
<td class="md" nowrap></td>
305
<table cellspacing=5 cellpadding=0 border=0>
313
This function is called in Xserver/os/utils.c from <em>FatalError()</em> and <em><a class="el" href="dmxlog_8c.html#a4">VFatalError()</a></em>. (Note that setting the function pointer <em>OsVendorVErrorFProc</em> will cause <em>VErrorF()</em> (which is called by the two routines mentioned here, as well as by others) to use the referenced routine instead of <em>vfprintf()</em>.) </td>
316
<a class="anchor" name="a38" doxytag="dmxinit.c::OsVendorInit" ></a><p>
317
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
320
<table cellpadding="0" cellspacing="0" border="0">
322
<td class="md" nowrap valign="top"> void OsVendorInit </td>
323
<td class="md" valign="top">( </td>
324
<td class="md" nowrap valign="top">void </td>
325
<td class="mdname1" valign="top" nowrap> </td>
326
<td class="md" valign="top"> ) </td>
327
<td class="md" nowrap></td>
334
<table cellspacing=5 cellpadding=0 border=0>
342
This function is called in Xserver/os/osinit.c from <em>OsInit()</em>. </td>
345
<hr><h2>Variable Documentation</h2>
346
<a class="anchor" name="a17" doxytag="dmxinit.c::dmxAddRemoveScreens" ></a><p>
347
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
350
<table cellpadding="0" cellspacing="0" border="0">
352
<td class="md" nowrap valign="top"> Bool <a class="el" href="dmxinit_8c.html#a17">dmxAddRemoveScreens</a> = FALSE
357
<table cellspacing=5 cellpadding=0 border=0>
365
True if add and remove screens support is enabled </td>
368
<a class="anchor" name="a13" doxytag="dmxinit.c::dmxDepth" ></a><p>
369
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
372
<table cellpadding="0" cellspacing="0" border="0">
374
<td class="md" nowrap valign="top"> int <a class="el" href="dmxinit_8c.html#a13">dmxDepth</a> = 0
379
<table cellspacing=5 cellpadding=0 border=0>
387
Requested depth if non-zero </td>
390
<a class="anchor" name="a7" doxytag="dmxinit.c::dmxErrorOccurred" ></a><p>
391
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
394
<table cellpadding="0" cellspacing="0" border="0">
396
<td class="md" nowrap valign="top"> Bool <a class="el" href="dmxinit_8c.html#a7">dmxErrorOccurred</a> = FALSE
401
<table cellspacing=5 cellpadding=0 border=0>
409
True if an error occurred </td>
412
<a class="anchor" name="a8" doxytag="dmxinit.c::dmxFontPath" ></a><p>
413
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
416
<table cellpadding="0" cellspacing="0" border="0">
418
<td class="md" nowrap valign="top"> char* <a class="el" href="dmxinit_8c.html#a8">dmxFontPath</a> = NULL
423
<table cellspacing=5 cellpadding=0 border=0>
431
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 </td>
434
<a class="anchor" name="a16" doxytag="dmxinit.c::dmxIgnoreBadFontPaths" ></a><p>
435
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
438
<table cellpadding="0" cellspacing="0" border="0">
440
<td class="md" nowrap valign="top"> Bool <a class="el" href="dmxinit_8c.html#a16">dmxIgnoreBadFontPaths</a> = FALSE
445
<table cellspacing=5 cellpadding=0 border=0>
453
True if bad font paths should be ignored during server init </td>
456
<a class="anchor" name="a4" doxytag="dmxinit.c::dmxInputs" ></a><p>
457
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
460
<table cellpadding="0" cellspacing="0" border="0">
462
<td class="md" nowrap valign="top"> <a class="el" href="struct__DMXInputInfo.html">DMXInputInfo</a>* <a class="el" href="dmxinput_8h.html#a5">dmxInputs</a>
467
<table cellspacing=5 cellpadding=0 border=0>
478
<a class="anchor" name="a6" doxytag="dmxinit.c::dmxLastErrorEvent" ></a><p>
479
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
482
<table cellpadding="0" cellspacing="0" border="0">
484
<td class="md" nowrap valign="top"> XErrorEvent <a class="el" href="dmxinit_8c.html#a6">dmxLastErrorEvent</a>
489
<table cellspacing=5 cellpadding=0 border=0>
497
Last error that occurred </td>
500
<a class="anchor" name="a11" doxytag="dmxinit.c::dmxLazyWindowCreation" ></a><p>
501
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
504
<table cellpadding="0" cellspacing="0" border="0">
506
<td class="md" nowrap valign="top"> Bool <a class="el" href="dmxinit_8c.html#a11">dmxLazyWindowCreation</a> = TRUE
511
<table cellspacing=5 cellpadding=0 border=0>
519
True if using the lazy window creation optimization </td>
522
<a class="anchor" name="a14" doxytag="dmxinit.c::dmxNoRender" ></a><p>
523
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
526
<table cellpadding="0" cellspacing="0" border="0">
528
<td class="md" nowrap valign="top"> Bool <a class="el" href="dmxinit_8c.html#a14">dmxNoRender</a> = FALSE
533
<table cellspacing=5 cellpadding=0 border=0>
541
True if the RENDER extension should be disabled </td>
544
<a class="anchor" name="a3" doxytag="dmxinit.c::dmxNumInputs" ></a><p>
545
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
548
<table cellpadding="0" cellspacing="0" border="0">
550
<td class="md" nowrap valign="top"> int <a class="el" href="dmxinput_8h.html#a4">dmxNumInputs</a>
555
<table cellspacing=5 cellpadding=0 border=0>
563
Number of <a class="el" href="dmxinput_8h.html#a5">dmxInputs</a> </td>
566
<a class="anchor" name="a1" doxytag="dmxinit.c::dmxNumScreens" ></a><p>
567
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
570
<table cellpadding="0" cellspacing="0" border="0">
572
<td class="md" nowrap valign="top"> int <a class="el" href="dmxinit_8c.html#a1">dmxNumScreens</a>
577
<table cellspacing=5 cellpadding=0 border=0>
585
Number of dmxScreens </td>
588
<a class="anchor" name="a9" doxytag="dmxinit.c::dmxOffScreenOpt" ></a><p>
589
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
592
<table cellpadding="0" cellspacing="0" border="0">
594
<td class="md" nowrap valign="top"> Bool <a class="el" href="dmxinit_8c.html#a9">dmxOffScreenOpt</a> = TRUE
599
<table cellspacing=5 cellpadding=0 border=0>
607
True if using off screen optimizations </td>
610
<a class="anchor" name="a2" doxytag="dmxinit.c::dmxScreens" ></a><p>
611
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
614
<table cellpadding="0" cellspacing="0" border="0">
616
<td class="md" nowrap valign="top"> <a class="el" href="struct__DMXScreenInfo.html">DMXScreenInfo</a>* <a class="el" href="dmxinit_8c.html#a2">dmxScreens</a>
621
<table cellspacing=5 cellpadding=0 border=0>
629
List of outputs </td>
632
<a class="anchor" name="a5" doxytag="dmxinit.c::dmxShadowFB" ></a><p>
633
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
636
<table cellpadding="0" cellspacing="0" border="0">
638
<td class="md" nowrap valign="top"> int <a class="el" href="dmxinit_8c.html#a5">dmxShadowFB</a> = FALSE
643
<table cellspacing=5 cellpadding=0 border=0>
651
Non-zero if using shadow frame-buffer (deprecated) </td>
654
<a class="anchor" name="a10" doxytag="dmxinit.c::dmxSubdividePrimitives" ></a><p>
655
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
658
<table cellpadding="0" cellspacing="0" border="0">
660
<td class="md" nowrap valign="top"> Bool <a class="el" href="dmxinit_8c.html#a10">dmxSubdividePrimitives</a> = TRUE
665
<table cellspacing=5 cellpadding=0 border=0>
673
True if using the primitive subdivision optimization </td>
676
<a class="anchor" name="a12" doxytag="dmxinit.c::dmxUseXKB" ></a><p>
677
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
680
<table cellpadding="0" cellspacing="0" border="0">
682
<td class="md" nowrap valign="top"> Bool <a class="el" href="dmxinit_8c.html#a12">dmxUseXKB</a> = TRUE
687
<table cellspacing=5 cellpadding=0 border=0>
695
True if the XKB extension should be used with the backend servers </td>
701
Generated June 29, 2004 for <a
702
href="http://dmx.sourceforge.net">Distributed Multihead X</a> by
703
<a href="http://www.doxygen.org/index.html">doxygen</a>