Distributed Multihead X  1.16.4
dmxsigio.c File Reference
#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
 

Detailed Description

Provides an interface for handling SIGIO signals for input devices.

Macro Definition Documentation

#define O_ASYNC   0

Referenced by dmxSigioAdd(), and dmxSigioRemove().

#define O_NONBLOCK   FNONBLK

Function Documentation

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 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 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().

Variable Documentation

int dmxFdCount = 0
static

Referenced by dmxSigioAdd(), and dmxSigioRemove().

Bool dmxInputEnabled = TRUE
static

Generated on Tue Aug 18 2015 01:27:31 for Distributed Multihead X by doxygen 1.8.8