
  PROCEDURE [INLINE] gfp$mtr_get_sfid_from_fde_p
    (    fde_p: gft$locked_file_desc_entry_p;
     VAR sfid: gft$system_file_identifier;
     VAR ijl_ordinal: jmt$ijl_ordinal);

?? PUSH (LISTEXT := ON) ??
    VAR
      segnum: ost$segment,
      xijl_ordinal: jmt$ijl_ordinal,
      xsfid: gft$system_file_identifier;

    xsfid.file_hash := fde_p^.file_hash;
    xsfid.file_entry_index := ((#OFFSET (fde_p)) - gfc$fde_table_base) DIV gfc$fde_size;
    segnum := #SEGMENT (fde_p);
    IF segnum = 1 THEN
      xsfid.residence := gfc$tr_system;
      xijl_ordinal := jmv$null_ijl_ordinal;
    ELSE
      xsfid.residence := gfc$tr_job;
      xijl_ordinal := jmv$ajl_p^ [segnum - mtc$job_fixed_segment].ijl_ordinal;
    IFEND;

    sfid := xsfid;
    ijl_ordinal := xijl_ordinal;

  PROCEND gfp$mtr_get_sfid_from_fde_p;

*copyc jmv$null_ijl_ordinal
*copyc jmv$ajl_p
?? POP ??

