| /* |
| * 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); |