#ifndef IOLOOP_NOTIFY_FD_H #define IOLOOP_NOTIFY_FD_H /* common notify code for fd-based notifications (dnotify, inotify) */ struct io_notify { struct io io; /* use a doubly linked list so that io_remove() is quick */ struct io_notify *prev, *next; int fd; }; struct ioloop_notify_fd_context { struct io_notify *notifies; }; struct io * io_notify_fd_add(struct ioloop_notify_fd_context *ctx, int fd, io_callback_t *callback, void *context) ATTR_NULL(4); void io_notify_fd_free(struct ioloop_notify_fd_context *ctx, struct io_notify *io); struct io_notify * io_notify_fd_find(struct ioloop_notify_fd_context *ctx, int fd); #endif