FTN4
      SUBROUTINE DBCRC(NAME,JCRC,JTMLN,JENLN
     .,ISTAT),92903-16100 REV.1805  780210
C 
C 
C     NAME:   DBCRC 
C     SOURCE: &DBCRC    92903-18112 
C     BINARY: %DBCRC    ----NONE---    PART OF  %TMSLB  92903-16100 
C 
C     PRMG:   FRANCOIS GAULLIER   HPG 
C 
C 
C     **************************************************************
C     * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1978.  ALL RIGHTS    *
C     * RESERVED.  NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, RE- *
C     * PRODUCED, OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITH-  *
C     * OUT THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY.  *
C     **************************************************************
C 
C 
C  *********************************************************************
C  *                                                                   *
C  *           THIS SUBROUTINE RETURN THE DATA-BASE-CRC AND THE        *
C  *    MAXIMUM ENTRY & ITEM LENGTH.                                   *
C  *                                                                   *
C  *       CALLING PARAMETERS  :                                       *
C  *                                                                   *
C  *              NAME  : 3 WORDS LONG BUFFER * DATA BASE NAME         *
C  *              ICRC  : CRC IS RETURN HERE                           *
C  *              ITMLN : MAXIMUM ITEM LENGTH IS RETURN HERE (WORDS)   *
C  *              ENTLN : MAXIMUM ENTRY LENGTH IS RETURN HERE (WORDS)  *
C  *              ISTAT : IF 0 SUCCESFULL OPERATION                    *
C  *                      NOT 0 IMAGE ERROR IN ISTAT                   *
C  *                                                                   *
C  *    THE DATA-BASE-CRC IDENTIFY EXACTLY A SCHEMA, ATTACHED TO       *
C  *    A TRANSACTION SPECIFICATION, IT ALLOWS TO CHECK IF THE SCHEMA  *
C  *    HAS BEEN CHANGED. THE CAPACITY, THE WRITE/READ LEVEL CAN BE    *
C  *    CHANGED WHITOUT ANY PROBLEM.                                   *
C  *                                                                   *
C  *    THE MAXIMUM CARACTERISTIQUE ARE ASSUMED AS FOLLOW:             *
C  *                                                                   *
C  *    MAXIMUM NUMBER OF DATA-SET / DATA BASE :  50                   *
C  *    MAXIMUM NUMBER OF ITEM     / DATA BASE : 255                   *
C  *    MAXIMUM NUMBER OF ITEM     / ENTRY     : 127                   *
C  *                                                                   *
C  *    MAXIMUM ENTRY LENGTH (MEDIA+DATA)        256 WORDS             *
C  *    MAXIMUM ITEM LENGTH                       63 WORDS             *
C  *                                                                   *
C  *********************************************************************
C 
C 
      DIMENSION IBUF(12)
C 
C INITIALISE
C 
      ICRC=0
      MITMLN=0
      MENTLN=0
      CALL CRC16(NAME,6,ICRC) 
C 
C  COMPUTE ITEM CHECSUM 
C 
      DO 100 I=1,255
      CALL DBINF(2HI ,2,I,IBUF) 
      IF(IBUF.EQ.125) GO TO 110 
      IF(IBUF.NE.0) GO TO 3000
      IF(IBUF(7) .GT. MITMLN)  MITMLN=IBUF(7) 
      CALL MOVEW(IBUF(2),IBUF(1),8) 
      CALL MOVEW(IBUF(6),IBUF(5),3) 
      CALL CRC16(IBUF,14,ICRC)
100   CONTINUE
110   NIT=I-1 
C 
C  DATA SETS AND LINK CHECKSUM WORD 
C 
      DO 200 I=1,50 
      CALL DBINF(2HS ,2,I,IBUF) 
      IF(IBUF.EQ.100) GO TO 230 
      IF(IBUF.NE.0) GO TO 3000
      IF(IBUF(7) .GT. MENTLN)  MENTLN=IBUF(7) 
      CALL MOVEW(IBUF(2),IBUF(1),6) 
      IBUF(5)=IBUF(6) 
      IBUF(4)=IAND(IBUF(4),377B)
      CALL CRC16(IBUF,10,ICRC)
C-----IF MASTER DATA SET, SAVE ALSO THE PATH DEFINITION 
      IF(IBUF(4).EQ.104B) GO TO 200 
      CALL DBINF(2HS ,4,I,IBUF) 
      IF(IBUF.NE.0) GO TO 3000
      CALL CRC16(IBUF(3),4*IBUF(2),ICRC)
200   CONTINUE
C 
C  RETURN RESULT TO THE USER
C 
230   JCRC=ICRC 
      JTMLN=MITMLN
      JENLN=MENTLN
      ISTAT=0 
      GO TO 3010
C 
3000  ISTAT=IBUF
3010  RETURN
      END 
      END$
    