diff options
author | Marc-André Lureau <marcandre.lureau@redhat.com> | 2011-02-27 09:46:14 +0100 |
---|---|---|
committer | Alon Levy <alevy@redhat.com> | 2011-07-21 15:09:25 +0300 |
commit | eeb95c5b84e81a2ba6745fbeb1689d0ef5dc49d0 (patch) | |
tree | 2c4fd90aa21382e93bb400ca7bb2bcd6117ecb77 /server/reds.h | |
parent | 881971fbcab7c1eaf47a9edcf517aeaa09945dae (diff) | |
download | spice-eeb95c5b84e81a2ba6745fbeb1689d0ef5dc49d0.tar.gz spice-eeb95c5b84e81a2ba6745fbeb1689d0ef5dc49d0.tar.xz spice-eeb95c5b84e81a2ba6745fbeb1689d0ef5dc49d0.zip |
server: add reds_stream_{read,write,free,remove_watch}()
https://bugs.freedesktop.org/show_bug.cgi?id=34795
Diffstat (limited to 'server/reds.h')
-rw-r--r-- | server/reds.h | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/server/reds.h b/server/reds.h index 2c977296..3ed097cc 100644 --- a/server/reds.h +++ b/server/reds.h @@ -24,7 +24,9 @@ #define __visible__ __attribute__ ((visibility ("default"))) -typedef struct RedsStream { +typedef struct RedsStream RedsStream; + +struct RedsStream { void *ctx; int socket; @@ -42,7 +44,12 @@ typedef struct RedsStream { int (*cb_writev)(void *, const struct iovec *vector, int count); int (*cb_free)(struct RedsStream *); -} RedsStream; + + /* private */ + ssize_t (*read)(RedsStream *s, void *buf, size_t nbyte); + ssize_t (*write)(RedsStream *s, const void *buf, size_t nbyte); + ssize_t (*writev)(RedsStream *s, const struct iovec *iov, int iovcnt); +}; typedef struct Channel { struct Channel *next; @@ -81,6 +88,11 @@ struct SpiceNetWireState { struct TunnelWorker *worker; }; +ssize_t reds_stream_read(RedsStream *s, void *buf, size_t nbyte); +ssize_t reds_stream_write(RedsStream *s, const void *buf, size_t nbyte); +ssize_t reds_stream_writev(RedsStream *s, const struct iovec *iov, int iovcnt); +void reds_stream_free(RedsStream *s); + void reds_desable_mm_timer(); void reds_enable_mm_timer(); void reds_update_mm_timer(uint32_t mm_time); |