SPL,L,O 
!     NAME:   CS..
!     SOURCE: 92067-18248 
!     RELOC:  92067-16185 
!     PGMR:   A.M.G.
! 
!  ***************************************************************
!  * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979.  ALL RIGHTS     *
!  * RESERVED.  NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED,      *
!  * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT*
!  * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY.       *
!  ***************************************************************
! 
       NAME CS..(8) "92067-16185 REV.1903 790406" 
! 
! 
       LET SMP BE INTEGER(3)
       LET ATTAB BE INTEGER(9)
! 
       INITIALIZE ATTAB TO "SAPUPAENNPBUNBRW" 
       INITIALIZE SMP TO "SMP   " 
! 
       LET EXEC,                            \SYSTEM I/O 
           LULU.,                           \SET LU SWITCHES
           RMPAR                            \GET PARAMETERS 
              BE SUBROUTINE,EXTERNAL
! 
! 
CS..:  SUBROUTINE(N,PLIST,ERR) GLOBAL 
       LET N,PLIST,ERR BE INTEGER 
       LET PRIOR,PAR4,LU2,PAR3,ATT,PAR2,    \MAKE DECLARATIONS
          LU1 BE INTEGER
       PRIOR _ [PAR4 _ [LU2 _ [PAR3 _ [ATT  \SET UP POINTERS
          _ [PAR2 _ [LU1 _ @PLIST + 1]      \TO PARAMETERS. 
          + 3] + 1] + 3] + 1] + 3] + 1
       IFNOT $PAR2 THEN [J _ 4;  GOTO CSMP] !SUPPLY DEFAULT "EN"
       PTR _ @ATTAB - 1 
       FOR J _ 1 TO 8 DO [                  \SEARCH ATTRIBUTE LIST
          IF $[PTR_PTR+1] = $ATT THEN       \FOR A MATCH. 
             GOTO HAVIT]
BADPR: ERR _ 56;  RETURN                    !BAD PARAMETER. 
HAVIT: IF J = 8 THEN [                      \HAVE A REWIND
          EXEC(23,SMP,9,$LU1,0,0,-128);     \USE POSITION REQUEST SO IT WORKS 
          RETURN]                           !EVEN IF SPOOL HEADERS
CSMP:  IF J # 5 THEN [                      \CALL SMP TO DO 
          EXEC(23,SMP,J,$LU1);              \THE FUNCTION.
          IF J=4 THEN [CALL LULU.($LU1,"- ");\IF END CLEAR LU 
             GOTO RTN];                     \SWITCH TABLE ENTRY.
RTN:      RETURN] 
       IFNOT $PAR3 THEN $LU2 _ -1           !SET UP FOR CALL. 
       IFNOT $PAR4 THEN GOTO CSMP2
       IF $PRIOR < 1 OR $PRIOR > 9999 THEN  \CHECK IF NEW 
          GOTO BADPR                        !PRIORITY IS LEGAL. 
CSMP2: EXEC(23,SMP,5,$LU1,$LU2,$PRIOR)
       RMPAR(PRIOR)                         !GET ERROR CODE.
       ERR _ PRIOR
       RETURN 
       END
       END
       END$ 
                                                                          