OSI/TS Management Programming Manual
Sample Programs
C–6 056786 Tandem Computers Incorporated
 CALL DEBUG;
 ! Put allow-type token in buffer.
 tkn^value := zspi^val^err^warn^and^norm;
 spi^err := SSPUTTKN(os4^buf,zspi^tkn^allow^type,
 tkn^value^s);
 IF spi^err THEN
 CALL DEBUG;
END;
! ***********************************************************
! * add^su *
! ***********************************************************
INT PROC add^su(obj^name);
 INT .obj^name; ! object name of SU to be added
BEGIN
 INT return^token; ! value of return token
 INT .zos4^map^add^su^tsp^req[0:zos4^map^add^su^tsp^wln-1]
 := zos4^map^add^su^tsp; !token map definition
 INT .add^su^tsp(zos4^ddl^add^su^tsp^def);
 ! pointer to ADD SU structure
 ! Initialize the command buffer.
 CALL build^cmd^buf(zcom^cmd^add,zcom^obj^su,obj^name);
 ! Initialize the fields of the extensible structured token.
 ! zos4^map^add^su^tsp to null values
 spi^err := SSNULL(zos4^map^add^su^tsp^req, tkn^value);
 IF spi^err THEN
 CALL DEBUG;
 ! Assign buffer address to pointer add^su^tsp.
 @add^su^tsp:= @tkn^value;
 ! Add values to the extensible structured token add^su^tsp.
 ! Since all the added SUs are within the same application,
 ! you can use the same attribute values for each SU.
 add^su^tsp.znsp^dev ':=' ["$X25A "];
 add^su^tsp.zloc^nsap ':=' ["36A00B"];
 add^su^tsp.zrmt^nsap ':=' ["36E00F"];
 add^su^tsp.zx25destaddr ':=' ["123401"];
 add^su^tsp.zx25port := 2;
 add^su^tsp.zrmt^tsel ':=' ["46E00F"];
 add^su^tsp.zloc^tsel ':=' ["46A00B"];
 add^su^tsp.zclass := zos4^val^class^4;
 add^su^tsp.zmultiplex := zspi^val^true;
 add^su^tsp.zexpedited := zspi^val^true;
 add^su^tsp.zconn^wait^time := 12000d;
 add^su^tsp.zdisconn^wait^time := 12000d;










