&DL      PROC  &P,10,                                                  X00000000
               &ADDR=,&ALTD=,&ANSWER=,                                 X00000100
               &CALL=,&CSCT=,                                          X00000200
               &TCSADDR=,                                              X00000300
               &ERRET=,                                                X00000400
               &FIELDS=,                                               X00000500
               &LNEREQ=,                                               X00000600
               &PASSWORD=,&PFREQ=,&PLIM=,&POLL=,                       X00000700
               &QUEUE=,&QUEUEH=,&QUEUEL=,&QUEUEM=,&QUEUES=,            X00000800
               &TERM=,&TEST=                                            00000900
XTU#DST1 NAME  X   . 1/22/76   CREATE SECOND USER SERVICE PROC          00001000
TU#DUSTQ NAME  0    OS/3  ICAM  USER  DUST  MACROS  (SET 2)   1/22/76   00001100
TRMCPY   NAME  (7,TL#DCR,TL#DTMPY)                                      00001200
TRMREP   NAME  (8,TL#DOVL2,TL#DTMRP,TQ#QTREP)                           00001300
POLCPY   NAME  (9,TL#DCR,TL#DPLPY)                                      00001400
POLREP   NAME  (10,TL#DCR,TL#DPLRP)                                     00001500
QCLEAR   NAME  (11,TL#DOVL2,TL#DQCLR,TQ#QQCLR)                          00001600
QHOLD    NAME  (12,TL#DOVL2,TL#DQHLD,TQ#QHLD)                           00001700
QRELSE   NAME  (13,TL#DOVL2,TL#DQREL,TQ#QRLS)                           00001800
QTRANS   NAME  (14,TL#DOVL2,TL#DQTRN,TQ#QQTRN)                          00001900
QDEPTH   NAME  (15,TL#DOVL2,TL#DQDPH,TQ#QDEP)                           00002000
CCACPY   NAME  (16,TL#DOVL2,TL#DCCPY,TQ#QCPY)                           00002001
RELEASM  NAME  (17,TL#DOVL2,TL#DRELM,TQ#QRLM)
.* .                                                                    00002800
.* . * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ** 00002900
.* .                                                                  * 00003000
.* . THIS AND ALL RELATED PROGRAMS ARE PROPERTY OF                    * 00003100
.* .                                                                  * 00003200
.* . UNIVAC CONTAINING ITS CONFIDENTIAL INFORMATION                   * 00003300
.* .                                                                  * 00003400
.* . * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ** 00003500
         GBL   &VS9                                                     00003600
         GBL   &TU#CNT                                                  00003601
         LCL   &TU#CL                                                   00003700
         LCL   &TU#FLG1,&TU#FLG2,&TU#ER                                 00003800
         LCL   &TU#LEN,&TU#BR,&TU#NLIN                                  00003900
         LCL   &TU#LOOP,&TU#NT,&TU#NTRM                                 00004000
         LCL   &TU#WKAR                                                 00004100
         LCL   &TU#NTNM                                                 00004200
         LCL   &TU#NPARM                                                00004300
.* .                                                                    00004800
.* .                                                                    00005000
.*   MAIN PROGRAM = DEFERRED USER SERVICE TASK                          00005100
.* .                                                                    00005200
.* . PROC NAMES:    TRMCPY                                              00005900
.*                  TRMREP                                              00006000
.*                  POLCPY                                              00006100
.*                  POLREP                                              00006200
.*                  QHOLD                                               00006400
.*                  QRELSE                                              00006500
.*                  QDEPTH                                              00006600
.* .                CCACPY                                              00007800
.* .                RELEASM                                             00007801
.* .                QCLEAR
.* .                QTRANS
.* .                                                                    00007900
.*   FUNCTIONAL DESCRIPTION:                                            00008000
.* .         TU#DUSTQ GENERATES DUST MACRO EXPANSIONS FOR               00008100
.*       USER DUST CALLS.  THE USER INTERFACE FOR NETWORK               00008200
.*       CONTROL IS THROUGH THE DUST FUNCTIONS.  THE                    00008300
.*       EXPANSION OF THE DUST CALLS IS CONTROLLED BY                   00008400
.* .         TU#DUSTQ                                                   00008500
.*       THE DUST CALL GENERATES IN LINE THE CORRESPONDING              00008600
.*       DUST MACRO TABLE AND THE NECESSARY CODE TO PASS                00008700
.*       CONTROL TO ICAM.                                               00008800
.*       IF ANY ERRORS OCCUR IN THE EXPANSION,CODE IS                   00008900
.*       GENERATED WHICH WILL NOT PASS CONTROL TO ICAM.                 00009000
.* .                                                                    00009100
.*   ENTRANCE REQUIREMENTS:                                             00009200
.*       SEE ICAM PRM FOR PARAMETERS.                                   00009300
.* .                                                                    00009400
.*   EXIT CONDITIONS:                                                   00009500
.*       NONE                                                           00009600
.* .                                                                    00009700
.*   REGISTER USAGE:                                                    00009800
.*       TR#0  LOADED WITH ADDRESS OF USER TABLE                        00009900
.*       TR#1  LOADED WITH ADDRESS OF USER TABLE                        00010000
.* .                                                                    00010100
.*   ENVIRONMENT:                                                       00010200
.*       USER                                                           00010300
.* .                                                                    00010400
.*   ELEMENTS REFERENCING THIS ELEMENT:                                 00010500
.*       ICAM USER PROGRAMS                                             00010600
.* .                                                                    00010700
.*   ELEMENTS REFERENCED BY THIS ELEMENT:                               00010800
.*       TN#EQUS                                                        00010900
.* .                                                                    00011000
.*   TABLES REFERENCED BY THIS ELEMENT:                                 00011100
.*       NONE                                                           00011200
.* .                                                                    00011300
&TU#CL   SET   0                        CALL LENGTH                     00011400
&TU#FLG1 SET   0                       FLAG BYTE ONE                    00011500
&TU#FLG2 SET   0                       FLAG BYTE TWO                    00011600
&TU#ER   SET   0                       ERROR                            00011700
&TU#LEN  SET   0                       TABLE LENGTH                     00011800
&TU#BR   SET   0                       BRANCH ADDRESS                   00011900
&TU#NLIN SET   0                       NUMBER OF LINES                  00012000
&TU#LOOP SET   0                       LOOP CONTROL                     00012100
&TU#NT   SET   0                                                        00012200
&TU#NTRM SET   0                        NUMBER OF TERMINALS             00012300
&TU#WKAR SET   0                        WORKAREA                        00012400
&TU#NTNM SET   0                                                        00012500
.* .                                                                    00012600
*                                                                       00012700
         DO    '&TU#CNT'=''                                             00012701
         PRINT OFF                                                      00012800
         TL#EQUS                                                        00012801
         SYSTEM
         TU#DSTZ
&TU#CNT  SET   1
         PRINT ON
         ENDO
         DO    N'&P=0                                                   00013500
&TU#ER   SET   4                                                        00013600
         PNOTE 'TU000','NO PARAMS SPECIFIED'                            00013700
         GOTO  .LABEL8                                                  00013800
         ENDO                                                           00013900
         DO    '&DL'=''=0                                               00013901
&DL      DS    0H
         GOTO  .LAB10
         ENDO
         DS    0H
.LAB10   LABEL
         DO    ('&P(1)'='(1)')++('&P(1)'='1')
         GOTO  .SVC
         ENDO
         DO    (&P(0,1)>6)**(&P(0,1)<18)
         DO    &P(0,1)=8
         DO    '&P(1)'=''
         PNOTE 'TU002','LINE NAME MISSING'
&TU#ER   SET   4
         ENDO
         DO    '&P(2)'=''
         PNOTE 'TU004','TERMINAL NAME MISSING'
&TU#ER   SET   4
         ENDO
         DO    '&P(3)'=''
         PNOTE 'TU005','WORKAREA NAME MISSING'
&TU#ER   SET   4
         ENDO
         DO    ('&FIELDS'='')
&TU#FLG1 SET   &TU#FLG1++X'7F'
&TU#FLG2 SET   &TU#FLG2++X'E0'
         GOTO  .LBEL
         ENDO
&TU#FLD  DO    N'&FIELDS
&TU#FLG1 SET  &TU#FLG1++(&TU#FLG1++X'70')*('&FIELDS(&TU#FLD)'='QUEUES')
&TU#FLG1 SET  &TU#FLG1++(&TU#FLG1++X'40')*('&FIELDS(&TU#FLD)'='QUEUEH')
&TU#FLG1 SET  &TU#FLG1++(&TU#FLG1++X'20')*('&FIELDS(&TU#FLD)'='QUEUEM')
&TU#FLG1 SET  &TU#FLG1++(&TU#FLG1++X'10')*('&FIELDS(&TU#FLD)'='QUEUEL')
&TU#FLG1 SET  &TU#FLG1++(&TU#FLG1++X'08')*('&FIELDS(&TU#FLD)'='ALTD')
&TU#FLG1 SET  &TU#FLG1++(&TU#FLG1++X'04')*('&FIELDS(&TU#FLD)'='ADDR')
&TU#FLG1 SET  &TU#FLG1++(&TU#FLG1++X'02')*('&FIELDS(&TU#FLD)'='FREQ')
&TU#FLG1 SET  &TU#FLG1++(&TU#FLG1++X'01')*('&FIELDS(&TU#FLD)'='PLIM')
&TU#FLG2 SET  &TU#FLG2++(&TU#FLG2++X'80')*('&FIELDS(&TU#FLD)'='POLL')
&TU#FLG2 SET  &TU#FLG2++(&TU#FLG2++X'40')*('&FIELDS(&TU#FLD)'='ANSWER')
&TU#FLG2 SET  &TU#FLG2++(&TU#FLG2++X'20')*('&FIELDS(&TU#FLD)'='CALL')
         ENDO
.LBEL    LABEL
         LA    1,TU#P&SYSNDX
         B     TU#Q&SYSNDX
         CNOP  0,4
TU#P&SYSNDX  DC   H'0'                  . ERROR HALF WORD
         DC    X'00'                    . UNUSED BYTE
         DC    YL1(&P(0,4))             . FUNCTION CODE
         DC    H'0'                     . UNUSED HALFWORD
         DC    YL1(&TU#FLG1)            . FLAG BYTE 1
         DC    YL1(&TU#FLG2)            . FLAG BYTE 2
         DO    '&P(1)'=''=0
         DC    CL4'&P(1)'               . LINE NAME
         GOTO  .LBL30
         ENDO
         PNOTE 'TU002','LINE NAME MISSING'
         DC    CL4' '                   . SPACE FOR LINE NAME
.LBL30   LABEL
         DO    '&P(2)'=''=0
         DC    CL4'&P(2)'               . TERMINAL NAME
         GOTO  .LBL31
         ENDO
         PNOTE 'TU004','TERMINAL NAME MISSING'
         DC    CL4' '                   . SPACE FOR TERM NAME
.LBL31   LABEL
         DC    A(&P(3))                 . WORKAREA ADRS
         GOTO  .SVC
         ENDO
         DO    (&P(0,1)>10)**(&P(0,1)<16)
&TU#LEN  SET   8
         DO    '&P(1)'=''                                               00014000
&TU#ER   SET   4                                                        00014100
         PNOTE 'TU006','TYPE MISSING'                                   00014200
         GOTO  .LABEL8                                                  00014300
         ENDO                                                           00014400
         DO    ('&P(0,1)'='15')++('&P(0,1)'='11')                       00014500
&TU#LEN  SET   &TU#LEN+4                                                00014600
         DO    ('&P(1)'='Q')++('&P(1)'='T')++('&P(1)'='L')++('&P(1)'='P?00014700
               ')=0                                                     00014800
         PNOTE 'TU007','INCORRECT TYPE'                                 00014900
&TU#ER   SET   4                                                        00015000
         GOTO  .LABEL8                                                  00015100
         ENDO                                                           00015200
         ENDO                                                           00015300
         DO    (&P(0,1)>11)**(&P(0,1)<14)                               00015400
         DO    ('&P(1)'='Q')++('&P(1)'='T')++('&P(1)'='L')=0            00015500
         PNOTE 'TU007','INCORRECT TYPE'                                 00015600
&TU#ER   SET   4                                                        00015700
         GOTO  .LABEL8                                                  00015800
         ENDO                                                           00015900
         ENDO                                                           00016000
         DO    '&P(1)'='Q'                                              00016100
&TU#WKAR SET   1                                                        00016200
&TU#LEN  SET   &TU#LEN+4                                                00016300
         DO    '&P(2)'=''                                               00016400
&TU#ER   SET   4                                                        00016500
         PNOTE 'TU002','LINE NAME MISSING'                              00016600
         ENDO                                                           00016700
         DO    '&P(3)'=''                                               00016800
         PNOTE 'TU008','QUEUE NAME MISSING'                             00016900
&TU#ER   SET   4                                                        00017000
         ENDO                                                           00017100
&TU#FLG1 SET   &TU#FLG1++X'40'          LINE/QUEUE                      00017200
         GOTO  .LABEL9                                                  00017300
         ENDO                                                           00017400
         DO    (('&P(0,1)'>'10')**('&P(0,1)'<'14')**('&P(3)'=''=0))     00017500
         DO    ('&P(3)'='LOW')++('&P(3)'='MED')++('&P(3)'='HIGH')=0     00017600
         PNOTE 'TU010','INCORRECT QUEUE PRIORITY'                       00017700
&TU#ER   SET   4                                                        00017800
         GOTO  .LABEL6                                                  00017801
         ENDO                                                           00017900
         DO    '&P(3)'='LOW'                                            00017901
&TU#FLG1 SET   &TU#FLG1++X'01'
         ENDO
         DO    '&P(3)'='MED'
&TU#FLG1 SET   &TU#FLG1++X'02'
         ENDO
         DO    '&P(3)'='HIGH'
&TU#FLG1 SET   &TU#FLG1++X'04'
         ENDO
         ENDO                                                           00018000
.LABEL6  LABEL                                                          00018001
         DO    '&P(1)'='L'                                              00018100
         DO    '&P(2)'=''                                               00018200
&TU#ER   SET   4                                                        00018300
         PNOTE 'TU002','LINE NAME MISSING'                              00018400
         ENDO                                                           00018500
&TU#FLG1 SET   &TU#FLG1++X'10'          LINE                            00018600
         GOTO  .LABEL9                                                  00018700
         ENDO                                                           00018800
         DO    '&P(1)'='T'                                              00018900
         DO    '&P(2)'=''                                               00019000
&TU#ER   SET   4                                                        00019100
         PNOTE 'TU004','TERMINAL NAME MISSING'                          00019200
         ENDO                                                           00019300
&TU#FLG1 SET   &TU#FLG1++X'20'          TERMINAL                        00019400
         GOTO  .LABEL9                                                  00019500
         ENDO                                                           00019600
         DO    '&P(1)'='P'                                              00019700
         DO    '&P(2)'=''                                               00019800
&TU#ER   SET   4                                                        00019900
         PNOTE 'TU009','PROCESS FILE NAME MISSING'                      00020000
         ENDO                                                           00020100
&TU#FLG1 SET   &TU#FLG1++X'80'          PROCESS FILE                    00020200
         GOTO  .LABEL9                                                  00020300
         ENDO                                                           00020400
.LABEL9  LABEL                                                          00020500
         DO    &P(0,1)=14                                               00020501
         DO    ('&P(3)'='')**('&P(4)'='')
         GOTO  .LAB12
         ENDO
         DO    ('&P(1)'='')++('&P(3)'='')
         PNOTE 'P','FILE NAME MISSING FROM CALL LINE'
         ENDO
         DO    (('&P(2)'='HIGH')++('&P(2)'='MED')++('&P(2)'='LOW')++('&X
               P(2)'='ALL')++('&P(2)'=''))=0
         PNOTE 'P','INCORRECT QUEUE PRIORITY'
         ENDO
         DO    (('&P(4)'='HIGH')++('&P(4)'='MED')++('&P(4)'='LOW')++('&X
               P(4)'=''))=0
         PNOTE 'P','INCORRECT QUEUE PRIORITY'
         ENDO
.LAB12   LABEL
         LA    1,TU#P&SYSNDX
         B     TU#Q&SYSNDX
         DO    ('&P(2)'='ALL')++('&P(2)'='')
&TU#FLG1 SET   &TU#FLG1++X'80'
         ENDO
         DO    '&P(2)'='HIGH'
&TU#FLG1 SET   &TU#FLG1++X'40'
         ENDO
         DO    '&P(2)'='MED'
&TU#FLG1 SET   &TU#FLG1++X'20'
         ENDO
         DO    '&P(2)'='LOW'
&TU#FLG1 SET   &TU#FLG1++X'10'
         ENDO
         DO    ('&P(4)'='')**('&P(3)'=''=0)
&TU#FLG1 SET   &TU#FLG1++X'08'
         ENDO
         DO    '&P(4)'='HIGH'
&TU#FLG1 SET   &TU#FLG1++X'04'
         ENDO
         DO    '&P(4)'='MED'
&TU#FLG1 SET   &TU#FLG1++X'02'
         ENDO
         DO    '&P(4)'='LOW'
&TU#FLG1 SET   &TU#FLG1++X'01'
         ENDO
TU#P&SYSNDX   DC H'0'                   . ERROR HALF WORD
         DC    YL1(&TU#FLG1)            . FLAG BYTE
         DC    YL1(&P(0,4))             . FUNCTION CODE
         DC    CL4'&P(1)'               . FILE NAME 1
         DO    '&P(3)'=''=0
         DC    CL4'&P(3)'               . FILE NAME 2
         ENDO
         GOTO  .SVC
         ENDO
         DO    '&P(0,1)'='15'                                           00020600
         DO    '&P(3+&TU#WKAR)'=''                                      00020700
&TU#ER   SET   4                                                        00020800
         PNOTE 'TU005','WORKAREA NAME MISSING'                          00020900
         ENDO                                                           00021000
         DO    '&P(4+&TU#WKAR)'=''                                      00021001
&TU#ER   SET   4
         PNOTE 'TU006','WORKAREA LENGTH MISSING'
         ENDO
         ENDO                                                           00021100
.LABEL8  LABEL                                                          00021200
&TU#BR   SET   &TU#LEN+&TU#ER+4                                         00021300
*                                                                       00021400
         LA    1,TU#P&SYSNDX                                            00022101
         B     TU#Q&SYSNDX+&TU#ER
.* .     START OF TABLE                                                 00022200
         CNOP  0,4                                                      00022201
TU#P&SYSNDX  DC    H'0'                 . ERROR HALF WORD               00022300
         DC    YL1(&TU#FLG1)           FLAG BYTE                        00022400
         DC    YL1(&P(0,4))             . FUNCTION CODE                 00022500
         DO    '&P(2)'=''                                               00022501
         DC    CL4' '
         GOTO  .LBL00
         ENDO
         DC    CL4'&P(2)'              PRCS/LINE/TERM NAME              00022600
.LBL00   LABEL                                                          00022601
         DO    '&P(0,1)'='15'
         DC    YL1(&P(4+&TU#WKAR))      . WORK AREA LENGTH
         DC    AL3(&P(3+&TU#WKAR))      . WORK AREA ADRS
         ENDO
         DO    '&P(1)'='Q'                                              00022700
         DC    CL4'&P(3)'               QUEUE NAME                      00022800
         ENDO                                                           00023000
         GOTO  .SVC                                                     00023501
*                                                                       00023600
         ENDO                                                           00023700
         DO    &P(0,1)=16                                               00023800
         DO    (('&P(1)'='')++('&P(2)'='')++('&P(3)'='')++('&P(4)'='')) 00024200
         PNOTE 'P','OPERAND MISSING FROM CALL LINE'                     00024300
         ENDO                                                           00024400
         LA    1,TU#P&SYSNDX                                            00025500
         B     TU#Q&SYSNDX+&TU#ER                                       00025600
         CNOP  0,4                                                      00025601
TU#P&SYSNDX  DC    H'0'                 . ERROR HALF WORD               00025700
         DC    X'00'                    . UNUSED BYTE                   00025701
         DC    YL1(&P(0,4))             . FUNCTION CODE
         DC    A(&P(3))                 . ADRS CCA INF TABLE            00026700
         DC    A(&P(1))                 . ADRS TERMINAL NAME TABLE      00026800
         DC    YL2(&P(4))               . LENGTH CCA INFO TABLE         00027301
         DC    YL2(&P(2))               . LENGTH TERM NAME LIST
         ENDO                                                           00027400
         DO    &P(0,1)=17                                               00027401
         DO    ('&P(1)'='(1)')++('&P(1)'='1')
         B     TU#Q&SYSNDX+&TU#ER
         GOTO  .SVC
         ENDO
         DO    '&P(1)'=''
         PNOTE 'TU004','TERMINAL NAME MISSING'
&TU#ER   SET   4
         ENDO
         LA    1,TU#P&SYSNDX
         B     TU#Q&SYSNDX+&TU#ER
         CNOP  0,4
TU#P&SYSNDX  DC    H'0'                 . ERROR HALF WORD
         DC    XL1'0'                   . UNUSED BYTE
         DC    YL1(&P(0,4))             . FUNCTION CODE
         DO    '&P(1)'=''
         DC    CL4' '
         GOTO  .SVC
         ENDO
         DC    CL4'&P(1)'               . TERMINAL NAME
         ENDO
.SVC     LABEL                                                          00027500
         DO    &VS9                                                     00027501
TU#Q&SYSNDX  SVC   98                   . CALL ICAM ACTIVITY CONTROL
         GOTO  .LABEL5
         ENDO
TU#Q&SYSNDX  SVC   09                   . CALL ICAM ACTIVITY CONTROL    00027600
.LABEL5  LABEL                                                          00027601
         DC    AL1(&P(0,2))             . IDENT OVLY CNTRL & PHASE NBR  00027700
         DC    AL1(&P(0,3))             . SECOND PART PHASE NBR         00027800
         ENDO                                                           00027900
         END                                                            00028000
