{*copyc dft$server_iocb_error_condition

?? FMT (FORMAT := OFF) ??
  TYPE
    dft$server_iocb_error_condition = (

{                                    } dfc$null_server_condition,

{ The following conditions are used to determine which request should be reissued.

{                                    } dfc$reissued_rq_no_memory,
{                                    } dfc$reissued_rq_low_on_memory,
{                                    } dfc$reissued_rq_pt_full,
{                                    } dfc$reissued_rq_io_temp_reject,
{                                    } dfc$reissu_rq_temp_rej_fde_lock,
{                                    } dfc$reissued_rq_temp_rej_q_full,
{                                    } dfc$reissued_rq_io_still_active,
{                                    } dfc$reissued_rq_task_queued,
{                                    } dfc$reissue_rq_client_locked_pg,

{ The following conditions are genuine SERVER errors.

{                                    } dfc$server_page_locked,
{                                    } dfc$server_read_beyond_eoi,
{                                    } dfc$server_beyond_file_limit,
{                                    } dfc$server_no_extend_permission,
{                                    } dfc$server_signal_select_on_pf,
{                                    } dfc$server_beyond_tape_window,
{                                    } dfc$server_io_already_active,
{                                    } dfc$server_io_not_active,
{                                    } dfc$server_pages_not_available,
{                                    } dfc$server_write_client_error,
{                                    } dfc$bad_sfid,
{                                    } dfc$server_terminated,
{                                    } dfc$volume_unavailable,

{ The following conditions correspond to I/O errors found in the deck IOE$ST_ERRORS,
{ and are converted with the following formula:
{       DFC$GENERIC_DF_ERROR = $INTEGER (IOC$GENERIC_DISK_ERROR) - $INTEGER (IOC$ST_ERRORS) +
{             $INTEGER (DFC$IO_TO_DF_ERROR_CONVERTER) - 1

{                                    } dfc$unrecovered_disk_error,
{                                    } dfc$pp_not_configured,
{                                    } dfc$pp_interlock_set,
{                                    } dfc$no_space_to_allocate,
{                                    } dfc$invalid_image_request,
{                                    } dfc$invalid_disk_type,
{                                    } dfc$disk_media_error,
{                                    } dfc$requests_full,
{                                    } dfc$unable_to_build_io_request,
{                                    } dfc$free_failure,
{                                    } dfc$address_error,
{                                    } dfc$unable_to_unlock_rma_list,
{                                    } dfc$unable_to_set_system_flag,
{                                    } dfc$allocation_failure,
{                                    } dfc$unable_to_queue_io_request,
{                                    } dfc$unable_to_destroy_io_req,
{                                    } dfc$io_completion_table_error,
{                                    } dfc$unsupported_monitor_request,
{                                    } dfc$request_id_mismatch,
{                                    } dfc$io_request_error,
{                                    } dfc$ssiot_recovery_required,
{                                    } dfc$unit_disabled,
{                                    } dfc$critical_device_disabled,
{                                    } dfc$no_idle_response);

?? FMT (FORMAT := ON) ??

  CONST
    dfc$io_to_df_error_converter = dfc$unrecovered_disk_error;

