Coverage Report

Created: 2026-09-01 06:34

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/FreeRDP/winpr/include/winpr/stream.h
Line
Count
Source
1
/*
2
 * WinPR: Windows Portable Runtime
3
 * Stream Utils
4
 *
5
 * Copyright 2011 Vic Lee
6
 * Copyright 2012 Marc-Andre Moreau <marcandre.moreau@gmail.com>
7
 * Copyright 2017 Armin Novak <armin.novak@thincast.com>
8
 * Copyright 2017 Thincast Technologies GmbH
9
 *
10
 * Licensed under the Apache License, Version 2.0 (the "License");
11
 * you may not use this file except in compliance with the License.
12
 * You may obtain a copy of the License at
13
 *
14
 *     http://www.apache.org/licenses/LICENSE-2.0
15
 *
16
 * Unless required by applicable law or agreed to in writing, software
17
 * distributed under the License is distributed on an "AS IS" BASIS,
18
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19
 * See the License for the specific language governing permissions and
20
 * limitations under the License.
21
 */
22
23
#ifndef WINPR_UTILS_STREAM_H
24
#define WINPR_UTILS_STREAM_H
25
26
#include <winpr/winpr.h>
27
#include <winpr/wtypes.h>
28
#include <winpr/endian.h>
29
#include <winpr/synch.h>
30
#include <winpr/assert.h>
31
#include <winpr/cast.h>
32
#include <winpr/wlog.h>
33
34
#ifdef __cplusplus
35
extern "C"
36
{
37
#endif
38
39
  typedef struct s_wStreamPool wStreamPool;
40
41
  typedef struct
42
  {
43
    BYTE* buffer;
44
    BYTE* pointer;
45
    size_t length;
46
    size_t capacity;
47
48
    DWORD count;
49
    wStreamPool* pool;
50
    BOOL isAllocatedStream;
51
    BOOL isOwner;
52
  } wStream;
53
54
  /** @brief helper initializing a \b wStream context
55
   *
56
   * @return The initialized context
57
   * @since version 3.24.0
58
   */
59
  WINPR_ATTR_NODISCARD
60
  static inline wStream Stream_Init(void)
61
0
  {
62
0
    const wStream empty = { nullptr, nullptr, 0, 0, 0, nullptr, FALSE, FALSE };
63
0
    return empty;
64
0
  }
Unexecuted instantiation: BinaryAppender.c:Stream_Init
Unexecuted instantiation: clipboard.c:Stream_Init
Unexecuted instantiation: synthetic_file.c:Stream_Init
Unexecuted instantiation: event.c:Stream_Init
Unexecuted instantiation: wait.c:Stream_Init
Unexecuted instantiation: generic.c:Stream_Init
Unexecuted instantiation: namedPipeClient.c:Stream_Init
Unexecuted instantiation: comm.c:Stream_Init
Unexecuted instantiation: comm_ioctl.c:Stream_Init
Unexecuted instantiation: comm_serial_sys.c:Stream_Init
Unexecuted instantiation: comm_sercx_sys.c:Stream_Init
Unexecuted instantiation: comm_sercx2_sys.c:Stream_Init
Unexecuted instantiation: pipe.c:Stream_Init
Unexecuted instantiation: stream.c:Stream_Init
Unexecuted instantiation: ArrayList.c:Stream_Init
Unexecuted instantiation: PacketMessage.c:Stream_Init
Unexecuted instantiation: handle.c:Stream_Init
Unexecuted instantiation: thread.c:Stream_Init
Unexecuted instantiation: synthetic.c:Stream_Init
Unexecuted instantiation: comm_io.c:Stream_Init
Unexecuted instantiation: image.c:Stream_Init
65
66
  WINPR_ATTR_NODISCARD static inline size_t Stream_Capacity(const wStream* _s);
67
68
  WINPR_ATTR_NODISCARD
69
  WINPR_API size_t Stream_GetRemainingCapacity(const wStream* _s);
70
71
  WINPR_ATTR_NODISCARD
72
  WINPR_API size_t Stream_GetRemainingLength(const wStream* _s);
73
74
  WINPR_ATTR_NODISCARD
75
  WINPR_API BOOL Stream_EnsureCapacity(wStream* s, size_t size);
76
77
  WINPR_ATTR_NODISCARD
78
  WINPR_API BOOL Stream_EnsureRemainingCapacity(wStream* s, size_t size);
79
80
3.99k
#define WINPR_STREAM_CAST(t, val) WINPR_CXX_COMPAT_CAST(t, val)
81
82
#define Stream_CheckAndLogRequiredCapacityOfSize(tag, s, nmemb, size)                         \
83
0
  Stream_CheckAndLogRequiredCapacityEx(tag, WLOG_WARN, s, nmemb, size, "%s(%s:%" PRIuz ")", \
84
0
                                       __func__, __FILE__, (size_t)__LINE__)
85
#define Stream_CheckAndLogRequiredCapacity(tag, s, len) \
86
  Stream_CheckAndLogRequiredCapacityOfSize((tag), (s), (len), 1)
87
88
  WINPR_ATTR_NODISCARD
89
  WINPR_API BOOL Stream_CheckAndLogRequiredCapacityEx(const char* tag, DWORD level, wStream* s,
90
                                                      size_t nmemb, size_t size, const char* fmt,
91
                                                      ...);
92
93
  WINPR_ATTR_NODISCARD
94
  WINPR_API BOOL Stream_CheckAndLogRequiredCapacityExVa(const char* tag, DWORD level, wStream* s,
95
                                                        size_t nmemb, size_t size,
96
                                                        const char* fmt, va_list args);
97
98
#define Stream_CheckAndLogRequiredCapacityOfSizeWLog(log, s, nmemb, size)                         \
99
  Stream_CheckAndLogRequiredCapacityWLogEx(log, WLOG_WARN, s, nmemb, size, "%s(%s:%" PRIuz ")", \
100
                                           __func__, __FILE__, (size_t)__LINE__)
101
102
#define Stream_CheckAndLogRequiredCapacityWLog(log, s, len) \
103
  Stream_CheckAndLogRequiredCapacityOfSizeWLog((log), (s), (len), 1)
104
105
  WINPR_ATTR_NODISCARD
106
  WINPR_API BOOL Stream_CheckAndLogRequiredCapacityWLogEx(wLog* log, DWORD level, wStream* s,
107
                                                          size_t nmemb, size_t size,
108
                                                          const char* fmt, ...);
109
110
  WINPR_ATTR_NODISCARD
111
  WINPR_API BOOL Stream_CheckAndLogRequiredCapacityWLogExVa(wLog* log, DWORD level, wStream* s,
112
                                                            size_t nmemb, size_t size,
113
                                                            const char* fmt, va_list args);
114
115
  WINPR_API void Stream_Free(wStream* s, BOOL bFreeBuffer);
116
117
  WINPR_ATTR_MALLOC(Stream_Free, 1)
118
  WINPR_API wStream* Stream_New(BYTE* buffer, size_t size);
119
120
  WINPR_API wStream* Stream_StaticConstInit(wStream* s, const BYTE* buffer, size_t size);
121
122
  WINPR_API wStream* Stream_StaticInit(wStream* s, BYTE* buffer, size_t size);
123
124
#define Stream_CheckAndLogRequiredLengthOfSize(tag, s, nmemb, size)                         \
125
1.31k
  Stream_CheckAndLogRequiredLengthEx(tag, WLOG_WARN, s, nmemb, size, "%s(%s:%" PRIuz ")", \
126
1.31k
                                     __func__, __FILE__, (size_t)__LINE__)
127
#define Stream_CheckAndLogRequiredLength(tag, s, len) \
128
1.31k
  Stream_CheckAndLogRequiredLengthOfSize(tag, s, len, 1)
129
130
  WINPR_ATTR_NODISCARD
131
  WINPR_API BOOL Stream_CheckAndLogRequiredLengthEx(const char* tag, DWORD level, wStream* s,
132
                                                    size_t nmemb, size_t size, const char* fmt,
133
                                                    ...);
134
135
  WINPR_ATTR_NODISCARD
136
  WINPR_API BOOL Stream_CheckAndLogRequiredLengthExVa(const char* tag, DWORD level, wStream* s,
137
                                                      size_t nmemb, size_t size, const char* fmt,
138
                                                      va_list args);
139
140
#define Stream_CheckAndLogRequiredLengthOfSizeWLog(log, s, nmemb, size)                         \
141
203
  Stream_CheckAndLogRequiredLengthWLogEx(log, WLOG_WARN, s, nmemb, size, "%s(%s:%" PRIuz ")", \
142
203
                                         __func__, __FILE__, (size_t)__LINE__)
143
#define Stream_CheckAndLogRequiredLengthWLog(log, s, len) \
144
203
  Stream_CheckAndLogRequiredLengthOfSizeWLog(log, s, len, 1)
145
146
  WINPR_ATTR_NODISCARD
147
  WINPR_API BOOL Stream_CheckAndLogRequiredLengthWLogEx(wLog* log, DWORD level, wStream* s,
148
                                                        size_t nmemb, size_t size,
149
                                                        const char* fmt, ...);
150
151
  WINPR_ATTR_NODISCARD
152
  WINPR_API BOOL Stream_CheckAndLogRequiredLengthWLogExVa(wLog* log, DWORD level, wStream* s,
153
                                                          size_t nmemb, size_t size,
154
                                                          const char* fmt, va_list args);
155
156
  static inline void Stream_Seek(wStream* s, size_t _offset)
157
18.3k
  {
158
18.3k
    WINPR_ASSERT(s);
159
18.3k
    WINPR_ASSERT(Stream_GetRemainingCapacity(s) >= _offset);
160
18.3k
    s->pointer += (_offset);
161
18.3k
  }
Unexecuted instantiation: BinaryAppender.c:Stream_Seek
Unexecuted instantiation: clipboard.c:Stream_Seek
Unexecuted instantiation: synthetic_file.c:Stream_Seek
Unexecuted instantiation: event.c:Stream_Seek
Unexecuted instantiation: wait.c:Stream_Seek
Unexecuted instantiation: generic.c:Stream_Seek
Unexecuted instantiation: namedPipeClient.c:Stream_Seek
Unexecuted instantiation: comm.c:Stream_Seek
Unexecuted instantiation: comm_ioctl.c:Stream_Seek
Unexecuted instantiation: comm_serial_sys.c:Stream_Seek
Unexecuted instantiation: comm_sercx_sys.c:Stream_Seek
Unexecuted instantiation: comm_sercx2_sys.c:Stream_Seek
Unexecuted instantiation: pipe.c:Stream_Seek
stream.c:Stream_Seek
Line
Count
Source
157
430
  {
158
430
    WINPR_ASSERT(s);
159
430
    WINPR_ASSERT(Stream_GetRemainingCapacity(s) >= _offset);
160
430
    s->pointer += (_offset);
161
430
  }
Unexecuted instantiation: ArrayList.c:Stream_Seek
Unexecuted instantiation: PacketMessage.c:Stream_Seek
Unexecuted instantiation: handle.c:Stream_Seek
Unexecuted instantiation: thread.c:Stream_Seek
synthetic.c:Stream_Seek
Line
Count
Source
157
2.59k
  {
158
2.59k
    WINPR_ASSERT(s);
159
2.59k
    WINPR_ASSERT(Stream_GetRemainingCapacity(s) >= _offset);
160
2.59k
    s->pointer += (_offset);
161
2.59k
  }
Unexecuted instantiation: comm_io.c:Stream_Seek
image.c:Stream_Seek
Line
Count
Source
157
15.3k
  {
158
15.3k
    WINPR_ASSERT(s);
159
15.3k
    WINPR_ASSERT(Stream_GetRemainingCapacity(s) >= _offset);
160
15.3k
    s->pointer += (_offset);
161
15.3k
  }
162
163
  static inline void Stream_Rewind(wStream* s, size_t _offset)
164
0
  {
165
0
    size_t cur = 0;
166
0
    WINPR_ASSERT(s);
167
0
    WINPR_ASSERT(s->buffer <= s->pointer);
168
0
    cur = WINPR_STREAM_CAST(size_t, s->pointer - s->buffer);
169
0
    WINPR_ASSERT(cur >= _offset);
170
0
    if (cur >= _offset)
171
0
      s->pointer -= (_offset);
172
0
    else
173
0
      s->pointer = s->buffer;
174
0
  }
Unexecuted instantiation: BinaryAppender.c:Stream_Rewind
Unexecuted instantiation: clipboard.c:Stream_Rewind
Unexecuted instantiation: synthetic_file.c:Stream_Rewind
Unexecuted instantiation: event.c:Stream_Rewind
Unexecuted instantiation: wait.c:Stream_Rewind
Unexecuted instantiation: generic.c:Stream_Rewind
Unexecuted instantiation: namedPipeClient.c:Stream_Rewind
Unexecuted instantiation: comm.c:Stream_Rewind
Unexecuted instantiation: comm_ioctl.c:Stream_Rewind
Unexecuted instantiation: comm_serial_sys.c:Stream_Rewind
Unexecuted instantiation: comm_sercx_sys.c:Stream_Rewind
Unexecuted instantiation: comm_sercx2_sys.c:Stream_Rewind
Unexecuted instantiation: pipe.c:Stream_Rewind
Unexecuted instantiation: stream.c:Stream_Rewind
Unexecuted instantiation: ArrayList.c:Stream_Rewind
Unexecuted instantiation: PacketMessage.c:Stream_Rewind
Unexecuted instantiation: handle.c:Stream_Rewind
Unexecuted instantiation: thread.c:Stream_Rewind
Unexecuted instantiation: synthetic.c:Stream_Rewind
Unexecuted instantiation: comm_io.c:Stream_Rewind
Unexecuted instantiation: image.c:Stream_Rewind
175
176
  WINPR_ATTR_NODISCARD static inline UINT8 stream_read_u8(wStream* _s, BOOL seek)
177
284
  {
178
284
    WINPR_ASSERT(_s);
179
284
    WINPR_ASSERT(Stream_GetRemainingLength(_s) >= sizeof(UINT8));
180
181
284
    const UINT8 v = winpr_Data_Get_UINT8(_s->pointer);
182
284
    if (seek)
183
284
      Stream_Seek(_s, sizeof(UINT8));
184
284
    return v;
185
284
  }
Unexecuted instantiation: BinaryAppender.c:stream_read_u8
Unexecuted instantiation: clipboard.c:stream_read_u8
Unexecuted instantiation: synthetic_file.c:stream_read_u8
Unexecuted instantiation: event.c:stream_read_u8
Unexecuted instantiation: wait.c:stream_read_u8
Unexecuted instantiation: generic.c:stream_read_u8
Unexecuted instantiation: namedPipeClient.c:stream_read_u8
Unexecuted instantiation: comm.c:stream_read_u8
Unexecuted instantiation: comm_ioctl.c:stream_read_u8
Unexecuted instantiation: comm_serial_sys.c:stream_read_u8
Unexecuted instantiation: comm_sercx_sys.c:stream_read_u8
Unexecuted instantiation: comm_sercx2_sys.c:stream_read_u8
Unexecuted instantiation: pipe.c:stream_read_u8
Unexecuted instantiation: stream.c:stream_read_u8
Unexecuted instantiation: ArrayList.c:stream_read_u8
Unexecuted instantiation: PacketMessage.c:stream_read_u8
Unexecuted instantiation: handle.c:stream_read_u8
Unexecuted instantiation: thread.c:stream_read_u8
Unexecuted instantiation: synthetic.c:stream_read_u8
Unexecuted instantiation: comm_io.c:stream_read_u8
image.c:stream_read_u8
Line
Count
Source
177
284
  {
178
284
    WINPR_ASSERT(_s);
179
284
    WINPR_ASSERT(Stream_GetRemainingLength(_s) >= sizeof(UINT8));
180
181
284
    const UINT8 v = winpr_Data_Get_UINT8(_s->pointer);
182
284
    if (seek)
183
284
      Stream_Seek(_s, sizeof(UINT8));
184
284
    return v;
185
284
  }
186
187
  WINPR_ATTR_NODISCARD static inline INT8 stream_read_i8(wStream* _s, BOOL seek)
188
0
  {
189
0
    const INT8 v = winpr_Data_Get_INT8(_s->pointer);
190
0
    if (seek)
191
0
      Stream_Seek(_s, sizeof(INT8));
192
0
    return v;
193
0
  }
Unexecuted instantiation: BinaryAppender.c:stream_read_i8
Unexecuted instantiation: clipboard.c:stream_read_i8
Unexecuted instantiation: synthetic_file.c:stream_read_i8
Unexecuted instantiation: event.c:stream_read_i8
Unexecuted instantiation: wait.c:stream_read_i8
Unexecuted instantiation: generic.c:stream_read_i8
Unexecuted instantiation: namedPipeClient.c:stream_read_i8
Unexecuted instantiation: comm.c:stream_read_i8
Unexecuted instantiation: comm_ioctl.c:stream_read_i8
Unexecuted instantiation: comm_serial_sys.c:stream_read_i8
Unexecuted instantiation: comm_sercx_sys.c:stream_read_i8
Unexecuted instantiation: comm_sercx2_sys.c:stream_read_i8
Unexecuted instantiation: pipe.c:stream_read_i8
Unexecuted instantiation: stream.c:stream_read_i8
Unexecuted instantiation: ArrayList.c:stream_read_i8
Unexecuted instantiation: PacketMessage.c:stream_read_i8
Unexecuted instantiation: handle.c:stream_read_i8
Unexecuted instantiation: thread.c:stream_read_i8
Unexecuted instantiation: synthetic.c:stream_read_i8
Unexecuted instantiation: comm_io.c:stream_read_i8
Unexecuted instantiation: image.c:stream_read_i8
194
195
  WINPR_ATTR_NODISCARD static inline UINT16 stream_read_u16_le(wStream* _s, BOOL seek)
196
2.91k
  {
197
2.91k
    const size_t typesize = sizeof(UINT16);
198
2.91k
    WINPR_ASSERT(_s);
199
2.91k
    WINPR_ASSERT(Stream_GetRemainingLength(_s) >= typesize);
200
201
2.91k
    const UINT16 v = winpr_Data_Get_UINT16(_s->pointer);
202
2.91k
    if (seek)
203
2.91k
      Stream_Seek(_s, typesize);
204
2.91k
    return v;
205
2.91k
  }
Unexecuted instantiation: BinaryAppender.c:stream_read_u16_le
Unexecuted instantiation: clipboard.c:stream_read_u16_le
Unexecuted instantiation: synthetic_file.c:stream_read_u16_le
Unexecuted instantiation: event.c:stream_read_u16_le
Unexecuted instantiation: wait.c:stream_read_u16_le
Unexecuted instantiation: generic.c:stream_read_u16_le
Unexecuted instantiation: namedPipeClient.c:stream_read_u16_le
Unexecuted instantiation: comm.c:stream_read_u16_le
Unexecuted instantiation: comm_ioctl.c:stream_read_u16_le
Unexecuted instantiation: comm_serial_sys.c:stream_read_u16_le
Unexecuted instantiation: comm_sercx_sys.c:stream_read_u16_le
Unexecuted instantiation: comm_sercx2_sys.c:stream_read_u16_le
Unexecuted instantiation: pipe.c:stream_read_u16_le
Unexecuted instantiation: stream.c:stream_read_u16_le
Unexecuted instantiation: ArrayList.c:stream_read_u16_le
Unexecuted instantiation: PacketMessage.c:stream_read_u16_le
Unexecuted instantiation: handle.c:stream_read_u16_le
Unexecuted instantiation: thread.c:stream_read_u16_le
Unexecuted instantiation: synthetic.c:stream_read_u16_le
Unexecuted instantiation: comm_io.c:stream_read_u16_le
image.c:stream_read_u16_le
Line
Count
Source
196
2.91k
  {
197
2.91k
    const size_t typesize = sizeof(UINT16);
198
2.91k
    WINPR_ASSERT(_s);
199
2.91k
    WINPR_ASSERT(Stream_GetRemainingLength(_s) >= typesize);
200
201
2.91k
    const UINT16 v = winpr_Data_Get_UINT16(_s->pointer);
202
2.91k
    if (seek)
203
2.91k
      Stream_Seek(_s, typesize);
204
2.91k
    return v;
205
2.91k
  }
206
207
  WINPR_ATTR_NODISCARD static inline UINT16 stream_read_u16_be(wStream* _s, BOOL seek)
208
0
  {
209
0
    const size_t typesize = sizeof(UINT16);
210
0
    WINPR_ASSERT(_s);
211
0
    WINPR_ASSERT(Stream_GetRemainingLength(_s) >= typesize);
212
0
213
0
    const UINT16 v = winpr_Data_Get_UINT16_BE(_s->pointer);
214
0
    if (seek)
215
0
      Stream_Seek(_s, typesize);
216
0
    return v;
217
0
  }
Unexecuted instantiation: BinaryAppender.c:stream_read_u16_be
Unexecuted instantiation: clipboard.c:stream_read_u16_be
Unexecuted instantiation: synthetic_file.c:stream_read_u16_be
Unexecuted instantiation: event.c:stream_read_u16_be
Unexecuted instantiation: wait.c:stream_read_u16_be
Unexecuted instantiation: generic.c:stream_read_u16_be
Unexecuted instantiation: namedPipeClient.c:stream_read_u16_be
Unexecuted instantiation: comm.c:stream_read_u16_be
Unexecuted instantiation: comm_ioctl.c:stream_read_u16_be
Unexecuted instantiation: comm_serial_sys.c:stream_read_u16_be
Unexecuted instantiation: comm_sercx_sys.c:stream_read_u16_be
Unexecuted instantiation: comm_sercx2_sys.c:stream_read_u16_be
Unexecuted instantiation: pipe.c:stream_read_u16_be
Unexecuted instantiation: stream.c:stream_read_u16_be
Unexecuted instantiation: ArrayList.c:stream_read_u16_be
Unexecuted instantiation: PacketMessage.c:stream_read_u16_be
Unexecuted instantiation: handle.c:stream_read_u16_be
Unexecuted instantiation: thread.c:stream_read_u16_be
Unexecuted instantiation: synthetic.c:stream_read_u16_be
Unexecuted instantiation: comm_io.c:stream_read_u16_be
Unexecuted instantiation: image.c:stream_read_u16_be
218
219
  WINPR_ATTR_NODISCARD static inline INT16 stream_read_i16_le(wStream* _s, BOOL seek)
220
0
  {
221
0
    const size_t typesize = sizeof(INT16);
222
0
    WINPR_ASSERT(_s);
223
0
    WINPR_ASSERT(Stream_GetRemainingLength(_s) >= typesize);
224
0
225
0
    const INT16 v = winpr_Data_Get_INT16(_s->pointer);
226
0
    if (seek)
227
0
      Stream_Seek(_s, typesize);
228
0
    return v;
229
0
  }
Unexecuted instantiation: BinaryAppender.c:stream_read_i16_le
Unexecuted instantiation: clipboard.c:stream_read_i16_le
Unexecuted instantiation: synthetic_file.c:stream_read_i16_le
Unexecuted instantiation: event.c:stream_read_i16_le
Unexecuted instantiation: wait.c:stream_read_i16_le
Unexecuted instantiation: generic.c:stream_read_i16_le
Unexecuted instantiation: namedPipeClient.c:stream_read_i16_le
Unexecuted instantiation: comm.c:stream_read_i16_le
Unexecuted instantiation: comm_ioctl.c:stream_read_i16_le
Unexecuted instantiation: comm_serial_sys.c:stream_read_i16_le
Unexecuted instantiation: comm_sercx_sys.c:stream_read_i16_le
Unexecuted instantiation: comm_sercx2_sys.c:stream_read_i16_le
Unexecuted instantiation: pipe.c:stream_read_i16_le
Unexecuted instantiation: stream.c:stream_read_i16_le
Unexecuted instantiation: ArrayList.c:stream_read_i16_le
Unexecuted instantiation: PacketMessage.c:stream_read_i16_le
Unexecuted instantiation: handle.c:stream_read_i16_le
Unexecuted instantiation: thread.c:stream_read_i16_le
Unexecuted instantiation: synthetic.c:stream_read_i16_le
Unexecuted instantiation: comm_io.c:stream_read_i16_le
Unexecuted instantiation: image.c:stream_read_i16_le
230
231
  WINPR_ATTR_NODISCARD static inline INT16 stream_read_i16_be(wStream* _s, BOOL seek)
232
0
  {
233
0
    const size_t typesize = sizeof(INT16);
234
0
    WINPR_ASSERT(_s);
235
0
    WINPR_ASSERT(Stream_GetRemainingLength(_s) >= typesize);
236
0
237
0
    const INT16 v = winpr_Data_Get_INT16_BE(_s->pointer);
238
0
    if (seek)
239
0
      Stream_Seek(_s, typesize);
240
0
    return v;
241
0
  }
Unexecuted instantiation: BinaryAppender.c:stream_read_i16_be
Unexecuted instantiation: clipboard.c:stream_read_i16_be
Unexecuted instantiation: synthetic_file.c:stream_read_i16_be
Unexecuted instantiation: event.c:stream_read_i16_be
Unexecuted instantiation: wait.c:stream_read_i16_be
Unexecuted instantiation: generic.c:stream_read_i16_be
Unexecuted instantiation: namedPipeClient.c:stream_read_i16_be
Unexecuted instantiation: comm.c:stream_read_i16_be
Unexecuted instantiation: comm_ioctl.c:stream_read_i16_be
Unexecuted instantiation: comm_serial_sys.c:stream_read_i16_be
Unexecuted instantiation: comm_sercx_sys.c:stream_read_i16_be
Unexecuted instantiation: comm_sercx2_sys.c:stream_read_i16_be
Unexecuted instantiation: pipe.c:stream_read_i16_be
Unexecuted instantiation: stream.c:stream_read_i16_be
Unexecuted instantiation: ArrayList.c:stream_read_i16_be
Unexecuted instantiation: PacketMessage.c:stream_read_i16_be
Unexecuted instantiation: handle.c:stream_read_i16_be
Unexecuted instantiation: thread.c:stream_read_i16_be
Unexecuted instantiation: synthetic.c:stream_read_i16_be
Unexecuted instantiation: comm_io.c:stream_read_i16_be
Unexecuted instantiation: image.c:stream_read_i16_be
242
243
  WINPR_ATTR_NODISCARD static inline UINT32 stream_read_u32_le(wStream* _s, BOOL seek)
244
6.85k
  {
245
6.85k
    const size_t typesize = sizeof(UINT32);
246
6.85k
    WINPR_ASSERT(_s);
247
6.85k
    WINPR_ASSERT(Stream_GetRemainingLength(_s) >= typesize);
248
249
6.85k
    const UINT32 v = winpr_Data_Get_UINT32(_s->pointer);
250
6.85k
    if (seek)
251
6.85k
      Stream_Seek(_s, typesize);
252
6.85k
    return v;
253
6.85k
  }
Unexecuted instantiation: BinaryAppender.c:stream_read_u32_le
Unexecuted instantiation: clipboard.c:stream_read_u32_le
Unexecuted instantiation: synthetic_file.c:stream_read_u32_le
Unexecuted instantiation: event.c:stream_read_u32_le
Unexecuted instantiation: wait.c:stream_read_u32_le
Unexecuted instantiation: generic.c:stream_read_u32_le
Unexecuted instantiation: namedPipeClient.c:stream_read_u32_le
Unexecuted instantiation: comm.c:stream_read_u32_le
Unexecuted instantiation: comm_ioctl.c:stream_read_u32_le
Unexecuted instantiation: comm_serial_sys.c:stream_read_u32_le
Unexecuted instantiation: comm_sercx_sys.c:stream_read_u32_le
Unexecuted instantiation: comm_sercx2_sys.c:stream_read_u32_le
Unexecuted instantiation: pipe.c:stream_read_u32_le
Unexecuted instantiation: stream.c:stream_read_u32_le
Unexecuted instantiation: ArrayList.c:stream_read_u32_le
Unexecuted instantiation: PacketMessage.c:stream_read_u32_le
Unexecuted instantiation: handle.c:stream_read_u32_le
Unexecuted instantiation: thread.c:stream_read_u32_le
Unexecuted instantiation: synthetic.c:stream_read_u32_le
Unexecuted instantiation: comm_io.c:stream_read_u32_le
image.c:stream_read_u32_le
Line
Count
Source
244
6.85k
  {
245
6.85k
    const size_t typesize = sizeof(UINT32);
246
6.85k
    WINPR_ASSERT(_s);
247
6.85k
    WINPR_ASSERT(Stream_GetRemainingLength(_s) >= typesize);
248
249
6.85k
    const UINT32 v = winpr_Data_Get_UINT32(_s->pointer);
250
6.85k
    if (seek)
251
6.85k
      Stream_Seek(_s, typesize);
252
6.85k
    return v;
253
6.85k
  }
254
255
  WINPR_ATTR_NODISCARD static inline UINT32 stream_read_u32_be(wStream* _s, BOOL seek)
256
0
  {
257
0
    const size_t typesize = sizeof(UINT32);
258
0
    WINPR_ASSERT(_s);
259
0
    WINPR_ASSERT(Stream_GetRemainingLength(_s) >= typesize);
260
0
261
0
    const UINT32 v = winpr_Data_Get_UINT32_BE(_s->pointer);
262
0
    if (seek)
263
0
      Stream_Seek(_s, typesize);
264
0
    return v;
265
0
  }
Unexecuted instantiation: BinaryAppender.c:stream_read_u32_be
Unexecuted instantiation: clipboard.c:stream_read_u32_be
Unexecuted instantiation: synthetic_file.c:stream_read_u32_be
Unexecuted instantiation: event.c:stream_read_u32_be
Unexecuted instantiation: wait.c:stream_read_u32_be
Unexecuted instantiation: generic.c:stream_read_u32_be
Unexecuted instantiation: namedPipeClient.c:stream_read_u32_be
Unexecuted instantiation: comm.c:stream_read_u32_be
Unexecuted instantiation: comm_ioctl.c:stream_read_u32_be
Unexecuted instantiation: comm_serial_sys.c:stream_read_u32_be
Unexecuted instantiation: comm_sercx_sys.c:stream_read_u32_be
Unexecuted instantiation: comm_sercx2_sys.c:stream_read_u32_be
Unexecuted instantiation: pipe.c:stream_read_u32_be
Unexecuted instantiation: stream.c:stream_read_u32_be
Unexecuted instantiation: ArrayList.c:stream_read_u32_be
Unexecuted instantiation: PacketMessage.c:stream_read_u32_be
Unexecuted instantiation: handle.c:stream_read_u32_be
Unexecuted instantiation: thread.c:stream_read_u32_be
Unexecuted instantiation: synthetic.c:stream_read_u32_be
Unexecuted instantiation: comm_io.c:stream_read_u32_be
Unexecuted instantiation: image.c:stream_read_u32_be
266
267
  WINPR_ATTR_NODISCARD static inline INT32 stream_read_i32_le(wStream* _s, BOOL seek)
268
5.26k
  {
269
5.26k
    const size_t typesize = sizeof(INT32);
270
5.26k
    WINPR_ASSERT(_s);
271
5.26k
    WINPR_ASSERT(Stream_GetRemainingLength(_s) >= typesize);
272
273
5.26k
    const INT32 v = winpr_Data_Get_INT32(_s->pointer);
274
5.26k
    if (seek)
275
5.26k
      Stream_Seek(_s, typesize);
276
5.26k
    return v;
277
5.26k
  }
Unexecuted instantiation: BinaryAppender.c:stream_read_i32_le
Unexecuted instantiation: clipboard.c:stream_read_i32_le
Unexecuted instantiation: synthetic_file.c:stream_read_i32_le
Unexecuted instantiation: event.c:stream_read_i32_le
Unexecuted instantiation: wait.c:stream_read_i32_le
Unexecuted instantiation: generic.c:stream_read_i32_le
Unexecuted instantiation: namedPipeClient.c:stream_read_i32_le
Unexecuted instantiation: comm.c:stream_read_i32_le
Unexecuted instantiation: comm_ioctl.c:stream_read_i32_le
Unexecuted instantiation: comm_serial_sys.c:stream_read_i32_le
Unexecuted instantiation: comm_sercx_sys.c:stream_read_i32_le
Unexecuted instantiation: comm_sercx2_sys.c:stream_read_i32_le
Unexecuted instantiation: pipe.c:stream_read_i32_le
Unexecuted instantiation: stream.c:stream_read_i32_le
Unexecuted instantiation: ArrayList.c:stream_read_i32_le
Unexecuted instantiation: PacketMessage.c:stream_read_i32_le
Unexecuted instantiation: handle.c:stream_read_i32_le
Unexecuted instantiation: thread.c:stream_read_i32_le
Unexecuted instantiation: synthetic.c:stream_read_i32_le
Unexecuted instantiation: comm_io.c:stream_read_i32_le
image.c:stream_read_i32_le
Line
Count
Source
268
5.26k
  {
269
5.26k
    const size_t typesize = sizeof(INT32);
270
5.26k
    WINPR_ASSERT(_s);
271
5.26k
    WINPR_ASSERT(Stream_GetRemainingLength(_s) >= typesize);
272
273
5.26k
    const INT32 v = winpr_Data_Get_INT32(_s->pointer);
274
5.26k
    if (seek)
275
5.26k
      Stream_Seek(_s, typesize);
276
5.26k
    return v;
277
5.26k
  }
278
279
  WINPR_ATTR_NODISCARD static inline INT32 stream_read_i32_be(wStream* _s, BOOL seek)
280
0
  {
281
0
    const size_t typesize = sizeof(INT32);
282
0
    WINPR_ASSERT(_s);
283
0
    WINPR_ASSERT(Stream_GetRemainingLength(_s) >= typesize);
284
0
285
0
    const INT32 v = winpr_Data_Get_INT32_BE(_s->pointer);
286
0
    if (seek)
287
0
      Stream_Seek(_s, typesize);
288
0
    return v;
289
0
  }
Unexecuted instantiation: BinaryAppender.c:stream_read_i32_be
Unexecuted instantiation: clipboard.c:stream_read_i32_be
Unexecuted instantiation: synthetic_file.c:stream_read_i32_be
Unexecuted instantiation: event.c:stream_read_i32_be
Unexecuted instantiation: wait.c:stream_read_i32_be
Unexecuted instantiation: generic.c:stream_read_i32_be
Unexecuted instantiation: namedPipeClient.c:stream_read_i32_be
Unexecuted instantiation: comm.c:stream_read_i32_be
Unexecuted instantiation: comm_ioctl.c:stream_read_i32_be
Unexecuted instantiation: comm_serial_sys.c:stream_read_i32_be
Unexecuted instantiation: comm_sercx_sys.c:stream_read_i32_be
Unexecuted instantiation: comm_sercx2_sys.c:stream_read_i32_be
Unexecuted instantiation: pipe.c:stream_read_i32_be
Unexecuted instantiation: stream.c:stream_read_i32_be
Unexecuted instantiation: ArrayList.c:stream_read_i32_be
Unexecuted instantiation: PacketMessage.c:stream_read_i32_be
Unexecuted instantiation: handle.c:stream_read_i32_be
Unexecuted instantiation: thread.c:stream_read_i32_be
Unexecuted instantiation: synthetic.c:stream_read_i32_be
Unexecuted instantiation: comm_io.c:stream_read_i32_be
Unexecuted instantiation: image.c:stream_read_i32_be
290
291
  WINPR_ATTR_NODISCARD static inline UINT64 stream_read_u64_le(wStream* _s, BOOL seek)
292
0
  {
293
0
    const size_t typesize = sizeof(UINT64);
294
0
    WINPR_ASSERT(_s);
295
0
    WINPR_ASSERT(Stream_GetRemainingLength(_s) >= typesize);
296
0
297
0
    const UINT64 v = winpr_Data_Get_UINT64(_s->pointer);
298
0
    if (seek)
299
0
      Stream_Seek(_s, typesize);
300
0
    return v;
301
0
  }
Unexecuted instantiation: BinaryAppender.c:stream_read_u64_le
Unexecuted instantiation: clipboard.c:stream_read_u64_le
Unexecuted instantiation: synthetic_file.c:stream_read_u64_le
Unexecuted instantiation: event.c:stream_read_u64_le
Unexecuted instantiation: wait.c:stream_read_u64_le
Unexecuted instantiation: generic.c:stream_read_u64_le
Unexecuted instantiation: namedPipeClient.c:stream_read_u64_le
Unexecuted instantiation: comm.c:stream_read_u64_le
Unexecuted instantiation: comm_ioctl.c:stream_read_u64_le
Unexecuted instantiation: comm_serial_sys.c:stream_read_u64_le
Unexecuted instantiation: comm_sercx_sys.c:stream_read_u64_le
Unexecuted instantiation: comm_sercx2_sys.c:stream_read_u64_le
Unexecuted instantiation: pipe.c:stream_read_u64_le
Unexecuted instantiation: stream.c:stream_read_u64_le
Unexecuted instantiation: ArrayList.c:stream_read_u64_le
Unexecuted instantiation: PacketMessage.c:stream_read_u64_le
Unexecuted instantiation: handle.c:stream_read_u64_le
Unexecuted instantiation: thread.c:stream_read_u64_le
Unexecuted instantiation: synthetic.c:stream_read_u64_le
Unexecuted instantiation: comm_io.c:stream_read_u64_le
Unexecuted instantiation: image.c:stream_read_u64_le
302
303
  WINPR_ATTR_NODISCARD static inline UINT64 stream_read_u64_be(wStream* _s, BOOL seek)
304
0
  {
305
0
    const size_t typesize = sizeof(UINT64);
306
0
    WINPR_ASSERT(_s);
307
0
    WINPR_ASSERT(Stream_GetRemainingLength(_s) >= typesize);
308
0
309
0
    const UINT64 v = winpr_Data_Get_UINT64_BE(_s->pointer);
310
0
    if (seek)
311
0
      Stream_Seek(_s, typesize);
312
0
    return v;
313
0
  }
Unexecuted instantiation: BinaryAppender.c:stream_read_u64_be
Unexecuted instantiation: clipboard.c:stream_read_u64_be
Unexecuted instantiation: synthetic_file.c:stream_read_u64_be
Unexecuted instantiation: event.c:stream_read_u64_be
Unexecuted instantiation: wait.c:stream_read_u64_be
Unexecuted instantiation: generic.c:stream_read_u64_be
Unexecuted instantiation: namedPipeClient.c:stream_read_u64_be
Unexecuted instantiation: comm.c:stream_read_u64_be
Unexecuted instantiation: comm_ioctl.c:stream_read_u64_be
Unexecuted instantiation: comm_serial_sys.c:stream_read_u64_be
Unexecuted instantiation: comm_sercx_sys.c:stream_read_u64_be
Unexecuted instantiation: comm_sercx2_sys.c:stream_read_u64_be
Unexecuted instantiation: pipe.c:stream_read_u64_be
Unexecuted instantiation: stream.c:stream_read_u64_be
Unexecuted instantiation: ArrayList.c:stream_read_u64_be
Unexecuted instantiation: PacketMessage.c:stream_read_u64_be
Unexecuted instantiation: handle.c:stream_read_u64_be
Unexecuted instantiation: thread.c:stream_read_u64_be
Unexecuted instantiation: synthetic.c:stream_read_u64_be
Unexecuted instantiation: comm_io.c:stream_read_u64_be
Unexecuted instantiation: image.c:stream_read_u64_be
314
315
  WINPR_ATTR_NODISCARD static inline INT64 stream_read_i64_le(wStream* _s, BOOL seek)
316
0
  {
317
0
    const size_t typesize = sizeof(INT64);
318
0
    WINPR_ASSERT(_s);
319
0
    WINPR_ASSERT(Stream_GetRemainingLength(_s) >= typesize);
320
0
321
0
    const INT64 v = winpr_Data_Get_INT64(_s->pointer);
322
0
    if (seek)
323
0
      Stream_Seek(_s, typesize);
324
0
    return v;
325
0
  }
Unexecuted instantiation: BinaryAppender.c:stream_read_i64_le
Unexecuted instantiation: clipboard.c:stream_read_i64_le
Unexecuted instantiation: synthetic_file.c:stream_read_i64_le
Unexecuted instantiation: event.c:stream_read_i64_le
Unexecuted instantiation: wait.c:stream_read_i64_le
Unexecuted instantiation: generic.c:stream_read_i64_le
Unexecuted instantiation: namedPipeClient.c:stream_read_i64_le
Unexecuted instantiation: comm.c:stream_read_i64_le
Unexecuted instantiation: comm_ioctl.c:stream_read_i64_le
Unexecuted instantiation: comm_serial_sys.c:stream_read_i64_le
Unexecuted instantiation: comm_sercx_sys.c:stream_read_i64_le
Unexecuted instantiation: comm_sercx2_sys.c:stream_read_i64_le
Unexecuted instantiation: pipe.c:stream_read_i64_le
Unexecuted instantiation: stream.c:stream_read_i64_le
Unexecuted instantiation: ArrayList.c:stream_read_i64_le
Unexecuted instantiation: PacketMessage.c:stream_read_i64_le
Unexecuted instantiation: handle.c:stream_read_i64_le
Unexecuted instantiation: thread.c:stream_read_i64_le
Unexecuted instantiation: synthetic.c:stream_read_i64_le
Unexecuted instantiation: comm_io.c:stream_read_i64_le
Unexecuted instantiation: image.c:stream_read_i64_le
326
327
  WINPR_ATTR_NODISCARD static inline INT64 stream_read_i64_be(wStream* _s, BOOL seek)
328
0
  {
329
0
    const size_t typesize = sizeof(INT64);
330
0
    WINPR_ASSERT(_s);
331
0
    WINPR_ASSERT(Stream_GetRemainingLength(_s) >= typesize);
332
0
333
0
    const INT64 v = winpr_Data_Get_INT64_BE(_s->pointer);
334
0
    if (seek)
335
0
      Stream_Seek(_s, typesize);
336
0
    return v;
337
0
  }
Unexecuted instantiation: BinaryAppender.c:stream_read_i64_be
Unexecuted instantiation: clipboard.c:stream_read_i64_be
Unexecuted instantiation: synthetic_file.c:stream_read_i64_be
Unexecuted instantiation: event.c:stream_read_i64_be
Unexecuted instantiation: wait.c:stream_read_i64_be
Unexecuted instantiation: generic.c:stream_read_i64_be
Unexecuted instantiation: namedPipeClient.c:stream_read_i64_be
Unexecuted instantiation: comm.c:stream_read_i64_be
Unexecuted instantiation: comm_ioctl.c:stream_read_i64_be
Unexecuted instantiation: comm_serial_sys.c:stream_read_i64_be
Unexecuted instantiation: comm_sercx_sys.c:stream_read_i64_be
Unexecuted instantiation: comm_sercx2_sys.c:stream_read_i64_be
Unexecuted instantiation: pipe.c:stream_read_i64_be
Unexecuted instantiation: stream.c:stream_read_i64_be
Unexecuted instantiation: ArrayList.c:stream_read_i64_be
Unexecuted instantiation: PacketMessage.c:stream_read_i64_be
Unexecuted instantiation: handle.c:stream_read_i64_be
Unexecuted instantiation: thread.c:stream_read_i64_be
Unexecuted instantiation: synthetic.c:stream_read_i64_be
Unexecuted instantiation: comm_io.c:stream_read_i64_be
Unexecuted instantiation: image.c:stream_read_i64_be
338
339
  /**
340
   * @brief Stream_Get_UINT8
341
   * @param _s The stream to read from
342
   * @return an integer
343
   * @since version 3.9.0
344
   */
345
  WINPR_ATTR_NODISCARD static inline UINT8 Stream_Get_UINT8(wStream* _s)
346
0
  {
347
0
    return stream_read_u8(_s, TRUE);
348
0
  }
Unexecuted instantiation: BinaryAppender.c:Stream_Get_UINT8
Unexecuted instantiation: clipboard.c:Stream_Get_UINT8
Unexecuted instantiation: synthetic_file.c:Stream_Get_UINT8
Unexecuted instantiation: event.c:Stream_Get_UINT8
Unexecuted instantiation: wait.c:Stream_Get_UINT8
Unexecuted instantiation: generic.c:Stream_Get_UINT8
Unexecuted instantiation: namedPipeClient.c:Stream_Get_UINT8
Unexecuted instantiation: comm.c:Stream_Get_UINT8
Unexecuted instantiation: comm_ioctl.c:Stream_Get_UINT8
Unexecuted instantiation: comm_serial_sys.c:Stream_Get_UINT8
Unexecuted instantiation: comm_sercx_sys.c:Stream_Get_UINT8
Unexecuted instantiation: comm_sercx2_sys.c:Stream_Get_UINT8
Unexecuted instantiation: pipe.c:Stream_Get_UINT8
Unexecuted instantiation: stream.c:Stream_Get_UINT8
Unexecuted instantiation: ArrayList.c:Stream_Get_UINT8
Unexecuted instantiation: PacketMessage.c:Stream_Get_UINT8
Unexecuted instantiation: handle.c:Stream_Get_UINT8
Unexecuted instantiation: thread.c:Stream_Get_UINT8
Unexecuted instantiation: synthetic.c:Stream_Get_UINT8
Unexecuted instantiation: comm_io.c:Stream_Get_UINT8
Unexecuted instantiation: image.c:Stream_Get_UINT8
349
350
  /**
351
   * @brief Stream_Get_INT8
352
   * @param _s The stream to read from
353
   * @return an integer
354
   * @since version 3.9.0
355
   */
356
  WINPR_ATTR_NODISCARD static inline INT8 Stream_Get_INT8(wStream* _s)
357
0
  {
358
0
    return stream_read_i8(_s, TRUE);
359
0
  }
Unexecuted instantiation: BinaryAppender.c:Stream_Get_INT8
Unexecuted instantiation: clipboard.c:Stream_Get_INT8
Unexecuted instantiation: synthetic_file.c:Stream_Get_INT8
Unexecuted instantiation: event.c:Stream_Get_INT8
Unexecuted instantiation: wait.c:Stream_Get_INT8
Unexecuted instantiation: generic.c:Stream_Get_INT8
Unexecuted instantiation: namedPipeClient.c:Stream_Get_INT8
Unexecuted instantiation: comm.c:Stream_Get_INT8
Unexecuted instantiation: comm_ioctl.c:Stream_Get_INT8
Unexecuted instantiation: comm_serial_sys.c:Stream_Get_INT8
Unexecuted instantiation: comm_sercx_sys.c:Stream_Get_INT8
Unexecuted instantiation: comm_sercx2_sys.c:Stream_Get_INT8
Unexecuted instantiation: pipe.c:Stream_Get_INT8
Unexecuted instantiation: stream.c:Stream_Get_INT8
Unexecuted instantiation: ArrayList.c:Stream_Get_INT8
Unexecuted instantiation: PacketMessage.c:Stream_Get_INT8
Unexecuted instantiation: handle.c:Stream_Get_INT8
Unexecuted instantiation: thread.c:Stream_Get_INT8
Unexecuted instantiation: synthetic.c:Stream_Get_INT8
Unexecuted instantiation: comm_io.c:Stream_Get_INT8
Unexecuted instantiation: image.c:Stream_Get_INT8
360
361
  /**
362
   * @brief Stream_Get_UINT16
363
   * @param _s The stream to read from
364
   * @return an integer
365
   * @since version 3.9.0
366
   */
367
  WINPR_ATTR_NODISCARD static inline UINT16 Stream_Get_UINT16(wStream* _s)
368
0
  {
369
0
    return stream_read_u16_le(_s, TRUE);
370
0
  }
Unexecuted instantiation: BinaryAppender.c:Stream_Get_UINT16
Unexecuted instantiation: clipboard.c:Stream_Get_UINT16
Unexecuted instantiation: synthetic_file.c:Stream_Get_UINT16
Unexecuted instantiation: event.c:Stream_Get_UINT16
Unexecuted instantiation: wait.c:Stream_Get_UINT16
Unexecuted instantiation: generic.c:Stream_Get_UINT16
Unexecuted instantiation: namedPipeClient.c:Stream_Get_UINT16
Unexecuted instantiation: comm.c:Stream_Get_UINT16
Unexecuted instantiation: comm_ioctl.c:Stream_Get_UINT16
Unexecuted instantiation: comm_serial_sys.c:Stream_Get_UINT16
Unexecuted instantiation: comm_sercx_sys.c:Stream_Get_UINT16
Unexecuted instantiation: comm_sercx2_sys.c:Stream_Get_UINT16
Unexecuted instantiation: pipe.c:Stream_Get_UINT16
Unexecuted instantiation: stream.c:Stream_Get_UINT16
Unexecuted instantiation: ArrayList.c:Stream_Get_UINT16
Unexecuted instantiation: PacketMessage.c:Stream_Get_UINT16
Unexecuted instantiation: handle.c:Stream_Get_UINT16
Unexecuted instantiation: thread.c:Stream_Get_UINT16
Unexecuted instantiation: synthetic.c:Stream_Get_UINT16
Unexecuted instantiation: comm_io.c:Stream_Get_UINT16
Unexecuted instantiation: image.c:Stream_Get_UINT16
371
372
  /**
373
   * @brief Stream_Get_INT16
374
   * @param _s The stream to read from
375
   * @return an integer
376
   * @since version 3.9.0
377
   */
378
  WINPR_ATTR_NODISCARD static inline INT16 Stream_Get_INT16(wStream* _s)
379
0
  {
380
0
    return stream_read_i16_le(_s, TRUE);
381
0
  }
Unexecuted instantiation: BinaryAppender.c:Stream_Get_INT16
Unexecuted instantiation: clipboard.c:Stream_Get_INT16
Unexecuted instantiation: synthetic_file.c:Stream_Get_INT16
Unexecuted instantiation: event.c:Stream_Get_INT16
Unexecuted instantiation: wait.c:Stream_Get_INT16
Unexecuted instantiation: generic.c:Stream_Get_INT16
Unexecuted instantiation: namedPipeClient.c:Stream_Get_INT16
Unexecuted instantiation: comm.c:Stream_Get_INT16
Unexecuted instantiation: comm_ioctl.c:Stream_Get_INT16
Unexecuted instantiation: comm_serial_sys.c:Stream_Get_INT16
Unexecuted instantiation: comm_sercx_sys.c:Stream_Get_INT16
Unexecuted instantiation: comm_sercx2_sys.c:Stream_Get_INT16
Unexecuted instantiation: pipe.c:Stream_Get_INT16
Unexecuted instantiation: stream.c:Stream_Get_INT16
Unexecuted instantiation: ArrayList.c:Stream_Get_INT16
Unexecuted instantiation: PacketMessage.c:Stream_Get_INT16
Unexecuted instantiation: handle.c:Stream_Get_INT16
Unexecuted instantiation: thread.c:Stream_Get_INT16
Unexecuted instantiation: synthetic.c:Stream_Get_INT16
Unexecuted instantiation: comm_io.c:Stream_Get_INT16
Unexecuted instantiation: image.c:Stream_Get_INT16
382
383
  /**
384
   * @brief Stream_Get_UINT16 big endian
385
   * @param _s The stream to read from
386
   * @return an integer
387
   * @since version 3.9.0
388
   */
389
  WINPR_ATTR_NODISCARD static inline UINT16 Stream_Get_UINT16_BE(wStream* _s)
390
0
  {
391
0
    return stream_read_u16_be(_s, TRUE);
392
0
  }
Unexecuted instantiation: BinaryAppender.c:Stream_Get_UINT16_BE
Unexecuted instantiation: clipboard.c:Stream_Get_UINT16_BE
Unexecuted instantiation: synthetic_file.c:Stream_Get_UINT16_BE
Unexecuted instantiation: event.c:Stream_Get_UINT16_BE
Unexecuted instantiation: wait.c:Stream_Get_UINT16_BE
Unexecuted instantiation: generic.c:Stream_Get_UINT16_BE
Unexecuted instantiation: namedPipeClient.c:Stream_Get_UINT16_BE
Unexecuted instantiation: comm.c:Stream_Get_UINT16_BE
Unexecuted instantiation: comm_ioctl.c:Stream_Get_UINT16_BE
Unexecuted instantiation: comm_serial_sys.c:Stream_Get_UINT16_BE
Unexecuted instantiation: comm_sercx_sys.c:Stream_Get_UINT16_BE
Unexecuted instantiation: comm_sercx2_sys.c:Stream_Get_UINT16_BE
Unexecuted instantiation: pipe.c:Stream_Get_UINT16_BE
Unexecuted instantiation: stream.c:Stream_Get_UINT16_BE
Unexecuted instantiation: ArrayList.c:Stream_Get_UINT16_BE
Unexecuted instantiation: PacketMessage.c:Stream_Get_UINT16_BE
Unexecuted instantiation: handle.c:Stream_Get_UINT16_BE
Unexecuted instantiation: thread.c:Stream_Get_UINT16_BE
Unexecuted instantiation: synthetic.c:Stream_Get_UINT16_BE
Unexecuted instantiation: comm_io.c:Stream_Get_UINT16_BE
Unexecuted instantiation: image.c:Stream_Get_UINT16_BE
393
394
  /**
395
   * @brief Stream_Get_INT16 big endian
396
   * @param _s The stream to read from
397
   * @return an integer
398
   * @since version 3.9.0
399
   */
400
  WINPR_ATTR_NODISCARD static inline INT16 Stream_Get_INT16_BE(wStream* _s)
401
0
  {
402
0
    return stream_read_i16_be(_s, TRUE);
403
0
  }
Unexecuted instantiation: BinaryAppender.c:Stream_Get_INT16_BE
Unexecuted instantiation: clipboard.c:Stream_Get_INT16_BE
Unexecuted instantiation: synthetic_file.c:Stream_Get_INT16_BE
Unexecuted instantiation: event.c:Stream_Get_INT16_BE
Unexecuted instantiation: wait.c:Stream_Get_INT16_BE
Unexecuted instantiation: generic.c:Stream_Get_INT16_BE
Unexecuted instantiation: namedPipeClient.c:Stream_Get_INT16_BE
Unexecuted instantiation: comm.c:Stream_Get_INT16_BE
Unexecuted instantiation: comm_ioctl.c:Stream_Get_INT16_BE
Unexecuted instantiation: comm_serial_sys.c:Stream_Get_INT16_BE
Unexecuted instantiation: comm_sercx_sys.c:Stream_Get_INT16_BE
Unexecuted instantiation: comm_sercx2_sys.c:Stream_Get_INT16_BE
Unexecuted instantiation: pipe.c:Stream_Get_INT16_BE
Unexecuted instantiation: stream.c:Stream_Get_INT16_BE
Unexecuted instantiation: ArrayList.c:Stream_Get_INT16_BE
Unexecuted instantiation: PacketMessage.c:Stream_Get_INT16_BE
Unexecuted instantiation: handle.c:Stream_Get_INT16_BE
Unexecuted instantiation: thread.c:Stream_Get_INT16_BE
Unexecuted instantiation: synthetic.c:Stream_Get_INT16_BE
Unexecuted instantiation: comm_io.c:Stream_Get_INT16_BE
Unexecuted instantiation: image.c:Stream_Get_INT16_BE
404
405
  /**
406
   * @brief Stream_Get_UINT32
407
   * @param _s The stream to read from
408
   * @return an integer
409
   * @since version 3.9.0
410
   */
411
  WINPR_ATTR_NODISCARD static inline UINT32 Stream_Get_UINT32(wStream* _s)
412
0
  {
413
0
    return stream_read_u32_le(_s, TRUE);
414
0
  }
Unexecuted instantiation: BinaryAppender.c:Stream_Get_UINT32
Unexecuted instantiation: clipboard.c:Stream_Get_UINT32
Unexecuted instantiation: synthetic_file.c:Stream_Get_UINT32
Unexecuted instantiation: event.c:Stream_Get_UINT32
Unexecuted instantiation: wait.c:Stream_Get_UINT32
Unexecuted instantiation: generic.c:Stream_Get_UINT32
Unexecuted instantiation: namedPipeClient.c:Stream_Get_UINT32
Unexecuted instantiation: comm.c:Stream_Get_UINT32
Unexecuted instantiation: comm_ioctl.c:Stream_Get_UINT32
Unexecuted instantiation: comm_serial_sys.c:Stream_Get_UINT32
Unexecuted instantiation: comm_sercx_sys.c:Stream_Get_UINT32
Unexecuted instantiation: comm_sercx2_sys.c:Stream_Get_UINT32
Unexecuted instantiation: pipe.c:Stream_Get_UINT32
Unexecuted instantiation: stream.c:Stream_Get_UINT32
Unexecuted instantiation: ArrayList.c:Stream_Get_UINT32
Unexecuted instantiation: PacketMessage.c:Stream_Get_UINT32
Unexecuted instantiation: handle.c:Stream_Get_UINT32
Unexecuted instantiation: thread.c:Stream_Get_UINT32
Unexecuted instantiation: synthetic.c:Stream_Get_UINT32
Unexecuted instantiation: comm_io.c:Stream_Get_UINT32
Unexecuted instantiation: image.c:Stream_Get_UINT32
415
416
  /**
417
   * @brief Stream_Get_INT32
418
   * @param _s The stream to read from
419
   * @return an integer
420
   * @since version 3.9.0
421
   */
422
  WINPR_ATTR_NODISCARD static inline INT32 Stream_Get_INT32(wStream* _s)
423
0
  {
424
0
    return stream_read_i32_le(_s, TRUE);
425
0
  }
Unexecuted instantiation: BinaryAppender.c:Stream_Get_INT32
Unexecuted instantiation: clipboard.c:Stream_Get_INT32
Unexecuted instantiation: synthetic_file.c:Stream_Get_INT32
Unexecuted instantiation: event.c:Stream_Get_INT32
Unexecuted instantiation: wait.c:Stream_Get_INT32
Unexecuted instantiation: generic.c:Stream_Get_INT32
Unexecuted instantiation: namedPipeClient.c:Stream_Get_INT32
Unexecuted instantiation: comm.c:Stream_Get_INT32
Unexecuted instantiation: comm_ioctl.c:Stream_Get_INT32
Unexecuted instantiation: comm_serial_sys.c:Stream_Get_INT32
Unexecuted instantiation: comm_sercx_sys.c:Stream_Get_INT32
Unexecuted instantiation: comm_sercx2_sys.c:Stream_Get_INT32
Unexecuted instantiation: pipe.c:Stream_Get_INT32
Unexecuted instantiation: stream.c:Stream_Get_INT32
Unexecuted instantiation: ArrayList.c:Stream_Get_INT32
Unexecuted instantiation: PacketMessage.c:Stream_Get_INT32
Unexecuted instantiation: handle.c:Stream_Get_INT32
Unexecuted instantiation: thread.c:Stream_Get_INT32
Unexecuted instantiation: synthetic.c:Stream_Get_INT32
Unexecuted instantiation: comm_io.c:Stream_Get_INT32
Unexecuted instantiation: image.c:Stream_Get_INT32
426
427
  /**
428
   * @brief Stream_Get_UINT32 big endian
429
   * @param _s The stream to read from
430
   * @return an integer
431
   * @since version 3.9.0
432
   */
433
  WINPR_ATTR_NODISCARD static inline UINT32 Stream_Get_UINT32_BE(wStream* _s)
434
0
  {
435
0
    return stream_read_u32_be(_s, TRUE);
436
0
  }
Unexecuted instantiation: BinaryAppender.c:Stream_Get_UINT32_BE
Unexecuted instantiation: clipboard.c:Stream_Get_UINT32_BE
Unexecuted instantiation: synthetic_file.c:Stream_Get_UINT32_BE
Unexecuted instantiation: event.c:Stream_Get_UINT32_BE
Unexecuted instantiation: wait.c:Stream_Get_UINT32_BE
Unexecuted instantiation: generic.c:Stream_Get_UINT32_BE
Unexecuted instantiation: namedPipeClient.c:Stream_Get_UINT32_BE
Unexecuted instantiation: comm.c:Stream_Get_UINT32_BE
Unexecuted instantiation: comm_ioctl.c:Stream_Get_UINT32_BE
Unexecuted instantiation: comm_serial_sys.c:Stream_Get_UINT32_BE
Unexecuted instantiation: comm_sercx_sys.c:Stream_Get_UINT32_BE
Unexecuted instantiation: comm_sercx2_sys.c:Stream_Get_UINT32_BE
Unexecuted instantiation: pipe.c:Stream_Get_UINT32_BE
Unexecuted instantiation: stream.c:Stream_Get_UINT32_BE
Unexecuted instantiation: ArrayList.c:Stream_Get_UINT32_BE
Unexecuted instantiation: PacketMessage.c:Stream_Get_UINT32_BE
Unexecuted instantiation: handle.c:Stream_Get_UINT32_BE
Unexecuted instantiation: thread.c:Stream_Get_UINT32_BE
Unexecuted instantiation: synthetic.c:Stream_Get_UINT32_BE
Unexecuted instantiation: comm_io.c:Stream_Get_UINT32_BE
Unexecuted instantiation: image.c:Stream_Get_UINT32_BE
437
438
  /**
439
   * @brief Stream_Get_INT32 big endian
440
   * @param _s The stream to read from
441
   * @return an integer
442
   * @since version 3.9.0
443
   */
444
  WINPR_ATTR_NODISCARD static inline INT32 Stream_Get_INT32_BE(wStream* _s)
445
0
  {
446
0
    return stream_read_i32_be(_s, TRUE);
447
0
  }
Unexecuted instantiation: BinaryAppender.c:Stream_Get_INT32_BE
Unexecuted instantiation: clipboard.c:Stream_Get_INT32_BE
Unexecuted instantiation: synthetic_file.c:Stream_Get_INT32_BE
Unexecuted instantiation: event.c:Stream_Get_INT32_BE
Unexecuted instantiation: wait.c:Stream_Get_INT32_BE
Unexecuted instantiation: generic.c:Stream_Get_INT32_BE
Unexecuted instantiation: namedPipeClient.c:Stream_Get_INT32_BE
Unexecuted instantiation: comm.c:Stream_Get_INT32_BE
Unexecuted instantiation: comm_ioctl.c:Stream_Get_INT32_BE
Unexecuted instantiation: comm_serial_sys.c:Stream_Get_INT32_BE
Unexecuted instantiation: comm_sercx_sys.c:Stream_Get_INT32_BE
Unexecuted instantiation: comm_sercx2_sys.c:Stream_Get_INT32_BE
Unexecuted instantiation: pipe.c:Stream_Get_INT32_BE
Unexecuted instantiation: stream.c:Stream_Get_INT32_BE
Unexecuted instantiation: ArrayList.c:Stream_Get_INT32_BE
Unexecuted instantiation: PacketMessage.c:Stream_Get_INT32_BE
Unexecuted instantiation: handle.c:Stream_Get_INT32_BE
Unexecuted instantiation: thread.c:Stream_Get_INT32_BE
Unexecuted instantiation: synthetic.c:Stream_Get_INT32_BE
Unexecuted instantiation: comm_io.c:Stream_Get_INT32_BE
Unexecuted instantiation: image.c:Stream_Get_INT32_BE
448
449
  /**
450
   * @brief Stream_Get_UINT64
451
   * @param _s The stream to read from
452
   * @return an integer
453
   * @since version 3.9.0
454
   */
455
  WINPR_ATTR_NODISCARD static inline UINT64 Stream_Get_UINT64(wStream* _s)
456
0
  {
457
0
    return stream_read_u64_le(_s, TRUE);
458
0
  }
Unexecuted instantiation: BinaryAppender.c:Stream_Get_UINT64
Unexecuted instantiation: clipboard.c:Stream_Get_UINT64
Unexecuted instantiation: synthetic_file.c:Stream_Get_UINT64
Unexecuted instantiation: event.c:Stream_Get_UINT64
Unexecuted instantiation: wait.c:Stream_Get_UINT64
Unexecuted instantiation: generic.c:Stream_Get_UINT64
Unexecuted instantiation: namedPipeClient.c:Stream_Get_UINT64
Unexecuted instantiation: comm.c:Stream_Get_UINT64
Unexecuted instantiation: comm_ioctl.c:Stream_Get_UINT64
Unexecuted instantiation: comm_serial_sys.c:Stream_Get_UINT64
Unexecuted instantiation: comm_sercx_sys.c:Stream_Get_UINT64
Unexecuted instantiation: comm_sercx2_sys.c:Stream_Get_UINT64
Unexecuted instantiation: pipe.c:Stream_Get_UINT64
Unexecuted instantiation: stream.c:Stream_Get_UINT64
Unexecuted instantiation: ArrayList.c:Stream_Get_UINT64
Unexecuted instantiation: PacketMessage.c:Stream_Get_UINT64
Unexecuted instantiation: handle.c:Stream_Get_UINT64
Unexecuted instantiation: thread.c:Stream_Get_UINT64
Unexecuted instantiation: synthetic.c:Stream_Get_UINT64
Unexecuted instantiation: comm_io.c:Stream_Get_UINT64
Unexecuted instantiation: image.c:Stream_Get_UINT64
459
460
  /**
461
   * @brief Stream_Get_INT64
462
   * @param _s The stream to read from
463
   * @return an integer
464
   * @since version 3.9.0
465
   */
466
  WINPR_ATTR_NODISCARD static inline INT64 Stream_Get_INT64(wStream* _s)
467
0
  {
468
0
    return stream_read_i64_le(_s, TRUE);
469
0
  }
Unexecuted instantiation: BinaryAppender.c:Stream_Get_INT64
Unexecuted instantiation: clipboard.c:Stream_Get_INT64
Unexecuted instantiation: synthetic_file.c:Stream_Get_INT64
Unexecuted instantiation: event.c:Stream_Get_INT64
Unexecuted instantiation: wait.c:Stream_Get_INT64
Unexecuted instantiation: generic.c:Stream_Get_INT64
Unexecuted instantiation: namedPipeClient.c:Stream_Get_INT64
Unexecuted instantiation: comm.c:Stream_Get_INT64
Unexecuted instantiation: comm_ioctl.c:Stream_Get_INT64
Unexecuted instantiation: comm_serial_sys.c:Stream_Get_INT64
Unexecuted instantiation: comm_sercx_sys.c:Stream_Get_INT64
Unexecuted instantiation: comm_sercx2_sys.c:Stream_Get_INT64
Unexecuted instantiation: pipe.c:Stream_Get_INT64
Unexecuted instantiation: stream.c:Stream_Get_INT64
Unexecuted instantiation: ArrayList.c:Stream_Get_INT64
Unexecuted instantiation: PacketMessage.c:Stream_Get_INT64
Unexecuted instantiation: handle.c:Stream_Get_INT64
Unexecuted instantiation: thread.c:Stream_Get_INT64
Unexecuted instantiation: synthetic.c:Stream_Get_INT64
Unexecuted instantiation: comm_io.c:Stream_Get_INT64
Unexecuted instantiation: image.c:Stream_Get_INT64
470
471
  /**
472
   * @brief Stream_Get_UINT64 big endian
473
   * @param _s The stream to read from
474
   * @return an integer
475
   * @since version 3.9.0
476
   */
477
  WINPR_ATTR_NODISCARD static inline UINT64 Stream_Get_UINT64_BE(wStream* _s)
478
0
  {
479
0
    return stream_read_u64_be(_s, TRUE);
480
0
  }
Unexecuted instantiation: BinaryAppender.c:Stream_Get_UINT64_BE
Unexecuted instantiation: clipboard.c:Stream_Get_UINT64_BE
Unexecuted instantiation: synthetic_file.c:Stream_Get_UINT64_BE
Unexecuted instantiation: event.c:Stream_Get_UINT64_BE
Unexecuted instantiation: wait.c:Stream_Get_UINT64_BE
Unexecuted instantiation: generic.c:Stream_Get_UINT64_BE
Unexecuted instantiation: namedPipeClient.c:Stream_Get_UINT64_BE
Unexecuted instantiation: comm.c:Stream_Get_UINT64_BE
Unexecuted instantiation: comm_ioctl.c:Stream_Get_UINT64_BE
Unexecuted instantiation: comm_serial_sys.c:Stream_Get_UINT64_BE
Unexecuted instantiation: comm_sercx_sys.c:Stream_Get_UINT64_BE
Unexecuted instantiation: comm_sercx2_sys.c:Stream_Get_UINT64_BE
Unexecuted instantiation: pipe.c:Stream_Get_UINT64_BE
Unexecuted instantiation: stream.c:Stream_Get_UINT64_BE
Unexecuted instantiation: ArrayList.c:Stream_Get_UINT64_BE
Unexecuted instantiation: PacketMessage.c:Stream_Get_UINT64_BE
Unexecuted instantiation: handle.c:Stream_Get_UINT64_BE
Unexecuted instantiation: thread.c:Stream_Get_UINT64_BE
Unexecuted instantiation: synthetic.c:Stream_Get_UINT64_BE
Unexecuted instantiation: comm_io.c:Stream_Get_UINT64_BE
Unexecuted instantiation: image.c:Stream_Get_UINT64_BE
481
482
  /**
483
   * @brief Stream_Get_INT64 big endian
484
   * @param _s The stream to read from
485
   * @return an integer
486
   * @since version 3.9.0
487
   */
488
  WINPR_ATTR_NODISCARD static inline INT64 Stream_Get_INT64_BE(wStream* _s)
489
0
  {
490
0
    return stream_read_i64_be(_s, TRUE);
491
0
  }
Unexecuted instantiation: BinaryAppender.c:Stream_Get_INT64_BE
Unexecuted instantiation: clipboard.c:Stream_Get_INT64_BE
Unexecuted instantiation: synthetic_file.c:Stream_Get_INT64_BE
Unexecuted instantiation: event.c:Stream_Get_INT64_BE
Unexecuted instantiation: wait.c:Stream_Get_INT64_BE
Unexecuted instantiation: generic.c:Stream_Get_INT64_BE
Unexecuted instantiation: namedPipeClient.c:Stream_Get_INT64_BE
Unexecuted instantiation: comm.c:Stream_Get_INT64_BE
Unexecuted instantiation: comm_ioctl.c:Stream_Get_INT64_BE
Unexecuted instantiation: comm_serial_sys.c:Stream_Get_INT64_BE
Unexecuted instantiation: comm_sercx_sys.c:Stream_Get_INT64_BE
Unexecuted instantiation: comm_sercx2_sys.c:Stream_Get_INT64_BE
Unexecuted instantiation: pipe.c:Stream_Get_INT64_BE
Unexecuted instantiation: stream.c:Stream_Get_INT64_BE
Unexecuted instantiation: ArrayList.c:Stream_Get_INT64_BE
Unexecuted instantiation: PacketMessage.c:Stream_Get_INT64_BE
Unexecuted instantiation: handle.c:Stream_Get_INT64_BE
Unexecuted instantiation: thread.c:Stream_Get_INT64_BE
Unexecuted instantiation: synthetic.c:Stream_Get_INT64_BE
Unexecuted instantiation: comm_io.c:Stream_Get_INT64_BE
Unexecuted instantiation: image.c:Stream_Get_INT64_BE
492
493
  /**
494
   * @brief Read a UINT8 from the stream, do not increment stream position
495
   * @param _s The stream to read from
496
   * @return an integer
497
   * @since version 3.9.0
498
   */
499
  WINPR_ATTR_NODISCARD static inline UINT8 Stream_Peek_Get_UINT8(wStream* _s)
500
0
  {
501
0
    return stream_read_u8(_s, FALSE);
502
0
  }
Unexecuted instantiation: BinaryAppender.c:Stream_Peek_Get_UINT8
Unexecuted instantiation: clipboard.c:Stream_Peek_Get_UINT8
Unexecuted instantiation: synthetic_file.c:Stream_Peek_Get_UINT8
Unexecuted instantiation: event.c:Stream_Peek_Get_UINT8
Unexecuted instantiation: wait.c:Stream_Peek_Get_UINT8
Unexecuted instantiation: generic.c:Stream_Peek_Get_UINT8
Unexecuted instantiation: namedPipeClient.c:Stream_Peek_Get_UINT8
Unexecuted instantiation: comm.c:Stream_Peek_Get_UINT8
Unexecuted instantiation: comm_ioctl.c:Stream_Peek_Get_UINT8
Unexecuted instantiation: comm_serial_sys.c:Stream_Peek_Get_UINT8
Unexecuted instantiation: comm_sercx_sys.c:Stream_Peek_Get_UINT8
Unexecuted instantiation: comm_sercx2_sys.c:Stream_Peek_Get_UINT8
Unexecuted instantiation: pipe.c:Stream_Peek_Get_UINT8
Unexecuted instantiation: stream.c:Stream_Peek_Get_UINT8
Unexecuted instantiation: ArrayList.c:Stream_Peek_Get_UINT8
Unexecuted instantiation: PacketMessage.c:Stream_Peek_Get_UINT8
Unexecuted instantiation: handle.c:Stream_Peek_Get_UINT8
Unexecuted instantiation: thread.c:Stream_Peek_Get_UINT8
Unexecuted instantiation: synthetic.c:Stream_Peek_Get_UINT8
Unexecuted instantiation: comm_io.c:Stream_Peek_Get_UINT8
Unexecuted instantiation: image.c:Stream_Peek_Get_UINT8
503
504
  /**
505
   * @brief Read a INT8 from the stream, do not increment stream position
506
   * @param _s The stream to read from
507
   * @return an integer
508
   * @since version 3.9.0
509
   */
510
  WINPR_ATTR_NODISCARD static inline INT8 Stream_Peek_Get_INT8(wStream* _s)
511
0
  {
512
0
    return stream_read_i8(_s, FALSE);
513
0
  }
Unexecuted instantiation: BinaryAppender.c:Stream_Peek_Get_INT8
Unexecuted instantiation: clipboard.c:Stream_Peek_Get_INT8
Unexecuted instantiation: synthetic_file.c:Stream_Peek_Get_INT8
Unexecuted instantiation: event.c:Stream_Peek_Get_INT8
Unexecuted instantiation: wait.c:Stream_Peek_Get_INT8
Unexecuted instantiation: generic.c:Stream_Peek_Get_INT8
Unexecuted instantiation: namedPipeClient.c:Stream_Peek_Get_INT8
Unexecuted instantiation: comm.c:Stream_Peek_Get_INT8
Unexecuted instantiation: comm_ioctl.c:Stream_Peek_Get_INT8
Unexecuted instantiation: comm_serial_sys.c:Stream_Peek_Get_INT8
Unexecuted instantiation: comm_sercx_sys.c:Stream_Peek_Get_INT8
Unexecuted instantiation: comm_sercx2_sys.c:Stream_Peek_Get_INT8
Unexecuted instantiation: pipe.c:Stream_Peek_Get_INT8
Unexecuted instantiation: stream.c:Stream_Peek_Get_INT8
Unexecuted instantiation: ArrayList.c:Stream_Peek_Get_INT8
Unexecuted instantiation: PacketMessage.c:Stream_Peek_Get_INT8
Unexecuted instantiation: handle.c:Stream_Peek_Get_INT8
Unexecuted instantiation: thread.c:Stream_Peek_Get_INT8
Unexecuted instantiation: synthetic.c:Stream_Peek_Get_INT8
Unexecuted instantiation: comm_io.c:Stream_Peek_Get_INT8
Unexecuted instantiation: image.c:Stream_Peek_Get_INT8
514
515
  /**
516
   * @brief Read a UINT16 from the stream, do not increment stream position
517
   * @param _s The stream to read from
518
   * @return an integer
519
   * @since version 3.9.0
520
   */
521
  WINPR_ATTR_NODISCARD static inline UINT16 Stream_Peek_Get_UINT16(wStream* _s)
522
0
  {
523
0
    return stream_read_u16_le(_s, FALSE);
524
0
  }
Unexecuted instantiation: BinaryAppender.c:Stream_Peek_Get_UINT16
Unexecuted instantiation: clipboard.c:Stream_Peek_Get_UINT16
Unexecuted instantiation: synthetic_file.c:Stream_Peek_Get_UINT16
Unexecuted instantiation: event.c:Stream_Peek_Get_UINT16
Unexecuted instantiation: wait.c:Stream_Peek_Get_UINT16
Unexecuted instantiation: generic.c:Stream_Peek_Get_UINT16
Unexecuted instantiation: namedPipeClient.c:Stream_Peek_Get_UINT16
Unexecuted instantiation: comm.c:Stream_Peek_Get_UINT16
Unexecuted instantiation: comm_ioctl.c:Stream_Peek_Get_UINT16
Unexecuted instantiation: comm_serial_sys.c:Stream_Peek_Get_UINT16
Unexecuted instantiation: comm_sercx_sys.c:Stream_Peek_Get_UINT16
Unexecuted instantiation: comm_sercx2_sys.c:Stream_Peek_Get_UINT16
Unexecuted instantiation: pipe.c:Stream_Peek_Get_UINT16
Unexecuted instantiation: stream.c:Stream_Peek_Get_UINT16
Unexecuted instantiation: ArrayList.c:Stream_Peek_Get_UINT16
Unexecuted instantiation: PacketMessage.c:Stream_Peek_Get_UINT16
Unexecuted instantiation: handle.c:Stream_Peek_Get_UINT16
Unexecuted instantiation: thread.c:Stream_Peek_Get_UINT16
Unexecuted instantiation: synthetic.c:Stream_Peek_Get_UINT16
Unexecuted instantiation: comm_io.c:Stream_Peek_Get_UINT16
Unexecuted instantiation: image.c:Stream_Peek_Get_UINT16
525
526
  /**
527
   * @brief Read a INT16 from the stream, do not increment stream position
528
   * @param _s The stream to read from
529
   * @return an integer
530
   * @since version 3.9.0
531
   */
532
  WINPR_ATTR_NODISCARD static inline INT16 Stream_Peek_Get_INT16(wStream* _s)
533
0
  {
534
0
    return stream_read_i16_le(_s, FALSE);
535
0
  }
Unexecuted instantiation: BinaryAppender.c:Stream_Peek_Get_INT16
Unexecuted instantiation: clipboard.c:Stream_Peek_Get_INT16
Unexecuted instantiation: synthetic_file.c:Stream_Peek_Get_INT16
Unexecuted instantiation: event.c:Stream_Peek_Get_INT16
Unexecuted instantiation: wait.c:Stream_Peek_Get_INT16
Unexecuted instantiation: generic.c:Stream_Peek_Get_INT16
Unexecuted instantiation: namedPipeClient.c:Stream_Peek_Get_INT16
Unexecuted instantiation: comm.c:Stream_Peek_Get_INT16
Unexecuted instantiation: comm_ioctl.c:Stream_Peek_Get_INT16
Unexecuted instantiation: comm_serial_sys.c:Stream_Peek_Get_INT16
Unexecuted instantiation: comm_sercx_sys.c:Stream_Peek_Get_INT16
Unexecuted instantiation: comm_sercx2_sys.c:Stream_Peek_Get_INT16
Unexecuted instantiation: pipe.c:Stream_Peek_Get_INT16
Unexecuted instantiation: stream.c:Stream_Peek_Get_INT16
Unexecuted instantiation: ArrayList.c:Stream_Peek_Get_INT16
Unexecuted instantiation: PacketMessage.c:Stream_Peek_Get_INT16
Unexecuted instantiation: handle.c:Stream_Peek_Get_INT16
Unexecuted instantiation: thread.c:Stream_Peek_Get_INT16
Unexecuted instantiation: synthetic.c:Stream_Peek_Get_INT16
Unexecuted instantiation: comm_io.c:Stream_Peek_Get_INT16
Unexecuted instantiation: image.c:Stream_Peek_Get_INT16
536
537
  /**
538
   * @brief Read a UINT16 big endian from the stream, do not increment stream position
539
   * @param _s The stream to read from
540
   * @return an integer
541
   * @since version 3.9.0
542
   */
543
  WINPR_ATTR_NODISCARD static inline UINT16 Stream_Peek_Get_UINT16_BE(wStream* _s)
544
0
  {
545
0
    return stream_read_u16_be(_s, FALSE);
546
0
  }
Unexecuted instantiation: BinaryAppender.c:Stream_Peek_Get_UINT16_BE
Unexecuted instantiation: clipboard.c:Stream_Peek_Get_UINT16_BE
Unexecuted instantiation: synthetic_file.c:Stream_Peek_Get_UINT16_BE
Unexecuted instantiation: event.c:Stream_Peek_Get_UINT16_BE
Unexecuted instantiation: wait.c:Stream_Peek_Get_UINT16_BE
Unexecuted instantiation: generic.c:Stream_Peek_Get_UINT16_BE
Unexecuted instantiation: namedPipeClient.c:Stream_Peek_Get_UINT16_BE
Unexecuted instantiation: comm.c:Stream_Peek_Get_UINT16_BE
Unexecuted instantiation: comm_ioctl.c:Stream_Peek_Get_UINT16_BE
Unexecuted instantiation: comm_serial_sys.c:Stream_Peek_Get_UINT16_BE
Unexecuted instantiation: comm_sercx_sys.c:Stream_Peek_Get_UINT16_BE
Unexecuted instantiation: comm_sercx2_sys.c:Stream_Peek_Get_UINT16_BE
Unexecuted instantiation: pipe.c:Stream_Peek_Get_UINT16_BE
Unexecuted instantiation: stream.c:Stream_Peek_Get_UINT16_BE
Unexecuted instantiation: ArrayList.c:Stream_Peek_Get_UINT16_BE
Unexecuted instantiation: PacketMessage.c:Stream_Peek_Get_UINT16_BE
Unexecuted instantiation: handle.c:Stream_Peek_Get_UINT16_BE
Unexecuted instantiation: thread.c:Stream_Peek_Get_UINT16_BE
Unexecuted instantiation: synthetic.c:Stream_Peek_Get_UINT16_BE
Unexecuted instantiation: comm_io.c:Stream_Peek_Get_UINT16_BE
Unexecuted instantiation: image.c:Stream_Peek_Get_UINT16_BE
547
548
  /**
549
   * @brief Read a INT16 big endian from the stream, do not increment stream position
550
   * @param _s The stream to read from
551
   * @return an integer
552
   * @since version 3.9.0
553
   */
554
  WINPR_ATTR_NODISCARD static inline INT16 Stream_Peek_Get_INT16_BE(wStream* _s)
555
0
  {
556
0
    return stream_read_i16_be(_s, FALSE);
557
0
  }
Unexecuted instantiation: BinaryAppender.c:Stream_Peek_Get_INT16_BE
Unexecuted instantiation: clipboard.c:Stream_Peek_Get_INT16_BE
Unexecuted instantiation: synthetic_file.c:Stream_Peek_Get_INT16_BE
Unexecuted instantiation: event.c:Stream_Peek_Get_INT16_BE
Unexecuted instantiation: wait.c:Stream_Peek_Get_INT16_BE
Unexecuted instantiation: generic.c:Stream_Peek_Get_INT16_BE
Unexecuted instantiation: namedPipeClient.c:Stream_Peek_Get_INT16_BE
Unexecuted instantiation: comm.c:Stream_Peek_Get_INT16_BE
Unexecuted instantiation: comm_ioctl.c:Stream_Peek_Get_INT16_BE
Unexecuted instantiation: comm_serial_sys.c:Stream_Peek_Get_INT16_BE
Unexecuted instantiation: comm_sercx_sys.c:Stream_Peek_Get_INT16_BE
Unexecuted instantiation: comm_sercx2_sys.c:Stream_Peek_Get_INT16_BE
Unexecuted instantiation: pipe.c:Stream_Peek_Get_INT16_BE
Unexecuted instantiation: stream.c:Stream_Peek_Get_INT16_BE
Unexecuted instantiation: ArrayList.c:Stream_Peek_Get_INT16_BE
Unexecuted instantiation: PacketMessage.c:Stream_Peek_Get_INT16_BE
Unexecuted instantiation: handle.c:Stream_Peek_Get_INT16_BE
Unexecuted instantiation: thread.c:Stream_Peek_Get_INT16_BE
Unexecuted instantiation: synthetic.c:Stream_Peek_Get_INT16_BE
Unexecuted instantiation: comm_io.c:Stream_Peek_Get_INT16_BE
Unexecuted instantiation: image.c:Stream_Peek_Get_INT16_BE
558
559
  /**
560
   * @brief Read a UINT32 from the stream, do not increment stream position
561
   * @param _s The stream to read from
562
   * @return an integer
563
   * @since version 3.9.0
564
   */
565
  WINPR_ATTR_NODISCARD static inline UINT32 Stream_Peek_Get_UINT32(wStream* _s)
566
0
  {
567
0
    return stream_read_u32_le(_s, FALSE);
568
0
  }
Unexecuted instantiation: BinaryAppender.c:Stream_Peek_Get_UINT32
Unexecuted instantiation: clipboard.c:Stream_Peek_Get_UINT32
Unexecuted instantiation: synthetic_file.c:Stream_Peek_Get_UINT32
Unexecuted instantiation: event.c:Stream_Peek_Get_UINT32
Unexecuted instantiation: wait.c:Stream_Peek_Get_UINT32
Unexecuted instantiation: generic.c:Stream_Peek_Get_UINT32
Unexecuted instantiation: namedPipeClient.c:Stream_Peek_Get_UINT32
Unexecuted instantiation: comm.c:Stream_Peek_Get_UINT32
Unexecuted instantiation: comm_ioctl.c:Stream_Peek_Get_UINT32
Unexecuted instantiation: comm_serial_sys.c:Stream_Peek_Get_UINT32
Unexecuted instantiation: comm_sercx_sys.c:Stream_Peek_Get_UINT32
Unexecuted instantiation: comm_sercx2_sys.c:Stream_Peek_Get_UINT32
Unexecuted instantiation: pipe.c:Stream_Peek_Get_UINT32
Unexecuted instantiation: stream.c:Stream_Peek_Get_UINT32
Unexecuted instantiation: ArrayList.c:Stream_Peek_Get_UINT32
Unexecuted instantiation: PacketMessage.c:Stream_Peek_Get_UINT32
Unexecuted instantiation: handle.c:Stream_Peek_Get_UINT32
Unexecuted instantiation: thread.c:Stream_Peek_Get_UINT32
Unexecuted instantiation: synthetic.c:Stream_Peek_Get_UINT32
Unexecuted instantiation: comm_io.c:Stream_Peek_Get_UINT32
Unexecuted instantiation: image.c:Stream_Peek_Get_UINT32
569
570
  /**
571
   * @brief Read a INT32 from the stream, do not increment stream position
572
   * @param _s The stream to read from
573
   * @return an integer
574
   * @since version 3.9.0
575
   */
576
  WINPR_ATTR_NODISCARD static inline INT32 Stream_Peek_Get_INT32(wStream* _s)
577
0
  {
578
0
    return stream_read_i32_le(_s, FALSE);
579
0
  }
Unexecuted instantiation: BinaryAppender.c:Stream_Peek_Get_INT32
Unexecuted instantiation: clipboard.c:Stream_Peek_Get_INT32
Unexecuted instantiation: synthetic_file.c:Stream_Peek_Get_INT32
Unexecuted instantiation: event.c:Stream_Peek_Get_INT32
Unexecuted instantiation: wait.c:Stream_Peek_Get_INT32
Unexecuted instantiation: generic.c:Stream_Peek_Get_INT32
Unexecuted instantiation: namedPipeClient.c:Stream_Peek_Get_INT32
Unexecuted instantiation: comm.c:Stream_Peek_Get_INT32
Unexecuted instantiation: comm_ioctl.c:Stream_Peek_Get_INT32
Unexecuted instantiation: comm_serial_sys.c:Stream_Peek_Get_INT32
Unexecuted instantiation: comm_sercx_sys.c:Stream_Peek_Get_INT32
Unexecuted instantiation: comm_sercx2_sys.c:Stream_Peek_Get_INT32
Unexecuted instantiation: pipe.c:Stream_Peek_Get_INT32
Unexecuted instantiation: stream.c:Stream_Peek_Get_INT32
Unexecuted instantiation: ArrayList.c:Stream_Peek_Get_INT32
Unexecuted instantiation: PacketMessage.c:Stream_Peek_Get_INT32
Unexecuted instantiation: handle.c:Stream_Peek_Get_INT32
Unexecuted instantiation: thread.c:Stream_Peek_Get_INT32
Unexecuted instantiation: synthetic.c:Stream_Peek_Get_INT32
Unexecuted instantiation: comm_io.c:Stream_Peek_Get_INT32
Unexecuted instantiation: image.c:Stream_Peek_Get_INT32
580
581
  /**
582
   * @brief Read a UINT32 big endian from the stream, do not increment stream position
583
   * @param _s The stream to read from
584
   * @return an integer
585
   * @since version 3.9.0
586
   */
587
  WINPR_ATTR_NODISCARD static inline UINT32 Stream_Peek_Get_UINT32_BE(wStream* _s)
588
0
  {
589
0
    return stream_read_u32_be(_s, FALSE);
590
0
  }
Unexecuted instantiation: BinaryAppender.c:Stream_Peek_Get_UINT32_BE
Unexecuted instantiation: clipboard.c:Stream_Peek_Get_UINT32_BE
Unexecuted instantiation: synthetic_file.c:Stream_Peek_Get_UINT32_BE
Unexecuted instantiation: event.c:Stream_Peek_Get_UINT32_BE
Unexecuted instantiation: wait.c:Stream_Peek_Get_UINT32_BE
Unexecuted instantiation: generic.c:Stream_Peek_Get_UINT32_BE
Unexecuted instantiation: namedPipeClient.c:Stream_Peek_Get_UINT32_BE
Unexecuted instantiation: comm.c:Stream_Peek_Get_UINT32_BE
Unexecuted instantiation: comm_ioctl.c:Stream_Peek_Get_UINT32_BE
Unexecuted instantiation: comm_serial_sys.c:Stream_Peek_Get_UINT32_BE
Unexecuted instantiation: comm_sercx_sys.c:Stream_Peek_Get_UINT32_BE
Unexecuted instantiation: comm_sercx2_sys.c:Stream_Peek_Get_UINT32_BE
Unexecuted instantiation: pipe.c:Stream_Peek_Get_UINT32_BE
Unexecuted instantiation: stream.c:Stream_Peek_Get_UINT32_BE
Unexecuted instantiation: ArrayList.c:Stream_Peek_Get_UINT32_BE
Unexecuted instantiation: PacketMessage.c:Stream_Peek_Get_UINT32_BE
Unexecuted instantiation: handle.c:Stream_Peek_Get_UINT32_BE
Unexecuted instantiation: thread.c:Stream_Peek_Get_UINT32_BE
Unexecuted instantiation: synthetic.c:Stream_Peek_Get_UINT32_BE
Unexecuted instantiation: comm_io.c:Stream_Peek_Get_UINT32_BE
Unexecuted instantiation: image.c:Stream_Peek_Get_UINT32_BE
591
592
  /**
593
   * @brief Read a INT32 big endian from the stream, do not increment stream position
594
   * @param _s The stream to read from
595
   * @return an integer
596
   * @since version 3.9.0
597
   */
598
  WINPR_ATTR_NODISCARD static inline INT32 Stream_Peek_Get_INT32_BE(wStream* _s)
599
0
  {
600
0
    return stream_read_i32_be(_s, FALSE);
601
0
  }
Unexecuted instantiation: BinaryAppender.c:Stream_Peek_Get_INT32_BE
Unexecuted instantiation: clipboard.c:Stream_Peek_Get_INT32_BE
Unexecuted instantiation: synthetic_file.c:Stream_Peek_Get_INT32_BE
Unexecuted instantiation: event.c:Stream_Peek_Get_INT32_BE
Unexecuted instantiation: wait.c:Stream_Peek_Get_INT32_BE
Unexecuted instantiation: generic.c:Stream_Peek_Get_INT32_BE
Unexecuted instantiation: namedPipeClient.c:Stream_Peek_Get_INT32_BE
Unexecuted instantiation: comm.c:Stream_Peek_Get_INT32_BE
Unexecuted instantiation: comm_ioctl.c:Stream_Peek_Get_INT32_BE
Unexecuted instantiation: comm_serial_sys.c:Stream_Peek_Get_INT32_BE
Unexecuted instantiation: comm_sercx_sys.c:Stream_Peek_Get_INT32_BE
Unexecuted instantiation: comm_sercx2_sys.c:Stream_Peek_Get_INT32_BE
Unexecuted instantiation: pipe.c:Stream_Peek_Get_INT32_BE
Unexecuted instantiation: stream.c:Stream_Peek_Get_INT32_BE
Unexecuted instantiation: ArrayList.c:Stream_Peek_Get_INT32_BE
Unexecuted instantiation: PacketMessage.c:Stream_Peek_Get_INT32_BE
Unexecuted instantiation: handle.c:Stream_Peek_Get_INT32_BE
Unexecuted instantiation: thread.c:Stream_Peek_Get_INT32_BE
Unexecuted instantiation: synthetic.c:Stream_Peek_Get_INT32_BE
Unexecuted instantiation: comm_io.c:Stream_Peek_Get_INT32_BE
Unexecuted instantiation: image.c:Stream_Peek_Get_INT32_BE
602
603
  /**
604
   * @brief Read a UINT64 from the stream, do not increment stream position
605
   * @param _s The stream to read from
606
   * @return an integer
607
   * @since version 3.9.0
608
   */
609
  WINPR_ATTR_NODISCARD static inline UINT64 Stream_Peek_Get_UINT64(wStream* _s)
610
0
  {
611
0
    return stream_read_u64_le(_s, FALSE);
612
0
  }
Unexecuted instantiation: BinaryAppender.c:Stream_Peek_Get_UINT64
Unexecuted instantiation: clipboard.c:Stream_Peek_Get_UINT64
Unexecuted instantiation: synthetic_file.c:Stream_Peek_Get_UINT64
Unexecuted instantiation: event.c:Stream_Peek_Get_UINT64
Unexecuted instantiation: wait.c:Stream_Peek_Get_UINT64
Unexecuted instantiation: generic.c:Stream_Peek_Get_UINT64
Unexecuted instantiation: namedPipeClient.c:Stream_Peek_Get_UINT64
Unexecuted instantiation: comm.c:Stream_Peek_Get_UINT64
Unexecuted instantiation: comm_ioctl.c:Stream_Peek_Get_UINT64
Unexecuted instantiation: comm_serial_sys.c:Stream_Peek_Get_UINT64
Unexecuted instantiation: comm_sercx_sys.c:Stream_Peek_Get_UINT64
Unexecuted instantiation: comm_sercx2_sys.c:Stream_Peek_Get_UINT64
Unexecuted instantiation: pipe.c:Stream_Peek_Get_UINT64
Unexecuted instantiation: stream.c:Stream_Peek_Get_UINT64
Unexecuted instantiation: ArrayList.c:Stream_Peek_Get_UINT64
Unexecuted instantiation: PacketMessage.c:Stream_Peek_Get_UINT64
Unexecuted instantiation: handle.c:Stream_Peek_Get_UINT64
Unexecuted instantiation: thread.c:Stream_Peek_Get_UINT64
Unexecuted instantiation: synthetic.c:Stream_Peek_Get_UINT64
Unexecuted instantiation: comm_io.c:Stream_Peek_Get_UINT64
Unexecuted instantiation: image.c:Stream_Peek_Get_UINT64
613
614
  /**
615
   * @brief Read a INT64 from the stream, do not increment stream position
616
   * @param _s The stream to read from
617
   * @return an integer
618
   * @since version 3.9.0
619
   */
620
  WINPR_ATTR_NODISCARD static inline INT64 Stream_Peek_Get_INT64(wStream* _s)
621
0
  {
622
0
    return stream_read_i64_le(_s, FALSE);
623
0
  }
Unexecuted instantiation: BinaryAppender.c:Stream_Peek_Get_INT64
Unexecuted instantiation: clipboard.c:Stream_Peek_Get_INT64
Unexecuted instantiation: synthetic_file.c:Stream_Peek_Get_INT64
Unexecuted instantiation: event.c:Stream_Peek_Get_INT64
Unexecuted instantiation: wait.c:Stream_Peek_Get_INT64
Unexecuted instantiation: generic.c:Stream_Peek_Get_INT64
Unexecuted instantiation: namedPipeClient.c:Stream_Peek_Get_INT64
Unexecuted instantiation: comm.c:Stream_Peek_Get_INT64
Unexecuted instantiation: comm_ioctl.c:Stream_Peek_Get_INT64
Unexecuted instantiation: comm_serial_sys.c:Stream_Peek_Get_INT64
Unexecuted instantiation: comm_sercx_sys.c:Stream_Peek_Get_INT64
Unexecuted instantiation: comm_sercx2_sys.c:Stream_Peek_Get_INT64
Unexecuted instantiation: pipe.c:Stream_Peek_Get_INT64
Unexecuted instantiation: stream.c:Stream_Peek_Get_INT64
Unexecuted instantiation: ArrayList.c:Stream_Peek_Get_INT64
Unexecuted instantiation: PacketMessage.c:Stream_Peek_Get_INT64
Unexecuted instantiation: handle.c:Stream_Peek_Get_INT64
Unexecuted instantiation: thread.c:Stream_Peek_Get_INT64
Unexecuted instantiation: synthetic.c:Stream_Peek_Get_INT64
Unexecuted instantiation: comm_io.c:Stream_Peek_Get_INT64
Unexecuted instantiation: image.c:Stream_Peek_Get_INT64
624
625
  /**
626
   * @brief Read a UINT64 big endian from the stream, do not increment stream position
627
   * @param _s The stream to read from
628
   * @return an integer
629
   * @since version 3.9.0
630
   */
631
  WINPR_ATTR_NODISCARD static inline UINT64 Stream_Peek_Get_UINT64_BE(wStream* _s)
632
0
  {
633
0
    return stream_read_u64_be(_s, FALSE);
634
0
  }
Unexecuted instantiation: BinaryAppender.c:Stream_Peek_Get_UINT64_BE
Unexecuted instantiation: clipboard.c:Stream_Peek_Get_UINT64_BE
Unexecuted instantiation: synthetic_file.c:Stream_Peek_Get_UINT64_BE
Unexecuted instantiation: event.c:Stream_Peek_Get_UINT64_BE
Unexecuted instantiation: wait.c:Stream_Peek_Get_UINT64_BE
Unexecuted instantiation: generic.c:Stream_Peek_Get_UINT64_BE
Unexecuted instantiation: namedPipeClient.c:Stream_Peek_Get_UINT64_BE
Unexecuted instantiation: comm.c:Stream_Peek_Get_UINT64_BE
Unexecuted instantiation: comm_ioctl.c:Stream_Peek_Get_UINT64_BE
Unexecuted instantiation: comm_serial_sys.c:Stream_Peek_Get_UINT64_BE
Unexecuted instantiation: comm_sercx_sys.c:Stream_Peek_Get_UINT64_BE
Unexecuted instantiation: comm_sercx2_sys.c:Stream_Peek_Get_UINT64_BE
Unexecuted instantiation: pipe.c:Stream_Peek_Get_UINT64_BE
Unexecuted instantiation: stream.c:Stream_Peek_Get_UINT64_BE
Unexecuted instantiation: ArrayList.c:Stream_Peek_Get_UINT64_BE
Unexecuted instantiation: PacketMessage.c:Stream_Peek_Get_UINT64_BE
Unexecuted instantiation: handle.c:Stream_Peek_Get_UINT64_BE
Unexecuted instantiation: thread.c:Stream_Peek_Get_UINT64_BE
Unexecuted instantiation: synthetic.c:Stream_Peek_Get_UINT64_BE
Unexecuted instantiation: comm_io.c:Stream_Peek_Get_UINT64_BE
Unexecuted instantiation: image.c:Stream_Peek_Get_UINT64_BE
635
636
  /**
637
   * @brief Read a INT64 big endian from the stream, do not increment stream position
638
   * @param _s The stream to read from
639
   * @return an integer
640
   * @since version 3.9.0
641
   */
642
  WINPR_ATTR_NODISCARD static inline INT64 Stream_Peek_Get_INT64_BE(wStream* _s)
643
0
  {
644
0
    return stream_read_i64_be(_s, FALSE);
645
0
  }
Unexecuted instantiation: BinaryAppender.c:Stream_Peek_Get_INT64_BE
Unexecuted instantiation: clipboard.c:Stream_Peek_Get_INT64_BE
Unexecuted instantiation: synthetic_file.c:Stream_Peek_Get_INT64_BE
Unexecuted instantiation: event.c:Stream_Peek_Get_INT64_BE
Unexecuted instantiation: wait.c:Stream_Peek_Get_INT64_BE
Unexecuted instantiation: generic.c:Stream_Peek_Get_INT64_BE
Unexecuted instantiation: namedPipeClient.c:Stream_Peek_Get_INT64_BE
Unexecuted instantiation: comm.c:Stream_Peek_Get_INT64_BE
Unexecuted instantiation: comm_ioctl.c:Stream_Peek_Get_INT64_BE
Unexecuted instantiation: comm_serial_sys.c:Stream_Peek_Get_INT64_BE
Unexecuted instantiation: comm_sercx_sys.c:Stream_Peek_Get_INT64_BE
Unexecuted instantiation: comm_sercx2_sys.c:Stream_Peek_Get_INT64_BE
Unexecuted instantiation: pipe.c:Stream_Peek_Get_INT64_BE
Unexecuted instantiation: stream.c:Stream_Peek_Get_INT64_BE
Unexecuted instantiation: ArrayList.c:Stream_Peek_Get_INT64_BE
Unexecuted instantiation: PacketMessage.c:Stream_Peek_Get_INT64_BE
Unexecuted instantiation: handle.c:Stream_Peek_Get_INT64_BE
Unexecuted instantiation: thread.c:Stream_Peek_Get_INT64_BE
Unexecuted instantiation: synthetic.c:Stream_Peek_Get_INT64_BE
Unexecuted instantiation: comm_io.c:Stream_Peek_Get_INT64_BE
Unexecuted instantiation: image.c:Stream_Peek_Get_INT64_BE
646
647
#define Stream_Read_UINT8(_s, _v)      \
648
284
  do                                 \
649
284
  {                                  \
650
284
    _v = stream_read_u8(_s, TRUE); \
651
284
  } while (0)
652
653
#define Stream_Read_INT8(_s, _v)       \
654
  do                                 \
655
  {                                  \
656
    _v = stream_read_i8(_s, TRUE); \
657
  } while (0)
658
659
#define Stream_Read_UINT16(_s, _v)         \
660
2.91k
  do                                     \
661
2.91k
  {                                      \
662
2.91k
    _v = stream_read_u16_le(_s, TRUE); \
663
2.91k
  } while (0)
664
665
#define Stream_Read_INT16(_s, _v)          \
666
  do                                     \
667
  {                                      \
668
    _v = stream_read_i16_le(_s, TRUE); \
669
  } while (0)
670
671
#define Stream_Read_UINT16_BE(_s, _v)      \
672
  do                                     \
673
  {                                      \
674
    _v = stream_read_u16_be(_s, TRUE); \
675
  } while (0)
676
677
#define Stream_Read_INT16_BE(_s, _v)       \
678
  do                                     \
679
  {                                      \
680
    _v = stream_read_i16_be(_s, TRUE); \
681
  } while (0)
682
683
#define Stream_Read_UINT32(_s, _v)         \
684
6.85k
  do                                     \
685
6.85k
  {                                      \
686
6.85k
    _v = stream_read_u32_le(_s, TRUE); \
687
6.85k
  } while (0)
688
689
#define Stream_Read_INT32(_s, _v)          \
690
5.26k
  do                                     \
691
5.26k
  {                                      \
692
5.26k
    _v = stream_read_i32_le(_s, TRUE); \
693
5.26k
  } while (0)
694
695
#define Stream_Read_UINT32_BE(_s, _v)      \
696
  do                                     \
697
  {                                      \
698
    _v = stream_read_u32_be(_s, TRUE); \
699
  } while (0)
700
701
#define Stream_Read_INT32_BE(_s, _v)       \
702
  do                                     \
703
  {                                      \
704
    _v = stream_read_i32_be(_s, TRUE); \
705
  } while (0)
706
707
#define Stream_Read_UINT64(_s, _v)         \
708
  do                                     \
709
  {                                      \
710
    _v = stream_read_u64_le(_s, TRUE); \
711
  } while (0)
712
713
#define Stream_Read_INT64(_s, _v)          \
714
  do                                     \
715
  {                                      \
716
    _v = stream_read_i64_le(_s, TRUE); \
717
  } while (0)
718
719
#define Stream_Read_UINT64_BE(_s, _v)      \
720
  do                                     \
721
  {                                      \
722
    _v = stream_read_u64_be(_s, TRUE); \
723
  } while (0)
724
725
#define Stream_Read_INT64_BE(_s, _v)       \
726
  do                                     \
727
  {                                      \
728
    _v = stream_read_i64_be(_s, TRUE); \
729
  } while (0)
730
731
  static inline void Stream_Read(wStream* _s, void* _b, size_t _n)
732
0
  {
733
0
    WINPR_ASSERT(_s);
734
0
    WINPR_ASSERT(_b || (_n == 0));
735
0
    WINPR_ASSERT(Stream_GetRemainingCapacity(_s) >= _n);
736
0
    memcpy(_b, (_s->pointer), (_n));
737
0
    Stream_Seek(_s, _n);
738
0
  }
Unexecuted instantiation: BinaryAppender.c:Stream_Read
Unexecuted instantiation: clipboard.c:Stream_Read
Unexecuted instantiation: synthetic_file.c:Stream_Read
Unexecuted instantiation: event.c:Stream_Read
Unexecuted instantiation: wait.c:Stream_Read
Unexecuted instantiation: generic.c:Stream_Read
Unexecuted instantiation: namedPipeClient.c:Stream_Read
Unexecuted instantiation: comm.c:Stream_Read
Unexecuted instantiation: comm_ioctl.c:Stream_Read
Unexecuted instantiation: comm_serial_sys.c:Stream_Read
Unexecuted instantiation: comm_sercx_sys.c:Stream_Read
Unexecuted instantiation: comm_sercx2_sys.c:Stream_Read
Unexecuted instantiation: pipe.c:Stream_Read
Unexecuted instantiation: stream.c:Stream_Read
Unexecuted instantiation: ArrayList.c:Stream_Read
Unexecuted instantiation: PacketMessage.c:Stream_Read
Unexecuted instantiation: handle.c:Stream_Read
Unexecuted instantiation: thread.c:Stream_Read
Unexecuted instantiation: synthetic.c:Stream_Read
Unexecuted instantiation: comm_io.c:Stream_Read
Unexecuted instantiation: image.c:Stream_Read
739
740
#define Stream_Peek_UINT8(_s, _v)       \
741
  do                                  \
742
  {                                   \
743
    _v = stream_read_u8(_s, FALSE); \
744
  } while (0)
745
746
#define Stream_Peek_INT8(_s, _v)        \
747
  do                                  \
748
  {                                   \
749
    _v = stream_read_i8(_s, FALSE); \
750
  } while (0)
751
752
#define Stream_Peek_UINT16(_s, _v)          \
753
  do                                      \
754
  {                                       \
755
    _v = stream_read_u16_le(_s, FALSE); \
756
  } while (0)
757
758
#define Stream_Peek_INT16(_s, _v)           \
759
  do                                      \
760
  {                                       \
761
    _v = stream_read_i16_le(_s, FALSE); \
762
  } while (0)
763
764
#define Stream_Peek_UINT16_BE(_s, _v)       \
765
  do                                      \
766
  {                                       \
767
    _v = stream_read_u16_be(_s, FALSE); \
768
  } while (0)
769
770
#define Stream_Peek_INT16_BE(_s, _v)        \
771
  do                                      \
772
  {                                       \
773
    _v = stream_read_i16_be(_s, FALSE); \
774
  } while (0)
775
776
#define Stream_Peek_UINT32(_s, _v)          \
777
  do                                      \
778
  {                                       \
779
    _v = stream_read_u32_le(_s, FALSE); \
780
  } while (0)
781
782
#define Stream_Peek_INT32(_s, _v)           \
783
  do                                      \
784
  {                                       \
785
    _v = stream_read_i32_le(_s, FALSE); \
786
  } while (0)
787
788
#define Stream_Peek_UINT32_BE(_s, _v)       \
789
  do                                      \
790
  {                                       \
791
    _v = stream_read_u32_be(_s, FALSE); \
792
  } while (0)
793
794
#define Stream_Peek_INT32_BE(_s, _v)        \
795
  do                                      \
796
  {                                       \
797
    _v = stream_read_i32_be(_s, FALSE); \
798
  } while (0)
799
800
#define Stream_Peek_UINT64(_s, _v)          \
801
  do                                      \
802
  {                                       \
803
    _v = stream_read_u64_le(_s, FALSE); \
804
  } while (0)
805
806
#define Stream_Peek_INT64(_s, _v)           \
807
  do                                      \
808
  {                                       \
809
    _v = stream_read_i64_le(_s, FALSE); \
810
  } while (0)
811
812
#define Stream_Peek_UINT64_BE(_s, _v)       \
813
  do                                      \
814
  {                                       \
815
    _v = stream_read_u64_be(_s, FALSE); \
816
  } while (0)
817
818
#define Stream_Peek_INT64_BE(_s, _v)        \
819
  do                                      \
820
  {                                       \
821
    _v = stream_read_i64_be(_s, FALSE); \
822
  } while (0)
823
824
  static inline void Stream_Peek(const wStream* _s, void* _b, size_t _n)
825
0
  {
826
0
    WINPR_ASSERT(_s);
827
0
    WINPR_ASSERT(_b || (_n == 0));
828
0
    WINPR_ASSERT(Stream_GetRemainingCapacity(_s) >= _n);
829
0
    memcpy(_b, (_s->pointer), (_n));
830
0
  }
Unexecuted instantiation: BinaryAppender.c:Stream_Peek
Unexecuted instantiation: clipboard.c:Stream_Peek
Unexecuted instantiation: synthetic_file.c:Stream_Peek
Unexecuted instantiation: event.c:Stream_Peek
Unexecuted instantiation: wait.c:Stream_Peek
Unexecuted instantiation: generic.c:Stream_Peek
Unexecuted instantiation: namedPipeClient.c:Stream_Peek
Unexecuted instantiation: comm.c:Stream_Peek
Unexecuted instantiation: comm_ioctl.c:Stream_Peek
Unexecuted instantiation: comm_serial_sys.c:Stream_Peek
Unexecuted instantiation: comm_sercx_sys.c:Stream_Peek
Unexecuted instantiation: comm_sercx2_sys.c:Stream_Peek
Unexecuted instantiation: pipe.c:Stream_Peek
Unexecuted instantiation: stream.c:Stream_Peek
Unexecuted instantiation: ArrayList.c:Stream_Peek
Unexecuted instantiation: PacketMessage.c:Stream_Peek
Unexecuted instantiation: handle.c:Stream_Peek
Unexecuted instantiation: thread.c:Stream_Peek
Unexecuted instantiation: synthetic.c:Stream_Peek
Unexecuted instantiation: comm_io.c:Stream_Peek
Unexecuted instantiation: image.c:Stream_Peek
831
832
#define Stream_Write_INT8(s, v)                \
833
6.72k
  do                                         \
834
6.72k
  {                                          \
835
6.72k
    WINPR_ASSERT((v) <= INT8_MAX);         \
836
6.72k
    WINPR_ASSERT((v) >= INT8_MIN);         \
837
6.72k
    Stream_Write_INT8_unchecked((s), (v)); \
838
6.72k
  } while (0)
839
840
  /** @brief writes a \b INT8 to a \b wStream. The stream must be large enough to hold the data.
841
   *
842
   * Do not use directly, use the define @ref Stream_Write_INT8 instead
843
   *
844
   * \param _s The stream to write to, must not be \b nullptr
845
   * \param _v The value to write
846
   */
847
  static inline void Stream_Write_INT8_unchecked(wStream* _s, INT8 _v)
848
6.72k
  {
849
6.72k
    WINPR_ASSERT(_s);
850
6.72k
    WINPR_ASSERT(_s->pointer);
851
6.72k
    WINPR_ASSERT(Stream_GetRemainingCapacity(_s) >= 1);
852
853
6.72k
    winpr_Data_Write_INT8(_s->pointer, _v);
854
6.72k
    _s->pointer += 1;
855
6.72k
  }
Unexecuted instantiation: BinaryAppender.c:Stream_Write_INT8_unchecked
Unexecuted instantiation: clipboard.c:Stream_Write_INT8_unchecked
Unexecuted instantiation: synthetic_file.c:Stream_Write_INT8_unchecked
Unexecuted instantiation: event.c:Stream_Write_INT8_unchecked
Unexecuted instantiation: wait.c:Stream_Write_INT8_unchecked
Unexecuted instantiation: generic.c:Stream_Write_INT8_unchecked
Unexecuted instantiation: namedPipeClient.c:Stream_Write_INT8_unchecked
Unexecuted instantiation: comm.c:Stream_Write_INT8_unchecked
Unexecuted instantiation: comm_ioctl.c:Stream_Write_INT8_unchecked
Unexecuted instantiation: comm_serial_sys.c:Stream_Write_INT8_unchecked
Unexecuted instantiation: comm_sercx_sys.c:Stream_Write_INT8_unchecked
Unexecuted instantiation: comm_sercx2_sys.c:Stream_Write_INT8_unchecked
Unexecuted instantiation: pipe.c:Stream_Write_INT8_unchecked
Unexecuted instantiation: stream.c:Stream_Write_INT8_unchecked
Unexecuted instantiation: ArrayList.c:Stream_Write_INT8_unchecked
Unexecuted instantiation: PacketMessage.c:Stream_Write_INT8_unchecked
Unexecuted instantiation: handle.c:Stream_Write_INT8_unchecked
Unexecuted instantiation: thread.c:Stream_Write_INT8_unchecked
synthetic.c:Stream_Write_INT8_unchecked
Line
Count
Source
848
6.72k
  {
849
6.72k
    WINPR_ASSERT(_s);
850
6.72k
    WINPR_ASSERT(_s->pointer);
851
6.72k
    WINPR_ASSERT(Stream_GetRemainingCapacity(_s) >= 1);
852
853
6.72k
    winpr_Data_Write_INT8(_s->pointer, _v);
854
6.72k
    _s->pointer += 1;
855
6.72k
  }
Unexecuted instantiation: comm_io.c:Stream_Write_INT8_unchecked
Unexecuted instantiation: image.c:Stream_Write_INT8_unchecked
856
857
#define Stream_Write_UINT8(s, v)                \
858
140
  do                                          \
859
140
  {                                           \
860
140
    WINPR_ASSERT((v) <= UINT8_MAX);         \
861
140
    WINPR_ASSERT((v) >= 0);                 \
862
140
    Stream_Write_UINT8_unchecked((s), (v)); \
863
140
  } while (0)
864
865
  /** @brief writes a \b UINT8 to a \b wStream. The stream must be large enough to hold the data.
866
   *
867
   * Do not use directly, use the define @ref Stream_Write_UINT8 instead
868
   *
869
   * \param _s The stream to write to, must not be \b nullptr
870
   * \param _v The value to write
871
   */
872
  static inline void Stream_Write_UINT8_unchecked(wStream* _s, UINT8 _v)
873
140
  {
874
140
    WINPR_ASSERT(_s);
875
140
    WINPR_ASSERT(_s->pointer);
876
140
    WINPR_ASSERT(Stream_GetRemainingCapacity(_s) >= 1);
877
878
140
    winpr_Data_Write_UINT8(_s->pointer, _v);
879
140
    _s->pointer += 1;
880
140
  }
Unexecuted instantiation: BinaryAppender.c:Stream_Write_UINT8_unchecked
Unexecuted instantiation: clipboard.c:Stream_Write_UINT8_unchecked
Unexecuted instantiation: synthetic_file.c:Stream_Write_UINT8_unchecked
Unexecuted instantiation: event.c:Stream_Write_UINT8_unchecked
Unexecuted instantiation: wait.c:Stream_Write_UINT8_unchecked
Unexecuted instantiation: generic.c:Stream_Write_UINT8_unchecked
Unexecuted instantiation: namedPipeClient.c:Stream_Write_UINT8_unchecked
Unexecuted instantiation: comm.c:Stream_Write_UINT8_unchecked
Unexecuted instantiation: comm_ioctl.c:Stream_Write_UINT8_unchecked
Unexecuted instantiation: comm_serial_sys.c:Stream_Write_UINT8_unchecked
Unexecuted instantiation: comm_sercx_sys.c:Stream_Write_UINT8_unchecked
Unexecuted instantiation: comm_sercx2_sys.c:Stream_Write_UINT8_unchecked
Unexecuted instantiation: pipe.c:Stream_Write_UINT8_unchecked
Unexecuted instantiation: stream.c:Stream_Write_UINT8_unchecked
Unexecuted instantiation: ArrayList.c:Stream_Write_UINT8_unchecked
Unexecuted instantiation: PacketMessage.c:Stream_Write_UINT8_unchecked
Unexecuted instantiation: handle.c:Stream_Write_UINT8_unchecked
Unexecuted instantiation: thread.c:Stream_Write_UINT8_unchecked
Unexecuted instantiation: synthetic.c:Stream_Write_UINT8_unchecked
Unexecuted instantiation: comm_io.c:Stream_Write_UINT8_unchecked
image.c:Stream_Write_UINT8_unchecked
Line
Count
Source
873
140
  {
874
140
    WINPR_ASSERT(_s);
875
140
    WINPR_ASSERT(_s->pointer);
876
140
    WINPR_ASSERT(Stream_GetRemainingCapacity(_s) >= 1);
877
878
140
    winpr_Data_Write_UINT8(_s->pointer, _v);
879
140
    _s->pointer += 1;
880
140
  }
881
882
#define Stream_Write_INT16(s, v)                \
883
  do                                          \
884
  {                                           \
885
    WINPR_ASSERT((v) >= INT16_MIN);         \
886
    WINPR_ASSERT((v) <= INT16_MAX);         \
887
    Stream_Write_INT16_unchecked((s), (v)); \
888
  } while (0)
889
890
  /** @brief writes a \b INT16 as \b little endian to a \b wStream. The stream must be large
891
   * enough to hold the data.
892
   *
893
   * Do not use directly, use the define @ref Stream_Write_INT16 instead
894
   *
895
   * \param _s The stream to write to, must not be \b nullptr
896
   * \param _v The value to write
897
   */
898
  static inline void Stream_Write_INT16_unchecked(wStream* _s, INT16 _v)
899
0
  {
900
0
    WINPR_ASSERT(_s);
901
0
    WINPR_ASSERT(_s->pointer);
902
0
    WINPR_ASSERT(Stream_GetRemainingCapacity(_s) >= 2);
903
0
904
0
    winpr_Data_Write_INT16(_s->pointer, _v);
905
0
    _s->pointer += 2;
906
0
  }
Unexecuted instantiation: BinaryAppender.c:Stream_Write_INT16_unchecked
Unexecuted instantiation: clipboard.c:Stream_Write_INT16_unchecked
Unexecuted instantiation: synthetic_file.c:Stream_Write_INT16_unchecked
Unexecuted instantiation: event.c:Stream_Write_INT16_unchecked
Unexecuted instantiation: wait.c:Stream_Write_INT16_unchecked
Unexecuted instantiation: generic.c:Stream_Write_INT16_unchecked
Unexecuted instantiation: namedPipeClient.c:Stream_Write_INT16_unchecked
Unexecuted instantiation: comm.c:Stream_Write_INT16_unchecked
Unexecuted instantiation: comm_ioctl.c:Stream_Write_INT16_unchecked
Unexecuted instantiation: comm_serial_sys.c:Stream_Write_INT16_unchecked
Unexecuted instantiation: comm_sercx_sys.c:Stream_Write_INT16_unchecked
Unexecuted instantiation: comm_sercx2_sys.c:Stream_Write_INT16_unchecked
Unexecuted instantiation: pipe.c:Stream_Write_INT16_unchecked
Unexecuted instantiation: stream.c:Stream_Write_INT16_unchecked
Unexecuted instantiation: ArrayList.c:Stream_Write_INT16_unchecked
Unexecuted instantiation: PacketMessage.c:Stream_Write_INT16_unchecked
Unexecuted instantiation: handle.c:Stream_Write_INT16_unchecked
Unexecuted instantiation: thread.c:Stream_Write_INT16_unchecked
Unexecuted instantiation: synthetic.c:Stream_Write_INT16_unchecked
Unexecuted instantiation: comm_io.c:Stream_Write_INT16_unchecked
Unexecuted instantiation: image.c:Stream_Write_INT16_unchecked
907
908
#define Stream_Write_UINT16(s, v)                \
909
140
  do                                           \
910
140
  {                                            \
911
140
    WINPR_ASSERT((v) <= UINT16_MAX);         \
912
140
    WINPR_ASSERT((v) >= 0);                  \
913
140
    Stream_Write_UINT16_unchecked((s), (v)); \
914
140
  } while (0)
915
916
  /** @brief writes a \b UINT16 as \b little endian to a \b wStream. The stream must be large
917
   * enough to hold the data.
918
   *
919
   * Do not use directly, use the define @ref Stream_Write_UINT16 instead
920
   *
921
   * \param _s The stream to write to, must not be \b nullptr
922
   * \param _v The value to write
923
   */
924
  static inline void Stream_Write_UINT16_unchecked(wStream* _s, UINT16 _v)
925
140
  {
926
140
    WINPR_ASSERT(_s);
927
140
    WINPR_ASSERT(_s->pointer);
928
140
    WINPR_ASSERT(Stream_GetRemainingCapacity(_s) >= 2);
929
930
140
    winpr_Data_Write_UINT16(_s->pointer, _v);
931
140
    _s->pointer += 2;
932
140
  }
Unexecuted instantiation: BinaryAppender.c:Stream_Write_UINT16_unchecked
Unexecuted instantiation: clipboard.c:Stream_Write_UINT16_unchecked
Unexecuted instantiation: synthetic_file.c:Stream_Write_UINT16_unchecked
Unexecuted instantiation: event.c:Stream_Write_UINT16_unchecked
Unexecuted instantiation: wait.c:Stream_Write_UINT16_unchecked
Unexecuted instantiation: generic.c:Stream_Write_UINT16_unchecked
Unexecuted instantiation: namedPipeClient.c:Stream_Write_UINT16_unchecked
Unexecuted instantiation: comm.c:Stream_Write_UINT16_unchecked
Unexecuted instantiation: comm_ioctl.c:Stream_Write_UINT16_unchecked
Unexecuted instantiation: comm_serial_sys.c:Stream_Write_UINT16_unchecked
Unexecuted instantiation: comm_sercx_sys.c:Stream_Write_UINT16_unchecked
Unexecuted instantiation: comm_sercx2_sys.c:Stream_Write_UINT16_unchecked
Unexecuted instantiation: pipe.c:Stream_Write_UINT16_unchecked
Unexecuted instantiation: stream.c:Stream_Write_UINT16_unchecked
Unexecuted instantiation: ArrayList.c:Stream_Write_UINT16_unchecked
Unexecuted instantiation: PacketMessage.c:Stream_Write_UINT16_unchecked
Unexecuted instantiation: handle.c:Stream_Write_UINT16_unchecked
Unexecuted instantiation: thread.c:Stream_Write_UINT16_unchecked
Unexecuted instantiation: synthetic.c:Stream_Write_UINT16_unchecked
Unexecuted instantiation: comm_io.c:Stream_Write_UINT16_unchecked
image.c:Stream_Write_UINT16_unchecked
Line
Count
Source
925
140
  {
926
140
    WINPR_ASSERT(_s);
927
140
    WINPR_ASSERT(_s->pointer);
928
140
    WINPR_ASSERT(Stream_GetRemainingCapacity(_s) >= 2);
929
930
140
    winpr_Data_Write_UINT16(_s->pointer, _v);
931
140
    _s->pointer += 2;
932
140
  }
933
934
#define Stream_Write_UINT16_BE(s, v)                \
935
0
  do                                              \
936
0
  {                                               \
937
0
    WINPR_ASSERT((v) <= UINT16_MAX);            \
938
0
    WINPR_ASSERT((v) >= 0);                     \
939
0
    Stream_Write_UINT16_BE_unchecked((s), (v)); \
940
0
  } while (0)
941
942
  /** @brief writes a \b UINT16 as \b big endian to a \b wStream. The stream must be large enough
943
   * to hold the data.
944
   *
945
   * Do not use directly, use the define @ref Stream_Write_UINT16_BE instead
946
   *
947
   * \param _s The stream to write to, must not be \b nullptr
948
   * \param _v The value to write
949
   */
950
  static inline void Stream_Write_UINT16_BE_unchecked(wStream* _s, UINT16 _v)
951
0
  {
952
0
    WINPR_ASSERT(_s);
953
0
    WINPR_ASSERT(_s->pointer);
954
0
    WINPR_ASSERT(Stream_GetRemainingCapacity(_s) >= 2);
955
956
0
    winpr_Data_Write_UINT16_BE(_s->pointer, _v);
957
0
    _s->pointer += 2;
958
0
  }
Unexecuted instantiation: BinaryAppender.c:Stream_Write_UINT16_BE_unchecked
Unexecuted instantiation: clipboard.c:Stream_Write_UINT16_BE_unchecked
Unexecuted instantiation: synthetic_file.c:Stream_Write_UINT16_BE_unchecked
Unexecuted instantiation: event.c:Stream_Write_UINT16_BE_unchecked
Unexecuted instantiation: wait.c:Stream_Write_UINT16_BE_unchecked
Unexecuted instantiation: generic.c:Stream_Write_UINT16_BE_unchecked
Unexecuted instantiation: namedPipeClient.c:Stream_Write_UINT16_BE_unchecked
Unexecuted instantiation: comm.c:Stream_Write_UINT16_BE_unchecked
Unexecuted instantiation: comm_ioctl.c:Stream_Write_UINT16_BE_unchecked
Unexecuted instantiation: comm_serial_sys.c:Stream_Write_UINT16_BE_unchecked
Unexecuted instantiation: comm_sercx_sys.c:Stream_Write_UINT16_BE_unchecked
Unexecuted instantiation: comm_sercx2_sys.c:Stream_Write_UINT16_BE_unchecked
Unexecuted instantiation: pipe.c:Stream_Write_UINT16_BE_unchecked
Unexecuted instantiation: stream.c:Stream_Write_UINT16_BE_unchecked
Unexecuted instantiation: ArrayList.c:Stream_Write_UINT16_BE_unchecked
Unexecuted instantiation: PacketMessage.c:Stream_Write_UINT16_BE_unchecked
Unexecuted instantiation: handle.c:Stream_Write_UINT16_BE_unchecked
Unexecuted instantiation: thread.c:Stream_Write_UINT16_BE_unchecked
Unexecuted instantiation: synthetic.c:Stream_Write_UINT16_BE_unchecked
Unexecuted instantiation: comm_io.c:Stream_Write_UINT16_BE_unchecked
Unexecuted instantiation: image.c:Stream_Write_UINT16_BE_unchecked
959
960
#define Stream_Write_INT16_BE(s, v)                \
961
  do                                             \
962
  {                                              \
963
    WINPR_ASSERT((v) <= INT16_MAX);            \
964
    WINPR_ASSERT((v) >= INT16_MIN);            \
965
    Stream_Write_INT16_BE_unchecked((s), (v)); \
966
  } while (0)
967
968
  /** @brief writes a \b UINT16 as \b big endian to a \b wStream. The stream must be large enough
969
   * to hold the data.
970
   *
971
   * Do not use directly, use the define @ref Stream_Write_UINT16_BE instead
972
   *
973
   * \param _s The stream to write to, must not be \b nullptr
974
   * \param _v The value to write
975
   *
976
   * @since version 3.10.0
977
   */
978
  static inline void Stream_Write_INT16_BE_unchecked(wStream* _s, INT16 _v)
979
0
  {
980
0
    WINPR_ASSERT(_s);
981
0
    WINPR_ASSERT(_s->pointer);
982
0
    WINPR_ASSERT(Stream_GetRemainingCapacity(_s) >= 2);
983
0
984
0
    winpr_Data_Write_INT16_BE(_s->pointer, _v);
985
0
    _s->pointer += 2;
986
0
  }
Unexecuted instantiation: BinaryAppender.c:Stream_Write_INT16_BE_unchecked
Unexecuted instantiation: clipboard.c:Stream_Write_INT16_BE_unchecked
Unexecuted instantiation: synthetic_file.c:Stream_Write_INT16_BE_unchecked
Unexecuted instantiation: event.c:Stream_Write_INT16_BE_unchecked
Unexecuted instantiation: wait.c:Stream_Write_INT16_BE_unchecked
Unexecuted instantiation: generic.c:Stream_Write_INT16_BE_unchecked
Unexecuted instantiation: namedPipeClient.c:Stream_Write_INT16_BE_unchecked
Unexecuted instantiation: comm.c:Stream_Write_INT16_BE_unchecked
Unexecuted instantiation: comm_ioctl.c:Stream_Write_INT16_BE_unchecked
Unexecuted instantiation: comm_serial_sys.c:Stream_Write_INT16_BE_unchecked
Unexecuted instantiation: comm_sercx_sys.c:Stream_Write_INT16_BE_unchecked
Unexecuted instantiation: comm_sercx2_sys.c:Stream_Write_INT16_BE_unchecked
Unexecuted instantiation: pipe.c:Stream_Write_INT16_BE_unchecked
Unexecuted instantiation: stream.c:Stream_Write_INT16_BE_unchecked
Unexecuted instantiation: ArrayList.c:Stream_Write_INT16_BE_unchecked
Unexecuted instantiation: PacketMessage.c:Stream_Write_INT16_BE_unchecked
Unexecuted instantiation: handle.c:Stream_Write_INT16_BE_unchecked
Unexecuted instantiation: thread.c:Stream_Write_INT16_BE_unchecked
Unexecuted instantiation: synthetic.c:Stream_Write_INT16_BE_unchecked
Unexecuted instantiation: comm_io.c:Stream_Write_INT16_BE_unchecked
Unexecuted instantiation: image.c:Stream_Write_INT16_BE_unchecked
987
988
#define Stream_Write_UINT24_BE(s, v)                \
989
  do                                              \
990
  {                                               \
991
    WINPR_ASSERT((v) <= 0xFFFFFF);              \
992
    WINPR_ASSERT((v) >= 0);                     \
993
    Stream_Write_UINT24_BE_unchecked((s), (v)); \
994
  } while (0)
995
996
  /** @brief writes a \b UINT24 as \b big endian to a \b wStream. The stream must be large enough
997
   * to hold the data.
998
   *
999
   * Do not use directly, use the define @ref Stream_Write_UINT24_BE instead
1000
   *
1001
   * \param _s The stream to write to, must not be \b nullptr
1002
   * \param _v The value to write
1003
   */
1004
  static inline void Stream_Write_UINT24_BE_unchecked(wStream* _s, UINT32 _v)
1005
0
  {
1006
0
    WINPR_ASSERT(_s);
1007
0
    WINPR_ASSERT(_s->pointer);
1008
0
    WINPR_ASSERT(_v <= 0x00FFFFFF);
1009
0
    WINPR_ASSERT(Stream_GetRemainingCapacity(_s) >= 3);
1010
0
1011
0
    *_s->pointer++ = ((_v) >> 16) & 0xFF;
1012
0
    *_s->pointer++ = ((_v) >> 8) & 0xFF;
1013
0
    *_s->pointer++ = (_v) & 0xFF;
1014
0
  }
Unexecuted instantiation: BinaryAppender.c:Stream_Write_UINT24_BE_unchecked
Unexecuted instantiation: clipboard.c:Stream_Write_UINT24_BE_unchecked
Unexecuted instantiation: synthetic_file.c:Stream_Write_UINT24_BE_unchecked
Unexecuted instantiation: event.c:Stream_Write_UINT24_BE_unchecked
Unexecuted instantiation: wait.c:Stream_Write_UINT24_BE_unchecked
Unexecuted instantiation: generic.c:Stream_Write_UINT24_BE_unchecked
Unexecuted instantiation: namedPipeClient.c:Stream_Write_UINT24_BE_unchecked
Unexecuted instantiation: comm.c:Stream_Write_UINT24_BE_unchecked
Unexecuted instantiation: comm_ioctl.c:Stream_Write_UINT24_BE_unchecked
Unexecuted instantiation: comm_serial_sys.c:Stream_Write_UINT24_BE_unchecked
Unexecuted instantiation: comm_sercx_sys.c:Stream_Write_UINT24_BE_unchecked
Unexecuted instantiation: comm_sercx2_sys.c:Stream_Write_UINT24_BE_unchecked
Unexecuted instantiation: pipe.c:Stream_Write_UINT24_BE_unchecked
Unexecuted instantiation: stream.c:Stream_Write_UINT24_BE_unchecked
Unexecuted instantiation: ArrayList.c:Stream_Write_UINT24_BE_unchecked
Unexecuted instantiation: PacketMessage.c:Stream_Write_UINT24_BE_unchecked
Unexecuted instantiation: handle.c:Stream_Write_UINT24_BE_unchecked
Unexecuted instantiation: thread.c:Stream_Write_UINT24_BE_unchecked
Unexecuted instantiation: synthetic.c:Stream_Write_UINT24_BE_unchecked
Unexecuted instantiation: comm_io.c:Stream_Write_UINT24_BE_unchecked
Unexecuted instantiation: image.c:Stream_Write_UINT24_BE_unchecked
1015
1016
#define Stream_Write_INT32(s, v)                \
1017
0
  do                                          \
1018
0
  {                                           \
1019
0
    WINPR_ASSERT((v) <= INT32_MAX);         \
1020
0
    WINPR_ASSERT((v) >= INT32_MIN);         \
1021
0
    Stream_Write_INT32_unchecked((s), (v)); \
1022
0
  } while (0)
1023
1024
  /** @brief writes a \b INT32 as \b little endian to a \b wStream. The stream must be large
1025
   * enough to hold the data.
1026
   *
1027
   * Do not use directly, use the define @ref Stream_Write_INT32 instead
1028
   *
1029
   * \param _s The stream to write to, must not be \b nullptr
1030
   * \param _v The value to write
1031
   */
1032
  static inline void Stream_Write_INT32_unchecked(wStream* _s, INT32 _v)
1033
0
  {
1034
0
    WINPR_ASSERT(_s);
1035
0
    WINPR_ASSERT(_s->pointer);
1036
0
    WINPR_ASSERT(Stream_GetRemainingCapacity(_s) >= 4);
1037
1038
0
    winpr_Data_Write_INT32(_s->pointer, _v);
1039
0
    _s->pointer += 4;
1040
0
  }
Unexecuted instantiation: BinaryAppender.c:Stream_Write_INT32_unchecked
Unexecuted instantiation: clipboard.c:Stream_Write_INT32_unchecked
Unexecuted instantiation: synthetic_file.c:Stream_Write_INT32_unchecked
Unexecuted instantiation: event.c:Stream_Write_INT32_unchecked
Unexecuted instantiation: wait.c:Stream_Write_INT32_unchecked
Unexecuted instantiation: generic.c:Stream_Write_INT32_unchecked
Unexecuted instantiation: namedPipeClient.c:Stream_Write_INT32_unchecked
Unexecuted instantiation: comm.c:Stream_Write_INT32_unchecked
Unexecuted instantiation: comm_ioctl.c:Stream_Write_INT32_unchecked
Unexecuted instantiation: comm_serial_sys.c:Stream_Write_INT32_unchecked
Unexecuted instantiation: comm_sercx_sys.c:Stream_Write_INT32_unchecked
Unexecuted instantiation: comm_sercx2_sys.c:Stream_Write_INT32_unchecked
Unexecuted instantiation: pipe.c:Stream_Write_INT32_unchecked
Unexecuted instantiation: stream.c:Stream_Write_INT32_unchecked
Unexecuted instantiation: ArrayList.c:Stream_Write_INT32_unchecked
Unexecuted instantiation: PacketMessage.c:Stream_Write_INT32_unchecked
Unexecuted instantiation: handle.c:Stream_Write_INT32_unchecked
Unexecuted instantiation: thread.c:Stream_Write_INT32_unchecked
Unexecuted instantiation: synthetic.c:Stream_Write_INT32_unchecked
Unexecuted instantiation: comm_io.c:Stream_Write_INT32_unchecked
Unexecuted instantiation: image.c:Stream_Write_INT32_unchecked
1041
1042
#define Stream_Write_INT32_BE(s, v)                \
1043
  do                                             \
1044
  {                                              \
1045
    WINPR_ASSERT((v) <= INT32_MAX);            \
1046
    WINPR_ASSERT((v) >= INT32_MIN);            \
1047
    Stream_Write_INT32_BE_unchecked((s), (v)); \
1048
  } while (0)
1049
1050
  /** @brief writes a \b INT32 as \b little endian to a \b wStream. The stream must be large
1051
   * enough to hold the data.
1052
   *
1053
   * Do not use directly, use the define @ref Stream_Write_INT32 instead
1054
   *
1055
   * \param _s The stream to write to, must not be \b nullptr
1056
   * \param _v The value to write
1057
   *
1058
   * @since version 3.10.0
1059
   */
1060
  static inline void Stream_Write_INT32_BE_unchecked(wStream* _s, INT32 _v)
1061
0
  {
1062
0
    WINPR_ASSERT(_s);
1063
0
    WINPR_ASSERT(_s->pointer);
1064
0
    WINPR_ASSERT(Stream_GetRemainingCapacity(_s) >= 4);
1065
0
1066
0
    winpr_Data_Write_INT32_BE(_s->pointer, _v);
1067
0
    _s->pointer += 4;
1068
0
  }
Unexecuted instantiation: BinaryAppender.c:Stream_Write_INT32_BE_unchecked
Unexecuted instantiation: clipboard.c:Stream_Write_INT32_BE_unchecked
Unexecuted instantiation: synthetic_file.c:Stream_Write_INT32_BE_unchecked
Unexecuted instantiation: event.c:Stream_Write_INT32_BE_unchecked
Unexecuted instantiation: wait.c:Stream_Write_INT32_BE_unchecked
Unexecuted instantiation: generic.c:Stream_Write_INT32_BE_unchecked
Unexecuted instantiation: namedPipeClient.c:Stream_Write_INT32_BE_unchecked
Unexecuted instantiation: comm.c:Stream_Write_INT32_BE_unchecked
Unexecuted instantiation: comm_ioctl.c:Stream_Write_INT32_BE_unchecked
Unexecuted instantiation: comm_serial_sys.c:Stream_Write_INT32_BE_unchecked
Unexecuted instantiation: comm_sercx_sys.c:Stream_Write_INT32_BE_unchecked
Unexecuted instantiation: comm_sercx2_sys.c:Stream_Write_INT32_BE_unchecked
Unexecuted instantiation: pipe.c:Stream_Write_INT32_BE_unchecked
Unexecuted instantiation: stream.c:Stream_Write_INT32_BE_unchecked
Unexecuted instantiation: ArrayList.c:Stream_Write_INT32_BE_unchecked
Unexecuted instantiation: PacketMessage.c:Stream_Write_INT32_BE_unchecked
Unexecuted instantiation: handle.c:Stream_Write_INT32_BE_unchecked
Unexecuted instantiation: thread.c:Stream_Write_INT32_BE_unchecked
Unexecuted instantiation: synthetic.c:Stream_Write_INT32_BE_unchecked
Unexecuted instantiation: comm_io.c:Stream_Write_INT32_BE_unchecked
Unexecuted instantiation: image.c:Stream_Write_INT32_BE_unchecked
1069
1070
#define Stream_Write_UINT32(s, v)                \
1071
140
  do                                           \
1072
140
  {                                            \
1073
140
    WINPR_ASSERT((v) <= UINT32_MAX);         \
1074
140
    WINPR_ASSERT((v) >= 0);                  \
1075
140
    Stream_Write_UINT32_unchecked((s), (v)); \
1076
140
  } while (0)
1077
1078
  /** @brief writes a \b UINT32 as \b little endian to a \b wStream. The stream must be large
1079
   * enough to hold the data.
1080
   *
1081
   * Do not use directly, use the define @ref Stream_Write_UINT32 instead
1082
   *
1083
   * \param _s The stream to write to, must not be \b nullptr
1084
   * \param _v The value to write
1085
   */
1086
  static inline void Stream_Write_UINT32_unchecked(wStream* _s, UINT32 _v)
1087
140
  {
1088
140
    WINPR_ASSERT(_s);
1089
140
    WINPR_ASSERT(_s->pointer);
1090
140
    WINPR_ASSERT(Stream_GetRemainingCapacity(_s) >= 4);
1091
1092
140
    winpr_Data_Write_UINT32(_s->pointer, _v);
1093
140
    _s->pointer += 4;
1094
140
  }
Unexecuted instantiation: BinaryAppender.c:Stream_Write_UINT32_unchecked
Unexecuted instantiation: clipboard.c:Stream_Write_UINT32_unchecked
Unexecuted instantiation: synthetic_file.c:Stream_Write_UINT32_unchecked
Unexecuted instantiation: event.c:Stream_Write_UINT32_unchecked
Unexecuted instantiation: wait.c:Stream_Write_UINT32_unchecked
Unexecuted instantiation: generic.c:Stream_Write_UINT32_unchecked
Unexecuted instantiation: namedPipeClient.c:Stream_Write_UINT32_unchecked
Unexecuted instantiation: comm.c:Stream_Write_UINT32_unchecked
Unexecuted instantiation: comm_ioctl.c:Stream_Write_UINT32_unchecked
Unexecuted instantiation: comm_serial_sys.c:Stream_Write_UINT32_unchecked
Unexecuted instantiation: comm_sercx_sys.c:Stream_Write_UINT32_unchecked
Unexecuted instantiation: comm_sercx2_sys.c:Stream_Write_UINT32_unchecked
Unexecuted instantiation: pipe.c:Stream_Write_UINT32_unchecked
Unexecuted instantiation: stream.c:Stream_Write_UINT32_unchecked
Unexecuted instantiation: ArrayList.c:Stream_Write_UINT32_unchecked
Unexecuted instantiation: PacketMessage.c:Stream_Write_UINT32_unchecked
Unexecuted instantiation: handle.c:Stream_Write_UINT32_unchecked
Unexecuted instantiation: thread.c:Stream_Write_UINT32_unchecked
Unexecuted instantiation: synthetic.c:Stream_Write_UINT32_unchecked
Unexecuted instantiation: comm_io.c:Stream_Write_UINT32_unchecked
image.c:Stream_Write_UINT32_unchecked
Line
Count
Source
1087
140
  {
1088
140
    WINPR_ASSERT(_s);
1089
140
    WINPR_ASSERT(_s->pointer);
1090
140
    WINPR_ASSERT(Stream_GetRemainingCapacity(_s) >= 4);
1091
1092
140
    winpr_Data_Write_UINT32(_s->pointer, _v);
1093
140
    _s->pointer += 4;
1094
140
  }
1095
1096
#define Stream_Write_UINT32_BE(s, v)                \
1097
0
  do                                              \
1098
0
  {                                               \
1099
0
    WINPR_ASSERT((v) <= UINT32_MAX);            \
1100
0
    WINPR_ASSERT((v) >= 0);                     \
1101
0
    Stream_Write_UINT32_BE_unchecked((s), (v)); \
1102
0
  } while (0)
1103
1104
  /** @brief writes a \b UINT32 as \b big endian to a \b wStream. The stream must be large enough
1105
   * to hold the data.
1106
   *
1107
   * Do not use directly, use the define @ref Stream_Write_UINT32_BE instead
1108
   *
1109
   * \param _s The stream to write to, must not be \b nullptr
1110
   * \param _v The value to write
1111
   */
1112
  static inline void Stream_Write_UINT32_BE_unchecked(wStream* _s, UINT32 _v)
1113
0
  {
1114
0
    WINPR_ASSERT(Stream_GetRemainingCapacity(_s) >= 4);
1115
1116
0
    winpr_Data_Write_UINT32_BE(_s->pointer, _v);
1117
0
    _s->pointer += 4;
1118
0
  }
Unexecuted instantiation: BinaryAppender.c:Stream_Write_UINT32_BE_unchecked
Unexecuted instantiation: clipboard.c:Stream_Write_UINT32_BE_unchecked
Unexecuted instantiation: synthetic_file.c:Stream_Write_UINT32_BE_unchecked
Unexecuted instantiation: event.c:Stream_Write_UINT32_BE_unchecked
Unexecuted instantiation: wait.c:Stream_Write_UINT32_BE_unchecked
Unexecuted instantiation: generic.c:Stream_Write_UINT32_BE_unchecked
Unexecuted instantiation: namedPipeClient.c:Stream_Write_UINT32_BE_unchecked
Unexecuted instantiation: comm.c:Stream_Write_UINT32_BE_unchecked
Unexecuted instantiation: comm_ioctl.c:Stream_Write_UINT32_BE_unchecked
Unexecuted instantiation: comm_serial_sys.c:Stream_Write_UINT32_BE_unchecked
Unexecuted instantiation: comm_sercx_sys.c:Stream_Write_UINT32_BE_unchecked
Unexecuted instantiation: comm_sercx2_sys.c:Stream_Write_UINT32_BE_unchecked
Unexecuted instantiation: pipe.c:Stream_Write_UINT32_BE_unchecked
Unexecuted instantiation: stream.c:Stream_Write_UINT32_BE_unchecked
Unexecuted instantiation: ArrayList.c:Stream_Write_UINT32_BE_unchecked
Unexecuted instantiation: PacketMessage.c:Stream_Write_UINT32_BE_unchecked
Unexecuted instantiation: handle.c:Stream_Write_UINT32_BE_unchecked
Unexecuted instantiation: thread.c:Stream_Write_UINT32_BE_unchecked
Unexecuted instantiation: synthetic.c:Stream_Write_UINT32_BE_unchecked
Unexecuted instantiation: comm_io.c:Stream_Write_UINT32_BE_unchecked
Unexecuted instantiation: image.c:Stream_Write_UINT32_BE_unchecked
1119
1120
  /** @brief writes a \b UINT64 as \b little endian to a \b wStream. The stream must be large
1121
   * enough to hold the data.
1122
   *
1123
   * \param _s The stream to write to, must not be \b nullptr
1124
   * \param _v The value to write
1125
   */
1126
  static inline void Stream_Write_UINT64(wStream* _s, UINT64 _v)
1127
0
  {
1128
0
    WINPR_ASSERT(_s);
1129
0
    WINPR_ASSERT(_s->pointer);
1130
0
    WINPR_ASSERT(Stream_GetRemainingCapacity(_s) >= 8);
1131
0
1132
0
    winpr_Data_Write_UINT64(_s->pointer, _v);
1133
0
    _s->pointer += 8;
1134
0
  }
Unexecuted instantiation: BinaryAppender.c:Stream_Write_UINT64
Unexecuted instantiation: clipboard.c:Stream_Write_UINT64
Unexecuted instantiation: synthetic_file.c:Stream_Write_UINT64
Unexecuted instantiation: event.c:Stream_Write_UINT64
Unexecuted instantiation: wait.c:Stream_Write_UINT64
Unexecuted instantiation: generic.c:Stream_Write_UINT64
Unexecuted instantiation: namedPipeClient.c:Stream_Write_UINT64
Unexecuted instantiation: comm.c:Stream_Write_UINT64
Unexecuted instantiation: comm_ioctl.c:Stream_Write_UINT64
Unexecuted instantiation: comm_serial_sys.c:Stream_Write_UINT64
Unexecuted instantiation: comm_sercx_sys.c:Stream_Write_UINT64
Unexecuted instantiation: comm_sercx2_sys.c:Stream_Write_UINT64
Unexecuted instantiation: pipe.c:Stream_Write_UINT64
Unexecuted instantiation: stream.c:Stream_Write_UINT64
Unexecuted instantiation: ArrayList.c:Stream_Write_UINT64
Unexecuted instantiation: PacketMessage.c:Stream_Write_UINT64
Unexecuted instantiation: handle.c:Stream_Write_UINT64
Unexecuted instantiation: thread.c:Stream_Write_UINT64
Unexecuted instantiation: synthetic.c:Stream_Write_UINT64
Unexecuted instantiation: comm_io.c:Stream_Write_UINT64
Unexecuted instantiation: image.c:Stream_Write_UINT64
1135
1136
  /** @brief writes a \b UINT64 as \b big endian to a \b wStream. The stream must be large enough
1137
   * to hold the data.
1138
   *
1139
   * \param _s The stream to write to, must not be \b nullptr
1140
   * \param _v The value to write
1141
   */
1142
  static inline void Stream_Write_UINT64_BE(wStream* _s, UINT64 _v)
1143
0
  {
1144
0
    WINPR_ASSERT(_s);
1145
0
    WINPR_ASSERT(_s->pointer);
1146
0
    WINPR_ASSERT(Stream_GetRemainingCapacity(_s) >= 8);
1147
0
1148
0
    winpr_Data_Write_UINT64_BE(_s->pointer, _v);
1149
0
    _s->pointer += 8;
1150
0
  }
Unexecuted instantiation: BinaryAppender.c:Stream_Write_UINT64_BE
Unexecuted instantiation: clipboard.c:Stream_Write_UINT64_BE
Unexecuted instantiation: synthetic_file.c:Stream_Write_UINT64_BE
Unexecuted instantiation: event.c:Stream_Write_UINT64_BE
Unexecuted instantiation: wait.c:Stream_Write_UINT64_BE
Unexecuted instantiation: generic.c:Stream_Write_UINT64_BE
Unexecuted instantiation: namedPipeClient.c:Stream_Write_UINT64_BE
Unexecuted instantiation: comm.c:Stream_Write_UINT64_BE
Unexecuted instantiation: comm_ioctl.c:Stream_Write_UINT64_BE
Unexecuted instantiation: comm_serial_sys.c:Stream_Write_UINT64_BE
Unexecuted instantiation: comm_sercx_sys.c:Stream_Write_UINT64_BE
Unexecuted instantiation: comm_sercx2_sys.c:Stream_Write_UINT64_BE
Unexecuted instantiation: pipe.c:Stream_Write_UINT64_BE
Unexecuted instantiation: stream.c:Stream_Write_UINT64_BE
Unexecuted instantiation: ArrayList.c:Stream_Write_UINT64_BE
Unexecuted instantiation: PacketMessage.c:Stream_Write_UINT64_BE
Unexecuted instantiation: handle.c:Stream_Write_UINT64_BE
Unexecuted instantiation: thread.c:Stream_Write_UINT64_BE
Unexecuted instantiation: synthetic.c:Stream_Write_UINT64_BE
Unexecuted instantiation: comm_io.c:Stream_Write_UINT64_BE
Unexecuted instantiation: image.c:Stream_Write_UINT64_BE
1151
1152
  /** @brief writes a \b INT64 as \b little endian to a \b wStream. The stream must be large
1153
   * enough to hold the data.
1154
   *
1155
   * \param _s The stream to write to, must not be \b nullptr
1156
   * \param _v The value to write
1157
   * \since version 3.10.0
1158
   */
1159
  static inline void Stream_Write_INT64(wStream* _s, INT64 _v)
1160
0
  {
1161
0
    WINPR_ASSERT(_s);
1162
0
    WINPR_ASSERT(_s->pointer);
1163
0
    WINPR_ASSERT(Stream_GetRemainingCapacity(_s) >= 8);
1164
0
1165
0
    winpr_Data_Write_INT64(_s->pointer, _v);
1166
0
    _s->pointer += 8;
1167
0
  }
Unexecuted instantiation: BinaryAppender.c:Stream_Write_INT64
Unexecuted instantiation: clipboard.c:Stream_Write_INT64
Unexecuted instantiation: synthetic_file.c:Stream_Write_INT64
Unexecuted instantiation: event.c:Stream_Write_INT64
Unexecuted instantiation: wait.c:Stream_Write_INT64
Unexecuted instantiation: generic.c:Stream_Write_INT64
Unexecuted instantiation: namedPipeClient.c:Stream_Write_INT64
Unexecuted instantiation: comm.c:Stream_Write_INT64
Unexecuted instantiation: comm_ioctl.c:Stream_Write_INT64
Unexecuted instantiation: comm_serial_sys.c:Stream_Write_INT64
Unexecuted instantiation: comm_sercx_sys.c:Stream_Write_INT64
Unexecuted instantiation: comm_sercx2_sys.c:Stream_Write_INT64
Unexecuted instantiation: pipe.c:Stream_Write_INT64
Unexecuted instantiation: stream.c:Stream_Write_INT64
Unexecuted instantiation: ArrayList.c:Stream_Write_INT64
Unexecuted instantiation: PacketMessage.c:Stream_Write_INT64
Unexecuted instantiation: handle.c:Stream_Write_INT64
Unexecuted instantiation: thread.c:Stream_Write_INT64
Unexecuted instantiation: synthetic.c:Stream_Write_INT64
Unexecuted instantiation: comm_io.c:Stream_Write_INT64
Unexecuted instantiation: image.c:Stream_Write_INT64
1168
1169
  /** @brief writes a \b INT64 as \b big endian to a \b wStream. The stream must be large enough
1170
   * to hold the data.
1171
   *
1172
   * \param _s The stream to write to, must not be \b nullptr
1173
   * \param _v The value to write
1174
   * \since version 3.10.0
1175
   */
1176
  static inline void Stream_Write_INT64_BE(wStream* _s, INT64 _v)
1177
0
  {
1178
0
    WINPR_ASSERT(_s);
1179
0
    WINPR_ASSERT(_s->pointer);
1180
0
    WINPR_ASSERT(Stream_GetRemainingCapacity(_s) >= 8);
1181
0
1182
0
    winpr_Data_Write_INT64_BE(_s->pointer, _v);
1183
0
    _s->pointer += 8;
1184
0
  }
Unexecuted instantiation: BinaryAppender.c:Stream_Write_INT64_BE
Unexecuted instantiation: clipboard.c:Stream_Write_INT64_BE
Unexecuted instantiation: synthetic_file.c:Stream_Write_INT64_BE
Unexecuted instantiation: event.c:Stream_Write_INT64_BE
Unexecuted instantiation: wait.c:Stream_Write_INT64_BE
Unexecuted instantiation: generic.c:Stream_Write_INT64_BE
Unexecuted instantiation: namedPipeClient.c:Stream_Write_INT64_BE
Unexecuted instantiation: comm.c:Stream_Write_INT64_BE
Unexecuted instantiation: comm_ioctl.c:Stream_Write_INT64_BE
Unexecuted instantiation: comm_serial_sys.c:Stream_Write_INT64_BE
Unexecuted instantiation: comm_sercx_sys.c:Stream_Write_INT64_BE
Unexecuted instantiation: comm_sercx2_sys.c:Stream_Write_INT64_BE
Unexecuted instantiation: pipe.c:Stream_Write_INT64_BE
Unexecuted instantiation: stream.c:Stream_Write_INT64_BE
Unexecuted instantiation: ArrayList.c:Stream_Write_INT64_BE
Unexecuted instantiation: PacketMessage.c:Stream_Write_INT64_BE
Unexecuted instantiation: handle.c:Stream_Write_INT64_BE
Unexecuted instantiation: thread.c:Stream_Write_INT64_BE
Unexecuted instantiation: synthetic.c:Stream_Write_INT64_BE
Unexecuted instantiation: comm_io.c:Stream_Write_INT64_BE
Unexecuted instantiation: image.c:Stream_Write_INT64_BE
1185
1186
  static inline void Stream_Write(wStream* _s, const void* _b, size_t _n)
1187
2.59k
  {
1188
2.59k
    if (_n > 0)
1189
2.59k
    {
1190
2.59k
      WINPR_ASSERT(_s);
1191
2.59k
      WINPR_ASSERT(_b);
1192
2.59k
      WINPR_ASSERT(Stream_GetRemainingCapacity(_s) >= _n);
1193
2.59k
      memcpy(_s->pointer, (_b), (_n));
1194
2.59k
      Stream_Seek(_s, _n);
1195
2.59k
    }
1196
2.59k
  }
Unexecuted instantiation: BinaryAppender.c:Stream_Write
Unexecuted instantiation: clipboard.c:Stream_Write
Unexecuted instantiation: synthetic_file.c:Stream_Write
Unexecuted instantiation: event.c:Stream_Write
Unexecuted instantiation: wait.c:Stream_Write
Unexecuted instantiation: generic.c:Stream_Write
Unexecuted instantiation: namedPipeClient.c:Stream_Write
Unexecuted instantiation: comm.c:Stream_Write
Unexecuted instantiation: comm_ioctl.c:Stream_Write
Unexecuted instantiation: comm_serial_sys.c:Stream_Write
Unexecuted instantiation: comm_sercx_sys.c:Stream_Write
Unexecuted instantiation: comm_sercx2_sys.c:Stream_Write
Unexecuted instantiation: pipe.c:Stream_Write
Unexecuted instantiation: stream.c:Stream_Write
Unexecuted instantiation: ArrayList.c:Stream_Write
Unexecuted instantiation: PacketMessage.c:Stream_Write
Unexecuted instantiation: handle.c:Stream_Write
Unexecuted instantiation: thread.c:Stream_Write
synthetic.c:Stream_Write
Line
Count
Source
1187
2.59k
  {
1188
2.59k
    if (_n > 0)
1189
2.59k
    {
1190
2.59k
      WINPR_ASSERT(_s);
1191
2.59k
      WINPR_ASSERT(_b);
1192
2.59k
      WINPR_ASSERT(Stream_GetRemainingCapacity(_s) >= _n);
1193
2.59k
      memcpy(_s->pointer, (_b), (_n));
1194
2.59k
      Stream_Seek(_s, _n);
1195
2.59k
    }
1196
2.59k
  }
Unexecuted instantiation: comm_io.c:Stream_Write
Unexecuted instantiation: image.c:Stream_Write
1197
1198
  static inline void Stream_Seek_UINT8(wStream* _s)
1199
0
  {
1200
0
    Stream_Seek(_s, sizeof(UINT8));
1201
0
  }
Unexecuted instantiation: BinaryAppender.c:Stream_Seek_UINT8
Unexecuted instantiation: clipboard.c:Stream_Seek_UINT8
Unexecuted instantiation: synthetic_file.c:Stream_Seek_UINT8
Unexecuted instantiation: event.c:Stream_Seek_UINT8
Unexecuted instantiation: wait.c:Stream_Seek_UINT8
Unexecuted instantiation: generic.c:Stream_Seek_UINT8
Unexecuted instantiation: namedPipeClient.c:Stream_Seek_UINT8
Unexecuted instantiation: comm.c:Stream_Seek_UINT8
Unexecuted instantiation: comm_ioctl.c:Stream_Seek_UINT8
Unexecuted instantiation: comm_serial_sys.c:Stream_Seek_UINT8
Unexecuted instantiation: comm_sercx_sys.c:Stream_Seek_UINT8
Unexecuted instantiation: comm_sercx2_sys.c:Stream_Seek_UINT8
Unexecuted instantiation: pipe.c:Stream_Seek_UINT8
Unexecuted instantiation: stream.c:Stream_Seek_UINT8
Unexecuted instantiation: ArrayList.c:Stream_Seek_UINT8
Unexecuted instantiation: PacketMessage.c:Stream_Seek_UINT8
Unexecuted instantiation: handle.c:Stream_Seek_UINT8
Unexecuted instantiation: thread.c:Stream_Seek_UINT8
Unexecuted instantiation: synthetic.c:Stream_Seek_UINT8
Unexecuted instantiation: comm_io.c:Stream_Seek_UINT8
Unexecuted instantiation: image.c:Stream_Seek_UINT8
1202
  static inline void Stream_Seek_UINT16(wStream* _s)
1203
0
  {
1204
0
    Stream_Seek(_s, sizeof(UINT16));
1205
0
  }
Unexecuted instantiation: BinaryAppender.c:Stream_Seek_UINT16
Unexecuted instantiation: clipboard.c:Stream_Seek_UINT16
Unexecuted instantiation: synthetic_file.c:Stream_Seek_UINT16
Unexecuted instantiation: event.c:Stream_Seek_UINT16
Unexecuted instantiation: wait.c:Stream_Seek_UINT16
Unexecuted instantiation: generic.c:Stream_Seek_UINT16
Unexecuted instantiation: namedPipeClient.c:Stream_Seek_UINT16
Unexecuted instantiation: comm.c:Stream_Seek_UINT16
Unexecuted instantiation: comm_ioctl.c:Stream_Seek_UINT16
Unexecuted instantiation: comm_serial_sys.c:Stream_Seek_UINT16
Unexecuted instantiation: comm_sercx_sys.c:Stream_Seek_UINT16
Unexecuted instantiation: comm_sercx2_sys.c:Stream_Seek_UINT16
Unexecuted instantiation: pipe.c:Stream_Seek_UINT16
Unexecuted instantiation: stream.c:Stream_Seek_UINT16
Unexecuted instantiation: ArrayList.c:Stream_Seek_UINT16
Unexecuted instantiation: PacketMessage.c:Stream_Seek_UINT16
Unexecuted instantiation: handle.c:Stream_Seek_UINT16
Unexecuted instantiation: thread.c:Stream_Seek_UINT16
Unexecuted instantiation: synthetic.c:Stream_Seek_UINT16
Unexecuted instantiation: comm_io.c:Stream_Seek_UINT16
Unexecuted instantiation: image.c:Stream_Seek_UINT16
1206
  static inline void Stream_Seek_UINT32(wStream* _s)
1207
0
  {
1208
0
    Stream_Seek(_s, sizeof(UINT32));
1209
0
  }
Unexecuted instantiation: BinaryAppender.c:Stream_Seek_UINT32
Unexecuted instantiation: clipboard.c:Stream_Seek_UINT32
Unexecuted instantiation: synthetic_file.c:Stream_Seek_UINT32
Unexecuted instantiation: event.c:Stream_Seek_UINT32
Unexecuted instantiation: wait.c:Stream_Seek_UINT32
Unexecuted instantiation: generic.c:Stream_Seek_UINT32
Unexecuted instantiation: namedPipeClient.c:Stream_Seek_UINT32
Unexecuted instantiation: comm.c:Stream_Seek_UINT32
Unexecuted instantiation: comm_ioctl.c:Stream_Seek_UINT32
Unexecuted instantiation: comm_serial_sys.c:Stream_Seek_UINT32
Unexecuted instantiation: comm_sercx_sys.c:Stream_Seek_UINT32
Unexecuted instantiation: comm_sercx2_sys.c:Stream_Seek_UINT32
Unexecuted instantiation: pipe.c:Stream_Seek_UINT32
Unexecuted instantiation: stream.c:Stream_Seek_UINT32
Unexecuted instantiation: ArrayList.c:Stream_Seek_UINT32
Unexecuted instantiation: PacketMessage.c:Stream_Seek_UINT32
Unexecuted instantiation: handle.c:Stream_Seek_UINT32
Unexecuted instantiation: thread.c:Stream_Seek_UINT32
Unexecuted instantiation: synthetic.c:Stream_Seek_UINT32
Unexecuted instantiation: comm_io.c:Stream_Seek_UINT32
Unexecuted instantiation: image.c:Stream_Seek_UINT32
1210
  static inline void Stream_Seek_UINT64(wStream* _s)
1211
0
  {
1212
0
    Stream_Seek(_s, sizeof(UINT64));
1213
0
  }
Unexecuted instantiation: BinaryAppender.c:Stream_Seek_UINT64
Unexecuted instantiation: clipboard.c:Stream_Seek_UINT64
Unexecuted instantiation: synthetic_file.c:Stream_Seek_UINT64
Unexecuted instantiation: event.c:Stream_Seek_UINT64
Unexecuted instantiation: wait.c:Stream_Seek_UINT64
Unexecuted instantiation: generic.c:Stream_Seek_UINT64
Unexecuted instantiation: namedPipeClient.c:Stream_Seek_UINT64
Unexecuted instantiation: comm.c:Stream_Seek_UINT64
Unexecuted instantiation: comm_ioctl.c:Stream_Seek_UINT64
Unexecuted instantiation: comm_serial_sys.c:Stream_Seek_UINT64
Unexecuted instantiation: comm_sercx_sys.c:Stream_Seek_UINT64
Unexecuted instantiation: comm_sercx2_sys.c:Stream_Seek_UINT64
Unexecuted instantiation: pipe.c:Stream_Seek_UINT64
Unexecuted instantiation: stream.c:Stream_Seek_UINT64
Unexecuted instantiation: ArrayList.c:Stream_Seek_UINT64
Unexecuted instantiation: PacketMessage.c:Stream_Seek_UINT64
Unexecuted instantiation: handle.c:Stream_Seek_UINT64
Unexecuted instantiation: thread.c:Stream_Seek_UINT64
Unexecuted instantiation: synthetic.c:Stream_Seek_UINT64
Unexecuted instantiation: comm_io.c:Stream_Seek_UINT64
Unexecuted instantiation: image.c:Stream_Seek_UINT64
1214
1215
  static inline void Stream_Rewind_UINT8(wStream* _s)
1216
0
  {
1217
0
    Stream_Rewind(_s, sizeof(UINT8));
1218
0
  }
Unexecuted instantiation: BinaryAppender.c:Stream_Rewind_UINT8
Unexecuted instantiation: clipboard.c:Stream_Rewind_UINT8
Unexecuted instantiation: synthetic_file.c:Stream_Rewind_UINT8
Unexecuted instantiation: event.c:Stream_Rewind_UINT8
Unexecuted instantiation: wait.c:Stream_Rewind_UINT8
Unexecuted instantiation: generic.c:Stream_Rewind_UINT8
Unexecuted instantiation: namedPipeClient.c:Stream_Rewind_UINT8
Unexecuted instantiation: comm.c:Stream_Rewind_UINT8
Unexecuted instantiation: comm_ioctl.c:Stream_Rewind_UINT8
Unexecuted instantiation: comm_serial_sys.c:Stream_Rewind_UINT8
Unexecuted instantiation: comm_sercx_sys.c:Stream_Rewind_UINT8
Unexecuted instantiation: comm_sercx2_sys.c:Stream_Rewind_UINT8
Unexecuted instantiation: pipe.c:Stream_Rewind_UINT8
Unexecuted instantiation: stream.c:Stream_Rewind_UINT8
Unexecuted instantiation: ArrayList.c:Stream_Rewind_UINT8
Unexecuted instantiation: PacketMessage.c:Stream_Rewind_UINT8
Unexecuted instantiation: handle.c:Stream_Rewind_UINT8
Unexecuted instantiation: thread.c:Stream_Rewind_UINT8
Unexecuted instantiation: synthetic.c:Stream_Rewind_UINT8
Unexecuted instantiation: comm_io.c:Stream_Rewind_UINT8
Unexecuted instantiation: image.c:Stream_Rewind_UINT8
1219
  static inline void Stream_Rewind_UINT16(wStream* _s)
1220
0
  {
1221
0
    Stream_Rewind(_s, sizeof(UINT16));
1222
0
  }
Unexecuted instantiation: BinaryAppender.c:Stream_Rewind_UINT16
Unexecuted instantiation: clipboard.c:Stream_Rewind_UINT16
Unexecuted instantiation: synthetic_file.c:Stream_Rewind_UINT16
Unexecuted instantiation: event.c:Stream_Rewind_UINT16
Unexecuted instantiation: wait.c:Stream_Rewind_UINT16
Unexecuted instantiation: generic.c:Stream_Rewind_UINT16
Unexecuted instantiation: namedPipeClient.c:Stream_Rewind_UINT16
Unexecuted instantiation: comm.c:Stream_Rewind_UINT16
Unexecuted instantiation: comm_ioctl.c:Stream_Rewind_UINT16
Unexecuted instantiation: comm_serial_sys.c:Stream_Rewind_UINT16
Unexecuted instantiation: comm_sercx_sys.c:Stream_Rewind_UINT16
Unexecuted instantiation: comm_sercx2_sys.c:Stream_Rewind_UINT16
Unexecuted instantiation: pipe.c:Stream_Rewind_UINT16
Unexecuted instantiation: stream.c:Stream_Rewind_UINT16
Unexecuted instantiation: ArrayList.c:Stream_Rewind_UINT16
Unexecuted instantiation: PacketMessage.c:Stream_Rewind_UINT16
Unexecuted instantiation: handle.c:Stream_Rewind_UINT16
Unexecuted instantiation: thread.c:Stream_Rewind_UINT16
Unexecuted instantiation: synthetic.c:Stream_Rewind_UINT16
Unexecuted instantiation: comm_io.c:Stream_Rewind_UINT16
Unexecuted instantiation: image.c:Stream_Rewind_UINT16
1223
  static inline void Stream_Rewind_UINT32(wStream* _s)
1224
0
  {
1225
0
    Stream_Rewind(_s, sizeof(UINT32));
1226
0
  }
Unexecuted instantiation: BinaryAppender.c:Stream_Rewind_UINT32
Unexecuted instantiation: clipboard.c:Stream_Rewind_UINT32
Unexecuted instantiation: synthetic_file.c:Stream_Rewind_UINT32
Unexecuted instantiation: event.c:Stream_Rewind_UINT32
Unexecuted instantiation: wait.c:Stream_Rewind_UINT32
Unexecuted instantiation: generic.c:Stream_Rewind_UINT32
Unexecuted instantiation: namedPipeClient.c:Stream_Rewind_UINT32
Unexecuted instantiation: comm.c:Stream_Rewind_UINT32
Unexecuted instantiation: comm_ioctl.c:Stream_Rewind_UINT32
Unexecuted instantiation: comm_serial_sys.c:Stream_Rewind_UINT32
Unexecuted instantiation: comm_sercx_sys.c:Stream_Rewind_UINT32
Unexecuted instantiation: comm_sercx2_sys.c:Stream_Rewind_UINT32
Unexecuted instantiation: pipe.c:Stream_Rewind_UINT32
Unexecuted instantiation: stream.c:Stream_Rewind_UINT32
Unexecuted instantiation: ArrayList.c:Stream_Rewind_UINT32
Unexecuted instantiation: PacketMessage.c:Stream_Rewind_UINT32
Unexecuted instantiation: handle.c:Stream_Rewind_UINT32
Unexecuted instantiation: thread.c:Stream_Rewind_UINT32
Unexecuted instantiation: synthetic.c:Stream_Rewind_UINT32
Unexecuted instantiation: comm_io.c:Stream_Rewind_UINT32
Unexecuted instantiation: image.c:Stream_Rewind_UINT32
1227
  static inline void Stream_Rewind_UINT64(wStream* _s)
1228
0
  {
1229
0
    Stream_Rewind(_s, sizeof(UINT64));
1230
0
  }
Unexecuted instantiation: BinaryAppender.c:Stream_Rewind_UINT64
Unexecuted instantiation: clipboard.c:Stream_Rewind_UINT64
Unexecuted instantiation: synthetic_file.c:Stream_Rewind_UINT64
Unexecuted instantiation: event.c:Stream_Rewind_UINT64
Unexecuted instantiation: wait.c:Stream_Rewind_UINT64
Unexecuted instantiation: generic.c:Stream_Rewind_UINT64
Unexecuted instantiation: namedPipeClient.c:Stream_Rewind_UINT64
Unexecuted instantiation: comm.c:Stream_Rewind_UINT64
Unexecuted instantiation: comm_ioctl.c:Stream_Rewind_UINT64
Unexecuted instantiation: comm_serial_sys.c:Stream_Rewind_UINT64
Unexecuted instantiation: comm_sercx_sys.c:Stream_Rewind_UINT64
Unexecuted instantiation: comm_sercx2_sys.c:Stream_Rewind_UINT64
Unexecuted instantiation: pipe.c:Stream_Rewind_UINT64
Unexecuted instantiation: stream.c:Stream_Rewind_UINT64
Unexecuted instantiation: ArrayList.c:Stream_Rewind_UINT64
Unexecuted instantiation: PacketMessage.c:Stream_Rewind_UINT64
Unexecuted instantiation: handle.c:Stream_Rewind_UINT64
Unexecuted instantiation: thread.c:Stream_Rewind_UINT64
Unexecuted instantiation: synthetic.c:Stream_Rewind_UINT64
Unexecuted instantiation: comm_io.c:Stream_Rewind_UINT64
Unexecuted instantiation: image.c:Stream_Rewind_UINT64
1231
1232
  static inline void Stream_Fill(wStream* _s, int _v, size_t _n)
1233
0
  {
1234
0
    WINPR_ASSERT(_s);
1235
0
    WINPR_ASSERT(Stream_GetRemainingCapacity(_s) >= (_n));
1236
0
    memset(_s->pointer, _v, (_n));
1237
0
    Stream_Seek(_s, _n);
1238
0
  }
Unexecuted instantiation: BinaryAppender.c:Stream_Fill
Unexecuted instantiation: clipboard.c:Stream_Fill
Unexecuted instantiation: synthetic_file.c:Stream_Fill
Unexecuted instantiation: event.c:Stream_Fill
Unexecuted instantiation: wait.c:Stream_Fill
Unexecuted instantiation: generic.c:Stream_Fill
Unexecuted instantiation: namedPipeClient.c:Stream_Fill
Unexecuted instantiation: comm.c:Stream_Fill
Unexecuted instantiation: comm_ioctl.c:Stream_Fill
Unexecuted instantiation: comm_serial_sys.c:Stream_Fill
Unexecuted instantiation: comm_sercx_sys.c:Stream_Fill
Unexecuted instantiation: comm_sercx2_sys.c:Stream_Fill
Unexecuted instantiation: pipe.c:Stream_Fill
Unexecuted instantiation: stream.c:Stream_Fill
Unexecuted instantiation: ArrayList.c:Stream_Fill
Unexecuted instantiation: PacketMessage.c:Stream_Fill
Unexecuted instantiation: handle.c:Stream_Fill
Unexecuted instantiation: thread.c:Stream_Fill
Unexecuted instantiation: synthetic.c:Stream_Fill
Unexecuted instantiation: comm_io.c:Stream_Fill
Unexecuted instantiation: image.c:Stream_Fill
1239
1240
  static inline void Stream_Zero(wStream* _s, size_t _n)
1241
0
  {
1242
0
    Stream_Fill(_s, '\0', _n);
1243
0
  }
Unexecuted instantiation: BinaryAppender.c:Stream_Zero
Unexecuted instantiation: clipboard.c:Stream_Zero
Unexecuted instantiation: synthetic_file.c:Stream_Zero
Unexecuted instantiation: event.c:Stream_Zero
Unexecuted instantiation: wait.c:Stream_Zero
Unexecuted instantiation: generic.c:Stream_Zero
Unexecuted instantiation: namedPipeClient.c:Stream_Zero
Unexecuted instantiation: comm.c:Stream_Zero
Unexecuted instantiation: comm_ioctl.c:Stream_Zero
Unexecuted instantiation: comm_serial_sys.c:Stream_Zero
Unexecuted instantiation: comm_sercx_sys.c:Stream_Zero
Unexecuted instantiation: comm_sercx2_sys.c:Stream_Zero
Unexecuted instantiation: pipe.c:Stream_Zero
Unexecuted instantiation: stream.c:Stream_Zero
Unexecuted instantiation: ArrayList.c:Stream_Zero
Unexecuted instantiation: PacketMessage.c:Stream_Zero
Unexecuted instantiation: handle.c:Stream_Zero
Unexecuted instantiation: thread.c:Stream_Zero
Unexecuted instantiation: synthetic.c:Stream_Zero
Unexecuted instantiation: comm_io.c:Stream_Zero
Unexecuted instantiation: image.c:Stream_Zero
1244
1245
#define Stream_SafeZero(s, size) Stream_SafeZeroEx(s, size, __FILE__, __LINE__, __func__)
1246
1247
  /** @brief Writes '\0' to the stream but aborts if there is not enough capacity available.
1248
   *
1249
   *  Prefer to use the macro \ref Stream_SafeZero which already fills out the caller location.
1250
   *
1251
   *  @param s The stream to write to.
1252
   *  @param size The number of bytes to write to the stream
1253
   *  @param file The name of the file this is called from
1254
   *  @param line The file line number this is called from
1255
   *  @param fkt The function this is called from
1256
   *
1257
   *  @return \b TRUE if writing was successful, \b FALSE if there was an error with the stream
1258
   * reallocation
1259
   *
1260
   *  @since version 3.31.0
1261
   */
1262
  WINPR_ATTR_NODISCARD
1263
  WINPR_API BOOL Stream_SafeZeroEx(wStream* s, size_t size, const char* file, size_t line,
1264
                                   const char* fkt);
1265
1266
  static inline void Stream_Copy(wStream* _src, wStream* _dst, size_t _n)
1267
0
  {
1268
0
    WINPR_ASSERT(_src);
1269
0
    WINPR_ASSERT(_dst);
1270
0
    WINPR_ASSERT(Stream_GetRemainingCapacity(_src) >= (_n));
1271
0
    WINPR_ASSERT(Stream_GetRemainingCapacity(_dst) >= (_n));
1272
0
1273
0
    memcpy(_dst->pointer, _src->pointer, _n);
1274
0
    Stream_Seek(_dst, _n);
1275
0
    Stream_Seek(_src, _n);
1276
0
  }
Unexecuted instantiation: BinaryAppender.c:Stream_Copy
Unexecuted instantiation: clipboard.c:Stream_Copy
Unexecuted instantiation: synthetic_file.c:Stream_Copy
Unexecuted instantiation: event.c:Stream_Copy
Unexecuted instantiation: wait.c:Stream_Copy
Unexecuted instantiation: generic.c:Stream_Copy
Unexecuted instantiation: namedPipeClient.c:Stream_Copy
Unexecuted instantiation: comm.c:Stream_Copy
Unexecuted instantiation: comm_ioctl.c:Stream_Copy
Unexecuted instantiation: comm_serial_sys.c:Stream_Copy
Unexecuted instantiation: comm_sercx_sys.c:Stream_Copy
Unexecuted instantiation: comm_sercx2_sys.c:Stream_Copy
Unexecuted instantiation: pipe.c:Stream_Copy
Unexecuted instantiation: stream.c:Stream_Copy
Unexecuted instantiation: ArrayList.c:Stream_Copy
Unexecuted instantiation: PacketMessage.c:Stream_Copy
Unexecuted instantiation: handle.c:Stream_Copy
Unexecuted instantiation: thread.c:Stream_Copy
Unexecuted instantiation: synthetic.c:Stream_Copy
Unexecuted instantiation: comm_io.c:Stream_Copy
Unexecuted instantiation: image.c:Stream_Copy
1277
1278
/** @brief Convenience macro to get a pointer to the stream buffer casted to a specific type
1279
 *
1280
 *  @since version 3.9.0
1281
 */
1282
#define Stream_BufferAs(s, type) WINPR_STREAM_CAST(type*, Stream_Buffer(s))
1283
1284
  WINPR_ATTR_NODISCARD static inline BYTE* Stream_Buffer(wStream* _s)
1285
238
  {
1286
238
    WINPR_ASSERT(_s);
1287
238
    return _s->buffer;
1288
238
  }
Unexecuted instantiation: BinaryAppender.c:Stream_Buffer
Unexecuted instantiation: clipboard.c:Stream_Buffer
Unexecuted instantiation: synthetic_file.c:Stream_Buffer
Unexecuted instantiation: event.c:Stream_Buffer
Unexecuted instantiation: wait.c:Stream_Buffer
Unexecuted instantiation: generic.c:Stream_Buffer
Unexecuted instantiation: namedPipeClient.c:Stream_Buffer
Unexecuted instantiation: comm.c:Stream_Buffer
Unexecuted instantiation: comm_ioctl.c:Stream_Buffer
Unexecuted instantiation: comm_serial_sys.c:Stream_Buffer
Unexecuted instantiation: comm_sercx_sys.c:Stream_Buffer
Unexecuted instantiation: comm_sercx2_sys.c:Stream_Buffer
Unexecuted instantiation: pipe.c:Stream_Buffer
Unexecuted instantiation: stream.c:Stream_Buffer
Unexecuted instantiation: ArrayList.c:Stream_Buffer
Unexecuted instantiation: PacketMessage.c:Stream_Buffer
Unexecuted instantiation: handle.c:Stream_Buffer
Unexecuted instantiation: thread.c:Stream_Buffer
synthetic.c:Stream_Buffer
Line
Count
Source
1285
238
  {
1286
238
    WINPR_ASSERT(_s);
1287
238
    return _s->buffer;
1288
238
  }
Unexecuted instantiation: comm_io.c:Stream_Buffer
Unexecuted instantiation: image.c:Stream_Buffer
1289
1290
/** @brief Convenience macro to get a const pointer to the stream buffer casted to a specific type
1291
 *
1292
 *  @since version 3.9.0
1293
 */
1294
#define Stream_ConstBufferAs(s, type) WINPR_STREAM_CAST(type*, Stream_ConstBuffer(s))
1295
  WINPR_ATTR_NODISCARD static inline const BYTE* Stream_ConstBuffer(const wStream* _s)
1296
0
  {
1297
0
    WINPR_ASSERT(_s);
1298
0
    return _s->buffer;
1299
0
  }
Unexecuted instantiation: BinaryAppender.c:Stream_ConstBuffer
Unexecuted instantiation: clipboard.c:Stream_ConstBuffer
Unexecuted instantiation: synthetic_file.c:Stream_ConstBuffer
Unexecuted instantiation: event.c:Stream_ConstBuffer
Unexecuted instantiation: wait.c:Stream_ConstBuffer
Unexecuted instantiation: generic.c:Stream_ConstBuffer
Unexecuted instantiation: namedPipeClient.c:Stream_ConstBuffer
Unexecuted instantiation: comm.c:Stream_ConstBuffer
Unexecuted instantiation: comm_ioctl.c:Stream_ConstBuffer
Unexecuted instantiation: comm_serial_sys.c:Stream_ConstBuffer
Unexecuted instantiation: comm_sercx_sys.c:Stream_ConstBuffer
Unexecuted instantiation: comm_sercx2_sys.c:Stream_ConstBuffer
Unexecuted instantiation: pipe.c:Stream_ConstBuffer
Unexecuted instantiation: stream.c:Stream_ConstBuffer
Unexecuted instantiation: ArrayList.c:Stream_ConstBuffer
Unexecuted instantiation: PacketMessage.c:Stream_ConstBuffer
Unexecuted instantiation: handle.c:Stream_ConstBuffer
Unexecuted instantiation: thread.c:Stream_ConstBuffer
Unexecuted instantiation: synthetic.c:Stream_ConstBuffer
Unexecuted instantiation: comm_io.c:Stream_ConstBuffer
Unexecuted instantiation: image.c:Stream_ConstBuffer
1300
1301
#define Stream_GetBuffer(_s, _b) _b = Stream_Buffer(_s)
1302
1303
/** @brief Convenience macro to get a pointer to the stream buffer casted to a specific type
1304
 *
1305
 *  @since version 3.9.0
1306
 */
1307
#define Stream_GetBufferAs(_s, _b) _b = Stream_BufferAs(_s, __typeof(_b))
1308
1309
672
#define Stream_PointerAs(s, type) WINPR_STREAM_CAST(type*, Stream_Pointer(s))
1310
1311
  WINPR_ATTR_NODISCARD static inline void* Stream_Pointer(wStream* _s)
1312
672
  {
1313
672
    WINPR_ASSERT(_s);
1314
672
    return _s->pointer;
1315
672
  }
Unexecuted instantiation: BinaryAppender.c:Stream_Pointer
Unexecuted instantiation: clipboard.c:Stream_Pointer
Unexecuted instantiation: synthetic_file.c:Stream_Pointer
Unexecuted instantiation: event.c:Stream_Pointer
Unexecuted instantiation: wait.c:Stream_Pointer
Unexecuted instantiation: generic.c:Stream_Pointer
Unexecuted instantiation: namedPipeClient.c:Stream_Pointer
Unexecuted instantiation: comm.c:Stream_Pointer
Unexecuted instantiation: comm_ioctl.c:Stream_Pointer
Unexecuted instantiation: comm_serial_sys.c:Stream_Pointer
Unexecuted instantiation: comm_sercx_sys.c:Stream_Pointer
Unexecuted instantiation: comm_sercx2_sys.c:Stream_Pointer
Unexecuted instantiation: pipe.c:Stream_Pointer
Unexecuted instantiation: stream.c:Stream_Pointer
Unexecuted instantiation: ArrayList.c:Stream_Pointer
Unexecuted instantiation: PacketMessage.c:Stream_Pointer
Unexecuted instantiation: handle.c:Stream_Pointer
Unexecuted instantiation: thread.c:Stream_Pointer
synthetic.c:Stream_Pointer
Line
Count
Source
1312
672
  {
1313
672
    WINPR_ASSERT(_s);
1314
672
    return _s->pointer;
1315
672
  }
Unexecuted instantiation: comm_io.c:Stream_Pointer
Unexecuted instantiation: image.c:Stream_Pointer
1316
1317
  WINPR_ATTR_NODISCARD static inline const void* Stream_ConstPointer(const wStream* _s)
1318
0
  {
1319
0
    WINPR_ASSERT(_s);
1320
0
    return _s->pointer;
1321
0
  }
Unexecuted instantiation: BinaryAppender.c:Stream_ConstPointer
Unexecuted instantiation: clipboard.c:Stream_ConstPointer
Unexecuted instantiation: synthetic_file.c:Stream_ConstPointer
Unexecuted instantiation: event.c:Stream_ConstPointer
Unexecuted instantiation: wait.c:Stream_ConstPointer
Unexecuted instantiation: generic.c:Stream_ConstPointer
Unexecuted instantiation: namedPipeClient.c:Stream_ConstPointer
Unexecuted instantiation: comm.c:Stream_ConstPointer
Unexecuted instantiation: comm_ioctl.c:Stream_ConstPointer
Unexecuted instantiation: comm_serial_sys.c:Stream_ConstPointer
Unexecuted instantiation: comm_sercx_sys.c:Stream_ConstPointer
Unexecuted instantiation: comm_sercx2_sys.c:Stream_ConstPointer
Unexecuted instantiation: pipe.c:Stream_ConstPointer
Unexecuted instantiation: stream.c:Stream_ConstPointer
Unexecuted instantiation: ArrayList.c:Stream_ConstPointer
Unexecuted instantiation: PacketMessage.c:Stream_ConstPointer
Unexecuted instantiation: handle.c:Stream_ConstPointer
Unexecuted instantiation: thread.c:Stream_ConstPointer
Unexecuted instantiation: synthetic.c:Stream_ConstPointer
Unexecuted instantiation: comm_io.c:Stream_ConstPointer
Unexecuted instantiation: image.c:Stream_ConstPointer
1322
1323
#define Stream_GetPointer(_s, _p) _p = Stream_Pointer(_s)
1324
1325
/** @brief Convenience macro to get a pointer to the stream pointer casted to a specific type
1326
 *
1327
 *  @since version 3.9.0
1328
 */
1329
#define Stream_GetPointerAs(_s, _p) _p = Stream_PointerAs(_s, __typeof(_p))
1330
1331
#if defined(WITH_WINPR_DEPRECATED)
1332
  WINPR_DEPRECATED_VAR("Use Stream_SetPosition instead",
1333
                       WINPR_ATTR_NODISCARD WINPR_API BOOL Stream_SetPointer(wStream* _s,
1334
                                                                             BYTE* _p));
1335
1336
  WINPR_DEPRECATED_VAR("Use Stream_New(buffer, capacity) instead",
1337
                       WINPR_ATTR_NODISCARD WINPR_API BOOL Stream_SetBuffer(wStream* _s,
1338
                                                                            BYTE* _b));
1339
1340
  WINPR_DEPRECATED_VAR("Use Stream_New(buffer, capacity) instead",
1341
                       WINPR_API void Stream_SetCapacity(wStream* _s, size_t capacity));
1342
#endif
1343
1344
  WINPR_ATTR_NODISCARD static inline size_t Stream_Length(const wStream* _s)
1345
0
  {
1346
0
    WINPR_ASSERT(_s);
1347
0
    return _s->length;
1348
0
  }
Unexecuted instantiation: BinaryAppender.c:Stream_Length
Unexecuted instantiation: clipboard.c:Stream_Length
Unexecuted instantiation: synthetic_file.c:Stream_Length
Unexecuted instantiation: event.c:Stream_Length
Unexecuted instantiation: wait.c:Stream_Length
Unexecuted instantiation: generic.c:Stream_Length
Unexecuted instantiation: namedPipeClient.c:Stream_Length
Unexecuted instantiation: comm.c:Stream_Length
Unexecuted instantiation: comm_ioctl.c:Stream_Length
Unexecuted instantiation: comm_serial_sys.c:Stream_Length
Unexecuted instantiation: comm_sercx_sys.c:Stream_Length
Unexecuted instantiation: comm_sercx2_sys.c:Stream_Length
Unexecuted instantiation: pipe.c:Stream_Length
Unexecuted instantiation: stream.c:Stream_Length
Unexecuted instantiation: ArrayList.c:Stream_Length
Unexecuted instantiation: PacketMessage.c:Stream_Length
Unexecuted instantiation: handle.c:Stream_Length
Unexecuted instantiation: thread.c:Stream_Length
Unexecuted instantiation: synthetic.c:Stream_Length
Unexecuted instantiation: comm_io.c:Stream_Length
Unexecuted instantiation: image.c:Stream_Length
1349
1350
#define Stream_GetLength(_s, _l) _l = Stream_Length(_s)
1351
  WINPR_ATTR_NODISCARD
1352
  WINPR_API BOOL Stream_SetLength(wStream* _s, size_t _l);
1353
1354
  WINPR_ATTR_NODISCARD static inline size_t Stream_Capacity(const wStream* _s)
1355
140
  {
1356
140
    WINPR_ASSERT(_s);
1357
140
    return _s->capacity;
1358
140
  }
Unexecuted instantiation: BinaryAppender.c:Stream_Capacity
Unexecuted instantiation: clipboard.c:Stream_Capacity
Unexecuted instantiation: synthetic_file.c:Stream_Capacity
Unexecuted instantiation: event.c:Stream_Capacity
Unexecuted instantiation: wait.c:Stream_Capacity
Unexecuted instantiation: generic.c:Stream_Capacity
Unexecuted instantiation: namedPipeClient.c:Stream_Capacity
Unexecuted instantiation: comm.c:Stream_Capacity
Unexecuted instantiation: comm_ioctl.c:Stream_Capacity
Unexecuted instantiation: comm_serial_sys.c:Stream_Capacity
Unexecuted instantiation: comm_sercx_sys.c:Stream_Capacity
Unexecuted instantiation: comm_sercx2_sys.c:Stream_Capacity
Unexecuted instantiation: pipe.c:Stream_Capacity
stream.c:Stream_Capacity
Line
Count
Source
1355
140
  {
1356
140
    WINPR_ASSERT(_s);
1357
140
    return _s->capacity;
1358
140
  }
Unexecuted instantiation: ArrayList.c:Stream_Capacity
Unexecuted instantiation: PacketMessage.c:Stream_Capacity
Unexecuted instantiation: handle.c:Stream_Capacity
Unexecuted instantiation: thread.c:Stream_Capacity
Unexecuted instantiation: synthetic.c:Stream_Capacity
Unexecuted instantiation: comm_io.c:Stream_Capacity
Unexecuted instantiation: image.c:Stream_Capacity
1359
1360
#define Stream_GetCapacity(_s, _c) _c = Stream_Capacity(_s);
1361
1362
  WINPR_ATTR_NODISCARD static inline size_t Stream_GetPosition(const wStream* _s)
1363
3.32k
  {
1364
3.32k
    WINPR_ASSERT(_s);
1365
3.32k
    WINPR_ASSERT(_s->buffer <= _s->pointer);
1366
3.32k
    return WINPR_STREAM_CAST(size_t, (_s->pointer - _s->buffer));
1367
3.32k
  }
Unexecuted instantiation: BinaryAppender.c:Stream_GetPosition
Unexecuted instantiation: clipboard.c:Stream_GetPosition
Unexecuted instantiation: synthetic_file.c:Stream_GetPosition
Unexecuted instantiation: event.c:Stream_GetPosition
Unexecuted instantiation: wait.c:Stream_GetPosition
Unexecuted instantiation: generic.c:Stream_GetPosition
Unexecuted instantiation: namedPipeClient.c:Stream_GetPosition
Unexecuted instantiation: comm.c:Stream_GetPosition
Unexecuted instantiation: comm_ioctl.c:Stream_GetPosition
Unexecuted instantiation: comm_serial_sys.c:Stream_GetPosition
Unexecuted instantiation: comm_sercx_sys.c:Stream_GetPosition
Unexecuted instantiation: comm_sercx2_sys.c:Stream_GetPosition
Unexecuted instantiation: pipe.c:Stream_GetPosition
stream.c:Stream_GetPosition
Line
Count
Source
1363
140
  {
1364
140
    WINPR_ASSERT(_s);
1365
140
    WINPR_ASSERT(_s->buffer <= _s->pointer);
1366
140
    return WINPR_STREAM_CAST(size_t, (_s->pointer - _s->buffer));
1367
140
  }
Unexecuted instantiation: ArrayList.c:Stream_GetPosition
Unexecuted instantiation: PacketMessage.c:Stream_GetPosition
Unexecuted instantiation: handle.c:Stream_GetPosition
Unexecuted instantiation: thread.c:Stream_GetPosition
synthetic.c:Stream_GetPosition
Line
Count
Source
1363
910
  {
1364
910
    WINPR_ASSERT(_s);
1365
910
    WINPR_ASSERT(_s->buffer <= _s->pointer);
1366
910
    return WINPR_STREAM_CAST(size_t, (_s->pointer - _s->buffer));
1367
910
  }
Unexecuted instantiation: comm_io.c:Stream_GetPosition
image.c:Stream_GetPosition
Line
Count
Source
1363
2.27k
  {
1364
2.27k
    WINPR_ASSERT(_s);
1365
2.27k
    WINPR_ASSERT(_s->buffer <= _s->pointer);
1366
2.27k
    return WINPR_STREAM_CAST(size_t, (_s->pointer - _s->buffer));
1367
2.27k
  }
1368
1369
  /** @brief helper to reset stream read/write position to beginning of stream.
1370
   *
1371
   * Same as \ref Stream_SetPosition(s, 0) but does not need bounds checks.
1372
   *
1373
   * @param _s A stream to reset the position on. Must not be \b nullptr
1374
   *
1375
   * @since version 3.24.0
1376
   */
1377
  static inline void Stream_ResetPosition(wStream* _s)
1378
0
  {
1379
0
    WINPR_ASSERT(_s);
1380
0
    _s->pointer = _s->buffer;
1381
0
  }
Unexecuted instantiation: BinaryAppender.c:Stream_ResetPosition
Unexecuted instantiation: clipboard.c:Stream_ResetPosition
Unexecuted instantiation: synthetic_file.c:Stream_ResetPosition
Unexecuted instantiation: event.c:Stream_ResetPosition
Unexecuted instantiation: wait.c:Stream_ResetPosition
Unexecuted instantiation: generic.c:Stream_ResetPosition
Unexecuted instantiation: namedPipeClient.c:Stream_ResetPosition
Unexecuted instantiation: comm.c:Stream_ResetPosition
Unexecuted instantiation: comm_ioctl.c:Stream_ResetPosition
Unexecuted instantiation: comm_serial_sys.c:Stream_ResetPosition
Unexecuted instantiation: comm_sercx_sys.c:Stream_ResetPosition
Unexecuted instantiation: comm_sercx2_sys.c:Stream_ResetPosition
Unexecuted instantiation: pipe.c:Stream_ResetPosition
Unexecuted instantiation: stream.c:Stream_ResetPosition
Unexecuted instantiation: ArrayList.c:Stream_ResetPosition
Unexecuted instantiation: PacketMessage.c:Stream_ResetPosition
Unexecuted instantiation: handle.c:Stream_ResetPosition
Unexecuted instantiation: thread.c:Stream_ResetPosition
Unexecuted instantiation: synthetic.c:Stream_ResetPosition
Unexecuted instantiation: comm_io.c:Stream_ResetPosition
Unexecuted instantiation: image.c:Stream_ResetPosition
1382
1383
  WINPR_ATTR_NODISCARD
1384
  WINPR_API BOOL Stream_SetPosition(wStream* _s, size_t _p);
1385
1386
  WINPR_API void Stream_SealLength(wStream* _s);
1387
1388
  static inline void Stream_Clear(wStream* _s)
1389
0
  {
1390
0
    WINPR_ASSERT(_s);
1391
0
    memset(_s->buffer, 0, _s->capacity);
1392
0
  }
Unexecuted instantiation: BinaryAppender.c:Stream_Clear
Unexecuted instantiation: clipboard.c:Stream_Clear
Unexecuted instantiation: synthetic_file.c:Stream_Clear
Unexecuted instantiation: event.c:Stream_Clear
Unexecuted instantiation: wait.c:Stream_Clear
Unexecuted instantiation: generic.c:Stream_Clear
Unexecuted instantiation: namedPipeClient.c:Stream_Clear
Unexecuted instantiation: comm.c:Stream_Clear
Unexecuted instantiation: comm_ioctl.c:Stream_Clear
Unexecuted instantiation: comm_serial_sys.c:Stream_Clear
Unexecuted instantiation: comm_sercx_sys.c:Stream_Clear
Unexecuted instantiation: comm_sercx2_sys.c:Stream_Clear
Unexecuted instantiation: pipe.c:Stream_Clear
Unexecuted instantiation: stream.c:Stream_Clear
Unexecuted instantiation: ArrayList.c:Stream_Clear
Unexecuted instantiation: PacketMessage.c:Stream_Clear
Unexecuted instantiation: handle.c:Stream_Clear
Unexecuted instantiation: thread.c:Stream_Clear
Unexecuted instantiation: synthetic.c:Stream_Clear
Unexecuted instantiation: comm_io.c:Stream_Clear
Unexecuted instantiation: image.c:Stream_Clear
1393
1394
900
#define Stream_SafeSeek(s, size) Stream_SafeSeekEx(s, size, __FILE__, __LINE__, __func__)
1395
  WINPR_ATTR_NODISCARD
1396
  WINPR_API BOOL Stream_SafeSeekEx(wStream* s, size_t size, const char* file, size_t line,
1397
                                   const char* fkt);
1398
1399
  WINPR_ATTR_NODISCARD
1400
  WINPR_API BOOL Stream_Read_UTF16_String(wStream* s, WCHAR* dst, size_t charLength);
1401
1402
  WINPR_ATTR_NODISCARD
1403
  WINPR_API BOOL Stream_Write_UTF16_String(wStream* s, const WCHAR* src, size_t charLength);
1404
1405
  /** \brief Reads a WCHAR string from a stream and converts it to UTF-8 and returns a newly
1406
   * allocated string
1407
   *
1408
   *  \param s The stream to read data from
1409
   *  \param wcharLength The number of WCHAR characters to read (NOT the size in bytes!)
1410
   *  \param pUtfCharLength Ignored if \b nullptr, otherwise will be set to the number of
1411
   *         characters in the resulting UTF-8 string
1412
   *  \return A '\0' terminated UTF-8 encoded string or nullptr for any failure.
1413
   */
1414
  WINPR_ATTR_MALLOC(free, 1)
1415
  WINPR_API char* Stream_Read_UTF16_String_As_UTF8(wStream* s, size_t wcharLength,
1416
                                                   size_t* pUtfCharLength);
1417
1418
  /** \brief Reads a WCHAR string from a stream and converts it to UTF-8 and
1419
   *  writes it to the supplied buffer
1420
   *
1421
   *  \param s The stream to read data from
1422
   *  \param wcharLength The number of WCHAR characters to read (NOT the size in bytes!)
1423
   *  \param utfBuffer A pointer to a buffer holding the result string
1424
   *  \param utfBufferCharLength The size of the result buffer
1425
   *  \return The char length (strlen) of the result string or -1 for failure
1426
   */
1427
  WINPR_ATTR_NODISCARD
1428
  WINPR_API SSIZE_T Stream_Read_UTF16_String_As_UTF8_Buffer(wStream* s, size_t wcharLength,
1429
                                                            char* utfBuffer,
1430
                                                            size_t utfBufferCharLength);
1431
1432
  /** \brief Writes a UTF-8 string UTF16 encoded to the stream. If the UTF-8
1433
   *  string is short, the remaining characters are filled up with '\0'
1434
   *
1435
   *  \param s The stream to write to
1436
   *  \param wcharLength the length (in WCHAR characters) to write
1437
   *  \param src The source data buffer with the UTF-8 data
1438
   *  \param length The length in bytes of the UTF-8 buffer
1439
   *  \param fill If \b TRUE fill the unused parts of the wcharLength with 0
1440
   *
1441
   *  \b return number of used characters for success, /b -1 for failure
1442
   */
1443
  WINPR_ATTR_NODISCARD
1444
  WINPR_API SSIZE_T Stream_Write_UTF16_String_From_UTF8(wStream* s, size_t wcharLength,
1445
                                                        const char* src, size_t length,
1446
                                                        BOOL fill);
1447
1448
  /* StreamPool */
1449
1450
  WINPR_API void StreamPool_Return(wStreamPool* pool, wStream* s);
1451
1452
  /** @brief increment reference count of stream
1453
   *
1454
   *  @param s The stream to reference
1455
   *  @bug versions < 3.13.0 did only handle streams returned by StreamPool_Take
1456
   */
1457
  WINPR_API void Stream_AddRef(wStream* s);
1458
1459
  /** @brief Release a reference to a stream.
1460
   *  If the reference count reaches \b 0 it is returned to the StreamPool it was taken from or \b
1461
   * Stream_Free is called.
1462
   *
1463
   *  @param s The stream to release
1464
   *  @bug versions < 3.13.0 did only handle streams returned by StreamPool_Take
1465
   */
1466
  WINPR_API void Stream_Release(wStream* s);
1467
1468
  WINPR_ATTR_MALLOC(Stream_Release, 1)
1469
  WINPR_ATTR_NODISCARD
1470
  WINPR_API wStream* StreamPool_Take(wStreamPool* pool, size_t size);
1471
1472
  WINPR_ATTR_NODISCARD
1473
  WINPR_API wStream* StreamPool_Find(wStreamPool* pool, const BYTE* ptr);
1474
1475
  /** Return the number of streams still not returned to the pool
1476
   *
1477
   *  @param pool The pool to query, must not be \b nullptr
1478
   *
1479
   *  @return the number of streams still in use
1480
   *
1481
   *  @since version 3.10.0
1482
   */
1483
  WINPR_ATTR_NODISCARD
1484
  WINPR_API size_t StreamPool_UsedCount(wStreamPool* pool);
1485
1486
  /** Wait up to \b timeoutMS milliseconds for streams to be returned to the pool.
1487
   *  Use \b INFINITE for an infinite timeout
1488
   *
1489
   *  @param pool The pool to query, must not be \b nullptr
1490
   *  @param timeoutMS Milliseconds to wait at most, use \b INFINITE for no timeout.
1491
   *
1492
   *  @return \b TRUE in case all streams were returned, \b FALSE otherwise.
1493
   *
1494
   *  @since version 3.10.0
1495
   */
1496
  WINPR_API BOOL StreamPool_WaitForReturn(wStreamPool* pool, UINT32 timeoutMS);
1497
1498
  WINPR_API void StreamPool_Clear(wStreamPool* pool);
1499
1500
  WINPR_API void StreamPool_Free(wStreamPool* pool);
1501
1502
  WINPR_ATTR_MALLOC(StreamPool_Free, 1)
1503
  WINPR_API wStreamPool* StreamPool_New(BOOL synchronized, size_t defaultSize);
1504
1505
  WINPR_API char* StreamPool_GetStatistics(wStreamPool* pool, char* buffer, size_t size);
1506
1507
#ifdef __cplusplus
1508
}
1509
#endif
1510
1511
#endif /* WINPR_UTILS_STREAM_H */