OSI/AS Management Programming Manual
Management Program Example
Sample Programs
C–10 056785 Tandem Computers Incorporated
 zOsi^Val^Min^BufLen BYTES;
 complete := zSpi^Val^False;
 WHILE ( complete = zSpi^Val^False ) DO
 BEGIN
 -- Send the command to the OSI/AS subsystem.
 CALL Send^SpiCmd;
 CALL Reset^SpiBuf;
 -- Count number of response records in the reply.
 token^id := zSpi^Tkn^DataList;
 SSErr := SSGetTkn( Spi^Buffer,
 zSpi^Tkn^Count,
 token^id,
 1,
 DataList^Count );
 IF (SSErr <> zSpi^Err^OK) THEN CALL Debug;
 FOR DataList^Index := 1 TO DataList^Count DO
 BEGIN
 -- Open the first response list.
 SSErr := SSGetTkn( Spi^Buffer,
 zSpi^Tkn^DataList,
 DataList^Index );
 IF (SSErr <> zSpi^Err^OK) THEN CALL Debug;
 -- Get zCom^Tkn^Objtype.
 SSErr := SSGetTkn( Spi^Buffer,
 zCom^tkn^Objtype,
 Object^type );
 IF (SSErr <> zSpi^Err^OK) THEN CALL Debug;
 CALL Write( Term^fn, Term^Buf, 0 );
 CASE Object^type OF
 BEGIN
 zCom^Obj^SUBSYS ->
 CALL Write( Term^fn,
 Objectnm1 [1],
 Objectnm1 [0] );
 zCom^Obj^SERVICE ->
 CALL Write( Term^fn,
 Objectnm2 [1],
 Objectnm2 [0] );
 zCom^Obj^PROCESS ->
 CALL Write( Term^fn,
 Objectnm3 [1],
 Objectnm3 [0] );
 zCom^Obj^PROFILE ->
 CALL Write( Term^fn,
 Objectnm4 [1],
 Objectnm4 [0] );
 zCom^Obj^ENTRY ->
 CALL Write( Term^fn,
 Objectnm5 [1],
 Objectnm5 [0] );
 OTHERWISE ->










