1 /* 2 * net stream generic functions 3 * 4 * Copyright Red Hat 5 * 6 * SPDX-License-Identifier: GPL-2.0-or-later 7 */ 8 9 typedef struct NetStreamData { 10 NetClientState nc; 11 QIOChannel *ioc; 12 guint ioc_read_tag; 13 guint ioc_write_tag; 14 SocketReadState rs; 15 unsigned int send_index; /* number of bytes sent*/ 16 QIOChannelFunc send; 17 /* server data */ 18 QIOChannel *listen_ioc; 19 QIONetListener *listener; 20 QIONetListenerClientFunc listen; 21 } NetStreamData; 22 23 ssize_t net_stream_data_receive(NetStreamData *d, const uint8_t *buf, 24 size_t size); 25 void net_stream_data_rs_finalize(SocketReadState *rs); 26 gboolean net_stream_data_send(QIOChannel *ioc, GIOCondition condition, 27 NetStreamData *d); 28 int net_stream_data_client_connected(QIOTask *task, NetStreamData *d); 29 void net_stream_data_listen(QIONetListener *listener, 30 QIOChannelSocket *cioc, 31 NetStreamData *d); 32