
  PROCEDURE [INLINE] gfp$get_fde_p (sfid: gft$system_file_identifier;
    VAR fde_p: gft$file_desc_entry_p);


?? PUSH (LISTEXT := ON) ??
    VAR
      seg: 0 .. 4095;

    seg := 1;
    IF sfid.residence <> gfc$tr_system THEN
      IF sfid.residence = gfc$tr_job THEN
        seg := 3;
      ELSE
        seg := 0;
      IFEND;
    IFEND;
    fde_p := #address (1, seg, gfc$fde_table_base + gfc$fde_size * sfid.file_entry_index);
    IF (seg = 0) OR (sfid.file_hash <> fde_p^.file_hash) THEN
      fde_p := NIL;
    IFEND;

  PROCEND gfp$get_fde_p;

*copyc gfc$constants
*copyc gft$file_desc_entry_p
*copyc gft$file_descriptor_index
*copyc gft$system_file_identifier
?? POP ??
