diff options
author | Felix Fietkau <nbd@openwrt.org> | 2012-10-30 02:39:48 +0400 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2012-10-30 02:39:48 +0400 |
commit | dc69ce4799deb53797266d55311871b9c0062066 (patch) | |
tree | aced1a439376e779db5fb7fa5b7a76f6babd2ed9 /ustream.h | |
parent | df0968d19b034fe174f6268fb13f19e1d32f9ca1 (diff) |
ustream: add a poll callback function defined by the ustream implementation
Diffstat (limited to 'ustream.h')
-rw-r--r-- | ustream.h | 16 |
1 files changed, 16 insertions, 0 deletions
@@ -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 |