FreeRDP
Loading...
Searching...
No Matches
include/freerdp/client/cmdline.h
1
20#ifndef FREERDP_CLIENT_CMDLINE_H
21#define FREERDP_CLIENT_CMDLINE_H
22
23#include <winpr/cmdline.h>
24
25#include <freerdp/api.h>
26#include <freerdp/types.h>
27#include <freerdp/settings.h>
28
29#ifdef __cplusplus
30extern "C"
31{
32#endif
33
34 typedef enum
35 {
36 FREERDP_SETTINGS_CMD_PARSE_NO_FLAGS = 0x0000u,
37 FREERDP_SETTINGS_CMD_PARSE_SUPPRESS_WARNINGS = 0x0002u
38 } FREERDP_SETTINGS_CMD_PARSE_FLAGS;
39
49 typedef int (*freerdp_command_line_handle_option_t)(const COMMAND_LINE_ARGUMENT_A* arg,
50 void* custom);
51
61 WINPR_ATTR_NODISCARD
62 FREERDP_API int freerdp_client_settings_parse_command_line_arguments(rdpSettings* settings,
63 int argc, char** argv,
64 BOOL allowUnknown);
65
82 WINPR_ATTR_NODISCARD
83 FREERDP_API int freerdp_client_settings_parse_command_line_arguments_ex(
84 rdpSettings* settings, int argc, char** argv, BOOL allowUnknown,
85 COMMAND_LINE_ARGUMENT_A* args, size_t count,
86 freerdp_command_line_handle_option_t handle_option, void* handle_userdata);
87
107 WINPR_ATTR_NODISCARD
108 FREERDP_API int freerdp_client_settings_parse_command_line_arguments_with_flags(
109 rdpSettings* settings, int argc, char** argv, BOOL allowUnknown,
110 COMMAND_LINE_ARGUMENT_A* args, size_t count,
111 freerdp_command_line_handle_option_t handle_option, void* handle_userdata, UINT32 flags,
112 ...);
113
114 WINPR_ATTR_NODISCARD
115 FREERDP_API int freerdp_client_settings_command_line_status_print(rdpSettings* settings,
116 int status, int argc,
117 char** argv);
118
119 WINPR_ATTR_NODISCARD
120 FREERDP_API int
121 freerdp_client_settings_command_line_status_print_ex(rdpSettings* settings, int status,
122 int argc, char** argv,
123 const COMMAND_LINE_ARGUMENT_A* custom);
124
125 WINPR_ATTR_NODISCARD
126 FREERDP_API BOOL freerdp_client_load_addins(rdpChannels* channels, rdpSettings* settings);
127
132 FREERDP_API void freerdp_client_warn_unmaintained(int argc, char* argv[]);
133
138 FREERDP_API void freerdp_client_warn_experimental(int argc, char* argv[]);
139
144 FREERDP_API void freerdp_client_warn_deprecated(int argc, char* argv[]);
145
146 FREERDP_API BOOL freerdp_client_print_version(void);
147
157 FREERDP_API BOOL freerdp_client_print_version_ex(int argc, char** argv);
158
159 FREERDP_API BOOL freerdp_client_print_buildconfig(void);
160
171 FREERDP_API BOOL freerdp_client_print_buildconfig_ex(int argc, char** argv);
172
173 FREERDP_API BOOL freerdp_client_print_command_line_help(int argc, char** argv);
174
175 FREERDP_API BOOL freerdp_client_print_command_line_help_ex(
176 int argc, char** argv, const COMMAND_LINE_ARGUMENT_A* custom);
177
178 WINPR_ATTR_NODISCARD
179 FREERDP_API BOOL freerdp_parse_username(const char* username, char** user, char** domain);
180
181 WINPR_ATTR_NODISCARD
182 FREERDP_API BOOL freerdp_parse_hostname(const char* hostname, char** host, int* port);
183
184 WINPR_ATTR_NODISCARD
185 FREERDP_API BOOL freerdp_set_connection_type(rdpSettings* settings, UINT32 type);
186
187 WINPR_ATTR_NODISCARD
188 FREERDP_API BOOL freerdp_client_add_device_channel(rdpSettings* settings, size_t count,
189 const char* const* params);
190
191 WINPR_ATTR_NODISCARD
192 FREERDP_API BOOL freerdp_client_add_static_channel(rdpSettings* settings, size_t count,
193 const char* const* params);
194
195 WINPR_ATTR_NODISCARD
196 FREERDP_API BOOL freerdp_client_del_static_channel(rdpSettings* settings, const char* name);
197
198 WINPR_ATTR_NODISCARD
199 FREERDP_API BOOL freerdp_client_add_dynamic_channel(rdpSettings* settings, size_t count,
200 const char* const* params);
201
202 WINPR_ATTR_NODISCARD
203 FREERDP_API BOOL freerdp_client_del_dynamic_channel(rdpSettings* settings, const char* name);
204
205#ifdef __cplusplus
206}
207#endif
208
209#endif /* FREERDP_CLIENT_CMDLINE_H */