User manual

53
// Configuration option processing calls
__chapi_add_config_option_p add_config_option;
__chapi_set_option_value_p set_option_value;
__chapi_undo_option_value_p undo_option_value;
__chapi_commit_option_value_p commit_option_value;
__chapi_is_option_value_specified_p is_option_value_specified;
__chapi_is_option_value_changed_p is_option_value_changed;
__chapi_option_value_change_ack_p option_value_change_ack;
// Bus adapter calls
// NOTE: THIS IS CHARON DEEP INTEGRATION
__chapi_intercept_bus_address_space_p intercept_bus_address_space;
__chapi_release_bus_address_space_p release_bus_address_space;
__chapi_get_configured_ram_size_p get_configured_ram_size;
__chapi_get_ram_segment_p get_ram_segment;
__chapi_read_bus_timeout_p read_bus_timeout;
__chapi_read_bus_abort_p read_bus_abort;
__chapi_write_bus_timeout_p write_bus_timeout;
__chapi_write_bus_abort_p write_bus_abort;
// New way of IRQ processing calls continuation ...
//
// This method is used in order to change interrupt vector for specified
// bus request.
//
__chapi_set_brq_vector_p set_brq_vector;
//
// This method is used in order to translate specified bus address into the
// emulated system RAM address.
//
// NOTE: THIS IS CHARON DEEP INTEGRATION
__chapi_translate_for_dma_p translate_for_dma;
//
// This method is used to get bus type of the device owning bus.
// This is required to support different bus types within the single
// implementational module, e.g. QBUS device very often have its UNIBUS
// equivalent with almost the same functionality, but address processing is
// different, so we have to know bus type we are connected to at runtine.
//
__chapi_get_bus_type_p get_bus_type;
//
// Simple extension of configuration options interface which allows
// disabling/freezing of option values. This is required in the light
// of access to CHARON interactive console which requires protection
// of option values even of CHAPI devices...
//
__chapi_set_and_disable_option_value_p set_and_disable_option_value;
__chapi_enable_option_value_p enable_option_value;
__chapi_freeze_option_value_p freeze_option_value;
__chapi_disable_option_value_p disable_option_value;
__chapi_is_option_value_hidden_p is_option_value_hidden;
// Product versioning information
__chapi_get_product_ident_p get_product_ident;
__chapi_get_hardware_model_p get_hardware_model;
__chapi_get_hardware_name_p get_hardware_name;
__chapi_get_product_copyright_p get_product_copyright;
__chapi_get_product_custom_string_p get_product_custom_string;
__chapi_get_product_major_version_p get_product_major_version;
__chapi_get_product_minor_version_p get_product_minor_version;
__chapi_get_product_build_version_p get_product_build_version;