OSI/AS Management Programming Manual

Event-Retrieval Example
Sample Programs
056785 Tandem Computers Incorporated C–33
END; -- proc spi^cmd^set^position
? PAGE "displ^event"
-------------------------------------------------------------
--
-- DISPL^EVENT -
--
-- This procedure displays, at your terminal, the event
-- message just retrieved.
--
-- input - event^buf
-- output - none
--
-------------------------------------------------------------
PROC displ^event( event^buf );
INT .EXT event^buf;
BEGIN
INT(32) etxt^stat;
INT i;
INT written;
--
-- Generate display text from the event message.
--
etxt^stat := EmsText
( event^buf,
EVT^TEXT^BUF,
evt^text^len, -- Displayable line length
num^evt^lines, -- Number of display lines
actual^len, -- Line lengths stored here
, -- Reserved
, -- Indent default
1 ); -- Console-compatible
--
-- Check for EMSTEXT calling errors.
--
IF $high( etxt^stat ) = 0 AND $int( etxt^stat ) <> 0 THEN
CALL Debug;
--
-- Display the text.
--
FOR i := 0 TO num^evt^lines-1 DO
BEGIN
IF ( actual^len[i] <> -1 ) THEN
BEGIN
Written := zSpi^Val^False;
WHILE (NOT Written) DO
BEGIN
CALL Write( term,
evt^text^buf [i*evt^text^len/2],