summaryrefslogtreecommitdiff
path: root/vio/VioPipe.h
diff options
context:
space:
mode:
Diffstat (limited to 'vio/VioPipe.h')
-rw-r--r--vio/VioPipe.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/vio/VioPipe.h b/vio/VioPipe.h
new file mode 100644
index 00000000000..a6bb587c548
--- /dev/null
+++ b/vio/VioPipe.h
@@ -0,0 +1,38 @@
+/*
+ * Concrete Vio around Handle.
+ */
+
+#ifdef __WIN__
+
+#ifdef __GNUC__
+#pragma interface /* gcc class implementation */
+#endif
+
+VIO_NS_BEGIN
+
+class VioPipe : public Vio
+{
+public:
+ VioPipe(int fd);
+ virtual ~VioPipe();
+ virtual bool is_open() const;
+ virtual int read(vio_ptr buf, int size);
+ virtual int write(const vio_ptr buf, int size);
+ virtual int blocking(bool onoff);
+ virtual bool blocking() const;
+ virtual bool fcntl() const;
+ virtual int fastsend(bool onoff = true);
+ virtual int keepalive(bool onoff);
+ virtual bool should_retry() const;
+ virtual int close();
+ virtual void release();
+ virtual const char* description() const;
+ virtual bool peer_addr(char *buf) const;
+ virtual const char* cipher_description() const { return "";}
+ virtual int vio_errno();
+private:
+};
+
+VIO_NS_END
+
+#endif /* WIN32 */