8 #ifndef _SYSIO_DINPUT_H_ 9 #define _SYSIO_DINPUT_H_ 10 #include <sysio/gpio.h> 59 eEdgeBoth = eEdgeFalling + eEdgeRising,
77 typedef struct xDinPort xDinPort;
91 typedef int (*iDinCallback) (eDinEdge edge,
void *udata);
105 typedef int (*iDinGrpCallback) (
unsigned uInputMask,
unsigned uInputNumber, eDinEdge edge,
void *udata);
117 xDinPort * xDinOpen (
const xDin * pins,
unsigned size);
125 int iDinClose (xDinPort * port);
133 int iDinPortSize (xDinPort * port);
145 int iDinRead (
unsigned input, xDinPort * port);
158 int iDinReadAll (xDinPort * port);
173 int iDinSetEdge (
unsigned input, eDinEdge edge, xDinPort * port);
182 eDinEdge eDinGetEdge (
unsigned input, xDinPort *port);
198 int iDinEdgeOccured (
unsigned input, xDinPort * port);
211 int iDinSetCallback (
unsigned input, eDinEdge edge, iDinCallback callback,
void *udata, xDinPort * port);
222 int iDinSetGrpCallback (eDinEdge edge, iDinGrpCallback callback,
void *udata, xDinPort * port);
231 int iDinClearCallback (
unsigned input, xDinPort * port);
239 int iDinClearGrpCallback (xDinPort * port);
248 int iDinCallbackInstalled (
unsigned input, xDinPort *port);
257 void * pDinCallbackData (
unsigned input, xDinPort *port);
265 #endif // __DOXYGEN__