/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 | 0 | #define BIO_TYPE_SIMPLE 66 |
44 | 0 | #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 | 0 | #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, (void*)(intptr_t)s); |
60 | 0 | } Unexecuted instantiation: settings.c:BIO_set_socket Unexecuted instantiation: capabilities.c:BIO_set_socket Unexecuted instantiation: rdp.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: rdstls.c:BIO_set_socket Unexecuted instantiation: aad.c:BIO_set_socket Unexecuted instantiation: timer.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: ncacn_http.c:BIO_set_socket Unexecuted instantiation: tls.c:BIO_set_socket Unexecuted instantiation: utils.c:BIO_set_socket Unexecuted instantiation: activation.c:BIO_set_socket Unexecuted instantiation: mcs.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: license.c:BIO_set_socket Unexecuted instantiation: security.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: server.c:BIO_set_socket Unexecuted instantiation: codecs.c:BIO_set_socket Unexecuted instantiation: metrics.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: childsession.c:BIO_set_socket Unexecuted instantiation: tcp.c:BIO_set_socket Unexecuted instantiation: proxy.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: arm.c:BIO_set_socket Unexecuted instantiation: gdi.c:BIO_set_socket Unexecuted instantiation: gcc.c:BIO_set_socket Unexecuted instantiation: TestFuzzCoreServer.c:BIO_set_socket Unexecuted instantiation: TestFuzzCoreClient.c:BIO_set_socket Unexecuted instantiation: gfx.c:BIO_set_socket Unexecuted instantiation: video.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: settings.c:BIO_get_socket Unexecuted instantiation: capabilities.c:BIO_get_socket Unexecuted instantiation: rdp.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: rdstls.c:BIO_get_socket Unexecuted instantiation: aad.c:BIO_get_socket Unexecuted instantiation: timer.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: ncacn_http.c:BIO_get_socket Unexecuted instantiation: tls.c:BIO_get_socket Unexecuted instantiation: utils.c:BIO_get_socket Unexecuted instantiation: activation.c:BIO_get_socket Unexecuted instantiation: mcs.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: license.c:BIO_get_socket Unexecuted instantiation: security.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: server.c:BIO_get_socket Unexecuted instantiation: codecs.c:BIO_get_socket Unexecuted instantiation: metrics.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: childsession.c:BIO_get_socket Unexecuted instantiation: tcp.c:BIO_get_socket Unexecuted instantiation: proxy.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: arm.c:BIO_get_socket Unexecuted instantiation: gdi.c:BIO_get_socket Unexecuted instantiation: gcc.c:BIO_get_socket Unexecuted instantiation: TestFuzzCoreServer.c:BIO_get_socket Unexecuted instantiation: TestFuzzCoreClient.c:BIO_get_socket Unexecuted instantiation: gfx.c:BIO_get_socket Unexecuted instantiation: video.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: settings.c:BIO_get_event Unexecuted instantiation: capabilities.c:BIO_get_event Unexecuted instantiation: rdp.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: rdstls.c:BIO_get_event Unexecuted instantiation: aad.c:BIO_get_event Unexecuted instantiation: timer.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: ncacn_http.c:BIO_get_event Unexecuted instantiation: tls.c:BIO_get_event Unexecuted instantiation: utils.c:BIO_get_event Unexecuted instantiation: activation.c:BIO_get_event Unexecuted instantiation: mcs.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: license.c:BIO_get_event Unexecuted instantiation: security.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: server.c:BIO_get_event Unexecuted instantiation: codecs.c:BIO_get_event Unexecuted instantiation: metrics.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: childsession.c:BIO_get_event Unexecuted instantiation: tcp.c:BIO_get_event Unexecuted instantiation: proxy.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: arm.c:BIO_get_event Unexecuted instantiation: gdi.c:BIO_get_event Unexecuted instantiation: gcc.c:BIO_get_event Unexecuted instantiation: TestFuzzCoreServer.c:BIO_get_event Unexecuted instantiation: TestFuzzCoreClient.c:BIO_get_event Unexecuted instantiation: gfx.c:BIO_get_event Unexecuted instantiation: video.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: settings.c:BIO_set_handle Unexecuted instantiation: capabilities.c:BIO_set_handle Unexecuted instantiation: rdp.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: rdstls.c:BIO_set_handle Unexecuted instantiation: aad.c:BIO_set_handle Unexecuted instantiation: timer.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: ncacn_http.c:BIO_set_handle Unexecuted instantiation: tls.c:BIO_set_handle Unexecuted instantiation: utils.c:BIO_set_handle Unexecuted instantiation: activation.c:BIO_set_handle Unexecuted instantiation: mcs.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: license.c:BIO_set_handle Unexecuted instantiation: security.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: server.c:BIO_set_handle Unexecuted instantiation: codecs.c:BIO_set_handle Unexecuted instantiation: metrics.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: childsession.c:BIO_set_handle Unexecuted instantiation: tcp.c:BIO_set_handle Unexecuted instantiation: proxy.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: arm.c:BIO_set_handle Unexecuted instantiation: gdi.c:BIO_set_handle Unexecuted instantiation: gcc.c:BIO_set_handle Unexecuted instantiation: TestFuzzCoreServer.c:BIO_set_handle Unexecuted instantiation: TestFuzzCoreClient.c:BIO_set_handle Unexecuted instantiation: gfx.c:BIO_set_handle Unexecuted instantiation: video.c:BIO_set_handle |
73 | | static INLINE long BIO_set_nonblock(BIO* b, long c) |
74 | 0 | { |
75 | 0 | return BIO_ctrl(b, BIO_C_SET_NONBLOCK, c, NULL); |
76 | 0 | } Unexecuted instantiation: settings.c:BIO_set_nonblock Unexecuted instantiation: capabilities.c:BIO_set_nonblock Unexecuted instantiation: rdp.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 Unexecuted instantiation: transport.c:BIO_set_nonblock Unexecuted instantiation: update.c:BIO_set_nonblock Unexecuted instantiation: message.c:BIO_set_nonblock Unexecuted instantiation: channels.c:BIO_set_nonblock Unexecuted instantiation: rdstls.c:BIO_set_nonblock Unexecuted instantiation: aad.c:BIO_set_nonblock Unexecuted instantiation: timer.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: ncacn_http.c:BIO_set_nonblock Unexecuted instantiation: tls.c:BIO_set_nonblock Unexecuted instantiation: utils.c:BIO_set_nonblock Unexecuted instantiation: activation.c:BIO_set_nonblock Unexecuted instantiation: mcs.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: license.c:BIO_set_nonblock Unexecuted instantiation: security.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: server.c:BIO_set_nonblock Unexecuted instantiation: codecs.c:BIO_set_nonblock Unexecuted instantiation: metrics.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: childsession.c:BIO_set_nonblock Unexecuted instantiation: tcp.c:BIO_set_nonblock Unexecuted instantiation: proxy.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: arm.c:BIO_set_nonblock Unexecuted instantiation: gdi.c:BIO_set_nonblock Unexecuted instantiation: gcc.c:BIO_set_nonblock Unexecuted instantiation: TestFuzzCoreServer.c:BIO_set_nonblock Unexecuted instantiation: TestFuzzCoreClient.c:BIO_set_nonblock Unexecuted instantiation: gfx.c:BIO_set_nonblock Unexecuted instantiation: video.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: settings.c:BIO_read_blocked Unexecuted instantiation: capabilities.c:BIO_read_blocked Unexecuted instantiation: rdp.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: rdstls.c:BIO_read_blocked Unexecuted instantiation: aad.c:BIO_read_blocked Unexecuted instantiation: timer.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: ncacn_http.c:BIO_read_blocked Unexecuted instantiation: tls.c:BIO_read_blocked Unexecuted instantiation: utils.c:BIO_read_blocked Unexecuted instantiation: activation.c:BIO_read_blocked Unexecuted instantiation: mcs.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: license.c:BIO_read_blocked Unexecuted instantiation: security.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: server.c:BIO_read_blocked Unexecuted instantiation: codecs.c:BIO_read_blocked Unexecuted instantiation: metrics.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: childsession.c:BIO_read_blocked Unexecuted instantiation: tcp.c:BIO_read_blocked Unexecuted instantiation: proxy.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: arm.c:BIO_read_blocked Unexecuted instantiation: gdi.c:BIO_read_blocked Unexecuted instantiation: gcc.c:BIO_read_blocked Unexecuted instantiation: TestFuzzCoreServer.c:BIO_read_blocked Unexecuted instantiation: TestFuzzCoreClient.c:BIO_read_blocked Unexecuted instantiation: gfx.c:BIO_read_blocked Unexecuted instantiation: video.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: settings.c:BIO_write_blocked Unexecuted instantiation: capabilities.c:BIO_write_blocked Unexecuted instantiation: rdp.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: rdstls.c:BIO_write_blocked Unexecuted instantiation: aad.c:BIO_write_blocked Unexecuted instantiation: timer.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: ncacn_http.c:BIO_write_blocked Unexecuted instantiation: tls.c:BIO_write_blocked Unexecuted instantiation: utils.c:BIO_write_blocked Unexecuted instantiation: activation.c:BIO_write_blocked Unexecuted instantiation: mcs.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: license.c:BIO_write_blocked Unexecuted instantiation: security.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: server.c:BIO_write_blocked Unexecuted instantiation: codecs.c:BIO_write_blocked Unexecuted instantiation: metrics.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: childsession.c:BIO_write_blocked Unexecuted instantiation: tcp.c:BIO_write_blocked Unexecuted instantiation: proxy.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: arm.c:BIO_write_blocked Unexecuted instantiation: gdi.c:BIO_write_blocked Unexecuted instantiation: gcc.c:BIO_write_blocked Unexecuted instantiation: TestFuzzCoreServer.c:BIO_write_blocked Unexecuted instantiation: TestFuzzCoreClient.c:BIO_write_blocked Unexecuted instantiation: gfx.c:BIO_write_blocked Unexecuted instantiation: video.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: settings.c:BIO_wait_read Unexecuted instantiation: capabilities.c:BIO_wait_read Unexecuted instantiation: rdp.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: rdstls.c:BIO_wait_read Unexecuted instantiation: aad.c:BIO_wait_read Unexecuted instantiation: timer.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: ncacn_http.c:BIO_wait_read Unexecuted instantiation: tls.c:BIO_wait_read Unexecuted instantiation: utils.c:BIO_wait_read Unexecuted instantiation: activation.c:BIO_wait_read Unexecuted instantiation: mcs.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: license.c:BIO_wait_read Unexecuted instantiation: security.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: server.c:BIO_wait_read Unexecuted instantiation: codecs.c:BIO_wait_read Unexecuted instantiation: metrics.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: childsession.c:BIO_wait_read Unexecuted instantiation: tcp.c:BIO_wait_read Unexecuted instantiation: proxy.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: arm.c:BIO_wait_read Unexecuted instantiation: gdi.c:BIO_wait_read Unexecuted instantiation: gcc.c:BIO_wait_read Unexecuted instantiation: TestFuzzCoreServer.c:BIO_wait_read Unexecuted instantiation: TestFuzzCoreClient.c:BIO_wait_read Unexecuted instantiation: gfx.c:BIO_wait_read Unexecuted instantiation: video.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: settings.c:BIO_wait_write Unexecuted instantiation: capabilities.c:BIO_wait_write Unexecuted instantiation: rdp.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: rdstls.c:BIO_wait_write Unexecuted instantiation: aad.c:BIO_wait_write Unexecuted instantiation: timer.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: ncacn_http.c:BIO_wait_write Unexecuted instantiation: tls.c:BIO_wait_write Unexecuted instantiation: utils.c:BIO_wait_write Unexecuted instantiation: activation.c:BIO_wait_write Unexecuted instantiation: mcs.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: license.c:BIO_wait_write Unexecuted instantiation: security.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: server.c:BIO_wait_write Unexecuted instantiation: codecs.c:BIO_wait_write Unexecuted instantiation: metrics.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: childsession.c:BIO_wait_write Unexecuted instantiation: tcp.c:BIO_wait_write Unexecuted instantiation: proxy.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: arm.c:BIO_wait_write Unexecuted instantiation: gdi.c:BIO_wait_write Unexecuted instantiation: gcc.c:BIO_wait_write Unexecuted instantiation: TestFuzzCoreServer.c:BIO_wait_write Unexecuted instantiation: TestFuzzCoreClient.c:BIO_wait_write Unexecuted instantiation: gfx.c:BIO_wait_write Unexecuted instantiation: video.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 */ |