{COMMON DECK IOT$DISK_STATISTICS}

?? PUSH (LISTEXT := ON) ??
{ Disk statistics codes.

*copyc cml$10395_11_failure_data
*copyc cml$fa7b4_d_failure_data
*copyc cml$7154_failure_data
*copyc cml$7155_1x_failure_data
*copyc cml$7165_2x_failure_data
*copyc cml$887_failure_data
*copyc cml$9836_1_failure_data
?? POP ??
*copyc iot$disk_request
{
{ DECK - IOT$DISK_STATISTICS
{

  CONST

{Symptom codes for 7154 and 7155:
    ioc$indeterminate = 1,
    ioc$input_channel_parity = 2,
    ioc$output_channel_parity = 3,
    ioc$controller_failure = 4,
    ioc$unit_failure = 5,
    ioc$function_timeout = 6,
    ioc$unit_is_reserved = 7,
    ioc$controller_is_reserved = 8,
    ioc$seek_failure = 9,
    ioc$checkword_error = 10,
    ioc$ram_parity = 11,
    ioc$incomplete_sector_transfer = 12,
    ioc$unit_not_ready = 15,
    ioc$unit_off_line_or_not_cabled = 16,
    ioc$read_only_switch_on = 17,
    ioc$ch_enable_off_or_not_cabled = 18,
    ioc$flawed_track = 19,
    ioc$flawed_sector = 20,
    ioc$sector_address_miscompare = 21,
    ioc$cylinder_address_miscompare = 22,
    ioc$lost_control_word = 23,
    ioc$iou_output_parity = 24,
    ioc$indeterminate_output_parity = 25,
    ioc$7155_software_failure = 26,
    ioc$address_error = 27,
    ioc$track_address_miscompare = 28,
    ioc$drive_not_selected = 29,
    ioc$controller_drive_interface = 30,
    ioc$host_if_integrity_error = 31,
    ioc$drive_if_integrity_error = 32,
    ioc$write_buffer_to_disk_error = 33,
    ioc$processor_instruction_timeo = 34,
    ioc$bm_register_parity_error = 35,
    ioc$write_verify_error = 36,
    ioc$7155_media_error = 37,
    ioc$conf_cylinder_is_flawed = 38,
    ioc$loading_controlware = 39,


{Symptom codes for System Action:
    ioc$controlware_reloaded = 1,
    ioc$controller_downed = 2,
    ioc$unit_downed = 3,


{Symptom codes for 10395_1 and isd_2:
    ioc$isd_indeterminate = 0,
    ioc$pp_timed_out_a_command = 1,
    ioc$control_module_reserved = 2,
    ioc$isd_software_failure = 3,
    ioc$drive_not_ready = 4,
    ioc$reloading_control_module = 5,
    ioc$control_module_reloaded = 6,
    ioc$executing_level_ii = 7,
    ioc$level_ii_passed = 8,
    ioc$drive_not_present = 9,
    ioc$media_failure = 10,
    ioc$function_failure_class_2 = 11,
    ioc$function_failure_class_3 = 12,
    ioc$input_ici_parity = 13,
    ioc$output_ici_parity_class_1 = 14,
    ioc$output_ici_parity_class_2 = 15,
    ioc$output_ici_parity_class_3 = 16,
    ioc$adapter_ram_parity = 17,
    ioc$adapter_buffer_parity = 18,
    ioc$adapter_rom_parity = 19,
    ioc$start_switch_not_depressed = 20,
    ioc$isi_parity = 21,
    ioc$output_isi_parity_class_1 = 22,
    ioc$output_isi_parity_class_3 = 23,
    ioc$seek_error = 24,
    ioc$unable_to_read_header = 25,
    ioc$unable_to_read_data = 26,
    ioc$isi_deadman_time_out = 27,
    ioc$cm_scheduler_parity = 28,
    ioc$cm_mpu_parity = 29,
    ioc$cm_rw_hardware_fault = 30,
    ioc$drive_voltage_fault = 31,
    ioc$over_temperature_fault = 32,
    ioc$invalid_bootstrap_error = 33,
    ioc$drive_write_protected = 34,
    ioc$incomplete_ici_transfer = 35,
    ioc$loopback_compare_error = 36,
    ioc$loopback_select_active = 37,
    ioc$loopback_attention = 38,
    ioc$loopback_check_failure = 39,
    ioc$isd_controller_failure = 40,
    ioc$adapter_failure = 41,
    ioc$drive_failure = 42,
    ioc$adapter_controlware_error = 43,
    ioc$i_host_if_integrity_error = 44,
    ioc$i_drive_if_integrity_error = 45,


{Symptom codes for 895:

{        Retry / Recoverered errors.
{        Valid for: (General Status = 900) AND (EDS word 19 =44A)

    ioc$895_storage_director_retry = 1,

{        Storage Director detected errors.
{        Valid for: (General Status = A10) OR
{                   (General Status = 900) AND (EDS word 19 =402))

    ioc$895_undocumented_format_msg = 10,
    ioc$895_invalid_command = 11,
    ioc$895_invalid_command_to_7165 = 12,
    ioc$895_ccw_count_too_small = 13,
    ioc$895_invalid_data_argument = 14,
    ioc$895_chaining_not_indicated = 16,
    ioc$895_command_mismatch = 17,
    ioc$895_defective_track_pointer = 18,
    ioc$895_device_status_1_not_exp = 19,
    ioc$895_index_missing = 20,
    ioc$895_unresettable_interrupt = 21,
    ioc$895_device_does_not_respond = 22,
    ioc$895_incomplete_set_sector = 23,
    ioc$895_head_address_miscompare = 24,
    ioc$895_invalid_device_status_1 = 25,
    ioc$895_device_not_ready = 26,
    ioc$895_track_addr_miscompare = 27,
    ioc$895_drive_motor_off = 28,
    ioc$895_seek_incomplete = 29,
    ioc$895_cyl_addr_miscompare = 30,
    ioc$895_unresettable_offset = 31,
    ioc$895_selective_reset = 32,
    ioc$895_sync_latch_failure = 33,
    ioc$895_micro_detected_check = 34,
    ioc$895_clock_stopped_check_1 = 35,
    ioc$895_alternate_sd_failure = 36,
    ioc$895_error_uncorr_by_ecc = 37,
    ioc$895_data_sync_unsuccessful = 38,
    ioc$895_error_corrected_by_ecc = 39,
    ioc$895_rcc_initiated_by_cca = 41,
    ioc$895_rcc1_not_successful = 42,
    ioc$895_rcc1_rcc2_unsuccessful = 43,
    ioc$895_invalid_ddc_tag_seq = 44,
    ioc$895_extra_rcc_required = 45,
    ioc$895_invalid_ddc_selection = 46,
    ioc$895_missing_end_op = 47,
    ioc$895_invalid_tag = 48,
    ioc$895_deselection = 49,
    ioc$895_no_controller_response = 50,
    ioc$895_controller_unavailable = 51,
    ioc$895_ecc_hardware_failure = 52,
    ioc$895_unexpected_end_op = 53,
    ioc$895_end_op_active = 54,
    ioc$895_command_reject = 55,
    ioc$895_intervention_req = 56,
    ioc$895_bus_out_parity = 57,
    ioc$895_equipment_check = 58,
    ioc$895_data_check = 59,
    ioc$895_overrun = 60,
    ioc$895_permanent_device_error = 61,
    ioc$895_end_of_cylinder = 62,
    ioc$895_message_to_operator = 63,
    ioc$895_no_record_found = 64,
    ioc$895_file_protected = 65,
    ioc$895_first_logged_error = 67,
    ioc$895_environmental_data = 68,
    ioc$895_path_error = 69,
    ioc$895_invalid_track_format = 70,
    ioc$895_undocumented_sd_resp = 79,

{          CYBER Channel Coupler detected errors.
{          Valid only for General Status = A00(16)

    ioc$895_no_request_in_cmd = 80,
    ioc$895_illegal_write = 81,
    ioc$895_fips_error = 82,
    ioc$895_full_empty_count = 83,
    ioc$895_address_miscompare = 92,
    ioc$895_no_request_in_poll = 93,
    ioc$895_select_in_received = 94,
    ioc$895_bus_in_parity = 95,
    ioc$895_read_path_parity = 96,
    ioc$895_write_path_parity = 97,
    ioc$895_incomplete_transfer = 98,
    ioc$895_output_chan_parity = 99,
    ioc$895_parity_err_on_input = 100,
    ioc$895_deadman_timeout = 101,
    ioc$895_memory_parity = 102,
    ioc$895_excess_data_xfered = 103,
    ioc$895_data_packing_wrong = 104,
    ioc$895_normal_end_not_set = 105,

{        PP detected errors.
{        Checked / reported only if above cases are not present.

    ioc$895_function_timeout = 121,
    ioc$895_soft_sectoring = 122,
    ioc$895_unit_soft_sectored = 123,
    ioc$895_interface_error = 126,
    ioc$895_kz_board_error = 127,
    ioc$895_kx_board_error = 128,
    ioc$895_channel_error = 129,
    ioc$895_media_failure = 131,
    ioc$895_incomplete_chan_xfer = 132,
    ioc$895_ccc_failure = 133,
    ioc$895_pp_ccc_data_integrity = 134,
    ioc$895_pp_drive_data_integrity = 135,
    ioc$895_seek_command_timeout = 136,
    ioc$895_indeterminate = 140,
    ioc$895_uncorrected_cm_error = 141,
    ioc$895_cm_reject = 142,
    ioc$895_invalid_cm_response = 143,
    ioc$895_cm_response_pe = 144,
    ioc$895_cmi_read_pe = 145,
    ioc$895_overflow_error = 146,
    ioc$895_jy_board_error = 147,
    ioc$895_iou_failure_st_err = 148,
    ioc$895_iou_failure_data_err = 149,
    ioc$895_tip_not_clear = 150,
    ioc$895_t_reg_not_empty = 151,

{Symptom codes for Hydra:

    ioc$hydra_indeterminate = 0,
    ioc$h_exec_level_i_diagnostics = 1,
    ioc$h_lev_i_diagnostics_passed = 2,
    ioc$h_exec_level_ii_diagnostics = 3,
    ioc$h_lev_ii_diagnostics_passed = 4,
    ioc$h_spindle_powered_up = 5,
    ioc$h_function_timeout = 6,
    ioc$h_channel_doesnt_go_empty = 7,
    ioc$h_incomplete_i4_transfer = 8,
    ioc$h_channel_init_error = 9,
    ioc$h_cannot_select_controller = 10,
    ioc$h_incorrect_controller = 11,
    ioc$h_pp_timed_out_a_command = 12,
    ioc$h_controller_reserved = 13,
    ioc$h_software_failure = 14,
    ioc$h_drive_not_ready = 15,
    ioc$h_uncorrected_cm_error = 16,
    ioc$h_cm_reject = 17,
    ioc$h_invalid_response_code = 18,
    ioc$h_cm_response_code_pe = 19,
    ioc$h_cmi_read_data_pe = 20,
    ioc$h_input_buffer_overflow = 21,
    ioc$h_jp_jy_data_parity_error = 22,
    ioc$h_bas_parity_error = 23,
    ioc$h_output_isi_parity = 24,
    ioc$h_jz_error = 25,
    ioc$h_jp_jy_error = 26,
    ioc$h_jn_jx_error = 27,
    ioc$h_incomplete_dma_transfer = 28,
    ioc$h_t_register_byte_count = 29,
    ioc$h_invalid_controller_status = 30,
    ioc$h_controller_interface_err = 31,
    ioc$h_seek_error = 32,
    ioc$h_unable_to_read_header = 33,
    ioc$h_header_miscompare = 34,
    ioc$h_unable_to_read_data = 35,
    ioc$h_disk_not_formatted = 36,
    ioc$h_diagnostic_fault_detected = 37,
    ioc$h_command_block_negated = 38,
    ioc$h_command_block_overwrite = 39,
    ioc$h_illegal_command_byte = 40,
    ioc$h_illegal_sec_seek_address = 41,
    ioc$h_illegal_pri_seek_address = 42,
    ioc$h_illegal_command_parameter = 43,
    ioc$h_io_illegal_write_error = 44,
    ioc$h_end_of_disk_reached = 45,
    ioc$h_illegal_device_number = 46,
    ioc$h_illegal_control_field = 47,
    ioc$h_io_illegal_disconnect = 48,
    ioc$h_isi_io_parity_error = 49,
    ioc$h_rw_sequencer_ram_parity = 50,
    ioc$h_mpu_parity_error = 51,
    ioc$h_ecc_fault = 52,
    ioc$h_voltage_fault = 53,
    ioc$h_write_transfer_count = 54,
    ioc$h_over_temperature_fault = 55,
    ioc$h_no_rw_sequencer_response = 56,
    ioc$h_invalid_rw_sequencer_rsp = 57,
    ioc$h_rw_sequencer_status_overw = 58,
    ioc$h_hydra_hardware_fault = 59,
    ioc$h_rw_sequencer_fault = 60,
    ioc$h_zerofill_timeout = 61,
    ioc$h_function_buffer_pe = 62,
    ioc$h_partial_sector_error = 63,
    ioc$h_disk_fault = 64,
    ioc$h_no_sector_pulse = 65,
    ioc$h_no_index_pulse = 66,
    ioc$h_cyl_head_sec_wrap_error = 67,
    ioc$h_no_disk_response = 68,
    ioc$h_pause_timeout = 69,
    ioc$h_tip_didnt_clear = 70,
    ioc$h_incomplete_cb_xfer = 71,
    ioc$h_incomplete_status_xfer = 72,
    ioc$h_sa_dropped_hydra_status = 73,
    ioc$h_incomplete_device_st_xfer = 74,
    ioc$h_sa_dropped_device_status = 75,
    ioc$h_incomplete_eri_xfer = 76,
    ioc$h_sa_dropped_err_reg_image = 77,
    ioc$h_incomplete_error_log_xfer = 78,
    ioc$h_sa_dropped_error_log = 79,
    ioc$h_sa_dropped_data = 80,
    ioc$h_host_if_integrity_error = 81,
    ioc$h_drive_if_integrity_error = 82,
    ioc$h_isi_input_error = 83,
    ioc$h_isi_timeout = 84,
    ioc$h_media_failure = 85,
    ioc$h_seek_error_retried = 86,
    ioc$h_power_up_complete = 87,
    ioc$h_reset_complete = 88,
    ioc$h_priority_override = 89,
    ioc$h_hydra_on_line = 90,
    ioc$h_sector_size_not_4096 = 91,
    ioc$h_not_same_host_id = 92,
    ioc$h_transfer_count_error = 93,

{Symptom codes for $9836_1:

    ioc$9836_1_indeterminate = 0,
    ioc$9836_1_function_timeout = 1,
    ioc$9836_1_ch_empty_when_act = 2,
    ioc$9836_1_period_c_error = 3,
    ioc$9836_1_upper_ici_parity = 4,
    ioc$9836_1_lower_ici_parity = 5,
    ioc$9836_1_iou_error = 6,
    ioc$9836_1_incomplete_i4_xfer = 7,
    ioc$9836_1_channel_not_empty = 8,
    ioc$9836_1_central_memory_error = 9,
    ioc$9836_1_invalid_cm_response = 10,
    ioc$9836_1_cm_response_error = 11,
    ioc$9836_1_cmi_read_parity = 12,
    ioc$9836_1_jy_data_error = 13,
    ioc$9836_1_bas_parity_error = 14,
    ioc$9836_1_lz_error = 15,
    ioc$9836_1_jy_error = 16,
    ioc$9836_1_lx_error = 17,
    ioc$9836_1_dma_test_failure = 18,
    ioc$9836_1_count_overflow = 19,
    ioc$9836_1_cant_select_cont = 20,
    ioc$9836_1_bit_sig_response_err = 21,
    ioc$9836_1_no_sync_in = 22,
    ioc$9836_1_sync_in_did_not_drop = 23,
    ioc$9836_1_ipi_sequence_error = 24,
    ioc$9836_1_upper_ipi_ch_parity = 25,
    ioc$9836_1_lower_ipi_ch_parity = 26,
    ioc$9836_1_slave_in_not_set = 27,
    ioc$9836_1_slave_in_not_drop= 28,
    ioc$9836_1_incomplete_transfer = 29,
    ioc$9836_1_ch_stayed_active = 30,
    ioc$9836_1_buffer_counter_e = 31,
    ioc$9836_1_sync_counter_error = 32,
    ioc$9836_1_lost_data = 33,
    ioc$9836_1_bus_parity = 34,
    ioc$9836_1_command_reject = 35,
    ioc$9836_1_sync_out_not_sync_in = 36,
    ioc$9836_1_bus_b_ack_incorrect = 37,
    ioc$9836_1_no_cont_response = 38,
    ioc$9836_1_ending_status_wrong = 39,
    ioc$9836_1_executing_cont_diag = 50,
    ioc$9836_1_cont_diag_passed = 51,
    ioc$9836_1_cont_diag_passed_2 = 52,
    ioc$9836_1_cont_alt_port_event = 53,
    ioc$9836_1_dr_alt_port_event = 54,
    ioc$9836_1_restoring_drive =55,
    ioc$9836_1_restore_complete = 56,
    ioc$9836_1_formatting_drive = 57,
    ioc$9836_1_format_complete = 58,
    ioc$9836_1_par_prot_disabled = 59,
    ioc$9836_1_controller_failure = 60,
    ioc$9836_1_drive_failure = 61,
    ioc$9836_1_media_failure = 62,
    ioc$9836_1_lrc_error = 70,
    ioc$9836_1_cont_intervention = 71,
    ioc$9836_1_cont_machine_exc = 72,
    ioc$9836_1_command_exception = 73,
    ioc$9836_1_microcode_exec_error = 74,
    ioc$9836_1_unexpected_response = 76,
    ioc$9836_1_drive_rsvd_other_p = 77,
    ioc$9836_1_controller_over_temp = 78,
    ioc$9836_1_drive_not_operable = 80,
    ioc$9836_1_drive_not_ready = 81,
    ioc$9836_1_drive_intervention = 82,
    ioc$9836_1_uncorr_data_ck = 85,
    ioc$9836_1_drive_fatal_error = 86,
    ioc$9836_1_hw_write_protect = 87,
    ioc$9836_1_drive_rsvd_other_c = 89,
    ioc$9836_1_drive_ecc_error = 91,
    ioc$9836_1_missing_sync = 92,
    ioc$9836_1_sector_not_found = 93,
    ioc$9836_1_drive_exception = 94,
    ioc$9836_1_no_unit_oper_resp = 95,
    ioc$9836_1_das_head_shift = 96,
    ioc$9836_1_ssd_battery_to_low = 97,
    ioc$9836_1_ssd_battery_test = 98,
    ioc$9836_1_ssd_battery_old = 99,
    ioc$9836_1_error_retry = 100,
    ioc$9836_1_data_retry = 101,
    ioc$9836_1_motion_retry = 102,
    ioc$9836_1_data_correction = 103,
    ioc$9836_1_soft_error = 104,
    ioc$9836_1_parity_dr_corr = 106,
    ioc$9836_1_pp_cont_data_integ = 110,
    ioc$9836_1_cm_drive_data_integ = 111,
    ioc$9836_1_software_failure = 120,
    ioc$9836_1_wrong_drive_config = 121,
    ioc$9836_1_defect_mgmt_failure = 130,
    ioc$9836_1_wrong_drive_type = 140,
    ioc$9836_1_drive_init_required = 141,
    ioc$9836_1_no_parallel_support = 142,


{Disk function codes:
    ioc$seek_function = 1,


{Logical_operation codes:
    ioc$log_read = 1,
    ioc$log_write = 2,
    ioc$log_write_initialize = 3,
    ioc$log_read_flaw_map = 4,
    ioc$log_initialize_sectors = 5,


    ioc$no_value = - 1;




  CONST
      { The '+10' is determined by the size of all fields in}
      { IOT$DISK_LOG_DATA excluding detailed_status.}
    ioc$disk_log_data_length = ioc$disk_detailed_status_length + 10;

  TYPE
    iot$disk_log_data = record
      pp_response: iot$pp_response,
      detailed_status: iot$common_disk_status,
      channel: cmt$physical_channel,
      equipment: 0 .. 0ff(16),
      logical_unit: iot$logical_unit,
      symptom_code: 0 .. 0ffff(16),
      disk_type: iot$unit_type,
      logical_operation: integer,
      controller_type: 0 .. 0ff(16),
      display_message: boolean,
      physical_unit: iot$physical_unit_number,
      failure_severity: 0 .. 0ff(16),
      diagnostic_code: 0 .. 0ffffffffff(16),
      isolation_code: 0 .. 0ff(16),
      actual_drive_type: 0 ..0ff(16),
      iou_number: dst$iou_number,
    recend;

  TYPE
    iot$disk_log_data_full = record
      request: iot$disk_request,
      resp: iot$disk_log_data,
      msg: string (63),
    recend;


*copyc iot$pp_response
*copyc iot$channel_number
*copyc iot$disk_detailed_status_844
*copyc iot$unit_type
*copyc iot$logical_unit
*copyc cmc$condition_limits
*copyc cmt$physical_channel
*copyc dst$iou_number

