1 
2 #define SNDLOG if(write_log)fprintf(sndlog,
3 #define BUTTON_IDLE 0
4 #define BUTTON_PRESSED 1
5 #define BUTTON_RELEASED 2
6 
7 #define MAX_FLOWCNT 31
8 #define MAX_DEVNAMES 65
9 #define MAX_LOWSPEED 10
10 #define ABOVE_MAX_SPEED 768000
11 
12 #define SAVEFILE_MAX_CHARS 100
13 
14 #define EXTIO_COMMAND_NOTHING 0
15 #define EXTIO_COMMAND_LOAD_DLL 10
16 #define EXTIO_COMMAND_UNLOAD_DLL 11
17 #define EXTIO_COMMAND_START 12
18 #define EXTIO_COMMAND_STOP 13
19 #define EXTIO_COMMAND_DONE 98
20 #define EXTIO_COMMAND_KILL_ALL 99
21 
22 #if(OSNUM == OSNUM_LINUX)
23 extern void *extio_handle;
24 #endif
25 
26 #if(OSNUM == OSNUM_WINDOWS)
27 #include <windows.h>
28 extern HANDLE extio_handle;
29 #endif
30 
31 extern MIXER_VARIABLES mix1;
32 extern MIXER_VARIABLES mix2;
33 
34 extern int refresh_screen_flag;
35 extern char savefile_parname[SAVEFILE_MAX_CHARS+4];
36 extern char savefile_name[SAVEFILE_MAX_CHARS+1];
37 extern char *soundcard_radio_names[MAX_SOUNDCARD_RADIO];
38 
39 extern int computation_pause_flag;
40 extern int asio_flag;
41 extern int screen_refresh_flag;
42 extern int use_tx;
43 extern int usb2lpt_flag;
44 extern double expose_time;
45 extern double wg_lowest_freq;
46 extern double wg_highest_freq;
47 extern int screensave_flag;
48 extern int usb2lpt_flag;
49 
50 extern int wg_freq_x1;
51 extern int wg_freq_x2;
52 extern int wg_freq_adjustment_mode;
53 extern int no_of_processors;
54 extern int hyperthread_flag;
55 extern int cpu_rotate;
56 extern int thread_rotate_count;
57 extern long tickspersec;
58 extern int freq_from_file;
59 extern float workload;
60 extern int workload_counter;
61 extern int mouse_inhibit;
62 extern double mouse_time_wide;
63 extern double mouse_time_narrow;
64 extern int baseb_reset_counter;
65 extern double accumulated_netwait_time;
66 extern double netstart_time;
67 extern double time_info_time;
68 extern int sdr;
69 extern int write_log;
70 extern int baseb_control_flag;
71 extern int spurcancel_flag;
72 extern int spurinit_flag;
73 extern int autospur_point;
74 extern int hand_key;
75 extern int kill_all_flag;
76 extern char lbutton_state;
77 extern char rbutton_state;
78 extern char new_lbutton_state;
79 extern char new_rbutton_state;
80 extern int lir_errcod;
81 extern int all_threads_started;
82 extern int latest_listsend_time;
83 extern int net_no_of_errors;
84 extern double recent_time;
85 extern int internal_generator_flag;
86 extern double internal_generator_shift;
87 extern double internal_generator_phase1;
88 extern double internal_generator_phase2;
89 extern int internal_generator_key;
90 extern int internal_generator_att;
91 extern int internal_generator_noise;
92 extern int truncate_flag;
93 extern int rxin_nbits;
94 extern char *msg_filename;
95 
96 extern int font_xsep;
97 extern int font_ysep;
98 extern int font_w;
99 extern int font_h;
100 extern int font_size;
101 extern int mouse_task;
102 extern int rxin_block_counter;
103 extern int rx_hware_fqshift;
104 
105 extern float min_delay_time;
106 extern int savefile_repeat_flag;
107 extern int os_flag;
108 extern int qz;
109 extern int usercontrol_mode;
110 extern float tune_yzer;
111 
112 extern int workload_reset_flag;
113 extern int graphics_flag;
114 extern int audio_flag;
115 extern FILE *dmp;
116 extern FILE *dmp1;
117 extern FILE *sndlog;
118 extern FILE *wav_file;
119 
120 extern int mmx_present;
121 extern int simd_present;
122 extern ROUTINE par_from_keyboard_routine;
123 
124 extern float baseband_bw_hz;
125 extern int baseband_bw_fftxpts;
126 extern int fft2_to_fft1_ratio;
127 
128 extern int no_of_netslaves;
129 extern char network_filename[];
130 extern int netsend_fd;
131 extern int netrec_fd;
132 extern int netraw16_blknum;
133 extern int netraw18_blknum;
134 extern int netraw24_blknum;
135 extern int netfft1_blknum;
136 extern int nettimf2_blknum;
137 extern int netfft2_blknum;
138 extern int netbaseb_blknum;
139 extern int netbasebraw_blknum;
140 extern int next_blkptr_16;
141 extern int next_blkptr_18;
142 extern int next_blkptr_24;
143 extern int next_blkptr_fft1;
144 extern int next_blkptr_timf2;
145 extern int next_blkptr_fft2;
146 extern int next_blkptr_baseb;
147 extern int next_blkptr_basebraw;
148 extern int netsend_ptr_16;
149 extern int netsend_ptr_18;
150 extern int netsend_ptr_24;
151 extern int netsend_ptr_fft1;
152 extern int netsend_ptr_timf2;
153 extern int netsend_ptr_fft2;
154 extern int netsend_ptr_baseb;
155 extern int netsend_ptr_basebraw;
156 extern int basebnet_block_bytes;
157 extern int basebrawnet_block_bytes;
158 
159 extern int uiparm_change_flag;
160 extern USERINT_PARM ui;
161 extern SSBPROC_PARM txssb;
162 extern CWPROC_PARM txcw;
163 extern int lir_inkey;
164 extern char *vga_font;
165 extern int text_width;
166 extern int text_height;
167 extern int screen_last_xpixel;
168 extern int screen_last_col;
169 extern int screen_width;
170 extern int screen_height;
171 extern int screen_totpix;
172 extern char userint_filename[];
173 extern int mouse_flag;
174 extern int mouse_hide_flag;
175 extern int mouse_x;
176 extern int new_mouse_x;
177 extern int mouse_xmax;
178 extern int mouse_xmin;
179 extern int mouse_y;
180 extern int new_mouse_y;
181 extern int mouse_ymax;
182 extern int mouse_ymin;
183 extern int mouse_cursize;
184 extern int leftpressed;
185 extern int rightpressed;
186 extern int mouse_lbutton_x;
187 extern int mouse_rbutton_x;
188 extern int mouse_lbutton_y;
189 extern int mouse_rbutton_y;
190 extern int rx_audio_in;
191 extern int rx_audio_in2;
192 extern int rx_audio_out;
193 
194 extern SOUNDCARD_PARM snd[4];
195 
196 extern int rx_read_bytes;
197 extern int mixer;
198 extern float total_wttim;
199 extern int rx_daout_bytes;
200 extern int rx_daout_channels;
201 extern int timinfo_flag;
202 extern int ampinfo_flag;
203 extern float measured_da_speed;
204 extern float measured_ad_speed;
205 extern double diskread_time;
206 extern double eme_time;
207 extern int dasync_counter;
208 extern float dasync_sum;
209 extern float dasync_avg1;
210 extern float dasync_avg2;
211 extern float dasync_avg3;
212 extern double dasync_time;
213 extern double dasync_avgtime;
214 extern double da_start_time;
215 extern int overrun_count;
216 extern char savefile_parname[];
217 extern char savefile_name[];
218 extern char press_f1_for_info[];
219 extern int memalloc_no;
220 extern MEMREF_T memalloc_max;
221 extern MEM_INF *memalloc_mem;
222 extern DXDATA *dx;
223 extern int timf3_oscilloscope_limit;
224 extern int no_of_rx_overrun_errors;
225 extern int no_of_rx_underrun_errors;
226 extern int no_of_tx_overrun_errors;
227 extern int no_of_tx_underrun_errors;
228 extern int count_rx_underrun_flag;
229 
230 
231 extern int rx_mode;
232 extern int use_bfo;
233 extern int rx_channels;
234 extern int twice_rxchan;
235 extern int mailbox[];
236 extern char *rxpar_filenames[MAX_RX_MODE];
237 extern char *rxmodes[MAX_RX_MODE];
238 extern char newcomer_rx_modes[MAX_RX_MODE];
239 extern int genparm[MAX_GENPARM+2];
240 extern int genparm_min[MAX_GENPARM];
241 extern int genparm_max[MAX_GENPARM];
242 extern int genparm_default[MAX_RX_MODE][MAX_GENPARM];
243 extern char *genparm_text[MAX_GENPARM+2];
244 extern char newco_genparm[MAX_GENPARM];
245 extern char modes_man_auto[3];
246 extern MEM_INF fft1mem[MAX_FFT1_ARRAYS];
247 extern MEM_INF fft3mem[MAX_FFT3_ARRAYS];
248 extern MEM_INF basebmem[MAX_BASEB_ARRAYS];
249 extern MEM_INF hiresmem[MAX_HIRES_ARRAYS];
250 extern MEM_INF afcmem[MAX_AFC_ARRAYS];
251 extern MEM_INF voicelabmem[MAX_VOICELAB_ARRAYS];
252 extern MEM_INF txmem[MAX_TXMEM_ARRAYS];
253 extern MEM_INF blankermem[MAX_BLANKER_ARRAYS];
254 extern MEM_INF radarmem[MAX_RADAR_ARRAYS];
255 
256 extern int current_graph_minh;
257 extern int current_graph_minw;
258 extern int calibrate_flag;
259 extern double old_passband_center;
260 extern int wav_write_flag;
261 extern int wav_read_flag;
262 extern int swmmx_fft2;
263 extern int swmmx_fft1;
264 extern int swfloat;
265 extern int sw_onechan;
266 extern int eme_flag;
267 extern char *press_any_key;
268 extern char *press_enter;
269 extern int lir_status;
270 extern int lir_rxin_status;
271 extern int lir_rxout_status;
272 extern int audio_dump_flag;
273 extern int diskread_pause_flag;
274 extern int allow_wse_parport;
275 extern char *audiomode_text[4];
276 extern char serport_name[];
277 extern char remind_parsave[];
278 extern char overrun_error_msg[];
279 extern char underrun_error_msg[];
280 extern char arrow_mode_char[3];
281 
282 extern int sdr_att_counter;
283 extern int sdr_nco_counter;
284 extern int show_map65;
285 extern float hg_map65_gain;
286 
287 extern int extio_running;
288 extern int extio_error;
289 extern int extio_speed_changed;
290 extern int extio_command_flag;
291 extern int extio_show_gui;
292 extern int ftdi_library_flag;
293 extern int libusb1_library_flag;
294 extern int libusb0_library_flag;
295 extern int rtlsdr_library_flag;
296 extern int mirisdr_library_flag;
297 extern int soft66_library_flag;
298 
299 void save_screen_image(void);
300 void process_current_lir_inkey(void);
301 void *chk_free(void *p);
302 void await_keyboard(void);
303 void await_processed_keyboard(void);
304 void clear_await_keyboard(void);
305 void clear_keyboard(void);
306 void test_keyboard(void);
307 void to_upper_await_keyboard(void);
308 int to_upper(int chr);
309 void settextcolor(unsigned char color);
310 void lir_text(int x, int y, char *txt);
311 void init_font(int font_type);
312 void clear_lines(int i, int j);
313 void show_mouse(void);
314 void unconditional_hide_mouse(void);
315 void hide_mouse(int x1,int x2,int iy1,int y2);
316 void dsp_mouse(void);
317 void open_mouse(void);
318 void close_mouse(void);
319 int open_rx_sndin(int report_errors);
320 void open_rx_sndout(void);
321 void close_rx_sndin(void);
322 void close_rx_sndout(void);
323 void clear_real2iq(void);
324 void set_rx_io(void);
325 void set_tx_io(void);
326 void free_buffers(void);
327 void make_sincos(int mo, int sz, COSIN_TABLE *tab);
328 void make_permute(int mo, int nz, int sz, unsigned short int *perm);
329 void make_bigpermute(int mo, int nz, int sz, unsigned int *perm);
330 void make_window(int i, int size, int n_sin, float *fft1_window);
331 void init_fft(int i,int n, int size,
332                           COSIN_TABLE *tab, unsigned short int *permute);
333 void init_d_fft(int i,int n, int size,
334                          D_COSIN_TABLE *tab, unsigned short int *permute);
335 void init_big_fft(int i,int n, int size,
336                           COSIN_TABLE *tab, unsigned int *permute);
337 
338 void init_mmxfft(int size, MMX_COSIN_TABLE *tab);
339 void make_mmxwindow(int mo, int size, int n, short int *x);
340 void fftback(int sz, int n, float *x,
341              COSIN_TABLE *sc, unsigned short int *pm, int yieldflag);
342 void dual_fftback(int sz, int n, float *x,
343                      COSIN_TABLE *sc, unsigned short int *pm, int yieldflag);
344 void fftforward(int sz, int n, float *x,
345                      COSIN_TABLE *sc, unsigned short int *pm, int yieldflag);
346 void big_fftforward(int sz, int n, float *x,
347                           COSIN_TABLE *sc, unsigned int *pm, int yieldflag);
348 void d_fftback(int sz, int n, double *x,
349                                   D_COSIN_TABLE *sc, unsigned short int *pm);
350 void d_fftforward(int sz, int n, double *x,
351                    D_COSIN_TABLE *sc, unsigned short int *pm);
352 void fft_iqshift(int size, float *x);
353 void fft_real_to_hermitian( float *z, int size, int n, COSIN_TABLE *tab);
354 void asmbulk_of_dual_dif(int size, int n, float *x,
355                                          COSIN_TABLE *sincos, int yieldflag);
356 void asmbulk_of_dif(int size, int n, float *x,
357                                         COSIN_TABLE *sincos, int yieldflag);
358 void bulk_of_dif(int size, int n, float *x, COSIN_TABLE *sincos, int yieldflag);
359 void bulk_of_dual_dif(int size, int n, float *x, COSIN_TABLE *sincos, int yieldflag);
360 void bulk_of_dit(int size, int n, float *x, COSIN_TABLE *sincos, int yieldflag);
361 void bulk_of_dual_dit(int size, int n, float *x, COSIN_TABLE *sincos, int yieldflag);
362 void simdbulk_of_dual_dit(int size, int n, float *x, COSIN_TABLE *sincos);
363 int check_mmx(void);
364 void get_buffers(int filldat);
365 void get_wideband_sizes(void);
366 int adjust_scale(double *step);
367 int llsq2(void);
368 int llsq1(void);
369 int make_power_of_two(int *i);
370 int lir_get_filename(int  x, int y, char *name);
371 int lir_get_integer(int  x, int y, int len, int min, int max);
372 double lir_get_float(int  x, int y, int len, double min, double max);
373 void xz(char *s);
374 void xq(char *s);
375 void qq(char *s);
376 void qq1(char *s);
377 void qq2(char *s);
378 void tt0(void);
379 void tt(char *s);
380 float tt1(void);
381 
382 
383 void disksave_start(void);
384 void disksave_stop(void);
385 void wavsave_start_stop(int line);
386 
387 int make_new_signal(int ss, float fq);
388 void make_wg_file(void);
389 void make_wg_yfac(void);
390 void make_hg_file(void);
391 void baseband_fq_scale(void);
392 void hires_fq_scale(void);
393 void make_hg_yscale(void);
394 void new_fft2_averages(void);
395 void wide_graph_add_signal(void);
396 void make_fft3_all(void);
397 void show_baseband_spectrum(void);
398 void fft3_mix2(void);
399 void init_blanker(void);
400 void new_hg_pol(void);
401 void timf3_oscilloscope(void);
402 void wg_waterf_line(void);
403 void bg_waterf_line(void);
404 void clear_fft1_filtercorr(void);
405 void init_fft1_filtercorr(void);
406 void set_general_parms(char *mode);
407 void make_rx_audio_output(void);
408 void change_fft3_avgnum(void);
409 void make_ad_wttim(void);
410 void make_fft2_wttim(void);
411 void make_audio_signal(void);
412 void make_timing_info(void);
413 void show_amp_info(void);
414 void amp_info_texts(void);
415 void show_timing_info(void);
416 void timing_info_texts(void);
417 void deb_timing_info(char *txt);
418 void update_bar(int x1, int x2, int yzer,
419                    int newy, int oldy, unsigned char color, char *buf);
420 void parabolic_fit(float *amp, float *pos, float yy1, float yy2, float yy3);
421 void set_daout_parms(void);
422 void parfile_end(FILE *file);
423 void lir_setpixel(int x, int y, unsigned char c);
424 void lir_getpalettecolor(int j, int *r, int *g, int *b);
425 void lir_pixwrite(int x, int y, char *s);
426 void lir_hline(int xx1, int y, int xx2, unsigned char color);
427 void lir_line(int xx1, int yy1, int xx2,int yy2, unsigned char  c);
428 void lir_fillbox(int x, int y,int w, int h, unsigned char  c);
429 void lir_putbox(int x, int y, int w, int h, MEMREF_T* dp);
430 void lir_getbox(int x, int y, int w, int h, MEMREF_T* dp);
431 void help_message(int msg_no);
432 void help_screen_objects(void);
433 void select_pol_default(void);
434 void init_spur_elimination(void);
435 void cancel_spur_elimination(void);
436 void eliminate_spurs(void);
437 void init_spur_spectra(void);
438 float average_curvature(float *z, int siz);
439 float average_slope(float *z, int siz);
440 void spur_phase_parameters(void);
441 void complex_lowpass(float *zin, float *zout, int nn, int siz);
442 void remove_phasejumps(float *z, int siz);
443 int spur_phase_lock(int nx);
444 int make_spur_freq(void);
445 void make_spur_pol(void);
446 void spurspek_norm(void);
447 int spur_relock(void);
448 void refine_pll_parameters(void);
449 int verify_spur_pll(void);
450 void shift_spur_table(int j);
451 void coherent_cw_detect(void);
452 void clear_coherent(void);
453 void clear_cg_traces(void);
454 void init_memalloc(MEM_INF *mem, MEMREF_T max);
455 void mem(int num, void *pointer, unsigned int size, int scratch_size);
456 MEMREF_T memalloc( MEMREF_T **handle, char *s);
457 void memcheck(int n, MEM_INF *mm, MEMREF_T **handle);
458 void ncw_rx(void);
459 double current_time(void);
460 void show_name_and_size(void);
461 int init_wavread(int m);
462 int init_diskread(int m);
463 void init_eme_database(void);
464 void read_eme_database(void);
465 void init_eme_graph(void);
466 void calculate_moon_data(void);
467 void init_freq_control(void);
468 void erase_numinput_txt(void);
469 void read_freq_control_data(void);
470 void wide_fq_scale(void);
471 void users_open_devices(void);
472 void users_close_devices(void);
473 void users_init_mode(void);
474 void expand_fft1_filtercorr(int cal_n, int cal_size);
475 void make_filcorrstart(void);
476 void show_center_frequency(void);
477 void userdefined_u(void);
478 void userdefined_q(void);
479 void check_mouse_actions(void);
480 void rx_audio_output_start(void);
481 int read_modepar_file(int type);
482 void make_modepar_file(int type);
483 void show_button(BUTTONS *butt, char *s);
484 void show_wtrfbutton(BUTTONS *butt, char *s);
485 void txtest_init(void);
486 void clear_hware_data(void);
487 void hware_interface_test(void);
488 void tune(void);
489 void frequency_readout(void);
490 void err_restart_da(int errcod);
491 int tx_setup(void);
492 void mouse_on_users_graph(void);
493 void do_nothing(int n);
494 void clear_screen(void);
495 void await_mouse_event(void);
496 void graph_borders(WG_PARMS *a,unsigned char color);
497 void dual_graph_borders(WG_PARMS *a,unsigned char color);
498 void timerr(int line, char*s);
499 void main_menu(void);
500 void lir_unlock_mem(void);
501 int lir_lock_mem(void);
502 void update_iq_foldcorr(void);
503 void clear_iq_foldcorr(void);
504 void lir_join(int no);
505 void lir_sleep(int us);
506 void lir_sync(void);
507 int lir_get_epoch_seconds(void);
508 void lir_system_times(double *cpu_time, double *total_time);
509 void rx_file_input(void);
510 void screen_routine(void);
511 char lir_inb(int port);
512 void lir_outb(char bytedat, int port);
513 float lir_random(void);
514 void lir_srandom(void);
515 void narrowband_dsp(void);
516 void wideband_dsp(void);
517 void do_fft1c(void);
518 void do_fft1b(void);
519 void second_fft(void);
520 void timf2_routine(void);
521 void rx_output(void);
522 int lir_tx_output_bytes(void);
523 void lir_empty_da_device_buffer(void);
524 int lir_parport_permission(int port);
525 void sdr14_input(void);
526 void perseus_input(void);
527 void sdrip_input(void);
528 void netafedri_input(void);
529 void excalibur_input(void);
530 void rtl2832_input(void);
531 void mirics_input(void);
532 void bladerf_input(void);
533 void pcie9842_input(void);
534 void openhpsdr_input(void);
535 
536 void cal_filtercorr(void);
537 void powtim(void);
538 void rx_adtest(void);
539 void cal_iqbalance(void);
540 void do_cal_interval(void);
541 void user_command(void);
542 void run_tx_output(void);
543 void tx_input(void);
544 void txtest(void);
545 void lir_refresh_screen(void);
546 void lir_refresh_entire_screen(void);
547 void lirerr(int errcod);
548 void lir_rx_dawrite(void);
549 void free_semaphores(void);
550 void init_semaphores(void);
551 void lir_tx_dawrite(char *buf);
552 void lir_tx_adread(char *buf);
553 void resume_thread(int no);
554 void pause_thread(int no);
555 void lir_move_mouse_cursor(void);
556 void mouse_nothing(void);
557 int lir_get_text(int  x, int y, char *txtbuf);
558 void set_button_states(void);
559 void init_os_independent_globals(void);
560 void win_global_uiparms(int wn);
561 void lin_global_uiparms(int wn);
562 void x_global_uiparms(int wn);
563 void clear_wide_maxamps(void);
564 void simulate_keyboard(char chr);
565 void show_errmsg(int screen_mode);
566 void lir_sched_yield(void);
567 void check_filtercorr_direction(void);
568 void kill_all(void);
569 void lir_close_serport(void);
570 int lir_open_serport(int serport_number, int baudrate,int stopbit_flag,int rts_status);
571 int lir_read_serport(void *s, int bytes);
572 void pause_screen_and_hide_mouse(void);
573 void set_button_coordinates(void);
574 void verify_network(int setup);
575 void init_network(void);
576 void netsend_errors(void);
577 void could_not_create(char *filename, int line);
578 void init_genparm(int uiupd);
579 void use_filtercorr_fd(int cal_n, int cal_size,
580                             float *cal_corr, float *cal_desired);
581 void use_filtercorr_td(int cal_size, float *corr, float *desired);
582 void use_iqcorr(void);
583 void lir_send_raw16(void);
584 void lir_send_raw18(void);
585 void lir_send_raw24(void);
586 void lir_send_fft1(void);
587 void lir_send_timf2(void);
588 void lir_send_fft2(void);
589 void lir_send_baseb(void);
590 void lir_send_basebraw(void);
591 void net_send_slaves_freq(void);
592 int ms_since_midnight(int set);
593 void close_network_sockets(void);
594 int lir_write_serport(void *s, int bytes);
595 void step_rx_frequency(int direction);
596 void show_wheel_stepmult(void);
597 int read_txpar_file(void);
598 void hware_set_rxtx(int state);
599 void lir_mutex_init(void);
600 void lir_mutex_destroy(void);
601 void lir_mutex_lock(int no);
602 void lir_mutex_unlock(int no);
603 void init_tx_graph(void);
604 void show_tx_frequency(void);
605 void set_default_spproc_parms(void);
606 int check_tx_devices(void);
607 void make_cal_fft1_filtercorr(void);
608 void raw2wav(void);
609 void mask_tophat_filter2(float *xi,float *xo, int l, int pa, int pb, int sz);
610 void mask_tophat_filter1(float *xi,float *xo, int l, int pa, int pb, int sz);
611 void complete_filename(int i, char *s, char *gif, char *dir, char *fnm);
612 void update_users_rx_frequency(void);
613 void copy_rxfreq_to_tx(void);
614 void copy_txfreq_to_rx(void);
615 void qt0(void);
616 void qt1(char *cc);
617 void qt2(char *cc);
618 void qt3(void);
619 void lir_set_title(char *txt);
620 void clear_button(BUTTONS *butt, int max);
621 void clear_bfo(void);
622 void make_bfo(void);
623 void run_radar(void);
624 void blocking_rxout(void);
625 void write_raw_file(void);
626 float lir_noisegen(int level);
627 void write_from_msg_file(int *line, int msg_no, int screen_mode, int vernr);
628 void newcomer_escpress(int clear);
629 void clear_thread_times(int no);
630 void make_thread_times(int no);
631 void change_wg_highest_freq(void);
632 void change_wg_lowest_freq(void);
633 void update_snd(int sound_type);
634 void welcome_msg(void);
635 void do_syscall(void);
636 void sys_func(int no);
637 int read_sdrpar(char *file_name, int max_parm, char **parm_text, int *par);
638 int show_rx_input_settings(int *line);
639 
640 
641 int portaudio_startstop(void);
642 void portaudio_stop(void);
643 void edit_diskread_times(void);
644 
645 void lir_init_event(int no);
646 void lir_close_event(int no);
647 void lir_set_event(int no);
648 void lir_await_event(int no);
649 void wse_setup(void);
650 void si570_setup(void);
651 void elektor_setup(void);
652 void fcdproplus_setup(void);
653 void soft66_setup(void);
654 void wse_rx_freq_control(void);
655 void wse_tx_freq_control(void);
656 void wse_rx_amp_control(void);
657 void elektor_rx_amp_control(void);
658 void fcdproplus_rx_amp_control(void);
659 void afedriusb_rx_amp_control(void);
660 int init_elektor_control_window(void);
661 void init_fcdproplus_control_window(void);
662 void update_elektor_rx_frequency(void);
663 void update_fcdproplus_rx_frequency(void);
664 void si570_rx_freq_control(void);
665 void elektor_rx_freq_control(void);
666 void fcdproplus_rx_freq_control(void);
667 void soft66_rx_freq_control(void);
668 void afedriusb_rx_freq_control(void);
669 void compute_converter_parameters(void);
670 void out_USB2LPT (unsigned char data, unsigned char port);
671 unsigned char in_USB2LPT( unsigned char port);
672 void hware_command(void);
673 void display_rx_input_source(char *str);
674 int read_wse_parameters(void);
675 void update_indicator(unsigned char color);
676 void init_extio(void);
677 int load_extio_library(void);
678 void first_check_extio(void);
679 void start_extio(void);
680 void stop_extio(void);
681 void update_extio_rx_gain(void);
682 void update_extio_rx_freq(void);
683 void get_extio_name(char *name);
684 void extio_input(void);
685 void get_extio_speed(void);
686 void confirm_extio(void);
687 void unload_extio_library(void);
688 void command_extio_library(int load);
689 void rtl_starter(void);
690 void mirisdr_starter(void);
691 void bladerf_starter(void);
692 void calibrate_bladerf_rx(void);
693 void si570_missing(void);
694 int html_server(void);
695 void init_netafedri(void);
696 void afedriusb_setup(void);
697 void fix_thread_affinities(void);
698 void setup_thread_affinities(void);
699 int load_ftdi_library(void);
700 void unload_ftdi_library(void);
701 void load_soft66_library(void);
702 void unload_soft66_library(void);
703 void load_usb0_library(int msg_flag);
704 void unload_usb0_library(void);
705 void load_usb1_library(int msg_flag);
706 void unload_usb1_library(void);
707 void load_rtlsdr_library(void);
708 void unload_rtlsdr_library(void);
709 void library_error_screen(char* libname, int info);
710 
711