-- ImageFileInfoDefs.mesa; edited by Sandman on July 8, 1980  8:39 AM
-- Copyright  Xerox Corporation 1979, 1980

DIRECTORY
  AltoDefs USING [PageNumber],
  BcdDefs USING [VersionStamp],
  ControlDefs USING [GFTIndex, GlobalFrameHandle],
  SegmentDefs USING [FileSegmentHandle];

ImageFileInfoDefs: DEFINITIONS =
  BEGIN
  
  -- Frame Info
  
  GlobalFrameHandle: TYPE = ControlDefs.GlobalFrameHandle;
  GFTIndex: TYPE = ControlDefs.GFTIndex;
  FileSegmentHandle: TYPE = SegmentDefs.FileSegmentHandle;
  
  EnumerateGlobalFrames: PROCEDURE [
    proc: PROCEDURE [GlobalFrameHandle] RETURNS [BOOLEAN]]
    RETURNS [GlobalFrameHandle];
  GlobalFrame: PROCEDURE [link: UNSPECIFIED] RETURNS [GlobalFrameHandle];
  VirtualGlobalFrame: PROCEDURE [GlobalFrameHandle] RETURNS [GlobalFrameHandle];
  FindOriginal: PROCEDURE [GlobalFrameHandle] RETURNS [GlobalFrameHandle];
  VirtualFileSegment: PROCEDURE [FileSegmentHandle] RETURNS [FileSegmentHandle];
  FrameToModuleName: PROCEDURE [frame: GlobalFrameHandle, name: STRING];
  
  READ: PROCEDURE [UNSPECIFIED] RETURNS [UNSPECIFIED];
  CopyRead: PROCEDURE [from, to: POINTER, nwords: CARDINAL];
  InvalidPage: SIGNAL [page: AltoDefs.PageNumber];
  
  SetImage: PROCEDURE [name: STRING];
  InvalidImageFile: SIGNAL;
  Version: PROCEDURE RETURNS [BcdDefs.VersionStamp];
  HeaderSegment: PROCEDURE RETURNS [FileSegmentHandle];
  
  FindAllSymbols: PROCEDURE;
  SymbolSegForFrame: PROCEDURE [frame: GlobalFrameHandle]
    RETURNS [seg: FileSegmentHandle];
  CodeSegForFrame: PROCEDURE [frame: GlobalFrameHandle]
    RETURNS [seg: FileSegmentHandle, offset: CARDINAL];
  
  InitializeImageCache: PROCEDURE [seg: SegmentDefs.FileSegmentHandle];
  InitImageLoadState: PROCEDURE [seg: SegmentDefs.FileSegmentHandle];
  
  END...