*COMDECK COMRSFC
#     COMRSFC - SPECIAL FUNCTION DESCRIPTION.  #
                                               CONTROL NOLIST;
                                               CONTROL IFEQ LISTCON,1;
                                               CONTROL LIST;
                                               CONTROL FI;
# 
***   COMRSFC - SPECIAL FUNCTION DESCRIPTION. 
* 
*     COMRSFC CONTAINS THE ARRAY DEFINITION FOR THE SPECIAL FUNCTION
*     CALLS.  THESE ARE A SET OF FUNCTIONS PROVIDED FOR USE BY A
*     SYSTEM CONTROL POINT.  THEY PROVIDE THE SPECIAL COMMUNICATION 
*     REQUIRED BETWEEN A SCP AND UCP. 
# 
  
      BEGIN  # COMRSFC COMDECK #
  
# 
*     SPECIAL FUNCTION CODES
# 
  
      DEF SF$REGR    #O"02"#;        # PLACE MSG IN UCP DAYFILE # 
                                     #   AND/OR ABORT UCP # 
      DEF SF$TIME    #O"04"#;        # OBTAIN SCP ACCOUNTING DATA # 
      DEF SF$ENDT    #O"06"#;        # INDICATE END OF TASK TO UCP #
      DEF SF$READ    #O"10"#;        # READ FROM UCP FIELD LENGTH # 
      DEF SF$WRIT    #O"14"#;        # WRITE TO UCP FIELD LENGTH #
      DEF SF$STAT    #O"12"#;        # REQUEST STATUS OF UCP  # 
      DEF SF$EXIT    #O"16"#;        # EXIT FROM SCP STATUS # 
      DEF SF$SWPO    #O"24"#;        # INDICATE UCP CANDIDATE FOR SWAP #
      DEF SF$SWPI    #O"26"#;        # SWAP IN UCP #
      DEF SF$SLTC    #O"30"#;        # SET LONG TERM CONNECTION # 
      DEF SF$CLTC    #O"32"#;        # CLEAR LONG TERM CONNECTION # 
      DEF SF$LIST    #O"34"#;        # PROCESS LIST OF FUNCTIONS #
      DEF SF$RERN    #O"36"#;        # SET/CLEAR UCP RERUN #
      DEF SF$XWRT    #O"44"#;        # EXTENDED WRITE TO UCP FL # 
  
# 
*     SPECIAL FUNCTION RETURN CODES 
# 
  
      DEF SFRC$LERR  #O"40"#;        # ERROR IN LIST #
      DEF SFRC$IDBAD #O"41"#;        # JOB INDENTIFIER INVALID #
      DEF SFRC$SCPA  #O"42"#;        # SCPA NOT WITHIN SCP FL # 
      DEF SFRC$UCPA  #O"43"#;        # UCPA NOT WITHIN UCP FL # 
      DEF SFRC$SWAP  #O"44"#;        # USER JOB SWAPPED OUT # 
      DEF SFRC$UNKWN #O"45"#;        # USER JOB NOT IN SYSTEM # 
      DEF SFRC$INVFC #O"47"#;        # INVALID FUNCTION CODE #
      DEF SFRC$PRCON #O"57"#;        # PRIOR CONNECTION ESTABLISHED # 
      DEF SFRC$RJCON #O"60"#;        # CONNECTION REJECTED #
      DEF SFRC$NTCON #O"61"#;        # CONNECTION NOT PREVIOUSLY ESTAB.#
  
# 
*     SPECIAL FUNCTION ERROR FLAGS
# 
  
      DEF SF$SEXX    #1#;            # NORMAL SUBSYSTEM ERROR FLAG #
      DEF SF$SEHX    #2#;            # HOSTILE USER ERROR FLAG #
  
      COMMON COMRSFC; 
      BEGIN  # COMRSFC COMMON AREA #
  
      ARRAY [0:0] S(6); 
        BEGIN  # SPECIAL FUNCTION CALL AREA # 
  
        ITEM SFC$WD1    I(00,00,60); # WORD ONE # 
        ITEM SFC$RC1    U(00,00,06); # RETURN CODE ONE #
        ITEM SFC$FP1    I(00,06,12); # FUNCTION PARAMETER ONE # 
        ITEM SFC$FP1PP  B(00,12,01); # PRIVILEGED PROGRAM # 
        ITEM SFC$FP1PU  B(00,13,01); # PRIVILEGED USER #
        ITEM SFC$UCPA1  I(00,18,18); # UCP ADDRESS ONE #
        ITEM SFC$SCPA1  I(00,36,18); # SCP ADDRESS ONE #
        ITEM SFC$FC1    I(00,54,06); # FUNCTION CODE ONE #
        ITEM SFC$FC1CB  B(00,59,01); # COMPLETE BIT # 
        ITEM SFC$JOBID  I(01,00,60); # JOB IDENTIFIER # 
        ITEM SFC$WD2    I(02,00,60);
        ITEM SFC$RC2    U(02,00,06);
        ITEM SFC$FP2    I(02,06,12);
        ITEM SFC$UCPA2  I(02,18,18);
        ITEM SFC$SCPA2  I(02,36,18);
        ITEM SFC$FC2    I(02,54,06);
        ITEM SFC$EUCPA1 I(02,12,24); # EXTENDED WRITE UCP CM ADDRESS #
        ITEM SFC$ESCPA1 I(02,36,24); # EXTENDED WRITE SCP CM ADDRESS #
        ITEM SFC$WD3    I(03,00,60);
        ITEM SFC$RC3    U(03,00,06);
        ITEM SFC$FP3    I(03,06,12);
        ITEM SFC$UCPA3  I(03,18,18);
        ITEM SFC$SCPA3  I(03,36,18);
        ITEM SFC$FC3    I(03,54,06);
        ITEM SFC$WD4    I(04,00,60);
        ITEM SFC$RC4    U(04,00,06);
        ITEM SFC$FP4    I(04,06,12);
        ITEM SFC$UCPA4  I(04,18,18);
        ITEM SFC$SCPA4  I(04,36,18);
        ITEM SFC$FC4    I(04,54,06);
        ITEM SFC$WD5    I(05,00,60);
        ITEM SFC$RC5    U(05,00,06);
        ITEM SFC$FP5    I(05,06,12);
        ITEM SFC$UCPA5  I(05,18,18);
        ITEM SFC$SCPA5  I(05,36,18);
        ITEM SFC$FC5    I(05,54,06);
  
        END  # SPECIAL FUNCTION CALL AREA # 
  
      ARRAY [0:0] S(1); 
        BEGIN  # NSUP WORD #
  
        ITEM NSUP$WD    I(00,00,60) = [0];
        ITEM NSUP$INPUT B(00,03,01); # INPUT IN QUEUE # 
        ITEM NSUP$SUPER B(00,04,01); # SUPERVISORY MESSAGE IN QUEUE # 
  
        END  # NSUP WORD #
  
      ARRAY SSF$CALL[0:0] S(1);       # SSF CALL #
        BEGIN  # SSF CALL WORD #
  
        ITEM SSFNAME    C(00,00,03) = ["SSF"];
        ITEM SSFRCL     B(00,19,01);
        ITEM SSFADDR    U(00,42,18);
  
      END  # COMRSFC COMMON AREA #
  
        END  # SSF CALL WORD #
  
      END  # COMRSFC COMDECK #
                                               CONTROL LIST;
