

{   WARNING:
{      The following order must be used when obtaining more than one
{      interactive lock in order to avoid deadlocks:
{       - iiv$downline_queue_lock
{       - iiv$repeat_queue_lock
{       - iiv$upline_queue_lock

  VAR
    iiv$suppress_cursor_positioning: [XREF] boolean,
    iiv$suppress_echoplexing: [XREF] boolean,
    iiv$interactive_terminated: [XREF] boolean,
    iiv$job_suspended: [XREF] boolean,
    iiv$abort_get: [XREF] boolean,
    iiv$abort_job_initialization: [XREF] boolean,

    iiv$interactive_task_count: [XREF] integer,
    iiv$interactive_task_count_lock: [XREF] ost$signature_lock,

    iiv$get_lock: [XREF] ost$signature_lock,
    iiv$get_info: [XREF] iit$task_get_info,

    iiv$downline_queue_lock: [XREF] ost$signature_lock,
    iiv$downline_queue_count: [XREF] integer,
    iiv$downline_queue_size: [XREF] integer,
    iiv$downline_block_number: [XREF] integer,

    iiv$last_formatting_mode: [XREF] 0 .. 0ff(16),

    iiv$upline_data_buffer_ptr: [XREF] ^iit$input_data_message,

    iiv$job_connection: [XREF] iit$application_connection_num,

    iiv$cdcnet_connection: [XREF] boolean,

    iiv$network_identifier: [XREF] iit$network_identifier,

    iiv$screen_clear_string: [XREF] ost$string,

    iiv$send_timeout_warning: [XREF] boolean,

    iiv$terminal_timeout_limit: [XREF] integer,

    iiv$terminal_timeout_limit_left: [XREF] integer,

    iiv$previous_blank_flag: [XREF] boolean,

    iiv$previous_connection_attr: [XREF] iit$connection_attributes,

    iiv$previous_mode: [XREF] iit$terminal_mode,

    iiv$previous_file_id: [XREF] amt$file_identifier,

    iiv$previous_operation: [XREF] amt$fap_operation,

    iiv$jm_application_name: [XREF] mlt$application_name,


    iiv$break_abn: [XREF] integer,
    iiv$task_handling_break: [XREF] ost$global_task_id,

    iiv$condition_descriptor: [XREF] pmt$condition,

    iiv$downline_term_class_conv: [XREF] array [ifc$tty_class ..
      ifc$i3270_class] of iit$field_value,
    iiv$upline_term_class_conv: [XREF] array [iic$tty_class .. iic$i3270_class]
      of ift$terminal_class,
   iiv$downline_input_device_conv: [XREF] array [ifc$keyboard_input ..
     ifc$block_mode_input] of iit$field_value,
{   iiv$upline_input_device_conv: [XREF] array [0 .. 1] of ift$input_devices,
{   iiv$downline_output_device_conv: [XREF] array [ifc$display_output ..
{     ifc$printer_output] of iit$field_value,
{   iiv$upline_output_device_conv: [XREF] array [iic$printer_output ..
{     iic$display_output] of ift$output_devices,
    iiv$downline_parity_conv: [XREF] array [ifc$zero_parity .. ifc$no_parity]
      of iit$field_value,
    iiv$upline_parity_conv: [XREF] array [iic$zero_parity .. iic$ignore_parity] of
      ift$parity,
{   iiv$downline_end_position_conv: [XREF] array [ifc$no_input_positioning ..
{     ifc$cr_lf] of iit$field_value,
    iiv$upline_end_position_conv: [XREF] array [iic$elp_none ..
      iic$elp_crslfs] of ift$end_line_positioning,
    iiv$upline_part_position_conv: [XREF] array [iic$epp_none ..
      iic$epp_crslfs] of ift$end_partial_positioning,
    iiv$deflt_connection_attributes: [XREF] iit$connection_attributes,
{   iiv$downline_xparent_type_conv: [XREF] array [ifc$single_message ..
{     ifc$multi_message] of iit$field_value,
    iiv$skeleton_term_char_string: [XREF] iit$term_char_string,

    iiv$all_get_term_attributes: [XREF] array [1 .. (ORD (ifc$max_connection_key) + 1)] OF
      ift$get_connection_attribute,
    iiv$init_undefined_attributes: [XREF] iit$connection_attributes,
    iiv$control_char_descriptions: [XREF] iit$control_char_descriptions,
    iiv$interactive_wait_time: [XREF] integer,
    iiv$term_char_change_count: [XREF] integer;

?? PUSH (LISTEXT := ON) ??
*copyc IIT$CONNECTION_DESCRIPTION
*copyc MLD$MEMORY_LINK_DECLARATIONS
*copyc OST$GLOBAL_TASK_ID
*copyc ost$signature_lock
*copyc PMT$CONDITION
?? POP ??
