2016-03-01 17:40:38 +00:00
|
|
|
|
2016-04-25 18:20:54 +00:00
|
|
|
extern int num_kanal;
|
|
|
|
extern int kanal[];
|
|
|
|
extern int num_sounddev;
|
|
|
|
extern const char *sounddev[];
|
2016-03-01 17:40:38 +00:00
|
|
|
extern const char *call_sounddev;
|
|
|
|
extern int samplerate;
|
2016-06-18 17:33:08 +00:00
|
|
|
extern int interval;
|
2016-03-01 17:40:38 +00:00
|
|
|
extern int latency;
|
2016-04-25 18:20:54 +00:00
|
|
|
extern int cross_channels;
|
2016-05-06 05:00:27 +00:00
|
|
|
extern int do_pre_emphasis;
|
|
|
|
extern int do_de_emphasis;
|
|
|
|
extern double rx_gain;
|
2016-03-01 17:40:38 +00:00
|
|
|
extern int use_mncc_sock;
|
|
|
|
extern int send_patterns;
|
|
|
|
extern int loopback;
|
|
|
|
extern int rt_prio;
|
2016-03-25 12:58:16 +00:00
|
|
|
extern const char *read_wave;
|
|
|
|
extern const char *write_wave;
|
2016-03-01 17:40:38 +00:00
|
|
|
|
|
|
|
void print_help(const char *arg0);
|
2016-03-11 05:59:05 +00:00
|
|
|
void print_help_common(const char *arg0, const char *ext_usage);
|
2016-03-01 17:40:38 +00:00
|
|
|
extern struct option *long_options;
|
|
|
|
extern char *optstring;
|
|
|
|
void set_options_common(const char *optstring_special, struct option *long_options_special);
|
|
|
|
void opt_switch_common(int c, char *arg0, int *skip_args);
|
|
|
|
|
2016-04-25 18:20:54 +00:00
|
|
|
#define OPT_ARRAY(num_name, name, value) \
|
|
|
|
{ \
|
|
|
|
if (num_name == MAX_SENDER) { \
|
|
|
|
fprintf(stderr, "Too many channels defined!\n"); \
|
|
|
|
exit(0); \
|
|
|
|
} \
|
|
|
|
name[num_name++] = value; \
|
|
|
|
}
|
2016-03-01 17:40:38 +00:00
|
|
|
|
|
|
|
extern int quit;
|
|
|
|
void sighandler(int sigset);
|
2016-06-17 05:28:45 +00:00
|
|
|
|
2016-06-18 17:33:08 +00:00
|
|
|
void main_loop(int *quit, int latency, int interval);
|
2016-06-17 05:28:45 +00:00
|
|
|
|