Coverage Report

Created: 2026-02-26 06:54

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/FreeRDP/libfreerdp/core/tcp.h
Line
Count
Source
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.8k
#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
WINPR_ATTR_NODISCARD
58
static inline long BIO_set_socket(BIO* b, SOCKET s, long c)
59
0
{
60
0
  return BIO_ctrl(b, BIO_C_SET_SOCKET, c, (void*)(intptr_t)s);
61
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
62
63
static inline long BIO_get_socket(BIO* b, SOCKET* c)
64
0
{
65
0
  return BIO_ctrl(b, BIO_C_GET_SOCKET, 0, c);
66
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
67
68
static inline long BIO_get_event(BIO* b, HANDLE* c)
69
0
{
70
0
  return BIO_ctrl(b, BIO_C_GET_EVENT, 0, (void*)c);
71
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
72
73
static inline long BIO_set_handle(BIO* b, HANDLE h)
74
0
{
75
0
  return BIO_ctrl(b, BIO_C_SET_HANDLE, 0, h);
76
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
77
78
static inline long BIO_set_nonblock(BIO* b, long c)
79
6.40k
{
80
6.40k
  return BIO_ctrl(b, BIO_C_SET_NONBLOCK, c, NULL);
81
6.40k
}
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
transport.c:BIO_set_nonblock
Line
Count
Source
79
6.40k
{
80
6.40k
  return BIO_ctrl(b, BIO_C_SET_NONBLOCK, c, NULL);
81
6.40k
}
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
82
83
WINPR_ATTR_NODISCARD
84
static inline long BIO_read_blocked(BIO* b)
85
0
{
86
0
  return BIO_ctrl(b, BIO_C_READ_BLOCKED, 0, NULL);
87
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
88
89
WINPR_ATTR_NODISCARD
90
static inline long BIO_write_blocked(BIO* b)
91
0
{
92
0
  return BIO_ctrl(b, BIO_C_WRITE_BLOCKED, 0, NULL);
93
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
94
95
static inline long BIO_wait_read(BIO* b, long c)
96
0
{
97
0
  return BIO_ctrl(b, BIO_C_WAIT_READ, c, NULL);
98
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
99
100
WINPR_ATTR_NODISCARD
101
static inline long BIO_wait_write(BIO* b, long c)
102
0
{
103
0
  return BIO_ctrl(b, BIO_C_WAIT_WRITE, c, NULL);
104
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
105
106
WINPR_ATTR_NODISCARD
107
FREERDP_LOCAL BIO_METHOD* BIO_s_simple_socket(void);
108
109
WINPR_ATTR_NODISCARD
110
FREERDP_LOCAL BIO_METHOD* BIO_s_buffered_socket(void);
111
112
WINPR_ATTR_NODISCARD
113
FREERDP_LOCAL BOOL freerdp_tcp_set_keep_alive_mode(const rdpSettings* settings, int sockfd);
114
115
WINPR_ATTR_NODISCARD
116
FREERDP_LOCAL int freerdp_tcp_connect(rdpContext* context, const char* hostname, int port,
117
                                      DWORD timeout);
118
119
WINPR_ATTR_NODISCARD
120
FREERDP_LOCAL int freerdp_tcp_default_connect(rdpContext* context, rdpSettings* settings,
121
                                              const char* hostname, int port, DWORD timeout);
122
123
WINPR_ATTR_NODISCARD
124
FREERDP_LOCAL rdpTransportLayer*
125
freerdp_tcp_connect_layer(rdpContext* context, const char* hostname, int port, DWORD timeout);
126
127
WINPR_ATTR_MALLOC(free, 1)
128
WINPR_ATTR_NODISCARD
129
FREERDP_LOCAL char* freerdp_tcp_get_peer_address(SOCKET sockfd);
130
131
WINPR_ATTR_NODISCARD
132
FREERDP_LOCAL struct addrinfo* freerdp_tcp_resolve_host(const char* hostname, int port,
133
                                                        int ai_flags);
134
135
WINPR_ATTR_NODISCARD
136
FREERDP_LOCAL char* freerdp_tcp_address_to_string(const struct sockaddr_storage* addr, BOOL* pIPv6);
137
138
FREERDP_LOCAL BOOL freerdp_tcp_set_nodelay(wLog* log, DWORD level, int sockfd);
139
140
#endif /* FREERDP_LIB_CORE_TCP_H */