OSI/AS Management Programming Manual

Management Program Example
Sample Programs
056785 Tandem Computers Incorporated C–7
--
-- The buffer length is the second word in the SPI buffer.
--
Spi^Buffer [1] := $min ( Spi^Buffer [1],
zOsi^Val^Min^BufLen );
Init^Buffer := zSpi^Val^Initial^Buffer;
SSErr := SSPutTkn ( Spi^Buffer,
zSpi^Tkn^Initial^Position,
Init^Buffer );
IF (SSErr <> zSpi^Err^OK) THEN CALL Debug;
END; -- PROC Reset^SpiBuf
? PAGE "Send command to OSI/AS Subsystem"
-------------------------------------------------------------
--
-- SEND^SPICMD - Send command to OSI/AS through SCP.
--
-- GLOBALS: SCP^fn
-- Spi^Buffer
-- FS^Err
-- SSErr
-- INPUT: None
-- OUTPUT: None
--
-------------------------------------------------------------
PROC Send^SpiCmd;
BEGIN
INT Write^Count;
INT Count^Read;
SSErr := SSGetTkn( Spi^Buffer,
zSpi^Tkn^UsedLen,
Write^Count );
IF (SSErr <> zSpi^Err^OK) THEN CALL Debug;
CALL WriteRead( SCP^fn,
Spi^Buffer,
Write^Count,
zOsi^Val^Min^Buflen,
Count^Read );
IF <> THEN -- if error occured during WRITEREAD
BEGIN
CALL FileInfo( SCP^fn, FS^Error );
CALL Debug;
END
ELSE
FS^Error := 0;
END; -- PROC Send^SpiCmd
? PAGE "Get^OsiM^Name"
-------------------------------------------------------------
--
-- GET^OSIM^NAME - Get OSI manager name from terminal.