… | |
… | |
60 | HANDLE event_server_wrote, |
60 | HANDLE event_server_wrote, |
61 | HANDLE event_server_read, |
61 | HANDLE event_server_read, |
62 | HANDLE event_client_wrote, |
62 | HANDLE event_client_wrote, |
63 | HANDLE event_client_read, |
63 | HANDLE event_client_read, |
64 | HANDLE event_conn_closed); |
64 | HANDLE event_conn_closed); |
65 | xlen vio_read_pipe(Vio *vio, xgptr buf, xlen size); |
65 | xsize_t vio_read_pipe(Vio *vio, xgptr buf, xsize_t size); |
66 | xlen vio_write_pipe(Vio *vio, xcgptr buf, xlen size); |
66 | xsize_t vio_write_pipe(Vio *vio, xcgptr buf, xsize_t size); |
67 | xlen vio_close_pipe(Vio * vio); |
67 | xsize_t vio_close_pipe(Vio * vio); |
68 | #else |
68 | #else |
69 | #define HANDLE void * |
69 | #define HANDLE void * |
70 | #endif /* __WIN__ */ |
70 | #endif /* __WIN__ */ |
71 | |
71 | |
72 | void vio_delete(Vio* vio); |
72 | void vio_delete(Vio* vio); |
73 | int vio_close(Vio* vio); |
73 | int vio_close(Vio* vio); |
74 | void vio_reset(Vio* vio, enum enum_vio_type type, |
74 | void vio_reset(Vio* vio, enum enum_vio_type type, |
75 | my_socket sd, HANDLE hPipe, uint flags); |
75 | my_socket sd, HANDLE hPipe, uint flags); |
76 | xlen vio_read(Vio *vio, xgptr buf, xlen size); |
76 | xsize_t vio_read(Vio *vio, xgptr buf, xsize_t size); |
77 | xlen vio_read_buff(Vio *vio, xgptr buf, xlen size); |
77 | xsize_t vio_read_buff(Vio *vio, xgptr buf, xsize_t size); |
78 | xlen vio_write(Vio *vio, cxgptr buf, xlen size); |
78 | xsize_t vio_write(Vio *vio, cxgptr buf, xsize_t size); |
79 | int vio_blocking(Vio *vio, my_bool onoff, my_bool *old_mode); |
79 | int vio_blocking(Vio *vio, my_bool onoff, my_bool *old_mode); |
80 | my_bool vio_is_blocking(Vio *vio); |
80 | my_bool vio_is_blocking(Vio *vio); |
81 | /* setsockopt TCP_NODELAY at IPPROTO_TCP level, when possible */ |
81 | /* setsockopt TCP_NODELAY at IPPROTO_TCP level, when possible */ |
82 | int vio_fastsend(Vio *vio); |
82 | int vio_fastsend(Vio *vio); |
83 | /* setsockopt SO_KEEPALIVE at SOL_SOCKET level, when possible */ |
83 | /* setsockopt SO_KEEPALIVE at SOL_SOCKET level, when possible */ |
… | |
… | |
196 | read buffer */ |
196 | read buffer */ |
197 | char *read_end; /* end of unfetched data */ |
197 | char *read_end; /* end of unfetched data */ |
198 | /* function pointers. They are similar for socket/SSL/whatever */ |
198 | /* function pointers. They are similar for socket/SSL/whatever */ |
199 | void (*viodelete)(Vio*); |
199 | void (*viodelete)(Vio*); |
200 | int (*vioerrno)(Vio*); |
200 | int (*vioerrno)(Vio*); |
201 | xlen (*read)(Vio*, xgptr, xlen); |
201 | xssize_t (*read)(Vio*, xgptr, xsize_t); |
202 | xlen (*write)(Vio*, cxgptr, xlen); |
202 | xssize_t (*write)(Vio*, cxgptr, xsize_t); |
203 | int (*vioblocking)(Vio*, my_bool, my_bool *); |
203 | int (*vioblocking)(Vio*, my_bool, my_bool *); |
204 | my_bool (*is_blocking)(Vio*); |
204 | my_bool (*is_blocking)(Vio*); |
205 | int (*viokeepalive)(Vio*, my_bool); |
205 | int (*viokeepalive)(Vio*, my_bool); |
206 | int (*fastsend)(Vio*); |
206 | int (*fastsend)(Vio*); |
207 | my_bool (*peer_addr)(Vio*, char *, uint16*); |
207 | my_bool (*peer_addr)(Vio*, char *, uint16*); |