acl_get_devices_c
status.i4.v = acl_get_devices_c(compiled_code.g.v, options.u4.v,
read_devices.sp.r, num_reading.i4.r,
set_devices.sp.r, num_setting.i4.r,
error_string.i1a.r)
This routine reads device information from a compiled Accelerator
Command Language (ACL) script. This code must have been compiled
by an earlier call to 'acl_compile_c'.
compiled_code compiled_code
(This should have been returned by an earlier
call to 'acl_compile_c'.)
options options (not presently used)
(ACL_OPT_NONE -> no options selected)
read_devices returned list of devices read by this script
(This memory is allocated by the routine and should
not be freed by the caller.)
(array of ARRAY_DEVICE_DATA structures)
num_reading returned number of devices being read
set_devices returned list of devices set by this script
(This memory is allocated by the routine and should
not be freed by the caller.)
(array of ARRAY_DEVICE_DATA structures)
num_setting returned number of devices being read
error_string returned error string (Allow at least 133 characters.)
(A value of NULL can be passed for this argument
if this information is not needed.)
This function returns ACNET status values as follows:
CLIB_OK success
CLIB_MEMFAIL failed in allocating dynamic memory
CLIB_INVARG not a valid block of compiled code
CLIB_NOTYET invalid command encountered
This function requires the following include files:
cbslib_h, acnet_errors.h
Related functions:
intro_acl, acl_compile_c, acl_execute_c, acl_file_execute_c,
acl_file_read_c, acl_file_write_c, acl_read_symbol_c,
acl_read_symbol_info_c, acl_read_symbol_names, acl_info_c,
acl_cancel_requests_c, acl_set_symbol_c, acl_default_data_source_c,
acl_log_file_c, acl_default_script_path_c, acl_script_is_executing,
acl_register_host_request_func, acl_unregister_host_request_func,
acl_translate_command_string
C usage:
static const char command_text[] = "set B:HB812 700.0";
char *subst_devices = (char *) NULL;
char error_string[133];
short default_ftd = FTD_ONESHOT;
int status;
int command_length = 0;
int num_devices = 0;
int num_reading;
int num_setting;
unsigned int options = ACL_OPT_PARSE_ONLY;
void *compiled_code;
ARRAY_DEVICE_DATA *read_devices;
ARRAY_DEVICE_DATA *set_devices;
status = acl_compile_c(command_text,command_length,subst_devices,
num_devices,default_ftd,options,&compiled_code,
error_string);
status = acl_get_devices_c(compiled_code,options,&read_devices,
&num_reading,&set_devices,&num_setting,
error_string);