mirror of
https://github.com/morgan9e/FreeRDP
synced 2026-04-14 00:14:11 +09:00
[freerdp,api] mark API functions [[nodiscard]]
Mark (most) of the API functions returning a value [[nodiscard]]. This will assist application developers spotting bad return checks.
This commit is contained in:
@@ -56,19 +56,30 @@ extern "C"
|
||||
LPCSTR pszType,
|
||||
DWORD dwFlags);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LPSTR freerdp_get_library_install_path(void);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LPSTR freerdp_get_dynamic_addin_install_path(void);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API int freerdp_register_addin_provider(FREERDP_LOAD_CHANNEL_ADDIN_ENTRY_FN provider,
|
||||
DWORD dwFlags);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API FREERDP_LOAD_CHANNEL_ADDIN_ENTRY_FN freerdp_get_current_addin_provider(void);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API PVIRTUALCHANNELENTRY freerdp_load_dynamic_addin(LPCSTR pszFileName, LPCSTR pszPath,
|
||||
LPCSTR pszEntryName);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API PVIRTUALCHANNELENTRY freerdp_load_dynamic_channel_addin_entry(LPCSTR pszName,
|
||||
LPCSTR pszSubsystem,
|
||||
LPCSTR pszType,
|
||||
DWORD dwFlags);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API PVIRTUALCHANNELENTRY freerdp_load_channel_addin_entry(LPCSTR pszName,
|
||||
LPCSTR pszSubsystem,
|
||||
LPCSTR pszType,
|
||||
|
||||
@@ -53,18 +53,25 @@ extern "C"
|
||||
const char* passStub,
|
||||
size_t* pEncryptedSize);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API int freerdp_assistance_set_connection_string2(rdpAssistanceFile* file,
|
||||
const char* string,
|
||||
const char* password);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API int freerdp_assistance_parse_file_buffer(rdpAssistanceFile* file,
|
||||
const char* buffer, size_t size,
|
||||
const char* password);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API int freerdp_assistance_parse_file(rdpAssistanceFile* file, const char* name,
|
||||
const char* password);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_assistance_populate_settings_from_assistance_file(
|
||||
rdpAssistanceFile* file, rdpSettings* settings);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_assistance_get_encrypted_pass_stub(rdpAssistanceFile* file,
|
||||
const char** pwd, size_t* size);
|
||||
|
||||
|
||||
@@ -139,6 +139,8 @@ extern "C"
|
||||
OnConnectTimeAutoDetectProgress; /* 28 */
|
||||
UINT64 paddingB[32 - 29]; /* 29 */
|
||||
};
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API rdpAutoDetect* autodetect_get(rdpContext* context);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
8
include/freerdp/cache/persistent.h
vendored
8
include/freerdp/cache/persistent.h
vendored
@@ -76,16 +76,24 @@ extern "C"
|
||||
BYTE* data;
|
||||
} PERSISTENT_CACHE_ENTRY;
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API int persistent_cache_get_version(rdpPersistentCache* persistent);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API int persistent_cache_get_count(rdpPersistentCache* persistent);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API int persistent_cache_read_entry(rdpPersistentCache* persistent,
|
||||
PERSISTENT_CACHE_ENTRY* entry);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API int persistent_cache_write_entry(rdpPersistentCache* persistent,
|
||||
const PERSISTENT_CACHE_ENTRY* entry);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API int persistent_cache_open(rdpPersistentCache* persistent, const char* filename,
|
||||
BOOL write, UINT32 version);
|
||||
|
||||
FREERDP_API int persistent_cache_close(rdpPersistentCache* persistent);
|
||||
|
||||
FREERDP_API void persistent_cache_free(rdpPersistentCache* persistent);
|
||||
|
||||
@@ -36,20 +36,27 @@ extern "C"
|
||||
/** @since version 3.9.0 */
|
||||
typedef BOOL (*freerdp_channel_handle_fkt_t)(rdpContext* context, void* userdata);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API int freerdp_channels_client_load(rdpChannels* channels, rdpSettings* settings,
|
||||
PVIRTUALCHANNELENTRY entry, void* data);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API int freerdp_channels_client_load_ex(rdpChannels* channels, rdpSettings* settings,
|
||||
PVIRTUALCHANNELENTRYEX entryEx, void* data);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API int freerdp_channels_load_plugin(rdpChannels* channels, rdpSettings* settings,
|
||||
const char* name, void* data);
|
||||
#if defined(WITH_FREERDP_DEPRECATED)
|
||||
WINPR_DEPRECATED_VAR("Use freerdp_channels_get_event_handle",
|
||||
FREERDP_API BOOL freerdp_channels_get_fds(
|
||||
WINPR_ATTR_NODISCARD FREERDP_API BOOL freerdp_channels_get_fds(
|
||||
rdpChannels* channels, freerdp* instance, void** read_fds,
|
||||
int* read_count, void** write_fds, int* write_count));
|
||||
#endif
|
||||
|
||||
FREERDP_API BOOL freerdp_channels_check_fds(rdpChannels* channels, freerdp* instance);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API void* freerdp_channels_get_static_channel_interface(rdpChannels* channels,
|
||||
const char* name);
|
||||
|
||||
@@ -73,6 +80,7 @@ extern "C"
|
||||
*
|
||||
* @return \b TRUE if successful, \b FALSE if any error occurs.
|
||||
* @since version 3.9.0 */
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_client_channel_register(rdpChannels* channels, HANDLE handle,
|
||||
freerdp_channel_handle_fkt_t fkt,
|
||||
void* userdata);
|
||||
@@ -87,15 +95,23 @@ extern "C"
|
||||
* @since version 3.9.0 */
|
||||
FREERDP_API BOOL freerdp_client_channel_unregister(rdpChannels* channels, HANDLE handle);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API HANDLE freerdp_channels_get_event_handle(freerdp* instance);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API int freerdp_channels_process_pending_messages(freerdp* instance);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_channels_data(freerdp* instance, UINT16 channelId, const BYTE* data,
|
||||
size_t dataSize, UINT32 flags, size_t totalSize);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API UINT16 freerdp_channels_get_id_by_name(freerdp* instance, const char* channel_name);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API const char* freerdp_channels_get_name_by_id(freerdp* instance, UINT16 channelId);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API const WtsApiFunctionTable* FreeRDP_InitWtsApi(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -63,12 +63,24 @@ extern "C"
|
||||
FREERDP_API void WTSVirtualChannelManagerGetFileDescriptor(
|
||||
HANDLE hServer, void** fds, int* fds_count));
|
||||
#endif
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL WTSVirtualChannelManagerOpen(HANDLE hServer);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL WTSVirtualChannelManagerCheckFileDescriptor(HANDLE hServer);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL WTSVirtualChannelManagerCheckFileDescriptorEx(HANDLE hServer, BOOL autoOpen);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API HANDLE WTSVirtualChannelManagerGetEventHandle(HANDLE hServer);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL WTSVirtualChannelManagerIsChannelJoined(HANDLE hServer, const char* name);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BYTE WTSVirtualChannelManagerGetDrdynvcState(HANDLE hServer);
|
||||
|
||||
FREERDP_API void WTSVirtualChannelManagerSetDVCCreationCallback(HANDLE hServer,
|
||||
psDVCCreationStatusCallback cb,
|
||||
void* userdata);
|
||||
@@ -76,18 +88,38 @@ extern "C"
|
||||
/**
|
||||
* Extended FreeRDP WTS functions for channel handling
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API UINT16 WTSChannelGetId(freerdp_peer* client, const char* channel_name);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL WTSIsChannelJoinedByName(freerdp_peer* client, const char* channel_name);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL WTSIsChannelJoinedById(freerdp_peer* client, UINT16 channel_id);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL WTSChannelSetHandleByName(freerdp_peer* client, const char* channel_name,
|
||||
void* handle);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL WTSChannelSetHandleById(freerdp_peer* client, UINT16 channel_id, void* handle);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API void* WTSChannelGetHandleByName(freerdp_peer* client, const char* channel_name);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API void* WTSChannelGetHandleById(freerdp_peer* client, UINT16 channel_id);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API const char* WTSChannelGetName(freerdp_peer* client, UINT16 channel_id);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API char** WTSGetAcceptedChannelNames(freerdp_peer* client, size_t* count);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API INT64 WTSChannelGetOptions(freerdp_peer* client, UINT16 channel_id);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API UINT32 WTSChannelGetIdByHandle(HANDLE hChannelHandle);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -156,12 +156,18 @@ extern "C"
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API rdpContext* freerdp_client_context_new(const RDP_CLIENT_ENTRY_POINTS* pEntryPoints);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API int freerdp_client_start(rdpContext* context);
|
||||
|
||||
FREERDP_API int freerdp_client_stop(rdpContext* context);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API freerdp* freerdp_client_get_instance(rdpContext* context);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API HANDLE freerdp_client_get_thread(rdpContext* context);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API int freerdp_client_settings_parse_command_line(rdpSettings* settings, int argc,
|
||||
char** argv, BOOL allowUnknown);
|
||||
|
||||
@@ -178,36 +184,50 @@ extern "C"
|
||||
* @return >=0 for success, <0 in case of parsing failures
|
||||
* @since version 3.9.0
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API int freerdp_client_settings_parse_command_line_ex(
|
||||
rdpSettings* settings, int argc, char** argv, BOOL allowUnknown,
|
||||
COMMAND_LINE_ARGUMENT_A* args, size_t count,
|
||||
freerdp_command_line_handle_option_t handle_option, void* handle_userdata);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API int freerdp_client_settings_parse_connection_file(rdpSettings* settings,
|
||||
const char* filename);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API int freerdp_client_settings_parse_connection_file_buffer(rdpSettings* settings,
|
||||
const BYTE* buffer,
|
||||
size_t size);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API int freerdp_client_settings_write_connection_file(const rdpSettings* settings,
|
||||
const char* filename,
|
||||
BOOL unicode);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API int freerdp_client_settings_parse_assistance_file(rdpSettings* settings, int argc,
|
||||
char* argv[]);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL client_cli_authenticate_ex(freerdp* instance, char** username, char** password,
|
||||
char** domain, rdp_auth_reason reason);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL client_cli_choose_smartcard(freerdp* instance, SmartcardCertInfo** cert_list,
|
||||
DWORD count, DWORD* choice, BOOL gateway);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API int client_cli_logon_error_info(freerdp* instance, UINT32 data, UINT32 type);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL client_cli_get_access_token(freerdp* instance, AccessTokenType tokenType,
|
||||
char** token, size_t count, ...);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL client_common_get_access_token(freerdp* instance, const char* request,
|
||||
char** token);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API SSIZE_T client_common_retry_dialog(freerdp* instance, const char* what,
|
||||
size_t current, void* userarg);
|
||||
|
||||
@@ -220,43 +240,49 @@ extern "C"
|
||||
|
||||
#if defined(WITH_FREERDP_DEPRECATED)
|
||||
WINPR_DEPRECATED_VAR("Use client_cli_authenticate_ex",
|
||||
FREERDP_API BOOL client_cli_authenticate(freerdp* instance,
|
||||
char** username, char** password,
|
||||
char** domain));
|
||||
WINPR_ATTR_NODISCARD FREERDP_API BOOL client_cli_authenticate(
|
||||
freerdp* instance, char** username, char** password, char** domain));
|
||||
WINPR_DEPRECATED_VAR("Use client_cli_authenticate_ex",
|
||||
FREERDP_API BOOL client_cli_gw_authenticate(
|
||||
WINPR_ATTR_NODISCARD FREERDP_API BOOL client_cli_gw_authenticate(
|
||||
freerdp* instance, char** username, char** password, char** domain));
|
||||
|
||||
WINPR_DEPRECATED_VAR("Use client_cli_verify_certificate_ex",
|
||||
FREERDP_API DWORD client_cli_verify_certificate(
|
||||
WINPR_ATTR_NODISCARD FREERDP_API DWORD client_cli_verify_certificate(
|
||||
freerdp* instance, const char* common_name, const char* subject,
|
||||
const char* issuer, const char* fingerprint, BOOL host_mismatch));
|
||||
#endif
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API DWORD client_cli_verify_certificate_ex(freerdp* instance, const char* host,
|
||||
UINT16 port, const char* common_name,
|
||||
const char* subject, const char* issuer,
|
||||
const char* fingerprint, DWORD flags);
|
||||
|
||||
#if defined(WITH_FREERDP_DEPRECATED)
|
||||
WINPR_DEPRECATED_VAR("Use client_cli_verify_changed_certificate_ex",
|
||||
FREERDP_API DWORD client_cli_verify_changed_certificate(
|
||||
freerdp* instance, const char* common_name, const char* subject,
|
||||
const char* issuer, const char* fingerprint, const char* old_subject,
|
||||
const char* old_issuer, const char* old_fingerprint));
|
||||
WINPR_DEPRECATED_VAR(
|
||||
"Use client_cli_verify_changed_certificate_ex",
|
||||
WINPR_ATTR_NODISCARD FREERDP_API DWORD client_cli_verify_changed_certificate(
|
||||
freerdp* instance, const char* common_name, const char* subject, const char* issuer,
|
||||
const char* fingerprint, const char* old_subject, const char* old_issuer,
|
||||
const char* old_fingerprint));
|
||||
#endif
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API DWORD client_cli_verify_changed_certificate_ex(
|
||||
freerdp* instance, const char* host, UINT16 port, const char* common_name,
|
||||
const char* subject, const char* issuer, const char* fingerprint, const char* old_subject,
|
||||
const char* old_issuer, const char* old_fingerprint, DWORD flags);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL client_cli_present_gateway_message(freerdp* instance, UINT32 type,
|
||||
BOOL isDisplayMandatory,
|
||||
BOOL isConsentMandatory, size_t length,
|
||||
const WCHAR* message);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL client_auto_reconnect(freerdp* instance);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL client_auto_reconnect_ex(freerdp* instance,
|
||||
BOOL (*window_events)(freerdp* instance));
|
||||
|
||||
@@ -289,6 +315,7 @@ extern "C"
|
||||
|
||||
FREERDP_API BOOL freerdp_client_handle_pen(rdpClientContext* cctx, UINT32 flags, INT32 deviceid,
|
||||
...);
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_client_is_pen(rdpClientContext* cctx, INT32 deviceid);
|
||||
|
||||
FREERDP_API BOOL freerdp_client_pen_cancel_all(rdpClientContext* cctx);
|
||||
@@ -302,6 +329,7 @@ extern "C"
|
||||
*
|
||||
* @return \b TRUE if relative mouse events are to be sent, \b FALSE otherwise
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_client_use_relative_mouse_events(rdpClientContext* cctx);
|
||||
|
||||
FREERDP_API BOOL freerdp_client_send_button_event(rdpClientContext* cctx, BOOL relative,
|
||||
@@ -311,12 +339,16 @@ extern "C"
|
||||
BOOL relative, UINT16 mflags,
|
||||
INT32 x, INT32 y);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API int freerdp_client_common_stop(rdpContext* context);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_client_load_channels(freerdp* instance);
|
||||
|
||||
#if defined(CHANNEL_ENCOMSP_CLIENT)
|
||||
FREERDP_API BOOL freerdp_client_encomsp_toggle_control(EncomspClientContext* encomsp);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_client_encomsp_set_control(EncomspClientContext* encomsp,
|
||||
BOOL control);
|
||||
#endif
|
||||
|
||||
@@ -68,18 +68,25 @@ extern "C"
|
||||
};
|
||||
|
||||
#if defined(WITH_CHANNELS)
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API void* freerdp_channels_client_find_static_entry(const char* name,
|
||||
const char* identifier);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API PVIRTUALCHANNELENTRY freerdp_channels_load_static_addin_entry(LPCSTR pszName,
|
||||
LPCSTR pszSubsystem,
|
||||
LPCSTR pszType,
|
||||
DWORD dwFlags);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API FREERDP_ADDIN** freerdp_channels_list_addins(LPCSTR lpName, LPCSTR lpSubsystem,
|
||||
LPCSTR lpType, DWORD dwFlags);
|
||||
FREERDP_API void freerdp_channels_addin_list_free(FREERDP_ADDIN** ppAddins);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_initialize_generic_dynvc_plugin(GENERIC_DYNVC_PLUGIN* plugin);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API UINT freerdp_generic_DVCPluginEntry(
|
||||
IDRDYNVC_ENTRY_POINTS* pEntryPoints, const char* logTag, const char* name,
|
||||
size_t pluginSize, size_t channelCallbackSize,
|
||||
|
||||
@@ -44,6 +44,7 @@ extern "C"
|
||||
*
|
||||
* \return \b TRUE if files can be pasted locally, \b FALSE if not (e.g. no FUSE, ...)
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL cliprdr_file_context_has_local_support(CliprdrFileContext* file);
|
||||
|
||||
/**! \brief sets state of local file paste support
|
||||
@@ -54,25 +55,35 @@ extern "C"
|
||||
*
|
||||
* \return \b TRUE for success, \b FALSE otherwise
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL cliprdr_file_context_set_locally_available(CliprdrFileContext* file,
|
||||
BOOL available);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL cliprdr_file_context_remote_set_flags(CliprdrFileContext* file, UINT32 flags);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API UINT32 cliprdr_file_context_remote_get_flags(CliprdrFileContext* file);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API UINT32 cliprdr_file_context_current_flags(CliprdrFileContext* file);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API void* cliprdr_file_context_get_context(CliprdrFileContext* file);
|
||||
|
||||
FREERDP_API BOOL cliprdr_file_context_init(CliprdrFileContext* file,
|
||||
CliprdrClientContext* cliprdr);
|
||||
|
||||
FREERDP_API BOOL cliprdr_file_context_uninit(CliprdrFileContext* file,
|
||||
CliprdrClientContext* cliprdr);
|
||||
|
||||
FREERDP_API BOOL cliprdr_file_context_clear(CliprdrFileContext* file);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API UINT
|
||||
cliprdr_file_context_notify_new_server_format_list(CliprdrFileContext* file_context);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API UINT
|
||||
cliprdr_file_context_notify_new_client_format_list(CliprdrFileContext* file_context);
|
||||
|
||||
@@ -95,6 +106,7 @@ extern "C"
|
||||
*
|
||||
* \return \b TRUE for success, \b FALSE otherwise
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL cliprdr_file_context_update_server_data(CliprdrFileContext* file,
|
||||
wClipboard* clip, const void* data,
|
||||
size_t size);
|
||||
|
||||
@@ -52,6 +52,7 @@ extern "C"
|
||||
*
|
||||
* \return \b 0 in case of success, a negative number in case of failure.
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API int freerdp_client_settings_parse_command_line_arguments(rdpSettings* settings,
|
||||
int argc, char** argv,
|
||||
BOOL allowUnknown);
|
||||
@@ -72,18 +73,24 @@ extern "C"
|
||||
*
|
||||
* \return \b 0 in case of success, a negative number in case of failure.
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API int freerdp_client_settings_parse_command_line_arguments_ex(
|
||||
rdpSettings* settings, int argc, char** argv, BOOL allowUnknown,
|
||||
COMMAND_LINE_ARGUMENT_A* args, size_t count,
|
||||
freerdp_command_line_handle_option_t handle_option, void* handle_userdata);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API int freerdp_client_settings_command_line_status_print(rdpSettings* settings,
|
||||
int status, int argc,
|
||||
char** argv);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API int
|
||||
freerdp_client_settings_command_line_status_print_ex(rdpSettings* settings, int status,
|
||||
int argc, char** argv,
|
||||
const COMMAND_LINE_ARGUMENT_A* custom);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_client_load_addins(rdpChannels* channels, rdpSettings* settings);
|
||||
|
||||
/** Print a command line warning about the component being unmaintained.
|
||||
@@ -116,6 +123,7 @@ extern "C"
|
||||
* @since version 3.10.0
|
||||
*/
|
||||
FREERDP_API BOOL freerdp_client_print_version_ex(int argc, char** argv);
|
||||
|
||||
FREERDP_API BOOL freerdp_client_print_buildconfig(void);
|
||||
|
||||
/** @brief prints the buidconfiguration of the client including the binary name extracted from
|
||||
@@ -129,21 +137,37 @@ extern "C"
|
||||
* @since version 3.10.0
|
||||
*/
|
||||
FREERDP_API BOOL freerdp_client_print_buildconfig_ex(int argc, char** argv);
|
||||
|
||||
FREERDP_API BOOL freerdp_client_print_command_line_help(int argc, char** argv);
|
||||
|
||||
FREERDP_API BOOL freerdp_client_print_command_line_help_ex(
|
||||
int argc, char** argv, const COMMAND_LINE_ARGUMENT_A* custom);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_parse_username(const char* username, char** user, char** domain);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_parse_hostname(const char* hostname, char** host, int* port);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_set_connection_type(rdpSettings* settings, UINT32 type);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_client_add_device_channel(rdpSettings* settings, size_t count,
|
||||
const char* const* params);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_client_add_static_channel(rdpSettings* settings, size_t count,
|
||||
const char* const* params);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_client_del_static_channel(rdpSettings* settings, const char* name);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_client_add_dynamic_channel(rdpSettings* settings, size_t count,
|
||||
const char* const* params);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_client_del_dynamic_channel(rdpSettings* settings, const char* name);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -40,11 +40,18 @@ extern "C"
|
||||
* set the context for the callback with this function. */
|
||||
FREERDP_API void freerdp_client_rdp_file_set_callback_context(rdpFile* file, void* context);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_client_parse_rdp_file(rdpFile* file, const char* name);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_client_parse_rdp_file_ex(rdpFile* file, const char* name,
|
||||
rdp_file_fkt_parse parse);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_client_parse_rdp_file_buffer(rdpFile* file, const BYTE* buffer,
|
||||
size_t size);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_client_parse_rdp_file_buffer_ex(rdpFile* file, const BYTE* buffer,
|
||||
size_t size, rdp_file_fkt_parse parse);
|
||||
|
||||
@@ -57,6 +64,7 @@ extern "C"
|
||||
* @return \b TRUE for success, \b FALSE otherwise
|
||||
* @version since 3.17.0
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_client_populate_settings_from_rdp_file_unchecked(
|
||||
const rdpFile* file, rdpSettings* settings);
|
||||
|
||||
@@ -67,23 +75,35 @@ extern "C"
|
||||
*
|
||||
* @return \b TRUE for success, \b FALSE otherwise
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_client_populate_settings_from_rdp_file(const rdpFile* file,
|
||||
rdpSettings* settings);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_client_populate_rdp_file_from_settings(rdpFile* file,
|
||||
const rdpSettings* settings);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_client_write_rdp_file(const rdpFile* file, const char* name,
|
||||
BOOL unicode);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API size_t freerdp_client_write_rdp_file_buffer(const rdpFile* file, char* buffer,
|
||||
size_t size);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API int freerdp_client_rdp_file_set_string_option(rdpFile* file, const char* name,
|
||||
const char* value);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API const char* freerdp_client_rdp_file_get_string_option(const rdpFile* file,
|
||||
const char* name);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API int freerdp_client_rdp_file_set_integer_option(rdpFile* file, const char* name,
|
||||
int value);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API int freerdp_client_rdp_file_get_integer_option(const rdpFile* file,
|
||||
const char* name);
|
||||
|
||||
|
||||
@@ -134,6 +134,7 @@ extern "C"
|
||||
WINPR_ATTR_NODISCARD pcRailClientCaretBlinkRate ClientCaretBlinkRate;
|
||||
};
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API UINT client_rail_server_start_cmd(RailClientContext* context);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -83,6 +83,7 @@ typedef FREERDP_RDPSND_DEVICE_ENTRY_POINTS* PFREERDP_RDPSND_DEVICE_ENTRY_POINTS;
|
||||
typedef UINT(VCAPITYPE* PFREERDP_RDPSND_DEVICE_ENTRY)(
|
||||
PFREERDP_RDPSND_DEVICE_ENTRY_POINTS pEntryPoints);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API rdpContext* freerdp_rdpsnd_get_context(rdpsndPlugin* plugin);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -63,6 +63,7 @@ extern "C"
|
||||
pcVideoDeleteSurface deleteSurface;
|
||||
};
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API VideoSurface* VideoClient_CreateCommonContext(size_t size, UINT32 x, UINT32 y,
|
||||
UINT32 w, UINT32 h);
|
||||
FREERDP_API void VideoClient_DestroyCommonContext(VideoSurface* surface);
|
||||
|
||||
@@ -203,18 +203,26 @@ extern "C"
|
||||
* Audio Format Functions
|
||||
*/
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API UINT32 audio_format_compute_time_length(const AUDIO_FORMAT* format, size_t size);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API const char* audio_format_get_tag_string(UINT16 wFormatTag);
|
||||
|
||||
FREERDP_API void audio_format_print(wLog* log, DWORD level, const AUDIO_FORMAT* format);
|
||||
FREERDP_API void audio_formats_print(wLog* log, DWORD level, const AUDIO_FORMAT* formats,
|
||||
UINT16 count);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL audio_format_read(wStream* s, AUDIO_FORMAT* format);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL audio_format_write(wStream* s, const AUDIO_FORMAT* format);
|
||||
|
||||
FREERDP_API BOOL audio_format_copy(const AUDIO_FORMAT* WINPR_RESTRICT srcFormat,
|
||||
AUDIO_FORMAT* WINPR_RESTRICT dstFormat);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL audio_format_compatible(const AUDIO_FORMAT* with, const AUDIO_FORMAT* what);
|
||||
|
||||
FREERDP_API void audio_format_free(AUDIO_FORMAT* format);
|
||||
|
||||
@@ -33,6 +33,7 @@ extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API SSIZE_T freerdp_bitmap_compress(const void* WINPR_RESTRICT srcData, UINT32 width,
|
||||
UINT32 height, wStream* WINPR_RESTRICT s,
|
||||
UINT32 bpp, UINT32 byte_limit, UINT32 start_line,
|
||||
|
||||
@@ -33,11 +33,13 @@ extern "C"
|
||||
|
||||
typedef struct S_CLEAR_CONTEXT CLEAR_CONTEXT;
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API int clear_compress(CLEAR_CONTEXT* WINPR_RESTRICT clear,
|
||||
const BYTE* WINPR_RESTRICT pSrcData, UINT32 SrcSize,
|
||||
BYTE** WINPR_RESTRICT ppDstData,
|
||||
UINT32* WINPR_RESTRICT pDstSize);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API INT32 clear_decompress(CLEAR_CONTEXT* WINPR_RESTRICT clear,
|
||||
const BYTE* WINPR_RESTRICT pSrcData, UINT32 SrcSize,
|
||||
UINT32 nWidth, UINT32 nHeight, BYTE* WINPR_RESTRICT pDstData,
|
||||
@@ -45,6 +47,7 @@ extern "C"
|
||||
UINT32 nYDst, UINT32 nDstWidth, UINT32 nDstHeight,
|
||||
const gdiPalette* WINPR_RESTRICT palette);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL clear_context_reset(CLEAR_CONTEXT* WINPR_RESTRICT clear);
|
||||
|
||||
FREERDP_API void clear_context_free(CLEAR_CONTEXT* WINPR_RESTRICT clear);
|
||||
|
||||
@@ -117,21 +117,23 @@ typedef struct gdi_palette gdiPalette;
|
||||
|
||||
/* Compare two color formats but ignore differences in alpha channel.
|
||||
*/
|
||||
FREERDP_API DWORD FreeRDPAreColorFormatsEqualNoAlpha(DWORD first, DWORD second);
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API DWORD FreeRDPAreColorFormatsEqualNoAlpha(DWORD first, DWORD second);
|
||||
|
||||
/* Color Space Conversions: http://msdn.microsoft.com/en-us/library/ff566496/ */
|
||||
/* Color Space Conversions: http://msdn.microsoft.com/en-us/library/ff566496/ */
|
||||
|
||||
/***
|
||||
*
|
||||
* Get a string representation of a color
|
||||
*
|
||||
* @param format The pixel color format
|
||||
*
|
||||
* @return A string representation of format
|
||||
*/
|
||||
/***
|
||||
*
|
||||
* Get a string representation of a color
|
||||
*
|
||||
* @param format The pixel color format
|
||||
*
|
||||
* @return A string representation of format
|
||||
*/
|
||||
#if defined(WITH_FREERDP_DEPRECATED)
|
||||
#define GetColorFormatName(...) FreeRDPGetColorFormatName(__VA_ARGS__)
|
||||
#endif
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API const char* FreeRDPGetColorFormatName(UINT32 format);
|
||||
|
||||
/** @brief convert a string to a \ref PIXEL_FORMAT
|
||||
@@ -141,21 +143,22 @@ typedef struct gdi_palette gdiPalette;
|
||||
* @return the \ref PIXEL_FORMAT value or \b 0 for failure
|
||||
* @since version 3.18.0
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API uint32_t FreeRDPGetColorFromatFromName(const char* name);
|
||||
|
||||
/***
|
||||
*
|
||||
* Converts a pixel color in internal representation to its red, green, blue
|
||||
* and alpha components.
|
||||
*
|
||||
* @param color The color in format internal representation
|
||||
* @param format one of PIXEL_FORMAT_* color format defines
|
||||
* @param _r red color value
|
||||
* @param _g green color value
|
||||
* @param _b blue color value
|
||||
* @param _a alpha color value
|
||||
* @param palette palette to use (only used for 8 bit color!)
|
||||
*/
|
||||
/***
|
||||
*
|
||||
* Converts a pixel color in internal representation to its red, green, blue
|
||||
* and alpha components.
|
||||
*
|
||||
* @param color The color in format internal representation
|
||||
* @param format one of PIXEL_FORMAT_* color format defines
|
||||
* @param _r red color value
|
||||
* @param _g green color value
|
||||
* @param _b blue color value
|
||||
* @param _a alpha color value
|
||||
* @param palette palette to use (only used for 8 bit color!)
|
||||
*/
|
||||
#if defined(WITH_FREERDP_DEPRECATED)
|
||||
#define SplitColor(...) FreeRDPSplitColor(__VA_ARGS__)
|
||||
#endif
|
||||
@@ -178,6 +181,7 @@ typedef struct gdi_palette gdiPalette;
|
||||
#if defined(WITH_FREERDP_DEPRECATED)
|
||||
#define GetColor(...) FreeRDPGetColor(__VA_ARGS__)
|
||||
#endif
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API UINT32 FreeRDPGetColor(UINT32 format, BYTE r, BYTE g, BYTE b, BYTE a);
|
||||
|
||||
/***
|
||||
@@ -191,6 +195,7 @@ typedef struct gdi_palette gdiPalette;
|
||||
#if defined(WITH_FREERDP_DEPRECATED)
|
||||
#define GetBitsPerPixel(...) FreeRDPGetBitsPerPixel(__VA_ARGS__)
|
||||
#endif
|
||||
WINPR_ATTR_NODISCARD
|
||||
static inline UINT32 FreeRDPGetBitsPerPixel(UINT32 format)
|
||||
{
|
||||
return (((format) >> 24) & 0x3F);
|
||||
@@ -204,6 +209,7 @@ typedef struct gdi_palette gdiPalette;
|
||||
#if defined(WITH_FREERDP_DEPRECATED)
|
||||
#define ColorHasAlpha(...) FreeRDPColorHasAlpha(__VA_ARGS__)
|
||||
#endif
|
||||
WINPR_ATTR_NODISCARD
|
||||
static inline BOOL FreeRDPColorHasAlpha(UINT32 format)
|
||||
{
|
||||
UINT32 alpha = (((format) >> 12) & 0x0F);
|
||||
@@ -226,6 +232,7 @@ typedef struct gdi_palette gdiPalette;
|
||||
#if defined(WITH_FREERDP_DEPRECATED)
|
||||
#define ReadColor(...) FreeRDPReadColor(__VA_ARGS__)
|
||||
#endif
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API UINT32 FreeRDPReadColor(const BYTE* WINPR_RESTRICT src, UINT32 format);
|
||||
|
||||
/***
|
||||
@@ -243,6 +250,7 @@ typedef struct gdi_palette gdiPalette;
|
||||
#define WriteColorIgnoreAlpha(...) FreeRDPWriteColorIgnoreAlpha(__VA_ARGS__)
|
||||
#endif
|
||||
FREERDP_API BOOL FreeRDPWriteColor(BYTE* WINPR_RESTRICT dst, UINT32 format, UINT32 color);
|
||||
|
||||
FREERDP_API BOOL FreeRDPWriteColorIgnoreAlpha(BYTE* WINPR_RESTRICT dst, UINT32 format,
|
||||
UINT32 color);
|
||||
|
||||
@@ -261,6 +269,7 @@ typedef struct gdi_palette gdiPalette;
|
||||
#if defined(WITH_FREERDP_DEPRECATED)
|
||||
#define ConvertColor(...) FreeRDPConvertColor(__VA_ARGS__)
|
||||
#endif
|
||||
WINPR_ATTR_NODISCARD
|
||||
static inline UINT32 FreeRDPConvertColor(UINT32 color, UINT32 srcFormat, UINT32 dstFormat,
|
||||
const gdiPalette* palette)
|
||||
{
|
||||
@@ -283,6 +292,7 @@ typedef struct gdi_palette gdiPalette;
|
||||
#if defined(WITH_FREERDP_DEPRECATED)
|
||||
#define GetBytesPerPixel(...) FreeRDPGetBytesPerPixel(__VA_ARGS__)
|
||||
#endif
|
||||
WINPR_ATTR_NODISCARD
|
||||
static inline UINT32 FreeRDPGetBytesPerPixel(UINT32 format)
|
||||
{
|
||||
return (FreeRDPGetBitsPerPixel(format) + 7) / 8;
|
||||
@@ -337,6 +347,7 @@ typedef struct gdi_palette gdiPalette;
|
||||
*
|
||||
* @return TRUE if success, FALSE otherwise
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_image_copy_from_monochrome(
|
||||
BYTE* WINPR_RESTRICT pDstData, UINT32 DstFormat, UINT32 nDstStep, UINT32 nXDst,
|
||||
UINT32 nYDst, UINT32 nWidth, UINT32 nHeight, const BYTE* WINPR_RESTRICT pSrcData,
|
||||
@@ -361,6 +372,7 @@ typedef struct gdi_palette gdiPalette;
|
||||
*
|
||||
* @return TRUE if success, FALSE otherwise
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_image_copy_from_icon_data(
|
||||
BYTE* WINPR_RESTRICT pDstData, UINT32 DstFormat, UINT32 nDstStep, UINT32 nXDst,
|
||||
UINT32 nYDst, UINT16 nWidth, UINT16 nHeight, const BYTE* WINPR_RESTRICT bitsColor,
|
||||
@@ -385,6 +397,7 @@ typedef struct gdi_palette gdiPalette;
|
||||
*
|
||||
* @return TRUE if success, FALSE otherwise
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_image_copy_from_pointer_data(
|
||||
BYTE* WINPR_RESTRICT pDstData, UINT32 DstFormat, UINT32 nDstStep, UINT32 nXDst,
|
||||
UINT32 nYDst, UINT32 nWidth, UINT32 nHeight, const BYTE* WINPR_RESTRICT xorMask,
|
||||
@@ -411,6 +424,7 @@ typedef struct gdi_palette gdiPalette;
|
||||
*
|
||||
* @return TRUE if success, FALSE otherwise
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_image_copy(BYTE* pDstData, DWORD DstFormat, UINT32 nDstStep,
|
||||
UINT32 nXDst, UINT32 nYDst, UINT32 nWidth, UINT32 nHeight,
|
||||
const BYTE* pSrcData, DWORD SrcFormat, UINT32 nSrcStep,
|
||||
@@ -421,6 +435,7 @@ typedef struct gdi_palette gdiPalette;
|
||||
* @brief Same as @ref freerdp_image_copy but only for overlapping source and destination
|
||||
* @since version 3.6.0
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_image_copy_overlap(
|
||||
BYTE* pDstData, DWORD DstFormat, UINT32 nDstStep, UINT32 nXDst, UINT32 nYDst, UINT32 nWidth,
|
||||
UINT32 nHeight, const BYTE* pSrcData, DWORD SrcFormat, UINT32 nSrcStep, UINT32 nXSrc,
|
||||
@@ -429,6 +444,7 @@ typedef struct gdi_palette gdiPalette;
|
||||
/*** Same as @ref freerdp_image_copy but only for non overlapping source and destination
|
||||
* @since version 3.6.0
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_image_copy_no_overlap(
|
||||
BYTE* WINPR_RESTRICT pDstData, DWORD DstFormat, UINT32 nDstStep, UINT32 nXDst, UINT32 nYDst,
|
||||
UINT32 nWidth, UINT32 nHeight, const BYTE* WINPR_RESTRICT pSrcData, DWORD SrcFormat,
|
||||
@@ -454,6 +470,7 @@ typedef struct gdi_palette gdiPalette;
|
||||
*
|
||||
* @return TRUE if success, FALSE otherwise
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_image_scale(BYTE* WINPR_RESTRICT pDstData, DWORD DstFormat,
|
||||
UINT32 nDstStep, UINT32 nXDst, UINT32 nYDst,
|
||||
UINT32 nDstWidth, UINT32 nDstHeight,
|
||||
@@ -475,6 +492,7 @@ typedef struct gdi_palette gdiPalette;
|
||||
*
|
||||
* @return TRUE if success, FALSE otherwise
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_image_fill(BYTE* WINPR_RESTRICT pDstData, DWORD DstFormat,
|
||||
UINT32 nDstStep, UINT32 nXDst, UINT32 nYDst, UINT32 nWidth,
|
||||
UINT32 nHeight, UINT32 color);
|
||||
@@ -499,6 +517,7 @@ typedef struct gdi_palette gdiPalette;
|
||||
*
|
||||
* @since version 3.13.0
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_image_fill_ex(BYTE* WINPR_RESTRICT pDstData, DWORD DstFormat,
|
||||
UINT32 nDstStep, UINT32 nXDst, UINT32 nYDst,
|
||||
UINT32 nWidth, UINT32 nHeight, UINT32 color,
|
||||
|
||||
@@ -38,17 +38,23 @@ extern "C"
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API FREERDP_DSP_CONTEXT* freerdp_dsp_context_new(BOOL encoder);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_dsp_supports_format(const AUDIO_FORMAT* WINPR_RESTRICT format,
|
||||
BOOL encode);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_dsp_encode(FREERDP_DSP_CONTEXT* WINPR_RESTRICT context,
|
||||
const AUDIO_FORMAT* WINPR_RESTRICT srcFormat,
|
||||
const BYTE* WINPR_RESTRICT data, size_t length,
|
||||
wStream* WINPR_RESTRICT out);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_dsp_decode(FREERDP_DSP_CONTEXT* WINPR_RESTRICT context,
|
||||
const AUDIO_FORMAT* WINPR_RESTRICT srcFormat,
|
||||
const BYTE* WINPR_RESTRICT data, size_t length,
|
||||
wStream* WINPR_RESTRICT out);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_dsp_context_reset(FREERDP_DSP_CONTEXT* WINPR_RESTRICT context,
|
||||
const AUDIO_FORMAT* WINPR_RESTRICT targetFormat,
|
||||
UINT32 FramesPerPacket);
|
||||
|
||||
@@ -67,10 +67,14 @@ extern "C"
|
||||
|
||||
FREERDP_API void free_h264_metablock(RDPGFX_H264_METABLOCK* meta);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL h264_context_set_option(H264_CONTEXT* h264, H264_CONTEXT_OPTION option,
|
||||
UINT32 value);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API UINT32 h264_context_get_option(H264_CONTEXT* h264, H264_CONTEXT_OPTION option);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API INT32 avc420_compress(H264_CONTEXT* h264, const BYTE* pSrcData, DWORD SrcFormat,
|
||||
UINT32 nSrcStep, UINT32 nSrcWidth, UINT32 nSrcHeight,
|
||||
const RECTANGLE_16* regionRect, BYTE** ppDstData,
|
||||
@@ -87,6 +91,7 @@ extern "C"
|
||||
* @return \b >= 0 for success, \b <0 for an error
|
||||
* @since version 3.6.0
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API INT32 h264_get_yuv_buffer(H264_CONTEXT* h264, UINT32 nSrcStride, UINT32 nSrcWidth,
|
||||
UINT32 nSrcHeight, BYTE* YUVData[3], UINT32 stride[3]);
|
||||
|
||||
@@ -99,13 +104,16 @@ extern "C"
|
||||
* @return \b >= 0 for success, \b <0 for an error
|
||||
* @since version 3.6.0
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API INT32 h264_compress(H264_CONTEXT* h264, BYTE** ppDstData, UINT32* pDstSize);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API INT32 avc420_decompress(H264_CONTEXT* h264, const BYTE* pSrcData, UINT32 SrcSize,
|
||||
BYTE* pDstData, DWORD DstFormat, UINT32 nDstStep,
|
||||
UINT32 nDstWidth, UINT32 nDstHeight,
|
||||
const RECTANGLE_16* regionRects, UINT32 numRegionRect);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API INT32 avc444_compress(H264_CONTEXT* h264, const BYTE* pSrcData, DWORD SrcFormat,
|
||||
UINT32 nSrcStep, UINT32 nSrcWidth, UINT32 nSrcHeight,
|
||||
BYTE version, const RECTANGLE_16* regionRect, BYTE* op,
|
||||
@@ -113,6 +121,7 @@ extern "C"
|
||||
UINT32* pAuxDstSize, RDPGFX_H264_METABLOCK* meta,
|
||||
RDPGFX_H264_METABLOCK* auxMeta);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API INT32 avc444_decompress(H264_CONTEXT* h264, BYTE op,
|
||||
const RECTANGLE_16* regionRects, UINT32 numRegionRect,
|
||||
const BYTE* pSrcData, UINT32 SrcSize,
|
||||
@@ -121,6 +130,7 @@ extern "C"
|
||||
DWORD DstFormat, UINT32 nDstStep, UINT32 nDstWidth,
|
||||
UINT32 nDstHeight, UINT32 codecId);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL h264_context_reset(H264_CONTEXT* h264, UINT32 width, UINT32 height);
|
||||
|
||||
FREERDP_API void h264_context_free(H264_CONTEXT* h264);
|
||||
|
||||
@@ -33,6 +33,7 @@ extern "C"
|
||||
|
||||
typedef struct S_BITMAP_INTERLEAVED_CONTEXT BITMAP_INTERLEAVED_CONTEXT;
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL interleaved_decompress(BITMAP_INTERLEAVED_CONTEXT* WINPR_RESTRICT interleaved,
|
||||
const BYTE* WINPR_RESTRICT pSrcData, UINT32 SrcSize,
|
||||
UINT32 nSrcWidth, UINT32 nSrcHeight, UINT32 bpp,
|
||||
@@ -41,6 +42,7 @@ extern "C"
|
||||
UINT32 nDstWidth, UINT32 nDstHeight,
|
||||
const gdiPalette* WINPR_RESTRICT palette);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL interleaved_compress(BITMAP_INTERLEAVED_CONTEXT* WINPR_RESTRICT interleaved,
|
||||
BYTE* WINPR_RESTRICT pDstData,
|
||||
UINT32* WINPR_RESTRICT pDstSize, UINT32 nWidth,
|
||||
@@ -49,6 +51,7 @@ extern "C"
|
||||
UINT32 nYSrc, const gdiPalette* WINPR_RESTRICT palette,
|
||||
UINT32 bpp);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL
|
||||
bitmap_interleaved_context_reset(BITMAP_INTERLEAVED_CONTEXT* WINPR_RESTRICT interleaved);
|
||||
|
||||
|
||||
@@ -28,6 +28,7 @@ extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL jpeg_decompress(const BYTE* input, BYTE* output, int width, int height,
|
||||
int size, int bpp);
|
||||
|
||||
|
||||
@@ -48,8 +48,8 @@ extern "C"
|
||||
|
||||
#if defined(WITH_FREERDP_DEPRECATED)
|
||||
WINPR_DEPRECATED_VAR("Use nsc_context_set_parameters(NSC_COLOR_FORMAT)",
|
||||
FREERDP_API BOOL nsc_context_set_pixel_format(NSC_CONTEXT* context,
|
||||
UINT32 pixel_format));
|
||||
WINPR_ATTR_NODISCARD FREERDP_API BOOL nsc_context_set_pixel_format(
|
||||
NSC_CONTEXT* context, UINT32 pixel_format));
|
||||
#endif
|
||||
|
||||
/** @brief Set a \ref NSC_PARAMETER for a \ref NSC_CONTEXT
|
||||
@@ -60,6 +60,7 @@ extern "C"
|
||||
*
|
||||
* @return \b TRUE if successful, \b FALSE otherwise
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL nsc_context_set_parameters(NSC_CONTEXT* WINPR_RESTRICT context,
|
||||
NSC_PARAMETER what, UINT32 value);
|
||||
|
||||
@@ -84,6 +85,7 @@ extern "C"
|
||||
*
|
||||
* @return \b TRUE in case of success, \b FALSE for any error. Check WLog for details.
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL nsc_process_message(NSC_CONTEXT* WINPR_RESTRICT context, UINT16 bpp,
|
||||
UINT32 width, UINT32 height, const BYTE* data,
|
||||
UINT32 length, BYTE* WINPR_RESTRICT pDstData,
|
||||
@@ -102,6 +104,7 @@ extern "C"
|
||||
*
|
||||
* @bug Versions < 3.23.0 do not support \b 0 for scanlines and abort.
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL nsc_compose_message(NSC_CONTEXT* WINPR_RESTRICT context,
|
||||
wStream* WINPR_RESTRICT s,
|
||||
const BYTE* WINPR_RESTRICT bmpdata, UINT32 width,
|
||||
@@ -111,11 +114,10 @@ extern "C"
|
||||
|
||||
WINPR_DEPRECATED_VAR(
|
||||
"[since 3.23.0] deprecated, insecure! missing length checks. use nsc_process_message",
|
||||
FREERDP_API BOOL nsc_decompose_message(NSC_CONTEXT* WINPR_RESTRICT context,
|
||||
wStream* WINPR_RESTRICT s,
|
||||
BYTE* WINPR_RESTRICT bmpdata, UINT32 x, UINT32 y,
|
||||
UINT32 width, UINT32 height, UINT32 rowstride,
|
||||
UINT32 format, UINT32 flip));
|
||||
WINPR_ATTR_NODISCARD FREERDP_API BOOL
|
||||
nsc_decompose_message(NSC_CONTEXT* WINPR_RESTRICT context, wStream* WINPR_RESTRICT s,
|
||||
BYTE* WINPR_RESTRICT bmpdata, UINT32 x, UINT32 y, UINT32 width,
|
||||
UINT32 height, UINT32 rowstride, UINT32 format, UINT32 flip));
|
||||
#endif
|
||||
|
||||
/** @brief This function resets a \ref NSC_CONTEXT to a new resolution
|
||||
@@ -126,6 +128,7 @@ extern "C"
|
||||
*
|
||||
* @return \b TRUE if successful, \b FALSE otherwise
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL nsc_context_reset(NSC_CONTEXT* WINPR_RESTRICT context, UINT32 width,
|
||||
UINT32 height);
|
||||
|
||||
|
||||
@@ -41,12 +41,14 @@ extern "C"
|
||||
|
||||
typedef struct S_BITMAP_PLANAR_CONTEXT BITMAP_PLANAR_CONTEXT;
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BYTE* freerdp_bitmap_compress_planar(BITMAP_PLANAR_CONTEXT* WINPR_RESTRICT context,
|
||||
const BYTE* WINPR_RESTRICT data, UINT32 format,
|
||||
UINT32 width, UINT32 height, UINT32 scanline,
|
||||
BYTE* WINPR_RESTRICT dstData,
|
||||
UINT32* WINPR_RESTRICT pDstSize);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_bitmap_planar_context_reset(
|
||||
BITMAP_PLANAR_CONTEXT* WINPR_RESTRICT context, UINT32 width, UINT32 height);
|
||||
|
||||
@@ -64,7 +66,7 @@ extern "C"
|
||||
|
||||
#if !defined(WITHOUT_FREERDP_3x_DEPRECATED)
|
||||
WINPR_DEPRECATED_VAR("use freerdp_bitmap_decompress_planar instead",
|
||||
FREERDP_API BOOL planar_decompress(
|
||||
WINPR_ATTR_NODISCARD FREERDP_API BOOL planar_decompress(
|
||||
BITMAP_PLANAR_CONTEXT* WINPR_RESTRICT planar,
|
||||
const BYTE* WINPR_RESTRICT pSrcData, UINT32 SrcSize, UINT32 nSrcWidth,
|
||||
UINT32 nSrcHeight, BYTE* WINPR_RESTRICT pDstData, UINT32 DstFormat,
|
||||
@@ -72,6 +74,7 @@ extern "C"
|
||||
UINT32 nDstHeight, BOOL vFlip));
|
||||
#endif
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_bitmap_decompress_planar(
|
||||
BITMAP_PLANAR_CONTEXT* WINPR_RESTRICT planar, const BYTE* WINPR_RESTRICT pSrcData,
|
||||
UINT32 SrcSize, UINT32 nSrcWidth, UINT32 nSrcHeight, BYTE* WINPR_RESTRICT pDstData,
|
||||
|
||||
@@ -37,6 +37,7 @@ extern "C"
|
||||
|
||||
typedef struct S_PROGRESSIVE_CONTEXT PROGRESSIVE_CONTEXT;
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API int progressive_compress(PROGRESSIVE_CONTEXT* WINPR_RESTRICT progressive,
|
||||
const BYTE* WINPR_RESTRICT pSrcData, UINT32 SrcSize,
|
||||
UINT32 SrcFormat, UINT32 Width, UINT32 Height,
|
||||
@@ -45,6 +46,7 @@ extern "C"
|
||||
BYTE** WINPR_RESTRICT ppDstData,
|
||||
UINT32* WINPR_RESTRICT pDstSize);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API INT32 progressive_decompress(PROGRESSIVE_CONTEXT* WINPR_RESTRICT progressive,
|
||||
const BYTE* WINPR_RESTRICT pSrcData, UINT32 SrcSize,
|
||||
BYTE* WINPR_RESTRICT pDstData, UINT32 DstFormat,
|
||||
@@ -52,13 +54,16 @@ extern "C"
|
||||
REGION16* WINPR_RESTRICT invalidRegion,
|
||||
UINT16 surfaceId, UINT32 frameId);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API INT32
|
||||
progressive_create_surface_context(PROGRESSIVE_CONTEXT* WINPR_RESTRICT progressive,
|
||||
UINT16 surfaceId, UINT32 width, UINT32 height);
|
||||
|
||||
FREERDP_API int
|
||||
progressive_delete_surface_context(PROGRESSIVE_CONTEXT* WINPR_RESTRICT progressive,
|
||||
UINT16 surfaceId);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL progressive_context_reset(PROGRESSIVE_CONTEXT* WINPR_RESTRICT progressive);
|
||||
|
||||
FREERDP_API void progressive_context_free(PROGRESSIVE_CONTEXT* progressive);
|
||||
@@ -81,6 +86,7 @@ extern "C"
|
||||
* @since version 3.0.0
|
||||
* @return \b TRUE in case of success, \b FALSE for any error
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL progressive_rfx_write_message_progressive_simple(
|
||||
PROGRESSIVE_CONTEXT* WINPR_RESTRICT progressive, wStream* WINPR_RESTRICT s,
|
||||
const RFX_MESSAGE* WINPR_RESTRICT msg);
|
||||
|
||||
@@ -45,6 +45,7 @@ extern "C"
|
||||
* @param r2 second rectangle
|
||||
* @return if the two rectangles are equal
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL rectangles_equal(const RECTANGLE_16* r1, const RECTANGLE_16* r2);
|
||||
|
||||
/** computes if two rectangles intersect
|
||||
@@ -52,6 +53,7 @@ extern "C"
|
||||
* @param r2 second rectangle
|
||||
* @return if the two rectangles intersect
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL rectangles_intersects(const RECTANGLE_16* r1, const RECTANGLE_16* r2);
|
||||
|
||||
/** computes the intersection of two rectangles
|
||||
@@ -60,6 +62,7 @@ extern "C"
|
||||
* @param dst resulting intersection
|
||||
* @return if the two rectangles intersect
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL rectangles_intersection(const RECTANGLE_16* r1, const RECTANGLE_16* r2,
|
||||
RECTANGLE_16* dst);
|
||||
|
||||
@@ -69,6 +72,7 @@ extern "C"
|
||||
FREERDP_API void region16_init(REGION16* region);
|
||||
|
||||
/** @return the number of rectangles of this region16 */
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API int region16_n_rects(const REGION16* region);
|
||||
|
||||
/** returns a pointer to rectangles and the number of rectangles in this region.
|
||||
@@ -77,21 +81,25 @@ extern "C"
|
||||
* @param nbRects if non-NULL returns the number of rectangles
|
||||
* @return a pointer on the rectangles
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API const RECTANGLE_16* region16_rects(const REGION16* region, UINT32* nbRects);
|
||||
|
||||
/** @return the extents rectangle of this region */
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API const RECTANGLE_16* region16_extents(const REGION16* region);
|
||||
|
||||
/** returns if the rectangle is empty
|
||||
* @param rect the rectangle to check
|
||||
* @return if the rectangle is empty
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL rectangle_is_empty(const RECTANGLE_16* rect);
|
||||
|
||||
/** returns if the region is empty
|
||||
* @param region the region to check
|
||||
* @return if the region is empty
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL region16_is_empty(const REGION16* region);
|
||||
|
||||
/** clears the region, the region is reset to a (0,0,0,0) region
|
||||
@@ -109,6 +117,7 @@ extern "C"
|
||||
* @param src source region
|
||||
* @return if the operation was successful (false meaning out-of-memory)
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL region16_copy(REGION16* dst, const REGION16* src);
|
||||
|
||||
/** adds a rectangle in src and stores the resulting region in dst
|
||||
@@ -117,6 +126,7 @@ extern "C"
|
||||
* @param rect the rectangle to add
|
||||
* @return if the operation was successful (false meaning out-of-memory)
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL region16_union_rect(REGION16* dst, const REGION16* src,
|
||||
const RECTANGLE_16* rect);
|
||||
|
||||
@@ -125,6 +135,7 @@ extern "C"
|
||||
* @param arg2 the rectangle
|
||||
* @return if region and rectangle intersect
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL region16_intersects_rect(const REGION16* src, const RECTANGLE_16* arg2);
|
||||
|
||||
/** computes the intersection between a region and a rectangle
|
||||
@@ -133,6 +144,7 @@ extern "C"
|
||||
* @param arg2 the rectangle that intersects
|
||||
* @return if the operation was successful (false meaning out-of-memory)
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL region16_intersect_rect(REGION16* dst, const REGION16* src,
|
||||
const RECTANGLE_16* arg2);
|
||||
|
||||
|
||||
@@ -75,27 +75,38 @@ extern "C"
|
||||
typedef struct S_RFX_MESSAGE RFX_MESSAGE;
|
||||
typedef struct S_RFX_CONTEXT RFX_CONTEXT;
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL rfx_process_message(RFX_CONTEXT* WINPR_RESTRICT context,
|
||||
const BYTE* WINPR_RESTRICT data, UINT32 length,
|
||||
UINT32 left, UINT32 top, BYTE* WINPR_RESTRICT dst,
|
||||
UINT32 dstFormat, UINT32 dstStride, UINT32 dstHeight,
|
||||
REGION16* WINPR_RESTRICT invalidRegion);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API UINT32 rfx_message_get_frame_idx(const RFX_MESSAGE* WINPR_RESTRICT message);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API const UINT32* rfx_message_get_quants(const RFX_MESSAGE* WINPR_RESTRICT message,
|
||||
UINT16* WINPR_RESTRICT numQuantVals);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API const RFX_TILE** rfx_message_get_tiles(const RFX_MESSAGE* WINPR_RESTRICT message,
|
||||
UINT16* WINPR_RESTRICT numTiles);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API UINT16 rfx_message_get_tile_count(const RFX_MESSAGE* WINPR_RESTRICT message);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API const RFX_RECT* rfx_message_get_rects(const RFX_MESSAGE* WINPR_RESTRICT message,
|
||||
UINT16* WINPR_RESTRICT numRects);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API UINT16 rfx_message_get_rect_count(const RFX_MESSAGE* WINPR_RESTRICT message);
|
||||
|
||||
FREERDP_API void rfx_message_free(RFX_CONTEXT* WINPR_RESTRICT context,
|
||||
RFX_MESSAGE* WINPR_RESTRICT message);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL rfx_compose_message(RFX_CONTEXT* WINPR_RESTRICT context,
|
||||
wStream* WINPR_RESTRICT s,
|
||||
const RFX_RECT* WINPR_RESTRICT rects, size_t num_rects,
|
||||
@@ -119,9 +130,11 @@ extern "C"
|
||||
UINT32 height, UINT32 scanline, size_t* WINPR_RESTRICT numMessages,
|
||||
size_t maxDataSize);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API const RFX_MESSAGE*
|
||||
rfx_message_list_get(const RFX_MESSAGE_LIST* WINPR_RESTRICT messages, size_t idx);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL rfx_write_message(RFX_CONTEXT* WINPR_RESTRICT context,
|
||||
wStream* WINPR_RESTRICT s,
|
||||
const RFX_MESSAGE* WINPR_RESTRICT message);
|
||||
@@ -136,9 +149,11 @@ extern "C"
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API RFX_CONTEXT* rfx_context_new(BOOL encoder);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL rfx_context_reset(RFX_CONTEXT* WINPR_RESTRICT context, UINT32 width,
|
||||
UINT32 height);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL rfx_context_set_mode(RFX_CONTEXT* WINPR_RESTRICT context, RLGR_MODE mode);
|
||||
|
||||
/** Getter for RFX mode
|
||||
@@ -148,6 +163,7 @@ extern "C"
|
||||
*
|
||||
* @return The RFX mode that is currently in use
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API RLGR_MODE rfx_context_get_mode(RFX_CONTEXT* WINPR_RESTRICT context);
|
||||
|
||||
FREERDP_API void rfx_context_set_pixel_format(RFX_CONTEXT* WINPR_RESTRICT context,
|
||||
@@ -160,6 +176,7 @@ extern "C"
|
||||
*
|
||||
* @return The RFX pixel format that is currently in use
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API UINT32 rfx_context_get_pixel_format(RFX_CONTEXT* WINPR_RESTRICT context);
|
||||
|
||||
FREERDP_API void rfx_context_set_palette(RFX_CONTEXT* WINPR_RESTRICT context,
|
||||
@@ -172,8 +189,10 @@ extern "C"
|
||||
*
|
||||
* @return The RFX palette that is currently in use or \b NULL
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API const BYTE* rfx_context_get_palette(RFX_CONTEXT* WINPR_RESTRICT context);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API UINT32 rfx_context_get_frame_idx(const RFX_CONTEXT* WINPR_RESTRICT context);
|
||||
|
||||
/** Write a RFX message as simple progressive message to a stream.
|
||||
@@ -185,6 +204,7 @@ extern "C"
|
||||
* @since version 3.0.0
|
||||
* @return \b TRUE in case of success, \b FALSE for any error
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL rfx_write_message_progressive_simple(RFX_CONTEXT* WINPR_RESTRICT rfx,
|
||||
wStream* WINPR_RESTRICT s,
|
||||
const RFX_MESSAGE* WINPR_RESTRICT msg);
|
||||
|
||||
@@ -31,10 +31,13 @@ extern "C"
|
||||
|
||||
typedef struct S_YUV_CONTEXT YUV_CONTEXT;
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL yuv420_context_decode(
|
||||
YUV_CONTEXT* WINPR_RESTRICT context, const BYTE* WINPR_RESTRICT pYUVData[3],
|
||||
const UINT32 iStride[3], UINT32 yuvHeight, DWORD DstFormat, BYTE* WINPR_RESTRICT dest,
|
||||
UINT32 nDstStep, const RECTANGLE_16* WINPR_RESTRICT regionRects, UINT32 numRegionRects);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL yuv420_context_encode(YUV_CONTEXT* WINPR_RESTRICT context,
|
||||
const BYTE* WINPR_RESTRICT rgbData, UINT32 srcStep,
|
||||
UINT32 srcFormat, const UINT32 iStride[3],
|
||||
@@ -42,11 +45,14 @@ extern "C"
|
||||
const RECTANGLE_16* WINPR_RESTRICT regionRects,
|
||||
UINT32 numRegionRects);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL yuv444_context_decode(
|
||||
YUV_CONTEXT* WINPR_RESTRICT context, BYTE type, const BYTE* WINPR_RESTRICT pYUVData[3],
|
||||
const UINT32 iStride[3], UINT32 srcYuvHeight, BYTE* WINPR_RESTRICT pYUVDstData[3],
|
||||
const UINT32 iDstStride[3], DWORD DstFormat, BYTE* WINPR_RESTRICT dest, UINT32 nDstStep,
|
||||
const RECTANGLE_16* WINPR_RESTRICT regionRects, UINT32 numRegionRects);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL yuv444_context_encode(YUV_CONTEXT* WINPR_RESTRICT context, BYTE version,
|
||||
const BYTE* WINPR_RESTRICT pSrcData, UINT32 nSrcStep,
|
||||
UINT32 SrcFormat, const UINT32 iStride[3],
|
||||
@@ -55,6 +61,7 @@ extern "C"
|
||||
const RECTANGLE_16* WINPR_RESTRICT regionRects,
|
||||
UINT32 numRegionRects);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL yuv_context_reset(YUV_CONTEXT* WINPR_RESTRICT context, UINT32 width,
|
||||
UINT32 height);
|
||||
|
||||
|
||||
@@ -39,14 +39,19 @@ extern "C"
|
||||
|
||||
typedef struct S_ZGFX_CONTEXT ZGFX_CONTEXT;
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API int zgfx_decompress(ZGFX_CONTEXT* WINPR_RESTRICT zgfx,
|
||||
const BYTE* WINPR_RESTRICT pSrcData, UINT32 SrcSize,
|
||||
BYTE** WINPR_RESTRICT ppDstData,
|
||||
UINT32* WINPR_RESTRICT pDstSize, UINT32 flags);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API int zgfx_compress(ZGFX_CONTEXT* WINPR_RESTRICT zgfx,
|
||||
const BYTE* WINPR_RESTRICT pSrcData, UINT32 SrcSize,
|
||||
BYTE** WINPR_RESTRICT ppDstData, UINT32* WINPR_RESTRICT pDstSize,
|
||||
UINT32* WINPR_RESTRICT pFlags);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API int zgfx_compress_to_stream(ZGFX_CONTEXT* WINPR_RESTRICT zgfx,
|
||||
wStream* WINPR_RESTRICT sDst,
|
||||
const BYTE* WINPR_RESTRICT pUncompressed,
|
||||
|
||||
@@ -66,8 +66,11 @@ extern "C"
|
||||
};
|
||||
typedef struct rdp_codecs rdpCodecs;
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_client_codecs_prepare(rdpCodecs* codecs, UINT32 flags, UINT32 width,
|
||||
UINT32 height);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_client_codecs_reset(rdpCodecs* codecs, UINT32 flags, UINT32 width,
|
||||
UINT32 height);
|
||||
|
||||
@@ -102,6 +105,7 @@ extern "C"
|
||||
* @return The name of the codecid
|
||||
* @since version 3.18.0
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API const char* freerdp_codec_id_to_str(UINT32 id);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -57,48 +57,104 @@ extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL ber_read_length(wStream* s, size_t* length);
|
||||
|
||||
FREERDP_API size_t ber_write_length(wStream* s, size_t length);
|
||||
|
||||
// NOLINTNEXTLINE(bugprone-reserved-identifier,cert-dcl37-c,cert-dcl51-cpp)
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API size_t _ber_sizeof_length(size_t length);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL ber_read_universal_tag(wStream* s, BYTE tag, BOOL pc);
|
||||
|
||||
FREERDP_API size_t ber_write_universal_tag(wStream* s, BYTE tag, BOOL pc);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL ber_read_application_tag(wStream* s, BYTE tag, size_t* length);
|
||||
|
||||
FREERDP_API void ber_write_application_tag(wStream* s, BYTE tag, size_t length);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL ber_read_enumerated(wStream* s, BYTE* enumerated, BYTE count);
|
||||
|
||||
FREERDP_API void ber_write_enumerated(wStream* s, BYTE enumerated, BYTE count);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL ber_read_contextual_tag(wStream* s, BYTE tag, size_t* length, BOOL pc);
|
||||
|
||||
FREERDP_API size_t ber_write_contextual_tag(wStream* s, BYTE tag, size_t length, BOOL pc);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API size_t ber_sizeof_contextual_tag(size_t length);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL ber_read_sequence_tag(wStream* s, size_t* length);
|
||||
|
||||
FREERDP_API size_t ber_write_sequence_tag(wStream* s, size_t length);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API size_t ber_sizeof_sequence(size_t length);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API size_t ber_sizeof_sequence_tag(size_t length);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL ber_read_bit_string(wStream* s, size_t* length, BYTE* padding);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL ber_read_octet_string_tag(wStream* s, size_t* length);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL ber_read_octet_string(wStream* s, BYTE** content, size_t* length);
|
||||
|
||||
FREERDP_API size_t ber_write_octet_string_tag(wStream* s, size_t length);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API size_t ber_sizeof_octet_string(size_t length);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API size_t ber_sizeof_contextual_octet_string(size_t length);
|
||||
|
||||
FREERDP_API size_t ber_write_char_to_unicode_octet_string(wStream* s, const char* str);
|
||||
|
||||
FREERDP_API size_t ber_write_contextual_char_to_unicode_octet_string(wStream* s, BYTE tag,
|
||||
const char* oct_str);
|
||||
|
||||
FREERDP_API size_t ber_write_octet_string(wStream* s, const BYTE* oct_str, size_t length);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL ber_read_char_from_unicode_octet_string(wStream* s, char** str);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL ber_read_unicode_octet_string(wStream* s, LPWSTR* str);
|
||||
|
||||
FREERDP_API size_t ber_write_contextual_octet_string(wStream* s, BYTE tag, const BYTE* oct_str,
|
||||
size_t length);
|
||||
|
||||
FREERDP_API size_t ber_write_contextual_unicode_octet_string(wStream* s, BYTE tag, LPWSTR str);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL ber_read_BOOL(wStream* s, BOOL* value);
|
||||
|
||||
FREERDP_API void ber_write_BOOL(wStream* s, BOOL value);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL ber_read_integer(wStream* s, UINT32* value);
|
||||
|
||||
FREERDP_API size_t ber_write_integer(wStream* s, UINT32 value);
|
||||
|
||||
FREERDP_API size_t ber_write_contextual_integer(wStream* s, BYTE tag, UINT32 value);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL ber_read_integer_length(wStream* s, size_t* length);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API size_t ber_sizeof_integer(UINT32 value);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API size_t ber_sizeof_contextual_integer(UINT32 value);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -56,6 +56,7 @@ extern "C"
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API rdpCertificate* freerdp_certificate_new_from_der(const BYTE* data, size_t length);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_certificate_is_rsa(const rdpCertificate* certificate);
|
||||
|
||||
WINPR_ATTR_MALLOC(free, 1)
|
||||
@@ -130,6 +131,7 @@ extern "C"
|
||||
FREERDP_API char* freerdp_certificate_get_validity(const rdpCertificate* certificate,
|
||||
BOOL startDate);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API WINPR_MD_TYPE freerdp_certificate_get_signature_alg(const rdpCertificate* cert);
|
||||
|
||||
WINPR_ATTR_MALLOC(free, 1)
|
||||
@@ -144,14 +146,18 @@ extern "C"
|
||||
FREERDP_API void freerdp_certificate_free_dns_names(size_t count, size_t* lengths,
|
||||
char** names);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_certificate_check_eku(const rdpCertificate* certificate, int nid);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_certificate_get_public_key(const rdpCertificate* cert,
|
||||
BYTE** PublicKey, DWORD* PublicKeyLength);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_certificate_verify(const rdpCertificate* cert,
|
||||
const char* certificate_store_path);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_certificate_is_rdp_security_compatible(const rdpCertificate* cert);
|
||||
|
||||
WINPR_ATTR_MALLOC(free, 1)
|
||||
|
||||
@@ -56,19 +56,32 @@ extern "C"
|
||||
FREERDP_API rdpCertificateData*
|
||||
freerdp_certificate_data_new_from_file(const char* hostname, UINT16 port, const char* file);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_certificate_data_equal(const rdpCertificateData* a,
|
||||
const rdpCertificateData* b);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API const char* freerdp_certificate_data_get_hash(const rdpCertificateData* cert);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API const char* freerdp_certificate_data_get_host(const rdpCertificateData* cert);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API UINT16 freerdp_certificate_data_get_port(const rdpCertificateData* cert);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API const char* freerdp_certificate_data_get_pem(const rdpCertificateData* cert);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API const char* freerdp_certificate_data_get_pem_ex(const rdpCertificateData* cert,
|
||||
BOOL withFullChain);
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API const char* freerdp_certificate_data_get_subject(const rdpCertificateData* cert);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API const char* freerdp_certificate_data_get_issuer(const rdpCertificateData* cert);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API const char*
|
||||
freerdp_certificate_data_get_fingerprint(const rdpCertificateData* cert);
|
||||
|
||||
|
||||
@@ -46,6 +46,7 @@ extern "C"
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API rdpCertificateStore* freerdp_certificate_store_new(const rdpSettings* settings);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API freerdp_certificate_store_result freerdp_certificate_store_contains_data(
|
||||
rdpCertificateStore* store, const rdpCertificateData* data);
|
||||
|
||||
@@ -54,13 +55,19 @@ extern "C"
|
||||
FREERDP_API rdpCertificateData*
|
||||
freerdp_certificate_store_load_data(rdpCertificateStore* store, const char* host, UINT16 port);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_certificate_store_save_data(rdpCertificateStore* store,
|
||||
const rdpCertificateData* data);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_certificate_store_remove_data(rdpCertificateStore* store,
|
||||
const rdpCertificateData* data);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API const char*
|
||||
freerdp_certificate_store_get_certs_path(const rdpCertificateStore* store);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API const char*
|
||||
freerdp_certificate_store_get_hosts_path(const rdpCertificateStore* store);
|
||||
|
||||
|
||||
@@ -38,6 +38,7 @@ extern "C"
|
||||
};
|
||||
typedef struct rdp_CertInfo rdpCertInfo;
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API char* crypto_base64_encode(const BYTE* WINPR_RESTRICT data, size_t length);
|
||||
|
||||
/** BASE64 encode data
|
||||
@@ -50,6 +51,7 @@ extern "C"
|
||||
*
|
||||
* @return The encoded BASE64 string or \b NULL if failed
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API char* crypto_base64_encode_ex(const BYTE* WINPR_RESTRICT data, size_t length,
|
||||
BOOL withCrLf);
|
||||
|
||||
@@ -57,13 +59,17 @@ extern "C"
|
||||
BYTE** WINPR_RESTRICT dec_data,
|
||||
size_t* WINPR_RESTRICT res_length);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API char* crypto_base64url_encode(const BYTE* WINPR_RESTRICT data, size_t length);
|
||||
FREERDP_API void crypto_base64url_decode(const char* WINPR_RESTRICT enc_data, size_t length,
|
||||
BYTE** WINPR_RESTRICT dec_data,
|
||||
size_t* WINPR_RESTRICT res_length);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API char* crypto_read_pem(const char* WINPR_RESTRICT filename,
|
||||
size_t* WINPR_RESTRICT plength);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL crypto_write_pem(const char* WINPR_RESTRICT filename,
|
||||
const char* WINPR_RESTRICT pem, size_t length);
|
||||
|
||||
|
||||
@@ -29,29 +29,72 @@ extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL per_read_length(wStream* s, UINT16* length);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL per_write_length(wStream* s, UINT16 length);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL per_read_choice(wStream* s, BYTE* choice);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL per_write_choice(wStream* s, BYTE choice);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL per_read_selection(wStream* s, BYTE* selection);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL per_write_selection(wStream* s, BYTE selection);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL per_read_number_of_sets(wStream* s, BYTE* number);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL per_write_number_of_sets(wStream* s, BYTE number);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL per_read_padding(wStream* s, UINT16 length);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL per_write_padding(wStream* s, UINT16 length);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL per_read_integer(wStream* s, UINT32* integer);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL per_read_integer16(wStream* s, UINT16* integer, UINT16 min);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL per_write_integer(wStream* s, UINT32 integer);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL per_write_integer16(wStream* s, UINT16 integer, UINT16 min);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL per_read_enumerated(wStream* s, BYTE* enumerated, BYTE count);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL per_write_enumerated(wStream* s, BYTE enumerated, BYTE count);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL per_write_object_identifier(wStream* s, const BYTE oid[6]);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL per_read_object_identifier(wStream* s, const BYTE oid[6]);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL per_read_octet_string(wStream* s, const BYTE* oct_str, UINT16 length,
|
||||
UINT16 min);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL per_write_octet_string(wStream* s, const BYTE* oct_str, UINT16 length,
|
||||
UINT16 min);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL per_read_numeric_string(wStream* s, UINT16 min);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL per_write_numeric_string(wStream* s, const BYTE* num_str, UINT16 length,
|
||||
UINT16 min);
|
||||
|
||||
|
||||
@@ -36,6 +36,7 @@ extern "C"
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API rdpPrivateKey* freerdp_key_new(void);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API rdpPrivateKey* freerdp_key_new_from_file(const char* keyfile);
|
||||
|
||||
WINPR_ATTR_MALLOC(freerdp_key_free, 1)
|
||||
@@ -65,8 +66,10 @@ extern "C"
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API rdpPrivateKey* freerdp_key_new_from_pem_enc(const char* pem, const char* password);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_key_is_rsa(const rdpPrivateKey* key);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API size_t freerdp_key_get_bits(const rdpPrivateKey* key);
|
||||
|
||||
/** @brief Create a PEM from a private key
|
||||
@@ -91,6 +94,7 @@ extern "C"
|
||||
* @return \b TRUE for success, \b FALSE otherwise
|
||||
* @since version 3.16.0
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_key_generate(rdpPrivateKey* key, const char* type, size_t count, ...);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -29,6 +29,7 @@ extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_display_send_monitor_layout(rdpContext* context, UINT32 monitorCount,
|
||||
const MONITOR_DEF* monitorDefArray);
|
||||
|
||||
|
||||
@@ -173,9 +173,10 @@ extern "C"
|
||||
|
||||
typedef WINPR_ATTR_NODISCARD UINT(VCAPITYPE* PDVC_PLUGIN_ENTRY)(IDRDYNVC_ENTRY_POINTS*);
|
||||
|
||||
void* get_callback_by_name(const char* name, void** context);
|
||||
void add_callback_by_name(const char* name, void* fkt, void* context);
|
||||
void remove_callback_by_name(const char* name, void* context);
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API void* get_callback_by_name(const char* name, void** context);
|
||||
FREERDP_API void add_callback_by_name(const char* name, void* fkt, void* context);
|
||||
FREERDP_API void remove_callback_by_name(const char* name, void* context);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
@@ -40,320 +40,400 @@ extern "C"
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API SmartcardEmulationContext* Emulate_New(const rdpSettings* settings);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL Emulate_IsConfigured(SmartcardEmulationContext* context);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardEstablishContext(SmartcardEmulationContext* smartcard,
|
||||
DWORD dwScope, LPCVOID pvReserved1,
|
||||
LPCVOID pvReserved2,
|
||||
LPSCARDCONTEXT phContext);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardReleaseContext(SmartcardEmulationContext* smartcard,
|
||||
SCARDCONTEXT hContext);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardIsValidContext(SmartcardEmulationContext* smartcard,
|
||||
SCARDCONTEXT hContext);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardListReaderGroupsA(SmartcardEmulationContext* smartcard,
|
||||
SCARDCONTEXT hContext, LPSTR mszGroups,
|
||||
LPDWORD pcchGroups);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardListReaderGroupsW(SmartcardEmulationContext* smartcard,
|
||||
SCARDCONTEXT hContext, LPWSTR mszGroups,
|
||||
LPDWORD pcchGroups);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardListReadersA(SmartcardEmulationContext* smartcard,
|
||||
SCARDCONTEXT hContext, LPCSTR mszGroups,
|
||||
LPSTR mszReaders, LPDWORD pcchReaders);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardListReadersW(SmartcardEmulationContext* smartcard,
|
||||
SCARDCONTEXT hContext, LPCWSTR mszGroups,
|
||||
LPWSTR mszReaders, LPDWORD pcchReaders);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardListCardsA(SmartcardEmulationContext* smartcard,
|
||||
SCARDCONTEXT hContext, LPCBYTE pbAtr,
|
||||
LPCGUID rgquidInterfaces,
|
||||
DWORD cguidInterfaceCount, CHAR* mszCards,
|
||||
LPDWORD pcchCards);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardListCardsW(SmartcardEmulationContext* smartcard,
|
||||
SCARDCONTEXT hContext, LPCBYTE pbAtr,
|
||||
LPCGUID rgquidInterfaces,
|
||||
DWORD cguidInterfaceCount, WCHAR* mszCards,
|
||||
LPDWORD pcchCards);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardListInterfacesA(SmartcardEmulationContext* smartcard,
|
||||
SCARDCONTEXT hContext, LPCSTR szCard,
|
||||
LPGUID pguidInterfaces,
|
||||
LPDWORD pcguidInterfaces);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardListInterfacesW(SmartcardEmulationContext* smartcard,
|
||||
SCARDCONTEXT hContext, LPCWSTR szCard,
|
||||
LPGUID pguidInterfaces,
|
||||
LPDWORD pcguidInterfaces);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardGetProviderIdA(SmartcardEmulationContext* smartcard,
|
||||
SCARDCONTEXT hContext, LPCSTR szCard,
|
||||
LPGUID pguidProviderId);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardGetProviderIdW(SmartcardEmulationContext* smartcard,
|
||||
SCARDCONTEXT hContext, LPCWSTR szCard,
|
||||
LPGUID pguidProviderId);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardGetCardTypeProviderNameA(
|
||||
SmartcardEmulationContext* smartcard, SCARDCONTEXT hContext, LPCSTR szCardName,
|
||||
DWORD dwProviderId, CHAR* szProvider, LPDWORD pcchProvider);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardGetCardTypeProviderNameW(
|
||||
SmartcardEmulationContext* smartcard, SCARDCONTEXT hContext, LPCWSTR szCardName,
|
||||
DWORD dwProviderId, WCHAR* szProvider, LPDWORD pcchProvider);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardIntroduceReaderGroupA(SmartcardEmulationContext* smartcard,
|
||||
SCARDCONTEXT hContext,
|
||||
LPCSTR szGroupName);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardIntroduceReaderGroupW(SmartcardEmulationContext* smartcard,
|
||||
SCARDCONTEXT hContext,
|
||||
LPCWSTR szGroupName);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardForgetReaderGroupA(SmartcardEmulationContext* smartcard,
|
||||
SCARDCONTEXT hContext,
|
||||
LPCSTR szGroupName);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardForgetReaderGroupW(SmartcardEmulationContext* smartcard,
|
||||
SCARDCONTEXT hContext,
|
||||
LPCWSTR szGroupName);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardIntroduceReaderA(SmartcardEmulationContext* smartcard,
|
||||
SCARDCONTEXT hContext,
|
||||
LPCSTR szReaderName, LPCSTR szDeviceName);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardIntroduceReaderW(SmartcardEmulationContext* smartcard,
|
||||
SCARDCONTEXT hContext,
|
||||
LPCWSTR szReaderName,
|
||||
LPCWSTR szDeviceName);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardForgetReaderA(SmartcardEmulationContext* smartcard,
|
||||
SCARDCONTEXT hContext, LPCSTR szReaderName);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardForgetReaderW(SmartcardEmulationContext* smartcard,
|
||||
SCARDCONTEXT hContext, LPCWSTR szReaderName);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardAddReaderToGroupA(SmartcardEmulationContext* smartcard,
|
||||
SCARDCONTEXT hContext,
|
||||
LPCSTR szReaderName, LPCSTR szGroupName);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardAddReaderToGroupW(SmartcardEmulationContext* smartcard,
|
||||
SCARDCONTEXT hContext,
|
||||
LPCWSTR szReaderName,
|
||||
LPCWSTR szGroupName);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI
|
||||
Emulate_SCardRemoveReaderFromGroupA(SmartcardEmulationContext* smartcard, SCARDCONTEXT hContext,
|
||||
LPCSTR szReaderName, LPCSTR szGroupName);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI
|
||||
Emulate_SCardRemoveReaderFromGroupW(SmartcardEmulationContext* smartcard, SCARDCONTEXT hContext,
|
||||
LPCWSTR szReaderName, LPCWSTR szGroupName);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardIntroduceCardTypeA(
|
||||
SmartcardEmulationContext* smartcard, SCARDCONTEXT hContext, LPCSTR szCardName,
|
||||
LPCGUID pguidPrimaryProvider, LPCGUID rgguidInterfaces, DWORD dwInterfaceCount,
|
||||
LPCBYTE pbAtr, LPCBYTE pbAtrMask, DWORD cbAtrLen);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardIntroduceCardTypeW(
|
||||
SmartcardEmulationContext* smartcard, SCARDCONTEXT hContext, LPCWSTR szCardName,
|
||||
LPCGUID pguidPrimaryProvider, LPCGUID rgguidInterfaces, DWORD dwInterfaceCount,
|
||||
LPCBYTE pbAtr, LPCBYTE pbAtrMask, DWORD cbAtrLen);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardSetCardTypeProviderNameA(
|
||||
SmartcardEmulationContext* smartcard, SCARDCONTEXT hContext, LPCSTR szCardName,
|
||||
DWORD dwProviderId, LPCSTR szProvider);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardSetCardTypeProviderNameW(
|
||||
SmartcardEmulationContext* smartcard, SCARDCONTEXT hContext, LPCWSTR szCardName,
|
||||
DWORD dwProviderId, LPCWSTR szProvider);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardForgetCardTypeA(SmartcardEmulationContext* smartcard,
|
||||
SCARDCONTEXT hContext, LPCSTR szCardName);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardForgetCardTypeW(SmartcardEmulationContext* smartcard,
|
||||
SCARDCONTEXT hContext, LPCWSTR szCardName);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardFreeMemory(SmartcardEmulationContext* smartcard,
|
||||
SCARDCONTEXT hContext, LPVOID pvMem);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API HANDLE WINAPI Emulate_SCardAccessStartedEvent(SmartcardEmulationContext* smartcard);
|
||||
|
||||
FREERDP_API void WINAPI Emulate_SCardReleaseStartedEvent(SmartcardEmulationContext* smartcard);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardLocateCardsA(SmartcardEmulationContext* smartcard,
|
||||
SCARDCONTEXT hContext, LPCSTR mszCards,
|
||||
LPSCARD_READERSTATEA rgReaderStates,
|
||||
DWORD cReaders);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardLocateCardsW(SmartcardEmulationContext* smartcard,
|
||||
SCARDCONTEXT hContext, LPCWSTR mszCards,
|
||||
LPSCARD_READERSTATEW rgReaderStates,
|
||||
DWORD cReaders);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardLocateCardsByATRA(SmartcardEmulationContext* smartcard,
|
||||
SCARDCONTEXT hContext,
|
||||
LPSCARD_ATRMASK rgAtrMasks, DWORD cAtrs,
|
||||
LPSCARD_READERSTATEA rgReaderStates,
|
||||
DWORD cReaders);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardLocateCardsByATRW(SmartcardEmulationContext* smartcard,
|
||||
SCARDCONTEXT hContext,
|
||||
LPSCARD_ATRMASK rgAtrMasks, DWORD cAtrs,
|
||||
LPSCARD_READERSTATEW rgReaderStates,
|
||||
DWORD cReaders);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardGetStatusChangeA(SmartcardEmulationContext* smartcard,
|
||||
SCARDCONTEXT hContext, DWORD dwTimeout,
|
||||
LPSCARD_READERSTATEA rgReaderStates,
|
||||
DWORD cReaders);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardGetStatusChangeW(SmartcardEmulationContext* smartcard,
|
||||
SCARDCONTEXT hContext, DWORD dwTimeout,
|
||||
LPSCARD_READERSTATEW rgReaderStates,
|
||||
DWORD cReaders);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardCancel(SmartcardEmulationContext* smartcard,
|
||||
SCARDCONTEXT hContext);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardConnectA(SmartcardEmulationContext* smartcard,
|
||||
SCARDCONTEXT hContext, LPCSTR szReader,
|
||||
DWORD dwShareMode, DWORD dwPreferredProtocols,
|
||||
LPSCARDHANDLE phCard, LPDWORD pdwActiveProtocol);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardConnectW(SmartcardEmulationContext* smartcard,
|
||||
SCARDCONTEXT hContext, LPCWSTR szReader,
|
||||
DWORD dwShareMode, DWORD dwPreferredProtocols,
|
||||
LPSCARDHANDLE phCard, LPDWORD pdwActiveProtocol);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardReconnect(SmartcardEmulationContext* smartcard,
|
||||
SCARDHANDLE hCard, DWORD dwShareMode,
|
||||
DWORD dwPreferredProtocols,
|
||||
DWORD dwInitialization,
|
||||
LPDWORD pdwActiveProtocol);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardDisconnect(SmartcardEmulationContext* smartcard,
|
||||
SCARDHANDLE hCard, DWORD dwDisposition);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardBeginTransaction(SmartcardEmulationContext* smartcard,
|
||||
SCARDHANDLE hCard);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardEndTransaction(SmartcardEmulationContext* smartcard,
|
||||
SCARDHANDLE hCard, DWORD dwDisposition);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardCancelTransaction(SmartcardEmulationContext* smartcard,
|
||||
SCARDHANDLE hCard);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardState(SmartcardEmulationContext* smartcard,
|
||||
SCARDHANDLE hCard, LPDWORD pdwState,
|
||||
LPDWORD pdwProtocol, LPBYTE pbAtr,
|
||||
LPDWORD pcbAtrLen);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardStatusA(SmartcardEmulationContext* smartcard,
|
||||
SCARDHANDLE hCard, LPSTR mszReaderNames,
|
||||
LPDWORD pcchReaderLen, LPDWORD pdwState,
|
||||
LPDWORD pdwProtocol, LPBYTE pbAtr,
|
||||
LPDWORD pcbAtrLen);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardStatusW(SmartcardEmulationContext* smartcard,
|
||||
SCARDHANDLE hCard, LPWSTR mszReaderNames,
|
||||
LPDWORD pcchReaderLen, LPDWORD pdwState,
|
||||
LPDWORD pdwProtocol, LPBYTE pbAtr,
|
||||
LPDWORD pcbAtrLen);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardTransmit(SmartcardEmulationContext* smartcard,
|
||||
SCARDHANDLE hCard, LPCSCARD_IO_REQUEST pioSendPci,
|
||||
LPCBYTE pbSendBuffer, DWORD cbSendLength,
|
||||
LPSCARD_IO_REQUEST pioRecvPci,
|
||||
LPBYTE pbRecvBuffer, LPDWORD pcbRecvLength);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardGetTransmitCount(SmartcardEmulationContext* smartcard,
|
||||
SCARDHANDLE hCard,
|
||||
LPDWORD pcTransmitCount);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardControl(SmartcardEmulationContext* smartcard,
|
||||
SCARDHANDLE hCard, DWORD dwControlCode,
|
||||
LPCVOID lpInBuffer, DWORD cbInBufferSize,
|
||||
LPVOID lpOutBuffer, DWORD cbOutBufferSize,
|
||||
LPDWORD lpBytesReturned);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardGetAttrib(SmartcardEmulationContext* smartcard,
|
||||
SCARDHANDLE hCard, DWORD dwAttrId, LPBYTE pbAttr,
|
||||
LPDWORD pcbAttrLen);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardSetAttrib(SmartcardEmulationContext* smartcard,
|
||||
SCARDHANDLE hCard, DWORD dwAttrId,
|
||||
LPCBYTE pbAttr, DWORD cbAttrLen);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardUIDlgSelectCardA(SmartcardEmulationContext* smartcard,
|
||||
LPOPENCARDNAMEA_EX pDlgStruc);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardUIDlgSelectCardW(SmartcardEmulationContext* smartcard,
|
||||
LPOPENCARDNAMEW_EX pDlgStruc);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_GetOpenCardNameA(SmartcardEmulationContext* smartcard,
|
||||
LPOPENCARDNAMEA pDlgStruc);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_GetOpenCardNameW(SmartcardEmulationContext* smartcard,
|
||||
LPOPENCARDNAMEW pDlgStruc);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardDlgExtendedError(SmartcardEmulationContext* smartcard);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardReadCacheA(SmartcardEmulationContext* smartcard,
|
||||
SCARDCONTEXT hContext, UUID* CardIdentifier,
|
||||
DWORD FreshnessCounter, LPSTR LookupName,
|
||||
PBYTE Data, DWORD* DataLen);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardReadCacheW(SmartcardEmulationContext* smartcard,
|
||||
SCARDCONTEXT hContext, UUID* CardIdentifier,
|
||||
DWORD FreshnessCounter, LPWSTR LookupName,
|
||||
PBYTE Data, DWORD* DataLen);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardWriteCacheA(SmartcardEmulationContext* smartcard,
|
||||
SCARDCONTEXT hContext, UUID* CardIdentifier,
|
||||
DWORD FreshnessCounter, LPSTR LookupName,
|
||||
PBYTE Data, DWORD DataLen);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardWriteCacheW(SmartcardEmulationContext* smartcard,
|
||||
SCARDCONTEXT hContext, UUID* CardIdentifier,
|
||||
DWORD FreshnessCounter, LPWSTR LookupName,
|
||||
PBYTE Data, DWORD DataLen);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardGetReaderIconA(SmartcardEmulationContext* smartcard,
|
||||
SCARDCONTEXT hContext, LPCSTR szReaderName,
|
||||
LPBYTE pbIcon, LPDWORD pcbIcon);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardGetReaderIconW(SmartcardEmulationContext* smartcard,
|
||||
SCARDCONTEXT hContext, LPCWSTR szReaderName,
|
||||
LPBYTE pbIcon, LPDWORD pcbIcon);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardGetDeviceTypeIdA(SmartcardEmulationContext* smartcard,
|
||||
SCARDCONTEXT hContext,
|
||||
LPCSTR szReaderName,
|
||||
LPDWORD pdwDeviceTypeId);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardGetDeviceTypeIdW(SmartcardEmulationContext* smartcard,
|
||||
SCARDCONTEXT hContext,
|
||||
LPCWSTR szReaderName,
|
||||
LPDWORD pdwDeviceTypeId);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardGetReaderDeviceInstanceIdA(
|
||||
SmartcardEmulationContext* smartcard, SCARDCONTEXT hContext, LPCSTR szReaderName,
|
||||
LPSTR szDeviceInstanceId, LPDWORD pcchDeviceInstanceId);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardGetReaderDeviceInstanceIdW(
|
||||
SmartcardEmulationContext* smartcard, SCARDCONTEXT hContext, LPCWSTR szReaderName,
|
||||
LPWSTR szDeviceInstanceId, LPDWORD pcchDeviceInstanceId);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardListReadersWithDeviceInstanceIdA(
|
||||
SmartcardEmulationContext* smartcard, SCARDCONTEXT hContext, LPCSTR szDeviceInstanceId,
|
||||
LPSTR mszReaders, LPDWORD pcchReaders);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardListReadersWithDeviceInstanceIdW(
|
||||
SmartcardEmulationContext* smartcard, SCARDCONTEXT hContext, LPCWSTR szDeviceInstanceId,
|
||||
LPWSTR mszReaders, LPDWORD pcchReaders);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG WINAPI Emulate_SCardAudit(SmartcardEmulationContext* smartcard,
|
||||
SCARDCONTEXT hContext, DWORD dwEvent);
|
||||
|
||||
|
||||
@@ -173,8 +173,13 @@ extern "C"
|
||||
#define ERRINFO_SUCCESS 0x00000000
|
||||
#define ERRINFO_NONE 0xFFFFFFFF
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API const char* freerdp_get_error_info_string(UINT32 code);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API const char* freerdp_get_error_info_name(UINT32 code);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API const char* freerdp_get_error_info_category(UINT32 code);
|
||||
|
||||
/**
|
||||
@@ -199,8 +204,13 @@ extern "C"
|
||||
#define ERRBASE_SUCCESS ERRINFO_SUCCESS
|
||||
#define ERRBASE_NONE ERRINFO_NONE
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API const char* freerdp_get_error_base_string(UINT32 code);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API const char* freerdp_get_error_base_name(UINT32 code);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API const char* freerdp_get_error_base_category(UINT32 code);
|
||||
|
||||
#define FREERDP_ERROR_SUCCESS ERRINFO_SUCCESS
|
||||
@@ -275,8 +285,13 @@ extern "C"
|
||||
#define ERRCONNECT_SUCCESS ERRINFO_SUCCESS
|
||||
#define ERRCONNECT_NONE ERRINFO_NONE
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API const char* freerdp_get_error_connect_string(UINT32 code);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API const char* freerdp_get_error_connect_name(UINT32 code);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API const char* freerdp_get_error_connect_category(UINT32 code);
|
||||
|
||||
#define FREERDP_ERROR_CONNECT_CLASS (FREERDP_ERROR_BASE + 2)
|
||||
|
||||
@@ -617,11 +617,16 @@ owned by rdpRdp */
|
||||
|
||||
FREERDP_API void freerdp_context_free(freerdp* instance);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_context_new(freerdp* instance);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_context_new_ex(freerdp* instance, rdpSettings* settings);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_context_reset(freerdp* instance);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_connect(freerdp* instance);
|
||||
|
||||
#if !defined(WITHOUT_FREERDP_3x_DEPRECATED)
|
||||
@@ -630,14 +635,19 @@ owned by rdpRdp */
|
||||
#endif
|
||||
|
||||
FREERDP_API BOOL freerdp_abort_connect_context(rdpContext* context);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API HANDLE freerdp_abort_event(rdpContext* context);
|
||||
|
||||
#if !defined(WITHOUT_FREERDP_3x_DEPRECATED)
|
||||
WINPR_DEPRECATED_VAR("use freerdp_shall_disconnect_context instead",
|
||||
FREERDP_API BOOL freerdp_shall_disconnect(const freerdp* instance));
|
||||
WINPR_ATTR_NODISCARD FREERDP_API BOOL
|
||||
freerdp_shall_disconnect(const freerdp* instance));
|
||||
#endif
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_shall_disconnect_context(const rdpContext* context);
|
||||
|
||||
FREERDP_API BOOL freerdp_disconnect(freerdp* instance);
|
||||
|
||||
/** @brief stringify disconnect reason of type Disconnect_Ultimatum
|
||||
@@ -648,46 +658,77 @@ owned by rdpRdp */
|
||||
*
|
||||
* @since version 3.13.0
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API const char* freerdp_disconnect_reason_string(int reason);
|
||||
|
||||
#if !defined(WITHOUT_FREERDP_3x_DEPRECATED)
|
||||
WINPR_DEPRECATED_VAR("use freerdp_disconnect_before_reconnect_context instead",
|
||||
FREERDP_API BOOL freerdp_disconnect_before_reconnect(freerdp* instance));
|
||||
WINPR_ATTR_NODISCARD FREERDP_API BOOL
|
||||
freerdp_disconnect_before_reconnect(freerdp* instance));
|
||||
#endif
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_disconnect_before_reconnect_context(rdpContext* context);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_reconnect(freerdp* instance);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API UINT freerdp_channels_attach(freerdp* instance);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API UINT freerdp_channels_detach(freerdp* instance);
|
||||
|
||||
#if defined(WITH_FREERDP_DEPRECATED)
|
||||
WINPR_DEPRECATED_VAR("Use freerdp_get_event_handles",
|
||||
FREERDP_API BOOL freerdp_get_fds(freerdp* instance, void** rfds,
|
||||
int* rcount, void** wfds, int* wcount));
|
||||
WINPR_ATTR_NODISCARD FREERDP_API BOOL
|
||||
freerdp_get_fds(freerdp* instance, void** rfds, int* rcount,
|
||||
void** wfds, int* wcount));
|
||||
#endif
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_check_fds(freerdp* instance);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API DWORD freerdp_get_event_handles(rdpContext* context, HANDLE* events, DWORD count);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_check_event_handles(rdpContext* context);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API wMessageQueue* freerdp_get_message_queue(freerdp* instance, DWORD id);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API HANDLE freerdp_get_message_queue_event_handle(freerdp* instance, DWORD id);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API int freerdp_message_queue_process_message(freerdp* instance, DWORD id,
|
||||
wMessage* message);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API int freerdp_message_queue_process_pending_messages(freerdp* instance, DWORD id);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API UINT32 freerdp_error_info(const freerdp* instance);
|
||||
|
||||
FREERDP_API void freerdp_set_error_info(rdpRdp* rdp, UINT32 error);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_send_error_info(rdpRdp* rdp);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_get_stats(const rdpRdp* rdp, UINT64* inBytes, UINT64* outBytes,
|
||||
UINT64* inPackets, UINT64* outPackets);
|
||||
|
||||
FREERDP_API void freerdp_get_version(int* major, int* minor, int* revision);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API const char* freerdp_get_version_string(void);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API const char* freerdp_get_build_revision(void);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API const char* freerdp_get_build_config(void);
|
||||
|
||||
FREERDP_API void freerdp_free(freerdp* instance);
|
||||
@@ -696,14 +737,23 @@ owned by rdpRdp */
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API freerdp* freerdp_new(void);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_focus_required(freerdp* instance);
|
||||
FREERDP_API void freerdp_set_focus(freerdp* instance);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API int freerdp_get_disconnect_ultimatum(const rdpContext* context);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API UINT32 freerdp_get_last_error(const rdpContext* context);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API const char* freerdp_get_last_error_name(UINT32 error);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API const char* freerdp_get_last_error_string(UINT32 error);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API const char* freerdp_get_last_error_category(UINT32 error);
|
||||
|
||||
#define freerdp_set_last_error(context, lastError) \
|
||||
@@ -721,19 +771,30 @@ owned by rdpRdp */
|
||||
FREERDP_API void freerdp_set_last_error_ex(rdpContext* context, UINT32 lastError,
|
||||
const char* fkt, const char* file, int line);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API const char* freerdp_get_logon_error_info_type(UINT32 type);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API const char* freerdp_get_logon_error_info_type_ex(UINT32 type, char* buffer,
|
||||
size_t size);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API const char* freerdp_get_logon_error_info_data(UINT32 data);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API const char* freerdp_get_logon_error_info_data_ex(UINT32 data, char* buffer,
|
||||
size_t size);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API ULONG freerdp_get_transport_sent(const rdpContext* context, BOOL resetCount);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_nla_impersonate(rdpContext* context);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_nla_revert_to_self(rdpContext* context);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API UINT32 freerdp_get_nla_sspi_error(const rdpContext* context);
|
||||
|
||||
/** Encrypts the provided buffer using the NLA's GSSAPI context
|
||||
@@ -744,6 +805,7 @@ owned by rdpRdp */
|
||||
* \returns if the operation completed successfully
|
||||
* \since version 3.9.0
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_nla_encrypt(rdpContext* context, const SecBuffer* inBuffer,
|
||||
SecBuffer* outBuffer);
|
||||
|
||||
@@ -755,6 +817,7 @@ owned by rdpRdp */
|
||||
* \returns if the operation completed successfully
|
||||
* \since version 3.9.0
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_nla_decrypt(rdpContext* context, const SecBuffer* inBuffer,
|
||||
SecBuffer* outBuffer);
|
||||
|
||||
@@ -767,6 +830,7 @@ owned by rdpRdp */
|
||||
* \returns a SECURITY_STATUS indicating if the operation completed successfully
|
||||
* \since version 3.9.0
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API SECURITY_STATUS freerdp_nla_QueryContextAttributes(rdpContext* context,
|
||||
DWORD ulAttr, PVOID pBuffer);
|
||||
|
||||
@@ -779,15 +843,26 @@ owned by rdpRdp */
|
||||
*
|
||||
* Supported buffers are ones retrieved from SECPKG_ATTR_PACKAGE_INFO.
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API SECURITY_STATUS freerdp_nla_FreeContextBuffer(rdpContext* context, PVOID pBuffer);
|
||||
|
||||
FREERDP_API void clearChannelError(rdpContext* context);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API HANDLE getChannelErrorEventHandle(rdpContext* context);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API UINT getChannelError(const rdpContext* context);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API const char* getChannelErrorDescription(const rdpContext* context);
|
||||
|
||||
FREERDP_API void setChannelError(rdpContext* context, UINT errorNum, const char* format, ...);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL checkChannelErrorEvent(rdpContext* context);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API const char* freerdp_nego_get_routing_token(const rdpContext* context,
|
||||
DWORD* length);
|
||||
|
||||
@@ -797,6 +872,7 @@ owned by rdpRdp */
|
||||
*
|
||||
* \return A \b CONNECTION_STATE the context is currently in
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API CONNECTION_STATE freerdp_get_state(const rdpContext* context);
|
||||
|
||||
/** \brief returns a string representation of a \b CONNECTION_STATE
|
||||
@@ -805,6 +881,7 @@ owned by rdpRdp */
|
||||
*
|
||||
* \return The string representation of the \b CONNECTION_STATE
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API const char* freerdp_state_string(CONNECTION_STATE state);
|
||||
|
||||
/** \brief Queries if the current \b CONNECTION_STATE of the context is an active connection.
|
||||
@@ -816,11 +893,16 @@ owned by rdpRdp */
|
||||
*
|
||||
* \return \b TRUE if the connection state indicates an active connection, \b FALSE otherwise
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_is_active_state(const rdpContext* context);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_channels_from_mcs(rdpSettings* settings, const rdpContext* context);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_is_valid_mcs_create_request(const BYTE* data, size_t size);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_is_valid_mcs_create_response(const BYTE* data, size_t size);
|
||||
|
||||
/** \brief Persist the current credentials (gateway, target server, ...)
|
||||
@@ -835,6 +917,7 @@ owned by rdpRdp */
|
||||
* state, ...)
|
||||
* \since version 3.12.0
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_persist_credentials(rdpContext* context);
|
||||
|
||||
/** @brief set a new function to be called when an access token is requested.
|
||||
@@ -845,6 +928,7 @@ owned by rdpRdp */
|
||||
* @return \b TRUE for success, \b FALSE otherwise
|
||||
* @since version 3.16.0
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_set_common_access_token(rdpContext* context,
|
||||
pGetCommonAccessToken GetCommonAccessToken);
|
||||
|
||||
@@ -854,6 +938,7 @@ owned by rdpRdp */
|
||||
* @return The current function pointer set or \b NULL
|
||||
* @since version 3.16.0
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API pGetCommonAccessToken freerdp_get_common_access_token(const rdpContext* context);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -30,16 +30,26 @@ extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API UINT32 gdi_GetPixel(HGDI_DC hdc, UINT32 nXPos, UINT32 nYPos);
|
||||
|
||||
FREERDP_API UINT32 gdi_SetPixel(HGDI_DC hdc, UINT32 X, UINT32 Y, UINT32 crColor);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BYTE* gdi_GetPointer(HGDI_BITMAP hBmp, UINT32 X, UINT32 Y);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API HGDI_BITMAP gdi_CreateBitmap(UINT32 nWidth, UINT32 nHeight, UINT32 format,
|
||||
BYTE* data);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API HGDI_BITMAP gdi_CreateBitmapEx(UINT32 nWidth, UINT32 nHeight, UINT32 format,
|
||||
UINT32 stride, BYTE* data, void (*fkt_free)(void*));
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API HGDI_BITMAP gdi_CreateCompatibleBitmap(HGDI_DC hdc, UINT32 nWidth, UINT32 nHeight);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL gdi_BitBlt(HGDI_DC hdcDest, INT32 nXDest, INT32 nYDest, INT32 nWidth,
|
||||
INT32 nHeight, HGDI_DC hdcSrc, INT32 nXSrc, INT32 nYSrc, DWORD rop,
|
||||
const gdiPalette* palette);
|
||||
|
||||
@@ -30,11 +30,19 @@ extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API HGDI_DC gdi_GetDC(void);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API HGDI_DC gdi_CreateDC(UINT32 format);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API HGDI_DC gdi_CreateCompatibleDC(HGDI_DC hdc);
|
||||
|
||||
FREERDP_API HGDIOBJECT gdi_SelectObject(HGDI_DC hdc, HGDIOBJECT hgdiobject);
|
||||
|
||||
FREERDP_API BOOL gdi_DeleteObject(HGDIOBJECT hgdiobject);
|
||||
|
||||
FREERDP_API BOOL gdi_DeleteDC(HGDI_DC hdc);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -523,20 +523,37 @@ extern "C"
|
||||
};
|
||||
typedef struct rdp_gdi rdpGdi;
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API DWORD gdi_rop3_code(BYTE code);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API const char* gdi_rop3_code_string(BYTE code);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API const char* gdi_rop3_string(DWORD rop);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API UINT32 gdi_get_pixel_format(UINT32 bitsPerPixel);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL gdi_decode_color(rdpGdi* gdi, UINT32 srcColor, UINT32* color, UINT32* format);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL gdi_resize(rdpGdi* gdi, UINT32 width, UINT32 height);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL gdi_resize_ex(rdpGdi* gdi, UINT32 width, UINT32 height, UINT32 stride,
|
||||
UINT32 format, BYTE* buffer, void (*pfree)(void*));
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL gdi_init(freerdp* instance, UINT32 format);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL gdi_init_ex(freerdp* instance, UINT32 format, UINT32 stride, BYTE* buffer,
|
||||
void (*pfree)(void*));
|
||||
FREERDP_API void gdi_free(freerdp* instance);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL gdi_send_suppress_output(rdpGdi* gdi, BOOL suppress);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -64,6 +64,7 @@ extern "C"
|
||||
typedef struct gdi_gfx_cache_entry gdiGfxCacheEntry;
|
||||
|
||||
FREERDP_API BOOL gdi_graphics_pipeline_init(rdpGdi* gdi, RdpgfxClientContext* gfx);
|
||||
|
||||
FREERDP_API BOOL gdi_graphics_pipeline_init_ex(rdpGdi* gdi, RdpgfxClientContext* gfx,
|
||||
pcRdpgfxMapWindowForSurface map,
|
||||
pcRdpgfxUnmapWindowForSurface unmap,
|
||||
|
||||
@@ -28,8 +28,11 @@ extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API HGDI_PEN gdi_CreatePen(UINT32 fnPenStyle, UINT32 nWidth, UINT32 crColor,
|
||||
UINT32 format, const gdiPalette* palette);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API UINT32 gdi_GetPenColor(HGDI_PEN pen, UINT32 format);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -30,31 +30,66 @@ extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API HGDI_RGN gdi_CreateRectRgn(INT32 nLeftRect, INT32 nTopRect, INT32 nRightRect,
|
||||
INT32 nBottomRect);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API GDI_RECT* gdi_CreateRect(INT32 xLeft, INT32 yTop, INT32 xRight, INT32 yBottom);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL gdi_RectToRgn(const GDI_RECT* rect, HGDI_RGN rgn);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL gdi_CRectToRgn(INT32 left, INT32 top, INT32 right, INT32 bottom, HGDI_RGN rgn);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL gdi_RectToCRgn(const GDI_RECT* rect, INT32* x, INT32* y, INT32* w, INT32* h);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL gdi_CRectToCRgn(INT32 left, INT32 top, INT32 right, INT32 bottom, INT32* x,
|
||||
INT32* y, INT32* w, INT32* h);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL gdi_RgnToRect(const GDI_RGN* rgn, GDI_RECT* rect);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL gdi_CRgnToRect(INT64 x, INT64 y, INT32 w, INT32 h, GDI_RECT* rect);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL gdi_RgnToCRect(const GDI_RGN* rgn, INT32* left, INT32* top, INT32* right,
|
||||
INT32* bottom);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL gdi_CRgnToCRect(INT32 x, INT32 y, INT32 w, INT32 h, INT32* left, INT32* top,
|
||||
INT32* right, INT32* bottom);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL gdi_CopyOverlap(INT32 x, INT32 y, INT32 width, INT32 height, INT32 srcx,
|
||||
INT32 srcy);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL gdi_SetRect(GDI_RECT* rc, INT32 xLeft, INT32 yTop, INT32 xRight,
|
||||
INT32 yBottom);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL gdi_SetRgn(HGDI_RGN hRgn, INT32 nXLeft, INT32 nYLeft, INT32 nWidth,
|
||||
INT32 nHeight);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL gdi_SetRectRgn(HGDI_RGN hRgn, INT32 nLeftRect, INT32 nTopRect,
|
||||
INT32 nRightRect, INT32 nBottomRect);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL gdi_EqualRgn(const GDI_RGN* hSrcRgn1, const GDI_RGN* hSrcRgn2);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL gdi_CopyRect(GDI_RECT* dst, const GDI_RECT* src);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL gdi_PtInRect(const GDI_RECT* rc, INT32 x, INT32 y);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL gdi_InvalidateRegion(HGDI_DC hdc, INT32 x, INT32 y, INT32 w, INT32 h);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -28,12 +28,21 @@ extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL gdi_Ellipse(HGDI_DC hdc, int nLeftRect, int nTopRect, int nRightRect,
|
||||
int nBottomRect);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL gdi_FillRect(HGDI_DC hdc, const GDI_RECT* rect, HGDI_BRUSH hbr);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL gdi_Polygon(HGDI_DC hdc, GDI_POINT* lpPoints, int nCount);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL gdi_PolyPolygon(HGDI_DC hdc, GDI_POINT* lpPoints, int* lpPolyCounts,
|
||||
int nCount);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL gdi_Rectangle(HGDI_DC hdc, INT32 nXDst, INT32 nYDst, INT32 nWidth,
|
||||
INT32 nHeight);
|
||||
|
||||
|
||||
@@ -37,6 +37,7 @@ extern "C"
|
||||
WINPR_ATTR_NODISCARD pServerHeartbeat ServerHeartbeat;
|
||||
};
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_heartbeat_send_heartbeat_pdu(freerdp_peer* peer, BYTE period,
|
||||
BYTE count1, BYTE count2);
|
||||
|
||||
|
||||
@@ -104,19 +104,28 @@ extern "C"
|
||||
};
|
||||
|
||||
FREERDP_API BOOL freerdp_input_send_synchronize_event(rdpInput* input, UINT32 flags);
|
||||
|
||||
FREERDP_API BOOL freerdp_input_send_keyboard_event(rdpInput* input, UINT16 flags, UINT8 code);
|
||||
|
||||
FREERDP_API BOOL freerdp_input_send_keyboard_event_ex(rdpInput* input, BOOL down, BOOL repeat,
|
||||
UINT32 rdp_scancode);
|
||||
|
||||
FREERDP_API BOOL freerdp_input_send_keyboard_pause_event(rdpInput* input);
|
||||
|
||||
FREERDP_API BOOL freerdp_input_send_unicode_keyboard_event(rdpInput* input, UINT16 flags,
|
||||
UINT16 code);
|
||||
|
||||
FREERDP_API BOOL freerdp_input_send_mouse_event(rdpInput* input, UINT16 flags, UINT16 x,
|
||||
UINT16 y);
|
||||
|
||||
FREERDP_API BOOL freerdp_input_send_rel_mouse_event(rdpInput* input, UINT16 flags, INT16 xDelta,
|
||||
INT16 yDelta);
|
||||
|
||||
FREERDP_API BOOL freerdp_input_send_qoe_timestamp(rdpInput* input, UINT32 timestampMS);
|
||||
|
||||
FREERDP_API BOOL freerdp_input_send_extended_mouse_event(rdpInput* input, UINT16 flags,
|
||||
UINT16 x, UINT16 y);
|
||||
|
||||
FREERDP_API BOOL freerdp_input_send_focus_in_event(rdpInput* input, UINT16 toggleStates);
|
||||
|
||||
/** @brief stringify \b enum KBD_SYNC_FLAGS
|
||||
@@ -128,6 +137,7 @@ extern "C"
|
||||
* @return A pointer to \ref buffer or \b NULL in case of failure
|
||||
* @since version 3.19.0
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API const char* freerdp_input_keyboard_flags_string(uint32_t flags, char* buffer,
|
||||
size_t len);
|
||||
|
||||
|
||||
@@ -51,8 +51,13 @@ extern "C"
|
||||
|
||||
typedef struct rdp_license rdpLicense;
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API rdpLicense* license_get(rdpContext* context);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LICENSE_STATE license_get_state(const rdpLicense* license);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LICENSE_TYPE license_get_type(const rdpLicense* license);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -253,6 +253,7 @@ FREERDP_API RDP_KEYBOARD_LAYOUT* freerdp_keyboard_get_layouts(DWORD types, size_
|
||||
* @return The string representation of the layout or the string \b "unknown" in case there is
|
||||
* none.
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API const char* freerdp_keyboard_get_layout_name_from_id(DWORD keyboardLayoutId);
|
||||
|
||||
/** @brief Get a keyboard layout id from a string
|
||||
@@ -261,23 +262,26 @@ FREERDP_API const char* freerdp_keyboard_get_layout_name_from_id(DWORD keyboardL
|
||||
*
|
||||
* @return The keyboard layout id or \b 0 in case of no mapping
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API DWORD freerdp_keyboard_get_layout_id_from_name(const char* name);
|
||||
|
||||
#if !defined(WITHOUT_FREERDP_3x_DEPRECATED)
|
||||
WINPR_DEPRECATED_VAR("since 3.11.0, implement yourself in client",
|
||||
FREERDP_API DWORD freerdp_keyboard_init(DWORD keyboardLayoutId));
|
||||
WINPR_ATTR_NODISCARD FREERDP_API DWORD
|
||||
freerdp_keyboard_init(DWORD keyboardLayoutId));
|
||||
|
||||
WINPR_DEPRECATED_VAR("since 3.11.0, implement yourself in client",
|
||||
FREERDP_API DWORD freerdp_keyboard_init_ex(DWORD keyboardLayoutId,
|
||||
const char* keyboardRemappingList));
|
||||
WINPR_ATTR_NODISCARD FREERDP_API DWORD freerdp_keyboard_init_ex(
|
||||
DWORD keyboardLayoutId, const char* keyboardRemappingList));
|
||||
|
||||
WINPR_DEPRECATED_VAR("since 3.11.0, implement yourself in client",
|
||||
FREERDP_API DWORD
|
||||
WINPR_ATTR_NODISCARD FREERDP_API DWORD
|
||||
freerdp_keyboard_get_rdp_scancode_from_x11_keycode(DWORD keycode));
|
||||
|
||||
WINPR_DEPRECATED_VAR("since 3.11.0, implement yourself in client",
|
||||
FREERDP_API DWORD freerdp_keyboard_get_x11_keycode_from_rdp_scancode(
|
||||
DWORD scancode, BOOL extended));
|
||||
WINPR_ATTR_NODISCARD FREERDP_API DWORD
|
||||
freerdp_keyboard_get_x11_keycode_from_rdp_scancode(DWORD scancode,
|
||||
BOOL extended));
|
||||
#endif
|
||||
|
||||
/** @brief deallocate a \b FREERDP_REMAP_TABLE
|
||||
@@ -312,6 +316,7 @@ FREERDP_API FREERDP_REMAP_TABLE* freerdp_keyboard_remap_string_to_list(const cha
|
||||
*
|
||||
* @since version 3.11.0
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API DWORD freerdp_keyboard_remap_key(const FREERDP_REMAP_TABLE* remap_table,
|
||||
DWORD rdpScanCode);
|
||||
|
||||
@@ -348,6 +353,7 @@ FREERDP_API RDP_CODEPAGE* freerdp_keyboard_get_matching_codepages(DWORD column,
|
||||
*
|
||||
* @return A string describing the RDP scancode or \b NULL if it does not exist
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API const char* freerdp_keyboard_scancode_name(DWORD scancode);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -258,8 +258,12 @@ extern "C"
|
||||
DWORD code; /* 32-bit unsigned integer corresponding to the locale */
|
||||
} SYSTEM_LOCALE;
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API DWORD freerdp_get_system_locale_id(void);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API const char* freerdp_get_system_locale_name_from_id(DWORD localeId);
|
||||
|
||||
FREERDP_API int freerdp_detect_keyboard_layout_from_system_locale(DWORD* keyboardLayoutId);
|
||||
|
||||
/** @brief Try to guess the keyboard layout ID from a given locale string (e.g. de_AT)
|
||||
@@ -269,6 +273,7 @@ extern "C"
|
||||
* @return \b negative in case of an error, or a keyboard layout id otherwise
|
||||
* @since version 3.14.0
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API int64_t freerdp_detect_keyboard_layout_from_locale(const char* localestr);
|
||||
|
||||
/**
|
||||
@@ -277,6 +282,7 @@ extern "C"
|
||||
* @return A pointer to @ref SYSTEM_LOCALE or \b NULL in case none found
|
||||
* @since version 3.6.0
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API const SYSTEM_LOCALE* freerdp_get_system_locale_list(size_t* count);
|
||||
|
||||
/**
|
||||
@@ -286,6 +292,7 @@ extern "C"
|
||||
* @return A locale index >= 0 in case of success, <0 for failure
|
||||
* @since version 3.6.0
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API INT64 freerdp_get_locale_id_from_string(const char* locale);
|
||||
|
||||
/**
|
||||
@@ -294,6 +301,7 @@ extern "C"
|
||||
* @return The @ref keyboard-identifiers to use
|
||||
* @since version 3.6.0
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API DWORD freerdp_get_keyboard_default_layout_for_locale(DWORD locale);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -37,6 +37,7 @@ extern "C"
|
||||
};
|
||||
typedef struct rdp_metrics rdpMetrics;
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API double metrics_write_bytes(rdpMetrics* metrics, UINT32 UncompressedBytes,
|
||||
UINT32 CompressedBytes);
|
||||
|
||||
|
||||
@@ -221,10 +221,16 @@ extern "C"
|
||||
|
||||
FREERDP_API void freerdp_peer_context_free(freerdp_peer* client);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_peer_context_new(freerdp_peer* client);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_peer_context_new_ex(freerdp_peer* client, const rdpSettings* settings);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API const char* freerdp_peer_os_major_type_string(freerdp_peer* client);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API const char* freerdp_peer_os_minor_type_string(freerdp_peer* client);
|
||||
|
||||
FREERDP_API void freerdp_peer_free(freerdp_peer* client);
|
||||
@@ -233,6 +239,7 @@ extern "C"
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API freerdp_peer* freerdp_peer_new(int sockfd);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_peer_set_local_and_hostname(freerdp_peer* client,
|
||||
const struct sockaddr_storage* peer_addr);
|
||||
|
||||
|
||||
@@ -312,41 +312,55 @@ typedef enum
|
||||
PRIMITIVES_AUTODETECT /** detect the best routines */
|
||||
} primitive_hints;
|
||||
|
||||
FREERDP_API primitives_t* primitives_get(void);
|
||||
FREERDP_API void primitives_set_hints(primitive_hints hints);
|
||||
FREERDP_API primitive_hints primitives_get_hints(void);
|
||||
FREERDP_API primitives_t* primitives_get_generic(void);
|
||||
FREERDP_API DWORD primitives_flags(primitives_t* p);
|
||||
FREERDP_API BOOL primitives_init(primitives_t* p, primitive_hints hints);
|
||||
FREERDP_API void primitives_uninit(void);
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API primitives_t* primitives_get(void);
|
||||
|
||||
/** @brief get a specific primitives implementation
|
||||
*
|
||||
* This will try to return the primitives implementation suggested by \b type
|
||||
* If that does not exist or does not work on the platform any other (e.g. usually pure
|
||||
* software) is returned
|
||||
*
|
||||
* @param type the type of primitives desired.
|
||||
* @return A primitive implementation matching the hint closest or \b NULL in case of failure.
|
||||
* @since version 3.11.0
|
||||
*/
|
||||
FREERDP_API primitives_t* primitives_get_by_type(primitive_hints type);
|
||||
FREERDP_API void primitives_set_hints(primitive_hints hints);
|
||||
|
||||
/** @brief stringify a \b avc444_frame_type
|
||||
*
|
||||
* @param type the type to stringify
|
||||
* @return A string representation of \b type
|
||||
* @since version 3.11.0
|
||||
*/
|
||||
FREERDP_API const char* primitives_avc444_frame_type_str(avc444_frame_type type);
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API primitive_hints primitives_get_hints(void);
|
||||
|
||||
/** @brief convert a hint to a string
|
||||
*
|
||||
* @param hint the hint to stringify
|
||||
* @return the string representation of the hint
|
||||
* @since version 3.11.0
|
||||
*/
|
||||
FREERDP_API const char* primtives_hint_str(primitive_hints hint);
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API primitives_t* primitives_get_generic(void);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API DWORD primitives_flags(primitives_t* p);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL primitives_init(primitives_t* p, primitive_hints hints);
|
||||
|
||||
FREERDP_API void primitives_uninit(void);
|
||||
|
||||
/** @brief get a specific primitives implementation
|
||||
*
|
||||
* This will try to return the primitives implementation suggested by \b type
|
||||
* If that does not exist or does not work on the platform any other (e.g. usually pure
|
||||
* software) is returned
|
||||
*
|
||||
* @param type the type of primitives desired.
|
||||
* @return A primitive implementation matching the hint closest or \b NULL in case of failure.
|
||||
* @since version 3.11.0
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API primitives_t* primitives_get_by_type(primitive_hints type);
|
||||
|
||||
/** @brief stringify a \b avc444_frame_type
|
||||
*
|
||||
* @param type the type to stringify
|
||||
* @return A string representation of \b type
|
||||
* @since version 3.11.0
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API const char* primitives_avc444_frame_type_str(avc444_frame_type type);
|
||||
|
||||
/** @brief convert a hint to a string
|
||||
*
|
||||
* @param hint the hint to stringify
|
||||
* @return the string representation of the hint
|
||||
* @since version 3.11.0
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API const char* primtives_hint_str(primitive_hints hint);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
@@ -579,21 +579,24 @@ typedef enum
|
||||
TS_RAIL_ORDER_EXEC_RESULT = 0x0080
|
||||
} ORDER_TYPE;
|
||||
|
||||
FREERDP_API BOOL rail_read_unicode_string(wStream* s, RAIL_UNICODE_STRING* unicode_string);
|
||||
FREERDP_API BOOL utf8_string_to_rail_string(const char* string,
|
||||
RAIL_UNICODE_STRING* unicode_string);
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL rail_read_unicode_string(wStream* s, RAIL_UNICODE_STRING* unicode_string);
|
||||
|
||||
/** @brief convert rails handshake flags to a string representation
|
||||
*
|
||||
* @param flags The flags to stringify
|
||||
* @param buffer a string buffer to write to
|
||||
* @param len the size in bytes of the string buffer
|
||||
*
|
||||
* @return A pointer to buffer or \b NULL in case of failure
|
||||
* @since version 3.5.0
|
||||
*/
|
||||
FREERDP_API const char* rail_handshake_ex_flags_to_string(UINT32 flags, char* buffer,
|
||||
size_t len);
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL utf8_string_to_rail_string(const char* string,
|
||||
RAIL_UNICODE_STRING* unicode_string);
|
||||
|
||||
/** @brief convert rails handshake flags to a string representation
|
||||
*
|
||||
* @param flags The flags to stringify
|
||||
* @param buffer a string buffer to write to
|
||||
* @param len the size in bytes of the string buffer
|
||||
*
|
||||
* @return A pointer to buffer or \b NULL in case of failure
|
||||
* @since version 3.5.0
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API const char* rail_handshake_ex_flags_to_string(UINT32 flags, char* buffer, size_t len);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
@@ -67,14 +67,24 @@ extern "C"
|
||||
*
|
||||
* \return \b TRUE if the redirection settings are ready to use, \b FALSE otherwise.
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL redirection_settings_are_valid(rdpRedirection* redirection, UINT32* pFlags);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL redirection_set_flags(rdpRedirection* redirection, UINT32 flags);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL redirection_set_session_id(rdpRedirection* redirection, UINT32 session_id);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL redirection_set_byte_option(rdpRedirection* redirection, UINT32 flag,
|
||||
const BYTE* data, size_t length);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL redirection_set_string_option(rdpRedirection* redirection, UINT32 flag,
|
||||
const char* str);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL redirection_set_array_option(rdpRedirection* redirection, UINT32 flag,
|
||||
const char** str, size_t count);
|
||||
|
||||
|
||||
@@ -167,9 +167,11 @@ extern "C"
|
||||
*
|
||||
* \return \b TRUE if successful and at least one format is supported, \b FALSE otherwise.
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL audin_server_set_formats(audin_server_context* context, SSIZE_T count,
|
||||
const AUDIO_FORMAT* formats);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API const AUDIO_FORMAT*
|
||||
audin_server_get_negotiated_format(const audin_server_context* context);
|
||||
|
||||
|
||||
@@ -126,6 +126,7 @@ extern "C"
|
||||
* @param file The file to write to. Existing files are truncated.
|
||||
* @return TRUE for success, FALSE if the file could not be written.
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL pf_server_config_dump(const char* file);
|
||||
|
||||
/**
|
||||
@@ -183,6 +184,7 @@ extern "C"
|
||||
*
|
||||
* @return The number of required plugins configured.
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API size_t pf_config_required_plugins_count(const proxyConfig* config);
|
||||
|
||||
/**
|
||||
@@ -192,6 +194,7 @@ extern "C"
|
||||
*
|
||||
* @return The name of the plugin or NULL.
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API const char* pf_config_required_plugin(const proxyConfig* config, size_t index);
|
||||
|
||||
/**
|
||||
@@ -201,6 +204,7 @@ extern "C"
|
||||
*
|
||||
* @return The number of proxy modules configured.
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API size_t pf_config_modules_count(const proxyConfig* config);
|
||||
|
||||
/**
|
||||
@@ -209,6 +213,7 @@ extern "C"
|
||||
*
|
||||
* @return An array of strings of size pf_config_modules_count with the module names.
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API const char** pf_config_modules(const proxyConfig* config);
|
||||
|
||||
/**
|
||||
@@ -218,6 +223,7 @@ extern "C"
|
||||
*
|
||||
* @return TRUE for success, FALSE otherwise
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL pf_config_clone(proxyConfig** dst, const proxyConfig* config);
|
||||
|
||||
/**
|
||||
@@ -229,6 +235,7 @@ extern "C"
|
||||
*
|
||||
* @return TRUE for success, FALSE for failure
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL pf_config_plugin(proxyPluginsManager* plugins_manager, void* userdata);
|
||||
|
||||
/**
|
||||
@@ -239,6 +246,7 @@ extern "C"
|
||||
*
|
||||
* @return A pointer to the value for \b section/key or \b NULL if not found
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API const char* pf_config_get(const proxyConfig* config, const char* section,
|
||||
const char* key);
|
||||
|
||||
|
||||
@@ -50,6 +50,7 @@ extern "C"
|
||||
/* All proxy interception channels derive from this base struct
|
||||
* and set their cleanup function accordingly. */
|
||||
FREERDP_API void intercept_context_entry_free(void* obj);
|
||||
|
||||
typedef PfChannelResult (*proxyChannelDataFn)(proxyData* pdata,
|
||||
const pServerStaticChannelContext* channel,
|
||||
const BYTE* xdata, size_t xsize, UINT32 flags,
|
||||
@@ -69,7 +70,7 @@ extern "C"
|
||||
void* context;
|
||||
};
|
||||
|
||||
void StaticChannelContext_free(pServerStaticChannelContext* ctx);
|
||||
FREERDP_API void StaticChannelContext_free(pServerStaticChannelContext* ctx);
|
||||
|
||||
/**
|
||||
* Wraps rdpContext and holds the state for the proxy's server.
|
||||
@@ -165,7 +166,10 @@ extern "C"
|
||||
psPeerReceiveChannelData server_receive_channel_data_original;
|
||||
};
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL pf_context_copy_settings(rdpSettings* dst, const rdpSettings* src);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL pf_context_init_server_context(freerdp_peer* client);
|
||||
|
||||
WINPR_ATTR_MALLOC(freerdp_client_context_free, 1)
|
||||
@@ -180,6 +184,7 @@ extern "C"
|
||||
FREERDP_API void proxy_data_set_client_context(proxyData* pdata, pClientContext* context);
|
||||
FREERDP_API void proxy_data_set_server_context(proxyData* pdata, pServerContext* context);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL proxy_data_shall_disconnect(proxyData* pdata);
|
||||
FREERDP_API void proxy_data_abort_connect(proxyData* pdata);
|
||||
|
||||
|
||||
@@ -60,6 +60,7 @@ extern "C"
|
||||
*
|
||||
* @return TRUE for success, FALSE otherwise.
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL pf_server_add_module(proxyServer* server, proxyModuleEntryPoint ep,
|
||||
void* userdata);
|
||||
|
||||
@@ -70,6 +71,7 @@ extern "C"
|
||||
*
|
||||
* @return TRUE for success, FALSE on error
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL pf_server_start(proxyServer* server);
|
||||
|
||||
/**
|
||||
@@ -80,6 +82,7 @@ extern "C"
|
||||
*
|
||||
* @return TRUE for success, FALSE on error
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL pf_server_start_from_socket(proxyServer* server, int socket);
|
||||
|
||||
/**
|
||||
@@ -90,6 +93,7 @@ extern "C"
|
||||
*
|
||||
* @return TRUE for success, FALSE on error
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL pf_server_start_with_peer_socket(proxyServer* server, int socket);
|
||||
|
||||
/**
|
||||
@@ -107,6 +111,7 @@ extern "C"
|
||||
*
|
||||
* @return TRUE for successful termination, FALSE otherwise.
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL pf_server_run(proxyServer* server);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -148,6 +148,7 @@ extern "C"
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API RailServerContext* rail_server_context_new(HANDLE vcm);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API UINT rail_server_handle_messages(RailServerContext* context);
|
||||
FREERDP_API void rail_server_set_handshake_ex_flags(RailServerContext* context, DWORD flags);
|
||||
|
||||
|
||||
@@ -86,13 +86,23 @@ extern "C"
|
||||
|
||||
FREERDP_API void rdpei_server_context_reset(RdpeiServerContext* context);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API HANDLE rdpei_server_get_event_handle(RdpeiServerContext* context);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API UINT rdpei_server_init(RdpeiServerContext* context);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API UINT rdpei_server_handle_messages(RdpeiServerContext* context);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API UINT rdpei_server_send_sc_ready(RdpeiServerContext* context, UINT32 version,
|
||||
UINT32 features);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API UINT rdpei_server_suspend(RdpeiServerContext* context);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API UINT rdpei_server_resume(RdpeiServerContext* context);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -145,9 +145,14 @@ extern "C"
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API RdpgfxServerContext* rdpgfx_server_context_new(HANDLE vcm);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL rdpgfx_server_set_own_thread(RdpgfxServerContext* context,
|
||||
BOOL internalThread);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API HANDLE rdpgfx_server_get_event_handle(RdpgfxServerContext* context);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API UINT rdpgfx_server_handle_messages(RdpgfxServerContext* context);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -190,7 +190,10 @@ extern "C"
|
||||
|
||||
FREERDP_API void rdpsnd_server_context_reset(RdpsndServerContext*);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API HANDLE rdpsnd_server_get_event_handle(RdpsndServerContext* context);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API UINT rdpsnd_server_handle_messages(RdpsndServerContext* context);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -30,7 +30,10 @@ extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API size_t server_audin_get_formats(AUDIO_FORMAT** dst_formats);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API size_t server_rdpsnd_get_formats(AUDIO_FORMAT** dst_formats);
|
||||
|
||||
FREERDP_API void freerdp_server_warn_unmaintained(int argc, char* argv[]);
|
||||
|
||||
@@ -313,7 +313,7 @@ extern "C"
|
||||
#if !defined(WITHOUT_FREERDP_3x_DEPRECATED)
|
||||
WINPR_DEPRECATED_VAR(
|
||||
"[since 3.4.0] Use shadow_subsystem_pointer_convert_alpha_pointer_data_to_format instead",
|
||||
FREERDP_API int shadow_subsystem_pointer_convert_alpha_pointer_data(
|
||||
WINPR_ATTR_NODISCARD FREERDP_API int shadow_subsystem_pointer_convert_alpha_pointer_data(
|
||||
const BYTE* WINPR_RESTRICT pixels, BOOL premultiplied, UINT32 width, UINT32 height,
|
||||
SHADOW_MSG_OUT_POINTER_ALPHA_UPDATE* WINPR_RESTRICT pointerColor));
|
||||
#endif
|
||||
@@ -331,22 +331,31 @@ extern "C"
|
||||
*
|
||||
* @since version 3.4.0
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API int shadow_subsystem_pointer_convert_alpha_pointer_data_to_format(
|
||||
const BYTE* WINPR_RESTRICT pixels, UINT32 format, BOOL premultiplied, UINT32 width,
|
||||
UINT32 height, SHADOW_MSG_OUT_POINTER_ALPHA_UPDATE* WINPR_RESTRICT pointerColor);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API int shadow_server_parse_command_line(rdpShadowServer* server, int argc, char** argv,
|
||||
COMMAND_LINE_ARGUMENT_A* cargs);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API int shadow_server_command_line_status_print(rdpShadowServer* server, int argc,
|
||||
char** argv, int status,
|
||||
const COMMAND_LINE_ARGUMENT_A* cargs);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API int shadow_server_start(rdpShadowServer* server);
|
||||
|
||||
FREERDP_API int shadow_server_stop(rdpShadowServer* server);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API int shadow_server_init(rdpShadowServer* server);
|
||||
|
||||
FREERDP_API int shadow_server_uninit(rdpShadowServer* server);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API UINT32 shadow_enum_monitors(MONITOR_DEF* monitors, UINT32 maxMonitors);
|
||||
|
||||
FREERDP_API void shadow_server_free(rdpShadowServer* server);
|
||||
@@ -355,11 +364,12 @@ extern "C"
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API rdpShadowServer* shadow_server_new(void);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API int shadow_capture_align_clip_rect(RECTANGLE_16* rect, const RECTANGLE_16* clip);
|
||||
|
||||
#if !defined(WITHOUT_FREERDP_3x_DEPRECATED)
|
||||
WINPR_DEPRECATED_VAR("[since 3.4.0] Use shadow_capture_compare_with_format",
|
||||
FREERDP_API int shadow_capture_compare(
|
||||
WINPR_ATTR_NODISCARD FREERDP_API int shadow_capture_compare(
|
||||
const BYTE* WINPR_RESTRICT pData1, UINT32 nStep1, UINT32 nWidth,
|
||||
UINT32 nHeight, const BYTE* WINPR_RESTRICT pData2, UINT32 nStep2,
|
||||
RECTANGLE_16* WINPR_RESTRICT rect));
|
||||
@@ -381,6 +391,7 @@ extern "C"
|
||||
*
|
||||
* @since version 3.4.0
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API int shadow_capture_compare_with_format(const BYTE* WINPR_RESTRICT pData1,
|
||||
UINT32 format1, UINT32 nStep1, UINT32 nWidth,
|
||||
UINT32 nHeight,
|
||||
@@ -390,15 +401,24 @@ extern "C"
|
||||
|
||||
FREERDP_API void shadow_subsystem_frame_update(rdpShadowSubsystem* subsystem);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL shadow_client_post_msg(rdpShadowClient* client, void* context, UINT32 type,
|
||||
SHADOW_MSG_OUT* msg, void* lParam);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API int shadow_client_boardcast_msg(rdpShadowServer* server, void* context, UINT32 type,
|
||||
SHADOW_MSG_OUT* msg, void* lParam);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API int shadow_client_boardcast_quit(rdpShadowServer* server, int nExitCode);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API UINT32 shadow_encoder_preferred_fps(rdpShadowEncoder* encoder);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API UINT32 shadow_encoder_inflight_frames(rdpShadowEncoder* encoder);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL shadow_screen_resize(rdpShadowScreen* screen);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -150,6 +150,7 @@ extern "C"
|
||||
*
|
||||
* \return \b TRUE if not equal, \b FALSE otherwise
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_settings_print_diff(wLog* log, DWORD level, const rdpSettings* src,
|
||||
const rdpSettings* other);
|
||||
|
||||
@@ -163,19 +164,32 @@ extern "C"
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API ADDIN_ARGV* freerdp_addin_argv_clone(const ADDIN_ARGV* args);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_addin_argv_add_argument(ADDIN_ARGV* args, const char* argument);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_addin_argv_add_argument_ex(ADDIN_ARGV* args, const char* argument,
|
||||
size_t len);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_addin_argv_del_argument(ADDIN_ARGV* args, const char* argument);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API int freerdp_addin_set_argument(ADDIN_ARGV* args, const char* argument);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API int freerdp_addin_replace_argument(ADDIN_ARGV* args, const char* previous,
|
||||
const char* argument);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API int freerdp_addin_set_argument_value(ADDIN_ARGV* args, const char* option,
|
||||
const char* value);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API int freerdp_addin_replace_argument_value(ADDIN_ARGV* args, const char* previous,
|
||||
const char* option, const char* value);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_device_collection_add(rdpSettings* settings, RDPDR_DEVICE* device);
|
||||
|
||||
/** \brief Removed a device from the settings, returns ownership of the allocated device to
|
||||
@@ -188,6 +202,7 @@ extern "C"
|
||||
*
|
||||
* \return \b TRUE if the device was removed, \b FALSE if device was not found or is NULL
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_device_collection_del(rdpSettings* settings,
|
||||
const RDPDR_DEVICE* device);
|
||||
WINPR_ATTR_NODISCARD
|
||||
@@ -213,22 +228,27 @@ extern "C"
|
||||
|
||||
FREERDP_API void freerdp_device_collection_free(rdpSettings* settings);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_static_channel_collection_add(rdpSettings* settings,
|
||||
ADDIN_ARGV* channel);
|
||||
|
||||
FREERDP_API BOOL freerdp_static_channel_collection_del(rdpSettings* settings, const char* name);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API ADDIN_ARGV* freerdp_static_channel_collection_find(rdpSettings* settings,
|
||||
const char* name);
|
||||
#if defined(WITH_FREERDP_DEPRECATED)
|
||||
WINPR_DEPRECATED(FREERDP_API ADDIN_ARGV* WINPR_ATTR_MALLOC(freerdp_addin_argv_free, 1)
|
||||
WINPR_ATTR_NODISCARD freerdp_static_channel_clone(ADDIN_ARGV* channel));
|
||||
WINPR_DEPRECATED(
|
||||
WINPR_ATTR_NODISCARD FREERDP_API ADDIN_ARGV* WINPR_ATTR_MALLOC(freerdp_addin_argv_free, 1)
|
||||
WINPR_ATTR_NODISCARD freerdp_static_channel_clone(ADDIN_ARGV* channel));
|
||||
#endif
|
||||
|
||||
FREERDP_API void freerdp_static_channel_collection_free(rdpSettings* settings);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_dynamic_channel_collection_add(rdpSettings* settings,
|
||||
ADDIN_ARGV* channel);
|
||||
|
||||
FREERDP_API BOOL freerdp_dynamic_channel_collection_del(rdpSettings* settings,
|
||||
const char* name);
|
||||
|
||||
@@ -237,8 +257,9 @@ extern "C"
|
||||
const char* name);
|
||||
|
||||
#if defined(WITH_FREERDP_DEPRECATED)
|
||||
WINPR_DEPRECATED(FREERDP_API ADDIN_ARGV* WINPR_ATTR_MALLOC(freerdp_addin_argv_free, 1)
|
||||
WINPR_ATTR_NODISCARD freerdp_dynamic_channel_clone(ADDIN_ARGV* channel));
|
||||
WINPR_DEPRECATED(
|
||||
WINPR_ATTR_NODISCARD FREERDP_API ADDIN_ARGV* WINPR_ATTR_MALLOC(freerdp_addin_argv_free, 1)
|
||||
WINPR_ATTR_NODISCARD freerdp_dynamic_channel_clone(ADDIN_ARGV* channel));
|
||||
#endif
|
||||
|
||||
FREERDP_API void freerdp_dynamic_channel_collection_free(rdpSettings* settings);
|
||||
@@ -287,7 +308,7 @@ extern "C"
|
||||
FREERDP_API int freerdp_set_param_int(rdpSettings* settings, int id,
|
||||
int param));
|
||||
|
||||
WINPR_DEPRECATED_VAR("Use freerdp_settings_set_uint32 instead",
|
||||
WINPR_DEPRECATED_VAR("Use freerdp_settings_get_uint32 instead",
|
||||
WINPR_ATTR_NODISCARD FREERDP_API UINT32
|
||||
freerdp_get_param_uint32(const rdpSettings* settings, int id));
|
||||
WINPR_DEPRECATED_VAR("Use freerdp_settings_set_uint32 instead",
|
||||
@@ -533,6 +554,7 @@ extern "C"
|
||||
*
|
||||
* \return \b TRUE for success, \b FALSE for failure
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_settings_append_string(rdpSettings* settings,
|
||||
FreeRDP_Settings_Keys_String id,
|
||||
const char* separator, const char* param);
|
||||
@@ -788,6 +810,7 @@ extern "C"
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API const char* freerdp_encryption_level_string(UINT32 EncryptionLevel);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API const char* freerdp_encryption_methods_string(UINT32 EncryptionLevel, char* buffer,
|
||||
size_t size);
|
||||
|
||||
@@ -82,6 +82,7 @@ extern "C"
|
||||
* @return A new timer ID or \b 0 in case of failure
|
||||
* @since version 3.16.0
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API FreeRDP_TimerID freerdp_timer_add(rdpContext* context, uint64_t intervalNS,
|
||||
FreeRDP_TimerCallback callback, void* userdata,
|
||||
bool mainloop);
|
||||
|
||||
@@ -126,13 +126,20 @@ extern "C"
|
||||
};
|
||||
typedef struct rdp_transport_io rdpTransportIo;
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_io_callback_set_event(rdpContext* context, BOOL set);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API const rdpTransportIo* freerdp_get_io_callbacks(rdpContext* context);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_set_io_callbacks(rdpContext* context,
|
||||
const rdpTransportIo* io_callbacks);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_set_io_callback_context(rdpContext* context, void* usercontext);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API void* freerdp_get_io_callback_context(rdpContext* context);
|
||||
|
||||
/* PDU parser.
|
||||
@@ -141,8 +148,13 @@ extern "C"
|
||||
* >0 -> PDU header complete, length of PDU.
|
||||
* <0 -> Abort, an error occurred
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API SSIZE_T transport_parse_pdu(rdpTransport* transport, wStream* s, BOOL* incomplete);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API rdpContext* transport_get_context(rdpTransport* transport);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API rdpTransport* freerdp_get_transport(rdpContext* context);
|
||||
|
||||
/**
|
||||
|
||||
@@ -71,12 +71,16 @@ extern "C"
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL pcap_add_record(rdpPcap* pcap, const void* data, size_t length);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL pcap_has_next_record(const rdpPcap* pcap);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL pcap_get_next_record(rdpPcap* pcap, pcap_record* record);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL pcap_get_next_record_header(rdpPcap* pcap, pcap_record* record);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL pcap_get_next_record_content(rdpPcap* pcap, pcap_record* record);
|
||||
FREERDP_API void pcap_flush(rdpPcap* pcap);
|
||||
|
||||
@@ -42,6 +42,7 @@ extern "C"
|
||||
*
|
||||
* \return \b TRUE if registered successfully, \b FALSE otherwise.
|
||||
*/
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL freerdp_add_signal_cleanup_handler(void* context,
|
||||
freerdp_signal_handler_t handler);
|
||||
|
||||
|
||||
@@ -45,6 +45,7 @@ extern "C"
|
||||
FREERDP_API scard_call_context* smartcard_call_context_new(const rdpSettings* settings);
|
||||
|
||||
FREERDP_API BOOL smartcard_call_context_signal_stop(scard_call_context* ctx, BOOL reset);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL smartcard_call_context_add(scard_call_context* ctx, const char* name);
|
||||
|
||||
@@ -53,6 +54,7 @@ extern "C"
|
||||
FREERDP_API BOOL smartcard_call_cancel_all_context(scard_call_context* ctx);
|
||||
|
||||
FREERDP_API BOOL smartcard_call_release_context(scard_call_context* ctx, SCARDCONTEXT context);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API BOOL smartcard_call_is_configured(scard_call_context* ctx);
|
||||
|
||||
|
||||
@@ -39,7 +39,10 @@ extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG smartcard_pack_write_size_align(wStream* s, size_t size, UINT32 alignment);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
FREERDP_API LONG smartcard_unpack_read_size_align(wStream* s, size_t size, UINT32 alignment);
|
||||
|
||||
WINPR_ATTR_NODISCARD
|
||||
|
||||
Reference in New Issue
Block a user