src/server/util/io.h

changeset 430
83560f32e7d5
parent 415
d938228c382e
child 498
0d80f8a2b29f
equal deleted inserted replaced
429:25c8e8021156 430:83560f32e7d5
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 Sycx_stream Sycx_stream; 59 typedef struct Sysstream Sysstream;
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 Sycx_stream { 83 struct Sysstream {
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* sycx_stream_new(pool_handle_t *pool, SYS_SOCKET fd); 157 IOStream* Sysstream_new(pool_handle_t *pool, SYS_SOCKET fd);
158 158
159 ssize_t net_sys_write(Sycx_stream *st, void *buf, size_t nbytes); 159 ssize_t net_sys_write(Sysstream *st, void *buf, size_t nbytes);
160 ssize_t net_sys_writev(Sycx_stream *st, struct iovec *iovec, int iovcnt); 160 ssize_t net_sys_writev(Sysstream *st, struct iovec *iovec, int iovcnt);
161 ssize_t net_sys_read(Sycx_stream *st, void *buf, size_t nbytes); 161 ssize_t net_sys_read(Sysstream *st, void *buf, size_t nbytes);
162 ssize_t net_sys_sendfile(Sycx_stream *st, sendfiledata *sfd); 162 ssize_t net_sys_sendfile(Sysstream *st, sendfiledata *sfd);
163 void net_sys_close(Sycx_stream *st); 163 void net_sys_close(Sysstream *st);
164 void net_sys_setmode(Sycx_stream *st, int mode); 164 void net_sys_setmode(Sysstream *st, int mode);
165 int net_sys_poll(Sycx_stream *st, EventHandler *ev, int events, Event *cb); 165 int net_sys_poll(Sysstream *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