
    PROCEDURE [INLINE] dfp$term_monitor_io_stats (
         queue_entry_location: dft$queue_entry_location);

      VAR
        p_cpu_queue: ^dft$cpu_queue,
        p_queue_interface_table: dft$p_queue_interface_table,
        io_type: dft$monitor_io_types,
        request_time: integer;

      dfp$get_qit_p_from_direct_index (queue_entry_location.directory_index,
            p_queue_interface_table);
      p_cpu_queue := p_queue_interface_table^
            .queue_directory.cpu_queue_pva_directory
            [queue_entry_location.queue_index].p_cpu_queue;

      request_time :=
      p_cpu_queue^.queue_entries [queue_entry_location.queue_entry_index].
            current_request_time;
      io_type :=
      p_cpu_queue^.queue_entries [queue_entry_location.queue_entry_index].
            current_request_type;
      p_cpu_queue^.queue_header.monitor_io [io_type].total_request_time :=
            p_cpu_queue^.queue_header.monitor_io [io_type].total_request_time +
            request_time;
      IF request_time > p_cpu_queue^.queue_header.monitor_io [io_type].max_request_time THEN
        p_cpu_queue^.queue_header.monitor_io [io_type].max_request_time := request_time;
      IFEND;

    PROCEND dfp$term_monitor_io_stats;

?? PUSH (LISTEXT := ON) ??
*copyc dft$cpu_queue
*copyc dft$queue_entry_location
?? POP ??
*copyc dfp$get_qit_p_from_direct_index
