[freerdp] mark all WINPR_ATTR_MALLOC also nodiscard

This commit is contained in:
akallabeth
2026-01-26 13:08:35 +01:00
parent 460ca149f2
commit 7990eec166
102 changed files with 232 additions and 12 deletions

View File

@@ -32,18 +32,23 @@ extern "C"
typedef struct rdp_assistance_file rdpAssistanceFile;
WINPR_ATTR_MALLOC(free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API BYTE* freerdp_assistance_hex_string_to_bin(const void* str, size_t* size);
WINPR_ATTR_MALLOC(free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API char* freerdp_assistance_bin_to_hex_string(const void* data, size_t size);
WINPR_ATTR_MALLOC(free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API char* freerdp_assistance_generate_pass_stub(DWORD flags);
WINPR_ATTR_MALLOC(free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API char* freerdp_assistance_construct_expert_blob(const char* name, const char* pass);
WINPR_ATTR_MALLOC(free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API BYTE* freerdp_assistance_encrypt_pass_stub(const char* password,
const char* passStub,
size_t* pEncryptedSize);
@@ -66,6 +71,7 @@ extern "C"
FREERDP_API void freerdp_assistance_file_free(rdpAssistanceFile* file);
WINPR_ATTR_MALLOC(freerdp_assistance_file_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API rdpAssistanceFile* freerdp_assistance_file_new(void);
FREERDP_API void freerdp_assistance_print_file(rdpAssistanceFile* file, wLog* log, DWORD level);

View File

@@ -91,6 +91,7 @@ extern "C"
FREERDP_API void persistent_cache_free(rdpPersistentCache* persistent);
WINPR_ATTR_MALLOC(persistent_cache_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API rdpPersistentCache* persistent_cache_new(void);
#ifdef __cplusplus

View File

@@ -153,6 +153,7 @@ extern "C"
FREERDP_API void freerdp_client_context_free(rdpContext* context);
WINPR_ATTR_MALLOC(freerdp_client_context_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API rdpContext* freerdp_client_context_new(const RDP_CLIENT_ENTRY_POINTS* pEntryPoints);
FREERDP_API int freerdp_client_start(rdpContext* context);
@@ -338,6 +339,7 @@ extern "C"
* @since version 3.16.0
*/
WINPR_ATTR_MALLOC(free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API char* freerdp_client_get_aad_url(rdpClientContext* cctx,
freerdp_client_aad_type type, ...);

View File

@@ -35,6 +35,7 @@ extern "C"
FREERDP_API void cliprdr_file_context_free(CliprdrFileContext* file);
WINPR_ATTR_MALLOC(cliprdr_file_context_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API CliprdrFileContext* cliprdr_file_context_new(void* context);
/**! \brief returns if the implementation supports pasting files in a client file browser.

View File

@@ -90,9 +90,11 @@ extern "C"
FREERDP_API void freerdp_client_rdp_file_free(rdpFile* file);
WINPR_ATTR_MALLOC(freerdp_client_rdp_file_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API rdpFile* freerdp_client_rdp_file_new(void);
WINPR_ATTR_MALLOC(freerdp_client_rdp_file_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API rdpFile* freerdp_client_rdp_file_new_ex(DWORD flags);
#ifdef __cplusplus

View File

@@ -180,6 +180,7 @@ extern "C"
FREERDP_API void rdpgfx_client_context_free(RdpgfxClientContext* context);
WINPR_ATTR_MALLOC(rdpgfx_client_context_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API RdpgfxClientContext* rdpgfx_client_context_new(rdpContext* context);
#ifdef __cplusplus

View File

@@ -221,9 +221,11 @@ extern "C"
FREERDP_API void audio_formats_free(AUDIO_FORMAT* formats, size_t count);
WINPR_ATTR_MALLOC(audio_formats_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API AUDIO_FORMAT* audio_format_new(void);
WINPR_ATTR_MALLOC(audio_formats_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API AUDIO_FORMAT* audio_formats_new(size_t count);
#ifdef __cplusplus

View File

@@ -50,6 +50,7 @@ extern "C"
FREERDP_API void clear_context_free(CLEAR_CONTEXT* WINPR_RESTRICT clear);
WINPR_ATTR_MALLOC(clear_context_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API CLEAR_CONTEXT* clear_context_new(BOOL Compressor);
#ifdef __cplusplus

View File

@@ -301,7 +301,7 @@ typedef struct gdi_palette gdiPalette;
WINPR_DEPRECATED_VAR("[since 3.21.0] use freerdp_glyph_convert_ex instead",
WINPR_ATTR_MALLOC(winpr_aligned_free, 1)
FREERDP_API BYTE* freerdp_glyph_convert(
WINPR_ATTR_NODISCARD FREERDP_API BYTE* freerdp_glyph_convert(
UINT32 width, UINT32 height, const BYTE* WINPR_RESTRICT data));
#endif
@@ -317,6 +317,7 @@ typedef struct gdi_palette gdiPalette;
* @since version 3.21.0
*/
WINPR_ATTR_MALLOC(winpr_aligned_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API BYTE* freerdp_glyph_convert_ex(UINT32 width, UINT32 height,
const BYTE* WINPR_RESTRICT data, size_t len);

View File

@@ -35,6 +35,7 @@ extern "C"
FREERDP_API void freerdp_dsp_context_free(FREERDP_DSP_CONTEXT* context);
WINPR_ATTR_MALLOC(freerdp_dsp_context_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API FREERDP_DSP_CONTEXT* freerdp_dsp_context_new(BOOL encoder);
FREERDP_API BOOL freerdp_dsp_supports_format(const AUDIO_FORMAT* WINPR_RESTRICT format,

View File

@@ -126,6 +126,7 @@ extern "C"
FREERDP_API void h264_context_free(H264_CONTEXT* h264);
WINPR_ATTR_MALLOC(h264_context_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API H264_CONTEXT* h264_context_new(BOOL Compressor);
#ifdef __cplusplus

View File

@@ -56,6 +56,7 @@ extern "C"
bitmap_interleaved_context_free(BITMAP_INTERLEAVED_CONTEXT* WINPR_RESTRICT interleaved);
WINPR_ATTR_MALLOC(bitmap_interleaved_context_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API BITMAP_INTERLEAVED_CONTEXT* bitmap_interleaved_context_new(BOOL Compressor);
#ifdef __cplusplus

View File

@@ -73,6 +73,7 @@ extern "C"
FREERDP_API void nsc_context_free(NSC_CONTEXT* context);
WINPR_ATTR_MALLOC(nsc_context_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API NSC_CONTEXT* nsc_context_new(void);
#ifdef __cplusplus

View File

@@ -53,6 +53,7 @@ extern "C"
FREERDP_API void freerdp_bitmap_planar_context_free(BITMAP_PLANAR_CONTEXT* context);
WINPR_ATTR_MALLOC(freerdp_bitmap_planar_context_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API BITMAP_PLANAR_CONTEXT* freerdp_bitmap_planar_context_new(DWORD flags, UINT32 width,
UINT32 height);

View File

@@ -64,9 +64,11 @@ extern "C"
FREERDP_API void progressive_context_free(PROGRESSIVE_CONTEXT* progressive);
WINPR_ATTR_MALLOC(progressive_context_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API PROGRESSIVE_CONTEXT* progressive_context_new(BOOL Compressor);
WINPR_ATTR_MALLOC(progressive_context_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API PROGRESSIVE_CONTEXT* progressive_context_new_ex(BOOL Compressor,
UINT32 ThreadingFlags);

View File

@@ -102,17 +102,22 @@ extern "C"
const BYTE* WINPR_RESTRICT image_data, UINT32 width,
UINT32 height, UINT32 rowstride);
WINPR_ATTR_MALLOC(rfx_message_free, 2)
WINPR_ATTR_NODISCARD
FREERDP_API RFX_MESSAGE* rfx_encode_message(RFX_CONTEXT* WINPR_RESTRICT context,
const RFX_RECT* WINPR_RESTRICT rects,
size_t numRects, const BYTE* WINPR_RESTRICT data,
UINT32 width, UINT32 height, size_t scanline);
FREERDP_API void rfx_message_list_free(RFX_MESSAGE_LIST* messages);
WINPR_ATTR_MALLOC(rfx_message_list_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API RFX_MESSAGE_LIST*
rfx_encode_messages(RFX_CONTEXT* WINPR_RESTRICT context, const RFX_RECT* WINPR_RESTRICT rects,
size_t numRects, const BYTE* WINPR_RESTRICT data, UINT32 width,
UINT32 height, UINT32 scanline, size_t* WINPR_RESTRICT numMessages,
size_t maxDataSize);
FREERDP_API void rfx_message_list_free(RFX_MESSAGE_LIST* messages);
FREERDP_API const RFX_MESSAGE*
rfx_message_list_get(const RFX_MESSAGE_LIST* WINPR_RESTRICT messages, size_t idx);
@@ -124,9 +129,11 @@ extern "C"
FREERDP_API void rfx_context_free(RFX_CONTEXT* context);
WINPR_ATTR_MALLOC(rfx_context_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API RFX_CONTEXT* rfx_context_new_ex(BOOL encoder, UINT32 ThreadingFlags);
WINPR_ATTR_MALLOC(rfx_context_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API RFX_CONTEXT* rfx_context_new(BOOL encoder);
FREERDP_API BOOL rfx_context_reset(RFX_CONTEXT* WINPR_RESTRICT context, UINT32 width,

View File

@@ -61,6 +61,7 @@ extern "C"
FREERDP_API void yuv_context_free(YUV_CONTEXT* context);
WINPR_ATTR_MALLOC(yuv_context_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API YUV_CONTEXT* yuv_context_new(BOOL encoder, UINT32 ThreadingFlags);
#ifdef __cplusplus

View File

@@ -57,6 +57,7 @@ extern "C"
FREERDP_API void zgfx_context_free(ZGFX_CONTEXT* zgfx);
WINPR_ATTR_MALLOC(zgfx_context_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API ZGFX_CONTEXT* zgfx_context_new(BOOL Compressor);
#ifdef __cplusplus

View File

@@ -84,15 +84,17 @@ extern "C"
* @since version 3.6.0
*/
WINPR_ATTR_MALLOC(freerdp_client_codecs_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API rdpCodecs* freerdp_client_codecs_new(UINT32 TheadingFlags);
#if !defined(WITHOUT_FREERDP_3x_DEPRECATED)
WINPR_DEPRECATED_VAR("[since 3.6.0] Use freerdp_client_codecs_free",
FREERDP_API void codecs_free(rdpCodecs* codecs));
WINPR_DEPRECATED_VAR("[since 3.6.0] Use freerdp_client_codecs_new",
WINPR_ATTR_MALLOC(codecs_free, 1)
FREERDP_API rdpCodecs* codecs_new(rdpContext* context));
WINPR_DEPRECATED_VAR(
"[since 3.6.0] Use freerdp_client_codecs_new",
WINPR_ATTR_MALLOC(codecs_free, 1)
WINPR_ATTR_NODISCARD FREERDP_API rdpCodecs* codecs_new(rdpContext* context));
#endif
/** @brief return a string representation of the given codecid

View File

@@ -41,36 +41,45 @@ extern "C"
FREERDP_API void freerdp_certificate_free(rdpCertificate* certificate);
WINPR_ATTR_MALLOC(freerdp_certificate_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API rdpCertificate* freerdp_certificate_new(void);
WINPR_ATTR_MALLOC(freerdp_certificate_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API rdpCertificate* freerdp_certificate_new_from_file(const char* file);
WINPR_ATTR_MALLOC(freerdp_certificate_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API rdpCertificate* freerdp_certificate_new_from_pem(const char* pem);
WINPR_ATTR_MALLOC(freerdp_certificate_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API rdpCertificate* freerdp_certificate_new_from_der(const BYTE* data, size_t length);
FREERDP_API BOOL freerdp_certificate_is_rsa(const rdpCertificate* certificate);
WINPR_ATTR_MALLOC(free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API char* freerdp_certificate_get_hash(const rdpCertificate* certificate,
const char* hash, size_t* plength);
WINPR_ATTR_MALLOC(free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API char* freerdp_certificate_get_fingerprint_by_hash(const rdpCertificate* certificate,
const char* hash);
WINPR_ATTR_MALLOC(free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API char*
freerdp_certificate_get_fingerprint_by_hash_ex(const rdpCertificate* certificate,
const char* hash, BOOL separator);
WINPR_ATTR_MALLOC(free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API char* freerdp_certificate_get_fingerprint(const rdpCertificate* certificate);
WINPR_ATTR_MALLOC(free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API char* freerdp_certificate_get_pem(const rdpCertificate* certificate,
size_t* pLength);
@@ -84,23 +93,29 @@ extern "C"
* @since version 3.8.0
*/
WINPR_ATTR_MALLOC(free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API char* freerdp_certificate_get_pem_ex(const rdpCertificate* certificate,
size_t* pLength, BOOL withCertChain);
WINPR_ATTR_MALLOC(free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API BYTE* freerdp_certificate_get_der(const rdpCertificate* certificate,
size_t* pLength);
WINPR_ATTR_MALLOC(free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API char* freerdp_certificate_get_subject(const rdpCertificate* certificate);
WINPR_ATTR_MALLOC(free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API char* freerdp_certificate_get_issuer(const rdpCertificate* certificate);
WINPR_ATTR_MALLOC(free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API char* freerdp_certificate_get_upn(const rdpCertificate* certificate);
WINPR_ATTR_MALLOC(free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API char* freerdp_certificate_get_email(const rdpCertificate* certificate);
/**
@@ -111,16 +126,19 @@ extern "C"
* @since version 3.8.0
*/
WINPR_ATTR_MALLOC(free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API char* freerdp_certificate_get_validity(const rdpCertificate* certificate,
BOOL startDate);
FREERDP_API WINPR_MD_TYPE freerdp_certificate_get_signature_alg(const rdpCertificate* cert);
WINPR_ATTR_MALLOC(free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API char* freerdp_certificate_get_common_name(const rdpCertificate* cert,
size_t* plength);
WINPR_ATTR_MALLOC(free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API char** freerdp_certificate_get_dns_names(const rdpCertificate* cert, size_t* pcount,
size_t** pplengths);
FREERDP_API void freerdp_certificate_free_dns_names(size_t count, size_t* lengths,
@@ -137,6 +155,7 @@ extern "C"
FREERDP_API BOOL freerdp_certificate_is_rdp_security_compatible(const rdpCertificate* cert);
WINPR_ATTR_MALLOC(free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API char* freerdp_certificate_get_param(const rdpCertificate* cert,
enum FREERDP_CERT_PARAM what, size_t* psize);

View File

@@ -33,21 +33,26 @@ extern "C"
typedef struct rdp_certificate_data rdpCertificateData;
WINPR_ATTR_MALLOC(free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API char* freerdp_certificate_data_hash(const char* hostname, UINT16 port);
FREERDP_API void freerdp_certificate_data_free(rdpCertificateData* data);
WINPR_ATTR_MALLOC(freerdp_certificate_data_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API rdpCertificateData* freerdp_certificate_data_new(const char* hostname, UINT16 port,
const rdpCertificate* xcert);
WINPR_ATTR_MALLOC(freerdp_certificate_data_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API rdpCertificateData* freerdp_certificate_data_new_from_pem(const char* hostname,
UINT16 port,
const char* pem,
size_t length);
WINPR_ATTR_MALLOC(freerdp_certificate_data_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API rdpCertificateData*
freerdp_certificate_data_new_from_file(const char* hostname, UINT16 port, const char* file);

View File

@@ -43,12 +43,14 @@ extern "C"
FREERDP_API void freerdp_certificate_store_free(rdpCertificateStore* store);
WINPR_ATTR_MALLOC(freerdp_certificate_store_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API rdpCertificateStore* freerdp_certificate_store_new(const rdpSettings* settings);
FREERDP_API freerdp_certificate_store_result freerdp_certificate_store_contains_data(
rdpCertificateStore* store, const rdpCertificateData* data);
WINPR_ATTR_MALLOC(freerdp_certificate_data_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API rdpCertificateData*
freerdp_certificate_store_load_data(rdpCertificateStore* store, const char* host, UINT16 port);
@@ -72,6 +74,8 @@ extern "C"
*
* @return The certificate store file path or \b NULL
*/
WINPR_ATTR_MALLOC(free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API char* freerdp_certificate_store_get_cert_path(const rdpCertificateStore* store,
const char* host, UINT16 port);

View File

@@ -33,11 +33,13 @@ extern "C"
FREERDP_API void freerdp_key_free(rdpPrivateKey* key);
WINPR_ATTR_MALLOC(freerdp_key_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API rdpPrivateKey* freerdp_key_new(void);
FREERDP_API rdpPrivateKey* freerdp_key_new_from_file(const char* keyfile);
WINPR_ATTR_MALLOC(freerdp_key_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API rdpPrivateKey* freerdp_key_new_from_pem(const char* pem);
/** @brief Create a private key from file \b keyfile with optional password \b password
@@ -47,6 +49,8 @@ extern "C"
* @return An allocated private key, \b NULL in case of failure.
* @since version 3.16.0
*/
WINPR_ATTR_MALLOC(freerdp_key_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API rdpPrivateKey* freerdp_key_new_from_file_enc(const char* keyfile,
const char* password);
@@ -58,6 +62,7 @@ extern "C"
* @since version 3.16.0
*/
WINPR_ATTR_MALLOC(freerdp_key_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API rdpPrivateKey* freerdp_key_new_from_pem_enc(const char* pem, const char* password);
FREERDP_API BOOL freerdp_key_is_rsa(const rdpPrivateKey* key);
@@ -74,6 +79,7 @@ extern "C"
* @since version 3.16.0
*/
WINPR_ATTR_MALLOC(free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API char* freerdp_key_get_pem(const rdpPrivateKey* key, size_t* plen,
const char* password);

View File

@@ -37,6 +37,7 @@ extern "C"
FREERDP_API void Emulate_Free(SmartcardEmulationContext* context);
WINPR_ATTR_MALLOC(Emulate_Free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API SmartcardEmulationContext* Emulate_New(const rdpSettings* settings);
FREERDP_API BOOL Emulate_IsConfigured(SmartcardEmulationContext* context);

View File

@@ -691,6 +691,7 @@ owned by rdpRdp */
FREERDP_API void freerdp_free(freerdp* instance);
WINPR_ATTR_MALLOC(freerdp_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API freerdp* freerdp_new(void);
FREERDP_API BOOL freerdp_focus_required(freerdp* instance);

View File

@@ -44,6 +44,7 @@ extern "C"
FREERDP_API void gdi_video_free(gdiVideoContext* context);
WINPR_ATTR_MALLOC(gdi_video_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API gdiVideoContext* gdi_video_new(rdpGdi* gdi);
#ifdef __cplusplus

View File

@@ -166,6 +166,7 @@ extern "C"
FREERDP_API void graphics_free(rdpGraphics* graphics);
WINPR_ATTR_MALLOC(graphics_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API rdpGraphics* graphics_new(rdpContext* context);
#ifdef __cplusplus

View File

@@ -77,6 +77,7 @@ extern "C"
FREERDP_API void freerdp_listener_free(freerdp_listener* instance);
WINPR_ATTR_MALLOC(freerdp_listener_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API freerdp_listener* freerdp_listener_new(void);
#ifdef __cplusplus

View File

@@ -243,6 +243,7 @@ FREERDP_API void freerdp_keyboard_layouts_free(RDP_KEYBOARD_LAYOUT* layouts, siz
* @return An allocated array of keyboard layouts, free with \b freerdp_keyboard_layouts_free
*/
WINPR_ATTR_MALLOC(freerdp_keyboard_layouts_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API RDP_KEYBOARD_LAYOUT* freerdp_keyboard_get_layouts(DWORD types, size_t* count);
/** @brief Get a string representation of a keyboard layout.
@@ -298,6 +299,7 @@ FREERDP_API void freerdp_keyboard_remap_free(FREERDP_REMAP_TABLE* table);
* @since version 3.11.0
*/
WINPR_ATTR_MALLOC(freerdp_keyboard_remap_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API FREERDP_REMAP_TABLE* freerdp_keyboard_remap_string_to_list(const char* list);
/** @brief does remap a RDP scancode according to the remap table provided.
@@ -336,6 +338,7 @@ FREERDP_API void freerdp_codepages_free(RDP_CODEPAGE* codepages);
* freed by \ref freerdp_codepages_free
*/
WINPR_ATTR_MALLOC(freerdp_codepages_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API RDP_CODEPAGE* freerdp_keyboard_get_matching_codepages(DWORD column, const char* filter,
size_t* count);

View File

@@ -43,6 +43,7 @@ extern "C"
FREERDP_API void metrics_free(rdpMetrics* metrics);
WINPR_ATTR_MALLOC(metrics_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API rdpMetrics* metrics_new(rdpContext* context);
#ifdef __cplusplus

View File

@@ -216,6 +216,7 @@ extern "C"
FREERDP_API void freerdp_peer_free(freerdp_peer* client);
WINPR_ATTR_MALLOC(freerdp_peer_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API freerdp_peer* freerdp_peer_new(int sockfd);
FREERDP_API BOOL freerdp_peer_set_local_and_hostname(freerdp_peer* client,

View File

@@ -55,6 +55,7 @@ extern "C"
FREERDP_API void redirection_free(rdpRedirection* redirection);
WINPR_ATTR_MALLOC(redirection_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API rdpRedirection* redirection_new(void);
/** \brief This function checks if all necessary settings for a given \b rdpRedirection are

View File

@@ -115,6 +115,7 @@ extern "C"
FREERDP_API void ainput_server_context_free(ainput_server_context* context);
WINPR_ATTR_MALLOC(ainput_server_context_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API ainput_server_context* ainput_server_context_new(HANDLE vcm);
#ifdef __cplusplus

View File

@@ -156,6 +156,7 @@ extern "C"
FREERDP_API void audin_server_context_free(audin_server_context* context);
WINPR_ATTR_MALLOC(audin_server_context_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API audin_server_context* audin_server_context_new(HANDLE vcm);
/** \brief sets the supported audio formats for AUDIN server channel context.

View File

@@ -137,6 +137,7 @@ extern "C"
FREERDP_API void cliprdr_server_context_free(CliprdrServerContext* context);
WINPR_ATTR_MALLOC(cliprdr_server_context_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API CliprdrServerContext* cliprdr_server_context_new(HANDLE vcm);
#ifdef __cplusplus

View File

@@ -69,6 +69,7 @@ extern "C"
FREERDP_API void disp_server_context_free(DispServerContext* context);
WINPR_ATTR_MALLOC(disp_server_context_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API DispServerContext* disp_server_context_new(HANDLE vcm);
#ifdef __cplusplus

View File

@@ -54,6 +54,7 @@ extern "C"
FREERDP_API void drdynvc_server_context_free(DrdynvcServerContext* context);
WINPR_ATTR_MALLOC(drdynvc_server_context_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API DrdynvcServerContext* drdynvc_server_context_new(HANDLE vcm);
#ifdef __cplusplus

View File

@@ -93,6 +93,7 @@ extern "C"
FREERDP_API void echo_server_context_free(echo_server_context* context);
WINPR_ATTR_MALLOC(echo_server_context_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API echo_server_context* echo_server_context_new(HANDLE vcm);
#ifdef __cplusplus

View File

@@ -95,6 +95,7 @@ extern "C"
FREERDP_API void encomsp_server_context_free(EncomspServerContext* context);
WINPR_ATTR_MALLOC(encomsp_server_context_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API EncomspServerContext* encomsp_server_context_new(HANDLE vcm);
#ifdef __cplusplus

View File

@@ -95,6 +95,7 @@ extern "C"
FREERDP_API void gfxredir_server_context_free(GfxRedirServerContext* context);
WINPR_ATTR_MALLOC(gfxredir_server_context_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API GfxRedirServerContext* gfxredir_server_context_new(HANDLE vcm);
#ifdef __cplusplus

View File

@@ -133,6 +133,7 @@ extern "C"
FREERDP_API void location_server_context_free(LocationServerContext* context);
WINPR_ATTR_MALLOC(location_server_context_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API LocationServerContext* location_server_context_new(HANDLE vcm);
#ifdef __cplusplus

View File

@@ -144,6 +144,7 @@ extern "C"
* @return A proxyConfig or NULL in case of failure.
*/
WINPR_ATTR_MALLOC(pf_server_config_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API proxyConfig* server_config_load_ini(wIniFile* ini);
/**
* @brief pf_server_config_load_file Create a proxyConfig from a INI file found at path.
@@ -153,6 +154,7 @@ extern "C"
* @return A proxyConfig or NULL in case of failure.
*/
WINPR_ATTR_MALLOC(pf_server_config_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API proxyConfig* pf_server_config_load_file(const char* path);
/**
@@ -164,6 +166,7 @@ extern "C"
* @return A proxyConfig or NULL in case of failure.
*/
WINPR_ATTR_MALLOC(pf_server_config_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API proxyConfig* pf_server_config_load_buffer(const char* buffer);
/**

View File

@@ -90,6 +90,7 @@ extern "C"
typedef struct p_server_context pServerContext;
WINPR_ATTR_MALLOC(StaticChannelContext_free, 1)
WINPR_ATTR_NODISCARD
pServerStaticChannelContext* StaticChannelContext_new(pServerContext* ps, const char* name,
UINT32 id);
@@ -167,11 +168,13 @@ extern "C"
FREERDP_API BOOL pf_context_init_server_context(freerdp_peer* client);
WINPR_ATTR_MALLOC(freerdp_client_context_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API pClientContext* pf_context_create_client_context(const rdpSettings* clientSettings);
FREERDP_API void proxy_data_free(proxyData* pdata);
WINPR_ATTR_MALLOC(proxy_data_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API proxyData* proxy_data_new(void);
FREERDP_API void proxy_data_set_client_context(proxyData* pdata, pClientContext* context);
FREERDP_API void proxy_data_set_server_context(proxyData* pdata, pServerContext* context);

View File

@@ -46,6 +46,7 @@ extern "C"
* @return A new proxy server instance or NULL on failure.
*/
WINPR_ATTR_MALLOC(pf_server_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API proxyServer* pf_server_new(const proxyConfig* config);
/**

View File

@@ -145,6 +145,7 @@ extern "C"
FREERDP_API void rail_server_context_free(RailServerContext* context);
WINPR_ATTR_MALLOC(rail_server_context_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API RailServerContext* rail_server_context_new(HANDLE vcm);
FREERDP_API UINT rail_server_handle_messages(RailServerContext* context);

View File

@@ -223,6 +223,7 @@ struct s_rdpdr_server_context
FREERDP_API void rdpdr_server_context_free(RdpdrServerContext* context);
WINPR_ATTR_MALLOC(rdpdr_server_context_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API RdpdrServerContext* rdpdr_server_context_new(HANDLE vcm);
#ifdef __cplusplus

View File

@@ -128,6 +128,7 @@ extern "C"
FREERDP_API void cam_dev_enum_server_context_free(CamDevEnumServerContext* context);
WINPR_ATTR_MALLOC(cam_dev_enum_server_context_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API CamDevEnumServerContext* cam_dev_enum_server_context_new(HANDLE vcm);
#ifdef __cplusplus

View File

@@ -275,6 +275,7 @@ extern "C"
FREERDP_API void camera_device_server_context_free(CameraDeviceServerContext* context);
WINPR_ATTR_MALLOC(camera_device_server_context_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API CameraDeviceServerContext* camera_device_server_context_new(HANDLE vcm);
#ifdef __cplusplus

View File

@@ -78,6 +78,7 @@ extern "C"
FREERDP_API void rdpei_server_context_free(RdpeiServerContext* context);
WINPR_ATTR_MALLOC(rdpei_server_context_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API RdpeiServerContext* rdpei_server_context_new(HANDLE vcm);
FREERDP_API void rdpei_server_context_reset(RdpeiServerContext* context);

View File

@@ -123,6 +123,7 @@ extern "C"
FREERDP_API void mouse_cursor_server_context_free(MouseCursorServerContext* context);
WINPR_ATTR_MALLOC(mouse_cursor_server_context_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API MouseCursorServerContext* mouse_cursor_server_context_new(HANDLE vcm);
#ifdef __cplusplus

View File

@@ -142,6 +142,7 @@ extern "C"
FREERDP_API void rdpgfx_server_context_free(RdpgfxServerContext* context);
WINPR_ATTR_MALLOC(rdpgfx_server_context_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API RdpgfxServerContext* rdpgfx_server_context_new(HANDLE vcm);
FREERDP_API BOOL rdpgfx_server_set_own_thread(RdpgfxServerContext* context,

View File

@@ -185,6 +185,7 @@ extern "C"
FREERDP_API void rdpsnd_server_context_free(RdpsndServerContext* context);
WINPR_ATTR_MALLOC(rdpsnd_server_context_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API RdpsndServerContext* rdpsnd_server_context_new(HANDLE vcm);
FREERDP_API void rdpsnd_server_context_reset(RdpsndServerContext*);

View File

@@ -58,6 +58,7 @@ extern "C"
FREERDP_API void remdesk_server_context_free(RemdeskServerContext* context);
WINPR_ATTR_MALLOC(remdesk_server_context_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API RemdeskServerContext* remdesk_server_context_new(HANDLE vcm);
#ifdef __cplusplus

View File

@@ -352,6 +352,7 @@ extern "C"
FREERDP_API void shadow_server_free(rdpShadowServer* server);
WINPR_ATTR_MALLOC(shadow_server_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API rdpShadowServer* shadow_server_new(void);
FREERDP_API int shadow_capture_align_clip_rect(RECTANGLE_16* rect, const RECTANGLE_16* clip);

View File

@@ -102,6 +102,7 @@ extern "C"
FREERDP_API void telemetry_server_context_free(TelemetryServerContext* context);
WINPR_ATTR_MALLOC(telemetry_server_context_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API TelemetryServerContext* telemetry_server_context_new(HANDLE vcm);
#ifdef __cplusplus

View File

@@ -94,6 +94,7 @@ extern "C"
* \return A newly allocated settings struct or NULL
*/
WINPR_ATTR_MALLOC(freerdp_settings_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API rdpSettings* freerdp_settings_new(DWORD flags);
/** \brief Creates a deep copy of settings
@@ -103,6 +104,7 @@ extern "C"
* \return A newly allocated copy of \b settings or NULL
*/
WINPR_ATTR_MALLOC(freerdp_settings_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API rdpSettings* freerdp_settings_clone(const rdpSettings* settings);
/** \brief Deep copies settings from \b src to \b dst
@@ -153,9 +155,11 @@ extern "C"
FREERDP_API void freerdp_addin_argv_free(ADDIN_ARGV* args);
WINPR_ATTR_MALLOC(freerdp_addin_argv_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API ADDIN_ARGV* freerdp_addin_argv_new(size_t argc, const char* const argv[]);
WINPR_ATTR_MALLOC(freerdp_addin_argv_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API ADDIN_ARGV* freerdp_addin_argv_clone(const ADDIN_ARGV* args);
FREERDP_API BOOL freerdp_addin_argv_add_argument(ADDIN_ARGV* args, const char* argument);
@@ -193,10 +197,12 @@ extern "C"
FREERDP_API void freerdp_device_free(RDPDR_DEVICE* device);
WINPR_ATTR_MALLOC(freerdp_device_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API RDPDR_DEVICE* freerdp_device_new(UINT32 Type, size_t count,
const char* const args[]);
WINPR_ATTR_MALLOC(freerdp_device_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API RDPDR_DEVICE* freerdp_device_clone(const RDPDR_DEVICE* device);
FREERDP_API BOOL freerdp_device_equal(const RDPDR_DEVICE* one, const RDPDR_DEVICE* other);
@@ -754,6 +760,7 @@ extern "C"
* @note Since 3.17.1 this is a wrapper for \b freerdp_GetConfigFilePath(FALSE, "")
*/
WINPR_ATTR_MALLOC(free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API char* freerdp_settings_get_config_path(void);
/** @brief Sort monitor array according to:
@@ -787,6 +794,7 @@ extern "C"
* @since version 3.16.0
*/
WINPR_ATTR_MALLOC(free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API char* freerdp_settings_serialize(const rdpSettings* settings, BOOL pretty,
size_t* plength);
@@ -798,6 +806,7 @@ extern "C"
* @since version 3.16.0
*/
WINPR_ATTR_MALLOC(freerdp_settings_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API rdpSettings* freerdp_settings_deserialize(const char* json, size_t length);
#ifdef __cplusplus

View File

@@ -164,6 +164,7 @@ extern "C"
* @since version 3.9.0
*/
WINPR_ATTR_MALLOC(transport_layer_free, 1)
WINPR_ATTR_NODISCARD
FREERDP_API rdpTransportLayer* transport_layer_new(rdpTransport* transport, size_t contextSize);
#ifdef __cplusplus