| /* | |
| * net stream generic functions | |
| * | |
| * Copyright Red Hat | |
| * | |
| * SPDX-License-Identifier: GPL-2.0-or-later | |
| */ | |
| typedef struct NetStreamData { | |
| NetClientState nc; | |
| QIOChannel *ioc; | |
| guint ioc_read_tag; | |
| guint ioc_write_tag; | |
| SocketReadState rs; | |
| unsigned int send_index; /* number of bytes sent*/ | |
| QIOChannelFunc send; | |
| /* server data */ | |
| QIOChannel *listen_ioc; | |
| QIONetListener *listener; | |
| QIONetListenerClientFunc listen; | |
| } NetStreamData; | |
| ssize_t net_stream_data_receive(NetStreamData *d, const uint8_t *buf, | |
| size_t size); | |
| void net_stream_data_rs_finalize(SocketReadState *rs); | |
| gboolean net_stream_data_send(QIOChannel *ioc, GIOCondition condition, | |
| NetStreamData *d); | |
| int net_stream_data_client_connected(QIOTask *task, NetStreamData *d); | |
| void net_stream_data_listen(QIONetListener *listener, | |
| QIOChannelSocket *cioc, | |
| NetStreamData *d); |