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

    VAR
      p_cpu_queue_entry: ^dft$cpu_queue_entry,
      p_driver_queue_entry: ^dft$driver_queue_entry,
      p_queue_interface_table: dft$p_queue_interface_table;

    dfp$get_qit_p_from_direct_index (queue_entry_location.directory_index, p_queue_interface_table);
    dfp$fetch_queue_entry (p_queue_interface_table, queue_entry_location.queue_index, queue_entry_location.
          queue_entry_index, p_driver_queue_entry, p_cpu_queue_entry);

    { Clear all flags
    p_driver_queue_entry^.flags.subsystem_action := FALSE;
    p_driver_queue_entry^.flags.buffer_sent := FALSE;
    p_driver_queue_entry^.flags.data_sent := FALSE;
    p_driver_queue_entry^.flags.buffer_received := FALSE;
    p_driver_queue_entry^.flags.data_received := FALSE;
    p_driver_queue_entry^.flags.ready_for_data_sent := FALSE;
    p_driver_queue_entry^.flags.ready_for_data_received := FALSE;

  PROCEND dfp$free_queue_entry;
?? PUSH (LISTEXT := ON) ??
*copyc dfd$driver_queue_types
*copyc dfp$fetch_queue_entry
*copyc dfp$get_qit_p_from_direct_index
?? POP ??

