diff --git a/client/common/client.c b/client/common/client.c index 863c80989..4dbe3e075 100644 --- a/client/common/client.c +++ b/client/common/client.c @@ -295,8 +295,7 @@ int freerdp_client_settings_parse_command_line(rdpSettings* settings, int argc, int freerdp_client_settings_parse_command_line_ex( rdpSettings* settings, int argc, char** argv, BOOL allowUnknown, COMMAND_LINE_ARGUMENT_A* args, - size_t count, int (*handle_option)(const COMMAND_LINE_ARGUMENT_A* arg, void* custom), - void* handle_userdata) + size_t count, freerdp_command_line_handle_option_t handle_option, void* handle_userdata) { int status = 0; diff --git a/client/common/cmdline.c b/client/common/cmdline.c index 2aab96a72..bb1f2bcaf 100644 --- a/client/common/cmdline.c +++ b/client/common/cmdline.c @@ -72,9 +72,6 @@ #include #define TAG CLIENT_TAG("common.cmdline") -typedef int (*freerdp_command_line_handle_option_t)(const COMMAND_LINE_ARGUMENT_A* arg, - void* custom); - static const char str_force[] = "force"; static const char* option_starts_with(const char* what, const char* val); diff --git a/include/freerdp/client.h b/include/freerdp/client.h index 08e4c2125..df8167108 100644 --- a/include/freerdp/client.h +++ b/include/freerdp/client.h @@ -21,6 +21,7 @@ #define FREERDP_CLIENT_H #include +#include #include #include @@ -170,8 +171,7 @@ extern "C" 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, - int (*handle_option)(const COMMAND_LINE_ARGUMENT_A* arg, void* custom), - void* handle_userdata); + freerdp_command_line_handle_option_t handle_option, void* handle_userdata); FREERDP_API int freerdp_client_settings_parse_connection_file(rdpSettings* settings, const char* filename); diff --git a/include/freerdp/client/cmdline.h b/include/freerdp/client/cmdline.h index 1f8c2cb73..f6bc8c505 100644 --- a/include/freerdp/client/cmdline.h +++ b/include/freerdp/client/cmdline.h @@ -31,6 +31,18 @@ extern "C" { #endif + /** @brief Callback function type definition for command line handling + * + * @param arg A pointer to the argument to handle + * @param void* A pointer to user defined data + * + * @return \b 0 for success or a \b COMMAND_LINE_ERROR code + * + * @since version 3.12.0 + */ + typedef int (*freerdp_command_line_handle_option_t)(const COMMAND_LINE_ARGUMENT_A* arg, + void* custom); + /** \brief parses command line arguments to appropriate settings values. * * \param settings The settings instance to store the parsed values to @@ -63,8 +75,7 @@ extern "C" 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, - int (*handle_option)(const COMMAND_LINE_ARGUMENT_A* arg, void* custom), - void* handle_userdata); + freerdp_command_line_handle_option_t handle_option, void* handle_userdata); FREERDP_API int freerdp_client_settings_command_line_status_print(rdpSettings* settings, int status, int argc, diff --git a/include/freerdp/freerdp.h b/include/freerdp/freerdp.h index 0c1ad19ca..2d29d4ea6 100644 --- a/include/freerdp/freerdp.h +++ b/include/freerdp/freerdp.h @@ -748,7 +748,7 @@ owned by rdpRdp */ * state, ...) * \since version 3.12.0 */ - FREERDP_API BOOL freerdp_presist_credentials(rdpContext* context); + FREERDP_API BOOL freerdp_persist_credentials(rdpContext* context); #ifdef __cplusplus } diff --git a/libfreerdp/core/freerdp.c b/libfreerdp/core/freerdp.c index 49071885f..594a1a2b8 100644 --- a/libfreerdp/core/freerdp.c +++ b/libfreerdp/core/freerdp.c @@ -1460,7 +1460,7 @@ BOOL freerdp_is_valid_mcs_create_response(const BYTE* data, size_t size) return result; } -BOOL freerdp_presist_credentials(rdpContext* context) +BOOL freerdp_persist_credentials(rdpContext* context) { if (!context) return FALSE;