1 DEFINITION MODULE Traps;
3 Module: Facility for handling traps
4 Author: Ceriel J.H. Jacobs
5 Version: $Id: Traps.def,v 1.9 1994/06/24 12:50:22 ceriel Exp $
11 ERRTOOLARGE = 64; (* stack size of process too large *)
12 ERRTOOMANY = 65; (* too many nested traps + handlers *)
13 ERRNORESULT = 66; (* no RETURN from function procedure *)
14 ERRCARDOVFL = 67; (* CARDINAL overflow *)
15 ERRFORLOOP = 68; (* value of FOR-loop control variable changed
18 ERRCARDUVFL = 69; (* CARDINAL underflow *)
19 ERRINTERNAL = 70; (* Internal error; should not happen *)
20 ERRUNIXSIG = 71; (* received unix signal *)
22 TYPE TrapHandler = EM.TrapHandler;
24 PROCEDURE InstallTrapHandler(t: TrapHandler): TrapHandler;
25 (* Install a new trap handler, and return the previous one.
26 Parameter of trap handler is the trap number.
27 When a trap occurs, the default trap handler is re-installed before
28 calling the new handler.
31 PROCEDURE Message(str: ARRAY OF CHAR);
32 (* Write message "str" on standard error, preceeded by filename and
33 linenumber if possible
36 PROCEDURE Trap(n: INTEGER);
37 (* cause trap number "n" to occur *)