&DL      PROC  &P,3,&ID=(0,0,0),&BUFFERA=0,&BAL=0,&BUFFERB=0,&BBL=0,&EOX00000000
               M=0,&ENDBUF=0                                            00000100
XMCTPKT  NAME  X                                                        00000200
MCTPKT   NAME  0   . 03/23/73 ICAM PACKET GENERATION                    00000300
.* .                                                                    00000400
.* . * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ** 00000500
.* .                                                                  * 00000600
.* . THIS AND ALL RELATED PROGRAMS ARE PROPERTY OF                    * 00000700
.* .                                                                  * 00000800
.* . UNIVAC CONTAINING ITS CONFIDENTIAL INFORMATION                   * 00000900
.* .                                                                  * 00001000
.* . * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ** 00001100
         LCL   &IRL,&RECV,&SEND,&FUNCT,&LINE,&STA,&DEV                  00001200
         LCL   &ENDBUFR                                                 00001300
         LCL   &BSEND,&BRECV                                            00001400
.* .                                                                    00001500
.*                                                                      00001600
.*       INITIALIZE SET SYMBOLS                                         00001700
.*                                                                      00001800
&IRL     SET   0                   . IMMEDIATE RETURN LINE FLAG         00001900
&RECV    SET   X'10'               . RECEIVE INPUT DATA FUNCTION        00002000
&SEND    SET   X'20'               . SEND OUTPUT DATA FUNCTION          00002100
&BSEND   SET   X'21'               . SEND BATCH MODE                    00002200
&BRECV   SET   X'11'               . RECEIVE BATCH MODE                 00002300
&FUNCT   SET   0                   . WILL RESET TO USER FUNCTION        00002400
         DO    '&ID(1)'=''                                              00002500
&LINE    SET   ''                  . NULL LINE NUMBER                   00002600
         GOTO  .XXXX                                                    00002700
         ENDO                                                           00002800
&LINE    SET   &ID(1)              . LINE NUMBER                        00002900
.XXXX    LABEL                                                          00003000
         DO    '&ID(2)'=''                                              00003100
&STA     SET   ''                  . NULL STATION NUMBER                00003200
         GOTO  .YYYY                                                    00003300
         ENDO                                                           00003400
&STA     SET   &ID(2)              . STATION NUMBER                     00003500
.YYYY    LABEL                                                          00003600
         DO    '&ID(3)'=''                                              00003700
&DEV     SET   ''                  . NULL DEVICE NUMBER                 00003800
         GOTO  .ZZZZ                                                    00003900
         ENDO                                                           00004000
&DEV     SET   &ID(3)              . DEVICE NUMBER                      00004100
.ZZZZ    LABEL                                                          00004200
&ENDBUFR SET   0                                                        00004300
         DO    '&ENDBUF'='1'                                            00004400
&ENDBUFR SET   X'20'                                                    00004500
         ENDO                                                           00004600
         DO    '&ENDBUF'='2'                                            00004700
&ENDBUFR SET   X'40'                                                    00004800
         ENDO                                                           00004900
         DO    '&P(1)'=''                                               00005000
         PNOTE *,'NO COMPLETION ADDRESS SPECIFIED'                      00005100
         ENDO                                                           00005200
         DO    '&P(2)'=''                                               00005300
         PNOTE *,'NO FUNCTION SPECIFIED'                                00005400
         ENDO                                                           00005500
         DO    ('&BUFFERA'='0')++('&BAL'='0')                           00005600
         PNOTE *,'CURRENT BUFFER NOT SPECIFIED'                         00005700
         ENDO                                                           00005800
         DO    ('&BUFFERB'='0')++('&BBL'='0')                           00005900
         PNOTE *,'REPLACEMENT BUFFER NOT SPECIFIED'                     00006000
         ENDO                                                           00006100
.*                                                                      00006200
.*       SCAN AND DETERMINE POSITIONAL PARAMETER VALUES                 00006300
.*                                                                      00006400
&S       DO    N'&P                                                     00006500
.*                                                                      00006600
.*                                                                      00006700
         DO    '&P(&S)'='IRL'                                           00006800
&IRL     SET   X'80'               . IMMEDIATE RETURN LINE FLAG         00006900
         ENDO                                                           00007000
.*                                                                      00007100
         DO    '&P(&S)'='RECEIVE'                                       00007200
&FUNCT   SET   &RECV               . RECEIVE INPUT DATA FUNCTION        00007300
         ENDO                                                           00007400
.*                                                                      00007500
         DO    '&P(&S)'='SEND'                                          00007600
&FUNCT   SET   &SEND               . SEND OUTPUT DATA FUNCTION          00007700
         ENDO                                                           00007800
         DO    '&P(&S)'='SENDBCH'                                       00007900
&FUNCT   SET   &BSEND                                                   00008000
         ENDO                                                           00008100
         DO    '&P(&S)'='RECVBCH'                                       00008200
&FUNCT   SET   &BRECV                                                   00008300
         ENDO                                                           00008400
         ENDO                                                           00008500
.*       CHECK FOR BLANK FIELDS IN ID KEYWORD                           00008600
.*                                                                      00008700
         DO    '&LINE'=''                                               00008800
&LINE    SET   0                                                        00008900
         PNOTE *,'NO LINE NUMBER SPECIFIED'                             00009000
         ENDO                                                           00009100
         DO    '&STA'=''                                                00009200
&STA     SET   0                                                        00009300
         PNOTE *,'NO STATION NUMBER SPECIFIED'                          00009400
         ENDO                                                           00009500
         DO    '&DEV'=''                                                00009600
&DEV     SET   0                                                        00009700
         ENDO                                                           00009800
.*                                                                      00009900
.*       GENERATE MCT PACKET                                            00010000
.*                                                                      00010100
         CNOP  0,4                                                      00010200
.*                                 . FUNCTION AND IRL FLAG              00010300
&DL      DC    YL1(&IRL++&FUNCT)   . FUNCTION AND IRL                   00010400
         DC    AL3(0)              . LINK WORD                          00010500
         DC    XL1'00'             . RESERVED FOR ICAM                  00010600
         DO    '&P(1)'=''                                               00010700
         DC    AL3(0)              . COMPLETION ADDRESS                 00010800
         GOTO  .AAAA                                                    00010900
         ENDO                                                           00011000
         DC    AL3(&P(1))          . COMPLETION ADDRESS                 00011100
.AAAA    LABEL                                                          00011200
         DC    F'0'                . RESERVED FOR ICAM                  00011300
         DC    AL2((&DEV*/8)++&EOM) . DEVICE ID AND EOM CODE            00011400
         DC    H'0'                                                     00011500
.*                                                                      00011600
         DC    F'0'                . STATUS AND RESID COUNT FIELD       00011700
         DC    A(&BUFFERA)         . BUFFER A ADDRESS                   00011800
         DC    Y(&BAL)             . BUFFER A LENGTH                    00011900
         DC    H'0'                                                     00012000
         DC    YL1(&ENDBUFR)                                            00012100
         DC    AL3(&BUFFERB)       . BUFFER B ADDRESS                   00012200
         DC    Y(&BBL)             . BUFFER B LENGTH                    00012300
         DC    H'0'                                                     00012400
         DC    AL2(&LINE)          . LINE ID                            00012500
         DC    AL2(&STA)           . STATION ID                         00012600
         END                                                            00012700
