mirror of
https://github.com/morgan9e/FreeRDP
synced 2026-04-15 00:44:19 +09:00
Merge pull request #11140 from akallabeth/warn-fixes
Warn fixes, code cleanups
This commit is contained in:
@@ -185,14 +185,10 @@ static PresentationContext* PresentationContext_new(VideoClientContext* video, B
|
||||
UINT32 x, UINT32 y, UINT32 width, UINT32 height)
|
||||
{
|
||||
size_t s = 4ULL * width * height;
|
||||
VideoClientContextPriv* priv = NULL;
|
||||
PresentationContext* ret = NULL;
|
||||
|
||||
WINPR_ASSERT(video);
|
||||
|
||||
priv = video->priv;
|
||||
WINPR_ASSERT(priv);
|
||||
|
||||
if (s > INT32_MAX)
|
||||
return NULL;
|
||||
|
||||
|
||||
@@ -416,17 +416,6 @@ uint32_t sdlInput::prefToMask()
|
||||
return mod;
|
||||
}
|
||||
|
||||
static const char* sdl_scancode_name(Uint32 scancode)
|
||||
{
|
||||
for (const auto& cur : map)
|
||||
{
|
||||
if (cur.sdl == scancode)
|
||||
return cur.sdl_name;
|
||||
}
|
||||
|
||||
return "SDL_SCANCODE_UNKNOWN";
|
||||
}
|
||||
|
||||
static Uint32 sdl_scancode_val(const char* scancodeName)
|
||||
{
|
||||
for (const auto& cur : map)
|
||||
@@ -438,28 +427,6 @@ static Uint32 sdl_scancode_val(const char* scancodeName)
|
||||
return SDL_SCANCODE_UNKNOWN;
|
||||
}
|
||||
|
||||
static const char* sdl_rdp_scancode_name(UINT32 scancode)
|
||||
{
|
||||
for (const auto& cur : map)
|
||||
{
|
||||
if (cur.rdp == scancode)
|
||||
return cur.rdp_name;
|
||||
}
|
||||
|
||||
return "RDP_SCANCODE_UNKNOWN";
|
||||
}
|
||||
|
||||
static UINT32 sdl_rdp_scancode_val(const char* scancodeName)
|
||||
{
|
||||
for (const auto& cur : map)
|
||||
{
|
||||
if (strcmp(cur.rdp_name, scancodeName) == 0)
|
||||
return cur.rdp;
|
||||
}
|
||||
|
||||
return RDP_SCANCODE_UNKNOWN;
|
||||
}
|
||||
|
||||
static UINT32 sdl_scancode_to_rdp(Uint32 scancode)
|
||||
{
|
||||
UINT32 rdp = RDP_SCANCODE_UNKNOWN;
|
||||
|
||||
@@ -78,30 +78,6 @@ int sdl_list_monitors(SdlContext* sdl)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static BOOL sdl_is_monitor_id_active(SdlContext* sdl, UINT32 id)
|
||||
{
|
||||
const rdpSettings* settings = nullptr;
|
||||
|
||||
WINPR_ASSERT(sdl);
|
||||
|
||||
settings = sdl->context()->settings;
|
||||
WINPR_ASSERT(settings);
|
||||
|
||||
const UINT32 NumMonitorIds = freerdp_settings_get_uint32(settings, FreeRDP_NumMonitorIds);
|
||||
if (!NumMonitorIds)
|
||||
return TRUE;
|
||||
|
||||
for (UINT32 index = 0; index < NumMonitorIds; index++)
|
||||
{
|
||||
auto cur = static_cast<const UINT32*>(
|
||||
freerdp_settings_get_pointer_array(settings, FreeRDP_MonitorIds, index));
|
||||
if (cur && (*cur == id))
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static BOOL sdl_apply_max_size(SdlContext* sdl, UINT32* pMaxWidth, UINT32* pMaxHeight)
|
||||
{
|
||||
WINPR_ASSERT(sdl);
|
||||
|
||||
@@ -185,7 +185,6 @@ static const scancode_entry_t map[] = {
|
||||
ENTRY(SDL_SCANCODE_AC_FORWARD, RDP_SCANCODE_BROWSER_FORWARD),
|
||||
ENTRY(SDL_SCANCODE_AC_STOP, RDP_SCANCODE_BROWSER_STOP),
|
||||
|
||||
#if 1 // TODO: unmapped
|
||||
ENTRY(SDL_SCANCODE_NONUSHASH, RDP_SCANCODE_UNKNOWN),
|
||||
ENTRY(SDL_SCANCODE_APPLICATION, RDP_SCANCODE_UNKNOWN),
|
||||
ENTRY(SDL_SCANCODE_POWER, RDP_SCANCODE_UNKNOWN),
|
||||
@@ -280,7 +279,6 @@ static const scancode_entry_t map[] = {
|
||||
ENTRY(SDL_SCANCODE_MEDIA_EJECT, RDP_SCANCODE_UNKNOWN),
|
||||
ENTRY(SDL_SCANCODE_MEDIA_REWIND, RDP_SCANCODE_UNKNOWN),
|
||||
ENTRY(SDL_SCANCODE_MEDIA_FAST_FORWARD, RDP_SCANCODE_UNKNOWN)
|
||||
#endif
|
||||
};
|
||||
|
||||
static UINT32 sdl_get_kbd_flags()
|
||||
@@ -390,17 +388,6 @@ uint32_t sdlInput::prefToMask()
|
||||
return mod;
|
||||
}
|
||||
|
||||
static const char* sdl_scancode_name(Uint32 scancode)
|
||||
{
|
||||
for (const auto& cur : map)
|
||||
{
|
||||
if (cur.sdl == scancode)
|
||||
return cur.sdl_name;
|
||||
}
|
||||
|
||||
return "SDL_SCANCODE_UNKNOWN";
|
||||
}
|
||||
|
||||
static Uint32 sdl_scancode_val(const char* scancodeName)
|
||||
{
|
||||
for (const auto& cur : map)
|
||||
@@ -412,28 +399,6 @@ static Uint32 sdl_scancode_val(const char* scancodeName)
|
||||
return SDL_SCANCODE_UNKNOWN;
|
||||
}
|
||||
|
||||
static const char* sdl_rdp_scancode_name(UINT32 scancode)
|
||||
{
|
||||
for (const auto& cur : map)
|
||||
{
|
||||
if (cur.rdp == scancode)
|
||||
return cur.rdp_name;
|
||||
}
|
||||
|
||||
return "RDP_SCANCODE_UNKNOWN";
|
||||
}
|
||||
|
||||
static UINT32 sdl_rdp_scancode_val(const char* scancodeName)
|
||||
{
|
||||
for (const auto& cur : map)
|
||||
{
|
||||
if (strcmp(cur.rdp_name, scancodeName) == 0)
|
||||
return cur.rdp;
|
||||
}
|
||||
|
||||
return RDP_SCANCODE_UNKNOWN;
|
||||
}
|
||||
|
||||
static UINT32 sdl_scancode_to_rdp(Uint32 scancode)
|
||||
{
|
||||
UINT32 rdp = RDP_SCANCODE_UNKNOWN;
|
||||
|
||||
@@ -81,30 +81,6 @@ int sdl_list_monitors(SdlContext* sdl)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static BOOL sdl_is_monitor_id_active(SdlContext* sdl, UINT32 id)
|
||||
{
|
||||
const rdpSettings* settings = nullptr;
|
||||
|
||||
WINPR_ASSERT(sdl);
|
||||
|
||||
settings = sdl->context()->settings;
|
||||
WINPR_ASSERT(settings);
|
||||
|
||||
const UINT32 NumMonitorIds = freerdp_settings_get_uint32(settings, FreeRDP_NumMonitorIds);
|
||||
if (!NumMonitorIds)
|
||||
return TRUE;
|
||||
|
||||
for (UINT32 index = 0; index < NumMonitorIds; index++)
|
||||
{
|
||||
auto cur = static_cast<const UINT32*>(
|
||||
freerdp_settings_get_pointer_array(settings, FreeRDP_MonitorIds, index));
|
||||
if (cur && (*cur == id))
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static BOOL sdl_apply_max_size(SdlContext* sdl, UINT32* pMaxWidth, UINT32* pMaxHeight)
|
||||
{
|
||||
WINPR_ASSERT(sdl);
|
||||
|
||||
@@ -32,12 +32,6 @@
|
||||
#include "tf_channels.h"
|
||||
#include "tf_freerdp.h"
|
||||
|
||||
static UINT tf_update_surfaces(RdpgfxClientContext* context)
|
||||
{
|
||||
WINPR_UNUSED(context);
|
||||
return CHANNEL_RC_OK;
|
||||
}
|
||||
|
||||
void tf_OnChannelConnectedEventHandler(void* context, const ChannelConnectedEventArgs* e)
|
||||
{
|
||||
tfContext* tf = (tfContext*)context;
|
||||
|
||||
@@ -1151,20 +1151,16 @@ static void xf_button_map_init(xfContext* xfc)
|
||||
*/
|
||||
static BOOL xf_pre_connect(freerdp* instance)
|
||||
{
|
||||
rdpChannels* channels = NULL;
|
||||
rdpSettings* settings = NULL;
|
||||
rdpContext* context = NULL;
|
||||
xfContext* xfc = NULL;
|
||||
UINT32 maxWidth = 0;
|
||||
UINT32 maxHeight = 0;
|
||||
|
||||
WINPR_ASSERT(instance);
|
||||
|
||||
context = instance->context;
|
||||
xfc = (xfContext*)instance->context;
|
||||
rdpContext* context = instance->context;
|
||||
WINPR_ASSERT(context);
|
||||
xfContext* xfc = (xfContext*)context;
|
||||
|
||||
settings = context->settings;
|
||||
rdpSettings* settings = context->settings;
|
||||
WINPR_ASSERT(settings);
|
||||
|
||||
if (!freerdp_settings_set_bool(settings, FreeRDP_CertificateCallbackPreferPEM, TRUE))
|
||||
@@ -1176,9 +1172,6 @@ static BOOL xf_pre_connect(freerdp* instance)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
channels = context->channels;
|
||||
WINPR_ASSERT(channels);
|
||||
|
||||
if (!freerdp_settings_set_uint32(settings, FreeRDP_OsMajorType, OSMAJORTYPE_UNIX))
|
||||
return FALSE;
|
||||
if (!freerdp_settings_set_uint32(settings, FreeRDP_OsMinorType, OSMINORTYPE_NATIVE_XSERVER))
|
||||
|
||||
@@ -202,23 +202,6 @@ static BOOL requested_format_replace(RequestedFormat** ppRequestedFormat, UINT32
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static BOOL requested_format_matches(const RequestedFormat* pRequestedFormat, UINT32 formatId,
|
||||
const char* formatName)
|
||||
{
|
||||
if (!pRequestedFormat)
|
||||
return FALSE;
|
||||
if (pRequestedFormat->formatToRequest != formatId)
|
||||
return FALSE;
|
||||
if (formatName || pRequestedFormat->formatName)
|
||||
{
|
||||
if (!formatName || !pRequestedFormat->formatName)
|
||||
return FALSE;
|
||||
if (strcmp(formatName, pRequestedFormat->formatName) != 0)
|
||||
return FALSE;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static void xf_cached_data_free(void* ptr)
|
||||
{
|
||||
xfCachedData* cached_data = ptr;
|
||||
@@ -1039,22 +1022,6 @@ static void xf_cliprdr_process_requested_data(xfClipboard* clipboard, BOOL hasDa
|
||||
free(pDstData);
|
||||
}
|
||||
|
||||
static BOOL xf_add_input_flags(xfClipboard* clipboard, long mask)
|
||||
{
|
||||
WINPR_ASSERT(clipboard);
|
||||
|
||||
xfContext* xfc = clipboard->xfc;
|
||||
WINPR_ASSERT(xfc);
|
||||
|
||||
XWindowAttributes attr = { 0 };
|
||||
XGetWindowAttributes(xfc->display, xfc->drawable, &attr);
|
||||
if ((attr.all_event_masks & mask) == 0)
|
||||
clipboard->event_mask = attr.all_event_masks;
|
||||
|
||||
XSelectInput(xfc->display, xfc->drawable, attr.all_event_masks | mask);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static BOOL xf_restore_input_flags(xfClipboard* clipboard)
|
||||
{
|
||||
WINPR_ASSERT(clipboard);
|
||||
|
||||
@@ -194,20 +194,14 @@ static BOOL xf_action_script_append(xfContext* xfc, const char* buffer, size_t s
|
||||
|
||||
BOOL xf_event_action_script_init(xfContext* xfc)
|
||||
{
|
||||
wObject* obj = NULL;
|
||||
const rdpSettings* settings = NULL;
|
||||
|
||||
WINPR_ASSERT(xfc);
|
||||
|
||||
settings = xfc->common.context.settings;
|
||||
WINPR_ASSERT(settings);
|
||||
|
||||
xfc->xevents = ArrayList_New(TRUE);
|
||||
|
||||
if (!xfc->xevents)
|
||||
return FALSE;
|
||||
|
||||
obj = ArrayList_Object(xfc->xevents);
|
||||
wObject* obj = ArrayList_Object(xfc->xevents);
|
||||
WINPR_ASSERT(obj);
|
||||
obj->fnObjectNew = winpr_ObjectStringClone;
|
||||
obj->fnObjectFree = winpr_ObjectStringFree;
|
||||
|
||||
@@ -223,15 +223,11 @@ static BOOL register_raw_events(xfContext* xfc, Window window)
|
||||
|
||||
static BOOL register_device_events(xfContext* xfc, Window window)
|
||||
{
|
||||
XIEventMask mask;
|
||||
XIEventMask mask = { 0 };
|
||||
unsigned char mask_bytes[XIMaskLen(XI_LASTEVENT)] = { 0 };
|
||||
rdpSettings* settings = NULL;
|
||||
|
||||
WINPR_ASSERT(xfc);
|
||||
|
||||
settings = xfc->common.context.settings;
|
||||
WINPR_ASSERT(settings);
|
||||
|
||||
XISetMask(mask_bytes, XI_DeviceChanged);
|
||||
XISetMask(mask_bytes, XI_HierarchyChanged);
|
||||
|
||||
@@ -750,8 +746,6 @@ static int xf_input_pens_unhover(xfContext* xfc)
|
||||
|
||||
int xf_input_event(xfContext* xfc, const XEvent* xevent, XIDeviceEvent* event, int evtype)
|
||||
{
|
||||
const rdpSettings* settings = NULL;
|
||||
|
||||
WINPR_ASSERT(xfc);
|
||||
WINPR_ASSERT(xevent);
|
||||
WINPR_ASSERT(event);
|
||||
@@ -761,9 +755,6 @@ int xf_input_event(xfContext* xfc, const XEvent* xevent, XIDeviceEvent* event, i
|
||||
*/
|
||||
const Window w = xevent->xany.window;
|
||||
|
||||
settings = xfc->common.context.settings;
|
||||
WINPR_ASSERT(settings);
|
||||
|
||||
xfWindow* window = xfc->window;
|
||||
if (window)
|
||||
{
|
||||
|
||||
@@ -117,18 +117,14 @@ static BOOL xf_action_script_append(xfContext* xfc, const char* buffer, size_t s
|
||||
|
||||
static BOOL xf_keyboard_action_script_init(xfContext* xfc)
|
||||
{
|
||||
wObject* obj = NULL;
|
||||
const rdpSettings* settings = NULL;
|
||||
|
||||
settings = xfc->common.context.settings;
|
||||
WINPR_ASSERT(settings);
|
||||
WINPR_ASSERT(xfc);
|
||||
|
||||
xfc->keyCombinations = ArrayList_New(TRUE);
|
||||
|
||||
if (!xfc->keyCombinations)
|
||||
return FALSE;
|
||||
|
||||
obj = ArrayList_Object(xfc->keyCombinations);
|
||||
wObject* obj = ArrayList_Object(xfc->keyCombinations);
|
||||
WINPR_ASSERT(obj);
|
||||
obj->fnObjectNew = winpr_ObjectStringClone;
|
||||
obj->fnObjectFree = winpr_ObjectStringFree;
|
||||
|
||||
@@ -173,13 +173,9 @@ void xf_rail_end_local_move(xfContext* xfc, xfAppWindow* appWindow)
|
||||
unsigned int mask = 0;
|
||||
Window root_window = 0;
|
||||
Window child_window = 0;
|
||||
rdpInput* input = NULL;
|
||||
|
||||
WINPR_ASSERT(xfc);
|
||||
|
||||
input = xfc->common.context.input;
|
||||
WINPR_ASSERT(input);
|
||||
|
||||
if ((appWindow->local_move.direction == _NET_WM_MOVERESIZE_MOVE_KEYBOARD) ||
|
||||
(appWindow->local_move.direction == _NET_WM_MOVERESIZE_SIZE_KEYBOARD))
|
||||
{
|
||||
|
||||
@@ -1664,14 +1664,6 @@ static BOOL cliprdr_file_content_changed_and_update(void* ihash, size_t hsize, c
|
||||
return changed;
|
||||
}
|
||||
|
||||
static BOOL cliprdr_file_server_content_changed_and_update(CliprdrFileContext* file,
|
||||
const void* data, size_t size)
|
||||
{
|
||||
WINPR_ASSERT(file);
|
||||
return cliprdr_file_content_changed_and_update(file->server_data_hash,
|
||||
sizeof(file->server_data_hash), data, size);
|
||||
}
|
||||
|
||||
static BOOL cliprdr_file_client_content_changed_and_update(CliprdrFileContext* file,
|
||||
const void* data, size_t size)
|
||||
{
|
||||
|
||||
@@ -201,30 +201,30 @@ typedef enum
|
||||
KBD_PERSIAN = 0x00050429,
|
||||
KBD_US_ENGLISH_TABLE_FOR_IBM_ARABIC_238_L = 0x00050409,
|
||||
KBD_GREEK_POLYTONIC = 0x00060408,
|
||||
KBD_FRENCH_BEPO = 0xa000040c,
|
||||
KBD_GERMAN_NEO = 0xB0000407
|
||||
KBD_FRENCH_BEPO = WINPR_CXX_COMPAT_CAST(int, 0xa000040c),
|
||||
KBD_GERMAN_NEO = WINPR_CXX_COMPAT_CAST(int, 0xB0000407)
|
||||
} FREERDP_KBD_LAYPUT_VARIANT_ID;
|
||||
|
||||
/* Global Input Method Editor (IME) IDs */
|
||||
typedef enum
|
||||
{
|
||||
KBD_CHINESE_TRADITIONAL_PHONETIC = 0xE0010404,
|
||||
KBD_JAPANESE_INPUT_SYSTEM_MS_IME2002 = 0xE0010411,
|
||||
KBD_KOREAN_INPUT_SYSTEM_IME_2000 = 0xE0010412,
|
||||
KBD_CHINESE_SIMPLIFIED_QUANPIN = 0xE0010804,
|
||||
KBD_CHINESE_TRADITIONAL_CHANGJIE = 0xE0020404,
|
||||
KBD_CHINESE_SIMPLIFIED_SHUANGPIN = 0xE0020804,
|
||||
KBD_CHINESE_TRADITIONAL_QUICK = 0xE0030404,
|
||||
KBD_CHINESE_SIMPLIFIED_ZHENGMA = 0xE0030804,
|
||||
KBD_CHINESE_TRADITIONAL_BIG5_CODE = 0xE0040404,
|
||||
KBD_CHINESE_TRADITIONAL_ARRAY = 0xE0050404,
|
||||
KBD_CHINESE_SIMPLIFIED_NEIMA = 0xE0050804,
|
||||
KBD_CHINESE_TRADITIONAL_DAYI = 0xE0060404,
|
||||
KBD_CHINESE_TRADITIONAL_UNICODE = 0xE0070404,
|
||||
KBD_CHINESE_TRADITIONAL_NEW_PHONETIC = 0xE0080404,
|
||||
KBD_CHINESE_TRADITIONAL_NEW_CHANGJIE = 0xE0090404,
|
||||
KBD_CHINESE_TRADITIONAL_MICROSOFT_PINYIN_IME_3 = 0xE00E0804,
|
||||
KBD_CHINESE_TRADITIONAL_ALPHANUMERIC = 0xE00F0404
|
||||
KBD_CHINESE_TRADITIONAL_PHONETIC = WINPR_CXX_COMPAT_CAST(int, 0xE0010404),
|
||||
KBD_JAPANESE_INPUT_SYSTEM_MS_IME2002 = WINPR_CXX_COMPAT_CAST(int, 0xE0010411),
|
||||
KBD_KOREAN_INPUT_SYSTEM_IME_2000 = WINPR_CXX_COMPAT_CAST(int, 0xE0010412),
|
||||
KBD_CHINESE_SIMPLIFIED_QUANPIN = WINPR_CXX_COMPAT_CAST(int, 0xE0010804),
|
||||
KBD_CHINESE_TRADITIONAL_CHANGJIE = WINPR_CXX_COMPAT_CAST(int, 0xE0020404),
|
||||
KBD_CHINESE_SIMPLIFIED_SHUANGPIN = WINPR_CXX_COMPAT_CAST(int, 0xE0020804),
|
||||
KBD_CHINESE_TRADITIONAL_QUICK = WINPR_CXX_COMPAT_CAST(int, 0xE0030404),
|
||||
KBD_CHINESE_SIMPLIFIED_ZHENGMA = WINPR_CXX_COMPAT_CAST(int, 0xE0030804),
|
||||
KBD_CHINESE_TRADITIONAL_BIG5_CODE = WINPR_CXX_COMPAT_CAST(int, 0xE0040404),
|
||||
KBD_CHINESE_TRADITIONAL_ARRAY = WINPR_CXX_COMPAT_CAST(int, 0xE0050404),
|
||||
KBD_CHINESE_SIMPLIFIED_NEIMA = WINPR_CXX_COMPAT_CAST(int, 0xE0050804),
|
||||
KBD_CHINESE_TRADITIONAL_DAYI = WINPR_CXX_COMPAT_CAST(int, 0xE0060404),
|
||||
KBD_CHINESE_TRADITIONAL_UNICODE = WINPR_CXX_COMPAT_CAST(int, 0xE0070404),
|
||||
KBD_CHINESE_TRADITIONAL_NEW_PHONETIC = WINPR_CXX_COMPAT_CAST(int, 0xE0080404),
|
||||
KBD_CHINESE_TRADITIONAL_NEW_CHANGJIE = WINPR_CXX_COMPAT_CAST(int, 0xE0090404),
|
||||
KBD_CHINESE_TRADITIONAL_MICROSOFT_PINYIN_IME_3 = WINPR_CXX_COMPAT_CAST(int, 0xE00E0804),
|
||||
KBD_CHINESE_TRADITIONAL_ALPHANUMERIC = WINPR_CXX_COMPAT_CAST(int, 0xE00F0404)
|
||||
} FREERDP_KBD_IME_ID;
|
||||
|
||||
/** @brief Deallocation function for a \b RDP_KEYBOARD_LAYOUT array of \b count size
|
||||
|
||||
@@ -254,20 +254,6 @@ BOOL audio_format_compatible(const AUDIO_FORMAT* with, const AUDIO_FORMAT* what)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static BOOL audio_format_valid(const AUDIO_FORMAT* format)
|
||||
{
|
||||
if (!format)
|
||||
return FALSE;
|
||||
|
||||
if (format->nChannels == 0)
|
||||
return FALSE;
|
||||
|
||||
if (format->nSamplesPerSec == 0)
|
||||
return FALSE;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
AUDIO_FORMAT* audio_format_new(void)
|
||||
{
|
||||
return audio_formats_new(1);
|
||||
|
||||
@@ -435,33 +435,6 @@ autodetect_on_connect_time_auto_detect_progress_default(rdpAutoDetect* autodetec
|
||||
return autodetect->state;
|
||||
}
|
||||
|
||||
static BOOL autodetect_send_netchar_sync(rdpAutoDetect* autodetect, RDP_TRANSPORT_TYPE transport,
|
||||
UINT16 sequenceNumber)
|
||||
{
|
||||
wStream* s = NULL;
|
||||
|
||||
WINPR_ASSERT(autodetect);
|
||||
WINPR_ASSERT(autodetect->context);
|
||||
WINPR_ASSERT(autodetect->context->rdp);
|
||||
|
||||
/* Send the response PDU to the server */
|
||||
s = rdp_message_channel_pdu_init(autodetect->context->rdp);
|
||||
|
||||
if (!s)
|
||||
return FALSE;
|
||||
|
||||
WLog_Print(autodetect->log, WLOG_TRACE,
|
||||
"sending Network Characteristics Sync PDU -> bandwidth=%" PRIu32 ", rtt=%" PRIu32 "",
|
||||
autodetect->netCharBandwidth, autodetect->netCharAverageRTT);
|
||||
Stream_Write_UINT8(s, 0x0E); /* headerLength (1 byte) */
|
||||
Stream_Write_UINT8(s, TYPE_ID_AUTODETECT_RESPONSE); /* headerTypeId (1 byte) */
|
||||
Stream_Write_UINT16(s, sequenceNumber); /* sequenceNumber (2 bytes) */
|
||||
Stream_Write_UINT16(s, RDP_NETCHAR_SYNC_RESPONSE_TYPE); /* responseType (1 byte) */
|
||||
Stream_Write_UINT32(s, autodetect->netCharBandwidth); /* bandwidth (4 bytes) */
|
||||
Stream_Write_UINT32(s, autodetect->netCharAverageRTT); /* rtt (4 bytes) */
|
||||
return rdp_send_message_channel_pdu(autodetect->context->rdp, s, SEC_AUTODETECT_RSP);
|
||||
}
|
||||
|
||||
static BOOL autodetect_recv_rtt_measure_request(rdpAutoDetect* autodetect,
|
||||
RDP_TRANSPORT_TYPE transport, wStream* s,
|
||||
const AUTODETECT_REQ_PDU* autodetectReqPdu)
|
||||
|
||||
@@ -65,12 +65,13 @@ enum LicenseRequestType
|
||||
ERROR_ALERT = 0xFF
|
||||
};
|
||||
|
||||
// #define LICENSE_PKT_CS_MASK \
|
||||
// (LICENSE_INFO | NEW_LICENSE_REQUEST | PLATFORM_CHALLENGE_RESPONSE | ERROR_ALERT)
|
||||
//#define LICENSE_PKT_SC_MASK \
|
||||
// (LICENSE_REQUEST | PLATFORM_CHALLENGE | NEW_LICENSE | UPGRADE_LICENSE | ERROR_ALERT)
|
||||
//#define LICENSE_PKT_MASK (LICENSE_PKT_CS_MASK | LICENSE_PKT_SC_MASK)
|
||||
|
||||
/*
|
||||
#define LICENSE_PKT_CS_MASK \
|
||||
(LICENSE_INFO | NEW_LICENSE_REQUEST | PLATFORM_CHALLENGE_RESPONSE | ERROR_ALERT)
|
||||
#define LICENSE_PKT_SC_MASK \
|
||||
(LICENSE_REQUEST | PLATFORM_CHALLENGE | NEW_LICENSE | UPGRADE_LICENSE | ERROR_ALERT)
|
||||
#define LICENSE_PKT_MASK (LICENSE_PKT_CS_MASK | LICENSE_PKT_SC_MASK)
|
||||
*/
|
||||
#define LICENSE_PREAMBLE_LENGTH 4
|
||||
|
||||
/* Cryptographic Lengths */
|
||||
|
||||
@@ -109,6 +109,7 @@ static BOOL primitives_init_optimized(primitives_t* prims)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
#if defined(HAVE_CPU_OPTIMIZED_PRIMITIVES) && defined(WITH_OPENCL)
|
||||
typedef struct
|
||||
{
|
||||
BYTE* channels[3];
|
||||
@@ -165,7 +166,6 @@ fail:
|
||||
return ret;
|
||||
}
|
||||
|
||||
#if defined(HAVE_CPU_OPTIMIZED_PRIMITIVES) && defined(WITH_OPENCL)
|
||||
static BOOL primitives_YUV_benchmark_run(primitives_YUV_benchmark* bench, primitives_t* prims,
|
||||
UINT64 runTime, UINT32* computations)
|
||||
{
|
||||
|
||||
@@ -41,12 +41,6 @@ static inline __m256i mm256_set_epu32(uint32_t i0, uint32_t i1, uint32_t i2, uin
|
||||
(int32_t)i5, (int32_t)i6, (int32_t)i7);
|
||||
}
|
||||
|
||||
static INLINE pstatus_t avx2_image_copy_no_overlap_convert(
|
||||
BYTE* WINPR_RESTRICT pDstData, DWORD DstFormat, UINT32 nDstStep, UINT32 nXDst, UINT32 nYDst,
|
||||
UINT32 nWidth, UINT32 nHeight, const BYTE* WINPR_RESTRICT pSrcData, DWORD SrcFormat,
|
||||
UINT32 nSrcStep, UINT32 nXSrc, UINT32 nYSrc, const gdiPalette* WINPR_RESTRICT palette,
|
||||
SSIZE_T srcVMultiplier, SSIZE_T srcVOffset, SSIZE_T dstVMultiplier, SSIZE_T dstVOffset);
|
||||
|
||||
static INLINE pstatus_t avx2_image_copy_bgr24_bgrx32(BYTE* WINPR_RESTRICT pDstData, UINT32 nDstStep,
|
||||
UINT32 nXDst, UINT32 nYDst, UINT32 nWidth,
|
||||
UINT32 nHeight,
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
add_subdirectory(TestLibraryA)
|
||||
add_subdirectory(TestLibraryB)
|
||||
|
||||
set(MODULE_NAME "TestLibrary")
|
||||
set(MODULE_PREFIX "TEST_LIBRARY")
|
||||
|
||||
@@ -11,6 +14,8 @@ create_test_sourcelist(${MODULE_PREFIX}_SRCS ${${MODULE_PREFIX}_DRIVER} ${${MODU
|
||||
|
||||
add_executable(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
|
||||
|
||||
add_dependencies(${MODULE_NAME} TestLibraryA TestLibraryB)
|
||||
|
||||
target_link_libraries(${MODULE_NAME} winpr)
|
||||
|
||||
set_target_properties(${MODULE_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${TESTING_OUTPUT_DIRECTORY}")
|
||||
@@ -23,6 +28,3 @@ foreach(test ${${MODULE_PREFIX}_TESTS})
|
||||
endforeach()
|
||||
|
||||
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "WinPR/Test")
|
||||
|
||||
add_subdirectory(TestLibraryA)
|
||||
add_subdirectory(TestLibraryB)
|
||||
|
||||
@@ -18,12 +18,13 @@
|
||||
set(MODULE_NAME "TestLibraryA")
|
||||
set(MODULE_PREFIX "TEST_LIBRARY_A")
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS ${${MODULE_PREFIX}_SRCS} TestLibraryA.c)
|
||||
|
||||
add_library(${MODULE_NAME} SHARED ${${MODULE_PREFIX}_SRCS})
|
||||
set(SRCS TestLibraryA.c)
|
||||
|
||||
add_library(${MODULE_NAME} SHARED ${SRCS})
|
||||
set_target_properties(${MODULE_NAME} PROPERTIES PREFIX "")
|
||||
|
||||
set_target_properties(${MODULE_NAME} PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${TESTING_OUTPUT_DIRECTORY}")
|
||||
set_target_properties(
|
||||
${MODULE_NAME} PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${TESTING_OUTPUT_DIRECTORY}" RUNTIME_OUTPUT_DIRECTORY
|
||||
"${TESTING_OUTPUT_DIRECTORY}"
|
||||
)
|
||||
|
||||
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "WinPR/Test/Extra")
|
||||
|
||||
@@ -18,12 +18,14 @@
|
||||
set(MODULE_NAME "TestLibraryB")
|
||||
set(MODULE_PREFIX "TEST_LIBRARY_B")
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS ${${MODULE_PREFIX}_SRCS} TestLibraryB.c)
|
||||
set(SRCS TestLibraryB.c)
|
||||
|
||||
add_library(${MODULE_NAME} SHARED ${${MODULE_PREFIX}_SRCS})
|
||||
add_library(${MODULE_NAME} SHARED ${SRCS})
|
||||
|
||||
set_target_properties(${MODULE_NAME} PROPERTIES PREFIX "")
|
||||
|
||||
set_target_properties(${MODULE_NAME} PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${TESTING_OUTPUT_DIRECTORY}")
|
||||
set_target_properties(
|
||||
${MODULE_NAME} PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${TESTING_OUTPUT_DIRECTORY}" RUNTIME_OUTPUT_DIRECTORY
|
||||
"${TESTING_OUTPUT_DIRECTORY}"
|
||||
)
|
||||
|
||||
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "WinPR/Test/Extra")
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
#include <winpr/tchar.h>
|
||||
#include <winpr/windows.h>
|
||||
#include <winpr/library.h>
|
||||
#include <winpr/nt.h>
|
||||
|
||||
typedef int (*TEST_AB_FN)(int a, int b);
|
||||
|
||||
@@ -17,13 +18,16 @@ int TestLibraryGetProcAddress(int argc, char* argv[])
|
||||
TEST_AB_FN pFunctionA = NULL;
|
||||
TEST_AB_FN pFunctionB = NULL;
|
||||
LPCSTR SharedLibraryExtension = NULL;
|
||||
CHAR LibraryPath[PATHCCH_MAX_CCH];
|
||||
CHAR LibraryPath[PATHCCH_MAX_CCH] = { 0 };
|
||||
PCHAR p = NULL;
|
||||
WINPR_UNUSED(argc);
|
||||
WINPR_UNUSED(argv);
|
||||
if (!GetModuleFileNameA(NULL, LibraryPath, PATHCCH_MAX_CCH))
|
||||
{
|
||||
printf("%s: GetModuleFilenameA failed: 0x%08" PRIX32 "\n", __func__, GetLastError());
|
||||
const UINT32 err = GetLastError();
|
||||
const HRESULT herr = HRESULT_FROM_WIN32(err);
|
||||
printf("%s: GetModuleFilenameA failed: %s - %s [0x%08" PRIX32 "]\n", __func__,
|
||||
NtStatus2Tag(herr), Win32ErrorCode2Tag(err), err);
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -43,19 +47,28 @@ int TestLibraryGetProcAddress(int argc, char* argv[])
|
||||
|
||||
if (!(library = LoadLibraryA(LibraryPath)))
|
||||
{
|
||||
printf("%s: LoadLibraryA failure: 0x%08" PRIX32 "\n", __func__, GetLastError());
|
||||
const UINT32 err = GetLastError();
|
||||
const HRESULT herr = HRESULT_FROM_WIN32(err);
|
||||
printf("%s: LoadLibraryA failure: %s - %s [0x%08" PRIX32 "]\n", __func__,
|
||||
NtStatus2Tag(herr), Win32ErrorCode2Tag(err), err);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (!(pFunctionA = GetProcAddressAs(library, "FunctionA", TEST_AB_FN)))
|
||||
{
|
||||
printf("%s: GetProcAddress failure (FunctionA)\n", __func__);
|
||||
const UINT32 err = GetLastError();
|
||||
const HRESULT herr = HRESULT_FROM_WIN32(err);
|
||||
printf("%s: GetProcAddress failure (FunctionA) %s - %s [0x%08" PRIX32 "]\n", __func__,
|
||||
NtStatus2Tag(herr), Win32ErrorCode2Tag(err), err);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (!(pFunctionB = GetProcAddressAs(library, "FunctionB", TEST_AB_FN)))
|
||||
{
|
||||
printf("%s: GetProcAddress failure (FunctionB)\n", __func__);
|
||||
const UINT32 err = GetLastError();
|
||||
const HRESULT herr = HRESULT_FROM_WIN32(err);
|
||||
printf("%s: GetProcAddress failure (FunctionB) %s - %s [0x%08" PRIX32 "]\n", __func__,
|
||||
NtStatus2Tag(herr), Win32ErrorCode2Tag(err), err);
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -81,7 +94,10 @@ int TestLibraryGetProcAddress(int argc, char* argv[])
|
||||
|
||||
if (!FreeLibrary(library))
|
||||
{
|
||||
printf("%s: FreeLibrary failure: 0x%08" PRIX32 "\n", __func__, GetLastError());
|
||||
const UINT32 err = GetLastError();
|
||||
const HRESULT herr = HRESULT_FROM_WIN32(err);
|
||||
printf("%s: FreeLibrary failure: %s - %s [0x%08" PRIX32 "]\n", __func__, NtStatus2Tag(herr),
|
||||
Win32ErrorCode2Tag(err), err);
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
@@ -5,18 +5,22 @@
|
||||
#include <winpr/tchar.h>
|
||||
#include <winpr/windows.h>
|
||||
#include <winpr/library.h>
|
||||
#include <winpr/nt.h>
|
||||
|
||||
int TestLibraryLoadLibrary(int argc, char* argv[])
|
||||
{
|
||||
HINSTANCE library = NULL;
|
||||
LPCSTR SharedLibraryExtension = NULL;
|
||||
CHAR LibraryPath[PATHCCH_MAX_CCH];
|
||||
CHAR LibraryPath[PATHCCH_MAX_CCH] = { 0 };
|
||||
PCHAR p = NULL;
|
||||
WINPR_UNUSED(argc);
|
||||
WINPR_UNUSED(argv);
|
||||
if (!GetModuleFileNameA(NULL, LibraryPath, PATHCCH_MAX_CCH))
|
||||
{
|
||||
printf("%s: GetModuleFilenameA failed: 0x%08" PRIX32 "\n", __func__, GetLastError());
|
||||
const UINT32 err = GetLastError();
|
||||
const HRESULT herr = HRESULT_FROM_WIN32(err);
|
||||
printf("%s: GetModuleFilenameA failed: %s - %s [0x%08" PRIX32 "]\n", __func__,
|
||||
NtStatus2Tag(herr), Win32ErrorCode2Tag(err), err);
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -37,13 +41,19 @@ int TestLibraryLoadLibrary(int argc, char* argv[])
|
||||
|
||||
if (!(library = LoadLibraryA(LibraryPath)))
|
||||
{
|
||||
printf("%s: LoadLibraryA failure: 0x%08" PRIX32 "\n", __func__, GetLastError());
|
||||
const UINT32 err = GetLastError();
|
||||
const HRESULT herr = HRESULT_FROM_WIN32(err);
|
||||
printf("%s: LoadLibraryA failure: %s - %s [0x%08" PRIX32 "]\n", __func__,
|
||||
NtStatus2Tag(herr), Win32ErrorCode2Tag(err), err);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (!FreeLibrary(library))
|
||||
{
|
||||
printf("%s: FreeLibrary failure: 0x%08" PRIX32 "\n", __func__, GetLastError());
|
||||
const UINT32 err = GetLastError();
|
||||
const HRESULT herr = HRESULT_FROM_WIN32(err);
|
||||
printf("%s: FreeLibrary failure: %s - %s [0x%08" PRIX32 "]\n", __func__, NtStatus2Tag(herr),
|
||||
Win32ErrorCode2Tag(err), err);
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user