Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.openwrt.org/project/libubox.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'ustream.h')
-rw-r--r--ustream.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/ustream.h b/ustream.h
index 29f370f..d9f98b7 100644
--- a/ustream.h
+++ b/ustream.h
@@ -101,6 +101,14 @@ struct ustream {
void (*set_read_blocked)(struct ustream *s);
/*
+ * poll: (optional)
+ * defined by the upstream implementation, called to request polling for
+ * available data.
+ * returns true if data was fetched.
+ */
+ bool (*poll)(struct ustream *s);
+
+ /*
* ustream user should set this if the input stream is expected
* to contain string data. the core will keep all data 0-terminated.
*/
@@ -182,4 +190,12 @@ static inline void ustream_state_change(struct ustream *s)
uloop_timeout_set(&s->state_change, 0);
}
+static inline bool ustream_poll(struct ustream *s)
+{
+ if (!s->poll)
+ return false;
+
+ return s->poll(s);
+}
+
#endif