<> <> <> <> DIRECTORY AMProcessBasic USING [ State ], AMModel USING [ Context ], AMTypes USING [ TV ], PrincOps USING [ PsbIndex ], Rope USING [ ROPE ], WorldVM USING [ World ]; AMProcess: DEFINITIONS = BEGIN OPEN AMModel, AMTypes, PrincOps, Rope, WorldVM; Process: TYPE = AMTypes.TV; nullProcess: Process = NIL; PSBIToTV: PROC [world: World, psbi: PsbIndex] RETURNS [p: Process]; TVToPSBI: PROC [p: Process] RETURNS [world: World, psbi: PsbIndex]; State: TYPE = AMProcessBasic.State; <> <> GetProcesses: PROC [context: LIST OF Context _ NIL, states: LIST OF State _ NIL] RETURNS [LIST OF Process]; <> <> Name: PROC [p: Process] RETURNS [ROPE]; <> Freeze: PROC [processes: LIST OF Process, context: LIST OF Context _ NIL]; <> Adjust: PROC [processes: LIST OF Process, context: LIST OF Context _ NIL]; <> Thaw: PROC [processes: LIST OF Process]; <> GetState: PROC [p: Process] RETURNS [state: State, faultData: LONG CARDINAL, priority: [0..7], stack: TV, topFrame: BOOL]; <> CallDebugger: PROC [p: Process, msg: ROPE]; <> <> Abort: PROC [p: Process]; <> <> <> ReturnFrom: PROC [p: Process, frame: TV, result: TV]; <> <> <> <<"frame", unless someone catches the ABORTED earlier.>> <> <> <> Retry: PROC [p: Process, frame: TV, args: TV]; <> <> <> LocalOnly: ERROR; <<"Abort", "ReturnFrom", and "Retry" are implemented only in the local world. Otherwise>> <> END.