#include "inputstr.h"#include "dmxinputinit.h"#include "dmxsigio.h"#include "dmxevents.h"#include <signal.h>#include <unistd.h>#include <fcntl.h>Defines | |
| #define | O_ASYNC 0 |
Functions | |
| static FNONBLK void | dmxSigioHandler (int sig) |
| void | dmxSigioBlock (void) |
| void | dmxSigioUnblock (void) |
| static void | dmxSigioHook (void) |
| static void | dmxSigioUnhook (void) |
| static void | dmxSigioAdd (DMXInputInfo *dmxInput) |
| static void | dmxSigioRemove (DMXInputInfo *dmxInput) |
| void | dmxSigioEnableInput (void) |
| void | dmxSigioDisableInput (void) |
| void | dmxSigioRegister (DMXInputInfo *dmxInput, int fd) |
| void | dmxSigioUnregister (DMXInputInfo *dmxInput) |
Variables | |
| static int | dmxFdCount = 0 |
| static Bool | dmxInputEnabled = TRUE |
Provides an interface for handling SIGIO signals for input devices.
| #define O_ASYNC 0 |
Referenced by dmxSigioAdd(), and dmxSigioRemove().
| static void dmxSigioAdd | ( | DMXInputInfo * | dmxInput | ) | [static] |
References DMX_ACTIVESIGIO, DMX_NOSIGIO, DMX_USESIGIO, dmxFdCount, dmxSigioHook(), O_ASYNC, _DMXInputInfo::sigioAdded, _DMXInputInfo::sigioFd, _DMXInputInfo::sigioFdCount, and _DMXInputInfo::sigioState.
Referenced by dmxSigioEnableInput(), and dmxSigioRegister().
| void dmxSigioBlock | ( | void | ) |
Block SIGIO handling.
Referenced by dmxCoreMotion(), dmxExtMotion(), and dmxTranslateAndEnqueueExtEvent().
| void dmxSigioDisableInput | ( | void | ) |
Disable SIGIO handling. This removes the hanlder from the OS.
References dmxInputEnabled, dmxInputs, dmxNumInputs, and dmxSigioRemove().
Referenced by dmxWakeupHandler().
| void dmxSigioEnableInput | ( | void | ) |
Enable SIGIO handling. This instantiates the handler with the OS.
References dmxInputEnabled, dmxInputs, dmxNumInputs, and dmxSigioAdd().
Referenced by dmxSwitchReturn().
| static FNONBLK void dmxSigioHandler | ( | int | sig | ) | [static] |
| static void dmxSigioHook | ( | void | ) | [static] |
References dmxSigioHandler().
Referenced by dmxSigioAdd().
| void dmxSigioRegister | ( | DMXInputInfo * | dmxInput, | |
| int | fd | |||
| ) |
Make a note that the input device described in dmxInput will be using the file descriptor fd for SIGIO signals. Calls AddEnabledDevice ifi SIGIO handling has been enabled with dmxSigioEnableInput().
References DMX_MAX_SIGIO_FDS, DMX_USESIGIO, dmxFatal, dmxInputEnabled, dmxLog(), dmxSigioAdd(), _DMXInputInfo::sigioFd, _DMXInputInfo::sigioFdCount, and _DMXInputInfo::sigioState.
Referenced by dmxDeviceOnOff().
| static void dmxSigioRemove | ( | DMXInputInfo * | dmxInput | ) | [static] |
References DMX_ACTIVESIGIO, DMX_NOSIGIO, DMX_USESIGIO, dmxFdCount, dmxSigioUnhook(), O_ASYNC, _DMXInputInfo::sigioAdded, _DMXInputInfo::sigioFd, _DMXInputInfo::sigioFdCount, and _DMXInputInfo::sigioState.
Referenced by dmxSigioDisableInput(), and dmxSigioUnregister().
| void dmxSigioUnblock | ( | void | ) |
Unblock SIGIO handling.
Referenced by dmxCoreMotion(), dmxExtMotion(), and dmxTranslateAndEnqueueExtEvent().
| static void dmxSigioUnhook | ( | void | ) | [static] |
Referenced by dmxSigioRemove().
| void dmxSigioUnregister | ( | DMXInputInfo * | dmxInput | ) |
Remove the notes that dmxInput is using any file descriptors for SIGIO signals. Calls RemoveEnabledDevice.
References DMX_NOSIGIO, dmxSigioRemove(), _DMXInputInfo::sigioFdCount, and _DMXInputInfo::sigioState.
Referenced by dmxDeviceOnOff().
int dmxFdCount = 0 [static] |
Referenced by dmxSigioAdd(), and dmxSigioRemove().
Bool dmxInputEnabled = TRUE [static] |
Referenced by dmxSigioDisableInput(), dmxSigioEnableInput(), and dmxSigioRegister().