acl_h

/*
**	Copyright 1998, Universities Research Association.  All rights reserved.
*/
/******************************************************************************/
/* acl.h
**
**	This file contains public definitions for ACL
**	(Accelerator Command Language).
**
**	V0.0	B S Hendricks				07-Apr-11
**	Created
**
*/
/******************************************************************************/

#ifndef ACL_DEFINED
#define	ACL_DEFINED

#include <stdio.h>
#include "cnsparam.h"
#include "cns_data_structs.h"
#include "clib.h"
#include "cbslib.h"
#include "diolib.h"

/******************************************************************************/
/* 
**	defined constants for argument values
*/
/******************************************************************************/

    #define	ACL_DB_DIR_TABLE	"appdb.hendricks.acl_file_dir"
    #define	ACL_DB_TABLE	"appdb.hendricks.acl_files"

    #define	ACL_SOURCE_CODE		0		/* ACL source code */
    #define	ACL_FLAT_FILE		1		/* ASCII text file */
    #define	ACL_DB_FILE		2		/* database table name from ACL_DB_TABLE */

    #define	ACL_DEFAULT_TYPE	-1		/* return data in the same format in which it is stored */
    #define	ACL_FLOAT_VALUE		1		/* single precision floating point value */
    #define	ACL_INTEGER_VALUE	2		/* integer value */
    #define	ACL_STRING_VALUE	3		/* null terminated string value */
    #define	ACL_DOUBLE_VALUE	4		/* double precision floating point value */
    #define	ACL_DATE_VALUE		5		/* date value */
    #define	ACL_LOGICAL_VALUE	6		/* logical value */
    #define	ACL_ERROR_VALUE		7		/* ACNET error value */
    #define	ACL_DEVICE_INDEX_VALUE	8		/* device index value */
    #define	ACL_DEVICE_NAME_VALUE	9		/* device name value */
    #define	ACL_UNSIGNED_INT_VALUE	10		/* unsigned integer value */
    #define	ACL_OUTPUT_POSITION_VALUE	11	/* output position value */
    #define	ACL_INPUT_VALUE		12		/* user input value */
    #define	ACL_SHORT_INT_VALUE	13		/* short integer value */
    #define	ACL_NODE_VALUE		14		/* ACNET node value */
    #define	ACL_UNSIGNED_SHORT_VALUE	15	/* unsigned short value */
    #define	ACL_BYTE_VALUE		16		/* byte integer value */
    #define	ACL_UNSIGNED_BYTE_VALUE	17		/* unsigned byte value */
    #define	ACL_RTL_ERROR_VALUE	18		/* RTL error value */
    #define	ACL_SYSTEM_ERROR_VALUE	19		/* system error value */
    #define	ACL_COMPOUND_STRING_VALUE	20	/* compound string value */
    #define	ACL_DEVICE_VALUE	21		/* device reading value */
    #define	ACL_ACKNOWLEDGE_VALUE	22		/* user acknowledge value */
    #define	ACL_EVENT_VALUE		23		/* clock event value */
    #define	ACL_DEVICE_TEXT_VALUE	24		/* device text value */
    #define	ACL_DEVICE_UNITS_VALUE	25		/* device units text value */
    #define	ACL_LONG_LONG_VALUE	26		/* long long integer value */
    #define	ACL_ULONG_LONG_VALUE	27		/* unsigned long long integer value */
    #define	ACL_DEVICE_DATA_VALUE	28		/* device data value */

    #define	ACL_COMMAND_NAME_LEN	32		/* maximum length of an ACL command name string */
    #define	ACL_FUNCTION_NAME_LEN	32		/* maximum length of an ACL function name string */
    #define	ACL_VALUE_TYPE_NAME_LEN	32		/* maximum length of an ACL value type name string */

    #define	ACL_VALUE_SYMBOL	"_VALUE"	/* symbol which contains last assignment value */
    #define	ACL_STRING_SYMBOL	"_STRING"	/* symbol which contains last string assignment value */
    #define	ACL_STATUS_SYMBOL	"_STATUS"	/* symbol which contains status of last ACL command */
    #define	ACL_ERROR_STATUS_SYMBOL	"_ERROR_STATUS"	/* symbol which contains last status upon entering an error handler */
    #define	ACL_LAST_ERROR_STATUS_SYMBOL	"_LAST_ERROR_STATUS"	/* symbol which contains previous status upon entering an error handler */
    #define	ACL_ERROR_LINE_SYMBOL	"_ERROR_LINE"	/* symbol which contains line number where last error occurred */
    #define	ACL_ERROR_COMMAND_SYMBOL	"_ERROR_COMMAND"	/* symbol which contains the command type where last error occurred */
    #define	ACL_ERROR_STRING_SYMBOL	"_ERROR_STRING"	/* symbol which contains the current error string */
    #define	ACL_ERROR_DEVICE_SYMBOL	"_ERROR_DEVICE"	/* symbol which contains the last device index with a read/set error */
    #define	ACL_ERROR_COUNT_SYMBOL	"_ERROR_COUNT"	/* symbol which contains the current error count */
    #define	ACL_PENDING_COUNT_SYMBOL	"_PENDING_COUNT"	/* symbol which contains the current pending count */
    #define	ACL_GENERIC_ERROR_COUNT_SYMBOL	"_GENERIC_ERROR_COUNT"	/* symbol which contains the current generic error count */

    #define	ACL_SYMBOL_NAME_LEN	32		/* maximum length of an ACL symbol name */

    #define	ACL_DB_FILE_NAME_LEN	32		/* maximum length of an ACL database file name */
    #define	ACL_DESCRIPTION_LEN	64		/* ACL file description length */
    #define	ACL_LONG_DESCRIPTION_LEN	252	/* ACL file long description length */

    #define	ACL_ALL_FILES		0		/* display all ACL files in menu */
    #define	ACL_PROTECTED_FILES	1		/* display only protected ACL files in menu */
    #define	ACL_NONSETTING_FILES	2		/* display only ACL files not containing settings in menu */

    #define	ACL_OUTPUT_NONE		0		/* no output desired */
    #define	ACL_OUTPUT_DEFAULT	1		/* default output */
    #define	ACL_OUTPUT_VARIABLE	2		/* output to a variable */
    #define	ACL_OUTPUT_SYMBOL	3		/* output to a symbol */
    #define	ACL_OUTPUT_FILE		4		/* output to a text file */
    #define	ACL_OUTPUT_MAIL		5		/* output to a mail message */
    #define	ACL_OUTPUT_ERROR	6		/* output to standard error */
    #define	ACL_OUTPUT_BINARY_FILE	7		/* output to a binary file */
    #define	ACL_OUTPUT_SHARED_LOG	8		/* output to a shared log file */
    #define	ACL_OUTPUT_DATABASE	9		/* output to a database */
    #define	ACL_OUTPUT_FILE_APPEND	10		/* output to a text file (append mode) */
    #define	ACL_OUTPUT_BINARY_OVERWRITE	11	/* output to a binary file (overwrite mode) */
    #define	ACL_OUTPUT_PIPE		12		/* output to a pipe */
    #define	ACL_OUTPUT_STDOUT	13		/* force output to standard out */
    #define	ACL_OUTPUT_TEXT_DEVICE	14		/* output to a text device */
    #define	ACL_OUTPUT_PASTE_BUFFER	15		/* output to a console paste buffer */
    #define	ACL_OUTPUT_CONSOLE_LOG	16		/* output to a console log file */

    #define	ACL_OPT_NONE		0		/* no options selected */
    #define	ACL_OPT_PARSE_ONLY	1		/* parse, but do not execute code */
    #define	ACL_OPT_TIME_ORDER	2		/* arrange files in chronological order */
    #define	ACL_OPT_DELETE_SYMBOLS	4		/* delete all existing ACL symbols */
    #define	ACL_OPT_COMPILED_CODE	8		/* code has already been compiled */
    #define	ACL_OPT_INFO_PARSE	0x10		/* parse the code and generate information structures */
    #define	ACL_OPT_CANCEL_REQUESTS	0x20		/* cancel data requests */
    #define	ACL_OPT_FREE_MEMORY	0x40		/* free associated memory */
    #define	ACL_OPT_NO_STALE	0x80		/* suppress stale data errors */
    #define	ACL_OPT_DONT_CLOSE	0x100		/* don't close the ACL file */
    #define	ACL_OPT_SAVE_SOURCE	0x200		/* save source in compiled code */
    #define	ACL_OPT_CREATE_SYMBOL	0x400		/* create a new symbol if the requested one doesn't exist */
    #define	ACL_OPT_CLEAR_STATUS	0x800		/* clear global status symbols */
    #define	ACL_OPT_SUBST_ARRAY_DEVICES	0x1000	/* substitute device names can include array indices */
    #define	ACL_OPT_READ_VARIABLE	0x2000		/* read variables rather than symbols */
    #define	ACL_OPT_NO_SETS		0x4000		/* suppress settings */
    #define	ACL_OPT_VERBOSE_OUTPUT	0x8000		/* want verbose output */
    #define	ACL_OPT_DIAGNOSTIC_MODE	0x10000		/* enable diagnostic mode */

    #define	ACL_GUI_OPT_NONE		0	/* no options selected */
    #define	ACL_GUI_OPT_PERSISTENT_WINDOW	1	/* wait for user to dismiss window */

    #define	ACL_MODE_IDLE		0
    #define	ACL_MODE_PARSE		1
    #define	ACL_MODE_EXECUTE	2
    #define	ACL_MODE_INFO_PARSE	3
    #define	ACL_MODE_PARSE_ONLY	4


/******************************************************************************/
/* 
**	data structure typedefs
*/
/******************************************************************************/

#define	ACL_DEVICE_ARGUMENT	1
#define	ACL_STRING_ARGUMENT	2

typedef struct ACL_ARG_INFO
    {
    int		type;
    int		index;
    char	*description;
    int		description_length;
    char	*default_value;
    int		default_length;
    } __attribute__((packed)) ACL_ARG_INFO;

typedef struct ACL_PRE_EXEC_DATA
    {
    int		line_number;
    int		line_index;
    int		command_type;
    char	*source_line;
    } __attribute__((packed)) ACL_PRE_EXEC_DATA;

typedef struct ACL_POST_EXEC_DATA
    {
    int		line_number;
    int		line_index;
    int		next_line_index;
    int		command_type;
    int		status;
    char	*source_line;
    } __attribute__((packed)) ACL_POST_EXEC_DATA;

#define	ACL_PROC_NAME_LEN	31

typedef struct ACL_PROC_DATA
    {
    char	name[ACL_PROC_NAME_LEN+1];
    int_function_voidp	proc;
    void	*proc_data;
    } __attribute__((packed)) ACL_PROC_DATA;

typedef struct ACL_EXIT_DATA
    {
    int		current_mode;
    int		execution_level;
    char	*current_script;
    int		current_line_number;
    char	*current_source_line;
    } ACL_EXIT_DATA;

#define	ACL_MAX_SCRIPT_NAME_LEN	64

typedef struct ACL_EXECUTION_INFO
    {
    char	script_name[ACL_MAX_SCRIPT_NAME_LEN+2];
    unsigned int	script_start_time;
    unsigned int	script_end_time;
    unsigned int	suppressed_setting_count;
    int		execution_status;
    int		current_mode;
    } ACL_EXECUTION_INFO;

typedef struct ACL_INPUT_FUNC_DATA		/* extra data to pass to an ACL input function */
    {
    void	*minimum;
    void	*maximum;
    } __attribute__((packed)) ACL_INPUT_FUNC_DATA;

#define	ACL_DB_FILE_NAME_LEN	32
#define	ACL_DB_LINE_TEXT_LEN	252

typedef struct ACL_DB_SEARCH_DATA
    {
    char	file_name[ACL_DB_FILE_NAME_LEN];
    int		line_number;
    char	line_text[ACL_DB_LINE_TEXT_LEN];
    } ACL_DB_SEARCH_DATA;

#define	ACL_REMOTE_TOKEN_LEN	16

typedef struct REMOTE_ACL_MESSAGE_VALUE
    {
    char	*descriptor;
    char	*value_string;
    } __attribute__((packed)) REMOTE_ACL_MESSAGE_VALUE;

typedef struct REMOTE_ACL_MESSAGE_DATA
    {
    char	process_name[PROCESS_NAME_LEN+2];
    int		node;
    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;
    REMOTE_ACL_MESSAGE_VALUE	*values;
    } __attribute__((packed)) REMOTE_ACL_MESSAGE_DATA;


/******************************************************************************/
/* 
**	function prototype typedefs
*/
/******************************************************************************/

typedef int (*acl_abort_function)(void);		/* ACL abort function */

typedef int (*acl_host_request_function)(char *request_text,
					 int once_only);	/* ACL host request function */

typedef int (*acl_input_function)(char *prompt_text, int data_type,
				  int max_length, void *value,
				  int *data_length, void *callback_data,
				  char *environment, int suppress_eof,
				  ACL_INPUT_FUNC_DATA *func_data);	/* ACL input function */

typedef int (*acl_output_function)(void *callback_data, char *output_string,
				   void *value, int value_type,
				   int value_length, int output_type,
				   char *destination);	/* ACL output function */

typedef int (*acl_post_exec_function)(void *callback_data,
				      ACL_POST_EXEC_DATA *command_data);	/* ACL post execution function */

typedef int (*acl_pre_exec_function)(void *callback_data,
				     ACL_PRE_EXEC_DATA *command_data);	/* ACL pre execution function */

typedef void (*acl_exit_handler_function)(ACL_EXIT_DATA *acl_data,
					  void *callback_data);	/* ACL user exit handler function */

typedef void (*remote_acl_message_handler)(void *handler_data,
					   REMOTE_ACL_MESSAGE_DATA *message_data);	/* remote ACL message callback function */


/******************************************************************************/
/*
**	shared ACL function prototypes
*/
/******************************************************************************/

#ifdef __cplusplus
extern "C" {
#endif

    int acl_add_remote_message_callback(remote_acl_message_handler message_handler,
					void *handler_data);
    int acl_cancel_requests_c(void *compiled_code, unsigned int options,
                              char *error_string);
    int acl_close(void);
    int acl_command_string_to_type(char *string, int *command_type);
    int acl_command_text(int *num_commands, char ***command_text,
                         char ***argument_text, char ***oneline_help);
    int acl_command_type_to_string_c(int command_type, char *string);
    int acl_compile_c(char *command_text, int command_length,
                      char *subst_devices, int num_devices, short default_ftd,
                      unsigned int options, void **ret_compiled_code,
                      char *error_string, char **subst_strings=(char **) NULL,
                      int num_subst_str=0,
                      ACL_PROC_DATA *procs=(ACL_PROC_DATA *) NULL,
                      int num_procs=0);
    int acl_default_data_source_c(int data_source, void *data_source_data);
    int acl_default_script_path_c(char *path, unsigned int options);
    int acl_delete_symbol(char *symbol_name);
    int acl_execute_c(char *command_text, int command_length,
                      char *subst_devices, int num_devices, short default_ftd,
                      unsigned int options, acl_output_function output_func,
                      void *output_func_data, acl_pre_exec_function pre_exec_func,
                      void *pre_exec_data, acl_post_exec_function post_exec_func,
                      void *post_exec_data, char *error_string,
                      acl_abort_function abort_func=(acl_abort_function) NULL,
                      char **subst_strings=(char **) NULL,
                      int num_subst_str=0,
                      acl_input_function input_func=(acl_input_function) NULL,
                      void *input_func_data=(void *) NULL,
                      char *log_file=(char *) NULL,
                      ACL_PROC_DATA *procs=(ACL_PROC_DATA *) NULL,
                      int num_procs=0);
    int acl_execute_file_in_window_c(char *title, int top_row,
				     int left_column, int num_rows,
				     int num_columns, char *file_name,
				     int file_type,
				     unsigned int gui_options=ACL_GUI_OPT_NONE,
				     char *subst_devices=(char *) NULL,
				     int num_devices=0,
				     short default_ftd=0,
				     char **subst_strings=(char **) NULL,
				     int num_subst_str=0,
				     unsigned int options=ACL_OPT_NONE,
				     char *error_string=(char *) NULL,
				     char *log_file=(char *) NULL,
				     acl_output_function output_func=(acl_output_function) NULL,
				     void *output_func_data=(void *) NULL,
				     acl_input_function input_func=(acl_input_function) NULL,
				     void *input_func_data=(void *) NULL,
				     acl_abort_function abort_func=(acl_abort_function) NULL,
				     acl_host_request_function hostreq_func=(acl_host_request_function) NULL,
				     acl_pre_exec_function pre_exec_func=(acl_pre_exec_function) NULL,
				     void *pre_exec_data=(void *) NULL,
				     acl_post_exec_function post_exec_func=(acl_post_exec_function) NULL,
				     void *post_exec_data=(void *) NULL,
				     ACL_PROC_DATA *procs=(ACL_PROC_DATA *) NULL,
				     int num_procs=0);
    int acl_execute_in_window_c(char *title, int top_row,
				int left_column, int num_rows,
				int num_columns, char *command_text,
				int command_length,
				unsigned int gui_options=ACL_GUI_OPT_NONE,
				char *subst_devices=(char *) NULL,
				int num_devices=0,
				short default_ftd=0,
				char **subst_strings=(char **) NULL,
				int num_subst_str=0,
				unsigned int options=ACL_OPT_NONE,
				char *error_string=(char *) NULL,
				char *log_file=(char *) NULL,
				acl_output_function output_func=(acl_output_function) NULL,
				void *output_func_data=(void *) NULL,
				acl_input_function input_func=(acl_input_function) NULL,
				void *input_func_data=(void *) NULL,
				acl_abort_function abort_func=(acl_abort_function) NULL,
				acl_host_request_function hostreq_func=(acl_host_request_function) NULL,
				acl_pre_exec_function pre_exec_func=(acl_pre_exec_function) NULL,
				void *pre_exec_data=(void *) NULL,
				acl_post_exec_function post_exec_func=(acl_post_exec_function) NULL,
				void *post_exec_data=(void *) NULL,
				ACL_PROC_DATA *procs=(ACL_PROC_DATA *) NULL,
				int num_procs=0);
    int acl_file_execute_c(char *file_name, int file_type,
                           char *subst_devices, int num_devices,
                           short default_ftd, unsigned int options,
                           acl_output_function output_func,
                           void *output_func_data,
                           acl_pre_exec_function pre_exec_func, void *pre_exec_data,
                           acl_post_exec_function post_exec_func, void *post_exec_data,
                           char *error_string,
                           acl_abort_function abort_func=(acl_abort_function) NULL,
                           char **subst_strings=(char **) NULL,
                           int num_subst_str=0,
                           acl_input_function input_func=(acl_input_function) NULL,
                           void *input_func_data=(void *) NULL,
                           char *log_file=(char *) NULL,
                           ACL_PROC_DATA *procs=(ACL_PROC_DATA *) NULL,
                           int num_procs=0);
    int acl_file_read_c(char *file_name, int file_type,
                        char **ret_command_text, int *ret_command_length,
                        int *num_symbols, int *num_read_devices,
                        int *num_set_devices, unsigned int options=ACL_OPT_NONE);
    int acl_file_read_description_c(char *file_name, int file_type,
				    char **ret_description,
				    int *ret_description_length,
				    int *descr_num_lines=(int *) NULL,
				    unsigned int options=ACL_OPT_NONE);
    int acl_file_stats_c(char *file_name, int file_type,
			 unsigned int *num_lines, unsigned int *total_chars,
			 int *longest_length, int *longest_line,
			 unsigned int options=ACL_OPT_NONE);
    int acl_file_write_c(char *file_name, int file_type,
                         char *command_text, int command_length,
                         char *description, char *long_description,
                         unsigned int options=ACL_OPT_NONE,
                         char *error_string=(char *) NULL);
    int acl_free_c(void **compiled_code, unsigned int options,
                   char *error_string);
    int acl_function_text(int *num_functions, char ***function_names,
			  char ***argument_text, char ***oneline_help);
    int acl_function_type_to_string_c(int function_type, char *string);
    int acl_get_devices_c(void *compiled_code, unsigned int options,
                          ARRAY_DEVICE_DATA **read_devices, int *num_reading,
                          ARRAY_DEVICE_DATA **set_devices, int *num_setting,
                          char *error_string);
    int acl_get_window_id(void);
    int acl_info_c(char *command_text, int command_length,
                   unsigned int options, char **symbol_names,
                   int *num_symbols, char **read_devices,
                   int *num_read_devices, char **set_devices,
                   int *num_set_devices, char *error_string,
                   char **subst_strings=(char **) NULL,
                   int *num_subst_str=(int *) NULL,
                   ACL_ARG_INFO **device_info=(ACL_ARG_INFO **) NULL,
                   int *num_device_info=(int *) NULL,
                   ACL_ARG_INFO **string_info=(ACL_ARG_INFO **) NULL,
                   int *num_string_info=(int *) NULL);
    int acl_interactive_c(char *title, int top_row, int left_column,
			  int num_rows, int num_columns);
    int acl_log_file_c(char *log_file, unsigned int options);
    FILE *acl_open_script_file(char *file_name, char *mode,
			       char *ret_file_name=(char *) NULL);
    int acl_read_last_execution_info(ACL_EXECUTION_INFO *execution_info);
    int acl_read_symbol_c(char *symbol_name, void *value, int *value_type,
                          int *value_length, int desired_type,
                          int max_return, unsigned int options=ACL_OPT_NONE,
                          int array_index=0);
    int acl_read_symbol_info_c(char *symbol_name, unsigned int options,
                               int *value_type, int *value_length,
                               int *num_elements);
    int acl_read_symbol_names(char **symbol_names, int *num_symbols,
                              unsigned int options=ACL_OPT_NONE);
    int acl_register_host_request_func(acl_host_request_function request_func);
    int acl_register_user_exit_handler(acl_exit_handler_function func,
				       void *callback_data=(void *) NULL);
    int acl_remove_remote_message_callback(remote_acl_message_handler message_handler,
					   void *handler_data);
    int acl_script_is_executing(void);
    int acl_search_db_files_c(char *search_string, unsigned int options,
			      int *num_matches,
			      ACL_DB_SEARCH_DATA **match_data=(ACL_DB_SEARCH_DATA **) NULL);
    int acl_set_symbol_c(char *symbol_name, void *value, int value_type,
                         int value_length, unsigned int options,
                         int array_index=0);
    int acl_translate_command_string(char *string, char *command_string);
    int acl_translate_function_string(char *string, char *function_string);
    int acl_unregister_host_request_func(void);
    int acl_unregister_user_exit_handler(acl_exit_handler_function func,
					 void *callback_data=(void *) NULL);
    int acl_value_type_to_string_c(int value_type, char *string);

#ifdef __cplusplus
}
#endif


/******************************************************************************/
/*
**	equivalent name definitions
*/
/******************************************************************************/

    #define	ACL_ADD_REMOTE_MESSAGE_CALLBACK	acl_add_remote_message_callback
    #define	ACL_CANCEL_REQUESTS_C		acl_cancel_requests_c
    #define	ACL_CLOSE			acl_close
    #define	ACL_COMMAND_STRING_TO_TYPE	acl_command_string_to_type
    #define	ACL_COMMAND_TEXT		acl_command_text
    #define	ACL_COMMAND_TYPE_TO_STRING_C	acl_command_type_to_string_c
    #define	ACL_COMPILE_C			acl_compile_c
    #define	ACL_DEFAULT_DATA_SOURCE_C	acl_default_data_source_c
    #define	ACL_DEFAULT_SCRIPT_PATH_C	acl_default_script_path_c
    #define	ACL_DELETE_SYMBOL		acl_delete_symbol
    #define	ACL_EXECUTE_C			acl_execute_c
    #define	ACL_EXECUTE_FILE_IN_WINDOW_C	acl_execute_file_in_window_c
    #define	ACL_EXECUTE_IN_WINDOW_C		acl_execute_in_window_c
    #define	ACL_FILE_EXECUTE_C		acl_file_execute_c
    #define	ACL_FILE_READ_C			acl_file_read_c
    #define	ACL_FILE_READ_DESCRIPTION_C	acl_file_read_descriptrion_c
    #define	ACL_FILE_STATS_C		acl_file_stats_c
    #define	ACL_FILE_WRITE_C		acl_file_write_c
    #define	ACL_FREE_C			acl_free_c
    #define	ACL_FUNCTION_TEXT		acl_function_text
    #define	ACL_FUNCTION_TYPE_TO_STRING_C	acl_function_type_to_string_c
    #define	ACL_GET_DEVICES_C		acl_get_devices_c
    #define	ACL_GET_WINDOW_ID		acl_get_window_id
    #define	ACL_INFO_C			acl_info_c
    #define	ACL_INTERACTIVE_C		acl_interactive_c
    #define	ACL_LOG_FILE_C			acl_log_file_c
    #define	ACL_OPEN_SCRIPT_FILE		acl_open_script_file
    #define	ACL_READ_LAST_EXECUTION_INFO	acl_read_last_execution_info
    #define	ACL_READ_SYMBOL_C		acl_read_symbol_c
    #define	ACL_READ_SYMBOL_INFO_C		acl_read_symbol_info_c
    #define	ACL_READ_SYMBOL_NAMES		acl_read_symbol_names
    #define	ACL_REGISTER_HOST_REQUEST_FUNC	acl_register_host_request_func
    #define	ACL_REGISTER_USER_EXIT_HANDLER	acl_register_user_exit_handler
    #define	ACL_REMOVE_REMOTE_MESSAGE_CALLBACK	acl_remove_remote_message_callback
    #define	ACL_SCRIPT_IS_EXECUTING		acl_script_is_executing
    #define	ACL_SEARCH_DB_FILES_C		acl_search_db_files_c
    #define	ACL_SET_SYMBOL_C		acl_set_symbol_c
    #define	ACL_TRANSLATE_COMMAND_STRING	acl_translate_command_string
    #define	ACL_TRANSLATE_FUNCTION_STRING	acl_translate_function_string
    #define	ACL_UNREGISTER_HOST_REQUEST_FUNC	acl_unregister_host_request_func
    #define	ACL_UNREGISTER_USER_EXIT_HANDLER	acl_unregister_user_exit_handler
    #define	ACL_VALUE_TYPE_TO_STRING_C	acl_value_type_to_string_c

#endif