#include <sys/time.h>
#define DIO_HIGHZ	2
int dio_open(const char *host);
int dio_fdopen(int fd);
int dio_close(int handle);
int dio_setpin(int handle, int pin, int val);
int dio_getpin(int handle, int pin);
int dio_getpinstate(int handle, int pin);
int dio_waitpin(int handle, int pin, int val);
int dio_timestamp(int handle, struct timeval *tv);
int dio_lookupCached(int handle, const char *name);
int dio_lookup(int handle, const char *name);
int dio_set(int handle, const char *pin, int val);
int dio_get(int handle, const char *pin);
int dio_wait(int handle, const char *pin, int val);
int dio_groupinit(int handle);
int dio_groupaddpin(int handle, int group,int pin);
int dio_groupadd(int handle, int group, const char *pin);
int dio_grouplock(int handle, int group);
int dio_grouptrylock(int handle, int group);
int dio_groupunlock(int handle, int group);
int dio_groupisync(int handle, int groupid);
int dio_grouposync(int handle, int groupid);
int dio_groupsync(int handle, int groupid);
int dio_namepin(int handle, int pin, const char *name);
int dio_getattrib(int handle, int pin, const char *attrib);
int dio_setattrib(int handle, int pin, const char *attrib, int val);
int dio_names(int handle, char **name, int *val);
int dio_groupwait(int handle, int group, int mask, int val);
int dio_groupwaitirq(int handle, int group, int polarity, int mask);
int dio_groupfree(int handle, int group);
int dio_getcurrenttime(int handle,struct timeval *tv);

int dio_configfile(int handle,char *filename);
