PROCEDURE signal(num: Integer; { error number } param: Integer; { general value } isb: IO_Status_Block; str: PACKED ARRAY [lo..hi: Integer] OF char { aux string } ); EXTERNAL; {*USER* General message logger for AMIRTR. Puts out message patterned (vaguely) after the VMS LIB$SIGNAL stuff. Facility code is "RTR". Message numbers are defined here, with a severity code for each. By convention, positive integers are status messages, negative are errors. Severity is 'S (Success)' for positive codes, 'F (Fatal)' for negative, unless otherwise specified. Other values are 'W (Warning)', 'E (Error)', 'I (informational)'. Writes message to file 'Log_File', which is opened from logical RTR$LOG_FILE during initialization. Message format is - %RTR-?-ACRONYM - dd-MMM-yy hh:mm:ss - message text 'aux string' Param=nnnnn, DSW=oooooo, IOSB[1]=oooooo, ooooo. If const WIDE = TRUE, then a single 132-col line is formatted, else two 80-col lines are used. Messages are duplicated to DEBUG_FILE and/or sent to DEBUG_NODE::DEBUG_TASK as specified by global debug booleans. Debug_level for all statuses must be 2 or greater. Where ACRONYM and message text are defined here, aux string is the STR parameter, and the others are obvious. Some intelligence is applied to dumping DSW and IOSB params, but if not obvious, they are dumped anyway. DSW is not a parameter, it is taken from current value of $DSW. See the table Mes_Table in module SIGNAL.INC for definition of messages. }