
  FUNCTION [INLINE] gff$fde_p
    (    sfid: gft$system_file_identifier): gft$file_desc_entry_p;

?? PUSH (LISTEXT := ON) ??

    VAR
      fde_p: gft$file_desc_entry_p,
      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;
    gff$fde_p := fde_p;

  FUNCEND gff$fde_p;

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