projects
/
project
/
libubox.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
sh/jshn.sh: add json_for_each_item()
[project/libubox.git]
/
uloop.h
diff --git
a/uloop.h
b/uloop.h
index
39b9b58
..
36084f5
100644
(file)
--- a/
uloop.h
+++ b/
uloop.h
@@
-44,10
+44,17
@@
typedef void (*uloop_process_handler)(struct uloop_process *c, int ret);
#define ULOOP_WRITE (1 << 1)
#define ULOOP_EDGE_TRIGGER (1 << 2)
#define ULOOP_BLOCKING (1 << 3)
#define ULOOP_WRITE (1 << 1)
#define ULOOP_EDGE_TRIGGER (1 << 2)
#define ULOOP_BLOCKING (1 << 3)
+
+#define ULOOP_EVENT_MASK (ULOOP_READ | ULOOP_WRITE)
+
+/* internal flags */
+#define ULOOP_EVENT_BUFFERED (1 << 4)
#ifdef USE_KQUEUE
#ifdef USE_KQUEUE
-#define ULOOP_EDGE_DEFER (1 <<
4
)
+#define ULOOP_EDGE_DEFER (1 <<
5
)
#endif
#endif
+#define ULOOP_ERROR_CB (1 << 6)
+
struct uloop_fd
{
uloop_fd_handler cb;
struct uloop_fd
{
uloop_fd_handler cb;
@@
-90,13
+97,19
@@
int uloop_timeout_remaining(struct uloop_timeout *timeout);
int uloop_process_add(struct uloop_process *p);
int uloop_process_delete(struct uloop_process *p);
int uloop_process_add(struct uloop_process *p);
int uloop_process_delete(struct uloop_process *p);
+bool uloop_cancelling(void);
+
static inline void uloop_end(void)
{
uloop_cancelled = true;
}
int uloop_init(void);
static inline void uloop_end(void)
{
uloop_cancelled = true;
}
int uloop_init(void);
-void uloop_run(void);
+int uloop_run_timeout(int timeout);
+static inline int uloop_run(void)
+{
+ return uloop_run_timeout(-1);
+}
void uloop_done(void);
#endif
void uloop_done(void);
#endif