*DECK TEXTATS 
USETEXT TEXTIPL 
USETEXT TEXTRPC 
    PROC TEXTATS; 
*CALL COPYRITE
# TITLE TEXTATS - SYMPL TEXT FOR THE ATS LIBRARY                       #
  
      CONTROL STEXT;
  
      BEGIN                            # TEXTATS                       #
# 
****  TEXTATS SYMPL TEXT FOR THE AUTOMATED CARTRIDGE TAPE SYSTEM CLIENT.
* 
*     THIS PROCEDURE GENERATES A SYMPL TEXT FOR COMPILING THE SUPPORT 
*     APPLICATION FOR THE AUTOMATIC CARTRIDGE TAPE FACILITY.
* 
# 
  
*CALL COPYRITC
  
  
# 
****  ACBUILD - ACTF BUILD DATE AND TIME. 
* 
*     THIS LABELLED COMMON BLOCK IS USED TO CONTAIN THE BUILD DATE AND
*     TIME WHICH ARE SUPPLIED BY THE COMPASS ROUTINE *SSISURP*. 
* 
# 
      COMMON ACBUILD; 
      BEGIN                            # ACBUILD                       #
  
      ARRAY ACBTBL[00:00] S(4); 
        BEGIN 
        ITEM ACB$WORD    U(00,00,60);  # FULL WORD REFERENCE           #
        END 
  
      END                              # ACBUILD                       #
  
# 
****  NETINIT - *NETON* COMPLETE FLAG.
* 
*     THIS LABELLED COMMON BLOCK IS USED TO COMMUNICATE TO THE
*     REPRIEVE PROCESSOR *SSISURP* WHETHER ACTF HAS NETTED-ON 
*     SUCCESSFULLY. 
* 
# 
      COMMON NETINIT; 
      BEGIN                            # NETINIT                       #
  
      ITEM NET$INIT      B;            # *NETON* COMPLETE FLAG         #
  
      END                              # NETINIT                       #
  
# 
****  ATS$COM - COMMON STORAGE AREA FOR THE AUTOMATED CATRIDGE TAPE 
*               SYSTEM FACILITY.
* 
*     THIS LABELLED COMMON BLOCK CONTAINS THE ACTUAL STORAGE AREA 
*     REQUIRED BY ATF DURING PROCESSING.
* 
# 
  
      DEF ACKWAIT$         # 20 #;     # MESSAGE BLOCK TIME            #
      DEF ATSIDENT$         # 1 #;     # ATS IDENTIFIER                #
      DEF ATSPROC$        # 100 #;     # ATS PROCEDURE NUMBER          #
      DEF ATSPROGRAM$ # X"40000001" #; # TRANSIENT ATS PROGRAM NUMBER  #
      DEF ATSVERSION$       # 1 #;     # ATS VERSION NUMBER            #
      DEF APPLNAM$      # "ATF" #;     # NAM APPLICATION NAME          #
      DEF RETRYCOUNT$       # 3 #;     # NUMBER OF RETRIES IF NO RESP  #
      DEF TWOSEC$           # 2 #;     # WAIT TWO SECONDS              #
      DEF WAITTIME$       # 120 #;     # TWO MINUTES                   #
  
      DEF DEBUGREQ$         # 0 #;     # DEBUG REQUEST MESSAGE         #
      DEF DEBUGACK$         # 1 #;     # DEBUG ACK RECEIVED            #
      DEF DEBUGFINAL$       # 2 #;     # DEBUG FINAL RESPONSE RECEIVED #
      DEF DEBUGREC$         # 0 #;     # DEBUG RECEIVE FROM NOS SUBSYS #
      DEF DEBUGSND$         # 1 #;     # DEBUG SEND TO NOS SUBSYSTEM   #
      DEF DEBUGNRSP$        # 2 #;     # DEBUG NO RESPONSE FROM SUBSYS #
      DEF INTERNMSG$       # 25 #;     # SUBSYSTEM INTERFACE INDICATOR #
      DEF SUBSYSINT$        # 5 #;     # SUBSYSTEM INTERFACE INDICATOR #
  
# 
****  ATF APPLICATION ERROR CODES 
# 
      DEF NOERROR$         #  0 #;     # NO ERROR ENCOUNTERED          #
      DEF APPLDI$          #  1 #;     # ATS APPLICATION DISABLED      #
      DEF APPLDUP$         #  2 #;     # ATS APPLICATION ALREADY UP    #
      DEF WRONGSSI$        #  3 #;     # INVALID JOB SUBSYSTEM ID      #
      DEF HOSTNF$          #  4 #;     # HOST IP ADDRESS NOT FOUND     #
      DEF WORKNF$          #  5 #;     # WORKSTATION IP ADDRESS NOT FND#
      DEF CCSYNTAX$        #  6 #;     # CONTROL CARD SYNTAX ERROR     #
      DEF PARMISS$         #  7 #;     # CONTROL CARD PARAMETER MISSING#
      DEF PARMINV$         #  8 #;     # CONTROL CARD INVALID PARAMETER#
      DEF SSOCKFAIL$       #  9 #;     # SERVER SOCKET FAIL            #
      DEF CSOCKFAIL$       # 10 #;     # CLIENT SOCKET FAIL            #
      DEF PSOCKFAIL$       # 11 #;     # PORTMAPPER SOCKET FAIL        #
      DEF SSNORESP$        # 12 #;     # ERROR RESPONSE FROM *SIC* CALL#
      DEF SSRESP$          # 13 #;     # SUCCESSFUL *SIC* CALL         #
      DEF INVALIDREQ$      # 14 #;     # BAD STATUS ON ACK FROM SERVER #
      DEF REMUNAVA$        # 15 #;     # REMOTE UNAVAILABLE            #
      DEF RPCREJ$          # 16 #;     # RPC CALL REJECT               #
      DEF CALLFAIL$        # 17 #;     # RPC CALL FAIL                 #
      DEF BADCALL$         # 18 #;     # RPC BAD CALL                  #
      DEF REPFULL$         # 19 #;     # REPLY TABLE FULL, REPLY LOST  #
      DEF UNKNOWNCMD$      # 20 #;     # UKNOWN SERVER COMMAND         #
      DEF PDUPREG$         # 21 #;     # PORTMAPPER DUPLICATE REG      #
      DEF PNOSPACE$        # 22 #;     # PORTMAPPER NO SPACE           #
      DEF NOHANDL$         # 23 #;     # HANDLE TABLE FULL             #
      DEF HANDLINAC$       # 24 #;     # HANDLE INACTIVE               #
      DEF INTERNERR$       # 25 #;     # ATS INTERNAL ERROR            #
      DEF ATFLAST$         # 25 #;     # LAST ERROR CONDITION          #
  
      COMMON ATS$COM; 
      BEGIN                            # ATS$COM                       #
  
  
# 
****  CONTROL CARD PARAMTER VALUES
# 
      ITEM NIN           I;            # NAM INVOCATION PARAMETER      #
      ITEM MC            I;            # MESSAGE COUNT PARAMETER       #
      ITEM SS        C(30);            # SERVER SYSTEM PARAMETER       #
      ITEM TCPUN     C(10);            # TCPHOST USERNAME PARAMETER    #
  
# 
****  CLIENT AND SERVER INFORMATION 
# 
  
      ITEM ACSLM$READY   B;            # COMM EST WITH ACSLM SERVER    #
      ITEM LOST$MSG      I;            # SERVER MESSAGES NOT PASSED ON #
      ITEM MAGNETCONN    B;            # SUBSYSTEM INTERFACE WORKING   #
      ITEM CLNT$SOCKET   I;            # CLIENT SOCKET NUMBER          #
      ITEM CLNT$HANDLE   I;            # CLIENT HANDLE NUMBER          #
      ITEM SRVR$SOCKET   I;            # SERVER SOCKET NUMBER          #
      ITEM SRVR$HANDLE   I;            # SERVER HANDLE NUMBER          #
  
  
# 
****  SERVER IP ADDRESS TCP/IP GATEWAY FORMAT.
# 
  
      ARRAY SRVR$ADDRESS [00:00] S(ADDSIZE$);;# SERVER ADDRESS         #
  
# 
****  SERVER IP ADDRESS WORD FORMAT.
# 
  
      ARRAY SRVR$WORD [00:00] S(1); 
        BEGIN 
        ITEM SRV$WORD    U(00,00,60);  # WORD ENTRY                    #
        ITEM SRV$IPADD   U(00,12,32);  # IP ADDRESS                    #
        ITEM SRV$BYTE1   U(00,12,08);  # IP ADDRESS BYTE 1             #
        ITEM SRV$BYTE2   U(00,20,08);  # IP ADDRESS BYTE 2             #
        ITEM SRV$BYTE3   U(00,28,08);  # IP ADDRESS BYTE 3             #
        ITEM SRV$BYTE4   U(00,36,08);  # IP ADDRESS BYTE 4             #
        ITEM SRV$PORT    U(00,44,16);  # IP ADDRESS PORT               #
        ITEM SRV$BYTE5   U(00,44,08);  # IP ADDRESS PORT BYTE 1        #
        ITEM SRV$BYTE6   U(00,52,08);  # IP ADDRESS PORT BYTE 2        #
        END 
  
# 
****  THIS ARRAY DEFINES THE IP ADDRESS OF THE CONTROLLING WORKSTATION. 
# 
  
      ARRAY WRKSTADDR [00:00] S(ADDSIZE$);; 
  
# 
****  THIS ARRAY DEFINES A MAPPING BETWEEN RPC ERRORS AND ATS ERRORS. 
# 
  
      ARRAY RPCCODES [00:RPCSTAT"NOTREGISTRD"] S(1);
        BEGIN 
        ITEM RPC$ERR     U(00,00,60);  # ERROR ENTRY                   #
        END 
      END                              # ATS$COM                       #
  
# 
****  CSI$COM - COMMON STORAGE AREA FOR THE CSI MESSAGE STRUCTURES. 
* 
*     THIS LABELLED COMMON BLOCK CONTAINS THE ACTUAL STORAGE AREA 
*     REQUIRED FORM COMMUNICATION WITH THE CSI. 
* 
# 
  
# 
****  CSI HEADER DEFINITIONS. 
# 
      DEF AF$INET           # 2 #;     # ADDRESS FORMAT INTERNET       #
      DEF CSI$ACSLMPRC   # 1000 #;     # CSI ACSLM PROCEDURE NUMBER    #
      DEF CSI$NONE          # 0 #;     # CSI_SYNTAX                    #
      DEF CSI$XDR           # 1 #;     # CSI_SYNTAX                    #
      DEF CSI$RPC           # 1 #;     # CSI_CONNECT                   #
      DEF CSI$PROGRAM # X"493FF" #;    # CSI PROGRAM NUMBER            #
      DEF CSI$UDP           # 2 #;     # CSI_PROTOCOL                  #
      DEF CSI$UDPVER        # 1 #;     # CSI UDP VERSION               #
  
# 
****  ACS LIBRARY MANAGER COMMANDS. 
# 
  
      DEF CSIDISMOUNT$      # 3 #;     # DISMOUNT COMMAND              #
      DEF CSIMOUNT$         # 7 #;     # MOUNT COMMAND                 #
      DEF CSIQUERY$         # 8 #;     # QUERY COMMAND                 #
  
      DEF MOUNT$            # 1 #;     # MOUNT COMMAND                 #
      DEF FORCEDIS$         # 2 #;     # FORCE DISMOUNT COMMAND        #
      DEF DISMOUNT$         # 3 #;     # DISMOUNT COMMAND              #
      DEF SERVERQUERY$      # 4 #;     # QUERY COMMAND                 #
      DEF LASTCOMMAND$      # 4 #;     # LAST COMMAND                  #
  
# 
****  QUERY TYPES 
# 
      DEF SERVER$          # 24 #;     # SERVER QUERY                  #
  
# 
****  SERVER STATE
# 
      DEF STATEIDLE$        # 3 #;     # SERVER IDLE STATE             #
      DEF STATERUN$         # 9 #;     # SERVER RUN STATE              #
  
# 
****  RESPONSE STATUS 
# 
  
      DEF STATSUCCESS$      # 0 #;     # SUCCESSFUL RESPONSE STATUS    #
      DEF STATVALID$       # 83 #;     # VALID STATUS RESPONSE         #
  
# 
****  CSI PROCESS IDS.
# 
      DEF SSIID$            # 1 #;     # SSI COMMAND ID                #
      DEF MAGNETID$         # 2 #;     # MAGNET COMMAND ID             #
  
# 
****  CSI HEADER ARRAY. 
# 
  
      DEF ACCSIZE$          # 7 #;     # CSI MESSAGE USER/PASSWORD SIZE#
      DEF CMDSIZE$         #  5 #;     # CSI COMMAND SIZE              #
      DEF DCMDSIZE$         # 4 #;     # DISMOUNT COMMAND SIZE - VOLID #
      DEF HDRSIZE$         # 19 #;     # CSI HEADER SIZE               #
      DEF MCMDSIZE$         # 5 #;     # MOUNT COMMAND SIZE - VOLID    #
      DEF MRSIZE$           # 4 #;     # MOUNT RESPONSE SIZE - VOLID   #
      DEF MSGSIZE$          # 6 #;     # CSI MESSAGE HEADER SIZE       #
      DEF RSPSIZE$          # 2 #;     # CSI RESPONSE STATUS SIZE      #
      DEF RSPSKIP$          # 8 #;     # CSI RESPONSE EXTRA INTEGER SZ #
      DEF QCMDSIZE$         # 2 #;     # QUERY COMMAND SIZE            #
      DEF QRSIZE$           # 3 #;     # QUERY REPLY SIZE              #
  
      DEF REQUEST$          # 0 #;     # REQUEST HEADER                #
      DEF REPLY$            # 1 #;     # REPLY HEADER                  #
  
      DEF VOLSIZE$          # 6 #;     # VOLUME ID SIZE                #
  
# 
****  CSI MESSAGE OPTIONS.
# 
      DEF FORCEOPT$         # 1 #;     # FORCE DISMOUNT                #
      DEF ACKOPT$           # 4 #;     # ACKNOWLEDGEMENT               #
  
# 
****  CSI MESSAGE VERSION.
# 
      DEF VERSION2$         # 2 #;     # CURRENT SMOUNT                #
  
# 
****  RESPONSE TYPES AND LENGTHS. 
# 
      DEF ATSID$            # 1 #;     # ATS TYPE                      #
      DEF ATSLENGTH$        # 1 #;     # ATS LENGTH                    #
      DEF CAPID$            # 3 #;     # CAP TYPE                      #
      DEF CAPLENGTH$        # 2 #;     # CAP LENGTH                    #
      DEF CELLID$           # 4 #;     # CELL TYPE                     #
      DEF CELLLENGTH$       # 5 #;     # CELL LENGTH                   #
      DEF DRIVEID$         # 11 #;     # DRIVE TYPE                    #
      DEF DRIVELENGTH$      # 4 #;     # DRIVE LENGTH                  #
      DEF LSMID$           # 15 #;     # LSM TYPE                      #
      DEF LSMLENGTH$        # 2 #;     # LSM LENGTH                    #
      DEF NONEID$          # 17 #;     # NONE TYPE                     #
      DEF NONELENGTH$       # 1 #;     # NONE LENGTH                   #
      DEF PANELID$         # 18 #;     # PANEL TYPE                    #
      DEF PANELLENGTH$      # 3 #;     # PANEL LENGTH                  #
      DEF PORTID$          # 19 #;     # PORT TYPE                     #
      DEF PORTLENGTH$       # 2 #;     # PORT LENGTH                   #
      DEF SUBID$           # 25 #;     # SUBPANEL TYPE                 #
      DEF SUBLENGTH$        # 7 #;     # SUBPANEL LENGTH               #
      DEF VOLID$           # 27 #;     # VOLUME TYPE                   #
      DEF VOLLENGTH$        # 3 #;     # VOLUME LENGTH                 #
  
      COMMON CSI$COM; 
      BEGIN                            # CSI$COM                       #
  
  
# 
****  THIS ARRAY DEFINES A MAPPING BETWEEN ATS COMMANDS AND CSI COMMANDS
# 
  
      ARRAY CSICOMMAND [1:LASTCOMMAND$] S(1); 
        BEGIN 
        ITEM CSI$COMMAND U(00,00,60);  # CSI COMMAND                   #
        END 
  
# 
****  CSI HEADER
# 
  
  
      ARRAY CSI$HDR [REQUEST$:REPLY$] S(HDRSIZE$);
        BEGIN 
        ITEM CSI$XIDAD1  U(00,00,60);  # CSI XID ADDRESS               #
        ITEM CSI$XIDAD2  U(01,00,60);  # CSI XID ADDRESS               #
        ITEM CSI$XIDAD3  U(02,00,60);  # CSI XID ADDRESS               #
        ITEM CSI$XIDAD4  U(03,00,60);  # CSI XID ADDRESS               #
        ITEM CSI$XIDAD5  U(04,00,60);  # CSI XID ADDRESS               #
        ITEM CSI$XIDAD6  U(05,00,60);  # CSI XID ADDRESS               #
        ITEM CSI$XIDPID  U(06,00,60);  # CSI XID PROCESS ID            #
        ITEM CSI$XIDSEQ  U(07,00,60);  # CSI XID SEQUENCE NUMBER       #
        ITEM CSI$IDENT   U(08,00,60);  # CSI IDENTIFIER                #
        ITEM CSI$SYNTAX  U(09,00,60);  # CSI SYNTAX                    #
        ITEM CSI$PROTOCO U(10,00,60);  # CSI PROTOCOL                  #
        ITEM CSI$CTYPE   U(11,00,60);  # CSI CONNECTION TYPE           #
        ITEM CSI$HDLPGM  U(12,00,60);  # CSI HANDLE PROGRAM            #
        ITEM CSI$HDLVER  U(13,00,60);  # CSI HANDLE VERSION            #
        ITEM CSI$HDLPRC  U(14,00,60);  # CSI HANDLE PROCEDURE          #
        ITEM CSI$SINFAM  U(15,00,60);  # CSI HANDLE ADDRESS FAMILY     #
        ITEM CSI$SINPRT  U(16,00,60);  # CSI HANDLE ADDRESS PORT       #
        ITEM CSI$SINADR  U(17,00,60);  # CSI HANDLE ADDRESS IP ADDRESS #
        ITEM CSI$SINZR   U(18,00,60);  # CSI HANDLE ADDRESS ZERO       #
        END 
  
# 
****  CSI MESSAGE 
# 
  
      ARRAY MSG$HDR [REQUEST$:REPLY$] S(MSGSIZE$);
        BEGIN 
        ITEM MSG$PACKID  U(00,00,60);  # MESSAGE HEADER PACKID         #
        ITEM MSG$COMMAND U(01,00,60);  # MESSAGE HEADER COMMAND        #
        ITEM MSG$OPTION  U(02,00,60);  # MESSAGE HEADER OPTION         #
        ITEM MSG$EXTHDR  B(02,52,01);  # EXTENDED HEADER OPTION        #
        ITEM MSG$MESOPT  U(02,56,04);  # MESSAGE HEADER OPTION         #
        ITEM MSG$VERSION U(03,00,60);  # EXTENDED VERSION              #
        ITEM MSG$EXTOPT  U(04,00,60);  # EXTENDED OPTIONS              #
        ITEM MSG$LOCKID  U(05,00,60);  # EXTENDED LOCK IDENTIFIER      #
        END 
  
# 
****  CSI EXTENDED VERSION USERNAME PASSWORD.  ONLY SINGLE BLANK SENT.
# 
  
      ARRAY EXT$ACCESS [REQUEST$:REPLY$] S(ACCSIZE$); 
        BEGIN 
        ITEM EXT$WORD0   U(00,00,60);  # EXT ACCESS WORD 0             #
        ITEM EXT$USERPWD C(00,00,01);  # EXT ACCESS USER ID/ PASSWORD  #
        ITEM EXT$WORD1   U(01,00,60);  # EXT ACCESS WORD 1             #
        ITEM EXT$WORD2   U(02,00,60);  # EXT ACCESS WORD 2             #
        ITEM EXT$WORD3   U(03,00,60);  # EXT ACCESS WORD 3             #
        ITEM EXT$WORD4   U(04,00,60);  # EXT ACCESS WORD 4             #
        ITEM EXT$WORD5   U(05,00,60);  # EXT ACCESS WORD 5             #
        ITEM EXT$WORD6   U(06,00,60);  # EXT ACCESS WORD 6             #
        END 
  
# 
****  CSI COMMAND 
# 
  
      ARRAY CMD$HDR [REQUEST$:REPLY$] S(CMDSIZE$);
        BEGIN 
        ITEM CMD$TYPE    U(00,00,60);  # QUERY TYPE                    #
        ITEM CMD$COUNT   U(01,00,60);  # NUMBER OF IDENTIFIERS (QUERY) #
        ITEM CMD$STATE   U(02,00,60);  # QUERY SERVER STATE            #
        ITEM CMD$CNTMNT  U(00,00,60);  # NUMBER OF IDENTIFIERS (MOUNT) #
        ITEM CMD$DRIVEID U(01,00,60);  # BEGINNING OF DRIVE ID DEF     #
        ITEM CMD$ATS     U(01,00,60);  # ATS NUMBER                    #
        ITEM CMD$LSM     U(02,00,60);  # LSM NUMBER                    #
        ITEM CMD$PANEL   U(03,00,60);  # PANEL NUMBER                  #
        ITEM CMD$DRIVE   U(04,00,60);  # DRIVE NUMBER                  #
        END 
  
      ARRAY VOL$HDR [REQUEST$:REPLY$] S(1); 
        BEGIN 
        ITEM VOL$WORD    U(00,00,60);  # VOLUME WORD                   #
        ITEM VOL$ID      C(00,00,06);  # VOLUME ID                     #
        END 
  
# 
****  CSI REPLY RESPONSE STATUS 
# 
  
      ARRAY RSP$HDR [REPLY$:REPLY$] S(RSPSIZE$);
        BEGIN 
        ITEM RSP$STATUS  U(00,00,60);  # RESPONSE STATUS               #
        ITEM RSP$TYPE    U(01,00,60);  # RESPONSE TYPE                 #
        END 
  
      END                              # CSI$COM                       #
  
# 
****  EXTINTF - EXTERNAL INTERFACE
* 
*     THIS COMMON BLOCK CONTAINS THE DEFINITIONS REQUIRED FOR THE ATS 
*     SUBSYSTEM TO COMMUNICATE WITH OTHER SUBSYSTEMS. 
* 
# 
  
      DEF BLOCKSIZE$        # 3 #;     # DATA BUFFER SIZE              #
      DEF NUMBREP$          # 4 #;     # NUMBER OF QUEUED REPLIES      #
      DEF NUMBREPARR$       # 3 #;     # REPLY ARRAY SIZE              #
  
      DEF COMPLETE$         # 1 #;     # *SIC* REPLY CODE              #
  
      COMMON EXT$COM; 
      BEGIN                            # EXT$COM                       #
  
      ITEM NEXTREAD      I;            # NEXT READ REPLY ENTRY         #
      ITEM NEXTWRITE     I;            # NEXT INSERTED REPLY ENTRY     #
  
  
# 
****  REQBUF - DATA BUFFER FOR COMMUNICATING WITH EXTERNAL SUBSYSTEMS 
* 
# 
  
      ARRAY REQBUF [00:00] S(BLOCKSIZE$); 
        BEGIN 
        ITEM REQ$WORD0   U(00,00,60);  # FIRST WORD ENTRY              #
        ITEM REQ$WC      U(00,42,18);  # REQUEST WORD COUNT            #
        ITEM REQ$ID      U(01,02,16);  # REQUEST ID                    #
        ITEM REQ$COMMAND U(01,18,06);  # REQUEST COMMAND               #
        ITEM REQ$VSN     C(02,00,06);  # REQUESTED VSN                 #
        ITEM REQ$LSM     U(02,36,04);  # REQUESTED LSM                 #
        ITEM REQ$PANEL   U(02,40,05);  # REQUESTED PANEL               #
        ITEM REQ$DRIVE   U(02,45,03);  # REQUESTED DRIVE               #
        ITEM REQ$ATS     U(02,48,09);  # REQUESTED ATS                 #
        END 
  
# 
****  REPBUF - REPLY DATA BUFFER FOR COMMUNICATING WITH SUBSYSTEMS
* 
# 
  
      ARRAY REPBUF [00:NUMBREPARR$] S(BLOCKSIZE$);
        BEGIN 
        ITEM REP$WORD0   U(00,00,60);  # FIRST WORD ENTRY              #
        ITEM REP$FC      U(00,00,12);  # FUNCTION CODE USED BY SSIWSSR #
        ITEM REP$WC      U(00,42,18);  # REPLY WORD COUNT              #
        ITEM REP$ID      U(01,02,16);  # RETURNED ID                   #
        ITEM REP$COMMAND U(01,18,06);  # REPLY COMMAND                 #
        ITEM REP$EC      U(01,24,12);  # RETURNED ERROR CODE           #
        ITEM REP$VSN     C(02,00,06);  # RETURNED VSN                  #
        ITEM REP$LSM     U(02,36,04);  # RETURNED LSM                  #
        ITEM REP$PANEL   U(02,40,05);  # RETURNED PANEL                #
        ITEM REP$DRIVE   U(02,45,03);  # RETURNED DRIVE                #
        ITEM REP$ATS     U(02,48,09);  # RETURNED ATS                  #
        END 
  
      END                              # EXT$COM                       #
  
# 
****  DATACOM - DATA MANAGEMENT COMMON BLOCK
* 
*     THIS COMMON BLOCK CONTAINS THE DEFINITIONS REQUIRED FOR THE ATS 
*     SUBSYSTEM TO MANAGE DATA AND SUPERVISORY MESSAGES.
* 
# 
  
      DEF DATASIZ$       #  273 #;     # DATA BUFFER SIZE              #
  
      COMMON DATA$COM;
      BEGIN                            # DATA$COM                      #
# 
****  DATABUF - DATA BUFFER FOR DATA/SM/TEMPORARY STORAGE.
* 
# 
      ARRAY OUTDATABUF [00:00] S(DATASIZ$); 
        BEGIN 
        ITEM OUT$DATA  U(00,00,60); 
        END 
  
      ARRAY INDATABUF [00:00] S(DATASIZ$);
        BEGIN 
        ITEM IN$DATA  U(00,00,60);
        END 
  
      END                              # DATA$COM                      #
  
      END                              # TEXTATS                       #
  
      TERM
*WEOR 
