COMBUCR 
COMMON
  
#     COMBUCR - DATA DECLARATIONS FOR UCP REQUEST PROCESSING.         # 
                                               CONTROL NOLIST;
                                               CONTROL IFEQ LISTCON,1;
                                               CONTROL LIST;
                                               CONTROL FI;
      BEGIN  # COMBUCR #
  
# 
***   COMBUCR - DATA DECLARATIONS FOR UCP REQUEST PROCESSING. 
* 
*     COMBUCR CONTAINS THE BASED ARRAYS AND STATUS LISTS NECESSARY
*     TO PROCESS UCP REQUESTS AND TO COMMUNICATE WITH THE UCP VIA 
*     SFCALL REQUESTS.
# 
  
# 
*     *KILLCODE* IS THE STATUS LIST WHICH DEFINES THE REASONS FOR WHICH 
*     A UCP IS ABORTED.  THIS CODE IS PASSED TO *KILL$UCP* FROM THE 
*     PROCESSOR WHICH IS REQUESTING THAT A UCP BE ABORTED.
# 
  
      STATUS KILLCODE 
        NOTUSED,                     # NOT USED # 
        NOTAUTH,                     # NOT AUTHORIZED # 
        NOTCON,                      # NOT CONNECTED #
        MULCON,                      # ALREADY CONNECTED #
        MULREQ,                      # MULTIPLE REQUESTS #
        MULRUN,                      # MULTIPLE RUN # 
        INVRQT,                      # INVALID REQUEST TYPE # 
        INVRQC,                      # INVALID REQUEST CODE # 
        UTLCONF,                     # UTILITY CONFLICT # 
        MULCART,                     # CARTRIDGE ALREADY ACTIVE # 
        CLOSED,                      # *SSEXEC* IS CLOSED # 
        INVADDR,                     # INVALID ADDRESS #
        LASTCODE;                    # INVALID *KILLCODE* FROM HERE # 
  
# 
*     *REQNAME* IS THE STATUS LIST WHICH DEFINES THE VALID REQUEST
*     IDENTIFIERS KNOWN TO SSEXEC.
# 
  
      STATUS REQNAME
        RQIFIRST,                    # INVALID #
        RQIMOVE,                     # *SSMOVE* # 
        RQILABL,                     # *SSLABEL* #
        RQIDBUG,                     # *SSDEBUG* #
        RQIVALD,                     # *SSVAL* #
        RQIALTER,                    # *SSALTER* #
        RQITEST,                     # TEST HOOKS # 
        RQIINT,                      # INTERNAL # 
        RQIAUCP,                     # ABORTED UCP #
        RQILAST;                     # INVALID FROM HERE #
  
# 
*     THE FOLLOWING DEFINE THE OCTAL VALUES OF THE VARIOUS SFCALL 
*     REQUESTS. 
# 
  
      DEF SFREGR     #O"02"#;        # MESSAGE TO UCP DAYFILE AND ABORT 
                                       UCP #
      DEF SFTIMR     #O"04"#;        # OBTAIN ACCOUNTING DATA FOR SCP # 
      DEF SFENDT     #O"06"#;        # INDICATE END OF TASK TO UCP #
      DEF SFREAD     #O"10"#;        # READ FROM UCP FIELD LENGTH # 
      DEF SFWRIT     #O"14"#;        # WRITE TO UCP FIELD LENGTH #
      DEF SFSTAT     #O"12"#;        # REQUEST STATUS OF UCP FROM 
                                       SYSTEM # 
      DEF SFEXIT     #O"16"#;        # EXIT FROM SCP STATUS # 
      DEF SFSWPO     #O"24"#;        # INDICATE UCP AS CANDIDATE FOR
                                       SWAP OUT # 
      DEF SFSWPI     #O"26"#;        # REQUEST SWAP IN OF UCP # 
      DEF SFSLTC     #O"30"#;        # SET THE LONG TERM CONNECTION 
                                       INDICATOR #
      DEF SFCLTC     #O"32"#;        # CLEAR THE LONG TERM CONNECTION 
                                       INDICATOR #
      DEF SFLIST     #O"34"#;        # PROCESS A LIST OF SFXXXX 
                                       FUNCTIONS #
  
# 
*     SFCALL ERRORS RETURNED TO THE SCP.
# 
  
      DEF SFRCLSTER  #O"40"#;        # AT LEAST ONE ERROR DETECTED IN 
                                       LIST # 
      DEF SFRCJOBINV #O"41"#;        # JOB IDENTIFIER IS INVALID #
      DEF SFRCBDSCPA #O"42"#;        # *SCPA* IS NOT WITHIN THE 
                                       SUBSYSTEM FL # 
      DEF SFRCBDUCPA #O"43"#;        # *UCPA* IS NOT WITHIN THE UCP FL
                                     #
      DEF SFRCSWPOUT #O"44"#;        # USER JOB IS SWAPPED OUT #
      DEF SFRCUCPGON #O"45"#;        # USER JOB IS NOT IN THE SYSTEM #
      DEF SFRCMULTCN #O"57"#;        # CONNECTION PREVIOUSLY
                                       ESTABLISHED #
      DEF SFRCCONREJ #O"60"#;        # CONNECTION REJECTED #
      DEF SFRCNOCON  #O"61"#;        # CONNECTION NOT PREVIOUSLY
                                       ESTABLISHED #
      DEF SFRCXFERBD #O"62"#;        # WORD TRANSFER TOO LONG # 
      DEF SFRCUCPNET #O"63"#;        # UCP NOT ESTABLISHED WITH 
                                       SUBSYSTEM #
      DEF SFRCSSESTR #O"64"#;        # SUBSYSTEM ESTABLISHED WITH 
                                       RECEIVER # 
      DEF SFRCILERFG #O"65"#;        # ATTEMPT TO SET ILLEGAL ERROR 
                                       FLAG # 
      DEF SFRCILDFFG #O"66"#;        # ILLEGAL DAYFILE PROCESSING FLAG
                                     #
  
      COMMON BUCRCOM; 
  
        BEGIN  # BUCRCOM #
                                                      #$$#
              ITEM $$BUCR$$ C(20) = "****** COMBUCR *****"; 
                                                      #$$#
  
# 
*     *UCPR* DEFINES THE SYSTEM HEADER WHICH IS ATTACHED TO THE 
*     FRONT OF THE DATA WHICH IS PASSED FROM THE UCP VIA THE
*     CALLSS REQUEST. 
# 
  
        BASED 
        ARRAY UCPR [0:0] P(2);
          BEGIN 
          ITEM UCP$WORD0  U(00,00,60);  # WORD 0 #
          ITEM UCP$USUSD1 U(00,00,12);  # RESERVED FOR INSTALLATION # 
          ITEM UCP$UNUSD2 U(00,12,24);  # CDC RESERVED #
          ITEM UCP$STAT   U(00,36,06);  # UCP REQ STATUS #
          ITEM UCP$ADDR   U(00,42,18);  # ADDRESS FROM CALLSS MACRO # 
          ITEM UCP$WORD1  U(01,00,60);  # FULL WORD DEFINITION #
          ITEM UCP$JBSN   C(01,00,04);  # JOB SEQUENCE NUMBER # 
          ITEM UCP$FSTA   U(01,48,12);  # *FST* ADDRESS # 
          END 
  
  
# 
*     SIZE OF *PRAMUCP* DEPENDS ON *CPRLEN* WHICH IS DEFINED IN THE 
*     COMMON DECK *COMACPR*.
# 
  
          ARRAY PRAMUCP  [0:1] S(12); 
          BEGIN 
          ITEM UCPPARM    U(00,00,60);  # REFERENCE WORD #
          END 
  
# 
*     *UCPPARMSW* IS THE MEANS BY WHICH THE ALTERNATE UCP PARAMETER 
*     RECEIVING AREA IS DETERMINED.  THE VALUE OF THIS ITEM WILL
*     EITHER BE 0 OR 1 DEPENDING ON WHICH AREA IS BEING USED. 
# 
  
        ITEM UCPPARMSW  U = 0;       # CONTROLS UCP PARAMETER AREA #
  
  
# 
*     *CONIND* IS AN ARRAY WHICH IS USED TO INDICATE WETHER A REQUEST 
*     IDENTIFIER IS CURRENTLY CONNECTED TO SSEXEC.  THIS TABLE IS THUS
*     USED TO PREVENT MULTIPLE REQUESTS FROM THE SAME REQUEST ID. 
# 
  
        ARRAY NAMECON [1:REQNAME"RQITEST"] S(1);
          BEGIN 
          ITEM CONIND     B(00,00,01);  # TRUE IS REQUEST ID CONNECTED
                                        # 
          END 
  
# 
*     *SFPARMBLK* IS THE TWO WORD PARAMETER BLOCK WHICH IS USED TO
*     COMMUNICATE WITH THE UCP VIA THE SFCALL CAPABILITY. 
# 
  
        ITEM SFBLKPTR   U;           # POINTER TO THE SFCALL PARAMETER
                                       BLOCK #
  
        ARRAY SFPARMBLK [0:0] S(2); 
          BEGIN 
          ITEM SFRC       U(00,00,06);  # REPLY CODE #
          ITEM SFFP       U(00,06,12);  # FUNCTION PARAMETER #
          ITEM SFFPPP     B(00,12,01);  # PRIVILEGED PROGRAM INDICATOR
                                        # 
          ITEM SFFPPU     B(00,13,01);  # PRIVILEGED USER INDICATOR # 
          ITEM SFFPL      B(00,14,01);  # LONG TERM CONNECTION SET #
          ITEM SFFRRC     U(00,15,03);  # REQUEST COUNT # 
          ITEM SFUCPA     U(00,18,18);  # RELATIVE ADDR IN UCP #
          ITEM SFSCPA     U(00,36,18);  # RELATIVE ADDR IN SCP #
          ITEM SFFC       U(00,54,06);  # FUNCTION CODE # 
          ITEM SFFCC      B(00,59,01);  # COMPLETE BIT #
          ITEM SFJBSN     U(01,00,24);  # JOB SEQUENCE NUMBER # 
          ITEM SFFSTA     U(01,48,12);  # *FST* ADDRESS # 
          END 
  
        END  # BUCRCOM #
  
      END  # COMBUCR #
  
                                               CONTROL LIST;
