MimosaEvents: DEFINITIONS = BEGIN EventsClass: TYPE = MACHINE DEPENDENT { zoneReset, -- when MimZones.tempZone or MimZones.tempUZ are reset relocate, -- when an Alloc table is relocated startup, -- when Mimosa starts a command line cleanup, -- when Mimosa ends a command line (or aborts) startFile, -- when Mimosa starts processing a file (before Pass1) endFile, -- when Mimosa ends processing a file pass1, -- when Pass1 ends pass2, -- when Pass2 ends pass3, -- when Pass3 ends pass4, -- when Pass4 ends pass5, -- when Pass5 ends pass6, -- when Pass6 ends other1, -- some other kind of event other2, -- some other kind of event other3, -- some other kind of event other4 (15) -- some other kind of event }; Trigger: TYPE = PACKED ARRAY EventsClass OF BOOL; nullTrigger: Trigger = ALL[FALSE]; fullTrigger: Trigger = ALL[TRUE]; Register: PROC [proc: Callback, class: EventsClass]; RegisterSet: PROC [proc: Callback, trigger: Trigger]; CauseEvent: PROC [class: EventsClass]; Callback: TYPE = PROC [class: EventsClass]; END. X MimosaEvents.mesa Copyright Σ 1988, 1991 by Xerox Corporation. All rights reserved. Russ Atkinson (RRA) July 13, 1988 11:51:00 pm PDT Registers a callback proc for the given single event class Registers a callback proc for the given single event class Causes a given event (with given subclass) This is the type for the callback proc ΚΓ–(cedarcode) style•NewlineDelimiter ™code™Kšœ Οeœ7™BKšœΟkœ™1K™—šΟn œž œž˜!K˜—šœ žœžœž œ˜'Kšœ Οc6˜AKšœ  #˜-Kšœ  $˜-Kšœ  .˜7Kšœ  6˜AKšœ  %˜.Kšœ ˜Kšœ ˜Kšœ ˜Kšœ ˜Kšœ ˜Kšœ ˜Kšœ ˜#Kšœ ˜#Kšœ ˜#Kšœ  ˜'Kšœ˜K˜—š œ žœžœžœ žœžœ˜1Kšœžœžœ˜"Kšœžœžœ˜!K˜—šŸœžœ&˜4K™:K˜—šŸ œžœ$˜5K™:K˜—šŸ œžœ˜&K™*K˜—šœ žœžœ˜+K™&K˜—Kšžœ˜K˜—…—!