GDSX Manual
Using Pseudo Procedures in a NonStop TS/MP
Environment
Extended General Device Support (GDSX) Manual–134303
D-9
USAMPLE1 Listing
240. Call Stop^Task;
241. End; -- of Case Evt
242. End; -- of While
243.
244. End; -- Proc
245.
246.
247. !===========================================================================
248 ! Other User^Exits
249. !===========================================================================
250.
251. !===========================================================================
252. Proc LINE^HANDLER (LINE^FILE^NUM, INTERNAL^LINE^NO, IN^QUEUE^FILE^NUM);
253. !===========================================================================
254. Int LINE^FILE^NUM, INTERNAL^LINE^NO, IN^QUEUE^FILE^NUM;
255. Begin
256.
257. End;
258.
259.
260. !===========================================================================
261. Proc User^Initialize(Primary);
262. !===========================================================================
263. Int primary;
264.
265. Begin
266. End;
267.
268.
269. !===========================================================================
270. Int Proc USER^START (DCBP, OPENID);
271. !===========================================================================
272. Int .EXT DCBP;
273. Int (32) .OPENID;
274. Begin ! OPENID specified by USER (In this case, pointer to DCB)
275. ! is stored in TCB.OPENID
276. OPENID := @DCBP;
277. Return 0;
278. End;
279.
280.
281. !===========================================================================
282. Proc USER^STOP (TCB);
283 !===========================================================================
284. Int .EXT TCB(TCB^TEMPLATE);
285. Begin
286. End;
287.
288.
289. !===========================================================================
290. Proc PROCESS^ASSIGNS (buf);
291. !===========================================================================
292. Int .buf;
293. Begin
294. End;
295.
296.
297. !===========================================================================
298. Proc PROCESS^USER^PARAMS (user^param^buf);
299. !===========================================================================
300. String .user^param^buf;
301. Begin
302. Literal eof = %377;
303. STRING xlate^user^parm^name = 'p' := [
304. !01234567890123 4 56789012345678 9
305. "USERPARAM1 ", 1, "USERPARAM2 ", 2,
306. eof ];
307.
308. STRING
309. .s := @user^param^buf ,
310. item^name [0:13] ;
313. use index; index := 0;
314. While xlate^user^parm^name [index] <> eof Do ! If within table
315. Begin