src/server/util/io.h

changeset 415
d938228c382e
parent 407
78af44222463
child 430
83560f32e7d5
equal deleted inserted replaced
414:99a34860c105 415:d938228c382e
54 #define IO_POLL_NONE 0 54 #define IO_POLL_NONE 0
55 #define IO_POLL_IN 1 55 #define IO_POLL_IN 1
56 #define IO_POLL_OUT 2 56 #define IO_POLL_OUT 2
57 57
58 typedef struct IOStream IOStream; 58 typedef struct IOStream IOStream;
59 typedef struct SysStream SysStream; 59 typedef struct Sycx_stream Sycx_stream;
60 typedef struct HttpStream HttpStream; 60 typedef struct HttpStream HttpStream;
61 61
62 typedef ssize_t(*io_write_f)(IOStream *, void *, size_t); 62 typedef ssize_t(*io_write_f)(IOStream *, void *, size_t);
63 typedef ssize_t(*io_writev_f)(IOStream *, struct iovec *, int); 63 typedef ssize_t(*io_writev_f)(IOStream *, struct iovec *, int);
64 typedef ssize_t(*io_read_f)(IOStream *, void *, size_t); 64 typedef ssize_t(*io_read_f)(IOStream *, void *, size_t);
78 io_setmode_f setmode; 78 io_setmode_f setmode;
79 io_poll_f poll; 79 io_poll_f poll;
80 int io_errno; 80 int io_errno;
81 }; 81 };
82 82
83 struct SysStream { 83 struct Sycx_stream {
84 IOStream st; 84 IOStream st;
85 #ifdef XP_UNIX 85 #ifdef XP_UNIX
86 int fd; 86 int fd;
87 #elif defined(XP_WIN32) 87 #elif defined(XP_WIN32)
88 SOCKET fd; 88 SOCKET fd;
152 } SSLStream; 152 } SSLStream;
153 153
154 154
155 155
156 /* system stream */ 156 /* system stream */
157 IOStream* sysstream_new(pool_handle_t *pool, SYS_SOCKET fd); 157 IOStream* sycx_stream_new(pool_handle_t *pool, SYS_SOCKET fd);
158 158
159 ssize_t net_sys_write(SysStream *st, void *buf, size_t nbytes); 159 ssize_t net_sys_write(Sycx_stream *st, void *buf, size_t nbytes);
160 ssize_t net_sys_writev(SysStream *st, struct iovec *iovec, int iovcnt); 160 ssize_t net_sys_writev(Sycx_stream *st, struct iovec *iovec, int iovcnt);
161 ssize_t net_sys_read(SysStream *st, void *buf, size_t nbytes); 161 ssize_t net_sys_read(Sycx_stream *st, void *buf, size_t nbytes);
162 ssize_t net_sys_sendfile(SysStream *st, sendfiledata *sfd); 162 ssize_t net_sys_sendfile(Sycx_stream *st, sendfiledata *sfd);
163 void net_sys_close(SysStream *st); 163 void net_sys_close(Sycx_stream *st);
164 void net_sys_setmode(SysStream *st, int mode); 164 void net_sys_setmode(Sycx_stream *st, int mode);
165 int net_sys_poll(SysStream *st, EventHandler *ev, int events, Event *cb); 165 int net_sys_poll(Sycx_stream *st, EventHandler *ev, int events, Event *cb);
166 166
167 /* http stream */ 167 /* http stream */
168 IOStream* httpstream_new(pool_handle_t *pool, IOStream *fd); 168 IOStream* httpstream_new(pool_handle_t *pool, IOStream *fd);
169 169
170 int httpstream_enable_chunked_read(IOStream *st, char *buffer, size_t bufsize, int *cursize, int *pos); 170 int httpstream_enable_chunked_read(IOStream *st, char *buffer, size_t bufsize, int *cursize, int *pos);

mercurial