{ Deck:  DFT$CLIENT_JOB_LIST
  TYPE
    dft$client_job_list_root = record
      number_of_active_pointers: ALIGNED [0 MOD 8] integer,
      p_job_list_pointer_array: ^dft$job_list_pointer_array,
    recend;

  TYPE
    dft$job_list_pointer_array = array [1 .. * ] of
          dft$client_job_list_pointer,

    dft$client_job_list_pointer = record
      assignment: string (dfc$client_job_list_size),
      p_client_job_list: ^array [1 .. dfc$client_job_list_size] of
            dft$client_job_list_entry,
    recend,

    dft$client_job_list_entry = record
      system_supplied_job_name: jmt$system_supplied_name,
      user_supplied_job_name: jmt$user_supplied_name,
      job_mode: jmt$job_mode,
      job_lifetime: dft$lifetime,
      { recovering is used by the display code.
      recovering: boolean,
      { inhibit_job_recovery is used by the rebuild of the client mainframe file
      { to indicate whether the job should be recovered.
      inhibit_job_recovery: ALIGNED [0 MOD 8] integer,
      request_count: ALIGNED [0 MOD 8] integer,
      { The statistics here need more work as does the
      { storing of the clone task global task id in here.
      { Or should these be in the client job space ????
      {  active_clone_task_count: ALIGNED [0 MOD 8] integer,
      p_client_job_space: ^dft$client_job_space,
    recend,

    dft$client_job_space = record

      { Client job user identification
      family: ost$family_name,
      user: ost$user_name,
      account: avt$account_name,
      project: avt$project_name,
      family_access_kind: dft$family_access_kinds,

{     This may only be determined after the validation file is read.
{     permanent_file_size_limit: amt$file_limit,

      { Client job file tables
      queued_catalog_table_lock: ost$signature_lock,
      p_queued_catalog_table: pft$p_queued_catalog_table,
      p_newest_queued_catalog: pft$p_queued_catalog,
      p_attached_pf_table: pft$p_attached_pf_table,

      { Client job heap
      p_job_heap: ^ost$heap,
      job_heap: dft$job_heap,
    recend;

  TYPE
    dft$job_heap = record
      job_heap: ALIGNED [0 MOD 32] HEAP
            (REP dfc$client_job_heap_size of cell),
    recend;


  CONST
    { Should handle about 60 files attached
    dfc$client_job_heap_size = 32000;

{*copyc amt$file_limit
*copyc avt$account_name
*copyc avt$project_name
*copyc dft$client_job_id
*copyc dft$family_access
*copyc dft$lifetime
*copyc jmt$job_mode
*copyc jmt$system_supplied_name
*copyc jmt$user_supplied_name
*copyc ost$heap
*copyc ost$user_identification
*copyc pft$p_attached_pf_table
*copyc pft$p_queued_catalog
*copyc pft$p_queued_catalog_table
