
  FUNCTION [UNSAFE, INLINE] gfp$get_eoi_from_fde
     (     fde_p: gft$file_desc_entry_p): amt$file_byte_address;

?? PUSH (LISTEXT := ON) ??
    VAR
      request_block: mmt$rb_set_get_segment_length;

    IF (fde_p^.eoi_state = mmc$eoi_uncertain) OR (fde_p^.stack_for_ring <> 0) THEN
      request_block.request_code := syc$rc_set_get_segment_length;
      request_block.subfunction_code := mmc$sf_get_segment_length_fde_p;
      request_block.fde_p := fde_p;
      i#call_monitor (#loc (request_block), #size (request_block));
      gfp$get_eoi_from_fde := request_block.segment_length;
    ELSE
      gfp$get_eoi_from_fde := fde_p^.eoi_byte_address;
    IFEND;

  FUNCEND gfp$get_eoi_from_fde;

*copyc mmt$rb_set_get_segment_length
*copyc gft$file_desc_entry_p
*copyc i#call_monitor
?? POP ??
