X-Git-Url: http://git.ozlabs.org/?p=petitboot;a=blobdiff_plain;f=lib%2Fwaiter%2Fwaiter.h;h=58ea04c628ac6cd346493a4a8cfb0f24860eec7c;hp=ff8a5ff22e9193175a71ea70c5070b04c00b888d;hb=ba40c0ea7bedec01513537fd2dc3e0b75f439929;hpb=812761a1f8ff94e4913529840b905360ff843fc4 diff --git a/lib/waiter/waiter.h b/lib/waiter/waiter.h index ff8a5ff..58ea04c 100644 --- a/lib/waiter/waiter.h +++ b/lib/waiter/waiter.h @@ -4,6 +4,7 @@ #include struct waiter; +struct waitset; enum events { WAIT_IN = POLLIN, @@ -12,12 +13,18 @@ enum events { typedef int (*waiter_cb)(void *); -struct waiter *waiter_register(int fd, int events, +struct waitset *waitset_create(void *ctx); +void waitset_destroy(struct waitset *waitset); + +struct waiter *waiter_register_io(struct waitset *waitset, int fd, int events, + waiter_cb callback, void *arg); + +struct waiter *waiter_register_timeout(struct waitset *set, int delay_ms, waiter_cb callback, void *arg); void waiter_remove(struct waiter *waiter); -int waiter_poll(void); +int waiter_poll(struct waitset *waitset); #endif /* _WAITER_H */