summary refs log tree commit diff
path: root/fdwatcher.h
blob: ce90198267dc8a75862d7532dd304f7824c52b54 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
struct FDWatchHandle {
	int maxWatchedFds;
	int 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 *);