[documentation] update

* Fix wrong tag @version, replace with @since
* Document some functions
This commit is contained in:
akallabeth 2024-09-12 10:50:38 +02:00
parent 2638d9d894
commit 7aa80cb751
No known key found for this signature in database
GPG Key ID: A49454A3FC909FD5
28 changed files with 93 additions and 62 deletions

View File

@ -14,7 +14,7 @@
/** If set the rdpSettings struct is opaque and internals can only be accessed /** If set the rdpSettings struct is opaque and internals can only be accessed
* through getters/setters * through getters/setters
* *
* \version 3.0.0 * \since version 3.0.0
*/ */
#cmakedefine WITH_OPAQUE_SETTINGS #cmakedefine WITH_OPAQUE_SETTINGS
@ -42,7 +42,7 @@
#cmakedefine WITH_LAME #cmakedefine WITH_LAME
/** If defined Opus codec support is available. /** If defined Opus codec support is available.
* *
* \version 3.0.0 * \since version 3.0.0
*/ */
#cmakedefine WITH_OPUS #cmakedefine WITH_OPUS
#cmakedefine WITH_FAAD2 #cmakedefine WITH_FAAD2
@ -103,17 +103,17 @@
#cmakedefine CHANNEL_GFXREDIR_SERVER #cmakedefine CHANNEL_GFXREDIR_SERVER
/** If defined location channel support is available. /** If defined location channel support is available.
* *
* \version 3.0.0 * \since version 3.0.0
*/ */
#cmakedefine CHANNEL_LOCATION #cmakedefine CHANNEL_LOCATION
/** If defined location client side channel support is available. /** If defined location client side channel support is available.
* *
* \version 3.0.0 * \since version 3.0.0
*/ */
#cmakedefine CHANNEL_LOCATION_CLIENT #cmakedefine CHANNEL_LOCATION_CLIENT
/** If defined location server side channel support is available. /** If defined location server side channel support is available.
* *
* \version 3.0.0 * \since version 3.0.0
*/ */
#cmakedefine CHANNEL_LOCATION_SERVER #cmakedefine CHANNEL_LOCATION_SERVER
#cmakedefine CHANNEL_PARALLEL #cmakedefine CHANNEL_PARALLEL
@ -142,19 +142,19 @@
#cmakedefine CHANNEL_RDPGFX_SERVER #cmakedefine CHANNEL_RDPGFX_SERVER
/** If defined mouse cursor channel support is available. /** If defined mouse cursor channel support is available.
* *
* \version 3.0.0 * \since version 3.0.0
*/ */
#cmakedefine CHANNEL_RDPEMSC #cmakedefine CHANNEL_RDPEMSC
/** If defined mouse cursor channel support is available. /** If defined mouse cursor channel support is available.
* *
* \version 3.0.0 * \since version 3.0.0
*/ */
#cmakedefine CHANNEL_RDPEMSC_CLIENT #cmakedefine CHANNEL_RDPEMSC_CLIENT
/** If defined mouse cursor channel support is available. /** If defined mouse cursor channel support is available.
* *
* \version 3.0.0 * \since version 3.0.0
*/ */
#cmakedefine CHANNEL_RDPEMSC_SERVER #cmakedefine CHANNEL_RDPEMSC_SERVER
#cmakedefine CHANNEL_RDPSND #cmakedefine CHANNEL_RDPSND
@ -223,7 +223,7 @@
/** If defined linux/vm_sockets.h support is available. /** If defined linux/vm_sockets.h support is available.
* *
* \version 3.0.0 * \since version 3.0.0
*/ */
#cmakedefine HAVE_AF_VSOCK_H #cmakedefine HAVE_AF_VSOCK_H

View File

@ -30,7 +30,7 @@ extern "C"
/** A list of available settings keys of type BOOL /** A list of available settings keys of type BOOL
* *
* \version 3.0.0 * \since version 3.0.0
*/ */
typedef enum typedef enum
{ {
@ -39,7 +39,7 @@ typedef enum
/** A list of available settings keys of type INT16 /** A list of available settings keys of type INT16
* *
* \version 3.0.0 * \since version 3.0.0
*/ */
typedef enum typedef enum
{ {
@ -48,7 +48,7 @@ typedef enum
/** A list of available settings keys of type UINT16 /** A list of available settings keys of type UINT16
* *
* \version 3.0.0 * \since version 3.0.0
*/ */
typedef enum typedef enum
{ {
@ -57,7 +57,7 @@ typedef enum
/** A list of available settings keys of type INT32 /** A list of available settings keys of type INT32
* *
* \version 3.0.0 * \since version 3.0.0
*/ */
typedef enum typedef enum
{ {
@ -66,7 +66,7 @@ typedef enum
/** A list of available settings keys of type UINT32 /** A list of available settings keys of type UINT32
* *
* \version 3.0.0 * \since version 3.0.0
*/ */
typedef enum typedef enum
{ {
@ -75,7 +75,7 @@ typedef enum
/** A list of available settings keys of type INT64 /** A list of available settings keys of type INT64
* *
* \version 3.0.0 * \since version 3.0.0
*/ */
typedef enum typedef enum
{ {
@ -84,7 +84,7 @@ typedef enum
/** A list of available settings keys of type UINT64 /** A list of available settings keys of type UINT64
* *
* \version 3.0.0 * \since version 3.0.0
*/ */
typedef enum typedef enum
{ {
@ -93,7 +93,7 @@ typedef enum
/** A list of available settings keys of type STRING /** A list of available settings keys of type STRING
* *
* \version 3.0.0 * \since version 3.0.0
*/ */
typedef enum typedef enum
{ {
@ -102,7 +102,7 @@ typedef enum
/** A list of available settings keys of type POINTER /** A list of available settings keys of type POINTER
* *
* \version 3.0.0 * \since version 3.0.0
*/ */
typedef enum typedef enum
{ {
@ -112,7 +112,7 @@ typedef enum
/** Highest indes in the rdpSettings stable API /** Highest indes in the rdpSettings stable API
* *
* \version 3.0.0 * \since version 3.0.0
*/ */
#define FreeRDP_Settings_StableAPI_MAX 5312 #define FreeRDP_Settings_StableAPI_MAX 5312

View File

@ -28,13 +28,13 @@
/** The command line name of the channel /** The command line name of the channel
* *
* \version 3.0.0 * \since version 3.0.0
*/ */
#define AUDIN_CHANNEL_NAME "audin" #define AUDIN_CHANNEL_NAME "audin"
/** The name of the channel (protocol internal) /** The name of the channel (protocol internal)
* *
* \version 3.0.0 * \since version 3.0.0
*/ */
#define AUDIN_DVC_CHANNEL_NAME "AUDIO_INPUT" #define AUDIN_DVC_CHANNEL_NAME "AUDIO_INPUT"

View File

@ -28,7 +28,7 @@
/** The command line name of the channel /** The command line name of the channel
* *
* \version 3.0.0 * \since version 3.0.0
*/ */
#define CLIPRDR_CHANNEL_NAME "cliprdr" #define CLIPRDR_CHANNEL_NAME "cliprdr"
#define CLIPRDR_SVC_CHANNEL_NAME "cliprdr" #define CLIPRDR_SVC_CHANNEL_NAME "cliprdr"

View File

@ -27,7 +27,7 @@
/** The command line name of the channel /** The command line name of the channel
* *
* \version 3.0.0 * \since version 3.0.0
*/ */
#define DRDYNVC_CHANNEL_NAME "drdynvc" #define DRDYNVC_CHANNEL_NAME "drdynvc"
#define DRDYNVC_SVC_CHANNEL_NAME "drdynvc" #define DRDYNVC_SVC_CHANNEL_NAME "drdynvc"

View File

@ -27,7 +27,7 @@
/** The command line name of the channel /** The command line name of the channel
* *
* \version 3.0.0 * \since version 3.0.0
*/ */
#define ECHO_CHANNEL_NAME "echo" #define ECHO_CHANNEL_NAME "echo"
#define ECHO_DVC_CHANNEL_NAME "ECHO" #define ECHO_DVC_CHANNEL_NAME "ECHO"

View File

@ -30,7 +30,7 @@ extern "C"
/** The command line name of the channel /** The command line name of the channel
* *
* \version 3.0.0 * \since version 3.0.0
*/ */
#define ENCOMSP_CHANNEL_NAME "encomsp" #define ENCOMSP_CHANNEL_NAME "encomsp"
#define ENCOMSP_SVC_CHANNEL_NAME "encomsp" #define ENCOMSP_SVC_CHANNEL_NAME "encomsp"

View File

@ -25,7 +25,7 @@
/** The command line name of the channel /** The command line name of the channel
* *
* \version 3.0.0 * \since version 3.0.0
*/ */
#define GEOMETRY_CHANNEL_NAME "geometry" #define GEOMETRY_CHANNEL_NAME "geometry"
#define GEOMETRY_DVC_CHANNEL_NAME "Microsoft::Windows::RDS::Geometry::v08.01" #define GEOMETRY_DVC_CHANNEL_NAME "Microsoft::Windows::RDS::Geometry::v08.01"

View File

@ -26,7 +26,7 @@
/** The command line name of the channel /** The command line name of the channel
* *
* \version 3.0.0 * \since version 3.0.0
*/ */
#define LOCATION_CHANNEL_NAME "location" #define LOCATION_CHANNEL_NAME "location"

View File

@ -44,7 +44,7 @@ extern "C"
/** The command line name of the channel /** The command line name of the channel
* *
* \version 3.0.0 * \since version 3.0.0
*/ */
#define RDPDR_CHANNEL_NAME "rdpdr" #define RDPDR_CHANNEL_NAME "rdpdr"
#define RDPDR_SVC_CHANNEL_NAME "rdpdr" #define RDPDR_SVC_CHANNEL_NAME "rdpdr"

View File

@ -26,7 +26,7 @@
/** The command line name of the channel /** The command line name of the channel
* *
* \version 3.0.0 * \since version 3.0.0
*/ */
#define RDPECAM_CHANNEL_NAME "rdpecam" #define RDPECAM_CHANNEL_NAME "rdpecam"
#define RDPECAM_DVC_CHANNEL_NAME "rdpecam" #define RDPECAM_DVC_CHANNEL_NAME "rdpecam"

View File

@ -33,7 +33,7 @@ extern "C"
/** The command line name of the channel /** The command line name of the channel
* *
* \version 3.0.0 * \since version 3.0.0
*/ */
#define RDPEI_CHANNEL_NAME "rdpei" #define RDPEI_CHANNEL_NAME "rdpei"
#define RDPEI_DVC_CHANNEL_NAME "Microsoft::Windows::RDS::Input" #define RDPEI_DVC_CHANNEL_NAME "Microsoft::Windows::RDS::Input"

View File

@ -23,7 +23,7 @@
/** \file [MS-RDPEMSC] Mouse Cursor Virtual Channel Extension /** \file [MS-RDPEMSC] Mouse Cursor Virtual Channel Extension
* \link * \link
* https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-rdpemsc/2591b507-cd5a-4537-be29-b45540543dc8 * https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-rdpemsc/2591b507-cd5a-4537-be29-b45540543dc8
* \version 3.0.0 * \since version 3.0.0
*/ */
#include <freerdp/api.h> #include <freerdp/api.h>
#include <freerdp/dvc.h> #include <freerdp/dvc.h>
@ -31,7 +31,7 @@
/** The command line name of the channel /** The command line name of the channel
* *
* \version 3.0.0 * \since version 3.0.0
*/ */
#define RDPEMSC_CHANNEL_NAME "mousecursor" #define RDPEMSC_CHANNEL_NAME "mousecursor"
#define RDPEMSC_DVC_CHANNEL_NAME "Microsoft::Windows::RDS::MouseCursor" #define RDPEMSC_DVC_CHANNEL_NAME "Microsoft::Windows::RDS::MouseCursor"

View File

@ -27,7 +27,7 @@
/** The command line name of the channel /** The command line name of the channel
* *
* \version 3.0.0 * \since version 3.0.0
*/ */
#define RDPEWA_CHANNEL_NAME "rdpewa" #define RDPEWA_CHANNEL_NAME "rdpewa"
#define RDPEWA_DVC_CHANNEL_NAME "rdpewa" #define RDPEWA_DVC_CHANNEL_NAME "rdpewa"

View File

@ -26,7 +26,7 @@
/** The command line name of the channel /** The command line name of the channel
* *
* \version 3.0.0 * \since version 3.0.0
*/ */
#define RDPGFX_CHANNEL_NAME "rdpgfx" #define RDPGFX_CHANNEL_NAME "rdpgfx"
#define RDPGFX_DVC_CHANNEL_NAME "Microsoft::Windows::RDS::Graphics" #define RDPGFX_DVC_CHANNEL_NAME "Microsoft::Windows::RDS::Graphics"

View File

@ -30,7 +30,7 @@ extern "C"
/** The command line name of the channel /** The command line name of the channel
* *
* \version 3.0.0 * \since version 3.0.0
*/ */
#define REMDESK_CHANNEL_NAME "remdesk" #define REMDESK_CHANNEL_NAME "remdesk"
#define REMDESK_SVC_CHANNEL_NAME "remdesk" #define REMDESK_SVC_CHANNEL_NAME "remdesk"

View File

@ -26,7 +26,7 @@
/** The command line name of the channel /** The command line name of the channel
* *
* \version 3.0.0 * \since version 3.0.0
*/ */
#define TELEMETRY_CHANNEL_NAME "telemetry" #define TELEMETRY_CHANNEL_NAME "telemetry"
#define TELEMETRY_DVC_CHANNEL_NAME "Microsoft::Windows::RDS::Telemetry" #define TELEMETRY_DVC_CHANNEL_NAME "Microsoft::Windows::RDS::Telemetry"

View File

@ -32,7 +32,7 @@
/** The command line name of the channel /** The command line name of the channel
* *
* \version 3.0.0 * \since version 3.0.0
*/ */
#define TSMF_CHANNEL_NAME "tsmf" #define TSMF_CHANNEL_NAME "tsmf"
#define TSMF_DVC_CHANNEL_NAME "TSMF" #define TSMF_DVC_CHANNEL_NAME "TSMF"

View File

@ -27,7 +27,7 @@
/** The command line name of the channel /** The command line name of the channel
* *
* \version 3.0.0 * \since version 3.0.0
*/ */
#define URBDRC_CHANNEL_NAME "urbdrc" #define URBDRC_CHANNEL_NAME "urbdrc"
#define URBDRC_DVC_CHANNEL_NAME "urbdrc" #define URBDRC_DVC_CHANNEL_NAME "urbdrc"

View File

@ -25,7 +25,7 @@
/** The command line name of the channel /** The command line name of the channel
* *
* \version 3.0.0 * \since version 3.0.0
*/ */
#define VIDEO_CHANNEL_NAME "video" #define VIDEO_CHANNEL_NAME "video"
#define VIDEO_CONTROL_DVC_CHANNEL_NAME "Microsoft::Windows::RDS::Video::Control::v08.01" #define VIDEO_CONTROL_DVC_CHANNEL_NAME "Microsoft::Windows::RDS::Video::Control::v08.01"

View File

@ -56,7 +56,7 @@ extern "C"
* \param handle_option the handler function for custom arguments. * \param handle_option the handler function for custom arguments.
* \param handle_userdata custom data supplied to \b handle_option as context * \param handle_userdata custom data supplied to \b handle_option as context
* *
* \version 3.0.0 * \since version 3.0.0
* *
* \return \b 0 in case of success, a negative number in case of failure. * \return \b 0 in case of success, a negative number in case of failure.
*/ */
@ -77,19 +77,19 @@ extern "C"
/** Print a command line warning about the component being unmaintained. /** Print a command line warning about the component being unmaintained.
* *
* \version 3.0.0 * \since version 3.0.0
*/ */
FREERDP_API void freerdp_client_warn_unmaintained(int argc, char* argv[]); FREERDP_API void freerdp_client_warn_unmaintained(int argc, char* argv[]);
/** Print a command line warning about the component being experimental. /** Print a command line warning about the component being experimental.
* *
* \version 3.0.0 * \since version 3.0.0
*/ */
FREERDP_API void freerdp_client_warn_experimental(int argc, char* argv[]); FREERDP_API void freerdp_client_warn_experimental(int argc, char* argv[]);
/** Print a command line warning about the component being deprecated. /** Print a command line warning about the component being deprecated.
* *
* \version 3.0.0 * \since version 3.0.0
*/ */
FREERDP_API void freerdp_client_warn_deprecated(int argc, char* argv[]); FREERDP_API void freerdp_client_warn_deprecated(int argc, char* argv[]);

View File

@ -192,7 +192,7 @@ extern "C"
#endif /* !WAVE_FORMAT_LUCENT_G723 */ #endif /* !WAVE_FORMAT_LUCENT_G723 */
/** Opus format identifier /** Opus format identifier
* \version 3.0.0 * \since version 3.0.0
*/ */
#define WAVE_FORMAT_OPUS 0x704F #define WAVE_FORMAT_OPUS 0x704F
#define WAVE_FORMAT_AAC_MS 0xA106 #define WAVE_FORMAT_AAC_MS 0xA106

View File

@ -76,7 +76,7 @@ extern "C"
* @param s The stream to write to * @param s The stream to write to
* @param msg The message to encode * @param msg The message to encode
* *
* @version 3.0.0 * @since version 3.0.0
* @return \b TRUE in case of success, \b FALSE for any error * @return \b TRUE in case of success, \b FALSE for any error
*/ */
FREERDP_API BOOL progressive_rfx_write_message_progressive_simple( FREERDP_API BOOL progressive_rfx_write_message_progressive_simple(

View File

@ -128,7 +128,7 @@ extern "C"
/** Getter for RFX mode /** Getter for RFX mode
* @param context The RFX context to query * @param context The RFX context to query
* *
* @version 3.0.0 * @since version 3.0.0
* *
* @return The RFX mode that is currently in use * @return The RFX mode that is currently in use
*/ */
@ -139,7 +139,7 @@ extern "C"
/** Getter for RFX pixel format /** Getter for RFX pixel format
* @param context The RFX context to query * @param context The RFX context to query
* *
* @version 3.0.0 * @since version 3.0.0
* *
* @return The RFX pixel format that is currently in use * @return The RFX pixel format that is currently in use
*/ */
@ -150,7 +150,7 @@ extern "C"
/** Getter for RFX palette /** Getter for RFX palette
* @param context The RFX context to query * @param context The RFX context to query
* *
* @version 3.0.0 * @since version 3.0.0
* *
* @return The RFX palette that is currently in use or \b NULL * @return The RFX palette that is currently in use or \b NULL
*/ */
@ -164,7 +164,7 @@ extern "C"
* @param s The stream to write to * @param s The stream to write to
* @param msg The message to encode * @param msg The message to encode
* *
* @version 3.0.0 * @since version 3.0.0
* @return \b TRUE in case of success, \b FALSE for any error * @return \b TRUE in case of success, \b FALSE for any error
*/ */
FREERDP_API BOOL rfx_write_message_progressive_simple(RFX_CONTEXT* rfx, wStream* s, FREERDP_API BOOL rfx_write_message_progressive_simple(RFX_CONTEXT* rfx, wStream* s,

View File

@ -68,7 +68,7 @@ extern "C"
* @param host The hostname to look up * @param host The hostname to look up
* @param port The port to look up * @param port The port to look up
* *
* @version 3.0.0 * @since version 3.0.0
* *
* @return The certificate store file path or \b NULL * @return The certificate store file path or \b NULL
*/ */

View File

@ -46,7 +46,7 @@ extern "C"
* @param length The lenght of the data in bytes * @param length The lenght of the data in bytes
* @param withCrLf Option to split the encoded data with CRLF linebreaks * @param withCrLf Option to split the encoded data with CRLF linebreaks
* *
* @version 3.0.0 * @since version 3.0.0
* *
* @return The encoded BASE64 string or \b NULL if failed * @return The encoded BASE64 string or \b NULL if failed
*/ */

View File

@ -22,7 +22,7 @@
#define FREERDP_UTILS_AAD_H #define FREERDP_UTILS_AAD_H
/** \file AAD related helper utilities /** \file AAD related helper utilities
* \version 3.0.0 * \since version 3.0.0
*/ */
#include <winpr/wlog.h> #include <winpr/wlog.h>
@ -36,7 +36,7 @@
* @param data The JSON to parse * @param data The JSON to parse
* @param length The number of bytes of the JSON data * @param length The number of bytes of the JSON data
* *
* @version 3.0.0 * @since version 3.0.0
* *
* @return The token string or \b NULL * @return The token string or \b NULL
*/ */

View File

@ -22,7 +22,7 @@
#define FREERDP_UTILS_ENCODED_TYPES_H #define FREERDP_UTILS_ENCODED_TYPES_H
/** \file Encoded Types helpers /** \file Encoded Types helpers
* \version 3.0.0 * \since version 3.0.0
*/ */
#include <freerdp/api.h> #include <freerdp/api.h>
@ -34,22 +34,22 @@ extern "C"
#endif #endif
/** Maximum value of a 4 byte signed integer /** Maximum value of a 4 byte signed integer
* \version 3.x.0 * \since version 3.5.0
*/ */
#define FREERDP_FOUR_BYTE_SIGNED_INT_MAX 0x1FFFFFFFl #define FREERDP_FOUR_BYTE_SIGNED_INT_MAX 0x1FFFFFFFl
/** Minimum value of a 4 byte signed integer /** Minimum value of a 4 byte signed integer
* \version 3.x.0 * \since version 3.5.0
*/ */
#define FREERDP_FOUR_BYTE_SIGNED_INT_MIN -0x1FFFFFFFl #define FREERDP_FOUR_BYTE_SIGNED_INT_MIN -0x1FFFFFFFl
/** Maximum value of a 4 byte float /** Maximum value of a 4 byte float
* \version 3.x.0 * \since version 3.5.0
*/ */
#define FREERDP_FOUR_BYTE_FLOAT_MAX 0x3FFFFFF #define FREERDP_FOUR_BYTE_FLOAT_MAX 0x3FFFFFF
/** Minimum value of a 4 byte float /** Minimum value of a 4 byte float
* \version 3.x.0 * \since version 3.5.0
*/ */
#define FREERDP_FOUR_BYTE_FLOAT_MIN -0x3FFFFFF #define FREERDP_FOUR_BYTE_FLOAT_MIN -0x3FFFFFF
@ -58,11 +58,21 @@ extern "C"
* @param s The steam to read from * @param s The steam to read from
* @param value A pointer to an INT32 to hold the result * @param value A pointer to an INT32 to hold the result
* *
* @version 3.0.0 * @since version 3.0.0
* *
* @return \bTRUE for successful reading, \b FALSE otherwise * @return \b TRUE for successful reading, \b FALSE otherwise
*/ */
FREERDP_API BOOL freerdp_read_four_byte_signed_integer(wStream* s, INT32* value); FREERDP_API BOOL freerdp_read_four_byte_signed_integer(wStream* s, INT32* value);
/** Write a 4 byte signed integer to a stream
*
* @param s The steam to read from
* @param value The INT32 value to encode and write
*
* @since version 3.4.0
*
* @return \b TRUE for successful writing, \b FALSE otherwise
*/
FREERDP_API BOOL freerdp_write_four_byte_signed_integer(wStream* s, INT32 value); FREERDP_API BOOL freerdp_write_four_byte_signed_integer(wStream* s, INT32 value);
/** Read a 4 byte float from a stream and store the decoded value /** Read a 4 byte float from a stream and store the decoded value
@ -70,12 +80,33 @@ extern "C"
* @param s The steam to read from * @param s The steam to read from
* @param value A pointer to a double to hold the result * @param value A pointer to a double to hold the result
* *
* @version 3.0.0 * @since version 3.0.0
* *
* @return \bTRUE for successful reading, \b FALSE otherwise * @return \b TRUE for successful reading, \b FALSE otherwise
*/ */
FREERDP_API BOOL freerdp_read_four_byte_float(wStream* s, double* value); FREERDP_API BOOL freerdp_read_four_byte_float(wStream* s, double* value);
/** Read a 4 byte float from a stream and store the decoded value and exponent
*
* @param s The steam to read from
* @param value A pointer to a double to hold the result
* @param exp A pointer to a BYTE to hold the exponent result
*
* @since version 3.5.0
*
* @return \b TRUE for successful reading, \b FALSE otherwise
*/
FREERDP_API BOOL freerdp_read_four_byte_float_exp(wStream* s, double* value, BYTE* exp); FREERDP_API BOOL freerdp_read_four_byte_float_exp(wStream* s, double* value, BYTE* exp);
/** Write a 4 byte float to a stream
*
* @param s The steam to read from
* @param value The float value to encode and write
*
* @since version 3.4.0
*
* @return \b TRUE for successful writing, \b FALSE otherwise
*/
FREERDP_API BOOL freerdp_write_four_byte_float(wStream* s, double value); FREERDP_API BOOL freerdp_write_four_byte_float(wStream* s, double value);
#ifdef __cplusplus #ifdef __cplusplus