20#ifndef FREERDP_CLIENT_CMDLINE_H
21#define FREERDP_CLIENT_CMDLINE_H
23#include <winpr/cmdline.h>
25#include <freerdp/api.h>
26#include <freerdp/types.h>
27#include <freerdp/settings.h>
36 FREERDP_SETTINGS_CMD_PARSE_NO_FLAGS = 0x0000u,
37 FREERDP_SETTINGS_CMD_PARSE_SUPPRESS_WARNINGS = 0x0002u
38 } FREERDP_SETTINGS_CMD_PARSE_FLAGS;
62 FREERDP_API
int freerdp_client_settings_parse_command_line_arguments(rdpSettings* settings,
63 int argc,
char** argv,
83 FREERDP_API
int freerdp_client_settings_parse_command_line_arguments_ex(
84 rdpSettings* settings,
int argc,
char** argv, BOOL allowUnknown,
86 freerdp_command_line_handle_option_t handle_option,
void* handle_userdata);
108 FREERDP_API
int freerdp_client_settings_parse_command_line_arguments_with_flags(
109 rdpSettings* settings,
int argc,
char** argv, BOOL allowUnknown,
111 freerdp_command_line_handle_option_t handle_option,
void* handle_userdata, UINT32 flags,
115 FREERDP_API
int freerdp_client_settings_command_line_status_print(rdpSettings* settings,
116 int status,
int argc,
121 freerdp_client_settings_command_line_status_print_ex(rdpSettings* settings,
int status,
122 int argc,
char** argv,
126 FREERDP_API BOOL freerdp_client_load_addins(rdpChannels* channels, rdpSettings* settings);
132 FREERDP_API
void freerdp_client_warn_unmaintained(
int argc,
char* argv[]);
138 FREERDP_API
void freerdp_client_warn_experimental(
int argc,
char* argv[]);
144 FREERDP_API
void freerdp_client_warn_deprecated(
int argc,
char* argv[]);
146 FREERDP_API BOOL freerdp_client_print_version(
void);
157 FREERDP_API BOOL freerdp_client_print_version_ex(
int argc,
char** argv);
159 FREERDP_API BOOL freerdp_client_print_buildconfig(
void);
171 FREERDP_API BOOL freerdp_client_print_buildconfig_ex(
int argc,
char** argv);
173 FREERDP_API BOOL freerdp_client_print_command_line_help(
int argc,
char** argv);
175 FREERDP_API BOOL freerdp_client_print_command_line_help_ex(
179 FREERDP_API BOOL freerdp_parse_username(
const char* username,
char** user,
char** domain);
182 FREERDP_API BOOL freerdp_parse_hostname(
const char* hostname,
char** host,
int* port);
185 FREERDP_API BOOL freerdp_set_connection_type(rdpSettings* settings, UINT32 type);
188 FREERDP_API BOOL freerdp_client_add_device_channel(rdpSettings* settings,
size_t count,
189 const char*
const* params);
192 FREERDP_API BOOL freerdp_client_add_static_channel(rdpSettings* settings,
size_t count,
193 const char*
const* params);
196 FREERDP_API BOOL freerdp_client_del_static_channel(rdpSettings* settings,
const char* name);
199 FREERDP_API BOOL freerdp_client_add_dynamic_channel(rdpSettings* settings,
size_t count,
200 const char*
const* params);
203 FREERDP_API BOOL freerdp_client_del_dynamic_channel(rdpSettings* settings,
const char* name);