SPL,L,O,T,M 
!     NAME:   LOCK. 
!     SOURCE: 92067-18153 
!     RELOC:  92067-16125 
!     PGMR:   G.A.A.
! 
!  ***************************************************************
!  * (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 LOCK.(8) "92067-16125 REV.1903 781115" 
! 
!     THIS ROUTINE OBTAINS A LOCK AND RELEASES IT ON THE
!     GIVEN DISC
! 
      LET MSS.,EXEC,RMPAR                  BE SUBROUTINE,EXTERNAL 
      LET DS.DF,D.,OVRD.                   BE INTEGER,EXTERNAL
      LET BREG(5)                          BE INTEGER 
      INITIALIZE A,B,XEQT                  TO 0,1,1717K 
! 
! 
LOCK.:SUBROUTINE(DSID,RQ,ERR)GLOBAL,FEXIT  !ROUTINE TO REQUEST AND
!                                          RELEASE DISC LOCKS 
LOCK: EXEC(23,D.,$XEQT,RQ+OVRD.,DSID)      !CALL D.RTR TO GET THE LOCK
      RMPAR(BREG) 
      IF BREG(1) THEN [ERR_BREG(1);\       !IF ERROR THEN SET ERROR RETURN
          FRETURN],\
          ELSE ERR_0
      DS.DF_0                              !CORE COPY IF ANY IS WRONG NOW 
      RETURN                               !ELSE GO NORMAL RETURN 
      END 
      END 
      END$
                                                                                            