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