6
6
<link href="doxygen.css" rel="stylesheet" type="text/css">
9
<!-- Generated by Doxygen 1.7.1 -->
10
<div class="navigation" id="top">
9
<!-- Generated by Doxygen 1.7.3 -->
10
<div id="navrow1" class="tabs">
12
11
<ul class="tablist">
13
<li><a href="main.html"><span>Main Page</span></a></li>
14
<li><a href="annotated.html"><span>Data Structures</span></a></li>
12
<li><a href="index.html"><span>Main Page</span></a></li>
13
<li><a href="annotated.html"><span>Data Structures</span></a></li>
15
14
<li class="current"><a href="files.html"><span>Files</span></a></li>
17
<div id="navrow2" class="tabs2">
19
18
<ul class="tablist">
20
<li><a href="files.html"><span>File List</span></a></li>
19
<li><a href="files.html"><span>File List</span></a></li>
21
20
<li><a href="globals.html"><span>Globals</span></a></li>
24
<div id="side-nav" class="ui-resizable side-nav-resizable">
26
<div id="nav-tree-contents">
29
<div id="splitbar" style="-moz-user-select:none;"
30
class="ui-resizable-handle">
33
<script type="text/javascript">
34
initNavTree('dmxsigio_8c.html','');
36
<div id="doc-content">
25
37
<div class="header">
26
38
<div class="summary">
27
39
<a href="#define-members">Defines</a> |
31
43
<h1>dmxsigio.c File Reference</h1> </div>
33
45
<div class="contents">
34
<code>#include "inputstr.h"</code><br/>
46
<div class="textblock"><code>#include "inputstr.h"</code><br/>
35
47
<code>#include "<a class="el" href="dmxinputinit_8h_source.html">dmxinputinit.h</a>"</code><br/>
36
48
<code>#include "<a class="el" href="dmxsigio_8h_source.html">dmxsigio.h</a>"</code><br/>
37
49
<code>#include "<a class="el" href="dmxevents_8h_source.html">dmxevents.h</a>"</code><br/>
38
50
<code>#include <signal.h></code><br/>
39
51
<code>#include <unistd.h></code><br/>
40
52
<code>#include <fcntl.h></code><br/>
41
<table class="memberdecls">
53
</div><table class="memberdecls">
42
54
<tr><td colspan="2"><h2><a name="define-members"></a>
43
55
Defines</h2></td></tr>
44
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxsigio_8c.html#ac5d0c9848f853f8b026b1211b93f78b1">O_ASYNC</a> 0</td></tr>
45
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxsigio_8c.html#a39d33ce33804efd4d52606d59071c6d8">O_NONBLOCK</a> FNONBLK</td></tr>
56
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxsigio_8c.html#ac5d0c9848f853f8b026b1211b93f78b1">O_ASYNC</a>   0</td></tr>
57
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxsigio_8c.html#a39d33ce33804efd4d52606d59071c6d8">O_NONBLOCK</a>   FNONBLK</td></tr>
46
58
<tr><td colspan="2"><h2><a name="func-members"></a>
47
59
Functions</h2></td></tr>
48
<tr><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxsigio_8c.html#a7d77ce64f0495ed7bb1f5bfcde316371">dmxSigioHandler</a> (int sig)</td></tr>
49
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxsigio_8c.html#a0ab74a514a7e18842b085aa001553137">dmxSigioBlock</a> (void)</td></tr>
50
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxsigio_8c.html#aadc7d1d3b885b68d326ccc8ae1c17d11">dmxSigioUnblock</a> (void)</td></tr>
51
<tr><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxsigio_8c.html#a71472c553212e8de00f36e072c378a6c">dmxSigioHook</a> (void)</td></tr>
52
<tr><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxsigio_8c.html#a0092cc73f6beb3d16b542a8527f1cbf6">dmxSigioUnhook</a> (void)</td></tr>
53
<tr><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxsigio_8c.html#a6651a6fe035f3ba2d8f09a730bc9c0cb">dmxSigioAdd</a> (<a class="el" href="struct__DMXInputInfo.html">DMXInputInfo</a> *dmxInput)</td></tr>
54
<tr><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxsigio_8c.html#a9d563164ebc1ef320b68136f69bec3aa">dmxSigioRemove</a> (<a class="el" href="struct__DMXInputInfo.html">DMXInputInfo</a> *dmxInput)</td></tr>
55
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxsigio_8c.html#a86b07a489751508e422ce60fc4ad332d">dmxSigioEnableInput</a> (void)</td></tr>
56
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxsigio_8c.html#aea86e1800e644fac954c6bbf6012c7aa">dmxSigioDisableInput</a> (void)</td></tr>
57
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxsigio_8c.html#ac3cccb6a8d72aaa0c7ac64f061d0b877">dmxSigioRegister</a> (<a class="el" href="struct__DMXInputInfo.html">DMXInputInfo</a> *dmxInput, int fd)</td></tr>
58
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxsigio_8c.html#ac447ef5c9a3aa88a5cb049ea0beecfd2">dmxSigioUnregister</a> (<a class="el" href="struct__DMXInputInfo.html">DMXInputInfo</a> *dmxInput)</td></tr>
60
<tr><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxsigio_8c.html#a7d77ce64f0495ed7bb1f5bfcde316371">dmxSigioHandler</a> (int sig)</td></tr>
61
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxsigio_8c.html#a0ab74a514a7e18842b085aa001553137">dmxSigioBlock</a> (void)</td></tr>
62
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxsigio_8c.html#aadc7d1d3b885b68d326ccc8ae1c17d11">dmxSigioUnblock</a> (void)</td></tr>
63
<tr><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxsigio_8c.html#a71472c553212e8de00f36e072c378a6c">dmxSigioHook</a> (void)</td></tr>
64
<tr><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxsigio_8c.html#a0092cc73f6beb3d16b542a8527f1cbf6">dmxSigioUnhook</a> (void)</td></tr>
65
<tr><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxsigio_8c.html#a6651a6fe035f3ba2d8f09a730bc9c0cb">dmxSigioAdd</a> (<a class="el" href="struct__DMXInputInfo.html">DMXInputInfo</a> *dmxInput)</td></tr>
66
<tr><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxsigio_8c.html#a9d563164ebc1ef320b68136f69bec3aa">dmxSigioRemove</a> (<a class="el" href="struct__DMXInputInfo.html">DMXInputInfo</a> *dmxInput)</td></tr>
67
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxsigio_8c.html#a86b07a489751508e422ce60fc4ad332d">dmxSigioEnableInput</a> (void)</td></tr>
68
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxsigio_8c.html#aea86e1800e644fac954c6bbf6012c7aa">dmxSigioDisableInput</a> (void)</td></tr>
69
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxsigio_8c.html#ac3cccb6a8d72aaa0c7ac64f061d0b877">dmxSigioRegister</a> (<a class="el" href="struct__DMXInputInfo.html">DMXInputInfo</a> *dmxInput, int fd)</td></tr>
70
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxsigio_8c.html#ac447ef5c9a3aa88a5cb049ea0beecfd2">dmxSigioUnregister</a> (<a class="el" href="struct__DMXInputInfo.html">DMXInputInfo</a> *dmxInput)</td></tr>
59
71
<tr><td colspan="2"><h2><a name="var-members"></a>
60
72
Variables</h2></td></tr>
61
<tr><td class="memItemLeft" align="right" valign="top">static int </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxsigio_8c.html#ac926cb5aa8d124192f381a9e05d49cb8">dmxFdCount</a> = 0</td></tr>
62
<tr><td class="memItemLeft" align="right" valign="top">static Bool </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxsigio_8c.html#ace65587735b6bff523a064f6ad1f978f">dmxInputEnabled</a> = TRUE</td></tr>
73
<tr><td class="memItemLeft" align="right" valign="top">static int </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxsigio_8c.html#ac926cb5aa8d124192f381a9e05d49cb8">dmxFdCount</a> = 0</td></tr>
74
<tr><td class="memItemLeft" align="right" valign="top">static Bool </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxsigio_8c.html#ace65587735b6bff523a064f6ad1f978f">dmxInputEnabled</a> = TRUE</td></tr>
64
76
<hr/><a name="_details"></a><h2>Detailed Description</h2>
65
<p>Provides an interface for handling SIGIO signals for input devices. </p>
66
<hr/><h2>Define Documentation</h2>
77
<div class="textblock"><p>Provides an interface for handling SIGIO signals for input devices. </p>
78
</div><hr/><h2>Define Documentation</h2>
67
79
<a class="anchor" id="ac5d0c9848f853f8b026b1211b93f78b1"></a><!-- doxytag: member="dmxsigio.c::O_ASYNC" ref="ac5d0c9848f853f8b026b1211b93f78b1" args="" -->
68
80
<div class="memitem">
69
81
<div class="memproto">
70
82
<table class="memname">
72
<td class="memname">#define O_ASYNC 0</td>
84
<td class="memname">#define O_ASYNC   0</td>
103
115
<td class="memname">static void dmxSigioAdd </td>
105
<td class="paramtype"><a class="el" href="struct__DMXInputInfo.html">DMXInputInfo</a> * </td>
106
<td class="paramname"> <em>dmxInput</em></td>
107
<td> ) </td>
117
<td class="paramtype"><a class="el" href="struct__DMXInputInfo.html">DMXInputInfo</a> * </td>
118
<td class="paramname"><em>dmxInput</em></td><td>)</td>
108
119
<td><code> [static]</code></td>
112
123
<div class="memdoc">
114
<p>References <a class="el" href="dmxinput_8h.html#abdcaa3561e4107b3e133d221a881fdd4a7fae538ba04dbc6882d35b2911081d3b">DMX_ACTIVESIGIO</a>, <a class="el" href="dmxinput_8h.html#abdcaa3561e4107b3e133d221a881fdd4a3332aab1a0fa6ab7dbb69ff402b0d596">DMX_NOSIGIO</a>, <a class="el" href="dmxinput_8h.html#abdcaa3561e4107b3e133d221a881fdd4a602a53cb181b839ee55e077c20588608">DMX_USESIGIO</a>, <a class="el" href="dmxsigio_8c.html#ac926cb5aa8d124192f381a9e05d49cb8">dmxFdCount</a>, <a class="el" href="dmxsigio_8c.html#a71472c553212e8de00f36e072c378a6c">dmxSigioHook()</a>, <a class="el" href="dmxsigio_8c.html#ac5d0c9848f853f8b026b1211b93f78b1">O_ASYNC</a>, <a class="el" href="struct__DMXInputInfo.html#a94aafbe9fd94083dc4e1469bec29d9ea">_DMXInputInfo::sigioAdded</a>, <a class="el" href="struct__DMXInputInfo.html#a2d75d5540ff0a95d822bbb8dfbec197b">_DMXInputInfo::sigioFd</a>, <a class="el" href="struct__DMXInputInfo.html#a0ba936a9c99af68fa838e45eb7af1c68">_DMXInputInfo::sigioFdCount</a>, and <a class="el" href="struct__DMXInputInfo.html#ab7e0499d483754c4a1a9c567edb1c167">_DMXInputInfo::sigioState</a>.</p>
125
<p>References <a class="el" href="dmxinput_8h.html#abdcaa3561e4107b3e133d221a881fdd4a7fae538ba04dbc6882d35b2911081d3b">DMX_ACTIVESIGIO</a>, <a class="el" href="dmxinput_8h.html#abdcaa3561e4107b3e133d221a881fdd4a3332aab1a0fa6ab7dbb69ff402b0d596">DMX_NOSIGIO</a>, <a class="el" href="dmxinput_8h.html#abdcaa3561e4107b3e133d221a881fdd4a602a53cb181b839ee55e077c20588608">DMX_USESIGIO</a>, <a class="el" href="dmxsigio_8c.html#ac926cb5aa8d124192f381a9e05d49cb8">dmxFdCount</a>, <a class="el" href="dmxsigio_8c.html#a71472c553212e8de00f36e072c378a6c">dmxSigioHook()</a>, <a class="el" href="dmxsigio_8c.html#ac5d0c9848f853f8b026b1211b93f78b1">O_ASYNC</a>, <a class="el" href="dmxsigio_8c.html#a39d33ce33804efd4d52606d59071c6d8">O_NONBLOCK</a>, <a class="el" href="struct__DMXInputInfo.html#a94aafbe9fd94083dc4e1469bec29d9ea">_DMXInputInfo::sigioAdded</a>, <a class="el" href="struct__DMXInputInfo.html#a2d75d5540ff0a95d822bbb8dfbec197b">_DMXInputInfo::sigioFd</a>, <a class="el" href="struct__DMXInputInfo.html#a0ba936a9c99af68fa838e45eb7af1c68">_DMXInputInfo::sigioFdCount</a>, and <a class="el" href="struct__DMXInputInfo.html#ab7e0499d483754c4a1a9c567edb1c167">_DMXInputInfo::sigioState</a>.</p>
116
127
<p>Referenced by <a class="el" href="dmxsigio_8h.html#a86b07a489751508e422ce60fc4ad332d">dmxSigioEnableInput()</a>, and <a class="el" href="dmxsigio_8h.html#ac3cccb6a8d72aaa0c7ac64f061d0b877">dmxSigioRegister()</a>.</p>
232
242
<td class="memname">void dmxSigioRegister </td>
234
<td class="paramtype"><a class="el" href="struct__DMXInputInfo.html">DMXInputInfo</a> * </td>
235
<td class="paramname"> <em>dmxInput</em>, </td>
244
<td class="paramtype"><a class="el" href="struct__DMXInputInfo.html">DMXInputInfo</a> * </td>
245
<td class="paramname"><em>dmxInput</em>, </td>
238
248
<td class="paramkey"></td>
240
<td class="paramtype">int </td>
241
<td class="paramname"> <em>fd</em></td><td> </td>
250
<td class="paramtype">int </td>
251
<td class="paramname"><em>fd</em> </td>
246
<td></td><td></td><td></td>
250
260
<div class="memdoc">
251
261
<p>Make a note that the input device described in <em>dmxInput</em> will be using the file descriptor <em>fd</em> for SIGIO signals. Calls AddEnabledDevice ifi SIGIO handling has been enabled with <a class="el" href="dmxsigio_8c.html#a86b07a489751508e422ce60fc4ad332d">dmxSigioEnableInput()</a>. </p>
253
<p>References <a class="el" href="dmxinput_8h.html#afc9c4f441bc6bd7d6ba0226d1415031c">DMX_MAX_SIGIO_FDS</a>, <a class="el" href="dmxlog_8h.html#aeed612a5c0be196e23bd6b71b76b917fa4d84ad320675a046536d76c0820abc70">dmxFatal</a>, <a class="el" href="dmxsigio_8c.html#ace65587735b6bff523a064f6ad1f978f">dmxInputEnabled</a>, <a class="el" href="dmxlog_8c.html#ab6259430a57c3cffdfc9f6259df0ad23">dmxLog()</a>, <a class="el" href="dmxsigio_8c.html#a6651a6fe035f3ba2d8f09a730bc9c0cb">dmxSigioAdd()</a>, <a class="el" href="struct__DMXInputInfo.html#a2d75d5540ff0a95d822bbb8dfbec197b">_DMXInputInfo::sigioFd</a>, <a class="el" href="struct__DMXInputInfo.html#a0ba936a9c99af68fa838e45eb7af1c68">_DMXInputInfo::sigioFdCount</a>, and <a class="el" href="struct__DMXInputInfo.html#ab7e0499d483754c4a1a9c567edb1c167">_DMXInputInfo::sigioState</a>.</p>
263
<p>References <a class="el" href="dmxinput_8h.html#afc9c4f441bc6bd7d6ba0226d1415031c">DMX_MAX_SIGIO_FDS</a>, <a class="el" href="dmxinput_8h.html#abdcaa3561e4107b3e133d221a881fdd4a602a53cb181b839ee55e077c20588608">DMX_USESIGIO</a>, <a class="el" href="dmxlog_8h.html#aeed612a5c0be196e23bd6b71b76b917fa4d84ad320675a046536d76c0820abc70">dmxFatal</a>, <a class="el" href="dmxsigio_8c.html#ace65587735b6bff523a064f6ad1f978f">dmxInputEnabled</a>, <a class="el" href="dmxlog_8c.html#ab6259430a57c3cffdfc9f6259df0ad23">dmxLog()</a>, <a class="el" href="dmxsigio_8c.html#a6651a6fe035f3ba2d8f09a730bc9c0cb">dmxSigioAdd()</a>, <a class="el" href="struct__DMXInputInfo.html#a2d75d5540ff0a95d822bbb8dfbec197b">_DMXInputInfo::sigioFd</a>, <a class="el" href="struct__DMXInputInfo.html#a0ba936a9c99af68fa838e45eb7af1c68">_DMXInputInfo::sigioFdCount</a>, and <a class="el" href="struct__DMXInputInfo.html#ab7e0499d483754c4a1a9c567edb1c167">_DMXInputInfo::sigioState</a>.</p>
255
265
<p>Referenced by <a class="el" href="dmxinputinit_8c.html#aee6196e74882c16d5cd939d88b3b6fdc">dmxDeviceOnOff()</a>.</p>
264
274
<td class="memname">static void dmxSigioRemove </td>
266
<td class="paramtype"><a class="el" href="struct__DMXInputInfo.html">DMXInputInfo</a> * </td>
267
<td class="paramname"> <em>dmxInput</em></td>
268
<td> ) </td>
276
<td class="paramtype"><a class="el" href="struct__DMXInputInfo.html">DMXInputInfo</a> * </td>
277
<td class="paramname"><em>dmxInput</em></td><td>)</td>
269
278
<td><code> [static]</code></td>
273
282
<div class="memdoc">
275
<p>References <a class="el" href="dmxinput_8h.html#abdcaa3561e4107b3e133d221a881fdd4a7fae538ba04dbc6882d35b2911081d3b">DMX_ACTIVESIGIO</a>, <a class="el" href="dmxinput_8h.html#abdcaa3561e4107b3e133d221a881fdd4a3332aab1a0fa6ab7dbb69ff402b0d596">DMX_NOSIGIO</a>, <a class="el" href="dmxinput_8h.html#abdcaa3561e4107b3e133d221a881fdd4a602a53cb181b839ee55e077c20588608">DMX_USESIGIO</a>, <a class="el" href="dmxsigio_8c.html#ac926cb5aa8d124192f381a9e05d49cb8">dmxFdCount</a>, <a class="el" href="dmxsigio_8c.html#a0092cc73f6beb3d16b542a8527f1cbf6">dmxSigioUnhook()</a>, <a class="el" href="dmxsigio_8c.html#ac5d0c9848f853f8b026b1211b93f78b1">O_ASYNC</a>, <a class="el" href="struct__DMXInputInfo.html#a94aafbe9fd94083dc4e1469bec29d9ea">_DMXInputInfo::sigioAdded</a>, <a class="el" href="struct__DMXInputInfo.html#a2d75d5540ff0a95d822bbb8dfbec197b">_DMXInputInfo::sigioFd</a>, <a class="el" href="struct__DMXInputInfo.html#a0ba936a9c99af68fa838e45eb7af1c68">_DMXInputInfo::sigioFdCount</a>, and <a class="el" href="struct__DMXInputInfo.html#ab7e0499d483754c4a1a9c567edb1c167">_DMXInputInfo::sigioState</a>.</p>
284
<p>References <a class="el" href="dmxinput_8h.html#abdcaa3561e4107b3e133d221a881fdd4a7fae538ba04dbc6882d35b2911081d3b">DMX_ACTIVESIGIO</a>, <a class="el" href="dmxinput_8h.html#abdcaa3561e4107b3e133d221a881fdd4a3332aab1a0fa6ab7dbb69ff402b0d596">DMX_NOSIGIO</a>, <a class="el" href="dmxinput_8h.html#abdcaa3561e4107b3e133d221a881fdd4a602a53cb181b839ee55e077c20588608">DMX_USESIGIO</a>, <a class="el" href="dmxsigio_8c.html#ac926cb5aa8d124192f381a9e05d49cb8">dmxFdCount</a>, <a class="el" href="dmxsigio_8c.html#a0092cc73f6beb3d16b542a8527f1cbf6">dmxSigioUnhook()</a>, <a class="el" href="dmxsigio_8c.html#ac5d0c9848f853f8b026b1211b93f78b1">O_ASYNC</a>, <a class="el" href="dmxsigio_8c.html#a39d33ce33804efd4d52606d59071c6d8">O_NONBLOCK</a>, <a class="el" href="struct__DMXInputInfo.html#a94aafbe9fd94083dc4e1469bec29d9ea">_DMXInputInfo::sigioAdded</a>, <a class="el" href="struct__DMXInputInfo.html#a2d75d5540ff0a95d822bbb8dfbec197b">_DMXInputInfo::sigioFd</a>, <a class="el" href="struct__DMXInputInfo.html#a0ba936a9c99af68fa838e45eb7af1c68">_DMXInputInfo::sigioFdCount</a>, and <a class="el" href="struct__DMXInputInfo.html#ab7e0499d483754c4a1a9c567edb1c167">_DMXInputInfo::sigioState</a>.</p>
277
286
<p>Referenced by <a class="el" href="dmxsigio_8h.html#aea86e1800e644fac954c6bbf6012c7aa">dmxSigioDisableInput()</a>, and <a class="el" href="dmxsigio_8h.html#ac447ef5c9a3aa88a5cb049ea0beecfd2">dmxSigioUnregister()</a>.</p>