2019-06-04 10:11:33 +02:00
/* SPDX-License-Identifier: GPL-2.0-only */
2015-10-21 15:45:54 +02:00
/*
* GPIO tools - utility helpers library for the GPIO tools
*
* Copyright ( C ) 2015 Linus Walleij
*
* Portions copied from iio_utils and lssio :
* Copyright ( c ) 2010 Manuel Stahl < manuel . stahl @ iis . fraunhofer . de >
* Copyright ( c ) 2008 Jonathan Cameron
* *
*/
# ifndef _GPIO_UTILS_H_
# define _GPIO_UTILS_H_
# include <string.h>
2016-02-12 22:25:22 +01:00
# define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
2015-10-21 15:45:54 +02:00
static inline int check_prefix ( const char * str , const char * prefix )
{
return strlen ( str ) > strlen ( prefix ) & &
strncmp ( str , prefix , strlen ( prefix ) ) = = 0 ;
}
2016-10-14 10:48:25 +08:00
int gpiotools_request_linehandle ( const char * device_name , unsigned int * lines ,
2020-09-28 08:28:03 +08:00
unsigned int num_lines , unsigned int flag ,
2016-10-14 10:48:25 +08:00
struct gpiohandle_data * data ,
const char * consumer_label ) ;
int gpiotools_set_values ( const int fd , struct gpiohandle_data * data ) ;
int gpiotools_get_values ( const int fd , struct gpiohandle_data * data ) ;
int gpiotools_release_linehandle ( const int fd ) ;
int gpiotools_get ( const char * device_name , unsigned int line ) ;
int gpiotools_gets ( const char * device_name , unsigned int * lines ,
2020-09-28 08:28:03 +08:00
unsigned int num_lines , struct gpiohandle_data * data ) ;
2016-10-14 10:48:25 +08:00
int gpiotools_set ( const char * device_name , unsigned int line ,
unsigned int value ) ;
int gpiotools_sets ( const char * device_name , unsigned int * lines ,
2020-09-28 08:28:03 +08:00
unsigned int num_lines , struct gpiohandle_data * data ) ;
2016-10-14 10:48:25 +08:00
2015-10-21 15:45:54 +02:00
# endif /* _GPIO_UTILS_H_ */