/* Header for module tek2430, generated by p2c */
#ifndef TEK2430_H
#define TEK2430_H


#ifndef IODECLARATIONS_H
#include <p2c/iodecl.h>
#endif

#ifndef GENERAL_0_H
#include <p2c/general_0.h>
#endif

#ifndef GENERAL_2_H
#include <p2c/general_2.h>
#endif

#ifndef GENERAL_3_H
#include <p2c/general_3.h>
#endif

#ifndef GENERAL_1_H
#include <p2c/general_1.h>
#endif

#ifndef SYSDEVS_H
#include <p2c/sysdevs.h>
#endif

#ifndef HPIB_1_H
#include <p2c/hpib_1.h>
#endif

#ifndef HPIB_2_H
#include <p2c/hpib_2.h>
#endif

#ifndef HPIB_3_H
#include <p2c/hpib_3.h>
#endif

#ifndef HPIB_0_H
#include <p2c/hpib_0.h>
#endif

#ifndef SYSGLOBALS_H
#include <p2c/sysglobals.h>
#endif

#ifndef NEWASM_H
#include <p2c/newasm.h>
#endif

#ifndef PLOT_H
#include <p2c/plot.h>
#endif

#ifndef PLOT_ROUTINES_H
#include <p2c/plot_routines.h>
#endif


#ifdef TEK2430_G
# define vextern
#else
# define vextern extern
#endif

#include "/home/auspex/f/sounds/lazzaro/chipmunk/iotech/new/sun4c/4.1.1c/ieeeio.h"

/* data_array = array [1..1024] of real;  */
typedef mam_vectorarray data_array;   /* magic from plotrtns */

/* string255 = string [255]; */

/*   **************  Mass's Stuff - Not currently supported  *************  */


extern Void get_tek2430_preamble PP((long chan, long *points));
extern Void get_tek2430_trace PP((long chan, double *x, double *y, long points));
extern Void get_tek2430_rawtrace PP((long chan, double *x, double *y,
				     long points));
extern Char *get_tek2430_trace_id PP((Char *Result, long channel));
extern Void reset_tek2430 PV();
extern Void tek2430_ff_start PP((Char *filename));
extern Void tek2430_add PP((double *x, long center_point, long yoff));
extern Void tek2430_addtrace PP((long channel, long yoff));
extern Void tek2430_ff_title PP((Char *label_str));
extern Void tek2430_close PV();
extern Void tek2430_dump_scope PP((Char *filename));

/*   **********************  John Tanner's Stuff *********************  */

extern Void init_tek2430 PV();
extern Void convert_traces PP((double **sc_ch1x, double **sc_ch1y,
			       double **sc_ch2x, double **sc_ch2y, long *pts,
			       boolean *trace1th, boolean *trace2th));
extern Void capture_traces_from_scope PP((Char *lab));
extern Void read_traces_from_file PP((Char *trace_file_name));
extern Void write_traces_to_file PP((Char *trace_file_name));
extern Void write_traces_to_ff_file PP((Char *filename));
extern Void write_traces_to_ps_file PP((Char *filename));
extern Void write_traces_to_view_file PP((Char *filename));
extern Void get_view_info PP((long chan, long *npts));
extern Void get_view_curve PP((long chan, double **xvec, double **yvec));
extern Void display_traces_to_screen PV();
extern Void display_traces_to_plotter PV();
extern Void toggle_display_graticule PV();
extern Void get_trace_params PP((long *cp1, long *y1, long *cp2, long *y2));
extern Void set_trace_params PP((long cp1, long y1, long cp2, long y2));
extern Void append_traces PV();
extern Void clear_appends PV();


#undef vextern

#endif /*TEK2430_H*/

/* End. */
