PROCEDURE dum$display_preserved_families, display_preserved_families, dispf (
  address, a: integer = $required
  output, o: file = $output
  status)

" This procedure displays the preserved family table.  The preserved family
" table resides in the file $SYSTEM.DFF$PRESERVED_FAMILY_TABLE.  If need be the
" file may be opened with:
"   chafa $SYSTEM.DFF$PRESERVED_FAMILY_TABLE ra=(11 11 11)
"   anas
"     a = $file_pva($SYSTEM.DFF$PRESERVED_FAMILY_TABLE)
"    dum$display_preserved_families a
"
  current = $default_module
  chadm dfm$preserved_family_manager
  dispv ?address.dft$preserved_family_header o=output
  number_of_families = $pv(?address.dft$preserved_family_header.number_of_families)
  header_length = $pv(#size(0.dft$preserved_family_header))
  entry_length =  $pv(#size(0.dft$served_family_table_entry))
  entry = address + header_length
  FOR family = 1 TO number_of_families DO
    disv ' ---- Preserved Family '//family o=output.$eoi
    dispv ?entry.dft$served_family_table_entry o=output.$eoi
    entry = entry + entry_length
  FOREND
  chadm current

PROCEND dum$display_preserved_families
