Coverage Report

Created: 2025-07-01 06:46

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