/* * * IRBOX, an Ivy driver for infra-red remote controls * * Copyright 1998-1999 * Centre d'Etudes de la Navigation Aerienne * * Device driver * * Authors: Francois-Regis Colin * Yann Malichecq * Stephane Chatty * * $Id$ * * Please refer to file version.h for the * copyright notice regarding this software */ #ifndef IR_H #define IR_H 1 typedef enum { EVENT_BTN_PRESS, EVENT_BTN_RELEASE } IrEvent; typedef struct ir_state IrState; typedef void (*IrEvtCallback) (IrState *ir, const unsigned char *code ); typedef void (*IrFailCallback) (IrState *ir); typedef void (*IrTimerCallback) (void * id, IrState *ir, int delta ); typedef void* (*IrTimerSetter) (IrTimerCallback cb, long value, void *data ); typedef void (*IrTimerCanceller) (void *timerid ); extern IrState* IrOpen (const char *name); extern void IrClose (IrState *ir); extern int IrInit (IrState *ir, IrEvtCallback cb, IrFailCallback f, IrTimerSetter st, IrTimerCanceller ct); extern void IrIntr (IrState *ir); extern int IrGetFd (IrState *ir); #endif