tds7000_get_waveform_c (ul_scopes)

	status.i4.v = tds7000_get_waveform_c(connect_info.g.v,
					     horz_increment.r8.r, 
					     max_traces.i4.v,
					     mpnts_per_trace.i4.v,
					     num_traces.i4.r,
					     pnts_per_trace.i4.r,
					     [,chan_1_values.r8p.r]
					     [,chan_2_values.r8p.r]
					     [,chan_3_values.r8p.r]
					     [,chan_4_values.r8p.r]
					     [,timestamps.u4p.r]
					     [,config_data.s.r]
					     [,measure_data.s.r])

	This routine reads waveform data for a TDS7000 series scope.

	connect_info	scope connection structure created by a
			prior call to scope_connect
	horz_increment	returned horizontal point increment in nanoseconds
			(A value of NULL can be passed for this argument
			 if this value is not needed.)
	max_traces	maximum number of traces to return
			(If a value of 0 is passed for this argument,
			 all traces will be returned.)
	mpnts_per_trace	maximum number of points per trace to return
			(If a value of 0 is passed for this argument,
			 all points will be returned.)
	num_traces	returned number of traces
			(A value of NULL can be passed for this argument
			 if this value is not needed.)
	pnts_per_trace	returned number of points per trace
			(A value of NULL can be passed for this argument
			 if this value is not needed.)
	[chan_1_values]	returned channel 1 values
			(A value of NULL can be passed for this argument
			 if this value is not needed.)
			(The memory for these values is allocated by this
			 routine and should be freed by the caller.)
			(default is NULL)
	[chan_2_values]	returned channel 2 values
			(A value of NULL can be passed for this argument
			 if this value is not needed.)
			(The memory for these values is allocated by this
			 routine and should be freed by the caller.)
			(default is NULL)
	[chan_3_values]	returned channel 3 values
			(A value of NULL can be passed for this argument
			 if this value is not needed.)
			(The memory for these values is allocated by this
			 routine and should be freed by the caller.)
			(default is NULL)
	[chan_4_values]	returned channel 4 values
			(A value of NULL can be passed for this argument
			 if this value is not needed.)
			(The memory for these values is allocated by this
			 routine and should be freed by the caller.)
			(default is NULL)
	[timestamps]	returned trace timestamps
			(A value of NULL can be passed for this argument
			 if this value is not needed.)
			(The memory for these values is allocated by this
			 routine and should be freed by the caller.)
			(default is NULL)
	[config_data]	returned configuration data
			(structure of type TDS7000_CONFIG_DATA)
			(default is NULL)
	[measure_data]	returned measurement data
			(structure of type TDS7000_MEASUREMENT_DATA)
			(default is NULL)

	This function returns ACNET status values as follows:

	OK			success
	CLIB_INVARG		invalid connection information passed
	CLIB_NO_SUCH		no channels are active
	CLIB_UNAVAILABLE	no data is available
	CLIB_GENERIC_ERROR	error reading scope information
	otherwise		other ACNET error

	This function requires the following include files:

	ul_scopes_h:scopelib_h, ul_scopes_h:tekdefs_h, acnet_errors_h

	Related functions:

	tds7000_get_config_info, tds7000_get_trigger_config_info_c,
	tds7000_get_edge_trigger_config_info_c, tds7000_enable_channel_c,
	tds7000_set_range_c, tds7000_set_offset_c, tds7000_set_sample_rate_c,
	tds7000_set_trace_length_c, tds7000_set_num_traces_c,
	tds7000_set_trigger_type_c, tds7000_set_trigger_level_c,
	tds7000_set_edge_trigger_params_c, tds7000_request_measurement,
	tds7000_reset_scope, tds7000_is_busy, tds7000_get_id_string_c,
	scope_connect, scope_disconnect, scope_info

	C/C++ usage:

	static const char	ip_name[] = "myscope.fnal.gov";
	int	status;
	int	max_traces = 0;
	int	mpnts_per_trace = 0;
	int	num_traces;
	int	pnts_per_trace;
	unsigned int	*timestamps;
	double	horz_increment;
	double	*chan_1_values;
	double	*chan_2_values;
	double	*chan_3_values;
	double	*chan_4_values;
	void	*connect_info;
	TDS7000_CONFIG_DATA	config_data;
	TDS7000_MEASUREMENT_DATA	measure_data;

	status = scope_connect(ip_name,&connect_info);

	status = tds7000_get_waveform_c(connect_info,&horz_increment,max_traces,
					mpnts_per_trace,&num_traces,
					&pnts_per_trace,&chan_1_values,
					&chan_2_values,&chan_3_values,
					&chan_4_values,&timestamps,
					&config_data,&measure_data);

	status = scope_disconnect(&connect_info);