  TYPE
    dft$served_family_table_root = record
      valid: boolean,
      number_of_active_pointers: ALIGNED [0 MOD 8] integer,
      p_family_list_pointer_array: ^dft$served_family_list_pointers,
    recend,

    dft$served_family_list_pointers = array [1 .. * ] of
          dft$served_family_list_pointer,

    dft$served_family_list_pointer = record
      highest_valid_entry: ALIGNED [0 MOD 8] integer,
      p_served_family_list: ^array [dft$served_family_list_index] of
            dft$served_family_table_entry,
    recend;

  CONST
    dfc$served_family_string_size = dfc$served_family_list_size;

  TYPE
    dft$served_family_table_entry = record
      family_name: ost$family_name,
      verified_by_server: boolean,
      { The purpose of the active_since_deadstart field is to determine
      { whether a served family in the awaiting recovery can be recovered.
      active_since_deadstart: boolean,
      family_access: dft$family_access,
      server_mainframe_id: pmt$binary_mainframe_id,
      server_state: dft$server_state,
      server_lifetime: dft$server_lifetime,
      server_birthdate: integer,
      connection_type: dft$connection_type,
      p_queue_interface_table: dft$p_queue_interface_table,
      queue_index: dft$queue_index,
    recend;

*copyc dfd$driver_queue_types
*copyc dft$connection_type
*copyc dft$entry_type
*copyc dft$family_access
*copyc dft$served_family_table_index
*copyc dft$server_lifetime
*copyc dft$server_state
*copyc ost$user_identification
*copyc pmt$binary_mainframe_id
