master
h 31 lines 995 Bytes
Raw
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);