SUBROUTINE VALEVT (LUN,N,IERR) C .IDENT /01JUN7/ ;09:35:00, LV C .ENTRY VALEVT - VALIDATE AN EVENT NUMBER C;+ C - V A L E V T C C PURPOSE: TO CHECK EVENT NUMBERS FOR Q COMMAND PROCESSORS C C INTERFACE: CALLING SEQUENCE: (FORTRAN-CALLABLE SUBROUTINE) C CALL VALEVT(LUN,NEVENT,IERR) C C INPUT: LUN (INTEGER) = LOGICAL UNIT ASSIGNED TO TI C NEVENT (INTEGER) = EVENT NUMBER C IERR (LOGICAL) = .TRUE. OR .FALSE. ON RETURN C C LANGUAGE: FORTRAN C C METHOD: THIS SUBROUTINE CHECKS IF AN EVENT NUMBER IS VALID C FOR USE BY A Q-COMMAND PROCESSOR. EVENTS 0-23 ARE C ALWAYS VALID (IERR=.TRUE.). EVENT NUMBERS <0 AND >31 C ARE ALWAYS ILLEGAL (IERR=.FALSE.). C EVENTS 24-31 ARE VALID ONLY IF THE CALLING TASK C IS RUNNING UNDER A GROUP CODE .LE. 10. AN C APPROPRIATE ERROR MESSAGE IS OUPUT IF THE EVENT C NUMBER IS ILLEGAL. C;- C REVISIONS: C 08-JUL-76 SS WRITTEN C 01-JUN-77 LV UPDATED TO CONFORM TO STANDARDS C C DATA SPECIFICATIONS C IMPLICIT INTEGER (A-Z) LOGICAL IERR DIMENSION TSKNAM(3),IDATA(16) C C FIRST GET TASK NAME AND UIC THAT WE ARE RUNNING UNDER C CALL GETTSK(IDATA,) CALL R50ASC(6,IDATA,TSKNAM) C C CHECK FOR OBVIOUSLY ILLEGAL EVENTS C IF (0.LE.N.AND.N.LE.31) GO TO 200 WRITE(LUN,105) TSKNAM,N 105 FORMAT(1X,3A2,'--ILLEGAL EVENT NUMBER ',I3) IERR=.FALSE. RETURN C C CHECK FOR OBVIOUSLY VALID EVENTS C 200 IERR=.TRUE. IF (N.LE.23) RETURN C C EVENTS 24-31 ARE FOR PRIVILEGED USERS C GROUP=ISHFT(IDATA(8),-8) IF (GROUP.LE.10) RETURN WRITE(LUN,305) TSKNAM,N 305 FORMAT(1X,3A2,'--EVENT',I3,' CAN BE USED ONLY BY PRIVILEGED USER') IERR=.FALSE. RETURN END