Fork me on GitHub
Loading...
Searching...
No Matches
cmdline.h
Go to the documentation of this file.
1
8#ifndef CMDLINE_H
9#define CMDLINE_H
10
11/* If we use autoconf. */
12#ifdef HAVE_CONFIG_H
13#include "config.h"
14#endif
15
16#include <stdio.h> /* for FILE */
17
18#ifdef __cplusplus
19extern "C" {
20#endif /* __cplusplus */
21
22#ifndef CMDLINE_PARSER_PACKAGE
24#define CMDLINE_PARSER_PACKAGE "janus"
25#endif
26
27#ifndef CMDLINE_PARSER_PACKAGE_NAME
29#define CMDLINE_PARSER_PACKAGE_NAME "janus"
30#endif
31
32#ifndef CMDLINE_PARSER_VERSION
34#define CMDLINE_PARSER_VERSION "1.0.0"
35#endif
36
39{
40 const char *help_help;
41 const char *version_help;
43 const char *daemon_help;
44 char * pid_file_arg;
46 const char *pid_file_help;
48 const char *disable_stdout_help;
50 const char *log_stdout_help;
51 char * log_file_arg;
53 const char *log_file_help;
54 char * cwd_path_arg;
56 const char *cwd_path_help;
59 const char *interface_help;
62 const char *plugins_folder_help;
63 char * config_arg;
64 char * config_orig;
65 const char *config_help;
68 const char *configs_folder_help;
69 char * cert_pem_arg;
71 const char *cert_pem_help;
72 char * cert_key_arg;
74 const char *cert_key_help;
75 char * cert_pwd_arg;
77 const char *cert_pwd_help;
80 const char *stun_server_help;
81 char * nat_1_1_arg;
82 char * nat_1_1_orig;
83 const char *nat_1_1_help;
97 const char *libnice_debug_help;
99 const char *full_trickle_help;
101 const char *ice_lite_help;
103 const char *ice_tcp_help;
118 const char *twcc_period_help;
121 const char *server_name_help;
130 const char *debug_level_help;
136 const char *debug_locks_help;
139 const char *apisecret_help;
141 const char *token_auth_help;
150 unsigned int help_given ;
151 unsigned int version_given ;
152 unsigned int daemon_given ;
153 unsigned int pid_file_given ;
154 unsigned int disable_stdout_given ;
155 unsigned int log_stdout_given ;
156 unsigned int log_file_given ;
157 unsigned int cwd_path_given ;
158 unsigned int interface_given ;
159 unsigned int plugins_folder_given ;
160 unsigned int config_given ;
161 unsigned int configs_folder_given ;
162 unsigned int cert_pem_given ;
163 unsigned int cert_key_given ;
164 unsigned int cert_pwd_given ;
165 unsigned int stun_server_given ;
166 unsigned int nat_1_1_given ;
169 unsigned int ice_ignore_list_given ;
170 unsigned int ipv6_candidates_given ;
171 unsigned int ipv6_link_local_given ;
172 unsigned int libnice_debug_given ;
173 unsigned int full_trickle_given ;
174 unsigned int ice_lite_given ;
175 unsigned int ice_tcp_given ;
176 unsigned int min_nack_queue_given ;
177 unsigned int no_media_timer_given ;
179 unsigned int rtp_port_range_given ;
180 unsigned int twcc_period_given ;
181 unsigned int server_name_given ;
182 unsigned int session_timeout_given ;
184 unsigned int debug_level_given ;
186 unsigned int disable_colors_given ;
187 unsigned int debug_locks_given ;
188 unsigned int apisecret_given ;
189 unsigned int token_auth_given ;
191 unsigned int event_handlers_given ;
194} ;
195
198{
199 int override;
204} ;
205
207extern const char *gengetopt_args_info_purpose;
209extern const char *gengetopt_args_info_usage;
211extern const char *gengetopt_args_info_description;
213extern const char *gengetopt_args_info_help[];
214
222int cmdline_parser (int argc, char **argv,
223 struct gengetopt_args_info *args_info);
224
236int cmdline_parser2 (int argc, char **argv,
237 struct gengetopt_args_info *args_info,
238 int override, int initialize, int check_required);
239
248int cmdline_parser_ext (int argc, char **argv,
249 struct gengetopt_args_info *args_info,
250 struct cmdline_parser_params *params);
251
258int cmdline_parser_dump(FILE *outfile,
259 struct gengetopt_args_info *args_info);
260
268int cmdline_parser_file_save(const char *filename,
269 struct gengetopt_args_info *args_info);
270
279
286
293
299void cmdline_parser_init (struct gengetopt_args_info *args_info);
305void cmdline_parser_free (struct gengetopt_args_info *args_info);
306
314int cmdline_parser_required (struct gengetopt_args_info *args_info,
315 const char *prog_name);
316
317
318#ifdef __cplusplus
319}
320#endif /* __cplusplus */
321#endif /* CMDLINE_H */
int cmdline_parser_dump(FILE *outfile, struct gengetopt_args_info *args_info)
Definition: cmdline.c:416
int cmdline_parser(int argc, char **argv, struct gengetopt_args_info *args_info)
Definition: cmdline.c:560
int cmdline_parser_file_save(const char *filename, struct gengetopt_args_info *args_info)
Definition: cmdline.c:519
const char * gengetopt_args_info_purpose
the purpose string of the program
Definition: cmdline.c:28
const char * gengetopt_args_info_help[]
all the lines making the help output
Definition: cmdline.c:36
int cmdline_parser2(int argc, char **argv, struct gengetopt_args_info *args_info, int override, int initialize, int check_required)
Definition: cmdline.c:582
int cmdline_parser_required(struct gengetopt_args_info *args_info, const char *prog_name)
Definition: cmdline.c:605
void cmdline_parser_print_version(void)
Definition: cmdline.c:268
struct cmdline_parser_params * cmdline_parser_params_create(void)
Definition: cmdline.c:330
const char * gengetopt_args_info_usage
the usage string of the program
Definition: cmdline.c:30
int cmdline_parser_ext(int argc, char **argv, struct gengetopt_args_info *args_info, struct cmdline_parser_params *params)
Definition: cmdline.c:566
void cmdline_parser_init(struct gengetopt_args_info *args_info)
Definition: cmdline.c:309
const char * gengetopt_args_info_description
the description string of the program
Definition: cmdline.c:34
void cmdline_parser_print_help(void)
Definition: cmdline.c:300
void cmdline_parser_free(struct gengetopt_args_info *args_info)
Definition: cmdline.c:539
void cmdline_parser_params_init(struct cmdline_parser_params *params)
Definition: cmdline.c:317
Configuration files parsing (headers)
The additional parameters to pass to parser functions.
Definition: cmdline.h:198
int print_errors
whether getopt_long should print an error message for a bad option (default 1)
Definition: cmdline.h:203
int check_required
whether to check that all required options were provided (default 1)
Definition: cmdline.h:201
int check_ambiguity
whether to check for options already specified in the option structure gengetopt_args_info (default 0...
Definition: cmdline.h:202
int initialize
whether to initialize the option structure gengetopt_args_info (default 1)
Definition: cmdline.h:200
Where the command line options are stored.
Definition: cmdline.h:39
int ipv6_candidates_flag
Whether to enable IPv6 candidates or not (default=off).
Definition: cmdline.h:92
int twcc_period_arg
How often (in ms) to send TWCC feedback back to senders, if negotiated (default=200ms).
Definition: cmdline.h:116
char * session_timeout_orig
Session timeout value, in seconds (default=60) original value given at command line.
Definition: cmdline.h:123
const char * keep_private_host_help
When nat-1-1 is used (e.g., Amazon EC2 instances), don't remove the private host, but keep both to si...
Definition: cmdline.h:85
unsigned int keep_private_host_given
Whether keep-private-host was given.
Definition: cmdline.h:167
const char * config_help
Configuration file to use help description.
Definition: cmdline.h:65
int keep_private_host_flag
When nat-1-1 is used (e.g., Amazon EC2 instances), don't remove the private host, but keep both to si...
Definition: cmdline.h:84
unsigned int rtp_port_range_given
Whether rtp-port-range was given.
Definition: cmdline.h:179
unsigned int cert_pwd_given
Whether cert-pwd was given.
Definition: cmdline.h:164
const char * cert_pwd_help
DTLS certificate key passphrase (if needed) help description.
Definition: cmdline.h:77
unsigned int min_nack_queue_given
Whether min-nack-queue was given.
Definition: cmdline.h:176
const char * ice_lite_help
Whether to enable the ICE Lite mode or not help description.
Definition: cmdline.h:101
char * pid_file_orig
Open the specified PID file when starting Janus (default=none) original value given at command line.
Definition: cmdline.h:45
const char * log_file_help
Log to the specified file (default=stdout only) help description.
Definition: cmdline.h:53
char * reclaim_session_timeout_orig
Reclaim session timeout value, in seconds (default=0) original value given at command line.
Definition: cmdline.h:126
char * nat_1_1_orig
Comma-separated list of public IPs to put in all host candidates, assuming a 1:1 NAT is in place (e....
Definition: cmdline.h:82
const char * ice_tcp_help
Whether to enable ICE-TCP or not (warning: only works with ICE Lite) help description.
Definition: cmdline.h:103
char * ice_enforce_list_orig
Comma-separated list of the only interfaces to use for ICE gathering; partial strings are supported (...
Definition: cmdline.h:87
const char * ipv6_candidates_help
Whether to enable IPv6 candidates or not help description.
Definition: cmdline.h:93
const char * disable_stdout_help
Disable stdout based logging help description.
Definition: cmdline.h:48
const char * disable_colors_help
Disable color in the logging help description.
Definition: cmdline.h:134
const char * reclaim_session_timeout_help
Reclaim session timeout value, in seconds (default=0) help description.
Definition: cmdline.h:127
const char * token_auth_help
Enable token-based authentication for all requests help description.
Definition: cmdline.h:141
char * interface_orig
Interface to use (will be the public IP) original value given at command line.
Definition: cmdline.h:58
char * cert_pem_arg
DTLS certificate.
Definition: cmdline.h:69
unsigned int no_media_timer_given
Whether no-media-timer was given.
Definition: cmdline.h:177
char * ice_ignore_list_orig
Comma-separated list of interfaces or IP addresses to ignore for ICE gathering; partial strings are s...
Definition: cmdline.h:90
unsigned int event_handlers_given
Whether event-handlers was given.
Definition: cmdline.h:191
char * debug_level_orig
Debug/logging level (0=disable debugging, 7=maximum debug level; default=4) original value given at c...
Definition: cmdline.h:129
unsigned int server_name_given
Whether server-name was given.
Definition: cmdline.h:181
char * server_name_orig
Public name of this Janus instance (default=MyJanusInstance) original value given at command line.
Definition: cmdline.h:120
unsigned int ice_tcp_given
Whether ice-tcp was given.
Definition: cmdline.h:175
char * plugins_folder_orig
Plugins folder (default=./plugins) original value given at command line.
Definition: cmdline.h:61
int log_stdout_flag
Log to stdout, even when the process is daemonized (default=off).
Definition: cmdline.h:49
const char * ice_enforce_list_help
Comma-separated list of the only interfaces to use for ICE gathering; partial strings are supported (...
Definition: cmdline.h:88
unsigned int nat_1_1_given
Whether nat-1-1 was given.
Definition: cmdline.h:166
unsigned int pid_file_given
Whether pid-file was given.
Definition: cmdline.h:153
unsigned int interface_given
Whether interface was given.
Definition: cmdline.h:158
char * rtp_port_range_orig
Port range to use for RTP/RTCP original value given at command line.
Definition: cmdline.h:114
unsigned int token_auth_secret_given
Whether token-auth-secret was given.
Definition: cmdline.h:190
char * rtp_port_range_arg
Port range to use for RTP/RTCP.
Definition: cmdline.h:113
int no_media_timer_arg
Time (in s) that should pass with no media (audio or video) being received before Janus notifies you ...
Definition: cmdline.h:107
char * log_file_orig
Log to the specified file (default=stdout only) original value given at command line.
Definition: cmdline.h:52
char * token_auth_secret_orig
Secret to verify HMAC-signed tokens with, to be used with -A original value given at command line.
Definition: cmdline.h:143
const char * configs_folder_help
Configuration files folder (default=./conf) help description.
Definition: cmdline.h:68
int ice_tcp_flag
Whether to enable ICE-TCP or not (warning: only works with ICE Lite) (default=off).
Definition: cmdline.h:102
unsigned int stun_server_given
Whether stun-server was given.
Definition: cmdline.h:165
int disable_colors_flag
Disable color in the logging (default=off).
Definition: cmdline.h:133
char * interface_arg
Interface to use (will be the public IP).
Definition: cmdline.h:57
unsigned int plugins_folder_given
Whether plugins-folder was given.
Definition: cmdline.h:159
char * stun_server_arg
STUN server(:port) to use, if needed (e.g., Janus behind NAT, default=none).
Definition: cmdline.h:78
char * config_orig
Configuration file to use original value given at command line.
Definition: cmdline.h:64
const char * full_trickle_help
Do full-trickle instead of half-trickle help description.
Definition: cmdline.h:99
int reclaim_session_timeout_arg
Reclaim session timeout value, in seconds (default=0).
Definition: cmdline.h:125
const char * no_media_timer_help
Time (in s) that should pass with no media (audio or video) being received before Janus notifies you ...
Definition: cmdline.h:109
int min_nack_queue_arg
Minimum size of the NACK queue (in ms) per user for retransmissions, no matter the RTT.
Definition: cmdline.h:104
char * server_name_arg
Public name of this Janus instance (default=MyJanusInstance).
Definition: cmdline.h:119
int ice_lite_flag
Whether to enable the ICE Lite mode or not (default=off).
Definition: cmdline.h:100
const char * ipv6_link_local_help
Whether IPv6 link-local candidates should be gathered as well help description.
Definition: cmdline.h:95
const char * session_timeout_help
Session timeout value, in seconds (default=60) help description.
Definition: cmdline.h:124
const char * help_help
Print help and exit help description.
Definition: cmdline.h:40
int session_timeout_arg
Session timeout value, in seconds (default=60).
Definition: cmdline.h:122
int ipv6_link_local_flag
Whether IPv6 link-local candidates should be gathered as well (default=off).
Definition: cmdline.h:94
unsigned int configs_folder_given
Whether configs-folder was given.
Definition: cmdline.h:161
unsigned int debug_timestamps_given
Whether debug-timestamps was given.
Definition: cmdline.h:185
unsigned int ice_enforce_list_given
Whether ice-enforce-list was given.
Definition: cmdline.h:168
unsigned int ipv6_link_local_given
Whether ipv6-link-local was given.
Definition: cmdline.h:171
const char * daemon_help
Launch Janus in background as a daemon help description.
Definition: cmdline.h:43
const char * interface_help
Interface to use (will be the public IP) help description.
Definition: cmdline.h:59
int debug_level_arg
Debug/logging level (0=disable debugging, 7=maximum debug level; default=4).
Definition: cmdline.h:128
unsigned int full_trickle_given
Whether full-trickle was given.
Definition: cmdline.h:173
unsigned int cert_pem_given
Whether cert-pem was given.
Definition: cmdline.h:162
int no_webrtc_encryption_flag
Disable WebRTC encryption, so no DTLS or SRTP (only for debugging!) (default=off).
Definition: cmdline.h:147
const char * token_auth_secret_help
Secret to verify HMAC-signed tokens with, to be used with -A help description.
Definition: cmdline.h:144
unsigned int token_auth_given
Whether token-auth was given.
Definition: cmdline.h:189
char * token_auth_secret_arg
Secret to verify HMAC-signed tokens with, to be used with -A.
Definition: cmdline.h:142
char * cert_key_arg
DTLS certificate key.
Definition: cmdline.h:72
char * config_arg
Configuration file to use.
Definition: cmdline.h:63
char * ice_ignore_list_arg
Comma-separated list of interfaces or IP addresses to ignore for ICE gathering; partial strings are s...
Definition: cmdline.h:89
unsigned int slowlink_threshold_given
Whether slowlink-threshold was given.
Definition: cmdline.h:178
unsigned int libnice_debug_given
Whether libnice-debug was given.
Definition: cmdline.h:172
char * cert_pem_orig
DTLS certificate original value given at command line.
Definition: cmdline.h:70
const char * log_stdout_help
Log to stdout, even when the process is daemonized help description.
Definition: cmdline.h:50
const char * nat_1_1_help
Comma-separated list of public IPs to put in all host candidates, assuming a 1:1 NAT is in place (e....
Definition: cmdline.h:83
const char * debug_timestamps_help
Enable debug/logging timestamps help description.
Definition: cmdline.h:132
unsigned int debug_locks_given
Whether debug-locks was given.
Definition: cmdline.h:187
char * log_file_arg
Log to the specified file (default=stdout only).
Definition: cmdline.h:51
const char * stun_server_help
STUN server(:port) to use, if needed (e.g., Janus behind NAT, default=none) help description.
Definition: cmdline.h:80
char * nat_1_1_arg
Comma-separated list of public IPs to put in all host candidates, assuming a 1:1 NAT is in place (e....
Definition: cmdline.h:81
int slowlink_threshold_arg
Number of lost packets (per s) that should trigger a 'slowlink' Janus API event to users (default=0,...
Definition: cmdline.h:110
int token_auth_flag
Enable token-based authentication for all requests (default=off).
Definition: cmdline.h:140
const char * cert_key_help
DTLS certificate key help description.
Definition: cmdline.h:74
const char * event_handlers_help
Enable event handlers help description.
Definition: cmdline.h:146
int daemon_flag
Launch Janus in background as a daemon (default=off).
Definition: cmdline.h:42
const char * min_nack_queue_help
Minimum size of the NACK queue (in ms) per user for retransmissions, no matter the RTT help descripti...
Definition: cmdline.h:106
const char * cert_pem_help
DTLS certificate help description.
Definition: cmdline.h:71
char * cert_pwd_orig
DTLS certificate key passphrase (if needed) original value given at command line.
Definition: cmdline.h:76
const char * rtp_port_range_help
Port range to use for RTP/RTCP help description.
Definition: cmdline.h:115
char * stun_server_orig
STUN server(:port) to use, if needed (e.g., Janus behind NAT, default=none) original value given at c...
Definition: cmdline.h:79
char * ice_enforce_list_arg
Comma-separated list of the only interfaces to use for ICE gathering; partial strings are supported (...
Definition: cmdline.h:86
char * twcc_period_orig
How often (in ms) to send TWCC feedback back to senders, if negotiated (default=200ms) original value...
Definition: cmdline.h:117
const char * debug_locks_help
Enable debugging of locks/mutexes (very verbose!) help description.
Definition: cmdline.h:136
unsigned int daemon_given
Whether daemon was given.
Definition: cmdline.h:152
unsigned int session_timeout_given
Whether session-timeout was given.
Definition: cmdline.h:182
unsigned int disable_stdout_given
Whether disable-stdout was given.
Definition: cmdline.h:154
const char * no_webrtc_encryption_help
Disable WebRTC encryption, so no DTLS or SRTP (only for debugging!) help description.
Definition: cmdline.h:148
char * apisecret_orig
API secret all requests need to pass in order to be accepted by Janus (useful when wrapping Janus API...
Definition: cmdline.h:138
unsigned int no_webrtc_encryption_given
Whether no-webrtc-encryption was given.
Definition: cmdline.h:192
unsigned int twcc_period_given
Whether twcc-period was given.
Definition: cmdline.h:180
const char * apisecret_help
API secret all requests need to pass in order to be accepted by Janus (useful when wrapping Janus API...
Definition: cmdline.h:139
char * min_nack_queue_orig
Minimum size of the NACK queue (in ms) per user for retransmissions, no matter the RTT original value...
Definition: cmdline.h:105
unsigned int debug_level_given
Whether debug-level was given.
Definition: cmdline.h:184
unsigned int config_given
Whether config was given.
Definition: cmdline.h:160
unsigned int help_given
Whether help was given.
Definition: cmdline.h:150
const char * pid_file_help
Open the specified PID file when starting Janus (default=none) help description.
Definition: cmdline.h:46
unsigned int ice_ignore_list_given
Whether ice-ignore-list was given.
Definition: cmdline.h:169
int full_trickle_flag
Do full-trickle instead of half-trickle (default=off).
Definition: cmdline.h:98
unsigned int log_file_given
Whether log-file was given.
Definition: cmdline.h:156
char * slowlink_threshold_orig
Number of lost packets (per s) that should trigger a 'slowlink' Janus API event to users (default=0,...
Definition: cmdline.h:111
char * cwd_path_arg
Working directory for Janus daemon process (default=/).
Definition: cmdline.h:54
char * plugins_folder_arg
Plugins folder (default=./plugins).
Definition: cmdline.h:60
char * cert_key_orig
DTLS certificate key original value given at command line.
Definition: cmdline.h:73
char * pid_file_arg
Open the specified PID file when starting Janus (default=none).
Definition: cmdline.h:44
const char * twcc_period_help
How often (in ms) to send TWCC feedback back to senders, if negotiated (default=200ms) help descripti...
Definition: cmdline.h:118
unsigned int log_stdout_given
Whether log-stdout was given.
Definition: cmdline.h:155
const char * cwd_path_help
Working directory for Janus daemon process (default=/) help description.
Definition: cmdline.h:56
const char * ice_ignore_list_help
Comma-separated list of interfaces or IP addresses to ignore for ICE gathering; partial strings are s...
Definition: cmdline.h:91
const char * debug_level_help
Debug/logging level (0=disable debugging, 7=maximum debug level; default=4) help description.
Definition: cmdline.h:130
unsigned int version_given
Whether version was given.
Definition: cmdline.h:151
char * no_media_timer_orig
Time (in s) that should pass with no media (audio or video) being received before Janus notifies you ...
Definition: cmdline.h:108
int disable_stdout_flag
Disable stdout based logging (default=off).
Definition: cmdline.h:47
char * configs_folder_arg
Configuration files folder (default=./conf).
Definition: cmdline.h:66
const char * version_help
Print version and exit help description.
Definition: cmdline.h:41
int debug_locks_flag
Enable debugging of locks/mutexes (very verbose!) (default=off).
Definition: cmdline.h:135
const char * libnice_debug_help
Whether to enable libnice debugging or not help description.
Definition: cmdline.h:97
unsigned int cwd_path_given
Whether cwd-path was given.
Definition: cmdline.h:157
unsigned int reclaim_session_timeout_given
Whether reclaim-session-timeout was given.
Definition: cmdline.h:183
unsigned int apisecret_given
Whether apisecret was given.
Definition: cmdline.h:188
unsigned int disable_colors_given
Whether disable-colors was given.
Definition: cmdline.h:186
int event_handlers_flag
Enable event handlers (default=off).
Definition: cmdline.h:145
unsigned int ipv6_candidates_given
Whether ipv6-candidates was given.
Definition: cmdline.h:170
char * apisecret_arg
API secret all requests need to pass in order to be accepted by Janus (useful when wrapping Janus API...
Definition: cmdline.h:137
char * configs_folder_orig
Configuration files folder (default=./conf) original value given at command line.
Definition: cmdline.h:67
char * cwd_path_orig
Working directory for Janus daemon process (default=/) original value given at command line.
Definition: cmdline.h:55
unsigned int cert_key_given
Whether cert-key was given.
Definition: cmdline.h:163
const char * plugins_folder_help
Plugins folder (default=./plugins) help description.
Definition: cmdline.h:62
char * cert_pwd_arg
DTLS certificate key passphrase (if needed).
Definition: cmdline.h:75
int libnice_debug_flag
Whether to enable libnice debugging or not (default=off).
Definition: cmdline.h:96
const char * slowlink_threshold_help
Number of lost packets (per s) that should trigger a 'slowlink' Janus API event to users (default=0,...
Definition: cmdline.h:112
unsigned int ice_lite_given
Whether ice-lite was given.
Definition: cmdline.h:174
int debug_timestamps_flag
Enable debug/logging timestamps (default=off).
Definition: cmdline.h:131
const char * server_name_help
Public name of this Janus instance (default=MyJanusInstance) help description.
Definition: cmdline.h:121