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










