  CONST
    iic$max_logical_err_no_acn_cnt = 0ffff(16),
    iic$max_logical_err_acn_cnt = 0ffff(16),
    iic$number_of_control_chars = 6,
    iic$max_attributes_cycle = 0ffff(16),
    iic$max_record_length = 0ffff(16),
    iic$max_cancellable_input = 80,
    iic$max_lines_per_block = 20,
    iic$max_interactive_task_count = 10,
    iic$max_break_level = 5,
    iic$initial_job_start = 6,
    iic$suspended_job_start = 13,
    iic$end_connection = TRUE,
    iic$max_output_sequence_size = 20000,
    iic$dont_end_connection = FALSE,
    iic$start_new_job = TRUE,
    iic$dont_start_new_job = FALSE,
    iic$user_time_delay = 1000;

  TYPE
    iit$connection_description = BOUND RECORD
      attributes_cycle: 0 .. iic$max_attributes_cycle,
      terminal_name: ift$terminal_name,
      CASE network_identifier: iit$network_identifier OF
      = iic$cdcnet_network =

        actual_connection_attributes: iit$connection_attributes,
        connection_attributes_lock: ost$signature_lock,
        default_connection_attributes: iit$connection_attributes,
        downline_queue_count: integer,
        get_info: iit$task_get_info,
        job_input_count: integer,
        job_output_count: integer,
        next_connection_desc_ptr: ^iit$connection_description,
        open_local_file_count: integer,
        output_buffer_entry_loc: ^SEQ ( * ),
        output_buffer_exit_loc: ^SEQ ( * ),
        page_length: ift$page_length,
        page_width: ift$page_width,
        put_info: iit$task_put_info,
        session_layer_file_name: amt$local_file_name,
        solicitation_pending: boolean,
        st_get_lock: ost$signature_lock,
        terminal_attributes_lock: ost$signature_lock,
        terminal_model: ift$terminal_model,
        vtp_connection_id: iit$vtp_connection_id,

      = iic$dsiaf_network =

        next_entry,
        previous_entry: ^iit$connection_description,
        lock: ost$signature_lock,
        connection_number: iit$application_connection_num,
        next_block_number: iit$application_block_number,
        nam_os_default_attributes: iit$connection_attributes,
        terminal_attributes: iit$terminal_attributes,
        term_char_values: array [1..15] of iit$field_value,
        active_term_char_values: array [1..15] of iit$field_value,
        block_size: iit$block_size,

      casend,
    recend,

    iit$st_open_file_description = RECORD
      attributes: iit$connection_attributes,
      attributes_cycle: 0 .. iic$max_attributes_cycle,
      error_status: ost$status_condition,
      file_name: amt$local_file_name,
      format_effectors: boolean,
      last_access_operation: amt$last_access_operation,
      last_get_put_operation: amt$last_access_operation,
      last_op_status: amt$last_op_status,
      previous_record_length: amt$max_record_length,
      session_layer_file_name: amt$local_file_name,
      vtp_connection_id: iit$vtp_connection_id,
      vtp_file_id: amt$file_identifier,
      terminal_mode: iit$terminal_mode,
    recend,

    iit$open_file_description = record
      file_name: amt$local_file_name,
      connection_desc_pointer: ^iit$connection_description,
      attributes_cycle: 0 .. iic$max_attributes_cycle,
      attributes: iit$connection_attributes,
      term_char_values: array [1 .. 15] of iit$field_value,
      block_number: amt$block_number,
      error_status: ost$status_condition,
      format_effectors: boolean,
      last_get_put_operation: amt$last_access_operation,
      last_access_operation: amt$last_access_operation,
      last_op_status: amt$last_op_status,
      previous_record_length: amt$max_record_length,
      terminal_mode: iit$terminal_mode,
    recend,

    iit$terminal_attributes = record
      attention_character: char,
      backspace_character: char,
      begin_line_character: char,
      cancel_line_character: char,
      carriage_return_delay: ift$carriage_return_delay,
      carriage_return_sequence: ift$carriage_return_sequence,
      character_flow_control: boolean,
      code_set: ift$code_set,
      echoplex: boolean,
      end_line_character: char,
      end_line_positioning: ift$end_line_positioning,
      end_output_sequence: ift$end_output_sequence,
      end_page_action: ift$end_page_action,
      end_partial_character: char,
      end_partial_positioning: ift$end_partial_positioning,
      fold_line: boolean,
      form_feed_delay: ift$form_feed_delay,
      form_feed_sequence: ift$form_feed_sequence,
      function_key_class: ift$function_key_class,
      hold_page: boolean,
      hold_page_over: boolean,
      line_feed_delay: ift$line_feed_delay,
      line_feed_sequence: ift$line_feed_sequence,
      network_command_character: char,
      page_length: ift$page_length,
      page_width: ift$page_width,
      parity: ift$parity,
      pause_break_character: char,
      status_action: ift$status_action,
      terminal_class: ift$terminal_class,
      terminal_model: ift$terminal_model,
      terminate_break_character: char,
    recend,

    iit$control_char_descriptor = record
      key: ift$terminal_attribute_keys,
      text: string (osc$max_name_size),
    recend,

    iit$control_char_descriptions = array [1 .. iic$number_of_control_chars] of
      iit$control_char_descriptor,

    iit$attribute_source_selections = set of ift$connection_attribute_source,

    iit$bam_source_selections = set of amt$attribute_source,

    iit$set_of_term_conn_attr_keys = set of ift$connection_attribute_keys,

    iit$terminal_attribute_keys_set = set of ift$terminal_attribute_keys,

    iit$set_of_trans_char_modes = set of ift$trans_character_mode,

    iit$set_of_trans_timeout_modes = set of ift$trans_timeout_mode,

    iit$set_of_trans_length_modes = set of ift$trans_length_mode,

    iit$set_of_trans_protocol_modes = set of ift$trans_protocol_mode,

    iit$set_of_input_editing_modes = set of ift$input_editing_mode,

    iit$set_of_input_output_modes = set of ift$input_output_mode,

    iit$set_of_parity_modes = set of ift$parity,

    iit$set_of_end_part_positions = set of ift$end_partial_positioning,

    iit$set_of_end_line_positions = set of ift$end_line_positioning,

    iit$set_of_status_actions = set of ift$status_action,

    iit$set_of_terminal_classes = set of ift$terminal_class,

    iit$set_of_access_info_keys = set of amt$access_info_keys,

    iit$job_modes = set of jmt$job_mode,

    iit$task_get_info = record
      queued_data_length: amt$max_record_length,
      block_type: iit$application_block_type,
      cancel_input: iit$cancel_input,
      end_of_message: boolean,
      transfer_count: amt$transfer_count,
      position_in_block: iit$block_size,
      record_length: amt$max_record_length,
      file_position: amt$file_position,
    recend,

    iit$task_put_info = record
      position_in_block: iit$block_size,
      transfer_count: amt$transfer_count,
      last_term_option: amt$term_option,
      build_msg_block: boolean,
      term_char_null: boolean,
      term_char_sent: boolean,
      block_number: integer,
    recend,

    iit$network_identifier = (iic$cdcnet_network, iic$dsiaf_network),

    iit$terminal_mode = (iic$line, iic$screen),

    ift$attribute_types = (ifc$actual, ifc$default),

    ift$transparent_types = (ifc$single_message, ifc$multi_message),

    ift$input_devices = (ifc$keyboard_input, ifc$block_mode_input),

    iit$st_downline_queue_entry = record
      next_entry,
      previous_entry: ^iit$downline_queue_entry,
      connection_ptr: ^iit$connection_description,
      output_info: iit$vt_output_information,
      term_char_null: boolean,
      term_char_sent: boolean,
      attributes: iit$connection_attributes,
      transparent_type: ift$transparent_types,
      vtp_connection_id: iit$vtp_connection_id,
      vtp_file_id: amt$file_identifier,
      data: array [1 .. *] of char,
    recend,
    iit$downline_queue_entry = record
      next_entry,
      previous_entry: ^iit$downline_queue_entry,
      connection_ptr: ^iit$connection_description,
      term_char_changed: boolean,
      term_char_sent: boolean,
      term_char_null: boolean,
      term_char_values: array [1..15] of iit$field_value,
      transparent_character_selected: boolean,
      transparent_count_selected: boolean,
      transparent_time_out_selected: boolean,
      repeated_output: boolean,
      message: iit$downline_data_message,
    recend,

    iit$queue_key = (iic$connection_description, iic$terminal_request,
      iic$open_file_description, iic$downline_queue, iic$repeat_queue),

    iit$queue_entry_descriptor = record

      case queue_key: iit$queue_key of

      = iic$connection_description =
        connection_description_ptr: ^iit$connection_description,

      = iic$terminal_request =
        terminal_request_ptr: ^iit$connection_attributes,

      = iic$open_file_description =
        open_file_description_ptr: ^iit$open_file_description,

      = iic$downline_queue =
        downline_queue_entry_ptr: ^iit$downline_queue_entry,
        downline_queue_entry_size: iit$text_length,

      = iic$repeat_queue =
        repeat_queue_entry_ptr: ^iit$downline_queue_entry,
        repeat_queue_entry_size: iit$text_length,

      casend,
    recend,

    iit$st_queue_entry_descriptor = record
      case queue_key: iit$queue_key of

      = iic$connection_description =
        connection_description_ptr: ^iit$connection_description,

      = iic$terminal_request =
        terminal_request_ptr: ^iit$terminal_attributes,

      = iic$open_file_description =
        open_file_description_ptr: ^iit$st_open_file_description,

      = iic$downline_queue =
        downline_queue_entry_ptr: ^iit$st_downline_queue_entry,
        downline_queue_entry_size: iit$text_length,

      = iic$repeat_queue =
        repeat_queue_entry_ptr: ^iit$st_downline_queue_entry,
        repeat_queue_entry_size: iit$text_length,

    casend,
    recend,


    iit$break_stack_entry = record
      downline_queue_head: ^iit$downline_queue_entry,
      downline_queue_tail: ^iit$downline_queue_entry,
      downline_queue_count: integer,
      repeat_queue_head: ^iit$downline_queue_entry,
      repeat_queue_tail: ^iit$downline_queue_entry,
      repeat_queue_count: integer,
      get_info: iit$task_get_info,
      put_info: iit$task_put_info,
      ddbp: ^iit$output_data_message,
      ready: boolean,
    recend,
    iit$reconnect_job = record
      sig: iit$interactive_signal,
      acn: iit$application_connection_num,
      reject_caused_reconnect: boolean,
    recend,
    iit$reconnect_request = record
      sig: iit$interactive_signal,
      gtid: ost$global_task_id,
    recend;

*copyc ifv$module_for_c180
*copyc amc$fap_request_codes
*copyc amt$access_information
*copyc amt$attribute_source
*copyc amt$file_attributes
*copyc amt$file_identifier
*copyc amt$file_position
*copyc amt$last_op_status
*copyc amt$local_file_name
*copyc amt$max_record_length
*copyc amt$term_option
*copyc amt$transfer_count
*copyc ift$connection_attributes
*copyc ift$format_effectors
*copyc ift$get_connection_attributes
*copyc ift$terminal_attributes
*copyc ift$terminal_name
*copyc iit$application_names_messages
*copyc iit$connection_attributes
*copyc iit$interactive_signal_type
*copyc iit$vt_connections
*copyc iit$vt_output_information
*copyc jmt$job_mode
*copyc ost$global_task_id
*copyc ost$signature_lock
*copyc ost$string
