40 |
40 |
41 #ifdef __cplusplus |
41 #ifdef __cplusplus |
42 extern "C" { |
42 extern "C" { |
43 #endif |
43 #endif |
44 |
44 |
|
45 #ifdef XP_UNIX |
|
46 #define SYS_SOCKET int |
|
47 #elif defined(XP_WIN32) |
|
48 #define SYS_SOCKET SOCKET |
|
49 #endif |
|
50 |
45 typedef struct IOStream IOStream; |
51 typedef struct IOStream IOStream; |
46 typedef struct SysStream SysStream; |
52 typedef struct SysStream SysStream; |
47 typedef struct HttpStream HttpStream; |
53 typedef struct HttpStream HttpStream; |
48 |
54 |
49 typedef ssize_t(*io_write_f)(IOStream *, void *, size_t); |
55 typedef ssize_t(*io_write_f)(IOStream *, void *, size_t); |
87 } SSLStream; |
93 } SSLStream; |
88 |
94 |
89 |
95 |
90 |
96 |
91 /* system stream */ |
97 /* system stream */ |
92 IOStream* sysstream_new(pool_handle_t *pool, int fd); |
98 IOStream* sysstream_new(pool_handle_t *pool, SYS_SOCKET fd); |
93 |
99 |
94 ssize_t net_sys_write(SysStream *st, void *buf, size_t nbytes); |
100 ssize_t net_sys_write(SysStream *st, void *buf, size_t nbytes); |
95 ssize_t net_sys_writev(SysStream *st, struct iovec *iovec, int iovcnt); |
101 ssize_t net_sys_writev(SysStream *st, struct iovec *iovec, int iovcnt); |
96 ssize_t net_sys_read(SysStream *st, void *buf, size_t nbytes); |
102 ssize_t net_sys_read(SysStream *st, void *buf, size_t nbytes); |
97 ssize_t net_sys_sendfile(SysStream *st, sendfiledata *sfd); |
103 ssize_t net_sys_sendfile(SysStream *st, sendfiledata *sfd); |