-- GlobalFrameDefs.Mesa  Edited by Sandman on June 21, 1978  9:45 AM

GlobalFrameDefs: DEFINITIONS =
  BEGIN

  GlobalFrame: TYPE = MACHINE DEPENDENT RECORD [
    gfi: [0..777B],
    unused: [0..1], -- reserved for future gfi expansion
    copied, alloced, shared, started: BOOLEAN,
    trapxfers, codelinks: BOOLEAN,
    code: FrameCodeBase,
    global: ARRAY [0..0) OF UNSPECIFIED];

  FrameCodeBase: TYPE = MACHINE DEPENDENT RECORD [
    SELECT OVERLAID * FROM
      in => [
        SELECT OVERLAID * FROM
          codebase => [
            codebase: LONG POINTER],
          shortCodebase => [
            shortCodebase: POINTER,
	    highHalf: CARDINAL],
          ENDCASE],
      out => [
        offset: CARDINAL,
	handle: POINTER],
      either => [
        fill1: [0..77777B],
        swappedout: BOOLEAN,
        highByte, topByteOfLongPointer: [0..377B]],
      ENDCASE];

  GlobalFrameHandle: TYPE = POINTER TO GlobalFrame;
  NullGlobalFrame: GlobalFrameHandle = LOOPHOLE[0];

  END.