{ Deck:  DFT$CLIENT_MAINFRAME_FILE
  CONST
    dfc$current_mf_file_version = 'MAINFRAME_FILE_VERSION_002',
    dfc$client_mainframe_catalog = '$DF$CLIENT_MAINFRAMES',
    dfc$client_mainframe_segnum = 64(16),
    dfc$client_mainframe_segnum_b = 65(16);

  TYPE
    dft$client_mainframe_file = record
      mainframe_header: dft$mainframe_file_header,
      mainframe_heap: ALIGNED [0 MOD 32] ost$heap,
    recend,

    dft$p_mainframe_file = ^dft$client_mainframe_file,

    dft$mainframe_file_header = record
      file_update_flag: string (5),
      version: ost$name,
      client_mainframe_id: pmt$binary_mainframe_id,
      client_mainframe_name: pmt$mainframe_id,
      server_state: dft$server_state,
      server_lifetime: dft$server_lifetime,
      server_birthdate: integer,
      segment_number: ost$segment,
      client_job_list_lock: ost$signature_lock,
      client_job_list_root: dft$client_job_list_root,
    recend;

   CONST { expected values of file_update_flag in dft$mainframe_file_header
     dfc$client_file_valid = 'TRUE ',
     dfc$client_file_damaged = 'DAMAG';
?? PUSH (LISTEXT := ON) ??
*copyc dft$client_job_list
*copyc dft$server_lifetime
*copyc dft$server_state
*copyc osd$virtual_address
*copyc ost$heap
*copyc ost$name
*copyc ost$signature_lock
*copyc pmt$binary_mainframe_id
*copyc pmt$mainframe_id
?? POP ??
