PAM Programming Manual
Link-Level Programming Examples
PAM Programming Manual—142482
B-4
Procedures
report^buf^ptr ’:=’ [”Send Failed”];
?ENDIF 1
?IF 2
report^buf^ptr ’:=’ [”Receive Failed”];
?ENDIF 2
CALL Write ( report^file^num, report^buf^ptr, 14 );
CALL AbEnd;
END;
--/---------------------------------------------------------------/
-- Service Access Point Exercise Program: Procedures
--/---------------------------------------------------------------/
-- PROC: Initialize
--/---------------------------------------------------------------/
PROC Initialize;
BEGIN
INT .recv^file^name^ptr [0:11];
INT recv^file^num;
INT .INT^startup^message^ptr [ 0:99 ];
STRING .startup^message^ptr :=
@INT^startup^message^ptr ’<<’ 1;
INT startup^message^size^B;
INT end^addr;
INT error;
INT Hex^value;
INT Hex^digit^ndx;
INT(32) buffer^lst^ndx;
recv^file^name^ptr ’:=’ [ “$Receive”, 8 * [” “]];
CALL Open ( recv^file^name^ptr, recv^file^num );
IF <> THEN
CALL DeBug;
CALL Read ( recv^file^num, INT^startup^message^ptr, 200,
startup^message^size^B );
IF <> THEN
CALL DeBug;
report^file^name^ptr ’:=’ startup^message^ptr[42] FOR 24 BYTES;
IF ( report^file^name^ptr = [ 24 * [” “] ] ) THEN
CALL MyTerm ( INT^report^file^name^ptr );
CALL Open ( INT^report^file^name^ptr, report^file^num );
IF <> THEN
BEGIN
CALL FileInfo ( report^file^num, error );
CALL DeBug;
END;
--/---------------------------------------------------------------/
-- Look for <L2S device name>
--/---------------------------------------------------------------/
SCAN @startup^message^ptr[66] WHILE " " -> @startup^message^ptr;
SCAN startup^message^ptr UNTIL "," -> end^addr;
L2SAP^file^name^ptr ':=' startup^message^ptr FOR
( end^addr - @startup^message^ptr );
--/---------------------------------------------------------------/
-- Look for Port type ( ZLAM^Val^Port^Type^... )
--/---------------------------------------------------------------/