acnet_callbacks_h

/*
**	Copyright 1994-2017, Fermi Research Alliance, LLC.  All rights reserved.
*/
/******************************************************************************/
/* acnet_callbacks.h
**  
**	defined constants and data structures to support ACNET callback
**	communications
**
*/
/******************************************************************************/

#ifndef ACNET_CALLBACKS_DEFINED			/* do this only once */
#define	ACNET_CALLBACKS_DEFINED

#include "cnsparam.h"
#include "cns_data_structs.h"
#include "clib.h"
#include "cbslib.h"
#include "acl.h"

#define	ACB_FUNC_NAME_LEN		32	/* function name length */

#define	ACB_ALL_ENTRIES			-1	/* return all entries */

/*
**  CLIB memory management routines ...
*/
#define	MEM_ACB_TC_REQUEST_STATS	1	/* request memory statistics */
#define	MEM_ACB_TC_DIAG_ON		2	/* turn on memory diagnostics */
#define	MEM_ACB_TC_DIAG_CLEAR		3	/* clear memory diagnostics */
#define	MEM_ACB_TC_ANALYZE_MEM		4	/* analyze dynamic memory */
#define	MEM_ACB_TC_READ_HEADER		5	/* read memory block header */
#define	MEM_ACB_TC_READ_MEMORY		6	/* read memory */
#define	MEM_ACB_TC_MEM_ENABLE		7	/* enable memory allocation and deallocation */
#define	MEM_ACB_TC_MEM_DISABLE		8	/* disable memory allocation and deallocation */
#define	MEM_ACB_TC_DUMP_MEMORY		9	/* dump memory */

#define	MEM_ACB_TCSUB_READ_FIRST	1	/* read first block */
#define	MEM_ACB_TCSUB_READ_PREVIOUS	2	/* read previous block */
#define	MEM_ACB_TCSUB_READ_NEXT		3	/* read next block */
#define	MEM_ACB_TCSUB_READ_LAST		4	/* read last block */
#define	MEM_ACB_TCSUB_READ_NUMBER	5	/* read specified block */
#define	MEM_ACB_TCSUB_READ_ALL		6	/* read all blocks */

#define	MEM_ACB_OUTPUT_NORMAL		0	/* output returns in network reply */
#define	MEM_ACB_OUTPUT_MAIL		1	/* output goes to mail message */
#define	MEM_ACB_OUTPUT_STDOUT		2	/* output goes to standard output */

#define	MEM_REQMASK_MALLOC_WRITE	1	/* turn on malloc memory fills */
#define	MEM_REQMASK_FREE_WRITE		2	/* turn on free memory fills */
#define	MEM_REQMASK_MALLOC_TRACE	4	/* turn on malloc memory traces */
#define	MEM_REQMASK_FREE_TRACE		8	/* turn on free memory traces */

#define	MEM_PARAM_MAX_OUT_SPEC_LEN	64	/* output specifier length */

typedef struct MEM_ACB_REQUEST			/* ACNET callback request structure */
    {
    short	generic_type_code;		/* should always have a value of ACNET_CALLBACK_MEMORY */
    short	type_code;			/* memory callback main type code */
    short	subtype;			/* memory callback secondary type code */
    unsigned int	request_flags;		/* request modifier flags (meaningless for statistics request) */
    unsigned char	malloc_fill_char;	/* malloc memory fill character (meaningless for statistics request) */
    unsigned char	free_fill_char;		/* free memory fill character (meaningless for statistics request) */
    char	*read_address;			/* read address for memory read */
    short	output;				/* output type */
    /* On Linux the output specifier when used for email, must be a "real" email
       address, i.e., no SMTP% or DECNET(almond::hendricks) addresses. */
    char	output_specifier[MEM_PARAM_MAX_OUT_SPEC_LEN];	/* output specifier string */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ MEM_ACB_REQUEST;

#define	MEM_PARAM_REPLY_FILLER		3786	/* reply structure filler size */

typedef struct MEM_ACB_REPLY			/* ACNET callback reply structure */
    {
    short	status;				/* returned status of request */
    unsigned short	analysis_mode;
    unsigned short	analysis_mode_pending;
    unsigned int	num_alloc_blocks;
    unsigned int	dynamic_memory;
    unsigned int	free_errors;
    unsigned int	malloc_errors;
    unsigned int	realloc_errors;
    unsigned short	bad_alloc_list;
    unsigned short	bad_block_header;
    unsigned int	bad_header_block_num;
    unsigned short	bad_block_footer;
    unsigned int	bad_footer_block_num;
    unsigned int	num_printfs;
    unsigned int	malloc_calls;		/* # of calls to */
    unsigned int	calloc_calls;		/* # of calls to */
    unsigned int	realloc_calls;		/* # of calls to */
    unsigned int	free_calls;		/* # of calls to */
    unsigned int	min_allocation;
    unsigned int	max_allocation;
    unsigned short	malloc_fill;
    unsigned short	free_fill;
    unsigned char	malloc_fill_char;
    unsigned char	free_fill_char;
    unsigned short	malloc_trace;
    unsigned short	free_trace;
    unsigned int	memory_disabled;
    unsigned int	allocation_size_errors;	/* number of allocation requests with invalid sizes */
    unsigned int	last_block_read_id;	/* ID of last block read */
    unsigned int	current_block_id;	/* current block ID */
    unsigned int	footer_length;		/* number of footer to structures to insert after each block */
    unsigned int	num_trace_errors;	/* number of memory trace errors reported */
    unsigned int	memory_analyze_calls;	/* # of calls to */
    unsigned int	memory_diagnostic_contrl_calls;	/* # of calls to */
    unsigned int	memory_block_length_calls;	/* # of calls to */
    char		unused[MEM_PARAM_REPLY_FILLER];	/* should maintain total structure size at 3900 bytes */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ MEM_ACB_REPLY;

typedef struct MEM_ACB_READ_BLOCK		/* ACNET callback read memory block structure */
    {
    char	*address;
    char	*prev_block;
    char	*next_block;
    char	*data_address;			/* address of data area */
    unsigned int	num_bytes;		/* length of data area in bytes */
    unsigned int	caller_pc;		/* PC of allocater */
    int		footer;				/* footer data */
    unsigned int	block_id;		/* block ID */
    unsigned int	footer_block_id;	/* block ID (from footer) */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ MEM_ACB_READ_BLOCK;

#define	MEM_PARAM_MAX_MEM_BLOCKS	105	/* maximum number of memory blocks to return */

typedef struct MEM_ACB_READ_BLOCK_REPLY		/* ACNET callback read memory block reply structure */
    {
    short	status;				/* returned status of request */
    unsigned int	num_blocks;		/* number of blocks returned */
    unsigned int	num_blocks_total;	/* total number of blocks in memory */
    MEM_ACB_READ_BLOCK	blocks[MEM_PARAM_MAX_MEM_BLOCKS];	/* returned memory blocks */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ MEM_ACB_READ_BLOCK_REPLY;

#define	MEM_PARAM_MAX_READ_BYTES	3840	/* maximum number of bytes to read */

typedef struct MEM_ACB_READ_MEM_REPLY		/* ACNET callback read memory reply structure */
    {
    short	status;				/* returned status of request */
    short	num_bytes;			/* number of bytes returned */
    char	memory[MEM_PARAM_MAX_READ_BYTES];	/* returned data */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ MEM_ACB_READ_MEM_REPLY;

/* end of memory management */


/*
**  WNLIB graphics routines ...
*/
#define	WNLIB_ACB_TC_REQUEST_STATS	1	/* request graphics statistics */
#define	WNLIB_ACB_TC_DIAG_CLEAR		3	/* clear WNLIB diagnostics */
#define	WNLIB_ACB_TC_WIN_INFO		5	/* read window information */
#define	WNLIB_ACB_TC_SWITCH_INFO	6	/* read switch information */
#define	WNLIB_ACB_TC_WINDOW_LIST	15	/* request the list of windows */
#define	WNLIB_ACB_TC_SWITCH_LIST	21	/* request the list of switches */

typedef struct WNLIB_ACB_REQUEST		/* ACNET callback request structure */
    {
    short	generic_type_code;		/* should always have a value of ACNET_CALLBACK_WNLIB */
    short	type_code;			/* WNLIB callback main type code */
    short	subtype;			/* WNLIB callback secondary type code */
    int		item_id;			/* window or switch ID */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ WNLIB_ACB_REQUEST;

#define	WNLIB_PARAM_NUM_SCREENS		2	/* number of graphics screens */

typedef struct WNLIB_RECTANGLE
    {
    int		x1;
    int		y1;
    int		x2;
    int		y2;
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ WNLIB_RECTANGLE;

typedef struct WNLIB_GLOBAL_VALUES		/* WNLIB routines data save structure */
    {
    int		active;				/* active graphics window */
    int		last;				/* last accessed graphics window */
    int		clipon;				/* window clipping flag  */
    int		color;				/* current drawing color */
    int		draw_mode[WNLIB_PARAM_NUM_SCREENS];	/* current drawing mode */
    int		vector_width[WNLIB_PARAM_NUM_SCREENS];	/* current vector width */
    int		vector_pattern[WNLIB_PARAM_NUM_SCREENS];	/* current vector pattern */
    int		vector_pattern_size[WNLIB_PARAM_NUM_SCREENS];	/* current vector pattern size */
    int		vector_pattern_separation[WNLIB_PARAM_NUM_SCREENS];	/* current vector pattern separation */
    int		text_size[WNLIB_PARAM_NUM_SCREENS];	/* current text size */
    int		text_rot[WNLIB_PARAM_NUM_SCREENS];	/* current text rotation */
    int		text_mode[WNLIB_PARAM_NUM_SCREENS];	/* current text drawing mode */
    int		text_video[WNLIB_PARAM_NUM_SCREENS];	/* current text video mode */
    int		fill_mode[WNLIB_PARAM_NUM_SCREENS];	/* current closed object fill mode */
    int		border_width[WNLIB_PARAM_NUM_SCREENS];	/* line width for closed objects */
    WNLIB_RECTANGLE	clip_region[WNLIB_PARAM_NUM_SCREENS];	/* current clipping regions */
    int		bkgd_color;			/* current window background color */
    int		text_scaling;			/* current text scaling */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ WNLIB_GLOBAL_VALUES;

typedef	struct WNLIB_SYMBOL_ATTR		/* plot symbol attributes */
    {
    char	symb_name[LEN_LEXOBJECT];	/* current symbol name */
    short 	symb_rot;			/* symbol rotation */
    short 	symb_i1;			/* symbol identifiers... */
    short 	symb_i2;
    short 	symb_i3;
    short 	symb_i4;
    short 	symb_i5;
    short 	symb_i6;
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ WNLIB_SYMBOL_ATTR;

#define	WNLIB_PARAM_REPLY_FILLER	2946	/* reply structure filler size */

typedef struct WNLIB_ACB_REPLY			/* ACNET callback reply structure */
    {
    short	status;				/* returned status of request */
    unsigned int	num_errors;		/* total number of errors */
    short	last_error;			/* last error detected */
    char	last_error_func[ACB_FUNC_NAME_LEN+2];	/* function in which last error was detected */
    char	last_invarg_func[ACB_FUNC_NAME_LEN+2];	/* function in which last invalid argument error was detected */
    int		last_invarg_num;		/* last invalid argument number */
    int		last_error_window;		/* window ID of last error */
    int		last_error_switch;		/* switch ID of last error */
    unsigned short	num_windows;		/* number of windows */
    int		top_window;			/* ID of the last window created */
    int		last_window_created;		/* ID of last new window created */
    unsigned int	creator_caller_pc;	/* PC of window creator */
    int		last_window_deleted;		/* ID of last window deleted */
    unsigned int	deleter_caller_pc;	/* PC of window deleter */
    short	create_screen;			/* output graphics screen for new windows */
    short	active_screen;			/* current output graphics screen */
    int		active_screen_index;		/* index to active screen */
    int		is_pa;				/* flag indicating whether or not this is a PA */
    int		current_window;			/* next available window ID */
    int		exposed;			/* window exposed flag */
    unsigned int	num_cursor_update_errors;	/* total number of cursor update errors */
    int		cursor_is_on;			/* graphics cursor state */
    int		last_raw_cursor_x;		/* last raw cursor X position */
    int		last_raw_cursor_y;		/* last raw cursor Y position */
    int		last_cursor_window;		/* last window cursor was in */
    float	last_cursor_x;			/* last scaled cursor X position */
    float	last_cursor_y;			/* last scaled cursor Y position */
    int		cursor_type;			/* graphics cursor type (number) */
    int		blinking_cursor;		/* flag indicating if the graphics cursor is a blinking one */
    int		disable_zero_vectors;		/* control drawing zero length vectors */
    int		wn_num_fnd;			/* # of windows found in last call to wn_find_id */
    int		screen_xmax[WNLIB_PARAM_NUM_SCREENS];	/* maximum screen x coordinate */
    int		screen_ymax[WNLIB_PARAM_NUM_SCREENS];	/* maximum screen y coordinate */
    WNLIB_SYMBOL_ATTR	symtyp;			/* symbol attributes */
    WNLIB_GLOBAL_VALUES	wn_values;		/* misc global values */
    unsigned short	num_switches;		/* number of switches */
    int		top_switch;			/* ID of the last switch created */
    int		last_wid;
    int		sw_was_pressed;
    int		last_sw_pressed;
    int		flash_length;
    int		current_switch;
    int		last_sw_id;
    unsigned int	wn_active;			/* # of calls to */
    unsigned int	wn_axis_custom_label;		/* # of calls to */
    unsigned int	wn_axis_grid;			/* # of calls to */
    unsigned int	wn_axis_label;			/* # of calls to */
    unsigned int	wn_background_color;		/* # of calls to */
    unsigned int	wn_blank;			/* # of calls to */
    unsigned int	wn_border_width;		/* # of calls to */
    unsigned int	wn_box;				/* # of calls to */
    unsigned int	wn_box_pixel;			/* # of calls to */
    unsigned int	wn_check_for_interrupt;		/* # of calls to */
    unsigned int	wn_circle;			/* # of calls to */
    unsigned int	wn_circle_pixel;		/* # of calls to */
    unsigned int	wn_circular_arc;		/* # of calls to */
    unsigned int	wn_clip;			/* # of calls to */
    unsigned int	wn_color;			/* # of calls to */
    unsigned int	wn_colored_text;		/* # of calls to */
    unsigned int	wn_combo_menu;			/* # of calls to */
    unsigned int	wn_combo_menu_hs;		/* # of calls to */
    unsigned int	wn_connect_points;		/* # of calls to */
    unsigned int	wn_cursor_disable;		/* # of calls to */
    unsigned int	wn_cursor_init;			/* # of calls to */
    unsigned int	wn_cursor_init_pixel;		/* # of calls to */
    unsigned int	wn_cursor_pixel_position;	/* # of calls to */
    unsigned int	wn_cursor_position;		/* # of calls to */
    unsigned int	wn_cursor_update;		/* # of calls to */
    unsigned int	wn_cursor_update_pixel;		/* # of calls to */
    unsigned int	wn_data_extrema;		/* # of calls to */
    unsigned int	wn_data_fft;			/* # of calls to */
    unsigned int	wn_data_mean;			/* # of calls to */
    unsigned int	wn_data_polyfit;		/* # of calls to */
    unsigned int	wn_data_query;			/* # of calls to */
    unsigned int	wn_data_recall;			/* # of calls to */
    unsigned int	wn_data_save;			/* # of calls to */
    unsigned int	wn_data_set_cut;		/* # of calls to */
    unsigned int	wn_delete;			/* # of calls to */
    unsigned int	wn_delete_all;			/* # of calls to */
    unsigned int	wn_display_value;		/* # of calls to */
    unsigned int	wn_draw_mode;			/* # of calls to */
    unsigned int	wn_erase;			/* # of calls to */
    unsigned int	wn_erase_screen;		/* # of calls to */
    unsigned int	wn_external_colored_text;	/* # of calls to */
    unsigned int	wn_external_display_value;	/* # of calls to */
    unsigned int	wn_external_text;		/* # of calls to */
    unsigned int	wn_fill_mode;			/* # of calls to */
    unsigned int	wn_find_id;			/* # of calls to */
    unsigned int	wn_find_list;			/* # of calls to */
    unsigned int	wn_flush;			/* # of calls to */
    unsigned int	wn_get_active;			/* # of calls to */
    unsigned int	wn_get_screen_title;		/* # of calls to */
    unsigned int	wn_get_view_coords;		/* # of calls to */
    unsigned int	wn_get_world_coords;		/* # of calls to */
    unsigned int	wn_getscrn;			/* # of calls to */
    unsigned int	wn_getworld;			/* # of calls to */
    unsigned int	wn_grid;			/* # of calls to */
    unsigned int	wn_grid_pixel;			/* # of calls to */
    unsigned int	wn_interrupt_info;		/* # of calls to */
    unsigned int	wn_intersect;			/* # of calls to */
    unsigned int	wn_move_block_of_pixels;	/* # of calls to */
    unsigned int	wn_multitrace_axis_label;	/* # of calls to */
    unsigned int	wn_multitrace_grid;		/* # of calls to */
    unsigned int	wn_multitrace_grid_pixel;	/* # of calls to */
    unsigned int	wn_occluded;			/* # of calls to */
    unsigned int	wn_plot_fill;			/* # of calls to */
    unsigned int	wn_point;			/* # of calls to */
    unsigned int	wn_point_pixel;			/* # of calls to */
    unsigned int	wn_point_set;			/* # of calls to */
    unsigned int	wn_polygon;			/* # of calls to */
    unsigned int	wn_printf_at;			/* # of calls to */
    unsigned int	wn_query_setup;			/* # of calls to */
    unsigned int	wn_quick_grid;			/* # of calls to */
    unsigned int	wn_read_background_format;	/* # of calls to */
    unsigned int	wn_read_background_size;	/* # of calls to */
    unsigned int	wn_read_display_size;		/* # of calls to */
    unsigned int	wn_read_text_format;		/* # of calls to */
    unsigned int	wn_read_user_defined_color;	/* # of calls to */
    unsigned int	wn_redraw_grid;			/* # of calls to */
    unsigned int	wn_register_function;		/* # of calls to */
    unsigned int	wn_relative_text;		/* # of calls to */
    unsigned int	wn_screen_init;			/* # of calls to */
    unsigned int	wn_screen_title;		/* # of calls to */
    unsigned int	wn_scroll_menu;			/* # of calls to */
    unsigned int	wn_scroll_menu_hs;		/* # of calls to */
    unsigned int	wn_select_field_delete;		/* # of calls to */
    unsigned int	wn_select_field_disable;	/* # of calls to */
    unsigned int	wn_select_field_display_info;	/* # of calls to */
    unsigned int	wn_select_field_enable;		/* # of calls to */
    unsigned int	wn_select_field_init;		/* # of calls to */
    unsigned int	wn_select_field_read;		/* # of calls to */
    unsigned int	wn_select_field_register;	/* # of calls to */
    unsigned int	wn_select_field_set;		/* # of calls to */
    unsigned int	wn_select_field_set_by_value;	/* # of calls to */
    unsigned int	wn_select_field_set_colors;	/* # of calls to */
    unsigned int	wn_select_field_text_to_id;	/* # of calls to */
    unsigned int	wn_select_screen;		/* # of calls to */
    unsigned int	wn_set_background_format;	/* # of calls to */
    unsigned int	wn_set_background_size;		/* # of calls to */
    unsigned int	wn_set_cursor_pixel_position;	/* # of calls to */
    unsigned int	wn_set_cursor_position;		/* # of calls to */
    unsigned int	wn_set_cursor_type;		/* # of calls to */
    unsigned int	wn_set_max_tick_mark_lengths;	/* # of calls to */
    unsigned int	wn_set_plot_symbol;		/* # of calls to */
    unsigned int	wn_set_scaling;			/* # of calls to */
    unsigned int	wn_setsym;			/* # of calls to */
    unsigned int	wn_switch_create;		/* # of calls to */
    unsigned int	wn_switch_delete;		/* # of calls to */
    unsigned int	wn_switch_disable;		/* # of calls to */
    unsigned int	wn_switch_enable;		/* # of calls to */
    unsigned int	wn_switch_get_screen;		/* # of calls to */
    unsigned int	wn_switch_pressed;		/* # of calls to */
    unsigned int	wn_switch_read;			/* # of calls to */
    unsigned int	wn_switch_redraw;		/* # of calls to */
    unsigned int	wn_switch_relabel;		/* # of calls to */
    unsigned int	wn_switch_set_state;		/* # of calls to */
    unsigned int	wn_switch_window_delete;	/* # of calls to */
    unsigned int	wn_symbol;			/* # of calls to */
    unsigned int	wn_symbol_set;			/* # of calls to */
    unsigned int	wn_text;			/* # of calls to */
    unsigned int	wn_text_attributes;		/* # of calls to */
    unsigned int	wn_text_coord_to_virtual;	/* # of calls to */
    unsigned int	wn_text_coord_to_world;		/* # of calls to */
    unsigned int	wn_text_pixel;			/* # of calls to */
    unsigned int	wn_text_rotation;		/* # of calls to */
    unsigned int	wn_text_scaling;		/* # of calls to */
    unsigned int	wn_text_size;			/* # of calls to */
    unsigned int	wn_text_size_in_pixels;		/* # of calls to */
    unsigned int	wn_text_size_in_virtual_coordinates;	/* # of calls to */
    unsigned int	wn_text_size_in_world_coordinates;	/* # of calls to */
    unsigned int	wn_unregister_function;		/* # of calls to */
    unsigned int	wn_user_defined_color;		/* # of calls to */
    unsigned int	wn_vector;			/* # of calls to */
    unsigned int	wn_vector_grain;		/* # of calls to */
    unsigned int	wn_vector_pixel;		/* # of calls to */
    unsigned int	wn_vector_width;		/* # of calls to */
    unsigned int	wn_view;			/* # of calls to */
    unsigned int	wn_view_construct;		/* # of calls to */
    unsigned int	wn_view_pixel;			/* # of calls to */
    unsigned int	wn_view_text_format;		/* # of calls to */
    unsigned int	wn_wide_vector;			/* # of calls to */
    unsigned int	wn_window_has_switch;		/* # of calls to */
    unsigned int	wn_window_world_to_pixel_coordinates;	/* # of calls to */
    unsigned int	wn_world;			/* # of calls to */
    unsigned int	wn_world_to_text_coord;		/* # of calls to */
    char		unused[WNLIB_PARAM_REPLY_FILLER];	/* should maintain total structure size at 3900 bytes */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ WNLIB_ACB_REPLY;

typedef struct WNLIB_DATASET			/* saved data */
    {
    int 		ds_num_points;		/* # of points in set */
    int 		ds_num_active;		/* # of points in set */
    int 		ds_num_range;		/* # of points in set */
    unsigned char	ds_connect;		/* TRUE/FALSE -> IN/NOT IN connect mode */
    unsigned char	ds_fillit;		/* TRUE/FALSE -> IN/NOT IN fill mode */
    float		xcut_min;		/* data set cut limits */
    float		xcut_max;
    float		ycut_min;
    float		ycut_max;
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ WNLIB_DATASET;

typedef struct WNLIB_GRID_INFO
    {
    int			num_major;		/* number of major ticks */
    int			num_minor;		/* number of minor ticks */
    int			grid_it;		/* grid enable flag */
    int			invert_ticks;		/* tick orientation flag */
    int			grid_line_type;		/* major grid line type */
    int			color;			/* grid color */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ WNLIB_GRID_INFO;

#define	WNLIB_PARAM_NUM_GRID_PLANES	4	/* number of grid planes */

typedef struct WNLIB_ACB_WIN_INFO_REPLY		/* graphic window data */
    {
    short		status;			/* returned status of request */
    int			id;			/* window ID */
    float		wind_x1;		/* window coordinates  (0.0-1.0) */
    float		wind_y1;		/* " */
    float		wind_x2;		/* " */
    float		wind_y2;		/* " */
    float		xmin;			/* virtual coordinates */
    float		xmax;			/* " */
    float		ymin;			/* " */
    float		ymax;			/* " */
    float		x_mult;			/* virtual scaling constants */
    float		x_offset;		/* " */
    float		y_mult;			/* " */
    float		y_offset;		/* " */
    int			x1;			/* physical coordinates */
    int			y1;			/* " */
    int			x2;			/* " */
    int			y2;			/* " */
    int			erase_x1;		/* physical erase coordinates */
    int			erase_y1;		/* " */
    int			erase_x2;		/* " */
    int			erase_y2;		/* " */
    int			world_def;		/* world coordinates defined */
    int			phys_def;		/* physical coordinates defined */
    int			connect_points;		/* connect points flag */
    int			plot_fill;		/* plot fill flag */
    float		plot_fill_base;		/* fill border */
    float		last_x_point;		/* last plotted point: x coord */
    float		last_y_point;		/* last plotted point: y coord */
    int			stack_depth;		/* stack position */
    int			bkgd_color;		/* window background color */
    int			scale_type_x;		/* scale type of x-axis */
    int			scale_type_y;		/* scale type of y-axis */
    int			data_save;		/* data save flag */
    WNLIB_DATASET	data_header;		/* saved data header */
    int			symbol_type;		/* type of plot symbol */
    int			symbol_size;		/* size of plot symbol */
    short		screen;			/* screen where window is displayed */
    WNLIB_GRID_INFO	grid_info[WNLIB_PARAM_NUM_GRID_PLANES];	/* grid information */
    unsigned int	num_plotted_values;	/* number of plotted points/symbols in this window */
    unsigned int	num_plot_errors;	/* number of plot point/symbol errors in this window */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ WNLIB_ACB_WIN_INFO_REPLY;

#define	WNLIB_PARAM_MAX_LIST_ENTRIES	30	/* maximum number of window list entries */

typedef struct WNLIB_WINDOW_LIST_ENTRY		/* window list entry data */
    {
    int		window_id;			/* window ID */
    short	screen;				/* screen where window is displayed */
    float	wind_x1;			/* window coordinates  (0.0-1.0) */
    float	wind_y1;			/* " */
    float	wind_x2;			/* " */
    float	wind_y2;			/* " */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ WNLIB_WINDOW_LIST_ENTRY;

typedef struct WNLIB_ACB_WINDOW_LIST_REPLY	/* window list data */
    {
    short	status;				/* returned status of request */
    short	num_returned;			/* number of window entries returned */
    short	unused;
    WNLIB_WINDOW_LIST_ENTRY	window_list[WNLIB_PARAM_MAX_LIST_ENTRIES];
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ WNLIB_ACB_WINDOW_LIST_REPLY;

#define	WNLIB_PARAM_SWITCH_TEXT_LEN	64	/* length of switch text */
#define	WNLIB_PARAM_MAX_SWITCH		8	/* maximum number of component switches */

typedef struct WNLIB_SWITCH_INFO
    {
    int			xmin;			/* left coordinate of switch */
    int			ymin;			/* bottom coordinate of switch */
    int			xmax;			/* right coordinate of switch */
    int			ymax;			/* top coordinate of switch */
    int			state;			/* present state of switch */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ WNLIB_SWITCH_INFO;

typedef struct WNLIB_ACB_SWITCH_INFO_REPLY	/* switch data */
    {
    short		status;			/* returned status of request */
    int			id;			/* switch ID number */
    int			type;			/* type of switch */
    int			state;			/* present state of switch */
    char		text[WNLIB_PARAM_SWITCH_TEXT_LEN+2];	/* switch text */
    int			text_size;		/* text size */
    int			char_width;		/* width of a character in pixels */
    int			char_height;		/* height of a character in pixels */
    int			num_lines;		/* number of lines of text */
    int			line_length;		/* number of characters per line */
    int			num_switch;		/* # of individual switches in this switch */
    int			color;			/* color of switch */
    WNLIB_SWITCH_INFO	info[WNLIB_PARAM_MAX_SWITCH];	/* individual switch info */
    int			*dest;			/* value to load if switch state changes */
    int			is_enabled;		/* switch enable flag */
    int			in_callback;		/* in callback handler for this switch */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ WNLIB_ACB_SWITCH_INFO_REPLY;

#define	WNLIB_PARAM_MAX_SWITCHES	500	/* maximum number of returned switches */

typedef struct WNLIB_ACB_SWITCH_LIST_REPLY	/* switch list data */
    {
    short		status;			/* returned status of request */
    unsigned int	num_returned;		/* number of switches returned */
    unsigned int	num_switches;		/* number of switches in existence */
    int		switches[WNLIB_PARAM_MAX_SWITCHES];
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ WNLIB_ACB_SWITCH_LIST_REPLY;

/* end of WNLIB */


/*
**  window_manager routines ...
*/
#define	WMNGR_ACB_TC_REQUEST_STATS	1	/* request window_manager statistics */
#define	WMNGR_ACB_TC_DIAG_CLEAR		3	/* clear window_manager diagnostics */
#define	WMNGR_ACB_TC_WIN_INFO		5	/* read window information */
#define	WMNGR_ACB_TC_SWITCH_INFO	6	/* read switch information */
#define	WMNGR_ACB_TC_SLIDER_INFO	7	/* read slider information */
#define	WMNGR_ACB_TC_MENUBAR_INFO	8	/* read menu bar information */
#define	WMNGR_ACB_TC_HILITE_INFO	9	/* read highlight information */
#define	WMNGR_ACB_TC_SELECT_FIELD_INFO	10	/* read select field type information */
#define	WMNGR_ACB_TC_TITLE_TO_ID	11	/* convert window title to ID */
#define	WMNGR_ACB_TC_HANDLE_TO_ID	12	/* convert window handle to ID */
#define	WMNGR_ACB_TC_READ_TEXT		13	/* read window text */
#define	WMNGR_ACB_TC_MAIL_WINDOW	14	/* mail window to user */
#define	WMNGR_ACB_TC_WINDOW_LIST	15	/* request the list of windows */
#define	WMNGR_ACB_TC_SELECT_FIELD_INST	16	/* read select field instance information */
#define	WMNGR_ACB_TC_FIELD_INFO		17	/* read callback field instance information */
#define	WMNGR_ACB_TC_HELP_INFO		18	/* read help callback field instance information */
#define	WMNGR_ACB_TC_FIELD_LIST		19	/* request the list of callback fields */
#define	WMNGR_ACB_TC_HELP_LIST		20	/* request the list of help callback fields */
#define	WMNGR_ACB_TC_SWITCH_LIST	21	/* request the list of switches */
#define	WMNGR_ACB_TC_SLIDER_LIST	22	/* request the list of sliders */
#define	WMNGR_ACB_TC_HILITE_LIST	23	/* request the list of highlight regions */
#define	WMNGR_ACB_TC_SELECT_FIELD_LIST	24	/* request the list of select field types */
#define	WMNGR_ACB_TC_SF_INST_LIST	25	/* request the list of select field instances */
#define	WMNGR_ACB_TC_MENUBAR_LIST	26	/* read the list of menu bars */
#define	WMNGR_ACB_TC_BUBBLE_HELP_INFO	27	/* read bubble help callback field instance information */
#define	WMNGR_ACB_TC_BUBBLE_HELP_LIST	28	/* request the list of bubble help callback fields */
#define	WMNGR_ACB_TC_CALLBACK_INFO	29	/* request a specific window callback */
#define	WMNGR_ACB_TC_CALLBACK_LIST	30	/* request the list of window callbacks */
#define	WMNGR_ACB_TC_MNGR_CB_INFO	31	/* request a specific window manager callback */
#define	WMNGR_ACB_TC_MNGR_CB_LIST	32	/* request the list of window manager callbacks */
#define	WMNGR_ACB_TC_LIST_FIELD_INFO	33	/* read list field instance information */
#define	WMNGR_ACB_TC_LIST_FIELD_LIST	34	/* request the list of list fields */
#define	WMNGR_ACB_TC_INPUT_FIELD_INFO	35	/* read input field instance information */
#define	WMNGR_ACB_TC_INPUT_FIELD_LIST	36	/* request the list of input fields */
#define	WMNGR_ACB_TC_BUTTON_INFO	37	/* read button instance information */
#define	WMNGR_ACB_TC_BUTTON_LIST	38	/* request the list of buttons */
#define	WMNGR_ACB_TC_DEBUG_ENABLE	39	/* enable debug mode */
#define	WMNGR_ACB_TC_DEBUG_DISABLE	40	/* disable debug mode */
#define	WMNGR_ACB_TC_MAIL_ENABLE	41	/* enable error mail */
#define	WMNGR_ACB_TC_MAIL_DISABLE	42	/* disable error mail */

#define	WMNGR_ACB_REQUEST_TEXT_LEN	80	/* maximum length of request text */

typedef struct WMNGR_ACB_REQUEST		/* ACNET callback request structure */
    {
    short	generic_type_code;		/* should always have a value of ACNET_CALLBACK_WMNGR */
    short	type_code;			/* window_manager callback main type code */
    short	subtype;			/* window_manager callback secondary type code */
    int		item_id;			/* window or switch ID */
    int		row;				/* window position */
    int		column;
    int		length;				/* text request length */
    char	title_or_handle[WMNGR_ACB_REQUEST_TEXT_LEN+2];	/* window title or handle */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ WMNGR_ACB_REQUEST;

typedef struct WMNGR_LAST_INT			/* last interrupt info structure */
    {
    short	wid;
    short	type;
    int		row;
    int		col;
    int		info;
    int		exposed;
    short	real_wid;
    int		real_row;
    int		real_col;
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ WMNGR_LAST_INT;

#define	WMNGR_PARAM_REPLY_FILLER	2104	/* reply structure filler size */

typedef struct WMNGR_ACB_REPLY			/* ACNET callback reply structure */
    {
    short	status;				/* returned status of request */
    unsigned int	num_errors;		/* total number of errors */
    unsigned int	read_errors;		/* total number of window_tvm(x) read errors */
    unsigned int	write_errors;		/* total number of window_tvm(x) write errors */
    short	last_error;			/* last error detected */
    char	last_error_func[ACB_FUNC_NAME_LEN+2];	/* function in which last error was detected */
    char	last_invarg_func[ACB_FUNC_NAME_LEN+2];	/* function in which last invalid argument error was detected */
    int		last_invarg_num;		/* last invalid argument number */
    short	last_error_window;		/* window ID of last error */
    int		last_error_switch;		/* switch ID of last error */
    int		last_error_slider;		/* slider ID of the last error */
    short	last_error_hilite;		/* highlight region ID of the last error */
    int		last_error_select_field;	/* select field ID of the last error */
    int		num_windows;			/* # of presently active windows */
    short	top_window;			/* ID of the last window created regardless of method */
    short	last_window_created;		/* ID of last new window created */
    unsigned int	creator_caller_pc;	/* PC of window creator */
    short	last_window_deleted;		/* ID of last window deleted */
    unsigned int	deleter_caller_pc;	/* PC of window deleter */
    int		num_popup;			/* # of windows which are popup in nature */
    int		disable_clipping;		/* global clipping flag */
    int		expose_event;			/* flag indicating whether a window has been exposed */
    int		inhib_last_row;			/* flag indicating whether to update the last_row window field */
    int		disable_scroll_io;		/* override window's scroll_io flag */
    int		auto_int_enabled;		/* flag indicating whether 'window_intype' should execute special interrupts */
    int		hide_special_ints;		/* special window interrupt info pass through flag */
    int		moves_enabled;			/* flag indicating whether user-enacted move routines are enabled */
    int		window_io_disabled;		/* flag to disable window I/O when moving or resizing windows */
    int		simple_lines;			/* flag to make line drawing ignore scroll buffer considerations */
    int		last_scroll;			/* number of lines scrolled during the last scroll command */
    int		last_scroll_horz;		/* number of characters scrolled during the last horizontal scroll command */
    short	last_wid;			/* last window accessed */
    int		current_window;			/* next available window ID */
    int		scroll_limit;			/* number of lines allowed in a window's scroll buffer */
    int		save_scroll_buffer;		/* allows saving of scroll buffers upon window deletion */
    int		save_image_text;		/* allows saving of image text upon window deletion */
    int		bkgd_color;			/* window background color */
    int		num_callback;			/* number of callback routines */
    int		curr_callback_index;		/* current callback index */
    unsigned int	num_pre_create_callbacks;	/* number of pre window create callbacks */
    unsigned int	num_create_callbacks;	/* number of window create callbacks */
    unsigned int	num_change_callbacks;	/* number of window change callbacks */
    unsigned int	num_pre_delete_callbacks;	/* number of pre window delete callbacks */
    unsigned int	num_delete_callbacks;	/* number of window delete callbacks */
    WMNGR_LAST_INT	last_int;		/* information from last interrupt */
    int		key_case;			/* currently selected key case */
    int		key_color;			/* currently selected key color */
    int		key_echo;			/* currently selected key echo mode */
    int		restore_hint;			/* window restore mode hint value */
    unsigned int	num_keybd_interrupts;	/* number of keyboard interrupts */
    unsigned int	num_keyup_interrupts;	/* number of key up interrupts */
    unsigned int	num_per_interrupts;	/* number of periodic interrupts */
    unsigned int	num_focusin_interrupts;	/* number of focus in interrupts */
    unsigned int	num_focusout_interrupts;	/* number of focus out interrupts */
    unsigned int	num_shift_keybd_interrupts;	/* number of shift-keyboard interrupts */
    unsigned int	num_ctrl_keybd_interrupts;	/* number of ctrl-keyboard interrupts */
    unsigned int	num_alt_keybd_interrupts;	/* number of alt-keyboard interrupts */
    unsigned int	num_double_click_interrupts;	/* number of double click interrupts */
    unsigned int	num_graphic_interrupts;	/* number of graphics window interrupts */
    int		top_switch;			/* ID of the last switch created */
    int		switch_was_pressed;		/* switch parameters ... */
    int		switch_last_pressed;
    int		switch_flash_length;
    int		switch_current_switch;
    int		switch_total_switch;
    int		switch_last_id;
    int		top_slider;			/* ID of the last slider created */
    int		a_slider_was_moved;		/* slider parameters ... */
    int		slider_last_moved_id;
    int		slider_current_slider;
    int		slider_total_sliders;
    int		slider_last_id;
    short	top_menu_bar_window;
    int		num_menu_bars;			/* menu bar parameters ... */
    short	mb_last_wid;
    int		mb_deleted_wid;
    int		mb_auto_int_count;
    short	top_hilite;			/* ID of the last highlight region created */
    int		num_hilite_regions;		/* highlight parameters ... */
    int		current_hilite;
    short	last_hid;
    int		num_auto_hilite;
    int		top_select_field;		/* ID of the last select field type created or mapped */
    short	top_select_field_window;
    int		num_select_types;		/* select field parameters ... */
    int		num_auto_select;
    int		in_field_callback;		/* field manager parameters ... */
    int		current_field_id;
    unsigned int	total_fields;
    int		field_last_id;
    int		in_help;			/* help manager parameters ... */
    int		help_enabled;
    int		current_help_id;
    unsigned int	total_help_regions;
    int		help_last_id;
    int		bubble_help_enabled;		/* bubble help manager parameters ... */
    int		bubble_help_display;
    int		current_bubble_help_id;
    unsigned int	total_bubble_help_regions;
    int		bubble_help_last_id;
    int		num_list_fields;		/* list field parameters ... */
    int		current_button_id;		/* window button parameters */
    int		total_buttons;
    int		last_button_id;
    unsigned int	binbox;			/* # of calls to */
    unsigned int	binfld;			/* # of calls to */
    unsigned int	bubble_help_callback_init;	/* # of calls to */
    unsigned int	bubble_help_callback_term;	/* # of calls to */
    unsigned int	bubble_help_display_delay;	/* # of calls to */
    unsigned int	bubble_help_enable_disable;	/* # of calls to */
    unsigned int	bubble_help_setup;	/* # of calls to */
    unsigned int	bubble_help_window_delete;	/* # of calls to */
    unsigned int	btvblnk;		/* # of calls to */
    unsigned int	btvceol;		/* # of calls to */
    unsigned int	btvceop;		/* # of calls to */
    unsigned int	btvcolr;		/* # of calls to */
    unsigned int	btvdisp;		/* # of calls to */
    unsigned int	btvfill;		/* # of calls to */
    unsigned int	btvm;			/* # of calls to */
    unsigned int	btvmx;			/* # of calls to */
    unsigned int	calc_window;		/* # of calls to */
    unsigned int	center_window;		/* # of calls to */
    unsigned int	check_box_menu;		/* # of calls to */
    unsigned int	combo_menu;		/* # of calls to */
    unsigned int	combo_menu_hs;		/* # of calls to */
    unsigned int	field_window_delete;	/* # of calls to */
    unsigned int	get_menu_setup;		/* # of calls to */
    unsigned int	help_callback_init;	/* # of calls to */
    unsigned int	help_callback_term;	/* # of calls to */
    unsigned int	help_enable_disable;	/* # of calls to */
    unsigned int	help_window_delete;	/* # of calls to */
    unsigned int	hilite_create;		/* # of calls to */
    unsigned int	hilite_delete;		/* # of calls to */
    unsigned int	hilite_modify_save_buffer;	/* # of calls to */
    unsigned int	hilite_resume;		/* # of calls to */
    unsigned int	hilite_simple_row_create;	/* # of calls to */
    unsigned int	hilite_suspend;		/* # of calls to */
    unsigned int	hilite_update;		/* # of calls to */
    unsigned int	hilite_window_delete;	/* # of calls to */
    unsigned int	interrupt_window;	/* # of calls to */
    unsigned int	in_window;		/* # of calls to */
    unsigned int	in_window_box;		/* # of calls to */
    unsigned int	in_window_field;	/* # of calls to */
    unsigned int	in_window_interior;	/* # of calls to */
    unsigned int	in_window_line;		/* # of calls to */
    unsigned int	list_field_create;	/* # of calls to */
    unsigned int	list_field_delete;	/* # of calls to */
    unsigned int	list_field_disable;	/* # of calls to */
    unsigned int	list_field_enable;	/* # of calls to */
    unsigned int	list_field_read;	/* # of calls to */
    unsigned int	list_field_set;		/* # of calls to */
    unsigned int	list_field_window_delete;	/* # of calls to */
    unsigned int	logical_combo_menu;	/* # of calls to */
    unsigned int	logical_scroll_menu;	/* # of calls to */
    unsigned int	menu_assert_choice;	/* # of calls to */
    unsigned int	menu_bar_change_entry;	/* # of calls to */
    unsigned int	menu_bar_create;	/* # of calls to */
    unsigned int	menu_bar_delete;	/* # of calls to */
    unsigned int	menu_bar_disable;	/* # of calls to */
    unsigned int	menu_bar_dncase_entry;	/* # of calls to */
    unsigned int	menu_bar_enable;	/* # of calls to */
    unsigned int	menu_bar_field_coordinates;	/* # of calls to */
    unsigned int	menu_bar_min_width;	/* # of calls to */
    unsigned int	menu_bar_upcase_entry;	/* # of calls to */
    unsigned int	menu_bar_update;	/* # of calls to */
    unsigned int	menu_is_open;		/* # of calls to */
    unsigned int	menu_setup;		/* # of calls to */
    unsigned int	multicolor_popup_menu;	/* # of calls to */
    unsigned int	multicolor_text_menu;	/* # of calls to */
    unsigned int	multicolumn_scroll_menu;	/* # of calls to */
    unsigned int	screen_column;		/* # of calls to */
    unsigned int	screen_row;		/* # of calls to */
    unsigned int	scroll_menu;		/* # of calls to */
    unsigned int	scroll_menu_hs;		/* # of calls to */
    unsigned int	select_field_delete;	/* # of calls to */
    unsigned int	select_field_disable;	/* # of calls to */
    unsigned int	select_field_display_info;	/* # of calls to */
    unsigned int	select_field_enable;	/* # of calls to */
    unsigned int	select_field_init;	/* # of calls to */
    unsigned int	select_field_read;	/* # of calls to */
    unsigned int	select_field_register;	/* # of calls to */
    unsigned int	select_field_set;	/* # of calls to */
    unsigned int	select_field_set_by_value;	/* # of calls to */
    unsigned int	select_field_text_to_id;	/* # of calls to */
    unsigned int	select_field_update;	/* # of calls to */
    unsigned int	slider_create;		/* # of calls to */
    unsigned int	slider_delete;		/* # of calls to */
    unsigned int	slider_get_values;	/* # of calls to */
    unsigned int	slider_read;		/* # of calls to */
    unsigned int	slider_set;		/* # of calls to */
    unsigned int	slider_set_values;	/* # of calls to */
    unsigned int	slider_update;		/* # of calls to */
    unsigned int	slider_was_moved;	/* # of calls to */
    unsigned int	smart_menu;		/* # of calls to */
    unsigned int	switch_change_case;	/* # of calls to */
    unsigned int	switch_create;		/* # of calls to */
    unsigned int	switch_create_radio;	/* # of calls to */
    unsigned int	switch_delete;		/* # of calls to */
    unsigned int	switch_disable;		/* # of calls to */
    unsigned int	switch_enable;		/* # of calls to */
    unsigned int	switch_pressed;		/* # of calls to */
    unsigned int	switch_read;		/* # of calls to */
    unsigned int	switch_relabel;		/* # of calls to */
    unsigned int	switch_set_flash;	/* # of calls to */
    unsigned int	switch_set_state;	/* # of calls to */
    unsigned int	switch_text_to_id;	/* # of calls to */
    unsigned int	switch_window_delete;	/* # of calls to */
    unsigned int	text_window;		/* # of calls to */
    unsigned int	text_window_last_created;	/* # of calls to */
    unsigned int	text_window_delete;	/* # of calls to */
    unsigned int	window_accept_input_field;	/* # of calls to */
    unsigned int	window_accept_input_region;	/* # of calls to */
    unsigned int	window_add_callback;	/* # of calls to */
    unsigned int	window_align_to_window;	/* # of calls to */
    unsigned int	window_align_top_row_to_window;	/* # of calls to */
    unsigned int	window_background_color;	/* # of calls to */
    unsigned int	window_blank;		/* # of calls to */
    unsigned int	window_border_button;	/* # of calls to */
    unsigned int	window_box;		/* # of calls to */
    unsigned int	window_button_create;	/* # of calls to */
    unsigned int	window_button_delete;	/* # of calls to */
    unsigned int	window_button_disable;	/* # of calls to */
    unsigned int	window_button_enable;	/* # of calls to */
    unsigned int	window_button_set_id_type;	/* # of calls to */
    unsigned int	window_button_text_to_id;	/* # of calls to */
    unsigned int	window_button_window_delete;	/* # of calls to */
    unsigned int	window_calc_top_row;	/* # of calls to */
    unsigned int	window_callback_init;	/* # of calls to */
    unsigned int	window_callback_term;	/* # of calls to */
    unsigned int	window_center_text;	/* # of calls to */
    unsigned int	window_change_case;	/* # of calls to */
    unsigned int	window_close_button;	/* # of calls to */
    unsigned int	window_column;		/* # of calls to */
    unsigned int	window_construct;	/* # of calls to */
    unsigned int	window_control_callbacks;	/* # of calls to */
    unsigned int	window_coordinate_limits;	/* # of calls to */
    unsigned int	window_coords;		/* # of calls to */
    unsigned int	window_copy;		/* # of calls to */
    unsigned int	window_create;		/* # of calls to */
    unsigned int	window_current_column;	/* # of calls to */
    unsigned int	window_current_operation_info;	/* # of calls to */
    unsigned int	window_current_row;	/* # of calls to */
    unsigned int	window_delete;		/* # of calls to */
    unsigned int	window_delete_border_button;	/* # of calls to */
    unsigned int	window_delete_char;	/* # of calls to */
    unsigned int	window_delete_line;	/* # of calls to */
    unsigned int	window_delete_scroll_buffer;	/* # of calls to */
    unsigned int	window_disable_interrupts;	/* # of calls to */
    unsigned int	window_disable_move;	/* # of calls to */
    unsigned int	window_disable_occluded_ints;	/* # of calls to */
    unsigned int	window_disable_resize;	/* # of calls to */
    unsigned int	window_disable_restack;	/* # of calls to */
    unsigned int	window_disable_scroll_io;	/* # of calls to */
    unsigned int	window_disable_scroll_save;	/* # of calls to */
    unsigned int	window_disable_scroll_slider;	/* # of calls to */
    unsigned int	window_disable_scroll_status;	/* # of calls to */
    unsigned int	window_disable_window_callbacks;	/* # of calls to */
    unsigned int	window_display_value;	/* # of calls to */
    unsigned int	window_down_case;	/* # of calls to */
    unsigned int	window_draw_char;	/* # of calls to */
    unsigned int	window_enable_interrupts;	/* # of calls to */
    unsigned int	window_enable_move;	/* # of calls to */
    unsigned int	window_enable_occluded_ints;	/* # of calls to */
    unsigned int	window_enable_resize;	/* # of calls to */
    unsigned int	window_enable_restack;	/* # of calls to */
    unsigned int	window_enable_scroll_io;	/* # of calls to */
    unsigned int	window_enable_scroll_save;	/* # of calls to */
    unsigned int	window_enable_scroll_slider;	/* # of calls to */
    unsigned int	window_enable_scroll_status;	/* # of calls to */
    unsigned int	window_enable_window_callbacks;	/* # of calls to */
    unsigned int	window_end_intype_loop;	/* # of calls to */
    unsigned int	window_entry_to_row;	/* # of calls to */
    unsigned int	window_erase;		/* # of calls to */
    unsigned int	window_erase_line;	/* # of calls to */
    unsigned int	window_erase_to_eol;	/* # of calls to */
    unsigned int	window_erase_to_eow;	/* # of calls to */
    unsigned int	window_exists;		/* # of calls to */
    unsigned int	window_exposed_region;	/* # of calls to */
    unsigned int	window_extrema_row_numbers;	/* # of calls to */
    unsigned int	window_field_add_callback;	/* # of calls to */
    unsigned int	window_field_alter_interrupt;	/* # of calls to */
    unsigned int	window_field_contains_text_color;	/* # of calls to */
    unsigned int	window_field_create;	/* # of calls to */
    unsigned int	window_field_delete;	/* # of calls to */
    unsigned int	window_field_delete_callback;	/* # of calls to */
    unsigned int	window_field_disable;	/* # of calls to */
    unsigned int	window_field_enable;	/* # of calls to */
    unsigned int	window_field_has_been_typed_in;	/* # of calls to */
    unsigned int	window_field_init;	/* # of calls to */
    unsigned int	window_fit_window;	/* # of calls to */
    unsigned int	window_flush_text_region;	/* # of calls to */
    unsigned int	window_flush_typed_text;	/* # of calls to */
    unsigned int	window_force_to_front;	/* # of calls to */
    unsigned int	window_freeze;		/* # of calls to */
    unsigned int	window_gap;		/* # of calls to */
    unsigned int	window_gap_length;	/* # of calls to */
    unsigned int	window_get_parameter;	/* # of calls to */
    unsigned int	window_get_id_list;	/* # of calls to */
    unsigned int	window_handle_to_id;	/* # of calls to */
    unsigned int	window_has_button;	/* # of calls to */
    unsigned int	window_has_feature;	/* # of calls to */
    unsigned int	window_has_help;	/* # of calls to */
    unsigned int	window_has_menu_bar;	/* # of calls to */
    unsigned int	window_has_switch;	/* # of calls to */
    unsigned int	window_hilite;		/* # of calls to */
    unsigned int	window_hilite_line;	/* # of calls to */
    unsigned int	window_hline;		/* # of calls to */
    unsigned int	window_hole;		/* # of calls to */
    unsigned int	window_hscroll;		/* # of calls to */
    unsigned int	window_hscroll_offset;	/* # of calls to */
    unsigned int	window_hscroll_page;	/* # of calls to */
    unsigned int	window_init;		/* # of calls to */
    unsigned int	window_init_sequential_write;	/* # of calls to */
    unsigned int	window_input_value;	/* # of calls to */
    unsigned int	window_insert_char;	/* # of calls to */
    unsigned int	window_insert_line;	/* # of calls to */
    unsigned int	window_interrupt_cursor;	/* # of calls to */
    unsigned int	window_intersect;	/* # of calls to */
    unsigned int	window_intype;		/* # of calls to */
    unsigned int	window_intype_again;	/* # of calls to */
    unsigned int	window_intype_loop;	/* # of calls to */
    unsigned int	window_intype_put_data;	/* # of calls to */
    unsigned int	window_in_border_button;	/* # of calls to */
    unsigned int	window_is_frozen;	/* # of calls to */
    unsigned int	window_is_in_scroll_buffer;	/* # of calls to */
    unsigned int	window_is_in_visible_scroll;	/* # of calls to */
    unsigned int	window_is_occluding;	/* # of calls to */
    unsigned int	window_justify_text;	/* # of calls to */
    unsigned int	window_key_case;	/* # of calls to */
    unsigned int	window_key_color;	/* # of calls to */
    unsigned int	window_key_echo;	/* # of calls to */
    unsigned int	window_last_created;	/* # of calls to */
    unsigned int	window_last_deleted;	/* # of calls to */
    unsigned int	window_last_io_location;	/* # of calls to */
    unsigned int	window_last_scroll;	/* # of calls to */
    unsigned int	window_last_horizontal_scroll;	/* # of calls to */
    unsigned int	window_manager_initialized;	/* # of calls to */
    unsigned int	window_menu_bar_create;	/* # of calls to */
    unsigned int	window_menu_bar_delete;	/* # of calls to */
    unsigned int	window_menu_bar_update;	/* # of calls to */
    unsigned int	window_menu_button;	/* # of calls to */
    unsigned int	window_move;		/* # of calls to */
    unsigned int	window_move_disable;	/* # of calls to */
    unsigned int	window_move_enable;	/* # of calls to */
    unsigned int	window_next_scroll_row;	/* # of calls to */
    unsigned int	window_num_popup_windows;	/* # of calls to */
    unsigned int	window_occluded;	/* # of calls to */
    unsigned int	window_occluded_by;	/* # of calls to */
    unsigned int	window_occluding;	/* # of calls to */
    unsigned int	window_physical_column;	/* # of calls to */
    unsigned int	window_printf;		/* # of calls to */
    unsigned int	window_printf_at;	/* # of calls to */
    unsigned int	window_printf_noscroll;	/* # of calls to */
    unsigned int	window_query_scroll;	/* # of calls to */
    unsigned int	window_read_color_text;	/* # of calls to */
    unsigned int	window_read_cursor;	/* # of calls to */
    unsigned int	window_read_handle;	/* # of calls to */
    unsigned int	window_read_menu_bar_info;	/* # of calls to */
    unsigned int	window_read_scroll_region;	/* # of calls to */
    unsigned int	window_read_text;	/* # of calls to */
    unsigned int	window_reborder;	/* # of calls to */
    unsigned int	window_rectangle;	/* # of calls to */
    unsigned int	window_refresh;		/* # of calls to */
    unsigned int	window_refresh_all;	/* # of calls to */
    unsigned int	window_register_func;	/* # of calls to */
    unsigned int	window_remove_callback;	/* # of calls to */
    unsigned int	window_request_delete;	/* # of calls to */
    unsigned int	window_resize;		/* # of calls to */
    unsigned int	window_restore_hint;	/* # of calls to */
    unsigned int	window_restore_border_line;	/* # of calls to */
    unsigned int	window_retitle;		/* # of calls to */
    unsigned int	window_row;		/* # of calls to */
    unsigned int	window_row_is_visible;	/* # of calls to */
    unsigned int	window_row_to_entry;	/* # of calls to */
    unsigned int	window_save_border_line;	/* # of calls to */
    unsigned int	window_scroll;		/* # of calls to */
    unsigned int	window_scroll_block;	/* # of calls to */
    unsigned int	window_scroll_offset;	/* # of calls to */
    unsigned int	window_scroll_page;	/* # of calls to */
    unsigned int	window_scroll_to_bottom;	/* # of calls to */
    unsigned int	window_scroll_to_left;	/* # of calls to */
    unsigned int	window_scroll_to_right;	/* # of calls to */
    unsigned int	window_scroll_to_top;	/* # of calls to */
    unsigned int	window_select_copy;	/* # of calls to */
    unsigned int	window_select_pop;	/* # of calls to */
    unsigned int	window_select_push;	/* # of calls to */
    unsigned int	window_select_stack;	/* # of calls to */
    unsigned int	window_sequential_write;	/* # of calls to */
    unsigned int	window_seq_write_xchar;	/* # of calls to */
    unsigned int	window_set_background_size;	/* # of calls to */
    unsigned int	window_set_clip;	/* # of calls to */
    unsigned int	window_set_cursor;	/* # of calls to */
    unsigned int	window_set_handle;	/* # of calls to */
    unsigned int	window_set_parameter;	/* # of calls to */
    unsigned int	window_set_popup;	/* # of calls to */
    unsigned int	window_set_position;	/* # of calls to */
    unsigned int	window_set_resize_mode;	/* # of calls to */
    unsigned int	window_set_scroll_colors;	/* # of calls to */
    unsigned int	window_set_scroll_limit;	/* # of calls to */
    unsigned int	window_set_scroll_region;	/* # of calls to */
    unsigned int	window_set_size;	/* # of calls to */
    unsigned int	window_set_size_limit;	/* # of calls to */
    unsigned int	window_size;		/* # of calls to */
    unsigned int	window_text_block;	/* # of calls to */
    unsigned int	window_text_color;	/* # of calls to */
    unsigned int	window_text_fill;	/* # of calls to */
    unsigned int	window_title;		/* # of calls to */
    unsigned int	window_title_to_id;	/* # of calls to */
    unsigned int	window_topmost;		/* # of calls to */
    unsigned int	window_total_lines;	/* # of calls to */
    unsigned int	window_to_back;		/* # of calls to */
    unsigned int	window_to_excel_file;	/* # of calls to */
    unsigned int	window_to_front;	/* # of calls to */
    unsigned int	window_to_graphic_screen;	/* # of calls to */
    unsigned int	window_to_paste_buffer;	/* # of calls to */
    unsigned int	window_to_printer;	/* # of calls to */
    unsigned int	window_to_text_file;	/* # of calls to */
    unsigned int	window_tvdisp;		/* # of calls to */
    unsigned int	window_tvm;		/* # of calls to */
    unsigned int	window_tvmx;		/* # of calls to */
    unsigned int	window_tvsave;		/* # of calls to */
    unsigned int	window_unfit_window;	/* # of calls to */
    unsigned int	window_unfreeze;	/* # of calls to */
    unsigned int	window_unregister_function;	/* # of calls to */
    unsigned int	window_update_background;	/* # of calls to */
    unsigned int	window_up_case;		/* # of calls to */
    unsigned int	window_vertical_text;	/* # of calls to */
    unsigned int	window_virtual_column;	/* # of calls to */
    unsigned int	window_vline;		/* # of calls to */
    unsigned int	window_was_created;	/* # of calls to */
    unsigned int	window_was_deleted;	/* # of calls to */
    unsigned int	window_write_line;	/* # of calls to */
    unsigned int	window_write_scroll;	/* # of calls to */
    unsigned int	window_write_xchar_line;	/* # of calls to */
    char		unused[WMNGR_PARAM_REPLY_FILLER];	/* should maintain total structure size at 3900 bytes */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ WMNGR_ACB_REPLY;

typedef struct WMNGR_SCROLL_BAR			/* scroll bar position info */
    {
    int		enabled;			/* scroll bar indicator enabled flag */
    int		color;				/* scroll bar color */
    int		length;				/* length of scroll bar */
    int		offset;				/* scroll bar offset */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ WMNGR_SCROLL_BAR;

typedef struct WMNGR_SCROLL_STATS		/* scroll statistics display info */
    {
    int		enabled;			/* display flag */
    int		color;				/* display color */
    int		col;				/* starting column of display */
    int		length;				/* length of display */
    int		field_length;			/* length of an individual field */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ WMNGR_SCROLL_STATS;

typedef struct WMNGR_SCROLL_REGION		/* scrolling region info */
    {
    int		urow;				/* top row */
    int		nrows;				/* # of rows */
    int		lcol;				/* left column */
    int		ncols;				/* # of columns */
    int		base_urow;			/* base top row disregarding special exceptions */
    int		base_nrows;			/* base # of rows disregarding special exceptions */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ WMNGR_SCROLL_REGION;

typedef struct WMNGR_SIZE_LIMIT			/* size limit info */
    {
    int		min_rows;			/* minimum # of rows */
    int		max_rows;			/* maximum # of rows */
    int		min_cols;			/* minimum # of columns */
    int		max_cols;			/* maximum # of columns */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ WMNGR_SIZE_LIMIT;

typedef struct WMNGR_LOGICAL_IO			/* logical I/O location info */
    {
    int		row;				/* passed I/O row */
    int		row_offset;			/* row offset at time of I/O */
    int		column;				/* passed I/O column */
    int		column_offset;			/* column offset at time of I/O */
    int		scroll_it;			/* flag indicating if I/O was in scroll buffer */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ WMNGR_LOGICAL_IO;

typedef struct WMNGR_COORDINATE_LIMITS		/* window coordinate limit info */
    {
    unsigned char	top_row;
    unsigned char	bottom_row;
    unsigned char	top_inside_row;
    unsigned char	bottom_inside_row;
    unsigned char	left_col;
    unsigned char	right_col;
    unsigned char	left_inside_col;
    unsigned char	right_inside_col;
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ WMNGR_COORDINATE_LIMITS;

typedef struct WMNGR_POS_SIZE			/* window position and size info */
    {
    unsigned char	row;
    unsigned char	col;
    unsigned char	nrows;
    unsigned char	ncols;
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ WMNGR_POS_SIZE;

#define	WMNGR_PARAM_TITLE_LEN		64	/* length of title text */
#define	WMNGR_PARAM_HANDLE_LEN		64	/* length of handle text */

typedef struct WMNGR_ACB_WIN_INFO_REPLY		/* window data */
    {
    short	status;				/* returned status of request */
    short	id;				/* window ID */
    unsigned char	lcol;			/* left column */
    unsigned char	urow;			/* top row */
    unsigned char	rcol;			/* right column */
    unsigned char	drow;			/* bottom row */
    unsigned char	curs_row;		/* cursor row */
    unsigned char	curs_col;		/* cursor column */
    char	title[WMNGR_PARAM_TITLE_LEN+2];	/* window title */
    char	title_length;			/* window title length */
    char	title_color;			/* window title color */
    char	border_color;			/* window border color */
    char	border_style;			/* style of border */
    int		height;				/* height of window in rows */
    int		width;				/* width of window in columns */
    int		stack_depth;			/* occlusion indicator */
    int		clip_it;			/* right and bottom clipping flag */
    int		move_it;			/* move enable flag */
    int		resize_it;			/* resize enable flag */
    int		resize_mode;			/* resize constraint mode */
    int		pop_it;				/* window push/pop enable flag */
    int		scroll_it;			/* scroll bar present flag */
    int		restore;			/* text repaint mode */
    int		last_row;			/* last row written to */
    int		num_off_top;			/* # of lines scrolled off the top of the screen */
    int		num_off_bottom;			/* # of lines scrolled off the bottom of the screen */
    int		scroll_limit;			/* max # of lines in scroll buffer */
    WMNGR_SCROLL_BAR	scroll_bar;		/* present position of scroll bar */
    int		scroll_io;			/* scroll buffer I/O enable flag */
    int		column_offset;			/* horizontal scroll offset */
    int		menu_bar_row;			/* row containing menu bar */
    WMNGR_SCROLL_STATS	scroll_stats;		/* scroll statistics display info */
    int		bkgd_color;			/* window background color */
    int		scroll_save;			/* save scrolled lines flag */
    WMNGR_SCROLL_REGION	scroll_region;		/* scrolling region of window */
    int		line_length;			/* virtual line length */
    WMNGR_SIZE_LIMIT	size_limit;		/* window size limits */
    int		scroll_it_horz;			/* horizontal scroll bar present flag */
    WMNGR_SCROLL_BAR	scroll_bar_horz;	/* present position of horizontal scroll bar */
    int		inside_height;			/* height of window inside border */
    int		inside_width;			/* width of window inside border */
    int		occluded_ints_enabled;		/* flag to determine whether to accept interrupts when the window is occluded */
    short	parent;				/* parent window ID */
    int		num_destructors;		/* number of destructor functions */
    int		num_scrollers;			/* number of scroll functions */
    int		num_resizers;			/* number of resize functions */
    int		num_movers;			/* number of move functions */
    int		num_exposers;			/* number of expose functions */
    short	is_popup;			/* flag to indicate if this is a popup window */
    int		last_column;			/* last column written to */
    WMNGR_LOGICAL_IO	last_logical_io;	/* last logical I/O location written to */
    int		cr_pending;			/* carriage return pending flag for printf style operations */
    int		scrollbar_id_vert;		/* vertical scroll bar ID */
    int		scrollbar_id_horz;		/* horizontal scroll bar ID */
    char	handle[WMNGR_PARAM_HANDLE_LEN+2];	/* window handle text */
    WMNGR_COORDINATE_LIMITS	coord_limits;	/* window coordinate extrema */
    short	delete_flag;			/* global delete condition flag */
    WMNGR_POS_SIZE	initial_pos_size;	/* initial position and size info */
    unsigned short	vertical_scroll_inc;	/* vertical scroll increment */
    unsigned short	vertical_scroll_page_inc;	/* vertical scroll page increment */
    unsigned short	horizontal_scroll_inc;	/* horizontal scroll increment */
    unsigned short	horizontal_scroll_page_inc;	/* horizontal scroll page increment */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ WMNGR_ACB_WIN_INFO_REPLY;

#define	WMNGR_PARAM_MAX_LIST_ENTRIES	57	/* maximum number of window list entries */

typedef struct WMNGR_WINDOW_LIST_ENTRY		/* window list entry data */
    {
    short	window_id;			/* window ID */
    char	title[WMNGR_PARAM_TITLE_LEN+2];	/* window title */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ WMNGR_WINDOW_LIST_ENTRY;

typedef struct WMNGR_ACB_WINDOW_LIST_REPLY	/* window list data */
    {
    short	status;				/* returned status of request */
    short	num_returned;			/* number of window entries returned */
    short	unused;
    WMNGR_WINDOW_LIST_ENTRY	window_list[WMNGR_PARAM_MAX_LIST_ENTRIES];
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ WMNGR_ACB_WINDOW_LIST_REPLY;

#define	WMNGR_PARAM_MAX_SWITCH		8	/* maximum number of component switches */

typedef struct WMNGR_SWITCH_INFO
    {
    int		row;				/* top row of switch */
    int		col;				/* left column of switch */
    int		height;				/* height of switch in rows */
    int		width;				/* width of switch in columns */
    int		state;				/* present state of switch */
    int		color;				/* switch interior color */
    int		border_color;			/* switch border color */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ WMNGR_SWITCH_INFO;

typedef struct WMNGR_ACB_SWITCH_INFO_REPLY	/* switch data */
    {
    short		status;			/* returned status of request */
    int			id;			/* switch ID number */
    int			type;			/* type of switch */
    int			state;
    int			is_scrollable;		/* scrollable switch flag */
    int			num_switch;		/* # of individual switches in this switch */
    WMNGR_SWITCH_INFO	info[WMNGR_PARAM_MAX_SWITCH];	/* individual switch info */
    int			*dest;			/* value to load if switch state changes */
    int			is_enabled;		/* switch enable flag */
    int			in_callback;		/* in callback handler for this switch */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ WMNGR_ACB_SWITCH_INFO_REPLY;

typedef struct WMNGR_ACB_SLIDER_INFO_REPLY	/* slider information structure */
    {
    short	status;				/* returned status of request */
    int		id;				/* slider ID number */
    int		length;				/* length of slider */
    int		width;				/* width of slider */
    int		orientation;			/* orientation of slider */
    int		decrement_row;			/* decrement field row */
    int		decrement_col;			/* decrement field column */
    int		slider_nrows;			/* overall slider number of rows */
    int		slider_ncols;			/* overall slider number of columns */
    int		decrement_nrows;		/* decrement field number of rows */
    int		decrement_ncols;		/* decrement field number of columns */
    int		increment_row;			/* increment field row */
    int		increment_col;			/* increment field column */
    int		increment_nrows;		/* increment field number of rows */
    int		increment_ncols;		/* increment field number of columns */
    char	decrement_char;
    char	increment_char;
    int		drag_row;			/* starting drag field row */
    int		drag_col;			/* starting drag field column */
    int		drag_length;			/* drag field length */
    int		indicator_len;			/* length of indicator */
    int		indicator_row;			/* indicator row */
    int		indicator_col;			/* indicator column */
    int		indicator_nrows;		/* indicator number of rows */
    int		indicator_ncols;		/* indicator number of columns */
    int		border_style;			/* type of border */
    int		indicator_color;
    int		background_color;
    int		border_color;
    float	min_value;			/* minimum value */
    float	max_value;			/* maximum value */
    float	increment;			/* small increment value */
    float	block_increment;		/* large increment value */
    int		enabled;			/* slider enabled flag */
    int		offset;				/* present indicator offset */
    int		drawn_length;			/* presently drawn indicator length */
    float	value;				/* present value of slider */
    int		auto_update;			/* automatic update flag */
    int		is_scrollable;			/* scrollable slider flag */
    int		scroll_start_row;		/* first row of scroll region */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ WMNGR_ACB_SLIDER_INFO_REPLY;

#define	WMNGR_PARAM_MAX_MB_FIELDS	8	/* maximum number of menu bar fields */

typedef struct WMNGR_MENUBAR_FIELD_DATA
    {
    int		start;				/* starting column */
    int		length;				/* field length */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ WMNGR_MENUBAR_FIELD_DATA;

typedef struct WMNGR_ACB_MENUBAR_INFO_REPLY	/* menu bar data reply structure */
    {
    short	status;				/* returned status of request */
    short	wid;				/* window ID */
    int		enabled;			/* menu bar enable flag */
    int		row;				/* menu bar row */
    int		numitem;			/* # of menu items */
    int		length;				/* length of title bar */
    WMNGR_MENUBAR_FIELD_DATA	fields[WMNGR_PARAM_MAX_MB_FIELDS];	/* array of field info */
    int			auto_update;		/* automatic update flag */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ WMNGR_ACB_MENUBAR_INFO_REPLY;

typedef struct WMNGR_ACB_HILITE_INFO_REPLY	/* highlight data reply structure */
    {
    short	status;				/* returned status of request */
    short	id;				/* highlight ID */
    short	wid;				/* window ID */
    int		toprow;				/* top row of highlight region */
    int		lftcol;				/* leftmost column of highlight region */
    int		numitem;			/* # of highlighted items */
    int		numchar;			/* # of characters per entry */
    int		ncol;				/* # of columns */
    int		itmper;				/* items per column */
    int		width;				/* width of region in characters */
    int		field_len;			/* cursor check field length */
    int		field_off;			/* cursor check field offset */
    int		field_orient;			/* cursor check field orientation */
    int		separate;			/* # of characters separating adjacent columns */
    int		olditm;				/* last highlighted selection */
    int		auto_update;			/* automatic update flag */
    int		color;				/* highlight color */
    int		is_suspended;			/* flag which if nonzero indicates that this highlight region's updating is suspended */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ WMNGR_ACB_HILITE_INFO_REPLY;

typedef struct WMNGR_ACB_WINDOW_ID_REPLY	/* window ID */
    {
    short	status;				/* returned status of request */
    short	id;				/* returned window ID */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ WMNGR_ACB_WINDOW_ID_REPLY;

#define	WMNGR_ACB_MAX_READ_TEXT		256	/* maximum number of characters to read */

typedef struct WMNGR_ACB_READ_TEXT_REPLY	/* window text */
    {
    short	status;				/* returned status of request */
    int		return_length;
    XCHAR	text[WMNGR_ACB_MAX_READ_TEXT];	/* returned window text */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ WMNGR_ACB_READ_TEXT_REPLY;

typedef struct WMNGR_ACB_STATUS_REPLY		/* simple status */
    {
    short	status;				/* returned status of request */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ WMNGR_ACB_STATUS_REPLY;

#define	WMNGR_ACB_MAX_SF_LABEL_LEN	32	/* maximum select field label length */
#define	WMNGR_ACB_MAX_SF_ENTRY_LEN	32	/* maximum select field entry length */
#define	WMNGR_ACB_MAX_SF_ENTRIES	64	/* maximum number of select field entriesd */

typedef struct WMNGR_ACB_SELECT_FIELD_INFO_REPLY	/* select field data reply structure */
    {
    short	status;				/* returned status of request */
    int		id;				/* select field ID */
    char	label[WMNGR_ACB_MAX_SF_LABEL_LEN+2];	/* label text */
    int		label_len;			/* label length */
    int		entry_len;			/* length of an entry */
    int		num_entries;			/* actual number of entries */
    char	entry_text[WMNGR_ACB_MAX_SF_ENTRIES*32];	/* entry text */
    int		entry_indices[WMNGR_ACB_MAX_SF_ENTRIES];	/* entry indices */
    int		(*verify_func)();		/* verify entry function */
    int		(*next_func)();			/* next entry function */
    int		(*menu_func)();			/* menu of entries function */
    int		char_case;			/* entry character case */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ WMNGR_ACB_SELECT_FIELD_INFO_REPLY;

typedef struct WMNGR_ACB_SELECT_FIELD_INST_REPLY	/* select field instance data reply structure */
    {
    short	status;				/* returned status of request */
    short	wid;				/* window containing select field */
    int		select_type;			/* select field type ID */
    int		row;				/* select field row */
    int		col;				/* select field left column */
    int		entry_index;			/* current entry index */
    char	entry_text[WMNGR_ACB_MAX_SF_ENTRY_LEN+2];	/* current entry text */
    int		auto_update;			/* automatic update flag */
    void	(*update_func)();		/* update function */
    void	*update_data;			/* update function data */
    int	is_enabled;			/* select field enable flag */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ WMNGR_ACB_SELECT_FIELD_INST_REPLY;

typedef struct WMNGR_ACB_FIELD_INFO_REPLY	/* window callback field instance data reply structure */
    {
    short	status;				/* returned status of request */
    short	window_id;			/* window ID */
    int		field_id;			/* field ID */
    int		user_top_row;			/* user supplied top row of callback field */
    int		physical_top_row;		/* top row of callback field in physical coordinates */
    int		top_row;			/* top row of callback field in window image */
    int		user_left_column;		/* user supplied left column of callback field */
    int		physical_left_column;		/* left column of callback field in physical coordinates */
    int		left_column;			/* left column of callback field in window image */
    int		height;				/* height of callback field in rows */
    int		width;				/* width of callback field in columns */
    int		is_scrollable;			/* flag indicating whether or not the callback field is scrollable */
    unsigned int	interrupt_mask;		/* mask of enabled interrupts */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ WMNGR_ACB_FIELD_INFO_REPLY;

#define	WMNGR_PARAM_HELP_FILE_LEN	127	/* maximum length of a help file name */

typedef struct WMNGR_ACB_HELP_INFO_REPLY	/* window help callback field instance data reply structure */
    {
    short	status;				/* returned status of request */
    short	window_id;			/* window ID */
    char	window_handle[WMNGR_PARAM_HANDLE_LEN+2];	/* window handle */
    int		help_id;			/* help ID */
    int		top_row;			/* top row of help region */
    int		left_column;			/* left column of help region */
    int		height;				/* height of help region in rows */
    int		width;				/* width of help region in columns */
    int		coords_pending;			/* coordinates must still be resolved */
    int		is_scrollable;			/* flag indicating whether or not the help region is scrollable */
    int		display_coord_type;		/* display coordinate type */
    int		display_row;			/* help window top row */
    int		display_column;			/* help window left column */
    int		help_type;			/* type of help display */
    char	file_name[WMNGR_PARAM_HELP_FILE_LEN+1];	/* help text file name */
    int		file_record;			/* help text file record */
    int		cnshelp_level;			/* console help file level */
    int		cnshelp_entry;			/* console help entry */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ WMNGR_ACB_HELP_INFO_REPLY;

#define	WMNGR_PARAM_MAX_FIELDS	500		/* maximum number of returned fields */

typedef struct WMNGR_ACB_FIELD_LIST_REPLY	/* field list data */
    {
    short	status;				/* returned status of request */
    unsigned int	num_returned;		/* number of fields returned */
    unsigned int	num_fields;		/* number of fields in existence */
    int		fields[WMNGR_PARAM_MAX_FIELDS];
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ WMNGR_ACB_FIELD_LIST_REPLY;

#define	WMNGR_PARAM_MAX_HELP_FIELDS	500	/* maximum number of returned help fields */

typedef struct WMNGR_ACB_HELP_LIST_REPLY	/* help field list data */
    {
    short	status;				/* returned status of request */
    unsigned int	num_returned;		/* number of help fields returned */
    unsigned int	num_help_fields;	/* number of help fields in existence */
    int		help_fields[WMNGR_PARAM_MAX_HELP_FIELDS];
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ WMNGR_ACB_HELP_LIST_REPLY;

#define	WMNGR_PARAM_MAX_SWITCHES	500	/* maximum number of returned switches */

typedef struct WMNGR_ACB_SWITCH_LIST_REPLY	/* switch list data */
    {
    short	status;				/* returned status of request */
    unsigned int	num_returned;		/* number of switches returned */
    unsigned int	num_switches;		/* number of switches in existence */
    int		switches[WMNGR_PARAM_MAX_SWITCHES];
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ WMNGR_ACB_SWITCH_LIST_REPLY;

#define	WMNGR_PARAM_MAX_SLIDERS		500	/* maximum number of returned sliders */

typedef struct WMNGR_ACB_SLIDER_LIST_REPLY	/* slider list data */
    {
    short	status;				/* returned status of request */
    unsigned int	num_returned;		/* number of sliders returned */
    unsigned int	num_sliders;		/* number of sliders in existence */
    int		sliders[WMNGR_PARAM_MAX_SLIDERS];
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ WMNGR_ACB_SLIDER_LIST_REPLY;

#define	WMNGR_PARAM_MAX_HILITE_REGIONS	500	/* maximum number of returned highlight regions */

typedef struct WMNGR_ACB_HILITE_LIST_REPLY	/* highlight region list data */
    {
    short		status;			/* returned status of request */
    unsigned int	num_returned;		/* number of highlight regions returned */
    unsigned int	num_hilite_regions;	/* number of highlight regions in existence */
    short		hilite_regions[WMNGR_PARAM_MAX_HILITE_REGIONS];
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ WMNGR_ACB_HILITE_LIST_REPLY;

#define	WMNGR_PARAM_MAX_SELECT_FIELDS	500	/* maximum number of returned select fields */

typedef struct WMNGR_ACB_SELECT_FIELD_LIST_REPLY	/* select field list data */
    {
    short	status;				/* returned status of request */
    unsigned int	num_returned;		/* number of select fields returned */
    unsigned int	num_select_fields;	/* number of select fields in existence */
    int		select_fields[WMNGR_PARAM_MAX_SELECT_FIELDS];
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ WMNGR_ACB_SELECT_FIELD_LIST_REPLY;

typedef struct WMNGR_ACB_SF_INST_ENTRY		/* select field instance entry */
    {
    short	window_id;			/* window containing select field */
    int		select_type;			/* select field type ID */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ WMNGR_ACB_SF_INST_ENTRY;

typedef struct WMNGR_ACB_SF_INST_LIST_REPLY	/* select field instance list data */
    {
    short		status;			/* returned status of request */
    unsigned int	num_returned;		/* number of select fields returned */
    unsigned int	num_select_fields;	/* number of select fields in existence */
    WMNGR_ACB_SF_INST_ENTRY	select_fields[WMNGR_PARAM_MAX_SELECT_FIELDS];
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ WMNGR_ACB_SF_INST_LIST_REPLY;

#define	WMNGR_PARAM_MAX_MENUBARS	500	/* maximum number of returned menu bars */

typedef struct WMNGR_ACB_MENUBAR_LIST_REPLY	/* menu bar list data */
    {
    short		status;			/* returned status of request */
    unsigned int	num_returned;		/* number of menu bars returned */
    unsigned int	num_menu_bars;		/* number of menu bars in existence */
    short		window_ids[WMNGR_PARAM_MAX_MENUBARS];
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ WMNGR_ACB_MENUBAR_LIST_REPLY;

typedef struct WMNGR_ACB_BUBBLE_HELP_INFO_REPLY	/* window bubble help callback field instance data reply structure */
    {
    short	status;				/* returned status of request */
    short	window_id;			/* window ID */
    char	window_handle[WMNGR_PARAM_HANDLE_LEN+2];	/* window handle */
    int		help_id;			/* help ID */
    int		top_row;			/* top row of help region */
    int		left_column;			/* left column of help region */
    int		height;				/* height of help region in rows */
    int		width;				/* width of help region in columns */
    int		coords_pending;			/* coordinates must still be resolved */
    int		help_type;			/* type of help display */
    char	file_name[WMNGR_PARAM_HELP_FILE_LEN+1];	/* help text file name */
    int		file_record;			/* help text file record */
    int		cnshelp_level;			/* console help file level */
    int		cnshelp_entry;			/* console help entry */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ WMNGR_ACB_BUBBLE_HELP_INFO_REPLY;

#define	WMNGR_PARAM_MAX_BUBBLE_HELP_FIELDS	500	/* maximum number of returned bubble help fields */

typedef struct WMNGR_ACB_BUBBLE_HELP_LIST_REPLY	/* help field list data */
    {
    short	status;				/* returned status of request */
    unsigned int	num_returned;		/* number of bubble help fields returned */
    unsigned int	num_help_fields;	/* number of bubble help fields in existence */
    int		help_fields[WMNGR_PARAM_MAX_BUBBLE_HELP_FIELDS];
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ WMNGR_ACB_BUBBLE_HELP_LIST_REPLY;

#define	WMNGR_PARAM_CB_HANDLE_LEN	30	/* length of callback handle text */

typedef struct WMNGR_ACB_CALLBACK_ENTRY		/* window callback entry */
    {
    int		index;				/* list location index */
    int		callback_id;			/* callback ID */
    int		window_id;			/* window ID */
    int		priority;			/* callback priority */
    unsigned int	events;			/* mask of active events */
    window_callback_function	func;		/* callback function */
    void	*callback_data;			/* callback data */
    unsigned int	caller_pc;		/* PC of caller */
    unsigned int	num_calls;		/* number of times called */
    char	handle[WMNGR_PARAM_CB_HANDLE_LEN+2];	/* callback handle */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ WMNGR_ACB_CALLBACK_ENTRY;

typedef struct WMNGR_ACB_CALLBACK_INFO_REPLY	/* callback info reply */
    {
    short	status;				/* returned status of request */
    WMNGR_ACB_CALLBACK_ENTRY	callback;
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ WMNGR_ACB_CALLBACK_INFO_REPLY;

#define	WMNGR_PARAM_MAX_CALLBACKS	55	/* maximum number of returned callbacks */

typedef struct WMNGR_ACB_CALLBACK_LIST_REPLY	/* callback list data */
    {
    short	status;				/* returned status of request */
    unsigned int	num_returned;		/* number of callbacks returned */
    unsigned int	num_callbacks;		/* number of callbacks in existence */
    WMNGR_ACB_CALLBACK_ENTRY	callbacks[WMNGR_PARAM_MAX_CALLBACKS];
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ WMNGR_ACB_CALLBACK_LIST_REPLY;

typedef struct WMNGR_ACB_MNGR_CB_ENTRY		/* window manager callback entry */
    {
    int		callback_id;			/* callback ID */
    window_op_callback_function	func;		/* callback function */
    void	*callback_data;			/* callback data */
    unsigned int	caller_pc;		/* PC of caller */
    unsigned int	num_calls;		/* number of times called */
    char	handle[WMNGR_PARAM_CB_HANDLE_LEN+2];	/* callback handle */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ WMNGR_ACB_MNGR_CB_ENTRY;

typedef struct WMNGR_ACB_MNGR_CB_INFO_REPLY	/* callback info reply */
    {
    short	status;				/* returned status of request */
    WMNGR_ACB_MNGR_CB_ENTRY	callback;
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ WMNGR_ACB_MNGR_CB_INFO_REPLY;

#define	WMNGR_PARAM_MAX_MNGR_CALLBACKS	70	/* maximum number of returned callbacks */

typedef struct WMNGR_ACB_MNGR_CB_LIST_REPLY	/* window manager callback list data */
    {
    short	status;				/* returned status of request */
    unsigned int	num_returned;		/* number of callbacks returned */
    unsigned int	num_callbacks;		/* number of callbacks in existence */
    WMNGR_ACB_MNGR_CB_ENTRY	callbacks[WMNGR_PARAM_MAX_MNGR_CALLBACKS];
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ WMNGR_ACB_MNGR_CB_LIST_REPLY;

typedef struct WMNGR_ACB_LIST_FIELD_ENTRY	/* list field entry */
    {
    short	window_id;			/* window ID */
    int		field_id;			/* field ID */
    int		row;				/* row of callback field */
    int		left_column;			/* left column of callback field */
    int		width;				/* width of callback field in columns */
    int		label_left_column;		/* left column of label field */
    int		label_width;			/* width of label field in columns */
    int		label_color;			/* label color */
    int		is_scrollable;			/* flag indicating whether or not the callback field is scrollable */
    int		row_entry;			/* row entry of list field in scroll buffer */
    int		virtual_column;			/* left column of label field in scroll buffer */
    int		current_item;			/* currently selected item */
    int		menu_text_length;		/* menu entry length */
    int		list_color;			/* displayed list entry color */
    int		num_entries;			/* number of menu entries */
    int		text_fill_char;			/* character to fill in after shorter entries */
    int		auto_update;			/* automatic update flag */
    int		help_id;			/* overall help ID */
    int		bubble_help_id;			/* overall bubble help ID */
    void	(*callback_func)();		/* user callback function */
    void	*callback_data;			/* user data to pass to 'callback_func' */
    int		callback_field_id;		/* window field callback ID */
    int		is_enabled;			/* list field enable flag */
    unsigned int	caller_pc;		/* PC of caller */
    unsigned int	num_sets;		/* number of times the value was set */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ WMNGR_ACB_LIST_FIELD_ENTRY;

typedef struct WMNGR_ACB_LIST_FIELD_INFO_REPLY	/* list field info reply */
    {
    short	status;				/* returned status of request */
    WMNGR_ACB_LIST_FIELD_ENTRY	list_field;
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ WMNGR_ACB_LIST_FIELD_INFO_REPLY;

#define	WMNGR_PARAM_MAX_LIST_FIELDS	500	/* maximum number of returned list fields */

typedef struct WMNGR_ACB_LIST_FIELD_LIST_REPLY	/* list field list data */
    {
    short	status;				/* returned status of request */
    unsigned int	num_returned;		/* number of fields returned */
    unsigned int	num_fields;		/* number of fields in existence */
    int		list_fields[WMNGR_PARAM_MAX_LIST_FIELDS];
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ WMNGR_ACB_LIST_FIELD_LIST_REPLY;

#define	WMNGR_PARAM_INPUT_TEXT_LEN	30	/* length of input field label text */

typedef struct WMNGR_ACB_INPUT_FIELD_ENTRY	/* input field entry */
    {
    short	window_id;			/* window ID */
    int		field_id;			/* field ID */
    char	handle[WMNGR_PARAM_HANDLE_LEN+2];	/* handle */
    int		row;				/* row of callback field */
    int		left_column;			/* left column of callback field */
    int		width;				/* width of callback field in columns */
    char	label[WMNGR_PARAM_INPUT_TEXT_LEN+2];	/* label text */
    int		label_left_column;		/* left column of label field */
    int		label_width;			/* width of label field in columns */
    int		label_color;			/* label color */
    int		is_scrollable;			/* flag indicating whether or not the callback field is scrollable */
    int		row_entry;			/* row entry of input field in scroll buffer */
    int		virtual_column;			/* left column of label field in scroll buffer */
    int		data_type;			/* data type */
    int		data_length;			/* data length in bytes */
    float	minimum;			/* minimum allowable value */
    float	maximum;			/* maximum allowable value */
    float	current_value;			/* current value of field */
    int		value_length;			/* length of value field in columns */
    int		value_color;			/* displayed value color */
    int		num_values;			/* number of values */
    int		want_bracket_chars;		/* flag indicating whether or not to have bracketing characters */
    int		auto_update;			/* automatic update flag */
    int		help_id;			/* overall help ID */
    int		bubble_help_id;			/* overall bubble help ID */
    void	(*callback_func)();		/* user callback function */
    void	*callback_data;			/* user data to pass to 'callback_func' */
    int		callback_field_id;		/* window field callback ID */
    int		is_enabled;			/* input field enable flag */
    unsigned int	caller_pc;		/* PC of caller */
    unsigned int	num_sets;		/* number of times the value was set */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ WMNGR_ACB_INPUT_FIELD_ENTRY;

typedef struct WMNGR_ACB_INPUT_FIELD_INFO_REPLY	/* input field info reply */
    {
    short	status;				/* returned status of request */
    WMNGR_ACB_INPUT_FIELD_ENTRY	input_field;
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ WMNGR_ACB_INPUT_FIELD_INFO_REPLY;

#define	WMNGR_PARAM_MAX_INPUT_FIELDS	500	/* maximum number of returned input fields */

typedef struct WMNGR_ACB_INPUT_FIELD_LIST_REPLY	/* input field list data */
    {
    short	status;				/* returned status of request */
    unsigned int	num_returned;		/* number of fields returned */
    unsigned int	num_fields;		/* number of fields in existence */
    int		input_fields[WMNGR_PARAM_MAX_INPUT_FIELDS];
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ WMNGR_ACB_INPUT_FIELD_LIST_REPLY;

typedef struct WMNGR_ACB_BUTTON_ENTRY		/* button entry */
    {
    short	window_id;			/* window ID */
    int		button_id;			/* button ID */
    char	handle[WMNGR_PARAM_HANDLE_LEN+2];	/* handle */
    int		row;				/* button row */
    int		left_column;			/* left column of button */
    int		width;				/* width of button in columns */
    int		is_scrollable;			/* flag indicating whether or not the button is scrollable */
    int		row_entry;			/* row entry of button in scroll buffer */
    int		virtual_column;			/* left column of button in scroll buffer */
    int		want_bracket_chars;		/* flag indicating whether or not to have bracketing characters */
    int		label_color;			/* label color */
    int		bracket_color;			/* bracket character color */
    int		help_id;			/* help ID */
    int		bubble_help_id;			/* bubble help ID */
    int		callback_field_id;		/* window field callback ID */
    int		is_enabled;			/* button enable flag */
    unsigned int	caller_pc;		/* PC of caller */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ WMNGR_ACB_BUTTON_ENTRY;

typedef struct WMNGR_ACB_BUTTON_INFO_REPLY	/* button info reply */
    {
    short	status;				/* returned status of request */
    WMNGR_ACB_BUTTON_ENTRY	button;
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ WMNGR_ACB_BUTTON_INFO_REPLY;

#define	WMNGR_PARAM_MAX_BUTTONS		500	/* maximum number of returned buttons */

typedef struct WMNGR_ACB_BUTTON_LIST_REPLY	/* button list data */
    {
    short	status;				/* returned status of request */
    unsigned int	num_returned;		/* number of buttons returned */
    unsigned int	num_buttons;		/* number of buttons in existence */
    int		buttons[WMNGR_PARAM_MAX_BUTTONS];
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ WMNGR_ACB_BUTTON_LIST_REPLY;

/* end of window manager */


/*
**  database routines ...
*/
#define	DBM_ACB_TC_REQUEST_STATS	1	/* request database statistics */
#define	DBM_ACB_TC_DIAG_CLEAR		3	/* clear database statistics */
#define	DBM_ACB_TC_SET_PROC_PERIOD	4	/* set proc check period */
#define	DBM_ACB_TC_READ_WA_HEADERS	5	/* read list of work area headers */
#define	DBM_ACB_TC_READ_WORK_AREA	6	/* read work area */
#define	DBM_ACB_TC_READ_WA_ENTRY	7	/* read work area entry */
#define	DBM_ACB_TC_READ_WA_ENTRIES	8	/* read list of work area entries */
#define	DBM_ACB_TC_TRACE_SQL_ON		9	/* turn on the tracing of SQL strings */
#define	DBM_ACB_TC_TRACE_SQL_OFF	10	/* turn off the tracing of SQL strings */

typedef struct DBM_ACB_REQUEST			/* ACNET callback request structure */
    {
    short	generic_type_code;		/* should always have a value of ACNET_CALLBACK_DATABASE */
    short	type_code;			/* DBM callback main type code */
    short	subtype;			/* DBM callback secondary type code */
    int	request_data;			/* request specific data */
    int	request_data_2;			/* request specific data */
    char	*read_address;			/* address for work area read */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ DBM_ACB_REQUEST;

#define	DBM_PARAM_REPLY_FILLER		3642	/* reply structure filler size */

typedef struct DBM_ACB_REPLY			/* ACNET callback reply structure */
    {
    short	status;				/* returned status of request */
    unsigned int	num_errors;		/* total number of errors */
    short	last_error;			/* last error detected */
    char	last_error_func[ACB_FUNC_NAME_LEN+2];	/* function in which last error was detected */
    int		last_error_di;			/* device index of last error */
    short	last_error_pi;			/* property index of last error */
    int		last_request_di;		/* device index of last request */
    short	last_request_pi;		/* property index of last request */
    unsigned short	num_work_areas;		/* number of work areas */
    unsigned int	periodic_proc_count;	/* number of dbprocs in current period */
    unsigned int	max_periodic_proc_count;	/* max number of dbprocs in a period */
    unsigned short	proc_check_period;	/* dbproc measurement period */
    unsigned int	total_dbproc_time;	/* total time spent in DBPROCs in 15 Hz ticks */
    unsigned int	longest_dbproc;		/* longest DBPROC in 15 Hz ticks */
    unsigned int	db_num_errors;		/* total number of errors (db_xxx routines) */
    short	db_last_error;			/* last error detected (db_xxx routines) */
    char	db_last_error_func[ACB_FUNC_NAME_LEN+2];	/* function in which last error was detected (db_xxx routines) */
    unsigned int	total_dbsend_time;	/* total time spent in db_send_c in 15 Hz ticks */
    unsigned int	longest_dbsend;		/* longest db_send_c in 15 Hz ticks */
    unsigned int	total_dbopen_time;	/* total time spent in db_open in 15 Hz ticks */
    unsigned int	longest_dbopen;		/* longest db_open in 15 Hz ticks */
    unsigned int	total_dbselect_time;	/* total time spent in db_select in 15 Hz ticks */
    unsigned int	longest_dbselect;	/* longest db_select in 15 Hz ticks */
    unsigned int	total_dbmodify_time;	/* total time spent in db_modify in 15 Hz ticks */
    unsigned int	longest_dbmodify;	/* longest db_modify in 15 Hz ticks */
    unsigned int	total_dbinsert_time;	/* total time spent in db_insert in 15 Hz ticks */
    unsigned int	longest_dbinsert;	/* longest db_insert in 15 Hz ticks */
    char		*last_processed_wa;	/* last processed work area */
    unsigned int	dbareq;			/* # of calls to */
    unsigned int	dbget;			/* # of calls to */
    unsigned int	dbgeti;			/* # of calls to */
    unsigned int	dbm_read;		// No longer used. 2012-07-30
    unsigned int	dbm_send;		// No longer used. 2012-07-30
    unsigned int	dbproc;			/* # of calls to */
    unsigned int	dbrdi;			/* # of calls to */
    unsigned int	dbreq;			/* # of calls to */
    unsigned int	dbrmc;			/* # of calls to */
    unsigned int	dbrpdb;			/* # of calls to */
    unsigned int	dbsize;			/* # of calls to */
    unsigned int	dbwain;			/* # of calls to */
    unsigned int	db_close;		/* # of calls to */
    unsigned int	db_connect;		/* # of calls to */
    unsigned int	db_disconnect;		/* # of calls to */
    unsigned int	db_error;		/* # of calls to */
    unsigned int	db_insert;		/* # of calls to */
    unsigned int	db_modify;		/* # of calls to */
    unsigned int	db_nextrow;		/* # of calls to */
    unsigned int	db_open;		/* # of calls to */
    unsigned int	db_select;		/* # of calls to */
    unsigned int	db_send;		// No longer used. 2012-07-30
    unsigned int	db_users;		/* # of calls to */
    unsigned int	di2nam;			/* # of calls to */
    unsigned int	nam2di;			/* # of calls to */
    char		unused[DBM_PARAM_REPLY_FILLER];	/* should maintain total structure size at 3900 bytes */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ DBM_ACB_REPLY;

typedef struct DBM_ACB_WA_HEADER		/* ACNET callback work area header structure */
    {
    char		*work_area;		/* pointer to work area */
    unsigned short	num_uses;		/* number of uses of this work area (0 -> no proc yet) */
    unsigned int	num_bytes;		/* size of work area in bytes (0 -> proc is pending) */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ DBM_ACB_WA_HEADER;

#define	DBM_PARAM_MAX_WA_HEADERS	300	/* maximum number of work area headers to return */

typedef struct DBM_ACB_WA_HEADERS_REPLY		/* ACNET callback work area headers structure */
    {
    short	status;				/* returned status of request */
    short	num_work_areas;			/* number of work areas returned */
    DBM_ACB_WA_HEADER	headers[DBM_PARAM_MAX_WA_HEADERS];	/* list of work area headers */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ DBM_ACB_WA_HEADERS_REPLY;

#define	DBM_PARAM_MAX_READ_BYTES	3840	/* maximum number of bytes to read */

#define	DBM_PARAM_WA_REPLY_FILLER	56	/* reply structure filler size */

typedef struct DBM_ACB_READ_WORK_AREA_REPLY	/* ACNET callback read work area reply structure */
    {
    short	status;				/* returned status of request */
    short	num_bytes;			/* number of bytes returned */
    char	work_area[DBM_PARAM_MAX_READ_BYTES];	/* returned data */
    char	unused[DBM_PARAM_WA_REPLY_FILLER];	/* should maintain total structure size at 3900 bytes */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ DBM_ACB_READ_WORK_AREA_REPLY;

typedef struct DBM_ACB_WA_ENTRY			/* ACNET callback work area entry structure */
    {
    short	returned_length;		/* length of data or ACNET error code if negative */
    short	byte_offset;			/* offset in bytes from the end of the header to the returned data */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ DBM_ACB_WA_ENTRY;

#define	DBM_PARAM_MAX_WA_ENTRIES	900	/* maximum number of work area entries to return */

typedef struct DBM_ACB_WA_ENTRIES_REPLY		/* ACNET callback work area entries structure */
    {
    short		status;			/* returned status of request */
    unsigned short	num_entries;		/* number of data entries returned */
    unsigned short	num_bytes;		/* total size of work area in bytes */
    DBM_ACB_WA_ENTRY	entries[DBM_PARAM_MAX_WA_ENTRIES];	/* list of work area entries */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ DBM_ACB_WA_ENTRIES_REPLY;

/* end of DBM */


/*
**  Error handling routines ...
*/
#define	ERR_ACB_TC_REQUEST_STATS	1	/* request error handling statistics */
#define	ERR_ACB_TC_DIAG_CLEAR		3	/* clear error handling diagnostics */
#define	ERR_ACB_TC_DEBUG_ENABLE		4	/* enable debug mode */
#define	ERR_ACB_TC_DEBUG_DISABLE	5	/* disable debug mode */
#define	ERR_ACB_TC_MAIL_ENABLE		6	/* enable error mail */
#define	ERR_ACB_TC_MAIL_DISABLE		7	/* disable error mail */
#define	ERR_ACB_TC_REMOTE_ERROR		8	/* receive remote error message */
#define	ERR_ACB_TC_REMOTE_MESSAGE	9	/* receive remote message */

#define	ERR_PARAM_FILE_NAME_LEN		8	/* log file name length */
#define	ERR_PARAM_AUTHOR_NAME_LEN	32	/* message author name length */
#define	ERR_MESSAGE_LEN			132	/* length of an error message strign */

typedef struct ERR_ACB_REQUEST			/* ACNET callback request structure */
    {
    short	generic_type_code;		/* should always have a value of ACNET_CALLBACK_ERROR */
    short	type_code;			/* error callback main type code */
    short	subtype;			/* error callback secondary type code */
    unsigned int	request_flags;		/* request modifier flags (meaningless for statistics request) */
    unsigned int	timestamp;
    int		source_node;
    char	source_process[PROCESS_NAME_LEN];
    int		dest_node;
    char	dest_process[PROCESS_NAME_LEN];
    int		error_type;
    int		error_code;
    int		priority;
    int		color;
    char	log_file[ERR_PARAM_FILE_NAME_LEN+2];
    char	author[ERR_PARAM_AUTHOR_NAME_LEN+2];
    char	message_string[ERR_MESSAGE_LEN+2];
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ ERR_ACB_REQUEST;

#define	ERR_PARAM_AUTHOR_LEN		6	/* log file author length */
#define	ERR_PARAM_NUM_SAVED_ERRORS	30	/* maximum number of saved errors */

#define	ERR_PARAM_REPLY_FILLER		3508	/* reply structure filler size */

typedef struct ERR_ACB_REPLY			/* ACNET callback reply structure */
    {
    short	status;				/* returned status of request */
    int		init_done;			/* flag TRUE if error_init called */
    unsigned int	num_init_errors;	/* total number of error handling initialization errors */
    short	last_init_error;		/* last initialization error detected */
    int		last_error_type;		/* type of last error */
    int		last_error;			/* last error */
    int		display_type;			/* type of display available */
    int		logging_type;			/* logging type flag */
    int		max_message_length;		/* allowed length of error message */
    char	log_author[ERR_PARAM_AUTHOR_LEN+2];	/* log author string */
    char	file_name[ERR_PARAM_FILE_NAME_LEN+2];	/* log file name */
    int		no_display;			/* if TRUE do not display errors */
    int		is_graphic_display;		/* TRUE if called for a graphic display */
    short	error_window_id;		/* window ID for scrolling window */
    int		error_row;			/* TV location of message */
    int		error_column;
    int		error_num_rows;			/* number of rows for scrolling messages */
    int		use_window_manager;		/* use window manager TV I/O routines */
    short	graphic_text_size;		/* text size for graphics displays */
    short	acnet_error_list[ERR_PARAM_NUM_SAVED_ERRORS];	/* list of ACNET errors in window */
    unsigned int	num_error_display_errors;	/* number of actual errors handled by error_display(_c) */
    unsigned int	num_error_message_errors;	/* number of actual errors handled by error_message(_c) */
    unsigned int	num_error_disp_uti_errors;	/* number of actual errors handled by error_disp_uti */
    short	error_callback_id;		/* INTYPE callback ID */
    short	erase_callback_id;		/* INTYPE callback ID for error erases */
    int		default_priority;		/* default log priority */
    int		embedded_errors_enabled;	/* flag controlling whether library routines can call error_display */
    int		error_display_is_up;		/* flag if error already on TV */
    int		default_author;			/* flag author type */
    int		trace_errors;			/* TRUE if error traceback is on */
    int		error_trace_num_entries;	/* number of entries in error stack */
    int		error_trace_num_errors;		/* number of actual errors in error stack */
    int		error_clipping;			/* clip repeated errors */
    int		clip_depth;			/* number of errors to allow before clipping */
    int		error_context;			/* error_display context */
    int		error_move_and_resize;		/* window moving and resizing flag */
    int		erase_timeout;			/* erase timeout in seconds for single line displays */
    int		acnet_text_enabled;		/* flag determining format of ACNET error displays */
    int		log_uti_errors;			/* UTI error logging flag */
    int		error_border;			/* flag indicating whether or not the error window has a border */
    int		noncns_environment;		/* TRUE-> non console environment */
    unsigned int	num_log_write_errors;	/* total number of share log write errors */
    short	last_log_write_error;		/* last shared log write error detected */
    unsigned int	error_clip_depth;	/* # of calls to */
    unsigned int	error_close;		/* # of calls to */
    unsigned int	error_cmprintf;		/* # of calls to */
    unsigned int	error_colored_message;	/* # of calls to */
    unsigned int	error_display;		/* # of calls to */
    unsigned int	error_display_popup;	/* # of calls to */
    unsigned int	error_disp_uti;		/* # of calls to */
    unsigned int	error_embedded_set_level;	/* # of calls to */
    unsigned int	error_erase;		/* # of calls to */
    unsigned int	error_imbedded_enabled;	/* # of calls to */
    unsigned int	error_imbedded_off;	/* # of calls to */
    unsigned int	error_imbedded_on;	/* # of calls to */
    unsigned int	error_init;		/* # of calls to */
    unsigned int	error_init_uti;		/* # of calls to */
    unsigned int	error_is_occluded;	/* # of calls to */
    unsigned int	error_last;		/* # of calls to */
    unsigned int	error_last_remote;	/* # of calls to */
    unsigned int	error_message;		/* # of calls to */
    unsigned int	error_move_disable;	/* # of calls to */
    unsigned int	error_move_enable;	/* # of calls to */
    unsigned int	error_mprintf;		/* # of calls to */
    unsigned int	error_mprintf_remote;	/* # of calls to */
    unsigned int	error_pop_window;	/* # of calls to */
    unsigned int	error_printf;		/* # of calls to */
    unsigned int	error_printf_limit;	/* # of calls to */
    unsigned int	error_printf_remote;	/* # of calls to */
    unsigned int	error_query_clipping;	/* # of calls to */
    unsigned int	error_query_setup;	/* # of calls to */
    unsigned int	error_remote_callback_add;	/* # of calls to */
    unsigned int	error_remote_callback_remove;	/* # of calls to */
    unsigned int	error_set_scroll_limit;	/* # of calls to */
    unsigned int	error_size_and_position;	/* # of calls to */
    unsigned int	error_trace_get;	/* # of calls to */
    unsigned int	error_trace_off;	/* # of calls to */
    unsigned int	error_trace_on;		/* # of calls to */
    unsigned int	error_trace_view;	/* # of calls to */
    unsigned int	error_uti_logging;	/* # of calls to */
    unsigned int	error_window_is_present;	/* # of calls to */
    unsigned int	log_write;		/* # of calls to */
    unsigned int	log_write_multiline;	/* # of calls to */
    unsigned int	shared_log_printf;	/* # of calls to */
    unsigned int	shared_log_printf_multiline;	/* # of calls to */
    char		unused[ERR_PARAM_REPLY_FILLER];	/* should maintain total structure size at 3900 bytes */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ ERR_ACB_REPLY;

/* end of error handling */


/*
**  General process information ...
*/
#define	PROC_ACB_TC_REQUEST_STATS	1	/* request process information statistics */

typedef struct PROC_ACB_REQUEST			/* ACNET callback request structure */
    {
    short	generic_type_code;		/* should always have a value of ACNET_CALLBACK_PROCINFO */
    short	type_code;			/* process information callback main type code */
    short	subtype;			/* process information callback secondary type code */
    unsigned int	request_flags;		/* request modifier flags (meaningless for statistics request) */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ PROC_ACB_REQUEST;

typedef struct PROC_ACB_REPLY			/* ACNET callback reply structure */
    {
    short	status;				/* returned status of request */
    char	process_name[SYSTEM_PROCESS_NAME_LEN+2];	/* process name */
    char	user_name[USER_NAME_LEN+2];	/* process user name */
    unsigned int	process_startup_time;	/* time that process was started in clinks */
    unsigned int	remaining_memory;	/* memory remaining in bytes */
    unsigned int	memory_quota;		/* memory quota for this process */
    unsigned int	peak_memory_size; 	/* peak virtual memory size for this process */
    unsigned int	current_physical_memory;	/* current physical memory for this process */
    unsigned int	default_physical_memory;	/* default physical memory for this process */
    unsigned int	physical_memory_quota;	/* physical memory quota for this process */
    unsigned int	physical_memory_limit;	/* maximum physical memory for this process */
    unsigned int	peak_physical_memory;	/* peak physical memory for this process */
    unsigned int	shared_memory;		/* shared memory used by this process */
    unsigned int	num_page_faults;	/* number of page faults */
    unsigned int	current_priority;	/* current process priority */
    unsigned int	base_priority;		/* base process priority */
    unsigned int	cpu_time;		/* CPU time used by process in 10 millisecond ticks */
    unsigned int	cpu_time_limit;		/* CPU time limit for this process */
    unsigned int	remaining_open_file_quota;	/* remaining open file quota for this process */
    unsigned int	open_file_quota;	/* open file quota for this process */
    unsigned int	remaining_buffered_io_byte_count;	/* remaining buffered I/O byte count quota for this process */
    unsigned int	buffered_io_byte_count_quota;	/* buffered I/O byte count quota for this process */
    unsigned int	remaining_buffered_io;	/* remaining buffered I/O quota for this process */
    unsigned int	buffered_io_quota;	/* buffered I/O quota for this process */
    unsigned int	remaining_direct_io;	/* remaining direct I/O quota for this process */
    unsigned int	direct_io_quota;	/* direct I/O quota for this process */
    unsigned int	remaining_lock_quota;	/* remaining lock request quota for this process */
    unsigned int	lock_quota;		/* lock request quota for this process */
    unsigned int	remaining_timer_quota;	/* remaining timer queue entry quota for this process */
    unsigned int	timer_quota;		/* timer queue entry quota for this process */
    unsigned int	process_id;		/* process ID */
    unsigned int	clib_date;		/* date of CLIB image */
    int		current_clib_installed;		/* is the current CLIB installed? */
    int		clib_type;			/* type of CLIB in use */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ PROC_ACB_REPLY;

/* end of general process information */


/*
**  Filesharing UTI routines ...
*/
#define	FSHARE_ACB_TC_REQUEST_STATS	1	/* request Filesharing statistics */
#define	FSHARE_ACB_TC_DIAG_CLEAR	3	/* clear Filesharing diagnostics */
#define	FSHARE_ACB_TC_FILE_INFO		5	/* read file information (given file name) */
#define	FSHARE_ACB_TC_VUN_TO_FILE_INFO	6	/* read file information (given VUN) */
#define	FSHARE_ACB_TC_FILE_LIST		7	/* request the list of open files */
#define	FSHARE_ACB_TC_ENABLE_WRITE_LOGGING	8	/* enable logging file writes */
#define	FSHARE_ACB_TC_DISABLE_WRITE_LOGGING	9	/* disable logging file writes */

#define	FSHARE_PARAM_FILE_NAME_LEN	60	/* maximum file name to return */

typedef struct FSHARE_ACB_REQUEST		/* ACNET callback request structure */
    {
    short	generic_type_code;		/* should always have a value of ACNET_CALLBACK_FSHARE */
    short	type_code;			/* Filesharing callback main type code */
    short	subtype;			/* Filesharing callback secondary type code */
    unsigned int	request_flags;		/* request modifier flags (meaningless for statistics request) */
    short	vun;				/* requested VUN */
    char	file_name[FSHARE_PARAM_FILE_NAME_LEN+2];	/* requested null terminated file name */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ FSHARE_ACB_REQUEST;

#define	FSHARE_PARAM_REPLY_FILLER	3374	/* reply structure filler size */

typedef struct FSHARE_ACB_REPLY			/* ACNET callback reply structure */
    {
    short	status;				/* returned status of request */
    short	last_error;			/* last error detected */
    int		last_extended_error;		/* system status from last error detected */
    short	last_error_vun;			/* VUN of file associated with last error detected */
    int		last_error_record;		/* record number associated with last error detected */
    char	last_error_func[ACB_FUNC_NAME_LEN+2];	/* function in which last error was detected */
    int		file_trace;			/* file trace flag */
    short	fshare_node;			/* current Filesharing node */
    char	connect_name[PROC_NAMLEN+2];	/* task connect name for Filesharing */
    unsigned int	num_open;		/* number of open files */
    unsigned int	num_open_for_write;	/* number of files open for writing */
    unsigned int	num_reopens;		/* number of files automatically reopened */
    unsigned int	last_reopen_time;	/* time a file was last reopened automatically */
    unsigned int	num_opens;		/* # of successful file opens */
    unsigned int	num_closes;		/* # of successful file closes */
    unsigned int	num_reads;		/* # of successful file reads */
    unsigned int	num_multiple_reads;	/* # of successful file multiple reads */
    unsigned int	num_writes;		/* # of successful file writes */
    unsigned int	num_deletes;		/* # of successful file deletes */
    unsigned int	num_rewinds;		/* # of successful file rewinds */
    unsigned int	num_unlocks;		/* # of successful file unlocks */
    unsigned int	num_eof_writes;		/* # of successful file EOF writes */
    unsigned int	num_asynch_opens;	/* # of asynchronous opens */
    unsigned int	num_asynch_reads;	/* # of asynchronous reads */
    unsigned int	num_asynch_read_multiples;	/* # of asynchronous multiple reads */
    unsigned int	num_asynch_writes;	/* # of asynchronous writes */
    unsigned int	num_open_errors;	/* # of file open errors */
    unsigned int	num_close_errors;	/* # of file close errors */
    unsigned int	num_read_errors;	/* # of file read errors */
    unsigned int	num_read_multiple_errors;	/* # of file read errors */
    unsigned int	num_write_errors;	/* # of file write errors */
    unsigned int	num_delete_errors;	/* # of file delete errors */
    unsigned int	num_rewind_errors;	/* # of file rewind errors */
    unsigned int	num_unlock_errors;	/* # of file unlock errors */
    unsigned int	num_write_eof_errors;	/* # of file unlock errors */
    unsigned int	total_open_time;	/* total time spent in opening files in 15 Hz ticks */
    unsigned int	longest_open;		/* longest Filesharing open in 15 Hz ticks */
    unsigned int	total_close_time;	/* total time spent in closing files in 15 Hz ticks */
    unsigned int	longest_close;		/* longest Filesharing close in 15 Hz ticks */
    unsigned int	total_read_time;	/* total time spent in reading files in 15 Hz ticks */
    unsigned int	longest_read;		/* longest Filesharing read in 15 Hz ticks */
    unsigned int	total_read_multiple_time;	/* total time spent in multiple record reads in 15 Hz ticks */
    unsigned int	longest_read_multiple;	/* longest Filesharing multiple read in 15 Hz ticks */
    unsigned int	total_write_time;	/* total time spent in writing files in 15 Hz ticks */
    unsigned int	longest_write;		/* longest Filesharing write in 15 Hz ticks */
    unsigned int	total_delete_time;	/* total time spent in deleting files in 15 Hz ticks */
    unsigned int	longest_delete;		/* longest Filesharing delete in 15 Hz ticks */
    unsigned int	total_rewind_time;	/* total time spent in rewinding files in 15 Hz ticks */
    unsigned int	longest_rewind;		/* longest Filesharing rewind in 15 Hz ticks */
    unsigned int	total_unlock_time;	/* total time spent in unlocking files in 15 Hz ticks */
    unsigned int	longest_unlock;		/* longest Filesharing unlock in 15 Hz ticks */
    unsigned int	total_write_eof_time;	/* total time spent in writing an EOF in 15 Hz ticks */
    unsigned int	longest_write_eof;	/* longest Filesharing in writing and EOF in 15 Hz ticks */
    short	last_open_vun;			/* last file opened */
    unsigned int	open_caller_pc;		/* PC of file opener */
    short	last_close_vun;			/* last file closed */
    unsigned int	close_caller_pc;	/* PC of file closer */
    short	last_read_vun;			/* last file read */
    short	last_read_multiple_vun;		/* last file multiply read */
    short	last_write_vun;			/* last file written */
    short	last_delete_vun;		/* last file deleted */
    short	last_rewind_vun;		/* last file rewound */
    short	last_unlock_vun;		/* last file unlocked */
    int		last_read_record;		/* last record read */
    int		last_read_multiple_record;	/* last record multiply read */
    int		last_write_record;		/* last record written */
    int		last_deleted_record;		/* last record deleted */
    unsigned int	read_mismatch;		/* # of read size mismatches */
    short	last_open_status;		/* ACNET error on last open */
    short	last_close_status;		/* ACNET error on last close */
    short	last_read_status;		/* ACNET error on last read */
    short	last_read_multiple_status;	/* ACNET error on last multiple read */
    short	last_write_status;		/* ACNET error on last write */
    short	last_delete_status;		/* ACNET error on last delete */
    short	last_rewind_status;		/* ACNET error on last rewind */
    short	last_unlock_status;		/* ACNET error on last unlock */
    short	last_write_eof_status;		/* ACNET error on last EOF write */
    char	last_open_file_name[FSHARE_PARAM_FILE_NAME_LEN+2];	/* null terminated last opened file name */
    char	last_close_file_name[FSHARE_PARAM_FILE_NAME_LEN+2];	/* null terminated last closed file name */
    char	last_write_file_name[FSHARE_PARAM_FILE_NAME_LEN+2];	/* null terminated last written file name */
    unsigned int	fsclos;			/* # of calls to */
    unsigned int	fsdel;			/* # of calls to */
    unsigned int	fshare_task_info;	/* # of calls to */
    unsigned int	fsopen;			/* # of calls to */
    unsigned int	fsrdm;			/* # of calls to */
    unsigned int	fsread;			/* # of calls to */
    unsigned int	fsrew;			/* # of calls to */
    unsigned int	fsunlk;			/* # of calls to */
    unsigned int	fsweof;			/* # of calls to */
    unsigned int	fswrit;			/* # of calls to */
    char		unused[FSHARE_PARAM_REPLY_FILLER];	/* should maintain total structure size at 3900 bytes */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ FSHARE_ACB_REPLY;

typedef struct FSHARE_ACB_FILE_INFO_REPLY
    {
    short	status;				/* returned status of request */
    char	file_name[FSHARE_PARAM_FILE_NAME_LEN+2];	/* null terminated file name */
    short	vun;				/* Virtual Unit Number */
    short	write_access;			/* write access */
    short	access_mode;			/* record access */
    int	max_record;			/* maximum write record */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ FSHARE_ACB_FILE_INFO_REPLY;

#define	FSHARE_PARAM_MAX_LIST_ENTRIES	40	/* maximum number of file list entries */

typedef struct FSHARE_FILE_LIST_ENTRY		/* file list entry data */
    {
    char	file_name[FSHARE_PARAM_FILE_NAME_LEN+2];	/* null terminated file name */
    short	vun;				/* Virtual Unit Number */
    } __attribute__((packed)) FSHARE_FILE_LIST_ENTRY;

typedef struct FSHARE_ACB_FILE_LIST_REPLY	/* file list data */
    {
    short	status;				/* returned status of request */
    short	num_returned;			/* number of file entries returned */
    short	unused;
    FSHARE_FILE_LIST_ENTRY	file_list[FSHARE_PARAM_MAX_LIST_ENTRIES];
    } __attribute__((packed)) FSHARE_ACB_FILE_LIST_REPLY;

/* end of FSHARE */


/*
**  DIO information ...
*/
#define	DIO_ACB_TC_REQUEST_STATS	1	/* request DIO information statistics */
#define	DIO_ACB_TC_DIAG_CLEAR		3	/* clear DIO diagnostics */
#define	DIO_ACB_TC_SETTING_ENABLE	4	/* enable settings */
#define	DIO_ACB_TC_SETTING_DISABLE	5	/* disable settings */
#define	DIO_ACB_TC_DELETE_CACHE		6	/* delete all entries from DIO's cache */
#define	DIO_ACB_TC_TOGGLE_LOG		7	/* toggle error logging */
#define	DIO_ACB_TC_SET_TIMEOUT		8	/* set a timeout value */
#define	DIO_ACB_TC_SET_STALE_NOTIFY	9	/* enable/disable stale reading notification */
#define	DIO_ACB_TC_READ_LISTS		10	/* retrieve current list IDs */
#define	DIO_ACB_TC_READ_DEVICES		11	/* retrieve current single devices */
#define	DIO_ACB_TC_READ_LIST_DEVICES	12	/* retrieve current list devices */
#define	DIO_ACB_TC_READ_ONESHOT_DEVICES	13	/* retrieve last one shot read devices */
#define	DIO_ACB_TC_DEBUG_ENABLE		14	/* enable debug mode */
#define	DIO_ACB_TC_DEBUG_DISABLE	15	/* disable debug mode */
#define	DIO_ACB_TC_MAIL_ENABLE		16	/* enable error mail */
#define	DIO_ACB_TC_MAIL_DISABLE		17	/* disable error mail */
#define	DIO_ACB_TC_READ_SET_HISTORY	18	/* retrieve device setting history */
#define	DIO_ACB_TC_READ_ERROR_HISTORY	19	/* retrieve device reading error history */
#define	DIO_ACB_TC_SET_ERROR_HISTORY	20	/* retrieve device setting error history */
#define	DIO_ACB_TC_CLEAR_ONESHOTS	21	/* clear one shot reading history */
#define	DIO_ACB_TC_CLEAR_SETTINGS	22	/* clear setting history */
#define	DIO_ACB_TC_CLEAR_READ_ERRORS	23	/* clear reading error history */
#define	DIO_ACB_TC_CLEAR_SET_ERRORS	24	/* clear setting error history */

#define	DIO_ACB_TCSUB_READING		1	/* access reading information */
#define	DIO_ACB_TCSUB_SETTING		2	/* access setting information */
#define	DIO_ACB_TCSUB_DATABASE		4	/* access database information */
#define	DIO_ACB_TCSUB_ENABLE		8	/* enable a parameter */
#define	DIO_ACB_TCSUB_DISABLE		0x10	/* disable a parameter */

typedef struct DIO_ACB_REQUEST			/* ACNET callback request structure */
    {
    short	generic_type_code;		/* should always have a value of ACNET_CALLBACK_DIO */
    short	type_code;			/* DIO information callback main type code */
    short	subtype;			/* DIO information callback secondary type code */
    unsigned int	request_flags;		/* request modifier flags (meaningless for statistics request) */
    } __attribute__((packed)) DIO_ACB_REQUEST;

/* DIO statistics info */

#define	DIO_PARAM_REPLY_FILLER	5878		/* reply structure filler size */

typedef struct DIO_ACB_REPLY			/* ACNET callback reply structure */
    {
    short		status;			/* returned status of request */
    unsigned int	logit_state;		/* logging state */
    unsigned int	setting_state;		/* setting flag state */
    unsigned int	dbm_tmo;		/* dbm timeout */
    unsigned int	dpm_read_tmo;		/* dpget timeout */
    unsigned int	dpm_set_tmo;		/* dpset timeout */
    int			terse_name_length;	/* terse name length */
    unsigned int	read_dev_single;	/* # of single retrieval devices */
    unsigned int	read_dev_list;		/* # of retrieval devices in lists */
    unsigned int	set_dev_single;		/* # of single setting devices */
    unsigned int	set_dev_list;		/* # of setting devices in lists */
    unsigned int	read_snap_list;		/* # of snapshot devices being read */
    unsigned int	num_read_list;		/* # of retrieval lists */
    unsigned int	num_set_list;		/* # of setting lists */
    unsigned int	td_num_list;		/* # of TD lists */
    unsigned int	num_snap_list;		/* # of snapshot lists */
    unsigned int	num_pdb_entries;	/* # of PDB entries in DBPOOL */
    unsigned int	num_info_entries;	/* # of entries in INFOPOOL */
    unsigned int	ftd_event;		/* count of devices read on event */
    unsigned int	ftd_freq;		/* count of (all but 1 Hz and 15 Hz) */
    unsigned int	ftd_1hz;		/* count of devices read at 1 Hz */
    unsigned int	ftd_15hz;		/* count of devices read at 15 Hz */
    unsigned int	ftd_default;		/* count of devices using default FTD */
    unsigned int	ftd_noshot;		/* count of devices using no shot FTD */
    unsigned int	dynamic_memory;		/* # of bytes of dynamic memory */
    unsigned int	out_of_memory;		/* out of dynamic memory flag */
    unsigned int	free_errors;		/* # of memory free errors */
    unsigned int	acnet_errors;		/* ACNET generated errors */
    unsigned int	dio_errors;		/* DIO generated errors */
    unsigned int	dbm_errors;		/* DBM generated errors */
    unsigned int	dpm_errors;		/* DPM generated errors */
    unsigned int	dbm_timeouts;		/* # of database timeouts */
    unsigned int	dpm_pendings;		/* # of DPM pendings */
    unsigned int	misc_errors;		/* # of errors */
    int			last_error;		/* last error detected */
    unsigned int	ftd_one_shot;		/* count of one shot reads */
    unsigned int	total_dbproc_time;	/* total time spent in DBPROCs in 15 Hz ticks */
    unsigned int	longest_dbproc;		/* longest DBPROC in 15 Hz ticks */
    unsigned int	total_dpproc_time;	/* total time spent in DPPROCs in 15 Hz ticks */
    unsigned int	longest_dpproc;		/* longest DPPROC in 15 Hz ticks */
    unsigned int	ret_count;		/* # of returned statistics messages */
    int			last_device_read;	/* last device read info */
    short		last_property_read;
    short		last_read_status;
    int			last_device_set;	/* last device set info */
    short		last_property_set;
    short		last_set_status;
    int			last_error_read_device;	/* last reading error info */
    short		last_error_read_property;
    short		last_error_read;
    int			last_error_set_device;	/* last setting error info */
    short		last_error_set_property;
    short		last_error_set;
    unsigned int	num_oneshot_reads;
    int			last_oneshot_device;
    short		last_oneshot_property;
    unsigned int	num_di_entries;		/* # of entries in DI pool */
    unsigned int	num_fermi_name_entries;	/* number of Fermi name pool entries */
    unsigned int	num_full_name_entries;	/* number of full name pool entries */
    unsigned int	num_old_name_entries;	/* number of old name pool entries */
    unsigned int	num_old_full_name_entries;	/* number of old full name pool entries */
    unsigned int	num_settings;		/* number of settings attempted */
    unsigned int	num_setting_errors;	/* number of setting errors */
    short		dio_one_shot;		/* DIO one shot FTD */
    int			dio_notify_stale;	/* stale data notify flag */
    int			dio_use_mio;		/* MIO in use */
    int			dio_mio_set_read;	/* MIO: PRSET map to PRREAD */
    unsigned int	hash_table_size;	/* size of cache hash table */
    unsigned int	dbproc;			/* # of DBPROC calls */
    unsigned int	dpproc;			/* # of DPPROC calls */
    unsigned int	dio_actual_alarm_list_id;	/* # of calls to */
    unsigned int	dio_add_timer_events;	/* # of calls to */
    unsigned int	dio_addressing_mode;	/* # of calls to */
    unsigned int	dio_alarm_acknowledge_mask;	/* # of calls to */
    unsigned int	dio_alarm_ancestors;	/* # of calls to */
    unsigned int	dio_alarm_dnom;		/* # of calls to */
    unsigned int	dio_alarm_dnom_lst;	/* # of calls to */
    unsigned int	dio_alarm_events;	/* # of calls to */
    unsigned int	dio_alarm_events_lst;	/* # of calls to */
    unsigned int	dio_alarm_flags;	/* # of calls to */
    unsigned int	dio_alarm_flags_list;	/* # of calls to */
    unsigned int	dio_alarm_ftd;		/* # of calls to */
    unsigned int	dio_alarm_group_info;	/* # of calls to */
    unsigned int	dio_alarm_limits;	/* # of calls to */
    unsigned int	dio_alarm_lim_lst;	/* # of calls to */
    unsigned int	dio_alarm_list_id;	/* # of calls to */
    unsigned int	dio_alarm_tries;	/* # of calls to */
    unsigned int	dio_alarm_tries_lst;	/* # of calls to */
    unsigned int	dio_alarms_monitored_by_user;	/* # of calls to */
    unsigned int	dio_analog_alarm_handling;	/* # of calls to */
    unsigned int	dio_analog_alarm_text;	/* # of calls to */
    unsigned int	dio_analog_alarm_url;	/* # of calls to */
    unsigned int	dio_are_settings_enabled;	/* # of calls to */
    unsigned int	dio_array_device_negative;	/* # of calls to */
    unsigned int	dio_array_device_off;	/* # of calls to */
    unsigned int	dio_array_device_on;	/* # of calls to */
    unsigned int	dio_array_device_positive;	/* # of calls to */
    unsigned int	dio_array_device_reset;	/* # of calls to */
    unsigned int	dio_bld_alrm_lst;	/* # of calls to */
    unsigned int	dio_bld_get;		/* # of calls to */
    unsigned int	dio_bld_get_raw;	/* # of calls to */
    unsigned int	dio_bld_set;		/* # of calls to */
    unsigned int	dio_bld_set_raw;	/* # of calls to */
    unsigned int	dio_broken_info;	/* # of calls to */
    unsigned int	dio_build_alarm_list;	/* # of calls to */
    unsigned int	dio_build_ftp_list;	/* # of calls to */
    unsigned int	dio_build_get_array_list;	/* # of calls to */
    unsigned int	dio_build_snapshot_list;/* # of calls to */
    unsigned int	dio_build_timer_reference_list;	/* # of calls to */
    unsigned int	dio_cache_device_aux_table;	/* # of calls to */
    unsigned int	dio_cache_device_flags_table;	/* # of calls to */
    unsigned int	dio_cache_device_property_table_info;	/* # of calls to */
    unsigned int	dio_cache_device_scaling_table;	/* # of calls to */
    unsigned int	dio_cache_device_table;	/* # of calls to */
    unsigned int	dio_cache_device_table_info;	/* # of calls to */
    unsigned int	dio_cache_digital_control_table;	/* # of calls to */
    unsigned int	dio_cache_family_table;	/* # of calls to */
    unsigned int	dio_cache_pdb_table;	/* # of calls to */
    unsigned int	dio_cache_property_info;	/* # of calls to */
    unsigned int	dio_cache_property_table;	/* # of calls to */
    unsigned int	dio_cache_read_set_enum_table;	/* # of calls to */
    unsigned int	dio_cache_scaling_info;	/* # of calls to */
    unsigned int	dio_calculate_extrema;	/* # of calls to */
    unsigned int	dio_calculate_raw_value;	/* # of calls to */
    unsigned int	dio_calculate_step_motor_steps;	/* # of calls to */
    unsigned int	dio_can_ftp;		/* # of calls to */
    unsigned int	dio_can_get;		/* # of calls to */
    unsigned int	dio_can_get_lst;	/* # of calls to */
    unsigned int	dio_can_read_using_ftp;	/* # of calls to */
    unsigned int	dio_can_read_using_snapshot;	/* # of calls to */
    unsigned int	dio_can_set;		/* # of calls to */
    unsigned int	dio_can_set_device;	/* # of calls to */
    unsigned int	dio_can_set_lst;	/* # of calls to */
    unsigned int	dio_can_snapshot;	/* # of calls to */
    unsigned int	dio_can_trigger_snapshot;	/* # of calls to */
    unsigned int	dio_cancel_alarm;	/* # of calls to */
    unsigned int	dio_cancel_alarm_lst;	/* # of calls to */
    unsigned int	dio_cancel_ftp_list;	/* # of calls to */
    unsigned int	dio_cancel_get_array;	/* # of calls to */
    unsigned int	dio_cancel_set_array;	/* # of calls to */
    unsigned int	dio_cancel_snapshot_list;	/* # of calls to */
    unsigned int	dio_cancel_timer_reference_list;	/* # of calls to */
    unsigned int	dio_change_ftd;		/* # of calls to */
    unsigned int	dio_change_ftd_lst;	/* # of calls to */
    unsigned int	dio_check_read_request_size;	/* # of calls to */
    unsigned int	dio_check_set_request_size;	/* # of calls to */
    unsigned int	dio_clear_redirection_slot;	/* # of calls to */
    unsigned int	dio_cntrl_dev;		/* # of calls to */
    unsigned int	dio_cntrl_lst;		/* # of calls to */
    unsigned int	dio_console_can_acknowledge_alarm;	/* # of calls to */
    unsigned int	dio_console_can_display_alarm;	/* # of calls to */
    unsigned int	dio_control_scaling_length;	/* # of calls to */
    unsigned int	dio_controlling_device;	/* # of calls to */
    unsigned int	dio_current_alarm_text;	/* # of calls to */
    unsigned int	dio_current_xmlrpc_access;	/* # of calls to */
    unsigned int	dio_current_xmlrpc_client_devices;	/* # of calls to */
    unsigned int	dio_current_xmlrpc_client_nodes;	/* # of calls to */
    unsigned int	dio_data_len;		/* # of calls to */
    unsigned int	dio_data_length;	/* # of calls to */
    unsigned int	dio_data_length_ext;	/* # of calls to */
    unsigned int	dio_data_num_elements;	/* # of calls to */
    unsigned int	dio_data_type_info;	/* # of calls to */
    unsigned int	dio_database_mask_to_property;	/* # of calls to */
    unsigned int	dio_database_property_to_mask;	/* # of calls to */
    unsigned int	dio_db_extrema;		/* # of calls to */
    unsigned int	dio_db_retriever;	/* # of calls to */
    unsigned int	dio_dbquery;		/* # of calls to */
    unsigned int	dio_dbquery_alloc;	/* # of calls to */
    unsigned int	dio_default_data_event;	/* # of calls to */
    unsigned int	dio_default_ftd;	/* # of calls to */
    unsigned int	dio_delete_all_emc_info;/* # of calls to */
    unsigned int	dio_delete_all_fermi_name_info;/* # of calls to */
    unsigned int	dio_delete_all_info;	/* # of calls to */
    unsigned int	dio_delete_all_name_info;	/* # of calls to */
    unsigned int	dio_delete_cache;	/* # of calls to */
    unsigned int	dio_delete_ftp_class_info;	/* # of calls to */
    unsigned int	dio_delete_info;	/* # of calls to */
    unsigned int	dio_delete_name_info;	/* # of calls to */
    unsigned int	dio_delete_pdb;		/* # of calls to */
    unsigned int	dio_delete_pdb_all;	/* # of calls to */
    unsigned int	dio_delete_pdb_lst;	/* # of calls to */
    unsigned int	dio_delete_requests;	/* # of calls to */
    unsigned int	dio_delete_snapshot_class_info;	/* # of calls to */
    unsigned int	dio_department_info;	/* # of calls to */
    unsigned int	dio_desired_alarm_limit_type;	/* # of calls to */
    unsigned int	dio_dev_emc;		/* # of calls to */
    unsigned int	dio_dev_name;		/* # of calls to */
    unsigned int	dio_dev_node;		/* # of calls to */
    unsigned int	dio_dev_ssdn;		/* # of calls to */
    unsigned int	dio_dev_text;		/* # of calls to */
    unsigned int	dio_dev_type;		/* # of calls to */
    unsigned int	dio_device_area;	/* # of calls to */
    unsigned int	dio_device_expression;	/* # of calls to */
    unsigned int	dio_device_fermi_name_to_key;	/* # of calls to */
    unsigned int	dio_device_has_expression;	/* # of calls to */
    unsigned int	dio_device_help_url;	/* # of calls to */
    unsigned int	dio_device_index;	/* # of calls to */
    unsigned int	dio_device_location;	/* # of calls to */
    unsigned int	dio_device_location_info;	/* # of calls to */
    unsigned int	dio_device_location_string;	/* # of calls to */
    unsigned int	dio_device_machine;	/* # of calls to */
    unsigned int	dio_device_madc_location;	/* # of calls to */
    unsigned int	dio_device_name_to_fermi_name;	/* # of calls to */
    unsigned int	dio_device_setting_is_enabled;	/* # of calls to */
    unsigned int	dio_device_ssdr;	/* # of calls to */
    unsigned int	dio_device_state;	/* # of calls to */
    unsigned int	dio_device_string_element_length;	/* # of calls to */
    unsigned int	dio_device_type;	/* # of calls to */
    unsigned int	dio_digital_alarm_handling;	/* # of calls to */
    unsigned int	dio_digital_alarm_text;	/* # of calls to */
    unsigned int	dio_digital_control;	/* # of calls to */
    unsigned int	dio_digital_control_info;	/* # of calls to */
    unsigned int	dio_digital_control_list;	/* # of calls to */
    unsigned int	dio_digital_control_text_to_value;	/* # of calls to */
    unsigned int	dio_digital_control_text_to_value_list;	/* # of calls to */
    unsigned int	dio_dis_abt_lst;	/* # of calls to */
    unsigned int	dio_dis_lst;		/* # of calls to */
    unsigned int	dio_disable;		/* # of calls to */
    unsigned int	dio_disable_abort;	/* # of calls to */
    unsigned int	dio_disable_cache_missing_db_values;	/* # of calls to */
    unsigned int	dio_disable_obsolete_dev_info;	/* # of calls to */
    unsigned int	dio_disable_on_event_retries;	/* # of calls to */
    unsigned int	dio_disable_settings;	/* # of calls to */
    unsigned int	dio_display_attributes;	/* # of calls to */
    unsigned int	dio_display_conversion_info;	/* # of calls to */
    unsigned int	dio_display_conversion_type;	/* # of calls to */
    unsigned int	dio_display_length;	/* # of calls to */
    unsigned int	dio_documentation_info;	/* # of calls to */
    unsigned int	dio_download_info;	/* # of calls to */
    unsigned int	dio_download_properties;	/* # of calls to */
    unsigned int	dio_dpreq_info;		/* # of calls to */
    unsigned int	dio_duplicate_ssdn_properties;	/* # of calls to */
    unsigned int	dio_edit_comment_info;	/* # of calls to */
    unsigned int	dio_emc_to_device_index;/* # of calls to */
    unsigned int	dio_emc_type;		/* # of calls to */
    unsigned int	dio_ena_abt_lst;	/* # of calls to */
    unsigned int	dio_ena_lst;		/* # of calls to */
    unsigned int	dio_enable;		/* # of calls to */
    unsigned int	dio_enable_abort;	/* # of calls to */
    unsigned int	dio_enable_cache_missing_db_values;	/* # of calls to */
    unsigned int	dio_enable_error_logging;	/* # of calls to */
    unsigned int	dio_enable_obsolete_dev_info;	/* # of calls to */
    unsigned int	dio_enable_on_event_retries;	/* # of calls to */
    unsigned int	dio_enable_settings;	/* # of calls to */
    unsigned int	dio_enum_value_info;	/* # of calls to */
    unsigned int	dio_enum_value_shared_devices;	/* # of calls to */
    unsigned int	dio_enum_value_text_to_raw_data;	/* # of calls to */
    unsigned int	dio_event_control;	/* # of calls to */
    unsigned int	dio_event_control_list;	/* # of calls to */
    unsigned int	dio_expand_family;	/* # of calls to */
    unsigned int	dio_extract_alarm_info;	/* # of calls to */
    unsigned int	dio_extract_read_list_status;	/* # of calls to */
    unsigned int	dio_extract_set_list_status;	/* # of calls to */
    unsigned int	dio_extrema;		/* # of calls to */
    unsigned int	dio_extrema_pdb;	/* # of calls to */
    unsigned int	dio_extrema_pdb_ext;	/* # of calls to */
    unsigned int	dio_ext_text;		/* # of calls to */
    unsigned int	dio_family;		/* # of calls to */
    unsigned int	dio_family_info;	/* # of calls to */
    unsigned int	dio_find_name;		/* # of calls to */
    unsigned int	dio_find_status_scaling_attr_id;	/* # of calls to */
    unsigned int	dio_find_status_scaling_attribute;	/* # of calls to */
    unsigned int	dio_find_status_scaling_by_attr_id;	/* # of calls to */
    unsigned int	dio_find_status_scaling_by_mask;	/* # of calls to */
    unsigned int	dio_find_status_scaling_by_state;	/* # of calls to */
    unsigned int	dio_flush;		/* # of calls to */
    unsigned int	dio_foreign_device_info;	/* # of calls to */
    unsigned int	dio_frig_houses;	/* # of calls to */
    unsigned int	dio_ftp_class_info;	/* # of calls to */
    unsigned int	dio_ftp_default_freq;	/* # of calls to */
    unsigned int	dio_full_name_to_terse_name;	/* # of calls to */
    unsigned int	dio_get_alarm;		/* # of calls to */
    unsigned int	dio_get_alrm_lst;	/* # of calls to */
    unsigned int	dio_get_array_device;	/* # of calls to */
    unsigned int	dio_get_array_device_double;	/* # of calls to */
    unsigned int	dio_get_control_value;	/* # of calls to */
    unsigned int	dio_get_db_alarm;	/* # of calls to */
    unsigned int	dio_get_dev;		/* # of calls to */
    unsigned int	dio_get_device;		/* # of calls to */
    unsigned int	dio_get_device_list;	/* # of calls to */
    unsigned int	dio_get_directed_list;	/* # of calls to */
    unsigned int	dio_get_directed_list_raw;	/* # of calls to */
    unsigned int	dio_get_extended_pdb;	/* # of calls to */
    unsigned int	dio_get_ftp_class;	/* # of calls to */
    unsigned int	dio_get_ftp_list;	/* # of calls to */
    unsigned int	dio_get_historic_scaling;	/* # of calls to */
    unsigned int	dio_get_last_setting;	/* # of calls to */
    unsigned int	dio_get_last_setting_raw;	/* # of calls to */
    unsigned int	dio_get_lst;		/* # of calls to */
    unsigned int	dio_get_lst_raw;	/* # of calls to */
    unsigned int	dio_get_oneshot_ftd;	/* # of calls to */
    unsigned int	dio_get_pdb;		/* # of calls to */
    unsigned int	dio_get_properties;	/* # of calls to */
    unsigned int	dio_get_raw;		/* # of calls to */
    unsigned int	dio_get_raw_device_knob_info;	/* # of calls to */
    unsigned int	dio_get_raw_ftp_list;	/* # of calls to */
    unsigned int	dio_get_raw_reading_func;	/* # of calls to */
    unsigned int	dio_get_raw_setting_func;	/* # of calls to */
    unsigned int	dio_get_raw_snapshot_list;	/* # of calls to */
    unsigned int	dio_get_read_list_devices;	/* # of calls to */
    unsigned int	dio_get_recent_setting_info;	/* # of calls to */
    unsigned int	dio_get_retry;		/* # of calls to */
    unsigned int	dio_get_retry_directed;	/* # of calls to */
    unsigned int	dio_get_set_list_devices;	/* # of calls to */
    unsigned int	dio_get_snapshot_class;	/* # of calls to */
    unsigned int	dio_get_snapshot_list;	/* # of calls to */
    unsigned int	dio_get_status_array_device;	/* # of calls to */
    unsigned int	dio_get_status_ftp_list;	/* # of calls to */
    unsigned int	dio_get_terse_name_length;	/* # of calls to */
    unsigned int	dio_get_timer_pulse_width_device;	/* # of calls to */
    unsigned int	dio_get_timer_ref;	/* # of calls to */
    unsigned int	dio_get_timer_reference_device;	/* # of calls to */
    unsigned int	dio_get_timer_reference_list;	/* # of calls to */
    unsigned int	dio_has_classic_control_attribute;	/* # of calls to */
    unsigned int	dio_has_classic_status_attribute;	/* # of calls to */
    unsigned int	dio_has_enum_value_info;	/* # of calls to */
    unsigned int	dio_has_property;	/* # of calls to */
    unsigned int	dio_has_property_list;	/* # of calls to */
    unsigned int	dio_has_scaling_info;	/* # of calls to */
    unsigned int	dio_has_scaling_info_list;	/* # of calls to */
    unsigned int	dio_has_setting_record;	/* # of calls to */
    unsigned int	dio_historic_data_length;	/* # of calls to */
    unsigned int	dio_historic_device_addressing;	/* # of calls to */
    unsigned int	dio_historic_device_name;	/* # of calls to */
    unsigned int	dio_historic_raw_data_type;	/* # of calls to */
    unsigned int	dio_insert_pdb_lst;	/* # of calls to */
    unsigned int	dio_insert_reqlst;	/* # of calls to */
    unsigned int	dio_is_abort;		/* # of calls to */
    unsigned int	dio_is_abrt_inh;	/* # of calls to */
    unsigned int	dio_is_abtinh_lst;	/* # of calls to */
    unsigned int	dio_is_abt_lst;		/* # of calls to */
    unsigned int	dio_is_broken;		/* # of calls to */
    unsigned int	dio_is_byp_lst;		/* # of calls to */
    unsigned int	dio_is_bypas;		/* # of calls to */
    unsigned int	dio_is_bypassed_db;	/* # of calls to */
    unsigned int	dio_is_caching_missing_db_values;	/* # of calls to */
    unsigned int	dio_is_camac_device;	/* # of calls to */
    unsigned int	dio_is_controlled_set;	/* # of calls to */
    unsigned int	dio_is_controlled_set_list;	/* # of calls to */
    unsigned int	dio_is_destructive_read;	/* # of calls to */
    unsigned int	dio_is_display_dec;	/* # of calls to */
    unsigned int	dio_is_display_short;	/* # of calls to */
    unsigned int	dio_is_enum_value_info_shared;	/* # of calls to */
    unsigned int	dio_is_enumerated_property;	/* # of calls to */
    unsigned int	dio_is_event_enabled;	/* # of calls to */
    unsigned int	dio_is_family;		/* # of calls to */
    unsigned int	dio_is_family_list;	/* # of calls to */
    unsigned int	dio_is_float_raw_data;	/* # of calls to */
    unsigned int	dio_is_good;		/* # of calls to */
    unsigned int	dio_is_good_lst;	/* # of calls to */
    unsigned int	dio_is_knobable;	/* # of calls to */
    unsigned int	dio_is_obsolete_info_enabled;	/* # of calls to */
    unsigned int	dio_is_old_name;	/* # of calls to */
    unsigned int	dio_is_on;		/* # of calls to */
    unsigned int	dio_is_on_event_retry_enabled;	/* # of calls to */
    unsigned int	dio_is_on_lst;		/* # of calls to */
    unsigned int	dio_is_pos_lst;		/* # of calls to */
    unsigned int	dio_is_positive;	/* # of calls to */
    unsigned int	dio_is_possible_device_name;	/* # of calls to */
    unsigned int	dio_is_primary_scalable_property;	/* # of calls to */
    unsigned int	dio_is_ramping;		/* # of calls to */
    unsigned int	dio_is_ramping_list;	/* # of calls to */
    unsigned int	dio_is_rdy_lst;		/* # of calls to */
    unsigned int	dio_is_ready;		/* # of calls to */
    unsigned int	dio_is_remote;		/* # of calls to */
    unsigned int	dio_is_rem_lst;		/* # of calls to */
    unsigned int	dio_is_setting_enabled;	/* # of calls to */
    unsigned int	dio_is_snoozed_alarm;	/* # of calls to */
    unsigned int	dio_is_status_attribute_state_value;	/* # of calls to */
    unsigned int	dio_is_status_attribute_value;	/* # of calls to */
    unsigned int	dio_is_status_attribute_value_by_id;	/* # of calls to */
    unsigned int	dio_is_status_attribute_value_list;	/* # of calls to */
    unsigned int	dio_is_step_motor;	/* # of calls to */
    unsigned int	dio_is_string_property;	/* # of calls to */
    unsigned int	dio_is_string_transform;	/* # of calls to */
    unsigned int	dio_is_timer_device;	/* # of calls to */
    unsigned int	dio_is_timer_pulse_width_device;	/* # of calls to */
    unsigned int	dio_is_timer_reference;	/* # of calls to */
    unsigned int	dio_length_offset_spec_to_drf_string;	/* # of calls to */
    unsigned int	dio_list_info;		/* # of calls to */
    unsigned int	dio_log_error;		/* # of calls to */
    unsigned int	dio_longest_analog_alarm_url;	/* # of calls to */
    unsigned int	dio_longest_area_name;	/* # of calls to */
    unsigned int	dio_longest_default_data_event;	/* # of calls to */
    unsigned int	dio_longest_department_name;	/* # of calls to */
    unsigned int	dio_longest_device_broken_comment;	/* # of calls to */
    unsigned int	dio_longest_device_document_comment;	/* # of calls to */
    unsigned int	dio_longest_device_edit_comment;	/* # of calls to */
    unsigned int	dio_longest_device_full_name;	/* # of calls to */
    unsigned int	dio_longest_device_full_text;	/* # of calls to */
    unsigned int	dio_longest_device_help_url;	/* # of calls to */
    unsigned int	dio_longest_device_obsolete_comment;	/* # of calls to */
    unsigned int	dio_longest_foreign_device_name;	/* # of calls to */
    unsigned int	dio_longest_location_string;	/* # of calls to */
    unsigned int	dio_longest_machine_name;	/* # of calls to */
    unsigned int	dio_longest_structure_name;	/* # of calls to */
    unsigned int	dio_madc_clock_events;	/* # of calls to */
    unsigned int	dio_madc_list_info;	/* # of calls to */
    unsigned int	dio_madc_location;	/* # of calls to */
    unsigned int	dio_madc_num_available_clock_levels;	/* # of calls to */
    unsigned int	dio_madc_num_available_lists;	/* # of calls to */
    unsigned int	dio_madc_num_available_plot_channels;	/* # of calls to */
    unsigned int	dio_madc_num_channels;	/* # of calls to */
    unsigned int	dio_madc_number;	/* # of calls to */
    unsigned int	dio_madc_plot_channel_info;	/* # of calls to */
    unsigned int	dio_maintainer_info;	/* # of calls to */
    unsigned int	dio_manage_extended_pdbs;	/* # of calls to */
    unsigned int	dio_manage_front_end_pdbs;	/* # of calls to */
    unsigned int	dio_manage_pdbs;	/* # of calls to */
    unsigned int	dio_move_step_motor;	/* # of calls to */
    unsigned int	dio_neg_lst;		/* # of calls to */
    unsigned int	dio_negative;		/* # of calls to */
    unsigned int	dio_node;		/* # of calls to */
    unsigned int	dio_node_alarm_limit_type;	/* # of calls to */
    unsigned int	dio_node_default_alarm_list;	/* # of calls to */
    unsigned int	dio_node_default_alarm_list_list;	/* # of calls to */
    unsigned int	dio_off;		/* # of calls to */
    unsigned int	dio_off_lst;		/* # of calls to */
    unsigned int	dio_obsolete_info;	/* # of calls to */
    unsigned int	dio_oldest_setting_log_entry_date;	/* # of calls to */
    unsigned int	dio_on;			/* # of calls to */
    unsigned int	dio_on_lst;		/* # of calls to */
    unsigned int	dio_parse_generic_long_device_name;	/* # of calls to */
    unsigned int	dio_parse_long_device_name;	/* # of calls to */
    unsigned int	dio_pdb_ctl;		/* # of calls to */
    unsigned int	dio_pdb_sts;		/* # of calls to */
    unsigned int	dio_pdb_to_display_conversion_info;	/* # of calls to */
    unsigned int	dio_pdb_to_scaling_info;	/* # of calls to */
    unsigned int	dio_pos_lst;		/* # of calls to */
    unsigned int	dio_positive;		/* # of calls to */
    unsigned int	dio_previous_name;	/* # of calls to */
    unsigned int	dio_primary_to_scaled_custom;	/* # of calls to */
    unsigned int	dio_primary_to_scaled_data;	/* # of calls to */
    unsigned int	dio_property_flags;	/* # of calls to */
    unsigned int	dio_protection_mask;	/* # of calls to */
    unsigned int	dio_query_tuner;	/* # of calls to */
    unsigned int	dio_raw_data_type;	/* # of calls to */
    unsigned int	dio_raw_element_length;	/* # of calls to */
    unsigned int	dio_raw_to_control_text;	/* # of calls to */
    unsigned int	dio_raw_to_enum_value_text;	/* # of calls to */
    unsigned int	dio_raw_to_scaled_custom;	/* # of calls to */
    unsigned int	dio_raw_to_scaled_data;	/* # of calls to */
    unsigned int	dio_raw_to_status;	/* # of calls to */
    unsigned int	dio_raw_to_status_attribute_value_by_id;	/* # of calls to */
    unsigned int	dio_raw_to_status_extended;	/* # of calls to */
    unsigned int	dio_raw_to_status_state_value_by_id;	/* # of calls to */
    unsigned int	dio_raw_to_status_text;	/* # of calls to */
    unsigned int	dio_raw_to_status_text_extended;	/* # of calls to */
    unsigned int	dio_raw_to_value_text;	/* # of calls to */
    unsigned int	dio_raw_to_value_text_custom;	/* # of calls to */
    unsigned int	dio_read_db_timeout;	/* # of calls to */
    unsigned int	dio_read_last_setting;	/* # of calls to */
    unsigned int	dio_read_list_length;	/* # of calls to */
    unsigned int	dio_read_list_single_entry_info;	/* # of calls to */
    unsigned int	dio_rearm_snapshot_list;/* # of calls to */
    unsigned int	dio_remove_all_timer_events;	/* # of calls to */
    unsigned int	dio_remove_raw_reading_func;	/* # of calls to */
    unsigned int	dio_remove_raw_setting_func;	/* # of calls to */
    unsigned int	dio_remove_timer_events;	/* # of calls to */
    unsigned int	dio_request_info;	/* # of calls to */
    unsigned int	dio_reset;		/* # of calls to */
    unsigned int	dio_restore_last_setting; /* # of calls to */
    unsigned int	dio_rst_lst;		/* # of calls to */
    unsigned int	dio_salarm_dnom;	/* # of calls to */
    unsigned int	dio_salarm_dnom_lst;	/* # of calls to */
    unsigned int	dio_salarm_lim;		/* # of calls to */
    unsigned int	dio_salarm_lim_lst;	/* # of calls to */
    unsigned int	dio_save_info;		/* # of calls to */
    unsigned int	dio_scaled_to_primary_data;	/* # of calls to */
    unsigned int	dio_scaled_to_raw_custom;	/* # of calls to */
    unsigned int	dio_scaled_to_raw_data;	/* # of calls to */
    unsigned int	dio_scaled_to_value_text;	/* # of calls to */
    unsigned int	dio_scaling;		/* # of calls to */
    unsigned int	dio_scaling_constants;	/* # of calls to */
    unsigned int	dio_scaling_info_to_extended_pdb;	/* # of calls to */
    unsigned int	dio_scaling_info_to_pdb;	/* # of calls to */
    unsigned int	dio_scaling_len;	/* # of calls to */
    unsigned int	dio_scaling_length_list;	/* # of calls to */
    unsigned int	dio_scaling_text;	/* # of calls to */
    unsigned int	dio_scaling_transforms;	/* # of calls to */
    unsigned int	dio_set_abort_inh_lst;	/* # of calls to */
    unsigned int	dio_set_alarm;		/* # of calls to */
    unsigned int	dio_set_alarm_flags;	/* # of calls to */
    unsigned int	dio_set_alarm_flags_list;	/* # of calls to */
    unsigned int	dio_set_alarm_ftd;	/* # of calls to */
    unsigned int	dio_set_alarm_tries;	/* # of calls to */
    unsigned int	dio_set_array_device;	/* # of calls to */
    unsigned int	dio_set_array_device_double;	/* # of calls to */
    unsigned int	dio_set_broken;		/* # of calls to */
    unsigned int	dio_set_bypass_lst;	/* # of calls to */
    unsigned int	dio_set_dc_mode;	/* # of calls to */
    unsigned int	dio_set_dc_mode_list;	/* # of calls to */
    unsigned int	dio_set_dev;		/* # of calls to */
    unsigned int	dio_set_device;		/* # of calls to */
    unsigned int	dio_set_device_list;	/* # of calls to */
    unsigned int	dio_set_for_read;	/* # of calls to */
    unsigned int	dio_set_hash_table_size;	/* # of calls to */
    unsigned int	dio_set_list_length;	/* # of calls to */
    unsigned int	dio_set_list_single_entry_info;	/* # of calls to */
    unsigned int	dio_set_lst;		/* # of calls to */
    unsigned int	dio_set_lst_raw;	/* # of calls to */
    unsigned int	dio_set_ramp_mode;	/* # of calls to */
    unsigned int	dio_set_ramp_mode_list;	/* # of calls to */
    unsigned int	dio_set_raw;		/* # of calls to */
    unsigned int	dio_set_raw_by_user_addressing;	/* # of calls to */
    unsigned int	dio_set_redirection_slot;	/* # of calls to */
    unsigned int	dio_set_step_motor;	/* # of calls to */
    unsigned int	dio_set_step_motor_steps;	/* # of calls to */
    unsigned int	dio_set_terse_name_length;	/* # of calls to */
    unsigned int	dio_set_timer_ref;	/* # of calls to */
    unsigned int	dio_set_value_text;	/* # of calls to */
    unsigned int	dio_siblings;		/* # of calls to */
    unsigned int	dio_simulate;		/* # of calls to */
    unsigned int	dio_simulate_query;	/* # of calls to */
    unsigned int	dio_slist_info;		/* # of calls to */
    unsigned int	dio_snapshot_class_info;	/* # of calls to */
    unsigned int	dio_snapshot_default_freq;	/* # of calls to */
    unsigned int	dio_snooze_alarm;	/* # of calls to */
    unsigned int	dio_snoozed_alarm_info;	/* # of calls to */
    unsigned int	dio_snoozed_alarms;	/* # of calls to */
    unsigned int	dio_spec_to_drf_string;	/* # of calls to */
    unsigned int	dio_specify_raw_reading_func;	/* # of calls to */
    unsigned int	dio_specify_raw_setting_func;	/* # of calls to */
    unsigned int	dio_ssdn_to_device_type;	/* # of calls to */
    unsigned int	dio_ssdn_to_duplicate_ssdn_properties;	/* # of calls to */
    unsigned int	dio_ssdn_to_location;	/* # of calls to */
    unsigned int	dio_ssdn_to_snapshot_class;	/* # of calls to */
    unsigned int	dio_status;		/* # of calls to */
    unsigned int	dio_status_attr_to_bit_info;	/* # of calls to */
    unsigned int	dio_status_scaling_attributes;	/* # of calls to */
    unsigned int	dio_status_scaling_info;	/* # of calls to */
    unsigned int	dio_status_scaling_length;	/* # of calls to */
    unsigned int	dio_step_motor_is_moving;	/* # of calls to */
    unsigned int	dio_structure_name;	/* # of calls to */
    unsigned int	dio_sts_lst;		/* # of calls to */
    unsigned int	dio_sts_txt;		/* # of calls to */
    unsigned int	dio_sts_txt_lst;	/* # of calls to */
    unsigned int	dio_terse_name_to_full_name;	/* # of calls to */
    unsigned int	dio_tuner;		/* # of calls to */
    unsigned int	dio_units_text;		/* # of calls to */
    unsigned int	dio_unsnooze_alarm;	/* # of calls to */
    unsigned int	dio_users_monitoring_alarm;	/* # of calls to */
    unsigned int	dio_validate_device_name;	/* # of calls to */
    unsigned int	dio_value_text;		/* # of calls to */
    unsigned int	dio_value_text_to_raw_data;	/* # of calls to */
    unsigned int	dio_virtual_machine_info;	/* # of calls to */
    unsigned int	dio_was_controlled;	/* # of calls to */
    unsigned int	dio_was_set;		/* # of calls to */
    unsigned int	dio_wildcard_build;	/* # of calls to */
    unsigned int	dio_wildcard_cancel;	/* # of calls to */
    unsigned int	dio_wildcard_read;	/* # of calls to */
    unsigned int	mio_cancel;		/* # of calls to */
    unsigned int	mio_control;		/* # of calls to */
    unsigned int	mio_control_list;	/* # of calls to */
    unsigned int	mio_fill_status;	/* # of calls to */
    unsigned int	mio_pool_address;	/* # of calls to */
    unsigned int	mio_read;		/* # of calls to */
    unsigned int	mio_read_directed;	/* # of calls to */
    unsigned int	mio_read_directed_list;	/* # of calls to */
    unsigned int	mio_read_list;		/* # of calls to */
    unsigned int	mio_select_pool;	/* # of calls to */
    unsigned int	mio_set;		/* # of calls to */
    unsigned int	mio_set_list;		/* # of calls to */
    unsigned int	mio_time_set;		/* # of calls to */
    unsigned int	mng_dbpool;		/* # of calls to */
    unsigned int	mng_dipool;		/* # of calls to */
    unsigned int	mng_emcpool;		/* # of calls to */
    unsigned int	mng_fermi_name_pool;	/* # of calls to */
    unsigned int	mng_full_name_pool;	/* # of calls to */
    unsigned int	mng_infopool;		/* # of calls to */
    unsigned int	mng_infopool_2;		/* # of calls to */
    unsigned int	mng_infopool_3;		/* # of calls to */
    unsigned int	mng_old_full_name_pool;	/* # of calls to */
    unsigned int	mng_old_name_pool;	/* # of calls to */
    unsigned int	read_packeted_data;	/* # of calls to */
    unsigned int	read_packeted_device;	/* # of calls to */
    unsigned int	td_build;		/* # of calls to */
    unsigned int	td_cancel; 		/* # of calls to */
    unsigned int	td_extract_list_status; /* # of calls to */
    unsigned int	td_read;		/* # of calls to */
    unsigned int	td_read_one; 		/* # of calls to */
    unsigned int	td_set;			/* # of calls to */
    unsigned int	td_set_one; 		/* # of calls to */
    unsigned int	td_query;		/* # of calls to */
    char		unused[DIO_PARAM_REPLY_FILLER];	/* should maintain total structure size at 3900 bytes */
    } __attribute__((packed)) DIO_ACB_REPLY;

#define	DIO_PARAM_MAX_LIST_ENTRIES	450	/* maximum number of DIO list entries */

typedef struct DIO_ACB_LIST_ENTRY		/* DIO list entry data */
    {
    int		list_id;			/* list ID */
    unsigned int	num_devices;		/* number of devices in list */
    } __attribute__((packed)) DIO_ACB_LIST_ENTRY;

typedef struct DIO_ACB_READ_LISTS_REPLY		/* DIO list data */
    {
    short		status;			/* returned status of request */
    unsigned int	num_returned;		/* number of lists returned */
    unsigned int	num_lists;		/* number of lists in existence */
    DIO_ACB_LIST_ENTRY	lists[DIO_PARAM_MAX_LIST_ENTRIES];
    } __attribute__((packed)) DIO_ACB_READ_LISTS_REPLY;

#define	DIO_PARAM_MAX_DEVICES	320		/* maximum number of devices */

typedef struct DIO_ACB_DEVICE_ENTRY		/* DIO device entry data */
    {
    int			device_index;		/* device index */
    short		property;		/* property index */
    short		ftd;			/* Frequency Time Descriptor */
    unsigned short	length;			/* data length in bytes */
    unsigned short	offset;			/* data offset in bytes */
    } __attribute__((packed)) DIO_ACB_DEVICE_ENTRY;

typedef struct DIO_ACB_READ_DEVICES_REPLY	/* DIO device data */
    {
    short		status;			/* returned status of request */
    unsigned int	num_returned;		/* number of devices returned */
    unsigned int	num_devices;		/* number of devices in existence */
    DIO_ACB_DEVICE_ENTRY	devices[DIO_PARAM_MAX_DEVICES];
    } __attribute__((packed)) DIO_ACB_READ_DEVICES_REPLY;

#define	DIO_PARAM_MAX_ONESHOTS	150		/* maximum number of one shot devices */

typedef struct DIO_ACB_READ_ONESHOTS_REPLY	/* one shot reading device data */
    {
    short		status;			/* returned status of request */
    unsigned int	num_returned;		/* number of oneshot devices returned */
    unsigned int	num_devices;		/* number of oneshot devices in existence */
    DIO_ACB_DEVICE_ENTRY	devices[DIO_PARAM_MAX_ONESHOTS];
    } __attribute__((packed)) DIO_ACB_READ_ONESHOTS_REPLY;

typedef struct DIO_ACB_SET_HISTORY_ENTRY	/* DIO setting history entry data */
    {
    int			device_index;		/* setting device index */
    short		property;		/* setting property index */
    int			length;			/* data length in bytes */
    int			offset;			/* data offset in bytes */
    unsigned int	setting_data;		/* up to first 4 bytes of raw setting data */
    short		error;			/* setting status */
    unsigned int	timestamp;		/* timestamp of setting in clinks */
    } __attribute__((packed)) DIO_ACB_SET_HISTORY_ENTRY;

#define	DIO_PARAM_MAX_SET_HISTORY	150	/* maximum number of setting history entries */

typedef struct DIO_ACB_SET_HISTORY_REPLY	/* setting history data */
    {
    short		status;			/* returned status of request */
    unsigned int	num_returned;		/* number of setting history entries returned */
    unsigned int	num_devices;		/* number of setting history entries in existence */
    DIO_ACB_SET_HISTORY_ENTRY	devices[DIO_PARAM_MAX_SET_HISTORY];
    } __attribute__((packed)) DIO_ACB_SET_HISTORY_REPLY;

typedef struct DIO_ACB_READ_ERROR_ENTRY		/* DIO reading error history entry data */
    {
    int			device_index;		/* reading device index */
    short		property;		/* reading property index */
    int			length;			/* data length in bytes */
    int			offset;			/* data offset in bytes */
    int			ftd;			/* reading FTD */
    int			error;			/* reading status */
    unsigned int	timestamp;		/* timestamp of reading in clinks (not filled in) */
    } __attribute__((packed)) DIO_ACB_READ_ERROR_ENTRY;

#define	DIO_PARAM_MAX_READ_ERROR_HISTORY	150	/* maximum number of reading error history entries */

typedef struct DIO_ACB_READ_ERROR_REPLY		/* reading error history data */
    {
    short		status;			/* returned status of request */
    unsigned int	num_returned;		/* number of reading error history entries returned */
    unsigned int	num_devices;		/* number of reading error history entries in existence */
    DIO_ACB_READ_ERROR_ENTRY	devices[DIO_PARAM_MAX_READ_ERROR_HISTORY];
    } __attribute__((packed)) DIO_ACB_READ_ERROR_REPLY;

typedef struct DIO_ACB_SET_ERROR_ENTRY		/* DIO setting error history entry data */
    {
    int			device_index;		/* setting device index */
    short		property;		/* setting property index */
    int			length;			/* data length in bytes */
    int			offset;			/* data offset in bytes */
    unsigned int	setting_data;		/* up to first 4 bytes of raw setting data */
    int			error;			/* setting status */
    unsigned int	timestamp;		/* timestamp of setting in clinks */
    } __attribute__((packed)) DIO_ACB_SET_ERROR_ENTRY;

#define	DIO_PARAM_MAX_SET_ERROR_HISTORY	150	/* maximum number of setting error history entries */

typedef struct DIO_ACB_SET_ERROR_REPLY		/* setting error history data */
    {
    short		status;			/* returned status of request */
    unsigned int	num_returned;		/* number of setting error history entries returned */
    unsigned int	num_devices;		/* number of setting error history entries in existence */
    DIO_ACB_SET_ERROR_ENTRY	devices[DIO_PARAM_MAX_SET_ERROR_HISTORY];
    } __attribute__((packed)) DIO_ACB_SET_ERROR_REPLY;

/* end of DIO */


/*
**  FM information ...
*/
#define	FMNGR_ACB_TC_REQUEST_STATS	1	/* request FM information statistics */
#define	FMNGR_ACB_TC_DIAG_CLEAR		3	/* clear FM diagnostics */
#define	FMNGR_ACB_TC_WRITING_ENABLE	4	/* enable writings */
#define	FMNGR_ACB_TC_WRITING_DISABLE	5	/* disable writings */
#define	FMNGR_ACB_TC_VUN_TO_FILE_INFO	6	/* read file information (given VUN) */
#define	FMNGR_ACB_TC_TOGGLE_LOG		7	/* toggle error logging */
#define	FMNGR_ACB_TC_SET_TIMEOUT	8	/* set file access timeout */
#define	FMNGR_ACB_TC_FILE_INFO		9	/* read file information (given file name) */
#define	FMNGR_ACB_TC_FILE_LIST		10	/* request the list of open files */

#define	FMNGR_PARAM_FILE_NAME_LEN	60	/* maximum file name to return */

typedef struct FMNGR_ACB_REQUEST		/* ACNET callback request structure */
    {
    short	generic_type_code;		/* should always have a value of ACNET_CALLBACK_FM */
    short	type_code;			/* FM information callback main type code */
    short	subtype;			/* FM information callback secondary type code */
    unsigned int	request_flags;		/* request modifier flags (meaningless for statistics request) */
    unsigned int	fshare_timeout;		/* Filesharing timeout period in seconds */
    short	vun;				/* requested VUN */
    char	file_name[FMNGR_PARAM_FILE_NAME_LEN+2];	/* requested null terminated file name */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ FMNGR_ACB_REQUEST;

/* FM statistics info */

#define	FMNGR_PARAM_REPLY_FILLER	3508	/* reply structure filler size */

typedef struct FMNGR_ACB_REPLY			/* ACNET callback reply structure */
    {
    short		status;			/* returned status of request */
    unsigned int	logit_state;		/* logging state */
    unsigned int	write_state;		/* writing flag state */
    unsigned int	fshare_tmo;		/* Filesharing timeout period in sec */
    unsigned int	num_open;		/* # of open files */
    unsigned int	dynamic_memory;		/* # of bytes of dynamic memory */
    unsigned int	out_of_memory;		/* out of dynamic memory flag */
    unsigned int	asynch_entries;		/* # of entries in list */
/* statistics after this point cleared by fm_clear_stats */
/* a CONSTANT in fm_statistics.c must be edited if entries are added above */
    unsigned int	free_errors;		/* # of memory free errors */
    unsigned int	acnet_errors;		/* ACNET generated errors */
    unsigned int	fshare_errors;		/* Filesharing generated errors */
    unsigned int	fm_errors;		/* file manager generated errors */
    unsigned int	locked_errors;		/* record locked errors */
    unsigned int	busy_errors;		/* busy errors */
    unsigned int	tmo_errors;		/* timeout errors */
    unsigned int	already_open_errors;	/* file already open errors */
    unsigned int	novun_errors;		/* no such VUN errors */
    unsigned int	nofile_errors;		/* no such file errors */
    unsigned int	misc_errors;		/* # of miscellaneous errors */
    unsigned int	num_opens;		/* # of successful file opens */
    unsigned int	num_closes;		/* # of successful file closes */
    unsigned int	num_reads;		/* # of successful file reads */
    unsigned int	num_writes;		/* # of successful file writes */
    unsigned int	num_deletes;		/* # of successful file deletes */
    unsigned int	num_rewinds;		/* # of successful file rewinds */
    unsigned int	num_unlocks;		/* # of successful file unlocks */
    unsigned int	fm_check_reply;		/* # of calls to */
    unsigned int	fm_close;		/* # of calls to */
    unsigned int	fm_close_all;		/* # of calls to */
    unsigned int	fm_close_by_name;	/* # of calls to */
    unsigned int	fm_delete_record;	/* # of calls to */
    unsigned int	fm_file_attributes;	/* # of calls to */
    unsigned int	fm_get_access;		/* # of calls to */
    unsigned int	fm_get_filename;	/* # of calls to */
    unsigned int	fm_get_vun;		/* # of calls to */
    unsigned int	fm_io;			/* # of calls to */
    unsigned int	fm_is_open;		/* # of calls to */
    unsigned int	fm_is_writing_enabled;	/* # of calls to */
    unsigned int	fm_open;		/* # of calls to */
    unsigned int	fm_open_io;		/* # of calls to */
    unsigned int	fm_open_read;		/* # of calls to */
    unsigned int	fm_open_write;		/* # of calls to */
    unsigned int	fm_query_tuner;		/* # of calls to */
    unsigned int	fm_read;		/* # of calls to */
    unsigned int	fm_read_defaults;	/* # of calls to */
    unsigned int	fm_read_multiple;	/* # of calls to */
    unsigned int	fm_restore_defaults;	/* # of calls to */
    unsigned int	fm_rewind;		/* # of calls to */
    unsigned int	fm_save_defaults;	/* # of calls to */
    unsigned int	fm_set_defaults;	/* # of calls to */
    unsigned int	fm_tuner;		/* # of calls to */
    unsigned int	fm_unlock;		/* # of calls to */
    unsigned int	fm_write;		/* # of calls to */
    unsigned int	fm_write_disable;	/* # of calls to */
    unsigned int	fm_write_enable;	/* # of calls to */
    unsigned int	total_open_time;	/* total time spent in opening files in 15 Hz ticks */
    unsigned int	longest_open;		/* longest Filesharing open in 15 Hz ticks */
    unsigned int	total_close_time;	/* total time spent in closing files in 15 Hz ticks */
    unsigned int	longest_close;		/* longest Filesharing close in 15 Hz ticks */
    unsigned int	total_read_time;	/* total time spent in reading files in 15 Hz ticks */
    unsigned int	longest_read;		/* longest Filesharing read in 15 Hz ticks */
    unsigned int	total_write_time;	/* total time spent in writing files in 15 Hz ticks */
    unsigned int	longest_write;		/* longest Filesharing write in 15 Hz ticks */
    unsigned int	total_delete_time;	/* total time spent in deleting files in 15 Hz ticks */
    unsigned int	longest_delete;		/* longest Filesharing delete in 15 Hz ticks */
    unsigned int	total_rewind_time;	/* total time spent in rewinding files in 15 Hz ticks */
    unsigned int	longest_rewind;		/* longest Filesharing rewind in 15 Hz ticks */
    unsigned int	total_unlock_time;	/* total time spent in unlocking files in 15 Hz ticks */
    unsigned int	longest_unlock;		/* longest Filesharing unlock in 15 Hz ticks */
    char		last_read_file[FSHARE_NAMLEN+1];	/* last file read */
    char		last_write_file[FSHARE_NAMLEN+1];	/* last file written */
    char		last_deleted_file[FSHARE_NAMLEN+1];	/* last file deleted */
    char		last_rewound_file[FSHARE_NAMLEN+1];	/* last file rewound */
    char		last_unlocked_file[FSHARE_NAMLEN+1];	/* last file unlocked */
    int			last_read_rec;		/* last record read */
    int			last_write_rec;		/* last record written */
    int			last_deleted_rec;	/* last record deleted */
    unsigned int	read_mismatch;		/* # of read size mismatches */
    unsigned int	ret_count;		/* # of returned statistics messages */
    int			read_error;		/* ACNET error on last read */
    int			write_error;		/* ACNET error on last write */
    int			delete_error;		/* ACNET error on last delete */
    int			rewind_error;		/* ACNET error on last rewind */
    int			unlock_error;		/* ACNET error on last unlock */
    unsigned int	total_recs_read;	/* total # of records read */
    unsigned int	total_asynch_io;	/* total # of asynch FS calls */
    char unused[FMNGR_PARAM_REPLY_FILLER];	/* should maintain total structure size at 3900 bytes */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ FMNGR_ACB_REPLY;

typedef struct FMNGR_ACB_FILE_INFO_REPLY
    {
    short		status;			/* returned status of request */
    char		file_name[FMNGR_PARAM_FILE_NAME_LEN+2];	/* null terminated file name */
    short		vun;			/* Virtual Unit Number */
    short		write_access;		/* write access */
    short		access_mode;		/* record access */
    int			max_record;		/* maximum write record */
    int			last_record_read;	/* last record read */
    unsigned int	num_reads;		/* number of reads from this file */
    short		last_read_status;	/* status of last read */
    unsigned int	num_read_errors;	/* number of read errors for this file */
    int			last_record_written;	/* last record written */
    unsigned int	num_writes;		/* number of writes to this file */
    short		last_write_status;	/* status of last write */
    unsigned int	num_write_errors;	/* number of write errors for this file */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ FMNGR_ACB_FILE_INFO_REPLY;

#define	FMNGR_PARAM_MAX_LIST_ENTRIES	40	/* maximum number of file list entries */

typedef struct FMNGR_FILE_LIST_ENTRY		/* file list entry data */
    {
    char	file_name[FMNGR_PARAM_FILE_NAME_LEN+2];	/* null terminated file name */
    short	vun;				/* Virtual Unit Number */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ FMNGR_FILE_LIST_ENTRY;

typedef struct FMNGR_ACB_FILE_LIST_REPLY	/* file list data */
    {
    short	status;				/* returned status of request */
    unsigned int	num_returned;		/* number of file entries returned */
    unsigned int	num_files;		/* number of files currently open */
    FMNGR_FILE_LIST_ENTRY	file_list[FMNGR_PARAM_MAX_LIST_ENTRIES];
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ FMNGR_ACB_FILE_LIST_REPLY;

/* end of FM */


/*
**  TV information ...
*/
#define	TV_ACB_TC_REQUEST_STATS		1	/* request TV information statistics */
#define	TV_ACB_TC_DIAG_CLEAR		3	/* clear TV diagnostics */
#define	TV_ACB_TC_CALLBACK_INFO		29	/* request a specific intype callback */
#define	TV_ACB_TC_CALLBACK_LIST		30	/* request the list of intype callbacks */

typedef struct TV_ACB_REQUEST			/* ACNET callback request structure */
    {
    short	generic_type_code;		/* should always have a value of ACNET_CALLBACK_TV */
    short	type_code;			/* TV information callback main type code */
    short	subtype;			/* TV information callback secondary type code */
    unsigned int	request_flags;		/* request modifier flags (meaningless for statistics request) */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ TV_ACB_REQUEST;

#define	TV_PARAM_REPLY_FILLER		3484	/* reply structure filler size */

typedef struct TV_ACB_REPLY			/* TV ACNET callback reply structure */
    {
    short		status;
    int			num_rows;		/* current number of rows */
    int			num_columns;		/* current number of columns */
    int			cursor_row;		/* current cursor row */
    int			cursor_column;		/* current cursor column */
    int			interrupt_type;		/* last interrupt type */
    int			interrupt_row;		/* last interrupt row */
    int			interrupt_column;	/* last interrupt column */
    int			echo_color;		/* current character echoing color */
    int			echo_case;		/* current character echoing case */
    unsigned int	num_keybd_interrupts;	/* number of keyboard interrupts */
    unsigned int	num_keyup_interrupts;	/* number of key up interrupts */
    unsigned int	num_per_interrupts;	/* number of periodic interrupts */
    unsigned int	num_focusin_interrupts;	/* number of focus in interrupts */
    unsigned int	num_focusout_interrupts;	/* number of focus out interrupts */
    unsigned int	num_shift_keybd_interrupts;	/* number of shift-keyboard interrupts */
    unsigned int	num_ctrl_keybd_interrupts;	/* number of ctrl-keyboard interrupts */
    unsigned int	num_alt_keybd_interrupts;	/* number of alt-keyboard interrupts */
    unsigned int	num_callbacks;		/* number of intype callbacks */
    int			curr_callback_index;	/* current callback index */
    unsigned int	cktrmu;			/* # of calls to */
    unsigned int	cknob;			/* # of calls to */
    unsigned int	display_url;		/* # of calls to */
    unsigned int	dknob;			/* # of calls to */
    unsigned int	inbox;			/* # of calls to */
    unsigned int	infld;			/* # of calls to */
    unsigned int	intype;			/* # of calls to */
    unsigned int	intype_again;		/* # of calls to */
    unsigned int	intype_callback_init;	/* # of calls to */
    unsigned int	intype_callback_term;	/* # of calls to */
    unsigned int	intype_put_rowcol;	/* # of calls to */
    unsigned int	lcktrm;			/* # of calls to */
    unsigned int	litapc;			/* # of calls to */
    unsigned int	rdcurs;			/* # of calls to */
    unsigned int	tskver;			/* (unused, i.e., routine removed) # of calls to */
    unsigned int	tvblnk;			/* # of calls to */
    unsigned int	tvbrat;			/* # of calls to */
    unsigned int	tvcase;			/* # of calls to */
    unsigned int	tvceol;			/* # of calls to */
    unsigned int	tvceop;			/* # of calls to */
    unsigned int	tvclr;			/* # of calls to */
    unsigned int	tvcolr;			/* # of calls to */
    unsigned int	tvdisp;			/* # of calls to */
    unsigned int	tvfill;			/* # of calls to */
    unsigned int	tvflsh;			/* # of calls to */
    unsigned int	tvfontsize;		/* # of calls to */
    unsigned int	tvkbat;			/* # of calls to */
    unsigned int	tvm;			/* # of calls to */
    unsigned int	tvmap;			/* # of calls to */
    unsigned int	tvmx;			/* # of calls to */
    unsigned int	tvrfmt;			/* # of calls to */
    unsigned int	tvrkba;			/* # of calls to */
    unsigned int	tvrst;			/* # of calls to */
    unsigned int	tvrwdo;			/* # of calls to */
    unsigned int	tvsave;			/* # of calls to */
    unsigned int	tvscrl;			/* # of calls to */
    unsigned int	tvscrs;			/* # of calls to */
    unsigned int	tvsfmt;			/* # of calls to */
    unsigned int	tvslot;			/* # of calls to */
    unsigned int	tvtitl;			/* # of calls to */
    unsigned int	tvunmap;		/* # of calls to */
    unsigned int	tvwndo;			/* # of calls to */
    unsigned int	tv_check_key;		/* # of calls to */
    unsigned int	tv_get_key;		/* # of calls to */
    unsigned int	tv_get_title;		/* # of calls to */
    unsigned int	tv_kb_echo;		/* # of calls to */
    unsigned int	tv_last_char;		/* # of calls to */
    unsigned int	tv_set_title;		/* # of calls to */
    unsigned int	wdelet;			/* # of calls to */
    unsigned int	wmake;			/* # of calls to */
    unsigned int	wtxt;
    unsigned int	clrrct;
    unsigned int	pntrct;
    unsigned int	clear;
    unsigned int	sfmt;
    unsigned int	scrl;
    unsigned int	scrs;
    unsigned int	wtitle;
    unsigned int	tvnoop;
    unsigned int	expose;
    unsigned int	fcolor;
    unsigned int	bcolor;
    unsigned int	user_chars;		/* total chars of I/O to the TV screen */
    unsigned int	mgr_chars;
    char		title[82];		/* window title (null terminated) */
    char		unused[TV_PARAM_REPLY_FILLER];	/* should maintain total structure size at 3900 bytes */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ TV_ACB_REPLY;

#define	TV_PARAM_CB_HANDLE_LEN	30		/* length of callback handle text */

typedef struct TV_ACB_CALLBACK_ENTRY		/* intype callback entry */
    {
    int			index;			/* list location index */
    int			callback_id;		/* callback ID */
    int			priority;		/* callback priority */
    void		(*func)();		/* callback function */
    void		*callback_data;		/* callback data */
    unsigned int	caller_pc;		/* PC of caller */
    unsigned int	num_calls;		/* number of times called */
    char		handle[TV_PARAM_CB_HANDLE_LEN+2];	/* callback handle */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ TV_ACB_CALLBACK_ENTRY;

typedef struct TV_ACB_CALLBACK_INFO_REPLY	/* callback info reply */
    {
    short		status;			/* returned status of request */
    TV_ACB_CALLBACK_ENTRY	callback;
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ TV_ACB_CALLBACK_INFO_REPLY;

#define	TV_PARAM_MAX_CALLBACKS	55		/* maximum number of returned callbacks */

typedef struct TV_ACB_CALLBACK_LIST_REPLY	/* callback list data */
    {
    short		status;			/* returned status of request */
    unsigned int	num_returned;		/* number of callbacks returned */
    unsigned int	num_callbacks;		/* number of callbacks in existence */
    TV_ACB_CALLBACK_ENTRY	callbacks[TV_PARAM_MAX_CALLBACKS];
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ TV_ACB_CALLBACK_LIST_REPLY;

/* end of TV */


/*
**  LX information ...
*/
#define	LX_ACB_TC_REQUEST_STATS		1	/* request LX information statistics */
#define	LX_ACB_TC_DIAG_CLEAR		3	/* clear LX diagnostics */

typedef struct LX_ACB_REQUEST			/* ACNET callback request structure */
    {
    short	generic_type_code;		/* should always have a value of ACNET_CALLBACK_LX */
    short	type_code;			/* LX information callback main type code */
    short	subtype;			/* LX information callback secondary type code */
    unsigned int	request_flags;		/* request modifier flags (meaningless for statistics request) */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ LX_ACB_REQUEST;

#define	LX_PARAM_REPLY_FILLER		3636	/* reply structure filler size */

typedef struct LX_ACB_REPLY			/* LX ACNET callback reply structure */
    {
    short		status;
    unsigned int	lxarc;			/* # of calls to */
    unsigned int	lxbmov;			/* # of calls to */
    unsigned int	lxbord;			/* # of calls to */
    unsigned int	lxbrat;			/* # of calls to */
    unsigned int	lxcarc;			/* # of calls to */
    unsigned int	lxcatt;			/* # of calls to */
    unsigned int	lxcint;			/* # of calls to */
    unsigned int	lxcir;			/* # of calls to */
    unsigned int	lxclim;			/* # of calls to */
    unsigned int	lxclip;			/* # of calls to */
    unsigned int	lxcmap;			/* # of calls to */
    unsigned int	lxcopy;			/* # of calls to */
    unsigned int	lxctyp;			/* # of calls to */
    unsigned int	lxcurs;			/* # of calls to */
    unsigned int	lxcvec;			/* # of calls to */
    unsigned int	lxelip;			/* # of calls to */
    unsigned int	lxeras;			/* # of calls to */
    unsigned int	lxfill;			/* # of calls to */
    unsigned int	lxflsh;			/* # of calls to */
    unsigned int	lxhdwr;			/* # of calls to */
    unsigned int	lxhint;			/* # of calls to */
    unsigned int	lxmode;			/* # of calls to */
    unsigned int	lxpars;			/* # of calls to */
    unsigned int	lxpatt;			/* # of calls to */
    unsigned int	lxpfil;			/* # of calls to */
    unsigned int	lxpimg;			/* # of calls to */
    unsigned int	lxpnt;			/* # of calls to */
    unsigned int	lxpnts;			/* # of calls to */
    unsigned int	lxrcmd;			/* # of calls to */
    unsigned int	lxrect;			/* # of calls to */
    unsigned int	lxrst;			/* # of calls to */
    unsigned int	lxslot;			/* # of calls to */
    unsigned int	lxtext;			/* # of calls to */
    unsigned int	lxtitl;			/* # of calls to */
    unsigned int	lxvec;			/* # of calls to */
    unsigned int	lxvwid;			/* # of calls to */
    unsigned int	lxwsiz;			/* # of calls to */
    unsigned int	lx_get_pixel_mode;	/* # of calls to */
    unsigned int	lx_load_font;		/* # of calls to */
    unsigned int	lx_query_font;		/* # of calls to */
    unsigned int	lx_set_pixel_mode;	/* # of calls to */
    unsigned int	doExpose;
    unsigned int	fcolor;
    unsigned int	bcolor;
    unsigned int	querypointer;
    unsigned int	readque;
    unsigned int	fullque;
    unsigned int	loadfont;
    unsigned int	waitcount;
    unsigned int	wait;
    unsigned int	cvec_num;
    unsigned int	pnts_num;
    unsigned int	rect_num;
    unsigned int	text_num;
    unsigned int	vec_num;
    char		title[42];
    char 		unused[LX_PARAM_REPLY_FILLER];	/* should maintain total structure size at 3900 bytes */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ LX_ACB_REPLY;

/* end of LX */


/*
**  ACNET API routines ...
*/
#define	ACNETAPI_ACB_TC_REQUEST_STATS	1	/* request ACNET API statistics */
#define	ACNETAPI_ACB_TC_DIAG_CLEAR	3	/* clear ACNET API diagnostics */
#define	ACNETAPI_ACB_TC_REQUEST_INFO	5	/* read request information */
#define	ACNETAPI_ACB_TC_TASK_INFO	6	/* read task information */
#define	ACNETAPI_ACB_TC_REQUEST_LIST	15	/* request the list of requests */
#define	ACNETAPI_ACB_TC_TASK_LIST	16	/* request the list of tasks */

typedef struct ACNETAPI_ACB_REQUEST		/* ACNET callback request structure */
    {
    short	generic_type_code;		/* should always have a value of ACNET_CALLBACK_ACNETAPI */
    short	type_code;			/* ACNET API callback main type code */
    short	subtype;			/* ACNET API callback secondary type code */
    unsigned int	request_flags;		/* request modifier flags (meaningless for statistics request) */
    int		start_index;			/* first entry to return */
    int		num_entries;			/* maximum number of entries to return */
    unsigned short	request_id;		/* request ID */
    char	task[PROC_NAMLEN+2];		/* handle string */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ ACNETAPI_ACB_REQUEST;

#define	ACNETAPI_PARAM_REPLY_FILLER	3814	/* reply structure filler size */

typedef struct ACNETAPI_ACB_REPLY		/* ACNET callback reply structure */
    {
    short	status;				/* returned status of request */
    char	current_handle[PROC_NAMLEN+2];	/* current ACNET handle */
    unsigned int	num_requests;
    unsigned int	num_tasks;
    unsigned int	acnet_accept_requests;	/* # of calls to */
    unsigned int	acnet_cancel_request;	/* # of calls to */
    unsigned int	acnet_check_if_handle_is_available;	/* # of calls to */
    unsigned int	acnet_connect;		/* # of calls to */
    unsigned int	acnet_current_handle;	/* # of calls to */
    unsigned int	acnet_current_rum_handle;	/* # of calls to */
    unsigned int	acnet_disconnect;	/* # of calls to */
    unsigned int	acnet_get_active_handles;	/* # of calls to */
    unsigned int	acnet_get_reply;	/* # of calls to */
    unsigned int	acnet_get_request;	/* # of calls to */
    unsigned int	acnet_is_rum_handle;	/* # of calls to */
    unsigned int	acnet_node_name;	/* # of calls to */
    unsigned int	acnet_reply;		/* # of calls to */
    unsigned int	acnet_request;		/* # of calls to */
    unsigned int	acnet_set_handle;	/* # of calls to */
    unsigned int	acnet_usm_request;	/* # of calls to */
    unsigned int	acnet_wait;		/* # of calls to */
    char 	unused[ACNETAPI_PARAM_REPLY_FILLER];	/* should maintain total structure size at 3900 bytes */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ ACNETAPI_ACB_REPLY;

typedef struct ACNETAPI_ACB_REQUEST_REPLY	/* request information */
    {
    short		status;			/* returned status of request */
    unsigned short	request_id;		/* request ID */
    int		rad50_request_task;		/* requesting task */
    int		rad50_reply_task;		/* replier task */
    int		is_multiple_reply;
    int		is_obsolete;
    int		reply_count;
    short	reply_node;			/* reply node */
    unsigned int	reply_time;
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ ACNETAPI_ACB_REQUEST_REPLY;

typedef struct ACNETAPI_ACB_TASK_REPLY		/* task information */
    {
    short	status;				/* returned status of request */
    int		rad50_task;			/* RAD50 task name */
    unsigned int	num_requests;		/* number of active requests */
    unsigned int	num_requests_received;
    unsigned int	num_bytes_in_requests;
    unsigned int	num_replies_received;
    unsigned int	num_bytes_in_replies;
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ ACNETAPI_ACB_TASK_REPLY;

#define	ACNETAPI_PARAM_MAX_REQUESTS	130	/* maximum number of returned requests */

typedef struct ACNETAPI_ACB_REQ_LIST_ENTRY	/* request list entry */
    {
    unsigned short	request_id;		/* request ID */
    int		rad50_request_task;		/* requesting task */
    int		rad50_reply_task;		/* replier task */
    int		is_multiple_reply;
    int		is_obsolete;
    int		reply_count;
    short	reply_node;			/* reply node */
    unsigned int	reply_time;
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ ACNETAPI_ACB_REQ_LIST_ENTRY;

typedef struct ACNETAPI_ACB_REQ_LIST_REPLY	/* request list data */
    {
    short		status;			/* returned status of request */
    unsigned int	num_returned;		/* number of requests returned */
    unsigned int	num_requests;		/* number of requests in existence */
    ACNETAPI_ACB_REQ_LIST_ENTRY	requests[ACNETAPI_PARAM_MAX_REQUESTS];
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ ACNETAPI_ACB_REQ_LIST_REPLY;

#define	ACNETAPI_PARAM_MAX_TASKS	160	/* maximum number of returned tasks */

typedef struct ACNETAPI_ACB_TASK_LIST_ENTRY	/* task list entry */
    {
    int		rad50_task;			/* RAD50 task name */
    unsigned int	num_requests;		/* number of active requests */
    unsigned int	num_requests_received;
    unsigned int	num_bytes_in_requests;
    unsigned int	num_replies_received;
    unsigned int	num_bytes_in_replies;
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ ACNETAPI_ACB_TASK_LIST_ENTRY;

typedef struct ACNETAPI_ACB_TASK_LIST_REPLY	/* task list data */
    {
    short		status;			/* returned status of request */
    unsigned int	num_returned;		/* number of tasks returned */
    unsigned int	num_tasks;		/* number of tasks in existence */
    ACNETAPI_ACB_TASK_LIST_ENTRY	tasks[ACNETAPI_PARAM_MAX_TASKS];
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ ACNETAPI_ACB_TASK_LIST_REPLY;

/* end of ACNETAPI */


/*
**  Lock routines ...
*/
#define	LOCK_ACB_TC_REQUEST_STATS	1	/* request lock statistics */
#define	LOCK_ACB_TC_DIAG_CLEAR		3	/* clear lock diagnostics */
#define	LOCK_ACB_TC_CHECK_LOCK		5	/* check lock status */
#define	LOCK_ACB_TC_LOCK_LIST		15	/* request the list of locks */

typedef struct LOCK_ACB_REQUEST			/* ACNET callback request structure */
    {
    short	generic_type_code;		/* should always have a value of ACNET_CALLBACK_LOCK */
    short	type_code;			/* lock callback main type code */
    short	subtype;			/* lock callback secondary type code */
    unsigned int	request_flags;		/* request modifier flags (meaningless for statistics request) */
    int		start_index;			/* first entry to return */
    int		num_entries;			/* maximum number of entries to return */
    char	object_name[LOCK_MAX_NAME_LEN+2];	/* lock name string */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ LOCK_ACB_REQUEST;

#define	LOCK_PARAM_REPLY_FILLER	3848		/* reply structure filler size */

typedef struct LOCK_ACB_REPLY			/* ACNET callback reply structure */
    {
    short	status;				/* returned status of request */
    int		node;
    int		process_id;
    char	owner[LOCK_OWNER_NAME_LEN+2];
    unsigned int	num_locks;
    unsigned int	lock_check_requests;
    unsigned int	lock_check_failures;
    unsigned int	lock_read;		/* # of calls to */
    unsigned int	lock_release;		/* # of calls to */
    unsigned int	lock_request;		/* # of calls to */
    char 	unused[LOCK_PARAM_REPLY_FILLER];	/* should maintain total structure size at 3900 bytes */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ LOCK_ACB_REPLY;

typedef struct LOCK_ACB_CHECK_LOCK_REPLY	/* check lock data */
    {
    short		status;			/* returned status of request */
    unsigned int	time_locked;		/* time lock was acquired */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ LOCK_ACB_CHECK_LOCK_REPLY;

#define	LOCK_PARAM_MAX_LOCKS	55		/* maximum number of returned locks */

typedef struct LOCK_ACB_LOCK_LIST_ENTRY		/* lock list entry */
    {
    char		object_name[LOCK_MAX_NAME_LEN+2];	/* lock name */
    unsigned int	time_locked;		/* time lock was acquired (clinks) */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ LOCK_ACB_LOCK_LIST_ENTRY;

typedef struct LOCK_ACB_LOCK_LIST_REPLY		/* lock list data */
    {
    short		status;			/* returned status of request */
    unsigned int	num_returned;		/* number of locks returned */
    unsigned int	num_locks;		/* number of locks in existence */
    LOCK_ACB_LOCK_LIST_ENTRY	locks[LOCK_PARAM_MAX_LOCKS];
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ LOCK_ACB_LOCK_LIST_REPLY;

/* end of LOCK */


/*
**  datapool routines ...
*/
#define	DPM_ACB_TC_REQUEST_STATS	1	/* request datapool statistics */
#define	DPM_ACB_TC_DIAG_CLEAR		3	/* clear database statistics */
#define	DPM_ACB_TC_SET_PROC_PERIOD	4	/* set proc check period */
#define	DPM_ACB_TC_TRACE_ENABLE		5	/* enable device trace */
#define	DPM_ACB_TC_TRACE_DISABLE	6	/* disable device trace */
#define	DPM_ACB_TC_READ_CRL_BY_IRINX	11	/* retrieve a Common Request List entry by irinx */
#define	DPM_ACB_TC_READ_ENTRY_BY_IRINX	11	/* retrieve a device entry by irinx */
#define	DPM_ACB_TC_READ_CRL_BY_DIPI	12	/* retrieve a Common Request List entry by DI/PI */
#define	DPM_ACB_TC_READ_ENTRY_BY_DIPI	12	/* retrieve a device entry by DI/PI */
#define	DPM_ACB_TC_READ_DEVICES		13	/* retrieve current devices */

#define	DPM_ACB_OUTPUT_NORMAL		0	/* output returns in network reply */
#define	DPM_ACB_OUTPUT_MAIL		1	/* output goes to mail message */
#define	DPM_ACB_OUTPUT_STDOUT		2	/* output goes to standard output */
#define	DPM_ACB_OUTPUT_FILE		3	/* output goes to a local file */

#define	DPM_ACB_MIN_PROC_PERIOD		1	/* minimum proc check period */

#define	DPM_PARAM_MAX_OUT_SPEC_LEN	64	/* output specifier length */

typedef struct DPM_ACB_REQUEST			/* ACNET callback request structure */
    {
    short	generic_type_code;		/* should always have a value of ACNET_CALLBACK_DATAPOOL */
    short	type_code;			/* DPM callback main type code */
    short	subtype;			/* DPM callback secondary type code */
    unsigned int	request_flags;		/* request modifier flags (meaningless for statistics request) */
    int		start_index;			/* first entry to return */
    int		num_entries;			/* maximum number of entries to return */
    int		request_data;			/* request specific data */
    int		request_data_2;			/* request specific data */
    short	output;				/* output type */
    char	output_specifier[DPM_PARAM_MAX_OUT_SPEC_LEN];	/* output specifier string */
    } __attribute__((packed)) DPM_ACB_REQUEST;

#define	DPM_PARAM_REPLY_FILLER	3596		/* reply structure filler size */

typedef struct DPM_ACB_REPLY			/* ACNET callback reply structure */
    {
    short	status;				/* returned status of request */
    unsigned int	num_errors;		/* total number of errors */
    int		last_error;			/* last error detected */
    char	last_error_func[ACB_FUNC_NAME_LEN+2];	/* function in which last error was detected */
    int		last_error_device;		/* device index associated with the last error */
    short	last_error_property;		/* property index associated with the last error */
    unsigned int	num_invalid_device_indices;	/* number of invalid device indices requested */
    int		last_invalid_device_index;	/* last invalid device index requested */
    unsigned int	last_invalid_device_index_caller_pc;	/* caller PC of last requested invalid device index */
    unsigned int	num_request_errors;	/* total number of dpreq errors */
    int		last_request_error;		/* last dpreq error detected */
    int		last_request_error_device;	/* device index associated with the last dpreq error */
    short	last_request_error_property;	/* property index associated with the last dpreq error */
    unsigned int	num_proc_errors;	/* total number of dpproc errors */
    int		last_proc_error;		/* last dpproc error detected */
    unsigned int	num_get_errors;		/* total number of dpget errors */
    int		last_get_error;			/* last dpget error detected */
    int		last_get_error_device;		/* device index associated with the last dpget error */
    short	last_get_error_property;	/* property index associated with the last dpget error */
    unsigned int	num_set_errors;		/* total number of dpset errors */
    int		last_set_error;			/* last dpset error detected */
    int		last_set_error_device;		/* device index associated with the last dpset error */
    short	last_set_error_property;	/* property index associated with the last dpset error */
    unsigned int	num_set_reply_errors;	/* total number of dpsrpy errors */
    int		last_set_reply_error;		/* last dpsrpy error detected */
    unsigned int	num_remove_errors;	/* total number of dprem errors */
    int		last_remove_error;		/* last dprem error detected */
    int		last_remove_error_device;	/* device index associated with the last dpset error */
    short	last_remove_error_property;	/* property index associated with the last dpset error */
    unsigned int	ftd_one_shot;		/* count of one shot reads */
    int		last_device_requested;		/* device index of last request */
    short	last_property_requested;	/* property index of last request */
    int		last_ftd_requested;
    int		last_length_requested;
    int		last_offset_requested;
    int		last_one_shot_device_requested;
    short	last_one_shot_property_requested;
    int		last_one_shot_length_requested;
    int		last_one_shot_offset_requested;
    int		last_request_status;		/* ACNET error on last request */
    int		last_proc_status;		/* ACNET error on last proc */
    int		last_get_status;		/* ACNET error on last get */
    int		last_set_status;		/* ACNET error on last set */
    int		last_set_reply_status;		/* ACNET error on last set with reply */
    int		last_remove_status;		/* ACNET error on last remove */
    int		device_trace;			/* flag indicating if device tracing is on */
    short	server_node;			/* server node in use */
    unsigned int	periodic_proc_count;	/* number of dpprocs in current period */
    unsigned int	max_periodic_proc_count;	/* max number of dpprocs in a period */
    unsigned int	proc_check_period;	/* dpproc measurement period */
    unsigned int	total_dpproc_time;	/* total time spent in DPPROCs in 15 Hz ticks */
    unsigned int	longest_dpproc;		/* longest DPPROC in 15 Hz ticks */
    unsigned int	request_caller_pc;	/* PC of last device requestor */
    unsigned int	proc_caller_pc;		/* PC of last device proc */
    unsigned int	get_caller_pc;		/* PC of last device get */
    unsigned int	set_caller_pc;		/* PC of last device set */
    unsigned int	remove_caller_pc;	/* PC of last device remove */
    unsigned int	dio_clear_redirection_slot;	/* # of calls to */
    unsigned int	dio_enable_error_logging;	/* # of calls to */
    unsigned int	dio_log_error;		/* # of calls to */
    unsigned int	dio_set_redirection_slot;	/* # of calls to */
    unsigned int	dpcanq;			/* # of calls to */
    unsigned int	dpdcrl;			/* # of calls to */
    unsigned int	dpftd;			/* # of calls to */
    unsigned int	dpget;			/* # of calls to */
    unsigned int	dpproc;			/* # of calls to */
    unsigned int	dprall;			/* # of calls to */
    unsigned int	dprem;			/* # of calls to */
    unsigned int	dpreq;			/* # of calls to */
    unsigned int	dpset;			/* # of calls to */
    unsigned int	dpsrpy;			/* # of calls to */
    unsigned int	dp_get_ftd;		/* # of calls to */
    unsigned int	dp_get_server_node;	/* # of calls to */
    char 	unused[DPM_PARAM_REPLY_FILLER];	/* should maintain total structure size at 3900 bytes */
    } __attribute__((packed)) DPM_ACB_REPLY;

#define	DPM_PARAM_MAX_DEVICES	1000		/* maximum number of devices */

typedef struct DPM_ACB_DEVICE_ENTRY		/* DPM device entry data */
    {
    int			device_index;		/* device index */
    short		property;		/* property index */
    short		ftd;			/* Frequency Time Descriptor */
    unsigned int	length;			/* data length in bytes */
    unsigned int	offset;			/* data offset in bytes */
    short		node;			/* target node */
    unsigned int	setting_mask;		/* setting protection mask */
    unsigned char	ssdn[LEN_SSDN];		/* SubSystem Device Number */
    short		status;			/* returned status of request */
    unsigned short	sequence_number;	/* sequence number */
    short		return_pending;
    unsigned short	reference_count;
    int			irinx;			/* retrieval index */
    } __attribute__((packed)) DPM_ACB_DEVICE_ENTRY;

typedef struct DPM_ACB_READ_DEVICES_REPLY	/* DPM device data */
    {
    short		status;			/* returned status of request */
    unsigned int	num_returned;		/* number of devices returned */
    unsigned int	num_devices;		/* number of devices in existence */
    DPM_ACB_DEVICE_ENTRY	devices[DPM_PARAM_MAX_DEVICES];
    } __attribute__((packed)) DPM_ACB_READ_DEVICES_REPLY;

typedef struct DPM_ACB_READ_SINGLE_DEVICE_REPLY	/* DPM device data */
    {
    short		status;			/* returned status of request */
    unsigned int	num_returned;		/* number of devices returned */
    DPM_ACB_DEVICE_ENTRY	device;
    } __attribute__((packed)) DPM_ACB_READ_SINGLE_DEVICE_REPLY;

typedef struct DPM_ACB_CRL_REPLY		/* Common Request List entry */
    {
    short		status;			/* returned status of request */
    unsigned short	irinx;			/* IRINX verification */
    unsigned int	dipi;			/* Device Index/Property Index */
    unsigned short	error_seqnum;		/* sequence # of last error */
    void		*new_data;		/* new error/data pointer */
    unsigned int	task_id;		/* task ID owning request */
    unsigned char	ssdn[LEN_SSDN];		/* SubSystem Device Number */
    short		ftd;			/* Frequency Time Descriptor */
    unsigned short	length;			/* # of bytes requested or default */
    unsigned short	offset;			/* offset in bytes from element 0 */
    short		node;			/* target node */
    short		error;			/* DPM trapped error */
    unsigned char	crl_length;		/* length of this CRL entry */
    unsigned char	crl_flags;		/* CRL flags */
    unsigned int	setting_mask;		/* setting protection mask */
    } __attribute__((packed)) DPM_ACB_CRL_REPLY;

/* end of DPM */


/*
**  APPDS routines
*/
#define	APPDS_ACB_REQUEST_STATS	1		/* request APPDS statistics */
#define	APPDS_ACB_CLEAR_STATS	2		/* clear APPDS statistics */
#define	APPDS_ACB_REQUEST_TABLE_STATS	3	/* request statistics on a given table */
#define	APPDS_ACB_REQUEST_TABLE_LIST	4	/* list  of open tables */

typedef struct APPDS_ACB_REQUEST		/* ACNET callback request structure */
    {
    short	generic_type_code;		/* should always have a value of ACNET_APPDS_CALLBACK */
    short	type_code;			/* APPDS callback main type code */
    short	subtype;			/* APPDS callback secondary type code */
    char	table_name[26];			/* name of table statistics requested from,null terminated */
    char	db_name[26];			/* name of the database where the table resides, null terminated */
    char	server_name[26];		/* name of the server where the database resides, null terminated */
    } __attribute__((packed)) APPDS_ACB_REQUEST;

#define	APPDS_PARAM_REPLY_FILLER	3642	/* reply structure filler size */

typedef struct	APPDS_ACB_REPLY			/* ACNET callback reply structure */
    {
    short		status;			/*returned status of request */
    unsigned int	appds_read_count;
    unsigned int	seq_read_success_count;
    unsigned int	seq_read_fail_count;
    short		seq_read_longest_tm;
    short		seq_read_shortest_tm;
    short		seq_read_last_tm;
    unsigned int	indx_read_success_count;
    unsigned int	indx_read_fail_count;
    short		indx_read_longest_tm;
    short		indx_read_shortest_tm;
    short		indx_read_last_tm;
    unsigned int	key_read_success_count;
    unsigned int	key_read_fail_count;
    short		key_read_longest_tm;
    short		key_read_shortest_tm;
    short		key_read_last_tm;
    unsigned int	appds_write_count;
    unsigned int	seq_write_success_count;
    unsigned int	seq_write_fail_count;
    short		seq_write_longest_tm;
    short		seq_write_shortest_tm;
    short		seq_write_last_tm;
    unsigned int	indx_write_success_count;
    unsigned int	indx_write_fail_count;
    short		indx_write_longest_tm;
    short		indx_write_shortest_tm;
    short		indx_write_last_tm;
    unsigned int	key_write_success_count;
    unsigned int	key_write_fail_count;
    short		key_write_longest_tm;
    short		key_write_shortest_tm;
    short		key_write_last_tm;
    unsigned int	appds_delete_count;
    unsigned int	seq_delete_success_count;
    unsigned int	seq_delete_fail_count;
    short		seq_delete_longest_tm;
    short		seq_delete_shortest_tm;
    short		seq_delete_last_tm;
    unsigned int	indx_delete_success_count;
    unsigned int	indx_delete_fail_count;
    short		indx_delete_longest_tm;
    short		indx_delete_shortest_tm;
    short		indx_delete_last_tm;
    unsigned int	key_delete_success_count;
    unsigned int	key_delete_fail_count;
    short		key_delete_longest_tm;
    short		key_delete_shortest_tm;
    short		key_delete_last_tm;
    unsigned int	free_table_cache_count;		/* # of times free_table_cache_count has been called */
    unsigned int	set_inter_mode_count;		/* # of times set_inter_mode_count has been called */
    unsigned int	get_inter_mode_count;		/* # of times get_inter_mode_count has been called */
    unsigned int	get_table_status_count;		/* # of times get_table_status_count has been called */
    unsigned int	key_match_count;		/* # of times key_match_count has been called */
    int			last_read_status;		/* status of the last read */					
    int			last_write_status;		/* status of the last write */
    int			last_delete_status;		/* status of the last delete */
    int			last_error_code;		/* the last error code returned */
    char		last_error_table[26];		/* name of that table where the last error occured */
    char		last_error_operation[26];				/* the last operation that produced an error */
    char		last_error_access[26];		/* the access mode that table was in when the error occured */
    unsigned int	error_count;			/* number of errors across all open tables */
    char		unused[APPDS_PARAM_REPLY_FILLER];	/* should maintain total structure size at 3900 bytes */
    } __attribute__((packed)) APPDS_ACB_REPLY;

#define	APPDS_PARAM_TABLE_REPLY_FILLER 3818

typedef struct	APPDS_ACB_TABLE_REPLY			/* ACNET callback reply structure */
    {
    short		status;				/* returned status of request */
    unsigned int  	read_count;			/* # of successful reads on this table */
    unsigned int  	read_fail_count;		/* # of failed read on this table */
    int			last_read_status;		/* status of the last read */
    short		longest_read_tm;		/* longest read time in k15hz */
    short		shortest_read_tm;		/* shortest read time in k15hz */
    short		last_read_tm;			/* last read time in k15hz */
    unsigned int	write_count;			/* # of successful writes to this table */
    unsigned int	write_fail_count;		/* # of failed writes to the table */
    int			last_write_status;		/* status of the last write */
    short		longest_write_tm;		/* longest write time in k15hz */
    short		shortest_write_tm;		/* shortest write time in k15hz */
    short		last_write_tm;			/* last write time in k15hz */
    unsigned int	delete_count;			/* # of successful deletes to this table */
    unsigned int	delete_fail_count;		/* # of failed deletes to the table */
    int			last_delete_status;		/* status of the last delete */
    short		longest_delete_tm;		/* longest delete time in k15hz */
    short		shortest_delete_tm;		/* shortest delete time in k15hz */
    short		last_delete_tm;			/* last delete time in k15hz */
    char		last_error_operation[26];	/* the last operation to produce an error */
    char		unused[APPDS_PARAM_TABLE_REPLY_FILLER];	/* should maintain total structure size at 3900 bytes */
    } __attribute__((packed)) APPDS_ACB_TABLE_REPLY;

#define	APPDS_MAX_NAME_LIST_ENTRIES	20		/* maximum number of table names that will be returned */
#define	APPDS_PARAM_TABLE_LIST_FILLER	2336

struct appds_table_struct
    {
    char		table_name[26];			/* name of the table, NULL terminated */
    char		db_name[26];			/* name of the database, NULL terminated */
    char		db_server[26];			/* name of the database server, NULL terminated */
    } __attribute__((packed));

typedef struct APPDS_ACB_TABLE_LIST_REPLY		/* ACNET callback reply structure */
    {
    short		status;				/* returned status of resuest */
    short		open_table_count;		/* the number of open tables */
    struct		appds_table_struct table_list[APPDS_MAX_NAME_LIST_ENTRIES];	/* list of table name structures */
    char		unused[APPDS_PARAM_TABLE_LIST_FILLER];
    } __attribute__((packed)) APPDS_ACB_TABLE_LIST_REPLY;

/* end of APPDS */


/*
**  ACL routines ...
*/
#define	ACL_ACB_TC_REQUEST_STATS	1	/* request ACL statistics */
#define	ACL_ACB_TC_DIAG_CLEAR		3	/* clear ACL diagnostics */
#define	ACL_ACB_TC_SYMBOL_LIST		15	/* request the list of symbols */
#define	ACL_ACB_TC_VARIABLE_LIST	16	/* request the list of variables */
#define	ACL_ACB_TC_READ_DEVICE_LIST	17	/* request the list of read devices */
#define	ACL_ACB_TC_SET_DEVICE_LIST	18	/* request the list of set devices */
#define	ACL_ACB_TC_READ_SYMBOL		19	/* read a symbol value */
#define	ACL_ACB_TC_SET_SYMBOL		20	/* set a symbol value */
#define	ACL_ACB_TC_DELETE_SYMBOL	21	/* delete a symbol value */
#define	ACL_ACB_TC_DELETE_ALL_SYMBOLS	22	/* delete all symbol values */
#define	ACL_ACB_TC_READ_VARIABLE	23	/* read a variable value */
#define	ACL_ACB_TC_SET_VARIABLE		24	/* set a variable value */
#define	ACL_ACB_TC_CURRENT_SCRIPT	25	/* request the current script name */
#define	ACL_ACB_TC_COMMAND_LIST		26	/* request information about the current list of commands */
#define	ACL_ACB_TC_SOURCE_CODE		27	/* request lines of source code */
#define	ACL_ACB_TC_REMOTE_MESSAGE	28	/* receive remote message */
#define	ACL_ACB_TC_COMMAND_STATS	29	/* request ACL command statistics */
#define	ACL_ACB_TC_FUNCTION_STATS	30	/* request ACL intrinsic function statistics */

#define	ACL_ACB_MAX_VALUE_LENGTH	128	/* maximum value length */

typedef struct ACL_ACB_REQUEST			/* ACNET callback request structure */
    {
    short	generic_type_code;		/* should always have a value of ACNET_CALLBACK_ACNETAPI */
    short	type_code;			/* ACNET API callback main type code */
    short	subtype;			/* ACNET API callback secondary type code */
    unsigned int	request_flags;		/* request modifier flags (meaningless for statistics request) */
    int		start_index;			/* first entry to return */
    int		num_entries;			/* maximum number of entries to return */
    char	object_name[ACL_SYMBOL_NAME_LEN+2];	/* symbol name string */
    int		value_type;			/* type of value */
    char	value_data[ACL_ACB_MAX_VALUE_LENGTH];	/* value data */
    } __attribute__((packed)) ACL_ACB_REQUEST;

#define	ACL_PARAM_REPLY_FILLER		13096	/* reply structure filler size */

#define	ACL_ACB_SCRIPT_NAME_LENGTH	64	/* maximum ACL script name length */
#define	ACL_ACB_COMMAND_NAME_LENGTH	32	/* maximum ACL command name length */
#define	ACL_ACB_LOG_FILE_NAME_LENGTH	128	/* maximum ACL log file name length */
#define	ACL_ACB_SCRIPT_PATH_NAME_LEN	128	/* maximum ACL script path name length */

typedef struct ACL_ACB_COMMAND_STATS		/* individual command statistics */
    {
    unsigned int	num_calls;		/* number of calls to this command */
    unsigned int	longest_time;		/* longest time spent processing this command */
    unsigned int	total_time;		/* total time spent processing this command */
    } ACL_ACB_COMMAND_STATS;

typedef struct ACL_ACB_COMMAND_EXT_STATS	/* individual command statistics */
    {
    unsigned int	num_calls;		/* number of calls to this command */
    unsigned int	longest_time;		/* longest time spent processing this command */
    unsigned int	total_time;		/* total time spent processing this command */
    unsigned int	num_errors;		/* number of errors that have occurred in this command */
    int		last_error;			/* last error that occurred in this command */
    int		last_error_line_number;		/* last error line for this command */
    int		last_line_number;		/* last execution line for this command */
    } ACL_ACB_COMMAND_EXT_STATS;

typedef struct ACL_ACB_FUNCTION_STATS		/* individual function statistics */
    {
    unsigned int	num_calls;		/* number of calls to this function */
    unsigned int	longest_time;		/* longest time spent processing this function */
    unsigned int	total_time;		/* total time spent processing this function */
    unsigned int	num_errors;		/* number of errors that have occurred in this function */
    int		last_error;			/* last error that occurred in this function */
    int		last_error_line_number;		/* last error line for this function */
    } ACL_ACB_FUNCTION_STATS;

typedef struct ACL_ACB_REPLY			/* ACNET callback reply structure */
    {
    short	status;				/* returned status of request */
    char	script_name[ACL_ACB_SCRIPT_NAME_LENGTH+2];
    char	last_script_name[ACL_ACB_SCRIPT_NAME_LENGTH+2];
    unsigned int	num_scripts_executed;
    unsigned int	num_script_files_executed;
    unsigned int	debug_flags;
    int		current_mode;
    unsigned int	num_source_lines;
    unsigned int	num_commands;
    int		execution_level;
    int		command_index;
    int		current_line_number;
    char	current_command_string[ACL_ACB_COMMAND_NAME_LENGTH+2];
    int		command_type;
    int		error_status;
    int		last_error_status;
    char	last_error_script_name[ACL_ACB_SCRIPT_NAME_LENGTH+2];
    char	last_error_string[ACL_ERROR_STRING_LEN+2];
    ARRAY_DEVICE_DATA	last_error_device;
    int		return_level;
    int		return_index;
    int		error_handler_show_errors;
    int		in_error_handler;
    int		error_return_index;
    int		error_return_if_index;
    int		error_return_while_index;
    int		error_command_type;
    int		want_simple_error_strings;
    int		in_callback_handler;
    int		callback_return_index;
    int		in_always_block;
    int		always_block_index;
    int		always_block_status;
    unsigned int	num_variables;
    int		symbol_table_type;
    unsigned int	num_symbols;
    int		in_if_block;
    int		in_loop;
    int		if_level;
    int		loop_level;
    short	default_ftd;
    int		read_timeout;
    int		set_timeout;
    int		database_timeout;
    int		want_stale;
    int		settings_enable;
    int		suppress_settings;
    unsigned int	suppressed_setting_count;
    unsigned int	total_suppressed_setting_count;
    int		want_verbose_output;
    int		diagnostic_mode;
    int		subst_name_length;
    int		num_subst_devices;
    int		num_device_arg_info;
    int		num_subst_strings;
    int		num_string_arg_info;
    char	default_log_file[ACL_ACB_LOG_FILE_NAME_LENGTH+2];
    int		acl_info_type;
    int		global_error_handler_index;
    int		current_error_handler_index;
    int		exit_script_on_error;
    int		num_procs;
    char	default_path[ACL_ACB_SCRIPT_PATH_NAME_LEN+2];
    int		global_data_source;
    int		maintain_outter_specifier;
    int		settings_allowed;
    int		file_writes_allowed;
    int		remote_programs_allowed;
    int		command_or_script_files_allowed;
    int		debug_level;
    int		asynch_debug_level;
    int		execution_status;
    int		last_pending_device;
    int		last_error_count_device;
    int		last_error_count_status;
    unsigned int	script_start_time;
    unsigned int	last_script_time;
    unsigned int	script_start_clinks;
    unsigned int	script_end_clinks;
    unsigned int	last_script_clinks;
    int		seqnet_connected;
    int		file_execution;
    int		is_web_user;
    int		allow_obsolete_device_names;
    int		comment_char_disabled;
    int		alt_comment_char_disabled;
    int		debugger_mode;
    unsigned int	init_time_ticks;
    unsigned int	init_time_clinks;
    ACL_ACB_COMMAND_STATS	declare_stats;
    ACL_ACB_COMMAND_STATS	assignment_stats;
    ACL_ACB_COMMAND_STATS	read_device_stats;
    ACL_ACB_COMMAND_STATS	set_device_stats;
    ACL_ACB_COMMAND_STATS	increment_device_stats;
    ACL_ACB_COMMAND_STATS	decrement_device_stats;
    ACL_ACB_COMMAND_STATS	label_stats;
    ACL_ACB_COMMAND_STATS	goto_stats;
    ACL_ACB_COMMAND_STATS	gosub_stats;
    ACL_ACB_COMMAND_STATS	return_stats;
    ACL_ACB_COMMAND_STATS	print_stats;
    ACL_ACB_COMMAND_STATS	exit_stats;
    ACL_ACB_COMMAND_STATS	if_stats;
    ACL_ACB_COMMAND_STATS	elseif_stats;
    ACL_ACB_COMMAND_STATS	else_stats;
    ACL_ACB_COMMAND_STATS	endif_stats;
    ACL_ACB_COMMAND_STATS	loop_stats;
    ACL_ACB_COMMAND_STATS	endloop_stats;
    ACL_ACB_COMMAND_STATS	mail_stats;
    ACL_ACB_COMMAND_STATS	run_stats;
    ACL_ACB_COMMAND_STATS	show_device_stats;
    ACL_ACB_COMMAND_STATS	wait_stats;
    ACL_ACB_COMMAND_STATS	list_device_stats;
    ACL_ACB_COMMAND_STATS	timeout_stats;
    ACL_ACB_COMMAND_STATS	settings_stats;
    ACL_ACB_COMMAND_STATS	lock_stats;
    ACL_ACB_COMMAND_STATS	unlock_stats;
    ACL_ACB_COMMAND_STATS	while_stats;
    ACL_ACB_COMMAND_STATS	endwhile_stats;
    ACL_ACB_COMMAND_STATS	reset_device_stats;
    ACL_ACB_COMMAND_STATS	turn_device_stats;
    ACL_ACB_COMMAND_STATS	enable_stats;
    ACL_ACB_COMMAND_STATS	disable_stats;
    ACL_ACB_COMMAND_STATS	activate_stats;
    ACL_ACB_COMMAND_STATS	deactivate_stats;
    ACL_ACB_COMMAND_STATS	on_error_stats;
    ACL_ACB_COMMAND_STATS	retry_stats;
    ACL_ACB_COMMAND_STATS	data_source_stats;
    ACL_ACB_COMMAND_STATS	cnswin_stats;
    ACL_ACB_COMMAND_STATS	url_display_stats;
    ACL_ACB_COMMAND_STATS	image_draw_stats;
    ACL_ACB_COMMAND_STATS	output_stats;
    ACL_ACB_COMMAND_STATS	data_event_stats;
    ACL_ACB_COMMAND_STATS	version_stats;
    ACL_ACB_COMMAND_STATS	ch13_message_stats;
    ACL_ACB_COMMAND_STATS	fill_device_stats;
    ACL_ACB_COMMAND_STATS	ramp_device_stats;
    ACL_ACB_COMMAND_STATS	trigger_stats;
    ACL_ACB_COMMAND_STATS	toggle_device_stats;
    ACL_ACB_COMMAND_STATS	restore_device_stats;
    ACL_ACB_COMMAND_STATS	program_log_stats;
    ACL_ACB_COMMAND_STATS	downtime_log_stats;
    ACL_ACB_COMMAND_STATS	alarm_log_stats;
    ACL_ACB_COMMAND_STATS	download_stats;
    ACL_ACB_COMMAND_STATS	delete_cache_stats;
    ACL_ACB_COMMAND_STATS	device_arg_info_stats;
    ACL_ACB_COMMAND_STATS	string_arg_info_stats;
    ACL_ACB_COMMAND_STATS	program_info_stats;
    ACL_ACB_COMMAND_STATS	compare_device_stats;
    ACL_ACB_COMMAND_STATS	copy_device_stats;
    ACL_ACB_COMMAND_STATS	system_stats;
    ACL_ACB_COMMAND_STATS	gpib_stats;
    ACL_ACB_COMMAND_STATS	node_info_stats;
    ACL_ACB_COMMAND_STATS	node_stats;
    ACL_ACB_COMMAND_STATS	reboot_stats;
    ACL_ACB_COMMAND_STATS	setting_log_stats;
    ACL_ACB_COMMAND_STATS	error_text_stats;
    ACL_ACB_COMMAND_STATS	fit_stats;
    ACL_ACB_COMMAND_STATS	user_info_stats;
    ACL_ACB_COMMAND_STATS	camac_stats;
    ACL_ACB_COMMAND_STATS	exitloop_stats;
    ACL_ACB_COMMAND_STATS	continue_stats;
    ACL_ACB_COMMAND_STATS	save_file_stats;
    ACL_ACB_COMMAND_STATS	bypass_stats;
    ACL_ACB_COMMAND_STATS	alarm_limit_stats;
    ACL_ACB_COMMAND_STATS	nominal_mask_stats;
    ACL_ACB_COMMAND_STATS	input_stats;
    ACL_ACB_COMMAND_STATS	console_info_stats;
    ACL_ACB_COMMAND_STATS	fft_stats;
    ACL_ACB_COMMAND_STATS	ftp_stats;
    ACL_ACB_COMMAND_STATS	timer_event_stats;
    ACL_ACB_COMMAND_STATS	step_motor_stats;
    ACL_ACB_COMMAND_STATS	event_info_stats;
    ACL_ACB_COMMAND_STATS	mdat_info_stats;
    ACL_ACB_COMMAND_STATS	call_proc_stats;
    ACL_ACB_COMMAND_STATS	search_device_stats;
    ACL_ACB_COMMAND_STATS	on_stats;
    ACL_ACB_COMMAND_STATS	off_stats;
    ACL_ACB_COMMAND_STATS	positive_stats;
    ACL_ACB_COMMAND_STATS	negative_stats;
    ACL_ACB_COMMAND_STATS	polarity_stats;
    ACL_ACB_COMMAND_STATS	dbset_stats;
    ACL_ACB_COMMAND_STATS	log_device_stats;
    ACL_ACB_COMMAND_STATS	event_log_stats;
    ACL_ACB_COMMAND_STATS	state_log_stats;
    ACL_ACB_COMMAND_STATS	delta_set_stats;
    ACL_ACB_COMMAND_STATS	logger_get_stats;
    ACL_ACB_COMMAND_STATS	acnet_request_stats;
    ACL_ACB_COMMAND_STATS	resize_stats;
    ACL_ACB_COMMAND_STATS	find_program_stats;
    ACL_ACB_COMMAND_STATS	set_field_stats;
    ACL_ACB_COMMAND_STATS	timer_stats;
    ACL_ACB_COMMAND_STATS	shot_log_stats;
    ACL_ACB_COMMAND_STATS	path_stats;
    ACL_ACB_COMMAND_STATS	device_list_stats;
    ACL_ACB_COMMAND_STATS	ftp_read_stats;
    ACL_ACB_COMMAND_STATS	snap_read_stats;
    ACL_ACB_COMMAND_STATS	web_log_stats;
    ACL_ACB_COMMAND_STATS	tcp_request_stats;
    ACL_ACB_COMMAND_STATS	delete_stats;
    ACL_ACB_COMMAND_STATS	read_struct_stats;
    ACL_ACB_COMMAND_STATS	read_field_stats;
    ACL_ACB_COMMAND_STATS	table_device_stats;
    ACL_ACB_COMMAND_STATS	sda_dir_stats;
    ACL_ACB_COMMAND_STATS	sr_dir_stats;
    ACL_ACB_COMMAND_STATS	str_format_stats;
    ACL_ACB_COMMAND_STATS	str_cat_stats;
    ACL_ACB_COMMAND_STATS	str_find_stats;
    ACL_ACB_COMMAND_STATS	str_compare_stats;
    ACL_ACB_COMMAND_STATS	substring_stats;
    ACL_ACB_COMMAND_STATS	clib_info_stats;
    ACL_ACB_COMMAND_STATS	str_case_stats;
    ACL_ACB_COMMAND_STATS	sda_config_stats;
    ACL_ACB_COMMAND_STATS	unescape_stats;
    ACL_ACB_COMMAND_STATS	str_tail_stats;
    ACL_ACB_COMMAND_STATS	str_replace_stats;
    ACL_ACB_COMMAND_STATS	str_copy_stats;
    ACL_ACB_COMMAND_STATS	str_length_stats;
    ACL_ACB_COMMAND_STATS	str_split_stats;
    ACL_ACB_COMMAND_STATS	sql_stats;
    ACL_ACB_COMMAND_STATS	str_convert_stats;
    ACL_ACB_COMMAND_STATS	fshare_info_stats;
    ACL_ACB_COMMAND_STATS	stats_stats;
    ACL_ACB_COMMAND_STATS	gas_stats;
    ACL_ACB_COMMAND_STATS	crate_stats;
    ACL_ACB_COMMAND_STATS	slot_stats;
    ACL_ACB_COMMAND_STATS	madc_stats;
    ACL_ACB_COMMAND_STATS	list_strings_stats;
    ACL_ACB_COMMAND_STATS	file_info_stats;
    ACL_ACB_COMMAND_STATS	cpld_log_stats;
    ACL_ACB_COMMAND_STATS	set_list_stats;
    ACL_ACB_COMMAND_STATS	check_status_stats;
    ACL_ACB_COMMAND_STATS	set_struct_stats;
    ACL_ACB_COMMAND_STATS	do_while_stats;
    ACL_ACB_COMMAND_STATS	end_do_while_stats;
    ACL_ACB_COMMAND_STATS	reset_list_stats;
    ACL_ACB_COMMAND_STATS	on_list_stats;
    ACL_ACB_COMMAND_STATS	off_list_stats;
    ACL_ACB_COMMAND_STATS	cns_message_stats;
    ACL_ACB_COMMAND_STATS	str_trim_stats;
    ACL_ACB_COMMAND_STATS	sr_set_stats;
    ACL_ACB_COMMAND_STATS	beam_switch_stats;
    ACL_ACB_COMMAND_STATS	change_device_stats;
    ACL_ACB_COMMAND_STATS	read_file_stats;
    ACL_ACB_COMMAND_STATS	sort_stats;
    ACL_ACB_COMMAND_STATS	read_dir_stats;
    ACL_ACB_COMMAND_STATS	copy_variable_stats;
    ACL_ACB_COMMAND_STATS	tlg_info_stats;
    ACL_ACB_COMMAND_STATS	comment_char_stats;
    ACL_ACB_COMMAND_STATS	host_request_stats;
    ACL_ACB_COMMAND_STATS	switch_info_stats;
    ACL_ACB_COMMAND_STATS	alarm_message_stats;
    ACL_ACB_COMMAND_STATS	digital_control_stats;
    ACL_ACB_COMMAND_STATS	program_status_stats;
    ACL_ACB_COMMAND_STATS	swap_stats;
    ACL_ACB_COMMAND_STATS	execute_stats;
    ACL_ACB_COMMAND_STATS	fly_spec_stats;
    ACL_ACB_COMMAND_STATS	sr_get_stats;
    ACL_ACB_COMMAND_STATS	sda_get_stats;
    unsigned int	acl_add_program_script_menu_entry;	/* # of calls to */
    unsigned int	acl_add_remote_message_callback;	/* # of calls to */
    unsigned int	acl_cancel_requests;	/* # of calls to */
    unsigned int	acl_clear_all_debugger_breaks;	/* # of calls to */
    unsigned int	acl_close;		/* # of calls to */
    unsigned int	acl_command_string_to_type;	/* # of calls to */
    unsigned int	acl_command_text;	/* # of calls to */
    unsigned int	acl_command_type_to_string;	/* # of calls to */
    unsigned int	acl_compile;		/* # of calls to */
    unsigned int	acl_copy_arg_info;		/* # of calls to */
    unsigned int	acl_db_file_exists;		/* # of calls to */
    unsigned int	acl_default_data_source;	/* # of calls to */
    unsigned int	acl_default_script_path;	/* # of calls to */
    unsigned int	acl_delete_symbol;	/* # of calls to */
    unsigned int	acl_execute;		/* # of calls to */
    unsigned int	acl_execute_always_block;	/* # of calls to */
    unsigned int	acl_execute_file_in_window;	/* # of calls to */
    unsigned int	acl_execute_in_window;		/* # of calls to */
    unsigned int	acl_expand_file_name;		/* # of calls to */
    unsigned int	acl_file_execute;	/* # of calls to */
    unsigned int	acl_file_exists;	/* # of calls to */
    unsigned int	acl_file_is_in_repository;	/* # of calls to */
    unsigned int	acl_file_menu;		/* # of calls to */
    unsigned int	acl_file_read;		/* # of calls to */
    unsigned int	acl_file_read_author;		/* # of calls to */
    unsigned int	acl_file_read_description;	/* # of calls to */
    unsigned int	acl_file_read_title;	/* # of calls to */
    unsigned int	acl_file_stats;		/* # of calls to */
    unsigned int	acl_file_write;		/* # of calls to */
    unsigned int	acl_free;		/* # of calls to */
    unsigned int	acl_free_arg_info;	/* # of calls to */
    unsigned int	acl_function_text;	/* # of calls to */
    unsigned int	acl_function_type_to_string;	/* # of calls to */
    unsigned int	acl_get_devices;	/* # of calls to */
    unsigned int	acl_get_execution_line_number;	/* # of calls to */
    unsigned int	acl_get_program_script_info;	/* # of calls to */
    unsigned int	acl_get_user_db_edit_permission;	/* # of calls to */
    unsigned int	acl_get_user_execution_privilege;	/* # of calls to */
    unsigned int	acl_get_window_id;	/* # of calls to */
    unsigned int	acl_help_file_names;	/* # of calls to */
    unsigned int	acl_info;		/* # of calls to */
    unsigned int	acl_input_script_arguments;	/* # of calls to */
    unsigned int	acl_interactive;	/* # of calls to */
    unsigned int	acl_launch_server_info;	/* # of calls to */
    unsigned int	acl_log_file;		/* # of calls to */
    unsigned int	acl_open_script_file;	/* # of calls to */
    unsigned int	acl_parse_script_argument_string;	/* # of calls to */
    unsigned int	acl_parse_symbol_name;	/* # of calls to */
    unsigned int	acl_program_script_menu;	/* # of calls to */
    unsigned int	acl_read_intrinsic_symbol_names;	/* # of calls to */
    unsigned int	acl_read_last_error_info;	/* # of calls to */
    unsigned int	acl_read_last_execution_info;	/* # of calls to */
    unsigned int	acl_read_last_run_command_info;	/* # of calls to */
    unsigned int	acl_read_symbol;	/* # of calls to */
    unsigned int	acl_read_symbol_as_string;	/* # of calls to */
    unsigned int	acl_read_symbol_dynamic_info;	/* # of calls to */
    unsigned int	acl_read_symbol_info;	/* # of calls to */
    unsigned int	acl_read_symbol_names;	/* # of calls to */
    unsigned int	acl_register_debugger_func;	/* # of calls to */
    unsigned int	acl_register_host_request_func;	/* # of calls to */
    unsigned int	acl_register_login_func;	/* # of calls to */
    unsigned int	acl_register_terminal_size_func;	/* # of calls to */
    unsigned int	acl_register_user_exit_handler;	/* # of calls to */
    unsigned int	acl_reinit_symbol;	/* # of calls to */
    unsigned int	acl_remove_remote_message_callback;	/* # of calls to */
    unsigned int	acl_script_argument_info;	/* # of calls to */
    unsigned int	acl_script_has_setting;	/* # of calls to */
    unsigned int	acl_script_has_symbol_list;	/* # of calls to */
    unsigned int	acl_script_is_executing;	/* # of calls to */
    unsigned int	acl_search_db_files;	/* # of calls to */
    unsigned int	acl_set_debugger_break_by_command;	/* # of calls to */
    unsigned int	acl_set_debugger_break_by_line;	/* # of calls to */
    unsigned int	acl_set_debugger_mode;	/* # of calls to */
    unsigned int	acl_set_symbol;		/* # of calls to */
    unsigned int	acl_translate_command_string;	/* # of calls to */
    unsigned int	acl_translate_function_string;	/* # of calls to */
    unsigned int	acl_unregister_debugger_func;	/* # of calls to */
    unsigned int	acl_unregister_host_request_func;	/* # of calls to */
    unsigned int	acl_unregister_login_func;	/* # of calls to */
    unsigned int	acl_unregister_terminal_size_func;	/* # of calls to */
    unsigned int	acl_unregister_user_exit_handler;	/* # of calls to */
    unsigned int	acl_value_type_to_string;	/* # of calls to */
    unsigned int	current_ul_acl_installed;	/* # of calls to */
    unsigned int	get_acld_node;		/* # of calls to */
    unsigned int	running_current_ul_acl;	/* # of calls to */
    unsigned int	running_test_ul_acl;	/* # of calls to */
    unsigned int	ul_acl_date;		/* # of calls to */
    unsigned int	ul_acl_tag;		/* # of calls to */
    unsigned int	ul_acl_type;		/* # of calls to */
    unsigned int	ul_acl_version_strings;	/* # of calls to */
    char 	unused[ACL_PARAM_REPLY_FILLER];	/* should maintain total structure size at 8000 bytes */
    } __attribute__((packed)) ACL_ACB_REPLY;

typedef struct ACL_ACB_COMMAND_STATS_REPLY		/* ACNET callback command statistics reply structure */
    {
    short	status;				/* returned status of request */
    ACL_ACB_COMMAND_EXT_STATS	unmapped_command_stats;
    ACL_ACB_COMMAND_EXT_STATS	acl_option_stats;
    ACL_ACB_COMMAND_EXT_STATS	acnet_request_stats;
    ACL_ACB_COMMAND_EXT_STATS	activate_stats;
    ACL_ACB_COMMAND_EXT_STATS	alarm_clear_stats;
    ACL_ACB_COMMAND_EXT_STATS	alarm_info_stats;
    ACL_ACB_COMMAND_EXT_STATS	alarm_limit_stats;
    ACL_ACB_COMMAND_EXT_STATS	alarm_log_stats;
    ACL_ACB_COMMAND_EXT_STATS	alarm_message_stats;
    ACL_ACB_COMMAND_EXT_STATS	alarm_status_stats;
    ACL_ACB_COMMAND_EXT_STATS	assignment_stats;
    ACL_ACB_COMMAND_EXT_STATS	audit_log_stats;
    ACL_ACB_COMMAND_EXT_STATS	beam_switch_stats;
    ACL_ACB_COMMAND_EXT_STATS	blm_data_stats;
    ACL_ACB_COMMAND_EXT_STATS	blm_frame_data_stats;
    ACL_ACB_COMMAND_EXT_STATS	booster_turns_stats;
    ACL_ACB_COMMAND_EXT_STATS	bpm_data_stats;
    ACL_ACB_COMMAND_EXT_STATS	bpm_frame_data_stats;
    ACL_ACB_COMMAND_EXT_STATS	bpm_tbt_trigger_stats;
    ACL_ACB_COMMAND_EXT_STATS	break_stats;
    ACL_ACB_COMMAND_EXT_STATS	bypass_stats;
    ACL_ACB_COMMAND_EXT_STATS	bypassed_alarms_stats;
    ACL_ACB_COMMAND_EXT_STATS	cache_device_db_info_stats;
    ACL_ACB_COMMAND_EXT_STATS	call_proc_stats;
    ACL_ACB_COMMAND_EXT_STATS	camac_stats;
    ACL_ACB_COMMAND_EXT_STATS	cancel_request_stats;
    ACL_ACB_COMMAND_EXT_STATS	case_stats;
    ACL_ACB_COMMAND_EXT_STATS	ch13_message_stats;
    ACL_ACB_COMMAND_EXT_STATS	change_device_stats;
    ACL_ACB_COMMAND_EXT_STATS	check_stats;
    ACL_ACB_COMMAND_EXT_STATS	check_status_stats;
    ACL_ACB_COMMAND_EXT_STATS	clib_info_stats;
    ACL_ACB_COMMAND_EXT_STATS	cnswin_stats;
    ACL_ACB_COMMAND_EXT_STATS	cns_message_stats;
    ACL_ACB_COMMAND_EXT_STATS	comment_char_stats;
    ACL_ACB_COMMAND_EXT_STATS	compare_device_stats;
    ACL_ACB_COMMAND_EXT_STATS	console_info_stats;
    ACL_ACB_COMMAND_EXT_STATS	console_log_stats;
    ACL_ACB_COMMAND_EXT_STATS	continue_stats;
    ACL_ACB_COMMAND_EXT_STATS	copy_device_stats;
    ACL_ACB_COMMAND_EXT_STATS	copy_variable_stats;
    ACL_ACB_COMMAND_EXT_STATS	cpld_log_stats;
    ACL_ACB_COMMAND_EXT_STATS	crate_stats;
    ACL_ACB_COMMAND_EXT_STATS	data_event_stats;
    ACL_ACB_COMMAND_EXT_STATS	data_source_stats;
    ACL_ACB_COMMAND_EXT_STATS	database_info_stats;
    ACL_ACB_COMMAND_EXT_STATS	dbset_stats;
    ACL_ACB_COMMAND_EXT_STATS	deactivate_stats;
    ACL_ACB_COMMAND_EXT_STATS	declare_stats;
    ACL_ACB_COMMAND_EXT_STATS	decrement_device_stats;
    ACL_ACB_COMMAND_EXT_STATS	delete_stats;
    ACL_ACB_COMMAND_EXT_STATS	delete_cache_stats;
    ACL_ACB_COMMAND_EXT_STATS	delta_set_stats;
    ACL_ACB_COMMAND_EXT_STATS	device_arg_info_stats;
    ACL_ACB_COMMAND_EXT_STATS	device_list_stats;
    ACL_ACB_COMMAND_EXT_STATS	digital_control_stats;
    ACL_ACB_COMMAND_EXT_STATS	disable_stats;
    ACL_ACB_COMMAND_EXT_STATS	download_stats;
    ACL_ACB_COMMAND_EXT_STATS	downtime_log_stats;
    ACL_ACB_COMMAND_EXT_STATS	do_while_stats;
    ACL_ACB_COMMAND_EXT_STATS	else_stats;
    ACL_ACB_COMMAND_EXT_STATS	elseif_stats;
    ACL_ACB_COMMAND_EXT_STATS	enable_stats;
    ACL_ACB_COMMAND_EXT_STATS	endcase_stats;
    ACL_ACB_COMMAND_EXT_STATS	endif_stats;
    ACL_ACB_COMMAND_EXT_STATS	endloop_stats;
    ACL_ACB_COMMAND_EXT_STATS	endswitch_stats;
    ACL_ACB_COMMAND_EXT_STATS	endwhile_stats;
    ACL_ACB_COMMAND_EXT_STATS	end_do_while_stats;
    ACL_ACB_COMMAND_EXT_STATS	error_log_stats;
    ACL_ACB_COMMAND_EXT_STATS	error_text_stats;
    ACL_ACB_COMMAND_EXT_STATS	event_info_stats;
    ACL_ACB_COMMAND_EXT_STATS	event_log_stats;
    ACL_ACB_COMMAND_EXT_STATS	exec_seq_file_stats;
    ACL_ACB_COMMAND_EXT_STATS	execute_stats;
    ACL_ACB_COMMAND_EXT_STATS	exit_stats;
    ACL_ACB_COMMAND_EXT_STATS	exitloop_stats;
    ACL_ACB_COMMAND_EXT_STATS	fft_stats;
    ACL_ACB_COMMAND_EXT_STATS	file_info_stats;
    ACL_ACB_COMMAND_EXT_STATS	fill_device_stats;
    ACL_ACB_COMMAND_EXT_STATS	find_in_file_stats;
    ACL_ACB_COMMAND_EXT_STATS	find_program_stats;
    ACL_ACB_COMMAND_EXT_STATS	fit_stats;
    ACL_ACB_COMMAND_EXT_STATS	fly_spec_stats;
    ACL_ACB_COMMAND_EXT_STATS	fshare_info_stats;
    ACL_ACB_COMMAND_EXT_STATS	ftd_stats;
    ACL_ACB_COMMAND_EXT_STATS	ftp_stats;
    ACL_ACB_COMMAND_EXT_STATS	ftp_plot_stats;
    ACL_ACB_COMMAND_EXT_STATS	ftp_read_stats;
    ACL_ACB_COMMAND_EXT_STATS	gas_stats;
    ACL_ACB_COMMAND_EXT_STATS	gosub_stats;
    ACL_ACB_COMMAND_EXT_STATS	goto_stats;
    ACL_ACB_COMMAND_EXT_STATS	gpib_stats;
    ACL_ACB_COMMAND_EXT_STATS	host_request_stats;
    ACL_ACB_COMMAND_EXT_STATS	if_stats;
    ACL_ACB_COMMAND_EXT_STATS	image_draw_stats;
    ACL_ACB_COMMAND_EXT_STATS	import_stats;
    ACL_ACB_COMMAND_EXT_STATS	increment_device_stats;
    ACL_ACB_COMMAND_EXT_STATS	index_page_edit_log_stats;
    ACL_ACB_COMMAND_EXT_STATS	input_stats;
    ACL_ACB_COMMAND_EXT_STATS	label_stats;
    ACL_ACB_COMMAND_EXT_STATS	lattice_data_stats;
    ACL_ACB_COMMAND_EXT_STATS	library_info_stats;
    ACL_ACB_COMMAND_EXT_STATS	list_device_stats;
    ACL_ACB_COMMAND_EXT_STATS	list_strings_stats;
    ACL_ACB_COMMAND_EXT_STATS	lock_stats;
    ACL_ACB_COMMAND_EXT_STATS	log_device_stats;
    ACL_ACB_COMMAND_EXT_STATS	logger_get_stats;
    ACL_ACB_COMMAND_EXT_STATS	logger_get_array_stats;
    ACL_ACB_COMMAND_EXT_STATS	logger_info_stats;
    ACL_ACB_COMMAND_EXT_STATS	loop_stats;
    ACL_ACB_COMMAND_EXT_STATS	loopforeach_stats;
    ACL_ACB_COMMAND_EXT_STATS	madc_stats;
    ACL_ACB_COMMAND_EXT_STATS	mail_stats;
    ACL_ACB_COMMAND_EXT_STATS	mdat_info_stats;
    ACL_ACB_COMMAND_EXT_STATS	measurement_spec_stats;
    ACL_ACB_COMMAND_EXT_STATS	mecca_audit_log_stats;
    ACL_ACB_COMMAND_EXT_STATS	monitor_script_stats;
    ACL_ACB_COMMAND_EXT_STATS	multiwire_stats;
    ACL_ACB_COMMAND_EXT_STATS	negative_stats;
    ACL_ACB_COMMAND_EXT_STATS	node_stats;
    ACL_ACB_COMMAND_EXT_STATS	node_audit_log_stats;
    ACL_ACB_COMMAND_EXT_STATS	node_info_stats;
    ACL_ACB_COMMAND_EXT_STATS	nominal_mask_stats;
    ACL_ACB_COMMAND_EXT_STATS	oac_audit_log_stats;
    ACL_ACB_COMMAND_EXT_STATS	off_stats;
    ACL_ACB_COMMAND_EXT_STATS	off_list_stats;
    ACL_ACB_COMMAND_EXT_STATS	on_stats;
    ACL_ACB_COMMAND_EXT_STATS	on_error_stats;
    ACL_ACB_COMMAND_EXT_STATS	on_event_stats;
    ACL_ACB_COMMAND_EXT_STATS	on_list_stats;
    ACL_ACB_COMMAND_EXT_STATS	output_stats;
    ACL_ACB_COMMAND_EXT_STATS	output_delimiter_stats;
    ACL_ACB_COMMAND_EXT_STATS	output_value_stats;
    ACL_ACB_COMMAND_EXT_STATS	parse_else_stats;
    ACL_ACB_COMMAND_EXT_STATS	parse_elseif_stats;
    ACL_ACB_COMMAND_EXT_STATS	parse_endif_stats;
    ACL_ACB_COMMAND_EXT_STATS	parse_if_stats;
    ACL_ACB_COMMAND_EXT_STATS	path_stats;
    ACL_ACB_COMMAND_EXT_STATS	phone_dir_stats;
    ACL_ACB_COMMAND_EXT_STATS	pid_loop_stats;
    ACL_ACB_COMMAND_EXT_STATS	polarity_stats;
    ACL_ACB_COMMAND_EXT_STATS	positive_stats;
    ACL_ACB_COMMAND_EXT_STATS	print_stats;
    ACL_ACB_COMMAND_EXT_STATS	process_file_stats;
    ACL_ACB_COMMAND_EXT_STATS	program_info_stats;
    ACL_ACB_COMMAND_EXT_STATS	program_log_stats;
    ACL_ACB_COMMAND_EXT_STATS	program_status_stats;
    ACL_ACB_COMMAND_EXT_STATS	ramp_device_stats;
    ACL_ACB_COMMAND_EXT_STATS	read_device_stats;
    ACL_ACB_COMMAND_EXT_STATS	read_dir_stats;
    ACL_ACB_COMMAND_EXT_STATS	read_field_stats;
    ACL_ACB_COMMAND_EXT_STATS	read_file_stats;
    ACL_ACB_COMMAND_EXT_STATS	read_list_stats;
    ACL_ACB_COMMAND_EXT_STATS	read_struct_stats;
    ACL_ACB_COMMAND_EXT_STATS	reboot_stats;
    ACL_ACB_COMMAND_EXT_STATS	redimension_stats;
    ACL_ACB_COMMAND_EXT_STATS	request_device_stats;
    ACL_ACB_COMMAND_EXT_STATS	reset_device_stats;
    ACL_ACB_COMMAND_EXT_STATS	reset_list_stats;
    ACL_ACB_COMMAND_EXT_STATS	resize_stats;
    ACL_ACB_COMMAND_EXT_STATS	restart_stats;
    ACL_ACB_COMMAND_EXT_STATS	restore_device_stats;
    ACL_ACB_COMMAND_EXT_STATS	retry_stats;
    ACL_ACB_COMMAND_EXT_STATS	return_stats;
    ACL_ACB_COMMAND_EXT_STATS	run_stats;
    ACL_ACB_COMMAND_EXT_STATS	save_file_stats;
    ACL_ACB_COMMAND_EXT_STATS	save_screen_image_stats;
    ACL_ACB_COMMAND_EXT_STATS	saverestore_get_stats;
    ACL_ACB_COMMAND_EXT_STATS	scan_stats;
    ACL_ACB_COMMAND_EXT_STATS	scope_stats;
    ACL_ACB_COMMAND_EXT_STATS	sda_config_stats;
    ACL_ACB_COMMAND_EXT_STATS	sda_dir_stats;
    ACL_ACB_COMMAND_EXT_STATS	sda_get_stats;
    ACL_ACB_COMMAND_EXT_STATS	search_device_stats;
    ACL_ACB_COMMAND_EXT_STATS	set_device_stats;
    ACL_ACB_COMMAND_EXT_STATS	set_field_stats;
    ACL_ACB_COMMAND_EXT_STATS	set_list_stats;
    ACL_ACB_COMMAND_EXT_STATS	set_struct_stats;
    ACL_ACB_COMMAND_EXT_STATS	setting_history_stats;
    ACL_ACB_COMMAND_EXT_STATS	setting_log_stats;
    ACL_ACB_COMMAND_EXT_STATS	settings_stats;
    ACL_ACB_COMMAND_EXT_STATS	shared_log_write_stats;
    ACL_ACB_COMMAND_EXT_STATS	shot_log_stats;
    ACL_ACB_COMMAND_EXT_STATS	show_device_stats;
    ACL_ACB_COMMAND_EXT_STATS	slot_stats;
    ACL_ACB_COMMAND_EXT_STATS	snap_read_stats;
    ACL_ACB_COMMAND_EXT_STATS	snapshot_plot_stats;
    ACL_ACB_COMMAND_EXT_STATS	sort_stats;
    ACL_ACB_COMMAND_EXT_STATS	sql_stats;
    ACL_ACB_COMMAND_EXT_STATS	sr_dir_stats;
    ACL_ACB_COMMAND_EXT_STATS	sr_get_stats;
    ACL_ACB_COMMAND_EXT_STATS	sr_set_stats;
    ACL_ACB_COMMAND_EXT_STATS	state_log_stats;
    ACL_ACB_COMMAND_EXT_STATS	stats_stats;
    ACL_ACB_COMMAND_EXT_STATS	status_list_stats;
    ACL_ACB_COMMAND_EXT_STATS	step_motor_stats;
    ACL_ACB_COMMAND_EXT_STATS	str_case_stats;
    ACL_ACB_COMMAND_EXT_STATS	str_cat_stats;
    ACL_ACB_COMMAND_EXT_STATS	str_compare_stats;
    ACL_ACB_COMMAND_EXT_STATS	str_convert_stats;
    ACL_ACB_COMMAND_EXT_STATS	str_copy_stats;
    ACL_ACB_COMMAND_EXT_STATS	str_find_stats;
    ACL_ACB_COMMAND_EXT_STATS	str_format_stats;
    ACL_ACB_COMMAND_EXT_STATS	str_length_stats;
    ACL_ACB_COMMAND_EXT_STATS	str_replace_stats;
    ACL_ACB_COMMAND_EXT_STATS	str_split_stats;
    ACL_ACB_COMMAND_EXT_STATS	str_tail_stats;
    ACL_ACB_COMMAND_EXT_STATS	str_trim_stats;
    ACL_ACB_COMMAND_EXT_STATS	string_arg_info_stats;
    ACL_ACB_COMMAND_EXT_STATS	structure_info_stats;
    ACL_ACB_COMMAND_EXT_STATS	substring_stats;
    ACL_ACB_COMMAND_EXT_STATS	swap_stats;
    ACL_ACB_COMMAND_EXT_STATS	switch_stats;
    ACL_ACB_COMMAND_EXT_STATS	switch_info_stats;
    ACL_ACB_COMMAND_EXT_STATS	system_stats;
    ACL_ACB_COMMAND_EXT_STATS	table_device_stats;
    ACL_ACB_COMMAND_EXT_STATS	tcp_request_stats;
    ACL_ACB_COMMAND_EXT_STATS	timeout_stats;
    ACL_ACB_COMMAND_EXT_STATS	timer_stats;
    ACL_ACB_COMMAND_EXT_STATS	timer_070_stats;
    ACL_ACB_COMMAND_EXT_STATS	timer_event_stats;
    ACL_ACB_COMMAND_EXT_STATS	tlg_control_stats;
    ACL_ACB_COMMAND_EXT_STATS	tlg_info_stats;
    ACL_ACB_COMMAND_EXT_STATS	tlg_load_stats;
    ACL_ACB_COMMAND_EXT_STATS	toggle_device_stats;
    ACL_ACB_COMMAND_EXT_STATS	trigger_stats;
    ACL_ACB_COMMAND_EXT_STATS	turn_device_stats;
    ACL_ACB_COMMAND_EXT_STATS	unescape_stats;
    ACL_ACB_COMMAND_EXT_STATS	unlock_stats;
    ACL_ACB_COMMAND_EXT_STATS	url_display_stats;
    ACL_ACB_COMMAND_EXT_STATS	user_info_stats;
    ACL_ACB_COMMAND_EXT_STATS	version_stats;
    ACL_ACB_COMMAND_EXT_STATS	wait_stats;
    ACL_ACB_COMMAND_EXT_STATS	web_log_stats;
    ACL_ACB_COMMAND_EXT_STATS	while_stats;
    ACL_ACB_COMMAND_EXT_STATS	write_file_stats;
    } __attribute__((packed)) ACL_ACB_COMMAND_STATS_REPLY;

typedef struct ACL_ACB_FUNCTION_STATS_REPLY		/* ACNET callback intrinsic function statistics reply structure */
    {
    short	status;				/* returned status of request */
    ACL_ACB_FUNCTION_STATS	unmapped_function_stats;
    ACL_ACB_FUNCTION_STATS	fifteenHzCount_stats;
    ACL_ACB_FUNCTION_STATS	abortLoopIsUp_stats;
    ACL_ACB_FUNCTION_STATS	abortOperatorSave_stats;
    ACL_ACB_FUNCTION_STATS	abortSystemReset_stats;
    ACL_ACB_FUNCTION_STATS	abs_stats;
    ACL_ACB_FUNCTION_STATS	acnetPing_stats;
    ACL_ACB_FUNCTION_STATS	acos_stats;
    ACL_ACB_FUNCTION_STATS	acosd_stats;
    ACL_ACB_FUNCTION_STATS	acosh_stats;
    ACL_ACB_FUNCTION_STATS	acsysSoftwareVersion_stats;
    ACL_ACB_FUNCTION_STATS	alarmAcknowledgeMask_stats;
    ACL_ACB_FUNCTION_STATS	alarmBlockFieldValue_stats;
    ACL_ACB_FUNCTION_STATS	alarmIsBypassed_stats;
    ACL_ACB_FUNCTION_STATS	alarmIsBypassedDb_stats;
    ACL_ACB_FUNCTION_STATS	alarmIsSnoozed_stats;
    ACL_ACB_FUNCTION_STATS	alarmRemainingSnoozeTime_stats;
    ACL_ACB_FUNCTION_STATS	alarmStatus_stats;
    ACL_ACB_FUNCTION_STATS	allLoggerNodes_stats;
    ACL_ACB_FUNCTION_STATS	analogAlarmHandlerInfo_stats;
    ACL_ACB_FUNCTION_STATS	analogAlarmLimits_stats;
    ACL_ACB_FUNCTION_STATS	analogAlarmPriority_stats;
    ACL_ACB_FUNCTION_STATS	analogAlarmText_stats;
    ACL_ACB_FUNCTION_STATS	analogAlarmUrl_stats;
    ACL_ACB_FUNCTION_STATS	and_stats;
    ACL_ACB_FUNCTION_STATS	appdsTableInfo_stats;
    ACL_ACB_FUNCTION_STATS	arrayAppend_stats;
    ACL_ACB_FUNCTION_STATS	arrayDelete_stats;
    ACL_ACB_FUNCTION_STATS	arrayDeleteDuplicates_stats;
    ACL_ACB_FUNCTION_STATS	arrayDeleteValue_stats;
    ACL_ACB_FUNCTION_STATS	arrayFill_stats;
    ACL_ACB_FUNCTION_STATS	arrayInsert_stats;
    ACL_ACB_FUNCTION_STATS	arrayInvert_stats;
    ACL_ACB_FUNCTION_STATS	arrayPrepend_stats;
    ACL_ACB_FUNCTION_STATS	arraySort_stats;
    ACL_ACB_FUNCTION_STATS	arrayValueExists_stats;
    ACL_ACB_FUNCTION_STATS	ascii_stats;
    ACL_ACB_FUNCTION_STATS	asin_stats;
    ACL_ACB_FUNCTION_STATS	asind_stats;
    ACL_ACB_FUNCTION_STATS	asinh_stats;
    ACL_ACB_FUNCTION_STATS	atan_stats;
    ACL_ACB_FUNCTION_STATS	atan2_stats;
    ACL_ACB_FUNCTION_STATS	atan2d_stats;
    ACL_ACB_FUNCTION_STATS	atand_stats;
    ACL_ACB_FUNCTION_STATS	atanh_stats;
    ACL_ACB_FUNCTION_STATS	availableConsolePaSlots_stats;
    ACL_ACB_FUNCTION_STATS	availableConsoleSaSlots_stats;
    ACL_ACB_FUNCTION_STATS	bcdToDecimal_stats;
    ACL_ACB_FUNCTION_STATS	bcdToString_stats;
    ACL_ACB_FUNCTION_STATS	beamPermitIsUp_stats;
    ACL_ACB_FUNCTION_STATS	beamSwitchIsOn_stats;
    ACL_ACB_FUNCTION_STATS	binary_stats;
    ACL_ACB_FUNCTION_STATS	binaryToFloat_stats;
    ACL_ACB_FUNCTION_STATS	bit_stats;
    ACL_ACB_FUNCTION_STATS	bitc_stats;
    ACL_ACB_FUNCTION_STATS	bitComplement_stats;
    ACL_ACB_FUNCTION_STATS	bitCount_stats;
    ACL_ACB_FUNCTION_STATS	bitDataText_stats;
    ACL_ACB_FUNCTION_STATS	bitField_stats;
    ACL_ACB_FUNCTION_STATS	bitText_stats;
    ACL_ACB_FUNCTION_STATS	bitTextAll_stats;
    ACL_ACB_FUNCTION_STATS	blmNameToIndex_stats;
    ACL_ACB_FUNCTION_STATS	blockSettingLogging_stats;
    ACL_ACB_FUNCTION_STATS	bpmCrateChannelToName_stats;
    ACL_ACB_FUNCTION_STATS	bpmNameToIndex_stats;
    ACL_ACB_FUNCTION_STATS	bpmStatusToString_stats;
    ACL_ACB_FUNCTION_STATS	byteCompare_stats;
    ACL_ACB_FUNCTION_STATS	byteCopy_stats;
    ACL_ACB_FUNCTION_STATS	byteSizeof_stats;
    ACL_ACB_FUNCTION_STATS	byteSizeofVariable_stats;
    ACL_ACB_FUNCTION_STATS	cacheDeviceInfo_stats;
    ACL_ACB_FUNCTION_STATS	cacheNodeInfo_stats;
    ACL_ACB_FUNCTION_STATS	calculateStepMotorSteps_stats;
    ACL_ACB_FUNCTION_STATS	camacModuleId_stats;
    ACL_ACB_FUNCTION_STATS	capitalize_stats;
    ACL_ACB_FUNCTION_STATS	case_stats;
    ACL_ACB_FUNCTION_STATS	cast_stats;
    ACL_ACB_FUNCTION_STATS	castDouble_stats;
    ACL_ACB_FUNCTION_STATS	castFloat_stats;
    ACL_ACB_FUNCTION_STATS	castInteger_stats;
    ACL_ACB_FUNCTION_STATS	castLogical_stats;
    ACL_ACB_FUNCTION_STATS	castLongLong_stats;
    ACL_ACB_FUNCTION_STATS	castUnsignedInt_stats;
    ACL_ACB_FUNCTION_STATS	castUnsignedLongLong_stats;
    ACL_ACB_FUNCTION_STATS	ceil_stats;
    ACL_ACB_FUNCTION_STATS	center_stats;
    ACL_ACB_FUNCTION_STATS	changeDirectory_stats;
    ACL_ACB_FUNCTION_STATS	char_stats;
    ACL_ACB_FUNCTION_STATS	characterCount_stats;
    ACL_ACB_FUNCTION_STATS	characterType_stats;
    ACL_ACB_FUNCTION_STATS	checkDeviceFile_stats;
    ACL_ACB_FUNCTION_STATS	checkOperatorSaveStatus_stats;
    ACL_ACB_FUNCTION_STATS	chiSquare_stats;
    ACL_ACB_FUNCTION_STATS	circularShift_stats;
    ACL_ACB_FUNCTION_STATS	clearBit_stats;
    ACL_ACB_FUNCTION_STATS	clearCommandStats_stats;
    ACL_ACB_FUNCTION_STATS	clearEventOccurred_stats;
    ACL_ACB_FUNCTION_STATS	clearFunctionStats_stats;
    ACL_ACB_FUNCTION_STATS	clearGlobalErrorString_stats;
    ACL_ACB_FUNCTION_STATS	clibMemoryInfo_stats;
    ACL_ACB_FUNCTION_STATS	clockEventIsEnabled_stats;
    ACL_ACB_FUNCTION_STATS	clockEventTriggerIsEnabled_stats;
    ACL_ACB_FUNCTION_STATS	closeFile_stats;
    ACL_ACB_FUNCTION_STATS	closeFilesharingFile_stats;
    ACL_ACB_FUNCTION_STATS	commandStats_stats;
    ACL_ACB_FUNCTION_STATS	compareWithTolerance_stats;
    ACL_ACB_FUNCTION_STATS	concatenateStringArguments_stats;
    ACL_ACB_FUNCTION_STATS	condif_stats;
    ACL_ACB_FUNCTION_STATS	consoleClasses_stats;
    ACL_ACB_FUNCTION_STATS	consoleClassMaskToString_stats;
    ACL_ACB_FUNCTION_STATS	consoleDeleteLogicalName_stats;
    ACL_ACB_FUNCTION_STATS	consoleDisplayName_stats;
    ACL_ACB_FUNCTION_STATS	consoleExists_stats;
    ACL_ACB_FUNCTION_STATS	consoleGetenv_stats;
    ACL_ACB_FUNCTION_STATS	consoleGetLogicalName_stats;
    ACL_ACB_FUNCTION_STATS	consoleIsMemberOfClass_stats;
    ACL_ACB_FUNCTION_STATS	consoleIsUp_stats;
    ACL_ACB_FUNCTION_STATS	consoleLocation_stats;
    ACL_ACB_FUNCTION_STATS	consolePhoneNumber_stats;
    ACL_ACB_FUNCTION_STATS	consoleProcessName_stats;
    ACL_ACB_FUNCTION_STATS	consoleSetLogicalName_stats;
    ACL_ACB_FUNCTION_STATS	consoleSlotExists_stats;
    ACL_ACB_FUNCTION_STATS	consoleSlotToWindow_stats;
    ACL_ACB_FUNCTION_STATS	consoleTaskName_stats;
    ACL_ACB_FUNCTION_STATS	consoleToInstance_stats;
    ACL_ACB_FUNCTION_STATS	consoleToNode_stats;
    ACL_ACB_FUNCTION_STATS	consoleUserIdToName_stats;
    ACL_ACB_FUNCTION_STATS	consoleUserName_stats;
    ACL_ACB_FUNCTION_STATS	consoleUserNameToFullName_stats;
    ACL_ACB_FUNCTION_STATS	consoleUserNameToId_stats;
    ACL_ACB_FUNCTION_STATS	consoleWindowToSlot_stats;
    ACL_ACB_FUNCTION_STATS	controlledDevices_stats;
    ACL_ACB_FUNCTION_STATS	controllingDevice_stats;
    ACL_ACB_FUNCTION_STATS	convertIpAddress_stats;
    ACL_ACB_FUNCTION_STATS	convertSeconds_stats;
    ACL_ACB_FUNCTION_STATS	convertTypeToString_stats;
    ACL_ACB_FUNCTION_STATS	coresidentNodes_stats;
    ACL_ACB_FUNCTION_STATS	cos_stats;
    ACL_ACB_FUNCTION_STATS	cosd_stats;
    ACL_ACB_FUNCTION_STATS	cosecant_stats;
    ACL_ACB_FUNCTION_STATS	cosh_stats;
    ACL_ACB_FUNCTION_STATS	cotan_stats;
    ACL_ACB_FUNCTION_STATS	cotand_stats;
    ACL_ACB_FUNCTION_STATS	cpuTime_stats;
    ACL_ACB_FUNCTION_STATS	createDirectory_stats;
    ACL_ACB_FUNCTION_STATS	createSymbolicLink_stats;
    ACL_ACB_FUNCTION_STATS	currentAnalogAlarmText_stats;
    ACL_ACB_FUNCTION_STATS	currentDate_stats;
    ACL_ACB_FUNCTION_STATS	currentDirectory_stats;
    ACL_ACB_FUNCTION_STATS	currentSdaFile_stats;
    ACL_ACB_FUNCTION_STATS	currentTime_stats;
    ACL_ACB_FUNCTION_STATS	currentTimeInClinks_stats;
    ACL_ACB_FUNCTION_STATS	dateIsDst_stats;
    ACL_ACB_FUNCTION_STATS	dateToDayOfWeek_stats;
    ACL_ACB_FUNCTION_STATS	dateToMilliseconds_stats;
    ACL_ACB_FUNCTION_STATS	dateToSdaFile_stats;
    ACL_ACB_FUNCTION_STATS	dateToString_stats;
    ACL_ACB_FUNCTION_STATS	decimal_stats;
    ACL_ACB_FUNCTION_STATS	defaultAcnetNode_stats;
    ACL_ACB_FUNCTION_STATS	delenv_stats;
    ACL_ACB_FUNCTION_STATS	deleteLogicalName_stats;
    ACL_ACB_FUNCTION_STATS	delimitedStringLength_stats;
    ACL_ACB_FUNCTION_STATS	determineDstDates_stats;
    ACL_ACB_FUNCTION_STATS	device_stats;
    ACL_ACB_FUNCTION_STATS	deviceAddressingMode_stats;
    ACL_ACB_FUNCTION_STATS	deviceAlarmGroupInfo_stats;
    ACL_ACB_FUNCTION_STATS	deviceAlarmList_stats;
    ACL_ACB_FUNCTION_STATS	deviceArea_stats;
    ACL_ACB_FUNCTION_STATS	deviceArrayIndex_stats;
    ACL_ACB_FUNCTION_STATS	deviceAtomicLength_stats;
    ACL_ACB_FUNCTION_STATS	deviceBitField_stats;
    ACL_ACB_FUNCTION_STATS	deviceCalculatedValue_stats;
    ACL_ACB_FUNCTION_STATS	deviceCalculatedValueText_stats;
    ACL_ACB_FUNCTION_STATS	deviceCalculateExtrema_stats;
    ACL_ACB_FUNCTION_STATS	deviceCalculateRawValue_stats;
    ACL_ACB_FUNCTION_STATS	deviceCanAbort_stats;
    ACL_ACB_FUNCTION_STATS	deviceControlAttributes_stats;
    ACL_ACB_FUNCTION_STATS	deviceControlledDevices_stats;
    ACL_ACB_FUNCTION_STATS	deviceCreator_stats;
    ACL_ACB_FUNCTION_STATS	deviceCurrentAlarmText_stats;
    ACL_ACB_FUNCTION_STATS	deviceDefaultDataEvent_stats;
    ACL_ACB_FUNCTION_STATS	deviceDefaultFtd_stats;
    ACL_ACB_FUNCTION_STATS	deviceDefaultLength_stats;
    ACL_ACB_FUNCTION_STATS	deviceDepartment_stats;
    ACL_ACB_FUNCTION_STATS	deviceDescriptionSearch_stats;
    ACL_ACB_FUNCTION_STATS	deviceDigitalStatus_stats;
    ACL_ACB_FUNCTION_STATS	deviceDisplayInfo_stats;
    ACL_ACB_FUNCTION_STATS	deviceDownloadProperties_stats;
    ACL_ACB_FUNCTION_STATS	deviceEmc_stats;
    ACL_ACB_FUNCTION_STATS	deviceExpression_stats;
    ACL_ACB_FUNCTION_STATS	deviceExtrema_stats;
    ACL_ACB_FUNCTION_STATS	deviceFamilyMembers_stats;
    ACL_ACB_FUNCTION_STATS	deviceForeignDeviceInfo_stats;
    ACL_ACB_FUNCTION_STATS	deviceFullDescriptionSearch_stats;
    ACL_ACB_FUNCTION_STATS	deviceFullNameSearch_stats;
    ACL_ACB_FUNCTION_STATS	deviceFullNameToName_stats;
    ACL_ACB_FUNCTION_STATS	deviceInCompositeDevices_stats;
    ACL_ACB_FUNCTION_STATS	deviceIndex_stats;
    ACL_ACB_FUNCTION_STATS	deviceInFamilies_stats;
    ACL_ACB_FUNCTION_STATS	deviceIsAlarmConsolidator_stats;
    ACL_ACB_FUNCTION_STATS	deviceIsDownloaded_stats;
    ACL_ACB_FUNCTION_STATS	deviceIsInAlarmGroup_stats;
    ACL_ACB_FUNCTION_STATS	deviceIsSettableByClass_stats;
    ACL_ACB_FUNCTION_STATS	deviceIsStepMotor_stats;
    ACL_ACB_FUNCTION_STATS	deviceIsTimer_stats;
    ACL_ACB_FUNCTION_STATS	deviceIsTimerRef_stats;
    ACL_ACB_FUNCTION_STATS	deviceLastModifiedDate_stats;
    ACL_ACB_FUNCTION_STATS	deviceLastModifier_stats;
    ACL_ACB_FUNCTION_STATS	deviceListing_stats;
    ACL_ACB_FUNCTION_STATS	deviceListToDevices_stats;
    ACL_ACB_FUNCTION_STATS	deviceLocation_stats;
    ACL_ACB_FUNCTION_STATS	deviceLoggerDataEvents_stats;
    ACL_ACB_FUNCTION_STATS	deviceMachine_stats;
    ACL_ACB_FUNCTION_STATS	deviceMaintainer_stats;
    ACL_ACB_FUNCTION_STATS	deviceMaximumLength_stats;
    ACL_ACB_FUNCTION_STATS	deviceNameExists_stats;
    ACL_ACB_FUNCTION_STATS	deviceNameSearch_stats;
    ACL_ACB_FUNCTION_STATS	deviceNameToFullName_stats;
    ACL_ACB_FUNCTION_STATS	deviceNode_stats;
    ACL_ACB_FUNCTION_STATS	deviceNodeSearch_stats;
    ACL_ACB_FUNCTION_STATS	deviceNodeType_stats;
    ACL_ACB_FUNCTION_STATS	deviceOffset_stats;
    ACL_ACB_FUNCTION_STATS	deviceParameterPageMapping_stats;
    ACL_ACB_FUNCTION_STATS	devicePrimaryToScaled_stats;
    ACL_ACB_FUNCTION_STATS	devicePrimaryToScaledCustom_stats;
    ACL_ACB_FUNCTION_STATS	deviceProperties_stats;
    ACL_ACB_FUNCTION_STATS	deviceProperty_stats;
    ACL_ACB_FUNCTION_STATS	devicePropertyLengths_stats;
    ACL_ACB_FUNCTION_STATS	deviceProtectionMask_stats;
    ACL_ACB_FUNCTION_STATS	deviceRawDataType_stats;
    ACL_ACB_FUNCTION_STATS	deviceRawToControlText_stats;
    ACL_ACB_FUNCTION_STATS	deviceRawToEnumText_stats;
    ACL_ACB_FUNCTION_STATS	deviceRawToHistoricScaled_stats;
    ACL_ACB_FUNCTION_STATS	deviceRawToScaled_stats;
    ACL_ACB_FUNCTION_STATS	deviceRawToScaledCustom_stats;
    ACL_ACB_FUNCTION_STATS	deviceRawToStatusText_stats;
    ACL_ACB_FUNCTION_STATS	deviceRawToStatusValue_stats;
    ACL_ACB_FUNCTION_STATS	deviceRawToValueText_stats;
    ACL_ACB_FUNCTION_STATS	deviceRawToValueTextCustom_stats;
    ACL_ACB_FUNCTION_STATS	deviceReadSetExtScaling_stats;
    ACL_ACB_FUNCTION_STATS	deviceReadSetHistoricScaling_stats;
    ACL_ACB_FUNCTION_STATS	deviceReadSetScaling_stats;
    ACL_ACB_FUNCTION_STATS	deviceSaveInfo_stats;
    ACL_ACB_FUNCTION_STATS	deviceSaveList_stats;
    ACL_ACB_FUNCTION_STATS	deviceScaledToPrimary_stats;
    ACL_ACB_FUNCTION_STATS	deviceScaledToRaw_stats;
    ACL_ACB_FUNCTION_STATS	deviceScaledToRawCustom_stats;
    ACL_ACB_FUNCTION_STATS	deviceScalingLength_stats;
    ACL_ACB_FUNCTION_STATS	deviceSnapManagerFiles_stats;
    ACL_ACB_FUNCTION_STATS	deviceSpec_stats;
    ACL_ACB_FUNCTION_STATS	deviceSpecExtractValues_stats;
    ACL_ACB_FUNCTION_STATS	deviceSpecToString_stats;
    ACL_ACB_FUNCTION_STATS	deviceSsdn_stats;
    ACL_ACB_FUNCTION_STATS	deviceSsdnSearch_stats;
    ACL_ACB_FUNCTION_STATS	deviceSsdr_stats;
    ACL_ACB_FUNCTION_STATS	deviceState_stats;
    ACL_ACB_FUNCTION_STATS	deviceStatusScaling_stats;
    ACL_ACB_FUNCTION_STATS	deviceStatusScalingAll_stats;
    ACL_ACB_FUNCTION_STATS	deviceStructureName_stats;
    ACL_ACB_FUNCTION_STATS	deviceType_stats;
    ACL_ACB_FUNCTION_STATS	deviceTypeMismatch_stats;
    ACL_ACB_FUNCTION_STATS	deviceValue_stats;
    ACL_ACB_FUNCTION_STATS	deviceValueText_stats;
    ACL_ACB_FUNCTION_STATS	deviceVirtualMachine_stats;
    ACL_ACB_FUNCTION_STATS	digitalAlarmHandlerInfo_stats;
    ACL_ACB_FUNCTION_STATS	digitalAlarmNominalMask_stats;
    ACL_ACB_FUNCTION_STATS	digitalAlarmText_stats;
    ACL_ACB_FUNCTION_STATS	digitalAlarmTextAll_stats;
    ACL_ACB_FUNCTION_STATS	digitalControlInfo_stats;
    ACL_ACB_FUNCTION_STATS	digitalControlInfoAll_stats;
    ACL_ACB_FUNCTION_STATS	dipoleFourBumpInfo_stats;
    ACL_ACB_FUNCTION_STATS	dipoleThreeBumpInfo_stats;
    ACL_ACB_FUNCTION_STATS	downloadDevices_stats;
    ACL_ACB_FUNCTION_STATS	duplicateSsdnProperties_stats;
    ACL_ACB_FUNCTION_STATS	enableSettingLogging_stats;
    ACL_ACB_FUNCTION_STATS	error_stats;
    ACL_ACB_FUNCTION_STATS	errorToFacilityError_stats;
    ACL_ACB_FUNCTION_STATS	escapeQuotesInSqlString_stats;
    ACL_ACB_FUNCTION_STATS	escapeString_stats;
    ACL_ACB_FUNCTION_STATS	eventCount_stats;
    ACL_ACB_FUNCTION_STATS	eventDate_stats;
    ACL_ACB_FUNCTION_STATS	eventInfo_stats;
    ACL_ACB_FUNCTION_STATS	eventOccurred_stats;
    ACL_ACB_FUNCTION_STATS	eventOccurrenceHistory_stats;
    ACL_ACB_FUNCTION_STATS	eventSupercycleHistory_stats;
    ACL_ACB_FUNCTION_STATS	eventTimelineInfo_stats;
    ACL_ACB_FUNCTION_STATS	executeProgram_stats;
    ACL_ACB_FUNCTION_STATS	exists_stats;
    ACL_ACB_FUNCTION_STATS	exp_stats;
    ACL_ACB_FUNCTION_STATS	expandFileName_stats;
    ACL_ACB_FUNCTION_STATS	extractAlarmBlockFieldValue_stats;
    ACL_ACB_FUNCTION_STATS	extractAlarmHeaderParam_stats;
    ACL_ACB_FUNCTION_STATS	feClassInfo_stats;
    ACL_ACB_FUNCTION_STATS	feSsdnClassLocation_stats;
    ACL_ACB_FUNCTION_STATS	fileCopy_stats;
    ACL_ACB_FUNCTION_STATS	fileDate_stats;
    ACL_ACB_FUNCTION_STATS	fileDelete_stats;
    ACL_ACB_FUNCTION_STATS	fileDevices_stats;
    ACL_ACB_FUNCTION_STATS	fileDirectory_stats;
    ACL_ACB_FUNCTION_STATS	fileExists_stats;
    ACL_ACB_FUNCTION_STATS	fileFlush_stats;
    ACL_ACB_FUNCTION_STATS	fileGetPosition_stats;
    ACL_ACB_FUNCTION_STATS	fileGetString_stats;
    ACL_ACB_FUNCTION_STATS	fileHasPermission_stats;
    ACL_ACB_FUNCTION_STATS	fileLength_stats;
    ACL_ACB_FUNCTION_STATS	fileNumLines_stats;
    ACL_ACB_FUNCTION_STATS	fileOwner_stats;
    ACL_ACB_FUNCTION_STATS	fileOwnerId_stats;
    ACL_ACB_FUNCTION_STATS	filePermissions_stats;
    ACL_ACB_FUNCTION_STATS	filePrintf_stats;
    ACL_ACB_FUNCTION_STATS	fileRead_stats;
    ACL_ACB_FUNCTION_STATS	fileRename_stats;
    ACL_ACB_FUNCTION_STATS	fileRewind_stats;
    ACL_ACB_FUNCTION_STATS	fileSetPosition_stats;
    ACL_ACB_FUNCTION_STATS	fileWrite_stats;
    ACL_ACB_FUNCTION_STATS	findAlarmsDaemon_stats;
    ACL_ACB_FUNCTION_STATS	findChar_stats;
    ACL_ACB_FUNCTION_STATS	findConsoleWindowTitle_stats;
    ACL_ACB_FUNCTION_STATS	findFileInPath_stats;
    ACL_ACB_FUNCTION_STATS	findInFile_stats;
    ACL_ACB_FUNCTION_STATS	findNotChar_stats;
    ACL_ACB_FUNCTION_STATS	findProcesses_stats;
    ACL_ACB_FUNCTION_STATS	findString_stats;
    ACL_ACB_FUNCTION_STATS	findTagString_stats;
    ACL_ACB_FUNCTION_STATS	firstCharPos_stats;
    ACL_ACB_FUNCTION_STATS	floatToBinary_stats;
    ACL_ACB_FUNCTION_STATS	floor_stats;
    ACL_ACB_FUNCTION_STATS	flushLogFile_stats;
    ACL_ACB_FUNCTION_STATS	flushOutputFile_stats;
    ACL_ACB_FUNCTION_STATS	fmod_stats;
    ACL_ACB_FUNCTION_STATS	formatDateString_stats;
    ACL_ACB_FUNCTION_STATS	fract_stats;
    ACL_ACB_FUNCTION_STATS	frontendSoftwareVersion_stats;
    ACL_ACB_FUNCTION_STATS	fscanf_stats;
    ACL_ACB_FUNCTION_STATS	fshareFileInfo_stats;
    ACL_ACB_FUNCTION_STATS	ftpDefaultFreq_stats;
    ACL_ACB_FUNCTION_STATS	ftpMaxFreq_stats;
    ACL_ACB_FUNCTION_STATS	fullName_stats;
    ACL_ACB_FUNCTION_STATS	fullNameToConsoleUserName_stats;
    ACL_ACB_FUNCTION_STATS	fullText_stats;
    ACL_ACB_FUNCTION_STATS	functionStats_stats;
    ACL_ACB_FUNCTION_STATS	genericConsoleSearch_stats;
    ACL_ACB_FUNCTION_STATS	genericDeviceSearch_stats;
    ACL_ACB_FUNCTION_STATS	genericErrorSearch_stats;
    ACL_ACB_FUNCTION_STATS	genericEventSearch_stats;
    ACL_ACB_FUNCTION_STATS	genericMdatSearch_stats;
    ACL_ACB_FUNCTION_STATS	genericNodeSearch_stats;
    ACL_ACB_FUNCTION_STATS	genericProgramSearch_stats;
    ACL_ACB_FUNCTION_STATS	genericStructInfo_stats;
    ACL_ACB_FUNCTION_STATS	genericSwitchSearch_stats;
    ACL_ACB_FUNCTION_STATS	genericUserSearch_stats;
    ACL_ACB_FUNCTION_STATS	getDeviceMaintainers_stats;
    ACL_ACB_FUNCTION_STATS	getenv_stats;
    ACL_ACB_FUNCTION_STATS	getFirstChar_stats;
    ACL_ACB_FUNCTION_STATS	getInputValue_stats;
    ACL_ACB_FUNCTION_STATS	getLastChar_stats;
    ACL_ACB_FUNCTION_STATS	getLogicalName_stats;
    ACL_ACB_FUNCTION_STATS	getMeccaKeepers_stats;
    ACL_ACB_FUNCTION_STATS	getNodeKeepers_stats;
    ACL_ACB_FUNCTION_STATS	getSpecialDate_stats;
    ACL_ACB_FUNCTION_STATS	getTaggedValue_stats;
    ACL_ACB_FUNCTION_STATS	gifImageSize_stats;
    ACL_ACB_FUNCTION_STATS	hasAnalogAlarm_stats;
    ACL_ACB_FUNCTION_STATS	hasControl_stats;
    ACL_ACB_FUNCTION_STATS	hasControlAttribute_stats;
    ACL_ACB_FUNCTION_STATS	hasDigitalAlarm_stats;
    ACL_ACB_FUNCTION_STATS	hasProperty_stats;
    ACL_ACB_FUNCTION_STATS	hasReading_stats;
    ACL_ACB_FUNCTION_STATS	hasSetting_stats;
    ACL_ACB_FUNCTION_STATS	hasStatus_stats;
    ACL_ACB_FUNCTION_STATS	hasStatusAttribute_stats;
    ACL_ACB_FUNCTION_STATS	head_stats;
    ACL_ACB_FUNCTION_STATS	hex_stats;
    ACL_ACB_FUNCTION_STATS	highestBit_stats;
    ACL_ACB_FUNCTION_STATS	histogram_stats;
    ACL_ACB_FUNCTION_STATS	historicDataLength_stats;
    ACL_ACB_FUNCTION_STATS	historicDeviceAddressing_stats;
    ACL_ACB_FUNCTION_STATS	historicDeviceName_stats;
    ACL_ACB_FUNCTION_STATS	historicRawDataType_stats;
    ACL_ACB_FUNCTION_STATS	hypot_stats;
    ACL_ACB_FUNCTION_STATS	identical_stats;
    ACL_ACB_FUNCTION_STATS	identical2_stats;
    ACL_ACB_FUNCTION_STATS	ifLevel_stats;
    ACL_ACB_FUNCTION_STATS	insertString_stats;
    ACL_ACB_FUNCTION_STATS	integrateDataPoints_stats;
    ACL_ACB_FUNCTION_STATS	internalStructSize_stats;
    ACL_ACB_FUNCTION_STATS	ipNameToNode_stats;
    ACL_ACB_FUNCTION_STATS	ipAddressCompare_stats;
    ACL_ACB_FUNCTION_STATS	irmSoftwareVersion_stats;
    ACL_ACB_FUNCTION_STATS	isAclUser_stats;
    ACL_ACB_FUNCTION_STATS	isAcsysFefDevice_stats;
    ACL_ACB_FUNCTION_STATS	isAcsysFefNode_stats;
    ACL_ACB_FUNCTION_STATS	isAlphabeticString_stats;
    ACL_ACB_FUNCTION_STATS	isAlphanumericString_stats;
    ACL_ACB_FUNCTION_STATS	isArrayDevice_stats;
    ACL_ACB_FUNCTION_STATS	isBlankString_stats;
    ACL_ACB_FUNCTION_STATS	isBracketedString_stats;
    ACL_ACB_FUNCTION_STATS	isCamacDevice_stats;
    ACL_ACB_FUNCTION_STATS	isCentralNode_stats;
    ACL_ACB_FUNCTION_STATS	isConsoleEnvironment_stats;
    ACL_ACB_FUNCTION_STATS	isConsoleNode_stats;
    ACL_ACB_FUNCTION_STATS	isDabbelUser_stats;
    ACL_ACB_FUNCTION_STATS	isDateString_stats;
    ACL_ACB_FUNCTION_STATS	isDeletedDevice_stats;
    ACL_ACB_FUNCTION_STATS	isDeviceString_stats;
    ACL_ACB_FUNCTION_STATS	isDocumentationDevice_stats;
    ACL_ACB_FUNCTION_STATS	isErrorString_stats;
    ACL_ACB_FUNCTION_STATS	isEventString_stats;
    ACL_ACB_FUNCTION_STATS	isFloatString_stats;
    ACL_ACB_FUNCTION_STATS	isFrontendNode_stats;
    ACL_ACB_FUNCTION_STATS	isHexString_stats;
    ACL_ACB_FUNCTION_STATS	isInfinity_stats;
    ACL_ACB_FUNCTION_STATS	isIntegerString_stats;
    ACL_ACB_FUNCTION_STATS	isIrmDevice_stats;
    ACL_ACB_FUNCTION_STATS	isIrmNode_stats;
    ACL_ACB_FUNCTION_STATS	isLabviewDevice_stats;
    ACL_ACB_FUNCTION_STATS	isLabviewNode_stats;
    ACL_ACB_FUNCTION_STATS	isLowerCase_stats;
    ACL_ACB_FUNCTION_STATS	isMeccaKeeper_stats;
    ACL_ACB_FUNCTION_STATS	isMoocDevice_stats;
    ACL_ACB_FUNCTION_STATS	isMoocNode_stats;
    ACL_ACB_FUNCTION_STATS	isNaN_stats;
    ACL_ACB_FUNCTION_STATS	isNodeKeeper_stats;
    ACL_ACB_FUNCTION_STATS	isNodeString_stats;
    ACL_ACB_FUNCTION_STATS	isNumericIpAddress_stats;
    ACL_ACB_FUNCTION_STATS	isOacDevice_stats;
    ACL_ACB_FUNCTION_STATS	isOacNode_stats;
    ACL_ACB_FUNCTION_STATS	isObsoleteDevice_stats;
    ACL_ACB_FUNCTION_STATS	isPrintableString_stats;
    ACL_ACB_FUNCTION_STATS	isProgramRunning_stats;
    ACL_ACB_FUNCTION_STATS	isPropertyString_stats;
    ACL_ACB_FUNCTION_STATS	isQuotedString_stats;
    ACL_ACB_FUNCTION_STATS	isRad50String_stats;
    ACL_ACB_FUNCTION_STATS	isRunningOffsite_stats;
    ACL_ACB_FUNCTION_STATS	isServerTask_stats;
    ACL_ACB_FUNCTION_STATS	isStringFilledWithChar_stats;
    ACL_ACB_FUNCTION_STATS	isStructureDevice_stats;
    ACL_ACB_FUNCTION_STATS	isUpperCase_stats;
    ACL_ACB_FUNCTION_STATS	isValidSdaCase_stats;
    ACL_ACB_FUNCTION_STATS	isValidSdaFile_stats;
    ACL_ACB_FUNCTION_STATS	isValidSdaSet_stats;
    ACL_ACB_FUNCTION_STATS	isValidUserName_stats;
    ACL_ACB_FUNCTION_STATS	javaAppInfo_stats;
    ACL_ACB_FUNCTION_STATS	javaAppInfoByRef_stats;
    ACL_ACB_FUNCTION_STATS	julianDate_stats;
    ACL_ACB_FUNCTION_STATS	julianDateToDate_stats;
    ACL_ACB_FUNCTION_STATS	justify_stats;
    ACL_ACB_FUNCTION_STATS	labelLineNumber_stats;
    ACL_ACB_FUNCTION_STATS	land_stats;
    ACL_ACB_FUNCTION_STATS	lastCharPos_stats;
    ACL_ACB_FUNCTION_STATS	leftJustify_stats;
    ACL_ACB_FUNCTION_STATS	leftShift_stats;
    ACL_ACB_FUNCTION_STATS	leftTrim_stats;
    ACL_ACB_FUNCTION_STATS	lexSaDevices_stats;
    ACL_ACB_FUNCTION_STATS	llrfCurveCurrentLength_stats;
    ACL_ACB_FUNCTION_STATS	llrfCurveMaxLength_stats;
    ACL_ACB_FUNCTION_STATS	llrfCurveRootName_stats;
    ACL_ACB_FUNCTION_STATS	ln_stats;
    ACL_ACB_FUNCTION_STATS	localtime_stats;
    ACL_ACB_FUNCTION_STATS	log_stats;
    ACL_ACB_FUNCTION_STATS	loggerAvailableDeviceDataEntries_stats;
    ACL_ACB_FUNCTION_STATS	loggerAvailableDeviceDates_stats;
    ACL_ACB_FUNCTION_STATS	loggerClockType_stats;
    ACL_ACB_FUNCTION_STATS	loggerFindDevicesByDataEvent_stats;
    ACL_ACB_FUNCTION_STATS	loggerFindListsByDataEvent_stats;
    ACL_ACB_FUNCTION_STATS	loggerGetListDataEvents_stats;
    ACL_ACB_FUNCTION_STATS	loggerIsEnabled_stats;
    ACL_ACB_FUNCTION_STATS	loggerIsUp_stats;
    ACL_ACB_FUNCTION_STATS	loggerListDeviceStats_stats;
    ACL_ACB_FUNCTION_STATS	loggerListDevices_stats;
    ACL_ACB_FUNCTION_STATS	loggerListInfo_stats;
    ACL_ACB_FUNCTION_STATS	loggerListWrapTime_stats;
    ACL_ACB_FUNCTION_STATS	loggerNameToNode_stats;
    ACL_ACB_FUNCTION_STATS	loggersOnNode_stats;
    ACL_ACB_FUNCTION_STATS	loopLevel_stats;
    ACL_ACB_FUNCTION_STATS	lor_stats;
    ACL_ACB_FUNCTION_STATS	lowestBit_stats;
    ACL_ACB_FUNCTION_STATS	lshft_stats;
    ACL_ACB_FUNCTION_STATS	madcNumAvailableClockLevels_stats;
    ACL_ACB_FUNCTION_STATS	madcNumAvailableLists_stats;
    ACL_ACB_FUNCTION_STATS	madcNumAvailablePlotChannels_stats;
    ACL_ACB_FUNCTION_STATS	madcNumChannels_stats;
    ACL_ACB_FUNCTION_STATS	maintainerDevices_stats;
    ACL_ACB_FUNCTION_STATS	makeLoggerDataSourceString_stats;
    ACL_ACB_FUNCTION_STATS	makePrintable_stats;
    ACL_ACB_FUNCTION_STATS	makeSaverestoreDataSourceString_stats;
    ACL_ACB_FUNCTION_STATS	makeSdaDataSourceString_stats;
    ACL_ACB_FUNCTION_STATS	maskAbortInput_stats;
    ACL_ACB_FUNCTION_STATS	matrixAdd_stats;
    ACL_ACB_FUNCTION_STATS	matrixDeterminant_stats;
    ACL_ACB_FUNCTION_STATS	matrixInvert_stats;
    ACL_ACB_FUNCTION_STATS	matrixMultiply_stats;
    ACL_ACB_FUNCTION_STATS	matrixScalarMultiply_stats;
    ACL_ACB_FUNCTION_STATS	matrixSolve_stats;
    ACL_ACB_FUNCTION_STATS	max_stats;
    ACL_ACB_FUNCTION_STATS	maximum_stats;
    ACL_ACB_FUNCTION_STATS	maximum2_stats;
    ACL_ACB_FUNCTION_STATS	maximumConsoleNode_stats;
    ACL_ACB_FUNCTION_STATS	maximumDeviceIndex_stats;
    ACL_ACB_FUNCTION_STATS	maximumMeccaProjectNumber_stats;
    ACL_ACB_FUNCTION_STATS	maximumPaNumber_stats;
    ACL_ACB_FUNCTION_STATS	maximumSaNumber_stats;
    ACL_ACB_FUNCTION_STATS	mdatCurrentDate_stats;
    ACL_ACB_FUNCTION_STATS	mean_stats;
    ACL_ACB_FUNCTION_STATS	mean2_stats;
    ACL_ACB_FUNCTION_STATS	meccaProjectAttributeValue_stats;
    ACL_ACB_FUNCTION_STATS	median_stats;
    ACL_ACB_FUNCTION_STATS	median2_stats;
    ACL_ACB_FUNCTION_STATS	millisecondsNow_stats;
    ACL_ACB_FUNCTION_STATS	millisecondsToDate_stats;
    ACL_ACB_FUNCTION_STATS	min_stats;
    ACL_ACB_FUNCTION_STATS	minimum_stats;
    ACL_ACB_FUNCTION_STATS	minimum2_stats;
    ACL_ACB_FUNCTION_STATS	mode_stats;
    ACL_ACB_FUNCTION_STATS	mode2_stats;
    ACL_ACB_FUNCTION_STATS	moocSoftwareVersion_stats;
    ACL_ACB_FUNCTION_STATS	myAcnetUserName_stats;
    ACL_ACB_FUNCTION_STATS	myConsole_stats;
    ACL_ACB_FUNCTION_STATS	myConsoleClass_stats;
    ACL_ACB_FUNCTION_STATS	myConsoleInstance_stats;
    ACL_ACB_FUNCTION_STATS	myConsoleSlot_stats;
    ACL_ACB_FUNCTION_STATS	myControlSystemName_stats;
    ACL_ACB_FUNCTION_STATS	myDbUserName_stats;
    ACL_ACB_FUNCTION_STATS	myDisplayName_stats;
    ACL_ACB_FUNCTION_STATS	myExecutableName_stats;
    ACL_ACB_FUNCTION_STATS	myGenericProcessName_stats;
    ACL_ACB_FUNCTION_STATS	myHostName_stats;
    ACL_ACB_FUNCTION_STATS	myKerberosPrincipal_stats;
    ACL_ACB_FUNCTION_STATS	myNode_stats;
    ACL_ACB_FUNCTION_STATS	myNodeName_stats;
    ACL_ACB_FUNCTION_STATS	myParentPid_stats;
    ACL_ACB_FUNCTION_STATS	myPid_stats;
    ACL_ACB_FUNCTION_STATS	myPrivilegeLevel_stats;
    ACL_ACB_FUNCTION_STATS	myProcessName_stats;
    ACL_ACB_FUNCTION_STATS	myProgramName_stats;
    ACL_ACB_FUNCTION_STATS	mySystemInfo_stats;
    ACL_ACB_FUNCTION_STATS	mySystemUserId_stats;
    ACL_ACB_FUNCTION_STATS	myUserId_stats;
    ACL_ACB_FUNCTION_STATS	myUserName_stats;
    ACL_ACB_FUNCTION_STATS	name_stats;
    ACL_ACB_FUNCTION_STATS	networkServiceToPort_stats;
    ACL_ACB_FUNCTION_STATS	newestLoggerTime_stats;
    ACL_ACB_FUNCTION_STATS	newestSrFile_stats;
    ACL_ACB_FUNCTION_STATS	nextSibling_stats;
    ACL_ACB_FUNCTION_STATS	node_stats;
    ACL_ACB_FUNCTION_STATS	nodeAcnetNodeIpAddress_stats;
    ACL_ACB_FUNCTION_STATS	nodeAcnetTasks_stats;
    ACL_ACB_FUNCTION_STATS	nodeAlarmList_stats;
    ACL_ACB_FUNCTION_STATS	nodeAttributeValue_stats;
    ACL_ACB_FUNCTION_STATS	nodeConsolidator_stats;
    ACL_ACB_FUNCTION_STATS	nodeCreationDate_stats;
    ACL_ACB_FUNCTION_STATS	nodeDevicesWithProperty_stats;
    ACL_ACB_FUNCTION_STATS	nodeHardwareType_stats;
    ACL_ACB_FUNCTION_STATS	nodeIs_stats;
    ACL_ACB_FUNCTION_STATS	nodeIsUp_stats;
    ACL_ACB_FUNCTION_STATS	nodeSoftwareType_stats;
    ACL_ACB_FUNCTION_STATS	nodeStatus_stats;
    ACL_ACB_FUNCTION_STATS	nodeTimeError_stats;
    ACL_ACB_FUNCTION_STATS	nodeToLoggerName_stats;
    ACL_ACB_FUNCTION_STATS	nodeToTrunkNode_stats;
    ACL_ACB_FUNCTION_STATS	nodeType_stats;
    ACL_ACB_FUNCTION_STATS	nonblankLength_stats;
    ACL_ACB_FUNCTION_STATS	numElements_stats;
    ACL_ACB_FUNCTION_STATS	numQueuedDataEventCallbacks_stats;
    ACL_ACB_FUNCTION_STATS	numReadableProperties_stats;
    ACL_ACB_FUNCTION_STATS	numSettableProperties_stats;
    ACL_ACB_FUNCTION_STATS	oacsOnNode_stats;
    ACL_ACB_FUNCTION_STATS	octal_stats;
    ACL_ACB_FUNCTION_STATS	offsetCharacter_stats;
    ACL_ACB_FUNCTION_STATS	oldestLoggerTime_stats;
    ACL_ACB_FUNCTION_STATS	oldestSettingLogDate_stats;
    ACL_ACB_FUNCTION_STATS	oldestSrFile_stats;
    ACL_ACB_FUNCTION_STATS	openFile_stats;
    ACL_ACB_FUNCTION_STATS	or_stats;
    ACL_ACB_FUNCTION_STATS	pad_stats;
    ACL_ACB_FUNCTION_STATS	pageTitle_stats;
    ACL_ACB_FUNCTION_STATS	parameterPageDevices_stats;
    ACL_ACB_FUNCTION_STATS	paramPageConfigInfo_stats;
    ACL_ACB_FUNCTION_STATS	paramPageSubpageInfo_stats;
    ACL_ACB_FUNCTION_STATS	parseFileName_stats;
    ACL_ACB_FUNCTION_STATS	pidProcessExists_stats;
    ACL_ACB_FUNCTION_STATS	pidToProcessName_stats;
    ACL_ACB_FUNCTION_STATS	ping_stats;
    ACL_ACB_FUNCTION_STATS	playBeep_stats;
    ACL_ACB_FUNCTION_STATS	playSound_stats;
    ACL_ACB_FUNCTION_STATS	pos_stats;
    ACL_ACB_FUNCTION_STATS	prec_stats;
    ACL_ACB_FUNCTION_STATS	previousSibling_stats;
    ACL_ACB_FUNCTION_STATS	printf_stats;
    ACL_ACB_FUNCTION_STATS	printfNoNewline_stats;
    ACL_ACB_FUNCTION_STATS	processExists_stats;
    ACL_ACB_FUNCTION_STATS	processInfo_stats;
    ACL_ACB_FUNCTION_STATS	processNameToPid_stats;
    ACL_ACB_FUNCTION_STATS	programMapping_stats;
    ACL_ACB_FUNCTION_STATS	quoteString_stats;
    ACL_ACB_FUNCTION_STATS	rad50ToString_stats;
    ACL_ACB_FUNCTION_STATS	radix_stats;
    ACL_ACB_FUNCTION_STATS	rampcardDeviceTableType_stats;
    ACL_ACB_FUNCTION_STATS	rampcardGetRootDevice_stats;
    ACL_ACB_FUNCTION_STATS	random_stats;
    ACL_ACB_FUNCTION_STATS	randomSeed_stats;
    ACL_ACB_FUNCTION_STATS	range_stats;
    ACL_ACB_FUNCTION_STATS	range2_stats;
    ACL_ACB_FUNCTION_STATS	readAlarmBlock_stats;
    ACL_ACB_FUNCTION_STATS	readLock_stats;
    ACL_ACB_FUNCTION_STATS	readMjyDataFile_stats;
    ACL_ACB_FUNCTION_STATS	readProgramLocks_stats;
    ACL_ACB_FUNCTION_STATS	reflectedEvent_stats;
    ACL_ACB_FUNCTION_STATS	refreshAlarmNodeList_stats;
    ACL_ACB_FUNCTION_STATS	regexpCompareString_stats;
    ACL_ACB_FUNCTION_STATS	regexpCompareStringNocase_stats;
    ACL_ACB_FUNCTION_STATS	regexpFindString_stats;
    ACL_ACB_FUNCTION_STATS	regexpGetValue_stats;
    ACL_ACB_FUNCTION_STATS	regexpInsertString_stats;
    ACL_ACB_FUNCTION_STATS	regexpRemoveString_stats;
    ACL_ACB_FUNCTION_STATS	regexpReplaceString_stats;
    ACL_ACB_FUNCTION_STATS	regexpSplit_stats;
    ACL_ACB_FUNCTION_STATS	removeString_stats;
    ACL_ACB_FUNCTION_STATS	repeatString_stats;
    ACL_ACB_FUNCTION_STATS	replaceBracketedString_stats;
    ACL_ACB_FUNCTION_STATS	replaceChar_stats;
    ACL_ACB_FUNCTION_STATS	replaceCharactersWithString_stats;
    ACL_ACB_FUNCTION_STATS	replaceCharactersWithStrings_stats;
    ACL_ACB_FUNCTION_STATS	replaceString_stats;
    ACL_ACB_FUNCTION_STATS	resetRfWatchdog_stats;
    ACL_ACB_FUNCTION_STATS	reverse_stats;
    ACL_ACB_FUNCTION_STATS	rfWatchdogTripIsPresent_stats;
    ACL_ACB_FUNCTION_STATS	rightJustify_stats;
    ACL_ACB_FUNCTION_STATS	rightShift_stats;
    ACL_ACB_FUNCTION_STATS	rightTrim_stats;
    ACL_ACB_FUNCTION_STATS	rms_stats;
    ACL_ACB_FUNCTION_STATS	rms2_stats;
    ACL_ACB_FUNCTION_STATS	round_stats;
    ACL_ACB_FUNCTION_STATS	rshft_stats;
    ACL_ACB_FUNCTION_STATS	saveFileDeviceErrors_stats;
    ACL_ACB_FUNCTION_STATS	saveFileDeviceStatus_stats;
    ACL_ACB_FUNCTION_STATS	saveFileInfo_stats;
    ACL_ACB_FUNCTION_STATS	scondif_stats;
    ACL_ACB_FUNCTION_STATS	scriptExecutionTime_stats;
    ACL_ACB_FUNCTION_STATS	sdaFileDate_stats;
    ACL_ACB_FUNCTION_STATS	secant_stats;
    ACL_ACB_FUNCTION_STATS	secondsToTodString_stats;
    ACL_ACB_FUNCTION_STATS	sendLlrfCommand_stats;
    ACL_ACB_FUNCTION_STATS	sendPidSignal_stats;
    ACL_ACB_FUNCTION_STATS	sendProcessSignal_stats;
    ACL_ACB_FUNCTION_STATS	setBit_stats;
    ACL_ACB_FUNCTION_STATS	setBitField_stats;
    ACL_ACB_FUNCTION_STATS	setenv_stats;
    ACL_ACB_FUNCTION_STATS	setLogicalName_stats;
    ACL_ACB_FUNCTION_STATS	settingsAreEnabled_stats;
    ACL_ACB_FUNCTION_STATS	setUserAlarmListStatus_stats;
    ACL_ACB_FUNCTION_STATS	sin_stats;
    ACL_ACB_FUNCTION_STATS	sind_stats;
    ACL_ACB_FUNCTION_STATS	sinh_stats;
    ACL_ACB_FUNCTION_STATS	sizeof_stats;
    ACL_ACB_FUNCTION_STATS	sizeofVariable_stats;
    ACL_ACB_FUNCTION_STATS	snapManagerDataDirectory_stats;
    ACL_ACB_FUNCTION_STATS	snapManagerFindDevice_stats;
    ACL_ACB_FUNCTION_STATS	snapManagerReinitPlot_stats;
    ACL_ACB_FUNCTION_STATS	snapManagerSystemFiles_stats;
    ACL_ACB_FUNCTION_STATS	snapManagerSystemNames_stats;
    ACL_ACB_FUNCTION_STATS	snapManagerSystemPlotSetups_stats;
    ACL_ACB_FUNCTION_STATS	snapshotDefaultFreq_stats;
    ACL_ACB_FUNCTION_STATS	snapshotMaxFreq_stats;
    ACL_ACB_FUNCTION_STATS	split_stats;
    ACL_ACB_FUNCTION_STATS	splitByCharSet_stats;
    ACL_ACB_FUNCTION_STATS	sprintf_stats;
    ACL_ACB_FUNCTION_STATS	sqlQueryDevices_stats;
    ACL_ACB_FUNCTION_STATS	sqrt_stats;
    ACL_ACB_FUNCTION_STATS	sscanf_stats;
    ACL_ACB_FUNCTION_STATS	ssdnToDeviceType_stats;
    ACL_ACB_FUNCTION_STATS	ssdnToString_stats;
    ACL_ACB_FUNCTION_STATS	stateOccurrenceHistory_stats;
    ACL_ACB_FUNCTION_STATS	stateText_stats;
    ACL_ACB_FUNCTION_STATS	stateTextAll_stats;
    ACL_ACB_FUNCTION_STATS	stateTextToNumber_stats;
    ACL_ACB_FUNCTION_STATS	statusAttrToBitInfo_stats;
    ACL_ACB_FUNCTION_STATS	statusScalingInfo_stats;
    ACL_ACB_FUNCTION_STATS	statusScalingInfoAll_stats;
    ACL_ACB_FUNCTION_STATS	stddev_stats;
    ACL_ACB_FUNCTION_STATS	stddev2_stats;
    ACL_ACB_FUNCTION_STATS	stepMotorIsMoving_stats;
    ACL_ACB_FUNCTION_STATS	stringCompare_stats;
    ACL_ACB_FUNCTION_STATS	stringCompareNocase_stats;
    ACL_ACB_FUNCTION_STATS	stringConcatenate_stats;
    ACL_ACB_FUNCTION_STATS	stringCopy_stats;
    ACL_ACB_FUNCTION_STATS	stringEndsWith_stats;
    ACL_ACB_FUNCTION_STATS	stringEndsWithCharType_stats;
    ACL_ACB_FUNCTION_STATS	stringExtractDeviceNames_stats;
    ACL_ACB_FUNCTION_STATS	stringExtractLine_stats;
    ACL_ACB_FUNCTION_STATS	stringGetChar_stats;
    ACL_ACB_FUNCTION_STATS	stringGetValue_stats;
    ACL_ACB_FUNCTION_STATS	stringLength_stats;
    ACL_ACB_FUNCTION_STATS	stringLineInfo_stats;
    ACL_ACB_FUNCTION_STATS	stringSetChar_stats;
    ACL_ACB_FUNCTION_STATS	stringStartsWith_stats;
    ACL_ACB_FUNCTION_STATS	stringStartsWithCharType_stats;
    ACL_ACB_FUNCTION_STATS	stringToColor_stats;
    ACL_ACB_FUNCTION_STATS	stringToConvertType_stats;
    ACL_ACB_FUNCTION_STATS	stringToConsoleClassMask_stats;
    ACL_ACB_FUNCTION_STATS	stringToDate_stats;
    ACL_ACB_FUNCTION_STATS	stringToDeviceName_stats;
    ACL_ACB_FUNCTION_STATS	stringToDouble_stats;
    ACL_ACB_FUNCTION_STATS	stringToEmc_stats;
    ACL_ACB_FUNCTION_STATS	stringToInteger_stats;
    ACL_ACB_FUNCTION_STATS	stringToken_stats;
    ACL_ACB_FUNCTION_STATS	stringToProperty_stats;
    ACL_ACB_FUNCTION_STATS	stringToRad50_stats;
    ACL_ACB_FUNCTION_STATS	stringToSsdn_stats;
    ACL_ACB_FUNCTION_STATS	stringType_stats;
    ACL_ACB_FUNCTION_STATS	stripBrackets_stats;
    ACL_ACB_FUNCTION_STATS	stripCharacters_stats;
    ACL_ACB_FUNCTION_STATS	stripEolCharacters_stats;
    ACL_ACB_FUNCTION_STATS	stripHtml_stats;
    ACL_ACB_FUNCTION_STATS	stripNonprintables_stats;
    ACL_ACB_FUNCTION_STATS	stripQuotes_stats;
    ACL_ACB_FUNCTION_STATS	stripSpaces_stats;
    ACL_ACB_FUNCTION_STATS	strncmp_stats;
    ACL_ACB_FUNCTION_STATS	strShift_stats;
    ACL_ACB_FUNCTION_STATS	strstr_stats;
    ACL_ACB_FUNCTION_STATS	substring_stats;
    ACL_ACB_FUNCTION_STATS	sum_stats;
    ACL_ACB_FUNCTION_STATS	sum2_stats;
    ACL_ACB_FUNCTION_STATS	supercycleLength_stats;
    ACL_ACB_FUNCTION_STATS	switchAttributeValue_stats;
    ACL_ACB_FUNCTION_STATS	synopticDevices_stats;
    ACL_ACB_FUNCTION_STATS	systemRandomNumber_stats;
    ACL_ACB_FUNCTION_STATS	systemTime_stats;
    ACL_ACB_FUNCTION_STATS	systemUserIdToName_stats;
    ACL_ACB_FUNCTION_STATS	systemUserNameToId_stats;
    ACL_ACB_FUNCTION_STATS	tail_stats;
    ACL_ACB_FUNCTION_STATS	tan_stats;
    ACL_ACB_FUNCTION_STATS	tand_stats;
    ACL_ACB_FUNCTION_STATS	tanh_stats;
    ACL_ACB_FUNCTION_STATS	taskExists_stats;
    ACL_ACB_FUNCTION_STATS	taskId_stats;
    ACL_ACB_FUNCTION_STATS	taskIdToName_stats;
    ACL_ACB_FUNCTION_STATS	taskPid_stats;
    ACL_ACB_FUNCTION_STATS	taskPidToName_stats;
    ACL_ACB_FUNCTION_STATS	tempFileName_stats;
    ACL_ACB_FUNCTION_STATS	terminalSize_stats;
    ACL_ACB_FUNCTION_STATS	text_stats;
    ACL_ACB_FUNCTION_STATS	thisSoftwareBeamSwitchIsOn_stats;
    ACL_ACB_FUNCTION_STATS	timeAgo_stats;
    ACL_ACB_FUNCTION_STATS	timeFromDate_stats;
    ACL_ACB_FUNCTION_STATS	timeInSupercycle_stats;
    ACL_ACB_FUNCTION_STATS	timeIntervalToString_stats;
    ACL_ACB_FUNCTION_STATS	timer_stats;
    ACL_ACB_FUNCTION_STATS	timerReadEvents_stats;
    ACL_ACB_FUNCTION_STATS	timeSinceEvent_stats;
    ACL_ACB_FUNCTION_STATS	timeSinceMidnight_stats;
    ACL_ACB_FUNCTION_STATS	timezoneInfo_stats;
    ACL_ACB_FUNCTION_STATS	todStringToSeconds_stats;
    ACL_ACB_FUNCTION_STATS	toLower_stats;
    ACL_ACB_FUNCTION_STATS	toNumeric_stats;
    ACL_ACB_FUNCTION_STATS	toString_stats;
    ACL_ACB_FUNCTION_STATS	totalNumberOfDevices_stats;
    ACL_ACB_FUNCTION_STATS	toTrimmedString_stats;
    ACL_ACB_FUNCTION_STATS	toUpper_stats;
    ACL_ACB_FUNCTION_STATS	translateSymbolicLink_stats;
    ACL_ACB_FUNCTION_STATS	trim_stats;
    ACL_ACB_FUNCTION_STATS	trunc_stats;
    ACL_ACB_FUNCTION_STATS	trunkNodeToNode_stats;
    ACL_ACB_FUNCTION_STATS	unescapeString_stats;
    ACL_ACB_FUNCTION_STATS	units_stats;
    ACL_ACB_FUNCTION_STATS	unmaskAbortInput_stats;
    ACL_ACB_FUNCTION_STATS	unsetenv_stats;
    ACL_ACB_FUNCTION_STATS	userAlarmList_stats;
    ACL_ACB_FUNCTION_STATS	userAlarmListDevices_stats;
    ACL_ACB_FUNCTION_STATS	userAlarmListLists_stats;
    ACL_ACB_FUNCTION_STATS	userAttributeValue_stats;
    ACL_ACB_FUNCTION_STATS	userIsaPerson_stats;
    ACL_ACB_FUNCTION_STATS	userMonitorContacts_stats;
    ACL_ACB_FUNCTION_STATS	userSaveListDevices_stats;
    ACL_ACB_FUNCTION_STATS	userSetsLockRead_stats;
    ACL_ACB_FUNCTION_STATS	userSetsUnlock_stats;
    ACL_ACB_FUNCTION_STATS	usersMonitoringAlarm_stats;
    ACL_ACB_FUNCTION_STATS	utcSecondsToDate_stats;
    ACL_ACB_FUNCTION_STATS	utilityGetDate_stats;
    ACL_ACB_FUNCTION_STATS	utilityPing_stats;
    ACL_ACB_FUNCTION_STATS	validateDeviceName_stats;
    ACL_ACB_FUNCTION_STATS	valueToLogicalArray_stats;
    ACL_ACB_FUNCTION_STATS	valueType_stats;
    ACL_ACB_FUNCTION_STATS	variableArrayDimensions_stats;
    ACL_ACB_FUNCTION_STATS	variableDimensionSize_stats;
    ACL_ACB_FUNCTION_STATS	variableIsConstant_stats;
    ACL_ACB_FUNCTION_STATS	variableIsDynamic_stats;
    ACL_ACB_FUNCTION_STATS	variableIsInitialized_stats;
    ACL_ACB_FUNCTION_STATS	variableNumReadings_stats;
    ACL_ACB_FUNCTION_STATS	variableNumSettings_stats;
    ACL_ACB_FUNCTION_STATS	variableType_stats;
    ACL_ACB_FUNCTION_STATS	variance_stats;
    ACL_ACB_FUNCTION_STATS	variance2_stats;
    ACL_ACB_FUNCTION_STATS	virtualMachineDevices_stats;
    ACL_ACB_FUNCTION_STATS	whereDeviceIsLogged_stats;
    ACL_ACB_FUNCTION_STATS	whereDeviceWasLogged_stats;
    ACL_ACB_FUNCTION_STATS	wordCount_stats;
    ACL_ACB_FUNCTION_STATS	writeGlobalErrorString_stats;
    ACL_ACB_FUNCTION_STATS	writeMjyDataFile_stats;
    ACL_ACB_FUNCTION_STATS	xor_stats;
    } __attribute__((packed)) ACL_ACB_FUNCTION_STATS_REPLY;

#define	ACL_PARAM_MAX_SYMBOLS	100		/* maximum number of returned symbols */
#define	ACL_PARAM_MAX_VARIABLES	100		/* maximum number of returned variables */

#define	ACL_ACB_MAX_VALUE_STRING_LEN	10

typedef union ACL_ACB_VARIABLE_DATA
    {
    char	byte_value;
    unsigned char	ubyte_value;
    short	short_value;
    unsigned short	ushort_value;
    int		int_value;
    unsigned int	uint_value;
    long long	long_long_value;
    unsigned long long	ulong_long_value;
    float	float_value;
    double	double_value;
    char	string_value[ACL_ACB_MAX_VALUE_STRING_LEN];
    unsigned int	date;
    ARRAY_DEVICE_DATA	device;
    } ACL_ACB_VARIABLE_DATA;

typedef struct ACL_ACB_VARIABLE_LIST_ENTRY	/* variable list entry */
    {
    char	variable_name[ACL_SYMBOL_NAME_LEN+2];	/* variable name */
    int		value_type;		/* type of value */
    int		value_length;		/* value length */
    ACL_ACB_VARIABLE_DATA	value;	/* variable value */
    } __attribute__((packed)) ACL_ACB_VARIABLE_LIST_ENTRY;

typedef struct ACL_ACB_VARIABLE_LIST_REPLY	/* variable list data */
    {
    short		status;			/* returned status of request */
    unsigned int	num_returned;		/* number of variables returned */
    unsigned int	num_variables;		/* number of variables in existence */
    ACL_ACB_VARIABLE_LIST_ENTRY	variables[ACL_PARAM_MAX_VARIABLES];
    } __attribute__((packed)) ACL_ACB_VARIABLE_LIST_REPLY;

#define	ACL_PARAM_MAX_DEVICES	500		/* maximum number of returned devices */

typedef struct ACL_ACB_DEVICE_LIST_ENTRY	/* device list entry */
    {
    ARRAY_DEVICE_DATA	device_data;		/* device data */
    } __attribute__((packed)) ACL_ACB_DEVICE_LIST_ENTRY;

typedef struct ACL_ACB_DEVICE_LIST_REPLY	/* device list data */
    {
    short		status;			/* returned status of request */
    unsigned int	num_returned;		/* number of devices returned */
    unsigned int	num_devices;		/* number of devices in existence */
    ACL_ACB_DEVICE_LIST_ENTRY	devices[ACL_PARAM_MAX_DEVICES];
    } __attribute__((packed)) ACL_ACB_DEVICE_LIST_REPLY;

typedef struct ACL_ACB_READ_VARIABLE_REPLY	/* read variable reply */
    {
    short	status;				/* returned status of request */
    char	variable_name[ACL_SYMBOL_NAME_LEN+2];	/* variable name */
    int		value_type;			/* type of value */
    int		value_length;			/* value length */
    int		num_elements;
    int		deleted;
    unsigned int	num_accesses;		/* number of times this value has been accessed */
    union
	{
	char	byte_value[0];
	unsigned char	ubyte_value[0];
	short	short_value[0];
	unsigned short	ushort_value[0];
	int	int_value[0];
	unsigned int	uint_value[0];
	long long	long_long_value[0];
	unsigned long long	ulong_long_value[0];
	float	float_value[0];
	double	double_value[0];
	char	string_value[0];
	unsigned int	date;
	ARRAY_DEVICE_DATA	device;
	} value;
    } __attribute__((packed)) ACL_ACB_READ_VARIABLE_REPLY;

typedef struct ACL_ACB_SCRIPT_NAME_REPLY	/* read script name reply */
    {
    short	status;				/* returned status of request */
    char	script_name[ACL_ACB_SCRIPT_NAME_LENGTH+2];
    } __attribute__((packed)) ACL_ACB_SCRIPT_NAME_REPLY;

#define	ACL_PARAM_MAX_COMMANDS	200		/* maximum number of returned commands */

typedef struct ACL_ACB_COMMAND_LIST_ENTRY	/* command list entry */
    {
    int		type;				/* command type */
    int		command_index;			/* command index */
    int		line_number;			/* source line number */
    unsigned int	num_calls;		/* number of calls to this command */
    unsigned int	num_executions;		/* number of times this command has been successfully executed */
    unsigned int	last_time;		/* last time this command was executed */
    unsigned int	longest_time;		/* longest time spent processing this command */
    unsigned int	total_time;		/* total time spent processing this command */
    } __attribute__((packed)) ACL_ACB_COMMAND_LIST_ENTRY;

typedef struct ACL_ACB_COMMAND_LIST_REPLY	/* command list data */
    {
    short		status;			/* returned status of request */
    unsigned int	num_returned;		/* number of commands returned */
    unsigned int	num_commands;		/* number of commands in existence */
    ACL_ACB_COMMAND_LIST_ENTRY	commands[ACL_PARAM_MAX_COMMANDS];
    } __attribute__((packed)) ACL_ACB_COMMAND_LIST_REPLY;

#define	ACL_PARAM_MAX_SOURCE_LINES	31	/* maximum number of returned source lines */
#define	ACL_PARAM_MAX_SOURCE_LINE_LENGTH	255	/* maximum length of a returned source lines */

typedef struct ACL_ACB_SOURCE_CODE_ENTRY	/* source code line data */
    {
    unsigned int	line_number;		/* line number */
    char		text[ACL_PARAM_MAX_SOURCE_LINE_LENGTH+1];	/* source code */
    } __attribute__((packed)) ACL_ACB_SOURCE_CODE_ENTRY;

typedef struct ACL_ACB_SOURCE_CODE_REPLY	/* source code data */
    {
    short		status;			/* returned status of request */
    unsigned int	num_source_lines;	/* number of source lines in existence */
    unsigned int	num_returned;		/* number of source lines returned */
    unsigned int	starting_line_number;	/* line number of first returned line */
    unsigned int	longest_line_length;	/* length of the longest returned line */
    ACL_ACB_SOURCE_CODE_ENTRY	source_lines[ACL_PARAM_MAX_SOURCE_LINES];
    } __attribute__((packed)) ACL_ACB_SOURCE_CODE_REPLY;

#define	ACL_ACB_REMOTE_MESSAGE_ID	"ACLRemote"

typedef struct ACL_ACB_REMOTE_MESSAGE
    {
    short	generic_type_code;		/* should always have a value of ACNET_CALLBACK_ACL */
    short	type_code;			/* ACL callback main type code (ACL_ACB_TC_REMOTE_MESSAGE) */
    short	subtype;			/* ACL callback secondary type code */
    unsigned int	request_flags;		/* request modifier flags */
    char	id_string[sizeof(ACL_ACB_REMOTE_MESSAGE_ID)];
    char	process_name[PROCESS_NAME_LEN+2];
    char	token_string[ACL_REMOTE_TOKEN_LEN+2];
    int		message_type;
    int		status;
    unsigned int	num_suppressed_settings;
    unsigned int	execution_start;
    unsigned int	execution_end;
    int		num_values;
    } __attribute__((packed)) ACL_ACB_REMOTE_MESSAGE;

typedef struct ACL_ACB_REMOTE_MESSAGE_REPLY
    {
    short	status;
    } __attribute__((packed)) ACL_ACB_REMOTE_MESSAGE_REPLY;

/* end of ACL */



/* Save/Restore routines */

#define	SR_ACB_TC_REQUEST_STATS		1	/* request Save/Restore statistics */
#define	SR_ACB_TC_DIAG_CLEAR		3	/* clear Save/Restore statistics */
#define	SR_ACB_TC_SET_PROC_PERIOD	4	/* set proc check period */
#define	SR_ACB_TC_READ_WA_HEADERS	5	/* read list of work area headers */
#define	SR_ACB_TC_READ_WORK_AREA	6	/* read work area */
#define	SR_ACB_TC_READ_WA_ENTRY		7	/* read work area entry */
#define	SR_ACB_TC_READ_WA_ENTRIES	8	/* read list of work area entries */

#define	SR_ACB_MIN_PROC_PERIOD		1	/* minimum proc check period */

typedef struct SR_ACB_REQUEST			/* ACNET callback request structure */
    {
    short	generic_type_code;		/* should always have a value of ACNET_CALLBACK_DATABASE */
    short	type_code;			/* SR callback main type code */
    short	subtype;			/* SR callback secondary type code */
    int		request_data;			/* request specific data */
    int		request_data_2;			/* request specific data */
    char	*read_address;			/* address for work area read */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ SR_ACB_REQUEST;

#define	SR_PARAM_REPLY_FILLER	3698		/* reply structure filler size */

typedef struct SR_ACB_REPLY			/* ACNET callback reply structure */
    {
    short	status;				/* returned status of request */
    int		source;				/* data source */
    unsigned int	num_errors;		/* total number of errors */
    short	last_error;			/* last error detected */
    char	last_error_func[ACB_FUNC_NAME_LEN+2];	/* function in which last error was detected */
    int		last_error_di;			/* device index of last error */
    short	last_error_pi;			/* property index of last error */
    short 	last_error_filenumber;		/* file number of last error */
    int		last_request_di;		/* device index of last request */
    short	last_request_pi;		/* property index of last request */
    short 	last_request_filenumber;	/* file number of last request */
    char	last_usage[SDA_USAGE_NAME_LEN+2];	/* last SDA usage */
    unsigned short	num_work_areas;		/* number of work areas */
    unsigned int	periodic_proc_count;	/* number of srprocs in current period */
    unsigned int	max_periodic_proc_count;	/* max number of srprocs in a period */
    unsigned short	proc_check_period;	/* srproc measurement period */
    unsigned int	total_srproc_time;	/* total time spent in SRPROCs in 15 Hz ticks */
    unsigned int	longest_srproc;		/* longest SRPROC in 15 Hz ticks */
    char		*last_processed_wa;	/* last processed work area */
    unsigned int	total_srcnct_time;	/* total time spent in SRCNCTs in 15 Hz ticks */
    unsigned int	longest_srcnct;		/* longest SRCNCT in 15 Hz ticks */
    unsigned int	srcnct;			/* # of calls to */
    unsigned int	srcnct_fake;		/* # of calls to */
    unsigned int	srdcnt;			/* # of calls to */
    unsigned int	srderr;			/* # of calls to */
    unsigned int	srdir;			/* # of calls to */
    unsigned int	srdisk;			/* # of calls to */
    unsigned int	srget;			/* # of calls to */
    unsigned int	srgeti;			/* # of calls to */
    unsigned int	srmod;			/* # of calls to */
    unsigned int	srproc;			/* # of calls to */
    unsigned int	srreq;			/* # of calls to */
    unsigned int	srsetp;			/* # of calls to */
    unsigned int	srsize;			/* # of calls to */
    unsigned int	srsnapreq;		/* # of calls to */
    unsigned int	srston;			/* # of calls to */
    unsigned int	srwain;			/* # of calls to */
    unsigned int	db_open;		/* # of calls to */
    unsigned int	db_select;		/* # of calls to */
    unsigned int	db_modify;		/* # of calls to */
    char 	unused[SR_PARAM_REPLY_FILLER];	/* should maintain total structure size at 3900 bytes */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ SR_ACB_REPLY;
 
typedef struct SR_ACB_WA_HEADER		/* ACNET callback work area header structure */
    {
    char		*work_area;		/* pointer to work area */
    unsigned short	num_uses;		/* number of uses of this work area (0 -> no proc yet) */
    unsigned int	num_bytes;		/* size of work area in bytes (0 -> proc is pending) */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ SR_ACB_WA_HEADER;

#define	SR_PARAM_MAX_WA_HEADERS	300	/* maximum number of work area headers to return */

typedef struct SR_ACB_WA_HEADERS_REPLY		/* ACNET callback work area headers structure */
    {
    short	status;				/* returned status of request */
    short	num_work_areas;			/* number of work areas returned */
    SR_ACB_WA_HEADER	headers[SR_PARAM_MAX_WA_HEADERS];	/* list of work area headers */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ SR_ACB_WA_HEADERS_REPLY;

#define	SR_PARAM_MAX_READ_BYTES	3840	/* maximum number of bytes to read */

typedef struct SR_ACB_READ_WORK_AREA_REPLY	/* ACNET callback read work area reply structure */
    {
    short	status;				/* returned status of request */
    short	num_bytes;			/* number of bytes returned */
    char	work_area[SR_PARAM_MAX_READ_BYTES];	/* returned data */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ SR_ACB_READ_WORK_AREA_REPLY;

typedef struct SR_ACB_WA_ENTRY			/* ACNET callback work area entry structure */
    {
    short	returned_length;		/* length of data or ACNET error code if negative */
    short	byte_offset;			/* offset in bytes from the end of the header to the returned data */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ SR_ACB_WA_ENTRY;

#define	SR_PARAM_MAX_WA_ENTRIES	900	/* maximum number of work area entries to return */

typedef struct SR_ACB_WA_ENTRIES_REPLY		/* ACNET callback work area entries structure */
    {
    short		status;			/* returned status of request */
    unsigned short	num_entries;		/* number of data entries returned */
    unsigned short	num_bytes;		/* total size of work area in bytes */
    SR_ACB_WA_ENTRY	entries[SR_PARAM_MAX_WA_ENTRIES];	/* list of work area entries */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ SR_ACB_WA_ENTRIES_REPLY;

/* end of save/restore */



/* Save/Restore Manager routines */

#define	SRMNGR_ACB_TC_REQUEST_STATS	1	/* request Save/Restore Manager statistics */
#define	SRMNGR_ACB_TC_DIAG_CLEAR	3	/* clear Save/Restore Manager statistics */
#define	SRMNGR_ACB_TC_SET_PROC_PERIOD	4	/* set proc check period */
#define	SRMNGR_ACB_TC_TOGGLE_LOG	7	/* toggle error logging */
#define	SRMNGR_ACB_TC_READ_DEVICES	11	/* retrieve device reading history */
#define	SRMNGR_ACB_TC_DEBUG_ENABLE	14	/* enable debug mode */
#define	SRMNGR_ACB_TC_DEBUG_DISABLE	15	/* disable debug mode */
#define	SRMNGR_ACB_TC_MAIL_ENABLE	16	/* enable error mail */
#define	SRMNGR_ACB_TC_MAIL_DISABLE	17	/* disable error mail */
#define	SRMNGR_ACB_TC_RESTORE_DEVICES	18	/* retrieve device restore history */

#define	SRMNGR_ACB_MIN_PROC_PERIOD	1	/* minimum proc check period */

typedef struct SRMNGR_ACB_REQUEST		/* ACNET callback request structure */
    {
    short	generic_type_code;		/* should always have a value of ACNET_CALLBACK_DATABASE */
    short	type_code;			/* SRMNGR callback main type code */
    short	subtype;			/* SRMNGR callback secondary type code */
    int		request_data;			/* request specific data */
    int		request_data_2;			/* request specific data */
    char	*read_address;			/* address for work area read */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ SRMNGR_ACB_REQUEST;

#define	SRMNGR_PARAM_REPLY_FILLER	3294	/* reply structure filler size */

typedef struct SRMNGR_ACB_REPLY			/* ACNET callback reply structure */
    {
    short	status;				/* returned status of request */
    unsigned int	ret_count;		/* # of returned statistics messages */
    unsigned int	logit_state;		/* logging state */
    unsigned int	dynamic_memory;		/* # of bytes of dynamic memory */
    unsigned int	out_of_memory;		/* out of dynamic memory flag */
    int		source;				/* current data source */
    int		requested_source;		/* requested data source */
    int		supersystem;			/* S/R file supersystem */
    int		sda_file_type;			/* SDA file type */
    int		display_connect;		/* flag indicating whether or not to display a connect window */
    unsigned int	num_restore_requests;	/* number of device restore requests */
    unsigned int	num_restore_devices;	/* number of devices successfully restored */
    unsigned int	num_errors;		/* total number of errors */
    short	last_error;			/* last error detected */
    char	last_error_func[ACB_FUNC_NAME_LEN+2];	/* function in which last error was detected */
    int		last_error_di;			/* device index of last error */
    short	last_error_pi;			/* property index of last error */
    short 	last_error_file;		/* file number of last error */
    short 	last_error_case;		/* case number of last error */
    short 	last_error_subcase;		/* subcase number of last error */
    short 	last_error_usage;		/* usage number of last error */
    int		last_invarg_num;		/* last invalid argument number */
    char	last_invarg_func[ACB_FUNC_NAME_LEN+2];	/* function in which last invalid argument error was detected */
    unsigned int	num_restore_errors;	/* total number of restore errors */
    short	last_restore_error;		/* last restore error detected */
    char	last_restore_error_func[ACB_FUNC_NAME_LEN+2];	/* function in which last restore error was detected */
    int		last_restore_error_di;		/* device index of last restore error */
    short	last_restore_error_pi;		/* property index of last restore error */
    short 	last_restore_error_file;	/* file number of last restore error */
    short 	last_restore_error_case;	/* case number of last restore error */
    short 	last_restore_error_subcase;	/* subcase number of last restore error */
    short 	last_restore_error_usage;	/* usage number of last restore error */
    int		last_request_di;		/* device index of last request */
    short	last_request_pi;		/* property index of last request */
    short 	last_request_file;		/* file number of last request */
    short 	last_request_case;		/* case number of last request */
    short 	last_request_subcase;		/* subcase number of last request */
    short 	last_request_usage;		/* usage number of last request */
    char	last_usage[SDA_USAGE_NAME_LEN+2];	/* last SDA usage */
    int		last_restore_di;		/* last restore device index */
    short	last_restore_pi;		/* last restore property index */
    short 	last_restore_file;		/* last restore file number */
    short 	last_restore_case;		/* case number of last restore */
    short 	last_restore_subcase;		/* subcase number of last restore */
    short 	last_restore_usage_number;	/* usage number of last restore */
    char	last_restore_usage[SDA_USAGE_NAME_LEN+2];	/* last restore SDA usage */
    unsigned int	periodic_proc_count;	/* number of srprocs in current period */
    unsigned int	max_periodic_proc_count;	/* max number of srprocs in a period */
    unsigned short	proc_check_period;	/* srproc measurement period */
    unsigned int	total_srproc_time;	/* total time spent in SRPROCs in 15 Hz ticks */
    unsigned int	longest_srproc;		/* longest SRPROC in 15 Hz ticks */
    unsigned int	total_srcnct_time;	/* total time spent in SRCNCTs in 15 Hz ticks */
    unsigned int	longest_srcnct;		/* longest SRCNCT in 15 Hz ticks */
    unsigned int	total_open_time;	/* total time spent in db_open in 15 Hz ticks */
    unsigned int	longest_open;		/* longest db_open in 15 Hz ticks */
    unsigned int	total_select_time;	/* total time spent in db_select in 15 Hz ticks */
    unsigned int	longest_select;		/* longest db_select in 15 Hz ticks */
    unsigned int	sr_category_menu;	/* # of calls to */
    unsigned int	sr_data_length;		/* # of calls to */
    unsigned int	sr_directory_info;	/* # of calls to */
    unsigned int	sr_directory_info_by_date;	/* # of calls to */
    unsigned int	sr_disconnect;		/* # of calls to */
    unsigned int	sr_file_devices;	/* # of calls to */
    unsigned int	sr_file_has_device;	/* # of calls to */
    unsigned int	sr_file_has_devices;	/* # of calls to */
    unsigned int	sr_file_menu;		/* # of calls to */
    unsigned int	sr_file_save_errors;	/* # of calls to */
    unsigned int	sr_get_array_device;	/* # of calls to */
    unsigned int	sr_get_device;		/* # of calls to */
    unsigned int	sr_get_device_over_time;	/* # of calls to */
    unsigned int	sr_get_device_over_time_raw;	/* # of calls to */
    unsigned int	sr_get_device_raw;	/* # of calls to */
    unsigned int	sr_get_file_indices;	/* # of calls to */
    unsigned int	sr_get_save_error;	/* # of calls to */
    unsigned int	sr_get_snapshot;	/* # of calls to */
    unsigned int	sr_get_status_text_over_time;	/* # of calls to */
    unsigned int	sr_is_on;		/* # of calls to */
    unsigned int	sr_is_positive;		/* # of calls to */
    unsigned int	sr_is_ramping;		/* # of calls to */
    unsigned int	sr_maximum_file;	/* # of calls to */
    unsigned int	sr_newest_file;		/* # of calls to */
    unsigned int	sr_oldest_file;		/* # of calls to */
    unsigned int	sr_read_device;		/* # of calls to */
    unsigned int	sr_restore_device;	/* # of calls to */
    unsigned int	sr_save_mask_to_properties;	/* # of calls to */
    unsigned int	sr_sda_all_case_times;	/* # of calls to */
    unsigned int	sr_sda_case_times;	/* # of calls to */
    unsigned int	sr_sda_cases_present;	/* # of calls to */
    unsigned int	sr_sda_config_case_info;	/* # of calls to */
    unsigned int	sr_sda_config_device;	/* # of calls to */
    unsigned int	sr_sda_config_device_list;	/* # of calls to */
    unsigned int	sr_sda_config_devices;	/* # of calls to */
    unsigned int	sr_sda_config_find_device;	/* # of calls to */
    unsigned int	sr_sda_config_find_wild;	/* # of calls to */
    unsigned int	sr_sda_data_lengths;	/* # of calls to */
    unsigned int	sr_sda_file_number;	/* # of calls to */
    unsigned int	sr_sda_get_device_over_time;	/* # of calls to */
    unsigned int	sr_sda_get_device_over_time_raw;	/* # of calls to */
    unsigned int	sr_sda_get_file_indices;	/* # of calls to */
    unsigned int	sr_sda_get_ftp_list;	/* # of calls to */
    unsigned int	sr_sda_get_ftp_num_points_list;	/* # of calls to */
    unsigned int	sr_sda_get_raw_ftp_list;	/* # of calls to */
    unsigned int	sr_sda_get_raw_snapshot_list;	/* # of calls to */
    unsigned int	sr_sda_get_snapshot_list;	/* # of calls to */
    unsigned int	sr_sda_get_snap_num_points_list;	/* # of calls to */
    unsigned int	sr_sda_get_status_text_over_time;	/* # of calls to */
    unsigned int	sr_sda_num_subcases;	/* # of calls to */
    unsigned int	sr_sda_select_directory;	/* # of calls to */
    unsigned int	sr_sda_set_directory;	/* # of calls to */
    unsigned int	sr_sda_snapshot_stats;	/* # of calls to */
    unsigned int	sr_sda_store_number;	/* # of calls to */
    unsigned int	sr_sda_store_times;	/* # of calls to */
    unsigned int	sr_sda_subcases_present;	/* # of calls to */
    unsigned int	sr_set_source;		/* # of calls to */
    unsigned int	sr_snap_active_devices;	/* # of calls to */
    unsigned int	sr_snap_date_to_file_info;	/* # of calls to */
    unsigned int	sr_snap_directory_info;	/* # of calls to */
    unsigned int	sr_snapshot_header;	/* # of calls to */
    unsigned int	sr_snapshot_info;	/* # of calls to */
    unsigned int	sr_snapshot_info_list;	/* # of calls to */
    unsigned int	sr_status_text;		/* # of calls to */
    unsigned int	sr_status;		/* # of calls to */
    unsigned int	srcnct;			/* # of calls to */
    unsigned int	srproc;			/* # of calls to */
    unsigned int	db_open;		/* # of calls to */
    unsigned int	db_select;		/* # of calls to */
    unsigned int	db_modify;		/* # of calls to */
    char 	unused[SRMNGR_PARAM_REPLY_FILLER];	/* should maintain total structure size at 3900 bytes */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ SRMNGR_ACB_REPLY;
 
typedef struct SRMNGR_ACB_DEVICE_ENTRY		/* SRMNGR device entry data */
    {
    int		device_index;			/* device index */
    short	property;			/* property index */
    int		length;				/* data length in bytes */
    int		offset;				/* data offset in bytes */
    int		type;				/* type of access */
    int		file_number;			/* file number */
    short	sda_usage;			/* SDA usage */
    short	sda_case;			/* SDA case */
    short	sda_subcase;			/* SDA subcase */
    unsigned int	read_data;		/* up to first 4 bytes of raw reading data */
    short	error;				/* access status */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ SRMNGR_ACB_DEVICE_ENTRY;

#define	SRMNGR_PARAM_MAX_DEVICES	100	/* maximum number of devices */

typedef struct SRMNGR_ACB_READ_DEVICES_REPLY	/* SRMNGR device data */
    {
    short		status;			/* returned status of request */
    unsigned int	num_returned;		/* number of devices returned */
    unsigned int	num_devices;		/* number of devices in existence */
    SRMNGR_ACB_DEVICE_ENTRY	devices[SRMNGR_PARAM_MAX_DEVICES];
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ SRMNGR_ACB_READ_DEVICES_REPLY;

typedef struct SRMNGR_ACB_RESTORE_DEVICE_ENTRY	/* SRMNGR restore device entry data */
    {
    int		device_index;			/* device index */
    short	property;			/* property index */
    int		length;				/* data length in bytes */
    int		offset;				/* data offset in bytes */
    int		type;				/* type of access */
    int		file_number;			/* file number */
    short	sda_usage;			/* SDA usage */
    short	sda_case;			/* SDA case */
    short	sda_subcase;			/* SDA subcase */
    unsigned int	restore_data;		/* up to first 4 bytes of raw setting data */
    short	error;				/* access status */
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ SRMNGR_ACB_RESTORE_DEVICE_ENTRY;

#define	SRMNGR_PARAM_MAX_RESTORE_DEVICES	100	/* maximum number of restore devices */

typedef struct SRMNGR_ACB_RESTORE_DEVICES_REPLY	/* SRMNGR restore device data */
    {
    short		status;			/* returned status of request */
    unsigned int	num_returned;		/* number of devices returned */
    unsigned int	num_devices;		/* number of devices in existence */
    SRMNGR_ACB_RESTORE_DEVICE_ENTRY	devices[SRMNGR_PARAM_MAX_RESTORE_DEVICES];
    } __attribute__((packed)) /* Added by the PACKINATOR(tm) */ SRMNGR_ACB_RESTORE_DEVICES_REPLY;

/* end of Save/Restore Manager */



/* Utility functions */

#define	UTIL_ACB_TC_REQUEST_STATS	1	/* request general statistics */
#define	UTIL_ACB_TC_DIAG_CLEAR		3	/* clear general statistics */
#define	UTIL_ACB_TC_DEBUG_ENABLE	4	/* enable debug mode */
#define	UTIL_ACB_TC_DEBUG_DISABLE	5	/* disable debug mode */
#define	UTIL_ACB_TC_REQUEST_TERMINATE	20	/* request program termination */

typedef struct UTIL_ACB_REQUEST			/* ACNET callback request structure */
    {
    short	generic_type_code;		/* should always have a value of ACNET_CALLBACK_DATABASE */
    short	type_code;			/* utility callback main type code */
    short	subtype;			/* utility callback secondary type code */
    int		request_data;			/* request specific data */
    int		request_data_2;			/* request specific data */
    } __attribute__((packed)) UTIL_ACB_REQUEST;

#define	UTIL_PARAM_REPLY_FILLER		3898	/* reply structure filler size */

typedef struct UTIL_ACB_REPLY			/* ACNET callback reply structure */
    {
    short	status;				/* returned status of request */
    char 	unused[UTIL_PARAM_REPLY_FILLER];	/* should maintain total structure size at 3900 bytes */
    } __attribute__((packed)) UTIL_ACB_REPLY;

typedef int (*util_acb_function)(UTIL_ACB_REQUEST *request,
				 void *callback_data,
				 UTIL_ACB_REPLY *reply,
				 int *reply_length);	/* utility ACNET callback function */

int utility_acb_register_function(util_acb_function callback_func,
				  void *callback_data);
int utility_acb_send_terminate_request(int node, char *process_name,
				       int wait_for_reply);
int utility_acb_unregister_function(util_acb_function callback_func,
				    void *callback_data);

/* end of utility functions */



/*
**  web log support ...
*/
#define	WEBLOG_ACB_TC_REQUEST_STATS	1	/* request web log statistics */
#define	WEBLOG_ACB_TC_DIAG_CLEAR	3	/* clear web log diagnostics */
#define	WEBLOG_ACB_TC_REMOTE_MESSAGE	28	/* receive remote message */

#define	WEBLOG_ACB_MAX_VALUE_LENGTH	128	/* maximum value length */

typedef struct WEBLOG_ACB_REQUEST		/* ACNET callback request structure */
    {
    short	generic_type_code;		/* should always have a value of ACNET_CALLBACK_ACNETAPI */
    short	type_code;			/* ACNET API callback main type code */
    short	subtype;			/* ACNET API callback secondary type code */
    unsigned int	request_flags;		/* request modifier flags (meaningless for statistics request) */
    int		start_index;			/* first entry to return */
    int		num_entries;			/* maximum number of entries to return */
    int		value_type;			/* type of value */
    char	value_data[WEBLOG_ACB_MAX_VALUE_LENGTH];	/* value data */
    } __attribute__((packed)) WEBLOG_ACB_REQUEST;

#define	WEBLOG_PARAM_REPLY_FILLER	7854	/* reply structure filler size */

#define	WEBLOG_ACB_LOG_NAME_LENGTH	16	/* maximum web log name length */
#define	WEBLOG_ACB_LOG_FILE_NAME_LENGTH	128	/* maximum log file name length */

typedef struct WEBLOG_ACB_REPLY			/* ACNET callback reply structure */
    {
    short	status;				/* returned status of request */
    char	log_name[WEBLOG_ACB_LOG_NAME_LENGTH+2];
    char	default_log_file[WEBLOG_ACB_LOG_FILE_NAME_LENGTH+2];
    char 	unused[WEBLOG_PARAM_REPLY_FILLER];	/* should maintain total structure size at 8000 bytes */
    } __attribute__((packed)) WEBLOG_ACB_REPLY;

#define	WEBLOG_ACB_REMOTE_MESSAGE_ID	"WebLogRemote"

typedef struct WEBLOG_ACB_REMOTE_MESSAGE
    {
    short	generic_type_code;		/* should always have a value of ACNET_CALLBACK_WEBLOG */
    short	type_code;			/* callback main type code (WEBLOG_ACB_TC_REMOTE_MESSAGE) */
    short	subtype;			/* callback secondary type code */
    unsigned int	request_flags;		/* request modifier flags */
    char	id_string[sizeof(WEBLOG_ACB_REMOTE_MESSAGE_ID)];
    char	process_name[PROCESS_NAME_LEN+2];
    char	token_string[WEBLOG_REMOTE_TOKEN_LEN+2];
    int		message_type;
    int		status;
    unsigned int	num_suppressed_settings;
    unsigned int	execution_start;
    unsigned int	execution_end;
    int		num_values;
    } __attribute__((packed)) WEBLOG_ACB_REMOTE_MESSAGE;

typedef struct WEBLOG_ACB_REMOTE_MESSAGE_REPLY
    {
    short	status;
    } __attribute__((packed)) WEBLOG_ACB_REMOTE_MESSAGE_REPLY;

/* end of WEBLOG */


/*
**  Scope support ...
*/
#define	SCOPE_ACB_TC_REQUEST_STATS	1	/* request scope statistics */
#define	SCOPE_ACB_TC_DIAG_CLEAR		3	/* clear scope diagnostics */
#define	SCOPE_ACB_TC_COMMAND_TRACE_ON	9	/* turn on the tracing of scope command strings */
#define	SCOPE_ACB_TC_COMMAND_TRACE_OFF	10	/* turn off the tracing of scope command strings */
#define	SCOPE_ACB_TC_SCOPE_LIST		15	/* request the list of connected scopes */
#define	SCOPE_ACB_TC_READ_CONNECT_INFO	19	/* read scope connection info */

#define	SCOPE_ACB_MAX_OBJECT_LENGTH	256	/* maximum object length */
#define	SCOPE_ACB_MAX_VALUE_LENGTH	256	/* maximum value length */

typedef struct SCOPE_ACB_REQUEST		/* ACNET callback request structure */
    {
    short	generic_type_code;		/* should always have a value of ACNET_CALLBACK_ACNETAPI */
    short	type_code;			/* ACNET API callback main type code */
    short	subtype;			/* ACNET API callback secondary type code */
    unsigned int	request_flags;		/* request modifier flags (meaningless for statistics request) */
    int		start_index;			/* first entry to return */
    int		num_entries;			/* maximum number of entries to return */
    char	object_name[SCOPE_ACB_MAX_OBJECT_LENGTH+2];	/* object name string */
    int		value_type;			/* type of value */
    char	value_data[SCOPE_ACB_MAX_VALUE_LENGTH+2];	/* value data */
    } __attribute__((packed)) SCOPE_ACB_REQUEST;

#define	SCOPE_PARAM_REPLY_FILLER	16010	/* reply structure filler size */

typedef struct SCOPE_ACB_REPLY			/* ACNET callback reply structure */
    {
    short	status;				/* returned status of request */
    int		num_scopes;
    unsigned int	scope_command_trace_off;	/* # of calls to */
    unsigned int	scope_command_trace_on;		/* # of calls to */
    unsigned int	scope_connect;			/* # of calls to */
    unsigned int	scope_connection_is_valid;	/* # of calls to */
    unsigned int	scope_disconnect;		/* # of calls to */
    unsigned int	scope_enable_channel;		/* # of calls to */
    unsigned int	scope_error_to_acnet_error;	/* # of calls to */
    unsigned int	scope_get_config_info;		/* # of calls to */
    unsigned int	scope_get_edge_trigger_config_info;	/* # of calls to */
    unsigned int	scope_get_id_string;		/* # of calls to */
    unsigned int	scope_get_module_id;		/* # of calls to */
    unsigned int	scope_get_string;		/* # of calls to */
    unsigned int	scope_get_trigger_config_info;	/* # of calls to */
    unsigned int	scope_get_trigger_coupling_convert_id;	/* # of calls to */
    unsigned int	scope_get_trigger_mode_convert_id;	/* # of calls to */
    unsigned int	scope_get_trigger_slope_convert_id;	/* # of calls to */
    unsigned int	scope_get_trigger_source_convert_id;	/* # of calls to */
    unsigned int	scope_get_trigger_type_convert_id;	/* # of calls to */
    unsigned int	scope_get_waveform;		/* # of calls to */
    unsigned int	scope_info;			/* # of calls to */
    unsigned int	scope_is_busy;			/* # of calls to */
    unsigned int	scope_make_command_trace_entry;	/* # of calls to */
    unsigned int	scope_request_measurement;	/* # of calls to */
    unsigned int	scope_reset;			/* # of calls to */
    unsigned int	scope_set_display_position;	/* # of calls to */
    unsigned int	scope_set_edge_trigger_params;	/* # of calls to */
    unsigned int	scope_set_num_traces;		/* # of calls to */
    unsigned int	scope_set_offset;		/* # of calls to */
    unsigned int	scope_set_range;		/* # of calls to */
    unsigned int	scope_set_sample_rate;		/* # of calls to */
    unsigned int	scope_set_trace_length;		/* # of calls to */
    unsigned int	scope_set_trigger_level;	/* # of calls to */
    unsigned int	scope_set_trigger_type;		/* # of calls to */
    unsigned int	tds7000_enable_channel;		/* # of calls to */
    unsigned int	tds7000_get_config_info;	/* # of calls to */
    unsigned int	tds7000_get_edge_trigger_config_info;	/* # of calls to */
    unsigned int	tds7000_get_id_string;		/* # of calls to */
    unsigned int	tds7000_get_string;		/* # of calls to */
    unsigned int	tds7000_get_trigger_config_info;	/* # of calls to */
    unsigned int	tds7000_get_trigger_coupling_convert_id;	/* # of calls to */
    unsigned int	tds7000_get_trigger_mode_convert_id;	/* # of calls to */
    unsigned int	tds7000_get_trigger_slope_convert_id;	/* # of calls to */
    unsigned int	tds7000_get_trigger_source_convert_id;	/* # of calls to */
    unsigned int	tds7000_get_trigger_type_convert_id;	/* # of calls to */
    unsigned int	tds7000_get_waveform;		/* # of calls to */
    unsigned int	tds7000_is_busy;		/* # of calls to */
    unsigned int	tds7000_request_measurement;	/* # of calls to */
    unsigned int	tds7000_reset_scope;		/* # of calls to */
    unsigned int	tds7000_set_display_position;	/* # of calls to */
    unsigned int	tds7000_set_edge_trigger_params;	/* # of calls to */
    unsigned int	tds7000_set_num_traces;		/* # of calls to */
    unsigned int	tds7000_set_offset;		/* # of calls to */
    unsigned int	tds7000_set_range;		/* # of calls to */
    unsigned int	tds7000_set_sample_rate;	/* # of calls to */
    unsigned int	tds7000_set_trace_length;	/* # of calls to */
    unsigned int	tds7000_set_trigger_level;	/* # of calls to */
    unsigned int	tds7000_set_trigger_type;	/* # of calls to */
    unsigned int	rtd720_get_config_info;		/* # of calls to */
    unsigned int	rtd720_get_id_string;		/* # of calls to */
    unsigned int	rtd720_get_string;		/* # of calls to */
    unsigned int	rtd720_get_waveform;		/* # of calls to */
    unsigned int	rtd720_is_busy;			/* # of calls to */
    unsigned int	rtd720_request_measurement;	/* # of calls to */
    unsigned int	rtd720_reset_scope;		/* # of calls to */
    unsigned int	rtd720_set_display_position;	/* # of calls to */
    unsigned int	rtd720_set_num_traces;		/* # of calls to */
    unsigned int	rtd720_set_offset;		/* # of calls to */
    unsigned int	rtd720_set_range;		/* # of calls to */
    unsigned int	rtd720_set_sample_rate;		/* # of calls to */
    unsigned int	rtd720_set_trace_length;	/* # of calls to */
    unsigned int	rtd720_set_trigger_level;	/* # of calls to */
    unsigned int	waverunner_enable_channel;	/* # of calls to */
    unsigned int	waverunner_get_config_info;	/* # of calls to */
    unsigned int	waverunner_get_id_string;	/* # of calls to */
    unsigned int	waverunner_get_string;		/* # of calls to */
    unsigned int	waverunner_get_trigger_config_info;	/* # of calls to */
    unsigned int	waverunner_get_trigger_coupling_convert_id;	/* # of calls to */
    unsigned int	waverunner_get_trigger_mode_convert_id;	/* # of calls to */
    unsigned int	waverunner_get_trigger_slope_convert_id;	/* # of calls to */
    unsigned int	waverunner_get_trigger_source_convert_id;	/* # of calls to */
    unsigned int	waverunner_get_trigger_type_convert_id;	/* # of calls to */
    unsigned int	waverunner_get_waveform;	/* # of calls to */
    unsigned int	waverunner_request_measurement;	/* # of calls to */
    unsigned int	waverunner_reset_scope;		/* # of calls to */
    unsigned int	waverunner_set_edge_trigger_params;	/* # of calls to */
    unsigned int	waverunner_set_num_traces;	/* # of calls to */
    unsigned int	waverunner_set_offset;		/* # of calls to */
    unsigned int	waverunner_set_range;		/* # of calls to */
    unsigned int	waverunner_set_sample_rate;	/* # of calls to */
    unsigned int	waverunner_set_trace_length;	/* # of calls to */
    unsigned int	waverunner_set_trigger_level;	/* # of calls to */
    unsigned int	waverunner_set_trigger_type;	/* # of calls to */
    char 	unused[SCOPE_PARAM_REPLY_FILLER];	/* should maintain total structure size at 16K bytes */
    } __attribute__((packed)) SCOPE_ACB_REPLY;

#define	SCOPE_PARAM_MAX_SCOPES	32		/* maximum number of returned scopes */

typedef struct SCOPE_ACB_SCOPE_LIST_ENTRY
    {
    char	name[SCOPE_ACB_MAX_VALUE_LENGTH+2];
    } __attribute__((packed)) SCOPE_ACB_SCOPE_LIST_ENTRY;

typedef struct SCOPE_ACB_SCOPE_LIST_REPLY	/* scope list data */
    {
    short		status;			/* returned status of request */
    unsigned int	num_returned;		/* number of scopes returned */
    unsigned int	num_scopes;		/* number of scopes in existence */
    SCOPE_ACB_SCOPE_LIST_ENTRY	scopes[SCOPE_PARAM_MAX_SCOPES];
    } __attribute__((packed)) SCOPE_ACB_SCOPE_LIST_REPLY;

/* end of scope support */



#endif