/*************************************************************************** * Copyright (C) 1994 Charles P. Peterson * * 4007 Enchanted Sun, San Antonio, Texas 78244-1254 * * Email: Charles_P_Peterson@fcircus.sat.tx.us * * * * This is free software with NO WARRANTY. * * See gfft.c, or run program itself, for details. * * Support is available for a fee. * *************************************************************************** * * Program: gfft--General FFT analysis * File: gproto.h * Purpose: define prototypes for GFFT * Author: Charles Peterson (CPP) * History: 29-May-1993 CPP; Created. * Comment: This allows a little cheating with smakefile. * Change one prototype, and you don't have to recompile * everything, just the (presumably) modified code that * defines something, and the (hopefully) modified code * that uses it. Forget to modify one call and you're * dead! If in doubt, touch gfft.h. */ #ifndef GPROTO_H #define GPROTO_H #include /* needed for FILE */ /* * First, the command functions (take arguments, return remaining arguments) */ char *about_message (char *arguments); char *banner_message (char *arguments); char *help_message (char *arguments); char *no_warranty_message (char *arguments); char *copying_message (char *arguments); char *ok (char *arguments); char *set_terminal (char *arguments); char *set_topaz (char *arguments); char *set_rate (char *arguments); char *set_read (char *arguments); char *set_quantization (char *arguments); char *set_no_quantization (char *arguments); char *read_message (char *filename); char *set (char *arguments); char *set_write (char *arguments); char *set_append (char *arguments); char *set_bits (char *arguments); char *set_bins (char *arguments); char *set_interleave (char *arguments); char *set_no_interleave (char *arguments); char *set_power (char *arguments); char *set_amplitude (char *arguments); char *set_mean (char *arguments); char *set_sum (char *arguments); char *set_hann (char *arguments); char *set_hamming (char *arguments); char *set_blackman_harris_74db (char *arguments); char *set_blackman_harris_92db (char *arguments); char *set_triangle (char *arguments); char *set_rectangle (char *arguments); char *set_parzen (char *arguments); char *set_welch (char *arguments); char *set_fft (char *arguments); char *set_output (char *arguments); char *set_numerical (char *arguments); char *set_no_numerical (char *arguments); char *set_pad (char *arguments); char *set_no_pad (char *arguments); char *settings_message (char *arguments); char *set_start_byte (char *arguments); char *stopbyte (char *arguments); char *set_overlap (char *arguments); char *set_no_overlap (char *arguments); char *set_high_y (char *arguments); char *set_low_y (char *arguments); char *set_high_frequency (char *arguments); char *set_low_frequency (char *arguments); char *set_pink (char *arguments); char *set_no_pink (char *arguments); char *set_parseval (char *arguments); char *set_no_parseval (char *arguments); char *set_channel (char *arguments); char *set_frames (char *arguments); char *include_zero (char *arguments); char *no_include_zero (char *arguments); char *set_ignore_format (char *arguments); char *set_no_ignore_format (char *arguments); char *set_start_frame (char *arguments); char *set_multiply (char *arguments); char *set_no_one_shot_only (char *arguments); char *set_no_repeat_only (char *arguments); char *set_octave (char *arguments); char *set_one_shot_only (char *arguments); char *set_repeat_only (char *arguments); char *re_plot (char *arguments); char *set_rotation_x (char *arguments); char *set_rotation_z (char *arguments); char *re_output (char *arguments); char *set_calibration (char *arguments); char *set_no_calibrations (char *arguments); char *set_db_calibration (char *arguments); char *question_message (char *arguments); char *set_db (char *arguments); char *set_no_db (char *arguments); char *set_plot (char *arguments); char *set_plot_output (char *arguments); char *set_no_plot (char *arguments); char *set_logx (char *arguments); char *set_logy (char *arguments); char *set_no_logx (char *arguments); char *set_no_logy (char *arguments); char *default_command (char *arguments); char *default_argument (char *arguments); char *quit (char *arguments); /* Actually, this never returns */ char *set_key (char *arguments); char *set_psdensity (char *arguments); char *set_no_psdensity (char *arguments); char *save_settings (char *arguments); char *save_parameters (char *arguments); char *load_settings (char *arguments); char *set_save_memory (char *arguments); char *set_no_save_memory (char *arguments); char *set_smoothing_segments (char *arguments); char *set_squared_smoothing (char *arguments); char *set_no_squared_smoothing (char *arguments); char *set_combine_plots (char *arguments); char *cut_combined_plot (char *arguments); char *set_no_combine_plots (char *arguments); char *set_no_time_3d (char *arguments); char *set_time_3d (char *arguments); char *set_time_offset (char *arguments); char *set_time_overlap (char *arguments); char *set_time_segments (char *arguments); char *set_time_seg_size (char *arguments); char *set_signed (char *arguments); char *set_unsigned (char *arguments); char *set_hidden_3d (char *arguments); char *set_no_hidden_3d (char *arguments); char *set_header (char *arguments); char *set_no_header (char *arguments); char *clear_plot_commands (char *arguments); char *add_plot_command (char *arguments); /* * Now, other functions */ Name_Info_St *invoke_method (char *command, Name_Info_St *command_name_list); Name_Info_St *identify_name (char *command, Name_Info_St *command_name_list, BOOLEAN report_error); void cli_interactive_loop (BOOLEAN started_from_cli); void startup_cli_file (void); void execute_command_line (char *command_line, void (*error_trap)(void)); void batch_command (int argc, char *argv[]); void error_message (int messagenumber); void command_error_message (int messagenumber, char *bad_charp); void prompt_command (void); int do_command (char *command); char *read_file (char *filename); void *gmalloc (unsigned long bytes, int jmp_value); void *gcalloc (unsigned long n_ele, unsigned long ele_size, int jmp_value); void gfree (void *block); unsigned long get_pos_power_2 (unsigned long testvalue); unsigned long ok_read (float *indata, unsigned long NumberBins); ULONG ok_spectrum (BOOLEAN do_it_for_real); void ok_write (BIN_TYPE *bins, long number_bins, long number_segments); void ok_sigma (float *indata, BIN_TYPE *bins, unsigned long number_bins); void ok_rfft (float *indata, unsigned long number_bins); long fft_inner_loops (ULONG number_bins); ULONG ok_fft (BOOLEAN do_it_for_real); void ok_writec (float *data, unsigned long data_count); void ok_rewind (void); void *grealloc (void *memblock, unsigned long nbytes, int jmp_value); void bins_d_message (unsigned long total_actually_read, unsigned long number_bins); void bins_s_message (void); void *gopen (char **path_list, char *filename, char *mode); void reset_format (void); void read_format (void); void ok_plot (void); void ok_window (float *indata, unsigned long data_count); int ok_octave_offset (BOOLEAN report_error); void loop_time_message (double seconds); void loop_time_message_done (double seconds); void gabort (int status); BOOLEAN is_temp_file (char *filename); double *ok_mesh (double nyquist_frequency, double delta_frequency); double ok_window__gain2 (void); ULONG ok_time3d_spectrum (BOOLEAN do_it_for_real); ULONG do_ok (BOOLEAN do_it_for_real); void do_re_output (void); void do_re_plot (void); void calibration_list__add (struct cal_st **clistp, char *cname, FILE *cfile, BOOLEAN db_scale); int calibration_list__count (struct cal_st **clistp); void calibration_list__cancel (struct cal_st **clistp); void calibration_list__reset (struct cal_st **clistp); float calibration_list__apply (struct cal_st **clistp, float value, double freq); void calibration_list__write (FILE *fp, char *cstr, struct cal_st **clistp); void delay (int seconds); ULONG magic_number (char *string); char *save_settings_or_parameters (char *arguments, BOOLEAN parameters_only); void write_settings (FILE *savefile_ptr, char *comment_string, BOOLEAN show_read, BOOLEAN show_write); void execute_file_commands (FILE *fptr); void write_plot_commands (FILE *fp, char *cstr, char *name, struct list_st *plot_commands); #ifdef AMIGA void workbench_main (void); char *workbench_command (char *arguments); int workbench_dialog (void); void message_requester (struct Window *windowp, char *message_text); void close_amiga_stuff (void); #endif #ifdef NUMERICAL_RECIPES_AVAILABLE void realft (float data[], int n, int isign); void four1 (float data[], int n, int isign); #endif /* * (Note: the protos for complex numbers are defined in complex.h) */ #endif /* ifndef GPROTO_H */