Distributed Multihead X
1.16.4
|
#include "inputstr.h"
#include "dmxinputinit.h"
#include "dmxsigio.h"
#include "dmxevents.h"
#include <signal.h>
#include <unistd.h>
#include <fcntl.h>
Macros | |
#define | O_ASYNC 0 |
#define | O_NONBLOCK FNONBLK |
Functions | |
static void | dmxSigioHandler (int sig) |
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().
#define O_NONBLOCK FNONBLK |
Referenced by dmxSigioAdd(), dmxSigioRemove(), kbdLinuxOpenVT(), msLinuxInit(), ps2LinuxInit(), and usbInit().
|
static |
References DMX_ACTIVESIGIO, DMX_NOSIGIO, DMX_USESIGIO, dmxFdCount, dmxSigioHook(), O_ASYNC, O_NONBLOCK, _DMXInputInfo::sigioAdded, _DMXInputInfo::sigioFd, _DMXInputInfo::sigioFdCount, and _DMXInputInfo::sigioState.
Referenced by dmxSigioEnableInput(), and dmxSigioRegister().
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 |
|
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 |
References DMX_ACTIVESIGIO, DMX_NOSIGIO, DMX_USESIGIO, dmxFdCount, dmxSigioUnhook(), O_ASYNC, O_NONBLOCK, _DMXInputInfo::sigioAdded, _DMXInputInfo::sigioFd, _DMXInputInfo::sigioFdCount, and _DMXInputInfo::sigioState.
Referenced by dmxSigioDisableInput(), and dmxSigioUnregister().
|
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().
|
static |
Referenced by dmxSigioAdd(), and dmxSigioRemove().
|
static |
Referenced by dmxSigioDisableInput(), dmxSigioEnableInput(), and dmxSigioRegister().