
{    DECK: RFT$CONNECTION_ENTRY
{
{    This deck contains the definitions for maintaining the status of
{    all RHFAM connections.

  TYPE
    rft$connection_entry = RECORD
      next_entry: ^rft$connection_entry,
      lock: ost$signature_lock,
      connection_name: fst$path_handle_name,
      connection_attributes: rft$connection_attributes,
      connection_descriptor: rft$connection_descriptor,
      connection_statistics: rft$connection_statistics,
      application_entry_p: ^rft$application_table_entry,
      active_pp_requests: rft$concurrent_requests,
      waiting_tasks: ^rft$waiting_task_queue,
      send_request_active: BOOLEAN,
      receive_request_active: BOOLEAN,
      residue_input_data: ^rft$residue_data,
      open_count: integer,
      selected_path: ^rft$lcn_path_definition,
      control_message_header: rft$nbp_control_message_header,
    RECEND;

  TYPE
    rft$connection_descriptor = RECORD
      nad_index: rft$local_nads,
      logical_unit: iot$logical_unit,
      network_path: rft$path_id,
    RECEND;

  TYPE
    rft$connection_attributes = RECORD
      connection_status: rft$connection_status,
      client_name: rft$application_name,
      server_name: rft$application_name,
      client_host: rft$physical_identifier,
      server_host: rft$physical_identifier,
      destination_host: rft$host_identifier,
      connection_timeout: rft$connection_timeout,
      data_transfer_timeout: rft$transfer_timeout,
      record_block_size: rft$block_size,
      message_block_size: rft$block_size,
      incoming_record_abn: rft$application_block_number,
      outgoing_record_abn: rft$application_block_number,
      acks_received_count: rft$blocks_transferred,
      acks_sent_count: rft$blocks_transferred,
      incoming_message_count: rft$blocks_transferred,
      outgoing_message_count: rft$blocks_transferred,
      receive_record_terminator: rft$record_marks,
      file_mark_received: rft$record_marks,
      send_record_terminator: rft$record_marks,
      abnormal_termination: BOOLEAN,
    RECEND;

  TYPE
    rft$residue_data = RECORD
      remaining_data: rft$block_size,
      record_mark_encountered: BOOLEAN,
      record_mark: rft$record_marks,
      data_pointer: ^SEQ ( * ),
      data: SEQ ( * ),
    RECEND;

  TYPE
    rft$waiting_task_queue = record
      next_entry: ^rft$waiting_task_queue,
      global_task_id: ost$global_task_id,
    recend;

?? PUSH (LISTEXT := ON) ??
*copyc fst$path_handle_name
*copyc iot$logical_unit
*copyc ost$signature_lock
*copyc ost$global_task_id
*copyc rft$application_table_entry
*copyc rft$configuration_defs
*copyc rft$external_interface
*copyc rft$network_block_protocol
?? POP ??
