1
KIDS Distribution saved on Sep 16, 2010@17:16:04
2
artf10591 - Preserve $I
8
XU*8.0*1503^KERNEL^0^3100916^n
17
"BLD",7301,"KRN",.4,0)
19
"BLD",7301,"KRN",.401,0)
21
"BLD",7301,"KRN",.402,0)
23
"BLD",7301,"KRN",.403,0)
25
"BLD",7301,"KRN",.5,0)
27
"BLD",7301,"KRN",.84,0)
29
"BLD",7301,"KRN",3.6,0)
31
"BLD",7301,"KRN",3.8,0)
33
"BLD",7301,"KRN",9.2,0)
35
"BLD",7301,"KRN",9.8,0)
37
"BLD",7301,"KRN",9.8,"NM",0)
39
"BLD",7301,"KRN",9.8,"NM",1,0)
41
"BLD",7301,"KRN",9.8,"NM","B","ZOSVGUX",1)
43
"BLD",7301,"KRN",19,0)
45
"BLD",7301,"KRN",19.1,0)
47
"BLD",7301,"KRN",101,0)
49
"BLD",7301,"KRN",409.61,0)
51
"BLD",7301,"KRN",771,0)
53
"BLD",7301,"KRN",870,0)
55
"BLD",7301,"KRN",8989.51,0)
57
"BLD",7301,"KRN",8989.52,0)
59
"BLD",7301,"KRN",8994,0)
61
"BLD",7301,"KRN","B",.4,.4)
63
"BLD",7301,"KRN","B",.401,.401)
65
"BLD",7301,"KRN","B",.402,.402)
67
"BLD",7301,"KRN","B",.403,.403)
69
"BLD",7301,"KRN","B",.5,.5)
71
"BLD",7301,"KRN","B",.84,.84)
73
"BLD",7301,"KRN","B",3.6,3.6)
75
"BLD",7301,"KRN","B",3.8,3.8)
77
"BLD",7301,"KRN","B",9.2,9.2)
79
"BLD",7301,"KRN","B",9.8,9.8)
81
"BLD",7301,"KRN","B",19,19)
83
"BLD",7301,"KRN","B",19.1,19.1)
85
"BLD",7301,"KRN","B",101,101)
87
"BLD",7301,"KRN","B",409.61,409.61)
89
"BLD",7301,"KRN","B",771,771)
91
"BLD",7301,"KRN","B",870,870)
93
"BLD",7301,"KRN","B",8989.51,8989.51)
95
"BLD",7301,"KRN","B",8989.52,8989.52)
97
"BLD",7301,"KRN","B",8994,8994)
100
/home/jon/XU_80_1503.KID
102
artf10591 - Preserve $I
110
KERNEL^XU^SIGN-ON, SECURITY, MENU DRIVER, DEVICES, TASKMAN^
116
8.0^3040115^2960606^1
117
"PKG",3,22,1,"PAH",1,0)
124
Shall I write over your |FLAG| File
134
Want my data |FLAG| yours
144
Want KIDS to INHIBIT LOGONs during the install
154
Enter the Coordinator for Mail Group '|FLAG|'
164
Want KIDS to Rebuild Menu Trees Upon Completion of Install
174
Want to DISABLE Scheduled Options, Menu Options, and Protocols
184
Want to MOVE routines to other CPUs
194
%ZOSV ;SFISC/AC,PUG/TOAD,HOU/DHW,MSC/JDA/JKT - View commands & special functions. ;16 SEPT 2010 1613
196
;;8.0;KERNEL;**275,1503**;Jul 10, 1995
200
ACTJ() ; # active jobs
202
Q $G(^XUTL("XUSYS",0))
204
;This would also work
206
N %FILE S %FILE=$$TEMP_"zosv_actj_"_$J_".tmp"
208
ZSYSTEM "ps cef -C mumps|wc>"_%FILE
211
"RTN","ZOSVGUX",10,0)
213
"RTN","ZOSVGUX",11,0)
215
"RTN","ZOSVGUX",12,0)
217
"RTN","ZOSVGUX",13,0)
218
F Q:$E(Y)'=" " S $E(Y)=""
219
"RTN","ZOSVGUX",14,0)
221
"RTN","ZOSVGUX",15,0)
223
"RTN","ZOSVGUX",16,0)
225
"RTN","ZOSVGUX",17,0)
226
RTNDIR() ; primary routine source directory
227
"RTN","ZOSVGUX",18,0)
228
; If $ZRO is a single directory, e.g., xxx, returns that directory, e.g., xxx/
229
"RTN","ZOSVGUX",19,0)
230
; If $ZRO is of the form xxx yyy ... returns xxx/
231
"RTN","ZOSVGUX",20,0)
232
; If $ZRO is of the form www(xxx) ... or www(xxx yyy) ... returns xxx/
233
"RTN","ZOSVGUX",21,0)
234
Q $P($S(($F($ZRO_" "," ")>$F($ZRO,"("))&$F($ZRO,"("):$P($P($ZRO,")"),"(",2),1:$ZRO)," ")_"/" ;
235
"RTN","ZOSVGUX",22,0)
236
TEMP() ; Return path to temp directory
237
"RTN","ZOSVGUX",23,0)
238
;N %TEMP S %TEMP=$P($$RTNDIR," "),%TEMP=$P(%TEMP,"/",1,$L(%TEMP,"/")-2)_"/t/"
239
"RTN","ZOSVGUX",24,0)
240
Q $G(^%ZOSF("TMP"),"/tmp/")
241
"RTN","ZOSVGUX",25,0)
243
"RTN","ZOSVGUX",26,0)
244
AVJ() ; # available jobs
245
"RTN","ZOSVGUX",27,0)
246
Q $G(^%ZTSCH("MAXJOBS"),1000)-$$ACTJ
247
"RTN","ZOSVGUX",28,0)
249
"RTN","ZOSVGUX",29,0)
251
"RTN","ZOSVGUX",30,0)
252
U $I:(PASTHRU) Q ; <=====
253
"RTN","ZOSVGUX",31,0)
255
"RTN","ZOSVGUX",32,0)
256
U $I:(NOPASTHRU) Q ; <=====
257
"RTN","ZOSVGUX",33,0)
259
"RTN","ZOSVGUX",34,0)
260
GETPEER() ;Get the IP address of a connection peer
261
"RTN","ZOSVGUX",35,0)
262
Q $S($L($G(IO("GTM-IP"))):IO("GTM-IP"),1:"")
263
"RTN","ZOSVGUX",36,0)
265
"RTN","ZOSVGUX",37,0)
266
LOG(MSG,PRIORITY,TAG)
267
"RTN","ZOSVGUX",38,0)
269
"RTN","ZOSVGUX",39,0)
271
"RTN","ZOSVGUX",40,0)
272
S:$G(PRIORITY)'="" CMD=CMD_" -p "_PRIORITY
273
"RTN","ZOSVGUX",41,0)
274
S:$G(TAG)'="" CMD=CMD_" -t "_TAG
275
"RTN","ZOSVGUX",42,0)
277
"RTN","ZOSVGUX",43,0)
278
S A="LOGDEV" OPEN A:(COMM=CMD)::"PIPE" U A C A
279
"RTN","ZOSVGUX",44,0)
281
"RTN","ZOSVGUX",45,0)
283
"RTN","ZOSVGUX",46,0)
284
N USER,ISOK,LOGTEXT,RDIR
285
"RTN","ZOSVGUX",47,0)
287
"RTN","ZOSVGUX",48,0)
289
"RTN","ZOSVGUX",49,0)
290
S RDIR=$$RTNDIR^%ZOSV
291
"RTN","ZOSVGUX",50,0)
292
S LOGTEXT=$S(ISOK:"Granted",1:"Denied")_" programmer mode in "
293
"RTN","ZOSVGUX",51,0)
294
S LOGTEXT=LOGTEXT_$P(RDIR,"/",$L(RDIR,"/")-2) ; instance
295
"RTN","ZOSVGUX",52,0)
296
S LOGTEXT=LOGTEXT_" to "_USER ; Unix acct name
297
"RTN","ZOSVGUX",53,0)
298
S LOGTEXT=LOGTEXT_" from "_$P($ZTRNLNM("SSH_CLIENT")," ",1) ; remote loc
299
"RTN","ZOSVGUX",54,0)
300
S LOGTEXT=LOGTEXT_" logged in as "_$$GET1^DIQ(200,DUZ,.01) ; VistA user
301
"RTN","ZOSVGUX",55,0)
302
D LOG(LOGTEXT,"authpriv.info","OpenVista")
303
"RTN","ZOSVGUX",56,0)
305
"RTN","ZOSVGUX",57,0)
306
K XMB,XMTEXT,XMY S XMB="XUPROGMODE",XMB(1)=DUZ,XMB(2)=$I D ^XMB:$L($T(^XMB)) D BYE^XUSCLEAN K ZTPAC,X,XMB
307
"RTN","ZOSVGUX",58,0)
308
;D UCI S XUCI=Y,XQZ="PRGM^ZUA[MGR]",XUSLNT=1 D DO^%XUCI
309
"RTN","ZOSVGUX",59,0)
311
"RTN","ZOSVGUX",60,0)
313
"RTN","ZOSVGUX",61,0)
315
"RTN","ZOSVGUX",62,0)
317
"RTN","ZOSVGUX",63,0)
318
Q 1 ; until we fix this, we're never in application mode
319
"RTN","ZOSVGUX",64,0)
321
"RTN","ZOSVGUX",65,0)
323
"RTN","ZOSVGUX",66,0)
325
"RTN","ZOSVGUX",67,0)
326
N IDDEV S IDDEV="id",OLDIO=$IO
327
"RTN","ZOSVGUX",68,0)
328
O IDDEV:(COMMAND="id -un":READONLY)::"PIPE" U IDDEV R USER C IDDEV U OLDIO
329
"RTN","ZOSVGUX",69,0)
330
Q:USER'="openvista" 1
331
"RTN","ZOSVGUX",70,0)
333
"RTN","ZOSVGUX",71,0)
334
W !,"System user name: "
335
"RTN","ZOSVGUX",72,0)
336
S USER=$$READ^XGF() Q:USER="^" 0
337
"RTN","ZOSVGUX",73,0)
339
"RTN","ZOSVGUX",74,0)
340
W !,"System password: "
341
"RTN","ZOSVGUX",75,0)
343
"RTN","ZOSVGUX",76,0)
344
X ^%ZOSF("EON") I PASS="^" S USER="^" Q 0
345
"RTN","ZOSVGUX",77,0)
347
"RTN","ZOSVGUX",78,0)
349
"RTN","ZOSVGUX",79,0)
350
S DEV="ovauth",OLDIO=$IO,STATUS="Problem opening pipe"
351
"RTN","ZOSVGUX",80,0)
352
O DEV:(COMMAND="/sbin/ovauth "_USER:PARSE:INDEPENDENT:EXCEPTION="G AUTHDONE")::"PIPE"
353
"RTN","ZOSVGUX",81,0)
354
U DEV W PASS R STATUS
355
"RTN","ZOSVGUX",82,0)
357
"RTN","ZOSVGUX",83,0)
359
"RTN","ZOSVGUX",84,0)
361
"RTN","ZOSVGUX",85,0)
362
; W STATUS,! ; Comment this back in to see what went wrong
363
"RTN","ZOSVGUX",86,0)
365
"RTN","ZOSVGUX",87,0)
367
"RTN","ZOSVGUX",88,0)
369
"RTN","ZOSVGUX",89,0)
371
"RTN","ZOSVGUX",90,0)
373
"RTN","ZOSVGUX",91,0)
375
"RTN","ZOSVGUX",92,0)
377
"RTN","ZOSVGUX",93,0)
379
"RTN","ZOSVGUX",94,0)
380
; See if X points to a valid Job. Return its UCI.
381
"RTN","ZOSVGUX",95,0)
382
; FIXME: currently returns "VAH,ROU" instead of the real UCI (or "" if X is not
383
"RTN","ZOSVGUX",96,0)
384
; the $J of a mumps process)
385
"RTN","ZOSVGUX",97,0)
386
S Y=$$RETURN("ps c -p "_X_" | tail -1")
387
"RTN","ZOSVGUX",98,0)
388
F Q:$E(Y)'=" " S $E(Y)=""
389
"RTN","ZOSVGUX",99,0)
390
I +Y=X,$E(Y,$L(Y)-4,$L(Y))="mumps" S Y="VAH,ROU"
391
"RTN","ZOSVGUX",100,0)
393
"RTN","ZOSVGUX",101,0)
395
"RTN","ZOSVGUX",102,0)
397
"RTN","ZOSVGUX",103,0)
399
"RTN","ZOSVGUX",104,0)
400
K Y ; Wally has this disabled in general, but I'd like to bring it back
401
"RTN","ZOSVGUX",105,0)
403
"RTN","ZOSVGUX",106,0)
405
"RTN","ZOSVGUX",107,0)
407
"RTN","ZOSVGUX",108,0)
408
Q 5 ; for now, we're always middle of the road
409
"RTN","ZOSVGUX",109,0)
411
"RTN","ZOSVGUX",110,0)
413
"RTN","ZOSVGUX",111,0)
415
"RTN","ZOSVGUX",112,0)
416
LGR() ; Last global reference ($REFERENCE)
417
"RTN","ZOSVGUX",113,0)
419
"RTN","ZOSVGUX",114,0)
421
"RTN","ZOSVGUX",115,0)
422
EC() ; Error Code: returning $ZS in format more like $ZE from DSM
423
"RTN","ZOSVGUX",116,0)
425
"RTN","ZOSVGUX",117,0)
427
"RTN","ZOSVGUX",118,0)
428
S %ZE=$P($ZS,",",2)_","_$P($ZS,",",4)_","_$P($ZS,",")_",-"_$P($ZS,",",3)
429
"RTN","ZOSVGUX",119,0)
431
"RTN","ZOSVGUX",120,0)
433
"RTN","ZOSVGUX",121,0)
434
DOLRO ;SAVE ENTIRE SYMBOL TABLE IN LOCATION SPECIFIED BY X
435
"RTN","ZOSVGUX",122,0)
436
S Y="%" F S Y=$O(@Y) Q:Y="" D ;code from DEC
437
"RTN","ZOSVGUX",123,0)
438
. I $D(@Y)#2 S @(X_"Y)="_Y)
439
"RTN","ZOSVGUX",124,0)
440
. I $D(@Y)>9 S %X=Y_"(",%Y=X_"Y," D %XY^%RCR
441
"RTN","ZOSVGUX",125,0)
443
"RTN","ZOSVGUX",126,0)
445
"RTN","ZOSVGUX",127,0)
446
ORDER ;SAVE PART OF SYMBOL TABLE IN LOCATION SPECIFIED BY X
447
"RTN","ZOSVGUX",128,0)
449
"RTN","ZOSVGUX",129,0)
450
S (Y,Y1)=$P(Y,"*",1) I $D(@Y)=0 F %=0:0 S Y=$O(@Y) Q:Y=""!(Y[Y1)
451
"RTN","ZOSVGUX",130,0)
452
Q:Y="" S %=$D(@Y) S:%#2 @(X_"Y)="_Y) I %>9 S %X=Y_"(",%Y=X_"Y," D %XY^%RCR
453
"RTN","ZOSVGUX",131,0)
454
F %=0:0 S Y=$O(@Y) Q:Y=""!(Y'[Y1) S %=$D(@Y) S:%#2 @(X_"Y)="_Y) I %>9 S %X=Y_"(",%Y=X_"Y," D %XY^%RCR
455
"RTN","ZOSVGUX",132,0)
457
"RTN","ZOSVGUX",133,0)
459
"RTN","ZOSVGUX",134,0)
461
"RTN","ZOSVGUX",135,0)
463
"RTN","ZOSVGUX",136,0)
465
"RTN","ZOSVGUX",137,0)
467
"RTN","ZOSVGUX",138,0)
469
"RTN","ZOSVGUX",139,0)
471
"RTN","ZOSVGUX",140,0)
473
"RTN","ZOSVGUX",141,0)
474
GETENV ;Get environment Return Y='UCI^VOL^NODE^BOX LOOKUP'
475
"RTN","ZOSVGUX",142,0)
476
; see https://bugs.launchpad.net/openvista-gtm-integration/+bug/422885
477
"RTN","ZOSVGUX",143,0)
478
N %HOST,%V S %V=^%ZOSF("PROD"),%HOST=$$RETURN("hostname -s")
479
"RTN","ZOSVGUX",144,0)
480
N %CLUSTER S %CLUSTER=$G(^%ZOSF("CLUSTER")) I %CLUSTER="" S %CLUSTER=%HOST
481
"RTN","ZOSVGUX",145,0)
482
S Y=$TR(%V,",","^")_"^"_%HOST_"^"_$P(%V,",",2)_":"_%CLUSTER
483
"RTN","ZOSVGUX",146,0)
485
"RTN","ZOSVGUX",147,0)
487
"RTN","ZOSVGUX",148,0)
488
VERSION(X) ;return OS version, X=1 - return OS
489
"RTN","ZOSVGUX",149,0)
490
Q $S($G(X):$P($ZV," V"),1:+$P($ZV," V",2))
491
"RTN","ZOSVGUX",150,0)
493
"RTN","ZOSVGUX",151,0)
494
SETNM(X) ;Set name, Trap dup's, Fall into SETENV
495
"RTN","ZOSVGUX",152,0)
496
N $ETRAP S $ETRAP="S $ECODE="""" Q"
497
"RTN","ZOSVGUX",153,0)
499
"RTN","ZOSVGUX",154,0)
500
SETENV ;Set environment X='PROCESS NAME^ '
501
"RTN","ZOSVGUX",155,0)
502
S ^XUTL("XUSYS",$J,0)=$H,^("NM")=X ; workaround
503
"RTN","ZOSVGUX",156,0)
505
"RTN","ZOSVGUX",157,0)
507
"RTN","ZOSVGUX",158,0)
509
"RTN","ZOSVGUX",159,0)
511
"RTN","ZOSVGUX",160,0)
512
S J1(1)=$ZROUTINES,J1(1)=$P(J1(1)," ")
513
"RTN","ZOSVGUX",161,0)
515
"RTN","ZOSVGUX",162,0)
517
"RTN","ZOSVGUX",163,0)
519
"RTN","ZOSVGUX",164,0)
520
T0 ; start RT clock <=====
521
"RTN","ZOSVGUX",165,0)
522
Q ; we don't have $ZH on GT.M
523
"RTN","ZOSVGUX",166,0)
525
"RTN","ZOSVGUX",167,0)
526
T1 ; store RT datum w/ZHDIF <=====
527
"RTN","ZOSVGUX",168,0)
528
Q ; we don't have $ZH on GT.M
529
"RTN","ZOSVGUX",169,0)
531
"RTN","ZOSVGUX",170,0)
532
ZHDIF ;Display dif of two $ZH's <=====
533
"RTN","ZOSVGUX",171,0)
534
W !," CPU=",$J($P(%ZH1,",")-$P(%ZH0,","),6,2)
535
"RTN","ZOSVGUX",172,0)
536
W ?14," ET=",$J($P(%ZH1,",",2)-$P(%ZH0,",",2),6,1)
537
"RTN","ZOSVGUX",173,0)
538
W ?27," DIO=",$J($P(%ZH1,",",7)-$P(%ZH0,",",7),5)
539
"RTN","ZOSVGUX",174,0)
540
W ?40," BIO=",$J($P(%ZH1,",",8)-$P(%ZH0,",",8),5),! ; so far this won't be called
541
"RTN","ZOSVGUX",175,0)
543
"RTN","ZOSVGUX",176,0)
545
"RTN","ZOSVGUX",177,0)
546
;Code moved to %ZOSVKR, Comment out if needed.
547
"RTN","ZOSVGUX",178,0)
548
LOGRSRC(OPT,TYPE,STATUS) ;record resource usage in ^XTMP("KMPR"
549
"RTN","ZOSVGUX",179,0)
550
Q:'$G(^%ZTSCH("LOGRSRC")) ; quit if RUM not turned on.
551
"RTN","ZOSVGUX",180,0)
552
; call to RUM routine.
553
"RTN","ZOSVGUX",181,0)
554
D RU^%ZOSVKR($G(OPT),$G(TYPE),$G(STATUS))
555
"RTN","ZOSVGUX",182,0)
557
"RTN","ZOSVGUX",183,0)
559
"RTN","ZOSVGUX",184,0)
560
SETTRM(X) ;Turn on specified terminators.
561
"RTN","ZOSVGUX",185,0)
563
"RTN","ZOSVGUX",186,0)
565
"RTN","ZOSVGUX",187,0)
567
"RTN","ZOSVGUX",188,0)
569
"RTN","ZOSVGUX",189,0)
570
;use lsof (list open files)
571
"RTN","ZOSVGUX",190,0)
572
; given a device name in X
573
"RTN","ZOSVGUX",191,0)
574
;INPUT: X=Device $I, X1=IOT -- X1 needed for resources
575
"RTN","ZOSVGUX",192,0)
576
;OUTPUT: Y=0 if available, Y=job # if owned
577
"RTN","ZOSVGUX",193,0)
578
; Y=-1 if device does not exists.
579
"RTN","ZOSVGUX",194,0)
580
; return Y=0 if not owned, Y=$J of owning job, Y=999 if dev cycling
581
"RTN","ZOSVGUX",195,0)
583
"RTN","ZOSVGUX",196,0)
584
I $G(X1)="RES" G RESOK^%ZIS6
585
"RTN","ZOSVGUX",197,0)
587
"RTN","ZOSVGUX",198,0)
588
Q ;Let ZIS deal with it.
589
"RTN","ZOSVGUX",199,0)
591
"RTN","ZOSVGUX",200,0)
592
N %FILE S %FILE=$$TEMP_"zosv_devok_"_$J_".tmp"
593
"RTN","ZOSVGUX",201,0)
594
ZSYSTEM "/usr/sbin/lsof -F Pc "_X_" >"_%FILE
595
"RTN","ZOSVGUX",202,0)
597
"RTN","ZOSVGUX",203,0)
599
"RTN","ZOSVGUX",204,0)
601
"RTN","ZOSVGUX",205,0)
603
"RTN","ZOSVGUX",206,0)
604
F %Y=0:1 R %X Q:%X="" Q:%X["lsof: status error" D
605
"RTN","ZOSVGUX",207,0)
606
. S %Y(%Y\2,$S($E(%X)="p":"PID",$E(%X)="c":"CMD",1:"?"))=$E(%X,2,$L(%X))
607
"RTN","ZOSVGUX",208,0)
609
"RTN","ZOSVGUX",209,0)
611
"RTN","ZOSVGUX",210,0)
612
I %X["lsof: status error" S Y=-1 Q
613
"RTN","ZOSVGUX",211,0)
615
"RTN","ZOSVGUX",212,0)
616
F S %X=$O(%Y(%X)) Q:%X="" I %Y(%X,"CMD")="mumps" S Y=%Y(%X,"PID") Q
617
"RTN","ZOSVGUX",213,0)
619
"RTN","ZOSVGUX",214,0)
621
"RTN","ZOSVGUX",215,0)
622
PIDOPN ; give a list of of all JOBS that have the current device open
623
"RTN","ZOSVGUX",216,0)
624
; returns comma separated in Y
625
"RTN","ZOSVGUX",217,0)
626
N %PIPE S %PIPE="lsof"
627
"RTN","ZOSVGUX",218,0)
628
O %PIPE:(COMMAND="lsof -F Pc "_$I:READONLY)::"PIPE"
629
"RTN","ZOSVGUX",219,0)
631
"RTN","ZOSVGUX",220,0)
633
"RTN","ZOSVGUX",221,0)
634
F %Y=0:1 R %X Q:%X="" S %Y(%Y\2,$S($E(%X)="p":"PID",$E(%X)="c":"CMD",1:"?"))=$E(%X,2,$L(%X))
635
"RTN","ZOSVGUX",222,0)
637
"RTN","ZOSVGUX",223,0)
639
"RTN","ZOSVGUX",224,0)
640
S (Y,%X)="" F S %X=$O(%Y(%X)) Q:%X="" I %Y(%X,"CMD")="mumps" S Y=Y_","_%Y(%X,"PID")
641
"RTN","ZOSVGUX",225,0)
643
"RTN","ZOSVGUX",226,0)
645
"RTN","ZOSVGUX",227,0)
647
"RTN","ZOSVGUX",228,0)
648
DEVOPN ;List of Devices opened
649
"RTN","ZOSVGUX",229,0)
650
;Returns variable Y. Y=Devices owned separated by a comma
651
"RTN","ZOSVGUX",230,0)
653
"RTN","ZOSVGUX",231,0)
655
"RTN","ZOSVGUX",232,0)
657
"RTN","ZOSVGUX",233,0)
658
S %I="" F S %I=$O(%D("D",%I)) Q:%I="" S Y=Y_","_$P(%D("D",%I)," OPEN ")
659
"RTN","ZOSVGUX",234,0)
661
"RTN","ZOSVGUX",235,0)
663
"RTN","ZOSVGUX",236,0)
665
"RTN","ZOSVGUX",237,0)
666
RETURN(%COMMAND) ; ** Private Entry Point: execute a shell command & return the resulting value **
667
"RTN","ZOSVGUX",238,0)
669
"RTN","ZOSVGUX",239,0)
670
; %COMMAND is the string value of the Linux command
671
"RTN","ZOSVGUX",240,0)
672
N %PIPE,%I,%VALUE S %PIPE="pipe",%I=$I
673
"RTN","ZOSVGUX",241,0)
674
O %PIPE:(COMMAND=%COMMAND:READONLY)::"PIPE" U %PIPE R %VALUE C %PIPE
675
"RTN","ZOSVGUX",242,0)
677
"RTN","ZOSVGUX",243,0)
678
QUIT %VALUE ; return value
679
"RTN","ZOSVGUX",244,0)
681
"RTN","ZOSVGUX",245,0)
683
"RTN","ZOSVGUX",246,0)
684
STRIPCR(%DIRECTORY) ; ** Private Entry Point: strip extraneous CR from end of lines of all
685
"RTN","ZOSVGUX",247,0)
686
; routines in %DIRECTORY Linux directory
687
"RTN","ZOSVGUX",248,0)
689
"RTN","ZOSVGUX",249,0)
690
ZSYSTEM "perl -pi -e 's/\r\n$/\n/' "_%DIRECTORY_"[A-K]*.m"
691
"RTN","ZOSVGUX",250,0)
692
ZSYSTEM "perl -pi -e 's/\r\n$/\n/' "_%DIRECTORY_"[L-S]*.m"
693
"RTN","ZOSVGUX",251,0)
694
ZSYSTEM "perl -pi -e 's/\r\n$/\n/' "_%DIRECTORY_"[T-z]*.m"
695
"RTN","ZOSVGUX",252,0)
696
ZSYSTEM "perl -pi -e 's/\r\n$/\n/' "_%DIRECTORY_"[_]*.m"
697
"RTN","ZOSVGUX",253,0)
699
"RTN","ZOSVGUX",254,0)