OSI/MHS Management Programming Manual

Examples
OSI/MHS Management Programming Manual424824-001
C-11
SPI Example in TAL
CALL FileInfo( Rcv^Num, Open^Error );
Write^Term^With^Num ( "Cannot open $RECEIVE", Open^Error );
CALL Abend;
END;
CALL Read( Rcv^Num,
Startup^Msg,
$LEN( Startup^Msg ),
Count^Read );
IF <> THEN
BEGIN
CALL FileInfo( Rcv^Num, Open^Error );
Write^Term^With^Num ( "Cannot read $RECEIVE", Open^Error );
CALL Abend;
END;
CALL Close( Rcv^Num );
END; -- PROC Startup
? PAGE "Open SCP process"
-------------------------------------------------------------
--
-- Open^SCP - Open the SCP $ZNET process.
--
-- GLOBALS. SCP^File^Num . Set in this procedure
-- Term^Fn . Must be set before
-- INPUT. None
-- OUTPUT. File-system error code from OPEN
--
-------------------------------------------------------------
INT PROC Open^SCP;
BEGIN
INT .SCP^Name [0:11]
:= ["$ZNET #ZSPI ", 4 * [" "]];
INT Open^Error := 0;
-- Open the $ZNET process.
CALL Open( SCP^Name, SCP^Fn );
IF <> THEN
BEGIN
-- Get OPEN error number.
CALL FileInfo( SCP^Fn, Open^Error );
Write^Term^With^Num ( "Could not open $ZNET", Open^Error );
END;
RETURN Open^Error;
END; -- PROC Open^SCP
? PAGE "Initialize SPI Command Buffer "
-------------------------------------------------------------
--
-- INIT^CMD^BUFFER - Initialize the SPI command buffer
-- with MHS^Val^SSID and MAXRESP = -1.
--
-- GLOBALS. Spi^Buffer . Buffer to initialize
-- MHS^Val^SSID . Must be set before
-- SSErr . Set in this procedure
-- INPUT. Cmd. zCom^Cmd^xxx value to use in SSInit
-- ObjType. zCom^Obj^yyy value to use in SSInit
-- OUTPUT. None
--