  PROCEDURE [INLINE] dfp$fetch_served_family_info
    (    served_family_table_index: dft$served_family_table_index;
     VAR family: ost$family_name;
     VAR server_mainframe_id: pmt$binary_mainframe_id;
     VAR p_queue_interface_table: dft$p_queue_interface_table;
     VAR queue_index: dft$queue_index;
     VAR index_valid: boolean);

    VAR
      family_entry: dft$served_family_table_entry;

    index_valid := dfv$served_family_table_root.valid AND
          (dfv$served_family_table_root.number_of_active_pointers >=
          served_family_table_index.pointers_index) AND
          (dfv$served_family_table_root.p_family_list_pointer_array^ [
          served_family_table_index.pointers_index].highest_valid_entry >=
          served_family_table_index.family_list_index);
    IF index_valid THEN
      family_entry := dfv$served_family_table_root.
            p_family_list_pointer_array^ [served_family_table_index.
            pointers_index].p_served_family_list^
            [served_family_table_index.family_list_index];
      family := family_entry.family_name;
      server_mainframe_id := family_entry.server_mainframe_id;
      p_queue_interface_table := family_entry.p_queue_interface_table;
      queue_index := family_entry.queue_index;
    IFEND;
  PROCEND dfp$fetch_served_family_info;
?? PUSH (LISTEXT := ON) ??
*copyc dfd$driver_queue_types
*copyc dft$queue_index
*copyc dft$served_family_table
*copyc dft$served_family_table_index
*copyc dfv$served_family_table_root
*copyc dfv$served_family_table_root
*copyc ost$user_identification
*copyc pmt$binary_mainframe_id
?? POP ??
