8 #ifndef _SYSIO_GPIO_C_H_ 9 #define _SYSIO_GPIO_C_H_ 10 #include <sysio/defs.h> 37 #define GPIO_PIN_UNUSED (-1) 81 eNumberingLogical = 0,
83 eNumberingPhysical = 2,
94 typedef struct xGpio xGpio;
105 xGpio * xGpioOpen (
void * args);
115 int iGpioClose (xGpio * gpio);
123 bool bGpioIsOpen (
const xGpio * gpio);
131 int iGpioSetNumbering (eGpioNumbering eNum, xGpio * gpio);
139 eGpioNumbering eGpioGetNumbering (
const xGpio * gpio);
146 const char * sGpioNumberingToStr (eGpioNumbering eNum);
159 int iGpioSetMode (
int iPin, eGpioMode eMode, xGpio * gpio);
171 eGpioMode eGpioGetMode (
int iPin, xGpio * gpio);
181 int iGpioSetPull (
int iPin, eGpioPull ePull, xGpio * gpio);
190 eGpioPull eGpioGetPull (
int iPin, xGpio * gpio);
199 bool bGpioIsValid (
int iPin, xGpio * gpio);
207 int iGpioGetSize (
const xGpio * gpio);
217 int iGpioWrite (
int iPin,
bool bValue, xGpio * gpio);
226 int iGpioToggle (
int iPin, xGpio * gpio);
241 int iGpioWriteAll (int64_t iMask,
bool bValue, xGpio * gpio);
255 int iGpioToggleAll (int64_t iMask, xGpio * gpio);
267 int iGpioRead (
int iPin, xGpio * gpio);
283 int64_t iGpioReadAll (int64_t iMask, xGpio * gpio);
295 int iGpioSetReleaseOnClose (
bool enable, xGpio * gpio);
306 bool bGpioGetReleaseOnClose (
const xGpio * gpio);
320 int iGpioRelease (
int iPin, xGpio * gpio);
328 bool bGpioHasNext (
const xGpio * gpio);
335 bool bGpioHasPrevious (
const xGpio * gpio);
342 int iGpioNext (xGpio * gpio);
349 int iGpioPrevious (xGpio * gpio);
356 int iGpioToBack (xGpio * gpio);
363 int iGpioToFront (xGpio * gpio);
370 const char * sGpioModeToStr (eGpioMode eMode);
378 #endif // __DOXYGEN__