&PL      PROC  &P,6                                                     WTL00010
WTL      NAME  X'20'                                                    WTL00020
WTLD     NAME  X'40'                                                    WTL00030
OPR      NAME  0                                                        WTL00040
TWTL     NAME  X'120'                                                   WTL00050
TWTLD    NAME  X'140'                                                   WTL00060
GETMSG   NAME  X'10'                                                    WTL00070
         DO    0                                                        WTL00080
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *  *  WTL00090
*                                                                    *  WTL00100
*   THE FOLLOWING PROGRAMS ARE THE SOLE PROPERTY OF SPERRY           *  WTL00110
*                                                                    *  WTL00120
* UNIVAC CONTAINING ITS PROPRIETARY, CONFIDENTIAL INFORMATION        *  WTL00130
*                                                                    *  WTL00140
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *  *  WTL00150
         ENDO                                                           WTL00160
.*                                                                      WTL00170
.***     CALLING FORMATS:                                               WTL00180
.*             WTL  MSGAD,MSGLNG,ERRAD                                  WTL00190
.*            WTLD  MSGAD,MSGLNG,ERRAD,TYPE,ANSBUF,ANSBUFLNG            WTL00200
.*          GETMSG  MSGAD,MSGLNG,ERRAD,    ANSBUF,ANSBUFLNG             WTL00210
.*             OPR  MSGAD,MSGLNG,ERRAD,TYPE,ANSBUF,ANSBUFLNG            WTL00220
.*                                                                      WTL00230
         LCL   &X,&FLAGS                                                WTL00240
         LCL   &P2FLG,&P6FLG                                            WTL00250
&X       SET   '&PL.        '(1,8)                                      WTL00260
&X           DS    0H                                                   WTL00270
.*                                                                      WTL00280
.***     SET UP P2FLG AND P6FLG TO INDICATE HOW THE USER SPECIFIED      WTL00290
.*             BUFFER LENGTHS.                                          WTL00300
.*             THIS IS DONE BECAUSE DIRECT CHECKS (E.G. '&P(2)'=''=0)   WTL00310
.*                  PRODUCE EXPRESSION ERRORS WHEN LENGTH IS SPECIFIED  WTL00320
.*                  AS L'MSG.                                           WTL00330
.*             THE FLAG CODES ARE AS FOLLOWS:                           WTL00340
.*                  0=POSITIONAL PARAMETER IS EMPTY                     WTL00350
.*                  1=POSITIONAL PARAMETER IS SPECIFIED AS NON-REGISTER WTL00360
.*                  2=POSITIONAL PARAMETER IS SPECIFIED AS REGISTER     WTL00370
.*                                                                      WTL00380
&P2FLG   SET   1                                                        WTL00390
         DO    '&P(2)'(1,2)='L'''                                       WTL00400
         GOTO  .P2SET                                                   WTL00410
         ENDO                                                           WTL00420
         DO    ('&P(2)'='(0)')++('&P(2)'='0')                           WTL00430
&P2FLG   SET   2                                                        WTL00440
         ENDO                                                           WTL00450
         DO    '&P(2)'=''                                               WTL00460
&P2FLG   SET   0                                                        WTL00470
         ENDO                                                           WTL00480
.P2SET   LABEL                                                          WTL00490
.*                                                                      WTL00500
&P6FLG   SET   1                                                        WTL00510
         DO    '&P(6)'(1,2)='L'''                                       WTL00520
         GOTO  .P6SET                                                   WTL00530
         ENDO                                                           WTL00540
         DO    '&P(6)'(1,1)='('                                         WTL00550
&P6FLG   SET   2                                                        WTL00560
         ENDO                                                           WTL00570
         DO    '&P(6)'=''                                               WTL00580
&P6FLG   SET   0                                                        WTL00590
         ENDO                                                           WTL00600
.P6SET   LABEL                                                          WTL00610
.*                                                                      WTL00620
&X       SET   ('&P(5)'=''=0)++(&P6FLG>0)                               WTL00630
&FLAGS SET &X+2*('&P(4)'='REPLY')+4*('&P(4)'='ACT')+8*('&P(4)'='WRITE') WTL00640
&FLAGS   SET   &FLAGS+X'80'*('&P(4)'='ACCNT')+&P(0)                     WTL00650
&X       SET   ('&P(1)'='(1)')++('&P(1)'='1')                           WTL00660
&X       SET   &X+2*(&P2FLG=2)+4*('&P(5)'(1,1)='(')+8*(&P6FLG=2)        WTL00670
.*                                                                      WTL00680
.***     VERIFY PARAMETERS - IF BAD, GENERATE PNOTE.                    WTL00690
.*             USER MUST THEN EITHER REASSEMBLE OR PATCH PROGRAM.       WTL00700
.*             (NOTE:CAN'T CHECK BUF LNGS BECAUSE THEY MAY BE EQU'S)    WTL00710
.*                                                                      WTL00720
         DO    '&P(1)'=''                                               WTL00730
         PNOTE *,'PARAMETER 1 IS MISSING'                               WTL00740
         ENDO                                                           WTL00750
         DO    ((&FLAGS**X'8E')=0)**('&P(4)'=''=0)                      WTL00760
         PNOTE *,'PARAMETER 4 IS INVALID'                               WTL00770
         ENDO                                                           WTL00780
         DO    ('&P(5)'='')**(&P6FLG>0)                                 WTL00790
         PNOTE *,'PARAMETER 5 IS MISSING'                               WTL00800
         ENDO                                                           WTL00810
         DO    ('&P(5)'=''=0)**(&P6FLG=0)                               WTL00820
         PNOTE *,'PARAMETER 6 MISSING - 60 ASSUMED'                     WTL00830
         ENDO                                                           WTL00840
         DO    ((&FLAGS**3)=1)**(&P(0)=16=0)                            WTL00850
         PNOTE *,'WARNING: NO REPLY EVEN WITH PARAMETERS 5 AND/OR 6'    WTL00860
         ENDO                                                           WTL00870
.*                                                                      WTL00880
                   CNOP  0,4                                            WTL00890
         DO    (&FLAGS**1)=0                                            WTL00900
                   B     *+10                                           WTL00910
         ENDO                                                           WTL00920
         DO    &FLAGS**1                                                WTL00930
                   B     *+14                                           WTL00940
         DO    (&P6FLG>0)**(&P(0)=16=0)                                 WTL00950
                   DC    AL1(&P(6)**63)                                 WTL00960
         ENDO                                                           WTL00970
         DO    (&P6FLG>0)**(&P(0)=16)                                   WTL00980
                   DC    AL1(&P(6)**127)                                WTL00990
         ENDO                                                           WTL01000
         DO    &P6FLG=0                                                 WTL01010
                   DC    AL1(60)                                        WTL01020
         ENDO                                                           WTL01030
                   DC    AL3(&P(5))                                     WTL01040
         ENDO                                                           WTL01050
.*                                                                      WTL01060
         DO    (&P2FLG>0)**(&P(0)=0)                                    WTL01070
                   DC    AL1(&P(2)**63)                                 WTL01080
         ENDO                                                           WTL01090
         DO    (&P2FLG>0)**(&P(0)>0)                                    WTL01100
                   DC    AL1(&P(2)**127)                                WTL01110
         ENDO                                                           WTL01120
         DO    &P2FLG=0                                                 WTL01130
                   DC    AL1(60)                                        WTL01140
         ENDO                                                           WTL01150
                   DC    AL3(&P(1))                                     WTL01160
                   DC    Y(&X*256+&FLAGS)                               WTL01170
&X       SET   5+65*(&P(0)>0)                                           WTL01180
         DO    &P(0)<X'100'                                             WTL01190
                   SVC   &X                                             WTL01200
                   LTR   0,0            R0<0 IF ERROR OCCURRED          WTL01210
         ENDO                                                           WTL01220
         DO    &P(0)>X'100'                                             WTL01230
         STH   0,*+20                                                   WTL01240
         LA    0,*+18                                                   WTL01250
         LA    2,TO$TWLT1                                               WTL01260
         LA    5,2                                                      WTL01270
         TOVLY (2),(5)                                                  WTL01280
         DC    H'0'                                                     WTL01290
         ENDO                                                           WTL01300
.*                                                                      WTL01310
         DO    '&P(3)'=''                                               WTL01320
                   BNM   *+6                                            WTL01330
                   SVC   28             ERROR - CANCEL                  WTL01340
         GOTO  .OPREND                                                  WTL01350
         ENDO                                                           WTL01360
         DO    '&P(3)'(1,1)='('                                         WTL01370
                   BMR   &P(3)                                          WTL01380
         GOTO  .OPREND                                                  WTL01390
         ENDO                                                           WTL01400
                   BM    &P(3)                                          WTL01410
.OPREND  LABEL                                                          WTL01420
         END                                                            WTL01430
