summary refs log tree commit diff
path: root/fdwatcher.h
blob: 20650f0e7ff1d922160dcb66c75d8d63653eae7e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
struct FDWatchHandle {
	size_t maxWatchedFds;
	size_t watchedFdCount;
	struct pollfd *watchedFds;
	void **arbitraryData;
};

enum FDWatch_EventType {
	FDWATCH_EVENT_ERR = 0,
	FDWATCH_EVENT_INP = 1,
	FDWATCH_EVENT_OUT = 2,
	FDWATCH_EVENT_HUP = 3
};

int fdwatcher_watch(struct FDWatchHandle *, int (*)(struct FDWatchHandle *, enum FDWatch_EventType, int, void *));
int fdwatcher_initialise(struct FDWatchHandle *, int);
int fdwatcher_remove(struct FDWatchHandle *, int);
int fdwatcher_add(struct FDWatchHandle *, int, void *);