/src/FreeRDP/libfreerdp/core/tcp.h
Line  | Count  | Source (jump to first uncovered line)  | 
1  |  | /**  | 
2  |  |  * FreeRDP: A Remote Desktop Protocol Implementation  | 
3  |  |  * Transmission Control Protocol (TCP)  | 
4  |  |  *  | 
5  |  |  * Copyright 2011 Vic Lee  | 
6  |  |  * Copyright 2011 Marc-Andre Moreau <marcandre.moreau@gmail.com>  | 
7  |  |  *  | 
8  |  |  * Licensed under the Apache License, Version 2.0 (the "License");  | 
9  |  |  * you may not use this file except in compliance with the License.  | 
10  |  |  * You may obtain a copy of the License at  | 
11  |  |  *  | 
12  |  |  *     http://www.apache.org/licenses/LICENSE-2.0  | 
13  |  |  *  | 
14  |  |  * Unless required by applicable law or agreed to in writing, software  | 
15  |  |  * distributed under the License is distributed on an "AS IS" BASIS,  | 
16  |  |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  | 
17  |  |  * See the License for the specific language governing permissions and  | 
18  |  |  * limitations under the License.  | 
19  |  |  */  | 
20  |  |  | 
21  |  | #ifndef FREERDP_LIB_CORE_TCP_H  | 
22  |  | #define FREERDP_LIB_CORE_TCP_H  | 
23  |  |  | 
24  |  | #include <winpr/windows.h>  | 
25  |  |  | 
26  |  | #include <freerdp/types.h>  | 
27  |  | #include <freerdp/settings.h>  | 
28  |  | #include <freerdp/freerdp.h>  | 
29  |  | #include <freerdp/api.h>  | 
30  |  | #include <freerdp/transport_io.h>  | 
31  |  |  | 
32  |  | #include <winpr/crt.h>  | 
33  |  | #include <winpr/synch.h>  | 
34  |  | #include <winpr/stream.h>  | 
35  |  | #include <winpr/winsock.h>  | 
36  |  | #include <winpr/crypto.h>  | 
37  |  |  | 
38  |  | #include <openssl/bio.h>  | 
39  |  |  | 
40  |  | #include <freerdp/utils/ringbuffer.h>  | 
41  |  |  | 
42  | 0  | #define BIO_TYPE_TSG 65  | 
43  | 1  | #define BIO_TYPE_SIMPLE 66  | 
44  | 1  | #define BIO_TYPE_BUFFERED 67  | 
45  | 0  | #define BIO_TYPE_NAMEDPIPE 69  | 
46  |  |  | 
47  | 0  | #define BIO_C_SET_SOCKET 1101  | 
48  | 0  | #define BIO_C_GET_SOCKET 1102  | 
49  | 0  | #define BIO_C_GET_EVENT 1103  | 
50  | 12.6k  | #define BIO_C_SET_NONBLOCK 1104  | 
51  | 0  | #define BIO_C_READ_BLOCKED 1105  | 
52  | 0  | #define BIO_C_WRITE_BLOCKED 1106  | 
53  | 0  | #define BIO_C_WAIT_READ 1107  | 
54  | 0  | #define BIO_C_WAIT_WRITE 1108  | 
55  | 0  | #define BIO_C_SET_HANDLE 1109  | 
56  |  |  | 
57  |  | static INLINE long BIO_set_socket(BIO* b, SOCKET* s, long c)  | 
58  | 0  | { | 
59  | 0  |   return BIO_ctrl(b, BIO_C_SET_SOCKET, c, s);  | 
60  | 0  | } Unexecuted instantiation: TestFuzzCoreClient.c:BIO_set_socket Unexecuted instantiation: settings.c:BIO_set_socket Unexecuted instantiation: gfx.c:BIO_set_socket Unexecuted instantiation: video.c:BIO_set_socket Unexecuted instantiation: activation.c:BIO_set_socket Unexecuted instantiation: nla.c:BIO_set_socket Unexecuted instantiation: nego.c:BIO_set_socket Unexecuted instantiation: info.c:BIO_set_socket Unexecuted instantiation: input.c:BIO_set_socket Unexecuted instantiation: orders.c:BIO_set_socket Unexecuted instantiation: freerdp.c:BIO_set_socket Unexecuted instantiation: client.c:BIO_set_socket Unexecuted instantiation: codecs.c:BIO_set_socket Unexecuted instantiation: metrics.c:BIO_set_socket Unexecuted instantiation: capabilities.c:BIO_set_socket Unexecuted instantiation: connection.c:BIO_set_socket Unexecuted instantiation: redirection.c:BIO_set_socket Unexecuted instantiation: autodetect.c:BIO_set_socket Unexecuted instantiation: heartbeat.c:BIO_set_socket Unexecuted instantiation: multitransport.c:BIO_set_socket Unexecuted instantiation: timezone.c:BIO_set_socket Unexecuted instantiation: rdp.c:BIO_set_socket Unexecuted instantiation: tcp.c:BIO_set_socket Unexecuted instantiation: proxy.c:BIO_set_socket Unexecuted instantiation: tpdu.c:BIO_set_socket Unexecuted instantiation: tpkt.c:BIO_set_socket Unexecuted instantiation: fastpath.c:BIO_set_socket Unexecuted instantiation: surface.c:BIO_set_socket Unexecuted instantiation: transport.c:BIO_set_socket Unexecuted instantiation: update.c:BIO_set_socket Unexecuted instantiation: message.c:BIO_set_socket Unexecuted instantiation: channels.c:BIO_set_socket Unexecuted instantiation: window.c:BIO_set_socket Unexecuted instantiation: peer.c:BIO_set_socket Unexecuted instantiation: display.c:BIO_set_socket Unexecuted instantiation: rdstls.c:BIO_set_socket Unexecuted instantiation: aad.c:BIO_set_socket Unexecuted instantiation: tsg.c:BIO_set_socket Unexecuted instantiation: rdg.c:BIO_set_socket Unexecuted instantiation: rpc.c:BIO_set_socket Unexecuted instantiation: rpc_bind.c:BIO_set_socket Unexecuted instantiation: rpc_client.c:BIO_set_socket Unexecuted instantiation: rpc_fault.c:BIO_set_socket Unexecuted instantiation: rts.c:BIO_set_socket Unexecuted instantiation: rts_signature.c:BIO_set_socket Unexecuted instantiation: http.c:BIO_set_socket Unexecuted instantiation: websocket.c:BIO_set_socket Unexecuted instantiation: wst.c:BIO_set_socket Unexecuted instantiation: arm.c:BIO_set_socket Unexecuted instantiation: ncacn_http.c:BIO_set_socket Unexecuted instantiation: gdi.c:BIO_set_socket Unexecuted instantiation: tls.c:BIO_set_socket Unexecuted instantiation: utils.c:BIO_set_socket Unexecuted instantiation: mcs.c:BIO_set_socket Unexecuted instantiation: license.c:BIO_set_socket Unexecuted instantiation: security.c:BIO_set_socket Unexecuted instantiation: server.c:BIO_set_socket Unexecuted instantiation: childsession.c:BIO_set_socket Unexecuted instantiation: gcc.c:BIO_set_socket Unexecuted instantiation: TestFuzzCoreServer.c:BIO_set_socket  | 
61  |  | static INLINE long BIO_get_socket(BIO* b, SOCKET* c)  | 
62  | 0  | { | 
63  | 0  |   return BIO_ctrl(b, BIO_C_GET_SOCKET, 0, c);  | 
64  | 0  | } Unexecuted instantiation: TestFuzzCoreClient.c:BIO_get_socket Unexecuted instantiation: settings.c:BIO_get_socket Unexecuted instantiation: gfx.c:BIO_get_socket Unexecuted instantiation: video.c:BIO_get_socket Unexecuted instantiation: activation.c:BIO_get_socket Unexecuted instantiation: nla.c:BIO_get_socket Unexecuted instantiation: nego.c:BIO_get_socket Unexecuted instantiation: info.c:BIO_get_socket Unexecuted instantiation: input.c:BIO_get_socket Unexecuted instantiation: orders.c:BIO_get_socket Unexecuted instantiation: freerdp.c:BIO_get_socket Unexecuted instantiation: client.c:BIO_get_socket Unexecuted instantiation: codecs.c:BIO_get_socket Unexecuted instantiation: metrics.c:BIO_get_socket Unexecuted instantiation: capabilities.c:BIO_get_socket Unexecuted instantiation: connection.c:BIO_get_socket Unexecuted instantiation: redirection.c:BIO_get_socket Unexecuted instantiation: autodetect.c:BIO_get_socket Unexecuted instantiation: heartbeat.c:BIO_get_socket Unexecuted instantiation: multitransport.c:BIO_get_socket Unexecuted instantiation: timezone.c:BIO_get_socket Unexecuted instantiation: rdp.c:BIO_get_socket Unexecuted instantiation: tcp.c:BIO_get_socket Unexecuted instantiation: proxy.c:BIO_get_socket Unexecuted instantiation: tpdu.c:BIO_get_socket Unexecuted instantiation: tpkt.c:BIO_get_socket Unexecuted instantiation: fastpath.c:BIO_get_socket Unexecuted instantiation: surface.c:BIO_get_socket Unexecuted instantiation: transport.c:BIO_get_socket Unexecuted instantiation: update.c:BIO_get_socket Unexecuted instantiation: message.c:BIO_get_socket Unexecuted instantiation: channels.c:BIO_get_socket Unexecuted instantiation: window.c:BIO_get_socket Unexecuted instantiation: peer.c:BIO_get_socket Unexecuted instantiation: display.c:BIO_get_socket Unexecuted instantiation: rdstls.c:BIO_get_socket Unexecuted instantiation: aad.c:BIO_get_socket Unexecuted instantiation: tsg.c:BIO_get_socket Unexecuted instantiation: rdg.c:BIO_get_socket Unexecuted instantiation: rpc.c:BIO_get_socket Unexecuted instantiation: rpc_bind.c:BIO_get_socket Unexecuted instantiation: rpc_client.c:BIO_get_socket Unexecuted instantiation: rpc_fault.c:BIO_get_socket Unexecuted instantiation: rts.c:BIO_get_socket Unexecuted instantiation: rts_signature.c:BIO_get_socket Unexecuted instantiation: http.c:BIO_get_socket Unexecuted instantiation: websocket.c:BIO_get_socket Unexecuted instantiation: wst.c:BIO_get_socket Unexecuted instantiation: arm.c:BIO_get_socket Unexecuted instantiation: ncacn_http.c:BIO_get_socket Unexecuted instantiation: gdi.c:BIO_get_socket Unexecuted instantiation: tls.c:BIO_get_socket Unexecuted instantiation: utils.c:BIO_get_socket Unexecuted instantiation: mcs.c:BIO_get_socket Unexecuted instantiation: license.c:BIO_get_socket Unexecuted instantiation: security.c:BIO_get_socket Unexecuted instantiation: server.c:BIO_get_socket Unexecuted instantiation: childsession.c:BIO_get_socket Unexecuted instantiation: gcc.c:BIO_get_socket Unexecuted instantiation: TestFuzzCoreServer.c:BIO_get_socket  | 
65  |  | static INLINE long BIO_get_event(BIO* b, HANDLE* c)  | 
66  | 0  | { | 
67  | 0  |   return BIO_ctrl(b, BIO_C_GET_EVENT, 0, c);  | 
68  | 0  | } Unexecuted instantiation: TestFuzzCoreClient.c:BIO_get_event Unexecuted instantiation: settings.c:BIO_get_event Unexecuted instantiation: gfx.c:BIO_get_event Unexecuted instantiation: video.c:BIO_get_event Unexecuted instantiation: activation.c:BIO_get_event Unexecuted instantiation: nla.c:BIO_get_event Unexecuted instantiation: nego.c:BIO_get_event Unexecuted instantiation: info.c:BIO_get_event Unexecuted instantiation: input.c:BIO_get_event Unexecuted instantiation: orders.c:BIO_get_event Unexecuted instantiation: freerdp.c:BIO_get_event Unexecuted instantiation: client.c:BIO_get_event Unexecuted instantiation: codecs.c:BIO_get_event Unexecuted instantiation: metrics.c:BIO_get_event Unexecuted instantiation: capabilities.c:BIO_get_event Unexecuted instantiation: connection.c:BIO_get_event Unexecuted instantiation: redirection.c:BIO_get_event Unexecuted instantiation: autodetect.c:BIO_get_event Unexecuted instantiation: heartbeat.c:BIO_get_event Unexecuted instantiation: multitransport.c:BIO_get_event Unexecuted instantiation: timezone.c:BIO_get_event Unexecuted instantiation: rdp.c:BIO_get_event Unexecuted instantiation: tcp.c:BIO_get_event Unexecuted instantiation: proxy.c:BIO_get_event Unexecuted instantiation: tpdu.c:BIO_get_event Unexecuted instantiation: tpkt.c:BIO_get_event Unexecuted instantiation: fastpath.c:BIO_get_event Unexecuted instantiation: surface.c:BIO_get_event Unexecuted instantiation: transport.c:BIO_get_event Unexecuted instantiation: update.c:BIO_get_event Unexecuted instantiation: message.c:BIO_get_event Unexecuted instantiation: channels.c:BIO_get_event Unexecuted instantiation: window.c:BIO_get_event Unexecuted instantiation: peer.c:BIO_get_event Unexecuted instantiation: display.c:BIO_get_event Unexecuted instantiation: rdstls.c:BIO_get_event Unexecuted instantiation: aad.c:BIO_get_event Unexecuted instantiation: tsg.c:BIO_get_event Unexecuted instantiation: rdg.c:BIO_get_event Unexecuted instantiation: rpc.c:BIO_get_event Unexecuted instantiation: rpc_bind.c:BIO_get_event Unexecuted instantiation: rpc_client.c:BIO_get_event Unexecuted instantiation: rpc_fault.c:BIO_get_event Unexecuted instantiation: rts.c:BIO_get_event Unexecuted instantiation: rts_signature.c:BIO_get_event Unexecuted instantiation: http.c:BIO_get_event Unexecuted instantiation: websocket.c:BIO_get_event Unexecuted instantiation: wst.c:BIO_get_event Unexecuted instantiation: arm.c:BIO_get_event Unexecuted instantiation: ncacn_http.c:BIO_get_event Unexecuted instantiation: gdi.c:BIO_get_event Unexecuted instantiation: tls.c:BIO_get_event Unexecuted instantiation: utils.c:BIO_get_event Unexecuted instantiation: mcs.c:BIO_get_event Unexecuted instantiation: license.c:BIO_get_event Unexecuted instantiation: security.c:BIO_get_event Unexecuted instantiation: server.c:BIO_get_event Unexecuted instantiation: childsession.c:BIO_get_event Unexecuted instantiation: gcc.c:BIO_get_event Unexecuted instantiation: TestFuzzCoreServer.c:BIO_get_event  | 
69  |  | static INLINE long BIO_set_handle(BIO* b, HANDLE* h)  | 
70  | 0  | { | 
71  | 0  |   return BIO_ctrl(b, BIO_C_SET_HANDLE, 0, h);  | 
72  | 0  | } Unexecuted instantiation: TestFuzzCoreClient.c:BIO_set_handle Unexecuted instantiation: settings.c:BIO_set_handle Unexecuted instantiation: gfx.c:BIO_set_handle Unexecuted instantiation: video.c:BIO_set_handle Unexecuted instantiation: activation.c:BIO_set_handle Unexecuted instantiation: nla.c:BIO_set_handle Unexecuted instantiation: nego.c:BIO_set_handle Unexecuted instantiation: info.c:BIO_set_handle Unexecuted instantiation: input.c:BIO_set_handle Unexecuted instantiation: orders.c:BIO_set_handle Unexecuted instantiation: freerdp.c:BIO_set_handle Unexecuted instantiation: client.c:BIO_set_handle Unexecuted instantiation: codecs.c:BIO_set_handle Unexecuted instantiation: metrics.c:BIO_set_handle Unexecuted instantiation: capabilities.c:BIO_set_handle Unexecuted instantiation: connection.c:BIO_set_handle Unexecuted instantiation: redirection.c:BIO_set_handle Unexecuted instantiation: autodetect.c:BIO_set_handle Unexecuted instantiation: heartbeat.c:BIO_set_handle Unexecuted instantiation: multitransport.c:BIO_set_handle Unexecuted instantiation: timezone.c:BIO_set_handle Unexecuted instantiation: rdp.c:BIO_set_handle Unexecuted instantiation: tcp.c:BIO_set_handle Unexecuted instantiation: proxy.c:BIO_set_handle Unexecuted instantiation: tpdu.c:BIO_set_handle Unexecuted instantiation: tpkt.c:BIO_set_handle Unexecuted instantiation: fastpath.c:BIO_set_handle Unexecuted instantiation: surface.c:BIO_set_handle Unexecuted instantiation: transport.c:BIO_set_handle Unexecuted instantiation: update.c:BIO_set_handle Unexecuted instantiation: message.c:BIO_set_handle Unexecuted instantiation: channels.c:BIO_set_handle Unexecuted instantiation: window.c:BIO_set_handle Unexecuted instantiation: peer.c:BIO_set_handle Unexecuted instantiation: display.c:BIO_set_handle Unexecuted instantiation: rdstls.c:BIO_set_handle Unexecuted instantiation: aad.c:BIO_set_handle Unexecuted instantiation: tsg.c:BIO_set_handle Unexecuted instantiation: rdg.c:BIO_set_handle Unexecuted instantiation: rpc.c:BIO_set_handle Unexecuted instantiation: rpc_bind.c:BIO_set_handle Unexecuted instantiation: rpc_client.c:BIO_set_handle Unexecuted instantiation: rpc_fault.c:BIO_set_handle Unexecuted instantiation: rts.c:BIO_set_handle Unexecuted instantiation: rts_signature.c:BIO_set_handle Unexecuted instantiation: http.c:BIO_set_handle Unexecuted instantiation: websocket.c:BIO_set_handle Unexecuted instantiation: wst.c:BIO_set_handle Unexecuted instantiation: arm.c:BIO_set_handle Unexecuted instantiation: ncacn_http.c:BIO_set_handle Unexecuted instantiation: gdi.c:BIO_set_handle Unexecuted instantiation: tls.c:BIO_set_handle Unexecuted instantiation: utils.c:BIO_set_handle Unexecuted instantiation: mcs.c:BIO_set_handle Unexecuted instantiation: license.c:BIO_set_handle Unexecuted instantiation: security.c:BIO_set_handle Unexecuted instantiation: server.c:BIO_set_handle Unexecuted instantiation: childsession.c:BIO_set_handle Unexecuted instantiation: gcc.c:BIO_set_handle Unexecuted instantiation: TestFuzzCoreServer.c:BIO_set_handle  | 
73  |  | static INLINE long BIO_set_nonblock(BIO* b, long c)  | 
74  | 6.33k  | { | 
75  | 6.33k  |   return BIO_ctrl(b, BIO_C_SET_NONBLOCK, c, NULL);  | 
76  | 6.33k  | } Unexecuted instantiation: TestFuzzCoreClient.c:BIO_set_nonblock Unexecuted instantiation: settings.c:BIO_set_nonblock Unexecuted instantiation: gfx.c:BIO_set_nonblock Unexecuted instantiation: video.c:BIO_set_nonblock Unexecuted instantiation: activation.c:BIO_set_nonblock Unexecuted instantiation: nla.c:BIO_set_nonblock Unexecuted instantiation: nego.c:BIO_set_nonblock Unexecuted instantiation: info.c:BIO_set_nonblock Unexecuted instantiation: input.c:BIO_set_nonblock Unexecuted instantiation: orders.c:BIO_set_nonblock Unexecuted instantiation: freerdp.c:BIO_set_nonblock Unexecuted instantiation: client.c:BIO_set_nonblock Unexecuted instantiation: codecs.c:BIO_set_nonblock Unexecuted instantiation: metrics.c:BIO_set_nonblock Unexecuted instantiation: capabilities.c:BIO_set_nonblock Unexecuted instantiation: connection.c:BIO_set_nonblock Unexecuted instantiation: redirection.c:BIO_set_nonblock Unexecuted instantiation: autodetect.c:BIO_set_nonblock Unexecuted instantiation: heartbeat.c:BIO_set_nonblock Unexecuted instantiation: multitransport.c:BIO_set_nonblock Unexecuted instantiation: timezone.c:BIO_set_nonblock Unexecuted instantiation: rdp.c:BIO_set_nonblock Unexecuted instantiation: tcp.c:BIO_set_nonblock Unexecuted instantiation: proxy.c:BIO_set_nonblock Unexecuted instantiation: tpdu.c:BIO_set_nonblock Unexecuted instantiation: tpkt.c:BIO_set_nonblock Unexecuted instantiation: fastpath.c:BIO_set_nonblock Unexecuted instantiation: surface.c:BIO_set_nonblock transport.c:BIO_set_nonblock Line  | Count  | Source  |  74  | 6.33k  | { |  75  | 6.33k  |   return BIO_ctrl(b, BIO_C_SET_NONBLOCK, c, NULL);  |  76  | 6.33k  | }  |  
 Unexecuted instantiation: update.c:BIO_set_nonblock Unexecuted instantiation: message.c:BIO_set_nonblock Unexecuted instantiation: channels.c:BIO_set_nonblock Unexecuted instantiation: window.c:BIO_set_nonblock Unexecuted instantiation: peer.c:BIO_set_nonblock Unexecuted instantiation: display.c:BIO_set_nonblock Unexecuted instantiation: rdstls.c:BIO_set_nonblock Unexecuted instantiation: aad.c:BIO_set_nonblock Unexecuted instantiation: tsg.c:BIO_set_nonblock Unexecuted instantiation: rdg.c:BIO_set_nonblock Unexecuted instantiation: rpc.c:BIO_set_nonblock Unexecuted instantiation: rpc_bind.c:BIO_set_nonblock Unexecuted instantiation: rpc_client.c:BIO_set_nonblock Unexecuted instantiation: rpc_fault.c:BIO_set_nonblock Unexecuted instantiation: rts.c:BIO_set_nonblock Unexecuted instantiation: rts_signature.c:BIO_set_nonblock Unexecuted instantiation: http.c:BIO_set_nonblock Unexecuted instantiation: websocket.c:BIO_set_nonblock Unexecuted instantiation: wst.c:BIO_set_nonblock Unexecuted instantiation: arm.c:BIO_set_nonblock Unexecuted instantiation: ncacn_http.c:BIO_set_nonblock Unexecuted instantiation: gdi.c:BIO_set_nonblock Unexecuted instantiation: tls.c:BIO_set_nonblock Unexecuted instantiation: utils.c:BIO_set_nonblock Unexecuted instantiation: mcs.c:BIO_set_nonblock Unexecuted instantiation: license.c:BIO_set_nonblock Unexecuted instantiation: security.c:BIO_set_nonblock Unexecuted instantiation: server.c:BIO_set_nonblock Unexecuted instantiation: childsession.c:BIO_set_nonblock Unexecuted instantiation: gcc.c:BIO_set_nonblock Unexecuted instantiation: TestFuzzCoreServer.c:BIO_set_nonblock  | 
77  |  | static INLINE long BIO_read_blocked(BIO* b)  | 
78  | 0  | { | 
79  | 0  |   return BIO_ctrl(b, BIO_C_READ_BLOCKED, 0, NULL);  | 
80  | 0  | } Unexecuted instantiation: TestFuzzCoreClient.c:BIO_read_blocked Unexecuted instantiation: settings.c:BIO_read_blocked Unexecuted instantiation: gfx.c:BIO_read_blocked Unexecuted instantiation: video.c:BIO_read_blocked Unexecuted instantiation: activation.c:BIO_read_blocked Unexecuted instantiation: nla.c:BIO_read_blocked Unexecuted instantiation: nego.c:BIO_read_blocked Unexecuted instantiation: info.c:BIO_read_blocked Unexecuted instantiation: input.c:BIO_read_blocked Unexecuted instantiation: orders.c:BIO_read_blocked Unexecuted instantiation: freerdp.c:BIO_read_blocked Unexecuted instantiation: client.c:BIO_read_blocked Unexecuted instantiation: codecs.c:BIO_read_blocked Unexecuted instantiation: metrics.c:BIO_read_blocked Unexecuted instantiation: capabilities.c:BIO_read_blocked Unexecuted instantiation: connection.c:BIO_read_blocked Unexecuted instantiation: redirection.c:BIO_read_blocked Unexecuted instantiation: autodetect.c:BIO_read_blocked Unexecuted instantiation: heartbeat.c:BIO_read_blocked Unexecuted instantiation: multitransport.c:BIO_read_blocked Unexecuted instantiation: timezone.c:BIO_read_blocked Unexecuted instantiation: rdp.c:BIO_read_blocked Unexecuted instantiation: tcp.c:BIO_read_blocked Unexecuted instantiation: proxy.c:BIO_read_blocked Unexecuted instantiation: tpdu.c:BIO_read_blocked Unexecuted instantiation: tpkt.c:BIO_read_blocked Unexecuted instantiation: fastpath.c:BIO_read_blocked Unexecuted instantiation: surface.c:BIO_read_blocked Unexecuted instantiation: transport.c:BIO_read_blocked Unexecuted instantiation: update.c:BIO_read_blocked Unexecuted instantiation: message.c:BIO_read_blocked Unexecuted instantiation: channels.c:BIO_read_blocked Unexecuted instantiation: window.c:BIO_read_blocked Unexecuted instantiation: peer.c:BIO_read_blocked Unexecuted instantiation: display.c:BIO_read_blocked Unexecuted instantiation: rdstls.c:BIO_read_blocked Unexecuted instantiation: aad.c:BIO_read_blocked Unexecuted instantiation: tsg.c:BIO_read_blocked Unexecuted instantiation: rdg.c:BIO_read_blocked Unexecuted instantiation: rpc.c:BIO_read_blocked Unexecuted instantiation: rpc_bind.c:BIO_read_blocked Unexecuted instantiation: rpc_client.c:BIO_read_blocked Unexecuted instantiation: rpc_fault.c:BIO_read_blocked Unexecuted instantiation: rts.c:BIO_read_blocked Unexecuted instantiation: rts_signature.c:BIO_read_blocked Unexecuted instantiation: http.c:BIO_read_blocked Unexecuted instantiation: websocket.c:BIO_read_blocked Unexecuted instantiation: wst.c:BIO_read_blocked Unexecuted instantiation: arm.c:BIO_read_blocked Unexecuted instantiation: ncacn_http.c:BIO_read_blocked Unexecuted instantiation: gdi.c:BIO_read_blocked Unexecuted instantiation: tls.c:BIO_read_blocked Unexecuted instantiation: utils.c:BIO_read_blocked Unexecuted instantiation: mcs.c:BIO_read_blocked Unexecuted instantiation: license.c:BIO_read_blocked Unexecuted instantiation: security.c:BIO_read_blocked Unexecuted instantiation: server.c:BIO_read_blocked Unexecuted instantiation: childsession.c:BIO_read_blocked Unexecuted instantiation: gcc.c:BIO_read_blocked Unexecuted instantiation: TestFuzzCoreServer.c:BIO_read_blocked  | 
81  |  | static INLINE long BIO_write_blocked(BIO* b)  | 
82  | 0  | { | 
83  | 0  |   return BIO_ctrl(b, BIO_C_WRITE_BLOCKED, 0, NULL);  | 
84  | 0  | } Unexecuted instantiation: TestFuzzCoreClient.c:BIO_write_blocked Unexecuted instantiation: settings.c:BIO_write_blocked Unexecuted instantiation: gfx.c:BIO_write_blocked Unexecuted instantiation: video.c:BIO_write_blocked Unexecuted instantiation: activation.c:BIO_write_blocked Unexecuted instantiation: nla.c:BIO_write_blocked Unexecuted instantiation: nego.c:BIO_write_blocked Unexecuted instantiation: info.c:BIO_write_blocked Unexecuted instantiation: input.c:BIO_write_blocked Unexecuted instantiation: orders.c:BIO_write_blocked Unexecuted instantiation: freerdp.c:BIO_write_blocked Unexecuted instantiation: client.c:BIO_write_blocked Unexecuted instantiation: codecs.c:BIO_write_blocked Unexecuted instantiation: metrics.c:BIO_write_blocked Unexecuted instantiation: capabilities.c:BIO_write_blocked Unexecuted instantiation: connection.c:BIO_write_blocked Unexecuted instantiation: redirection.c:BIO_write_blocked Unexecuted instantiation: autodetect.c:BIO_write_blocked Unexecuted instantiation: heartbeat.c:BIO_write_blocked Unexecuted instantiation: multitransport.c:BIO_write_blocked Unexecuted instantiation: timezone.c:BIO_write_blocked Unexecuted instantiation: rdp.c:BIO_write_blocked Unexecuted instantiation: tcp.c:BIO_write_blocked Unexecuted instantiation: proxy.c:BIO_write_blocked Unexecuted instantiation: tpdu.c:BIO_write_blocked Unexecuted instantiation: tpkt.c:BIO_write_blocked Unexecuted instantiation: fastpath.c:BIO_write_blocked Unexecuted instantiation: surface.c:BIO_write_blocked Unexecuted instantiation: transport.c:BIO_write_blocked Unexecuted instantiation: update.c:BIO_write_blocked Unexecuted instantiation: message.c:BIO_write_blocked Unexecuted instantiation: channels.c:BIO_write_blocked Unexecuted instantiation: window.c:BIO_write_blocked Unexecuted instantiation: peer.c:BIO_write_blocked Unexecuted instantiation: display.c:BIO_write_blocked Unexecuted instantiation: rdstls.c:BIO_write_blocked Unexecuted instantiation: aad.c:BIO_write_blocked Unexecuted instantiation: tsg.c:BIO_write_blocked Unexecuted instantiation: rdg.c:BIO_write_blocked Unexecuted instantiation: rpc.c:BIO_write_blocked Unexecuted instantiation: rpc_bind.c:BIO_write_blocked Unexecuted instantiation: rpc_client.c:BIO_write_blocked Unexecuted instantiation: rpc_fault.c:BIO_write_blocked Unexecuted instantiation: rts.c:BIO_write_blocked Unexecuted instantiation: rts_signature.c:BIO_write_blocked Unexecuted instantiation: http.c:BIO_write_blocked Unexecuted instantiation: websocket.c:BIO_write_blocked Unexecuted instantiation: wst.c:BIO_write_blocked Unexecuted instantiation: arm.c:BIO_write_blocked Unexecuted instantiation: ncacn_http.c:BIO_write_blocked Unexecuted instantiation: gdi.c:BIO_write_blocked Unexecuted instantiation: tls.c:BIO_write_blocked Unexecuted instantiation: utils.c:BIO_write_blocked Unexecuted instantiation: mcs.c:BIO_write_blocked Unexecuted instantiation: license.c:BIO_write_blocked Unexecuted instantiation: security.c:BIO_write_blocked Unexecuted instantiation: server.c:BIO_write_blocked Unexecuted instantiation: childsession.c:BIO_write_blocked Unexecuted instantiation: gcc.c:BIO_write_blocked Unexecuted instantiation: TestFuzzCoreServer.c:BIO_write_blocked  | 
85  |  | static INLINE long BIO_wait_read(BIO* b, long c)  | 
86  | 0  | { | 
87  | 0  |   return BIO_ctrl(b, BIO_C_WAIT_READ, c, NULL);  | 
88  | 0  | } Unexecuted instantiation: TestFuzzCoreClient.c:BIO_wait_read Unexecuted instantiation: settings.c:BIO_wait_read Unexecuted instantiation: gfx.c:BIO_wait_read Unexecuted instantiation: video.c:BIO_wait_read Unexecuted instantiation: activation.c:BIO_wait_read Unexecuted instantiation: nla.c:BIO_wait_read Unexecuted instantiation: nego.c:BIO_wait_read Unexecuted instantiation: info.c:BIO_wait_read Unexecuted instantiation: input.c:BIO_wait_read Unexecuted instantiation: orders.c:BIO_wait_read Unexecuted instantiation: freerdp.c:BIO_wait_read Unexecuted instantiation: client.c:BIO_wait_read Unexecuted instantiation: codecs.c:BIO_wait_read Unexecuted instantiation: metrics.c:BIO_wait_read Unexecuted instantiation: capabilities.c:BIO_wait_read Unexecuted instantiation: connection.c:BIO_wait_read Unexecuted instantiation: redirection.c:BIO_wait_read Unexecuted instantiation: autodetect.c:BIO_wait_read Unexecuted instantiation: heartbeat.c:BIO_wait_read Unexecuted instantiation: multitransport.c:BIO_wait_read Unexecuted instantiation: timezone.c:BIO_wait_read Unexecuted instantiation: rdp.c:BIO_wait_read Unexecuted instantiation: tcp.c:BIO_wait_read Unexecuted instantiation: proxy.c:BIO_wait_read Unexecuted instantiation: tpdu.c:BIO_wait_read Unexecuted instantiation: tpkt.c:BIO_wait_read Unexecuted instantiation: fastpath.c:BIO_wait_read Unexecuted instantiation: surface.c:BIO_wait_read Unexecuted instantiation: transport.c:BIO_wait_read Unexecuted instantiation: update.c:BIO_wait_read Unexecuted instantiation: message.c:BIO_wait_read Unexecuted instantiation: channels.c:BIO_wait_read Unexecuted instantiation: window.c:BIO_wait_read Unexecuted instantiation: peer.c:BIO_wait_read Unexecuted instantiation: display.c:BIO_wait_read Unexecuted instantiation: rdstls.c:BIO_wait_read Unexecuted instantiation: aad.c:BIO_wait_read Unexecuted instantiation: tsg.c:BIO_wait_read Unexecuted instantiation: rdg.c:BIO_wait_read Unexecuted instantiation: rpc.c:BIO_wait_read Unexecuted instantiation: rpc_bind.c:BIO_wait_read Unexecuted instantiation: rpc_client.c:BIO_wait_read Unexecuted instantiation: rpc_fault.c:BIO_wait_read Unexecuted instantiation: rts.c:BIO_wait_read Unexecuted instantiation: rts_signature.c:BIO_wait_read Unexecuted instantiation: http.c:BIO_wait_read Unexecuted instantiation: websocket.c:BIO_wait_read Unexecuted instantiation: wst.c:BIO_wait_read Unexecuted instantiation: arm.c:BIO_wait_read Unexecuted instantiation: ncacn_http.c:BIO_wait_read Unexecuted instantiation: gdi.c:BIO_wait_read Unexecuted instantiation: tls.c:BIO_wait_read Unexecuted instantiation: utils.c:BIO_wait_read Unexecuted instantiation: mcs.c:BIO_wait_read Unexecuted instantiation: license.c:BIO_wait_read Unexecuted instantiation: security.c:BIO_wait_read Unexecuted instantiation: server.c:BIO_wait_read Unexecuted instantiation: childsession.c:BIO_wait_read Unexecuted instantiation: gcc.c:BIO_wait_read Unexecuted instantiation: TestFuzzCoreServer.c:BIO_wait_read  | 
89  |  |  | 
90  |  | static INLINE long BIO_wait_write(BIO* b, long c)  | 
91  | 0  | { | 
92  | 0  |   return BIO_ctrl(b, BIO_C_WAIT_WRITE, c, NULL);  | 
93  | 0  | } Unexecuted instantiation: TestFuzzCoreClient.c:BIO_wait_write Unexecuted instantiation: settings.c:BIO_wait_write Unexecuted instantiation: gfx.c:BIO_wait_write Unexecuted instantiation: video.c:BIO_wait_write Unexecuted instantiation: activation.c:BIO_wait_write Unexecuted instantiation: nla.c:BIO_wait_write Unexecuted instantiation: nego.c:BIO_wait_write Unexecuted instantiation: info.c:BIO_wait_write Unexecuted instantiation: input.c:BIO_wait_write Unexecuted instantiation: orders.c:BIO_wait_write Unexecuted instantiation: freerdp.c:BIO_wait_write Unexecuted instantiation: client.c:BIO_wait_write Unexecuted instantiation: codecs.c:BIO_wait_write Unexecuted instantiation: metrics.c:BIO_wait_write Unexecuted instantiation: capabilities.c:BIO_wait_write Unexecuted instantiation: connection.c:BIO_wait_write Unexecuted instantiation: redirection.c:BIO_wait_write Unexecuted instantiation: autodetect.c:BIO_wait_write Unexecuted instantiation: heartbeat.c:BIO_wait_write Unexecuted instantiation: multitransport.c:BIO_wait_write Unexecuted instantiation: timezone.c:BIO_wait_write Unexecuted instantiation: rdp.c:BIO_wait_write Unexecuted instantiation: tcp.c:BIO_wait_write Unexecuted instantiation: proxy.c:BIO_wait_write Unexecuted instantiation: tpdu.c:BIO_wait_write Unexecuted instantiation: tpkt.c:BIO_wait_write Unexecuted instantiation: fastpath.c:BIO_wait_write Unexecuted instantiation: surface.c:BIO_wait_write Unexecuted instantiation: transport.c:BIO_wait_write Unexecuted instantiation: update.c:BIO_wait_write Unexecuted instantiation: message.c:BIO_wait_write Unexecuted instantiation: channels.c:BIO_wait_write Unexecuted instantiation: window.c:BIO_wait_write Unexecuted instantiation: peer.c:BIO_wait_write Unexecuted instantiation: display.c:BIO_wait_write Unexecuted instantiation: rdstls.c:BIO_wait_write Unexecuted instantiation: aad.c:BIO_wait_write Unexecuted instantiation: tsg.c:BIO_wait_write Unexecuted instantiation: rdg.c:BIO_wait_write Unexecuted instantiation: rpc.c:BIO_wait_write Unexecuted instantiation: rpc_bind.c:BIO_wait_write Unexecuted instantiation: rpc_client.c:BIO_wait_write Unexecuted instantiation: rpc_fault.c:BIO_wait_write Unexecuted instantiation: rts.c:BIO_wait_write Unexecuted instantiation: rts_signature.c:BIO_wait_write Unexecuted instantiation: http.c:BIO_wait_write Unexecuted instantiation: websocket.c:BIO_wait_write Unexecuted instantiation: wst.c:BIO_wait_write Unexecuted instantiation: arm.c:BIO_wait_write Unexecuted instantiation: ncacn_http.c:BIO_wait_write Unexecuted instantiation: gdi.c:BIO_wait_write Unexecuted instantiation: tls.c:BIO_wait_write Unexecuted instantiation: utils.c:BIO_wait_write Unexecuted instantiation: mcs.c:BIO_wait_write Unexecuted instantiation: license.c:BIO_wait_write Unexecuted instantiation: security.c:BIO_wait_write Unexecuted instantiation: server.c:BIO_wait_write Unexecuted instantiation: childsession.c:BIO_wait_write Unexecuted instantiation: gcc.c:BIO_wait_write Unexecuted instantiation: TestFuzzCoreServer.c:BIO_wait_write  | 
94  |  |  | 
95  |  | FREERDP_LOCAL BIO_METHOD* BIO_s_simple_socket(void);  | 
96  |  | FREERDP_LOCAL BIO_METHOD* BIO_s_buffered_socket(void);  | 
97  |  |  | 
98  |  | FREERDP_LOCAL BOOL freerdp_tcp_set_keep_alive_mode(const rdpSettings* settings, int sockfd);  | 
99  |  |  | 
100  |  | FREERDP_LOCAL int freerdp_tcp_connect(rdpContext* context, const char* hostname, int port,  | 
101  |  |                                       DWORD timeout);  | 
102  |  |  | 
103  |  | FREERDP_LOCAL int freerdp_tcp_default_connect(rdpContext* context, rdpSettings* settings,  | 
104  |  |                                               const char* hostname, int port, DWORD timeout);  | 
105  |  |  | 
106  |  | FREERDP_LOCAL rdpTransportLayer*  | 
107  |  | freerdp_tcp_connect_layer(rdpContext* context, const char* hostname, int port, DWORD timeout);  | 
108  |  |  | 
109  |  | FREERDP_LOCAL char* freerdp_tcp_get_peer_address(SOCKET sockfd);  | 
110  |  |  | 
111  |  | FREERDP_LOCAL struct addrinfo* freerdp_tcp_resolve_host(const char* hostname, int port,  | 
112  |  |                                                         int ai_flags);  | 
113  |  | FREERDP_LOCAL char* freerdp_tcp_address_to_string(const struct sockaddr_storage* addr, BOOL* pIPv6);  | 
114  |  |  | 
115  |  | #endif /* FREERDP_LIB_CORE_TCP_H */  |