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:
authorFelix Fietkau <nbd@openwrt.org>2012-10-30 02:39:48 +0400
committerFelix Fietkau <nbd@openwrt.org>2012-10-30 02:39:48 +0400
commitdc69ce4799deb53797266d55311871b9c0062066 (patch)
treeaced1a439376e779db5fb7fa5b7a76f6babd2ed9 /ustream.h
parentdf0968d19b034fe174f6268fb13f19e1d32f9ca1 (diff)
ustream: add a poll callback function defined by the ustream implementation
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