HEPDB, Zebra and HBOOK initialisation
      +------------------------------------------------------------+
      | CALL  CDPAW (NWPAW,NHBOOK,IDIV*,CHNAME,NW,NWMAX,CHOPT,IRC*) |
      +------------------------------------------------------------+
                                  
- NWPAW
 - Number of words of dynamic store in common
/PAWC/
 - NHBOOK
 - Number of words for use by HBOOK
 - IDIV
 - Index of user division created in common
/PAWC/
 - CHNAME
 - Name of user division
 - NW
 - Initial number of words for user division
 - NWMAX
 - Maximum number of words for user division
 - CHOPT
 - Character option
- ' '
 - Initialise HEPDB divisions in common
/PAWC/
 - 'Z'
 - Also initialise Zebra via a call to  MZEBRA
 - 'P'
 - Issue call to  MZPAW
 - 'H'
 - Also initialise HBOOK with  NHBOOK words
 - 'U'
 - Create user division
 
 - IRC
 - Integer return code
- 0
 - Normal completion
 
 
This routine initialises Zebra, HBOOK and HEPDB. Note that HEPDB is
automatically initialised on the first call to  CDOPEN.
Obtain file name from database prefix
             +----------------------------------------------+
             | CALL  CDPREF (LUN,CHPREF,CHTOP*,CHFILE*,IRC*) |
             +----------------------------------------------+
                                  
- LUN
 - Fortran logical unit for accessing the names
file.
 - CHPREF
 - Two character database prefix
 - CHTOP
 - Top directory name constructed from database
prefix
 - CHFILE
 - Full file name of the database
 - IRC
 - Integer return code
- 0
 - Normal completion
 
 
This routine returns the top directory name and full file name of a HEPDB
database, identified by a unique two character prefix. In the case of
VM/CMS systems, the appropriate mini-disks are linked and accessed
automatically. The environmental variable CDSERV must be set
before calling this routine, as shown below.
Unix   Bourne shell  CDSERV=/hepdb/l3; export CDSERV
       C shell       setenv CDSERV /hepdb/l3
       Korn shell    export CDSERV=/hepdb/l3
VMS                  CDSERV:==HEPDB:[L3]
VM/CMS               setenv CDSERV cdl3.191
Access an existing database file
   +------------------------------------------------------------------+
   | CALL  CDOPEN (*LUNDB*,LUNFZ,CHTOP,CHFILE,*LRECL*,IDIV,CHOPT,IRC*) |
   +------------------------------------------------------------------+
                                  
- LUNDB
 - Fortran logical unit or C file pointer for
accessing the database file.
 - LUNFZ
 - Fortran logical unit to be used for sending
updates to the database server.
 - CHTOP
 - Name of the Top Directory
 - CHFILE
 - Character variable giving the file name
 - LRECL
 - Integer variable specifying the record length
of the database file in words. If a value of zero is given on input, the
record length will be automatically determined from the file itself. The
actual value used is returned in this variable if the file is successfully
opened.
 - IDIV
 - User Division
 - CHOPT
 - Character Option
- 'E'
 - Expand system division of the store in which
IDIV resides
 - 'Q'
 - Do not print messages such as version number
 - 'N'
 - The database file is in native format (exchange
mode is the default)
 - 'C'
 - Use C I/O instead of Fortran I/O
 - 'P'
 - Preserve case of file name (Unix systems)
 
 - IRC
 - Integer return code
-   0
 - Normal completion
 -  -1
 - Invalid top directory name
 -  -2
 - The file is already open with correct  LUNDB and
 CHTOP
 -  -3
 - The file is already open with wrong  LUNDB or
 CHTOP
 -  -4
 - Already a file is opened with the same unique
identifier as requested for this  CHTOP
 -  -5
 - Invalid process name in Online context
 -  -6
 - Error in IC_BOOK for booking the
CACHE
 -  -7
 - Error in CC_SETUP for reserving the
CLUSCOM
 -  -8
 - Cannot open journal file in server context
 -  -9
 - Unable to open FZ communication channel
 - -10
 - Host unable to open RZ file
 
 
On VAX/VMS systems, C I/O is automatically triggered for files of record
type STREAMLF.
Create and access a new database file
+-----------------------------------------------------------------------------+
|CALL  CDNEW (*LUNDB*,CHTOP,CHFILE,IDIV,NPAIR,NREC,NPRE,NTOP,LRECL,CHOPT,IRC*) |
+-----------------------------------------------------------------------------+
                                  
- LUNDB
 - Fortran logical unit or C file pointer
 - CHTOP
 - Name of the Top Directory
 - CHFILE
 - Character variable giving the file name
 - IDIV
 - User Division
 - NPAIR
 - Number of key pairs to be used in object
selection.
 - NREC
 - Number of records for the database file
 - NPRE
 - Number of records that should be preformatted
(essential for VM systems or when afs access is desired)
 - NTOP
 - Unique identifier for the database file
(optional)
 - CHOPT
 - Character Option as for  RZMAKE except
exchange mode is the default.
 - IRC
 - Integer return code
 
Terminate access to one or all database files
                     +------------------------------+
                     |CALL  CDEND (CHDIR,CHOPT,IRC*) |
                     +------------------------------+
                                  
- CHDIR
 - Character variable specifying the name of the
top directory of the file to be closed.
 - CHOPT
 - Character variable specifying the options
required.
- ' '
 - default, close file specified by the variable
 CHDIR
 - 'A'
 - close all files -  CHDIR not used
 - 'W'
 - call  MZWIPE for the division(s) associated with
the files that are closed.
 
 - IRC
 - Integer return code
-   0
 - Normal completion
 
 
This routine closes the specified database file by calling the RZ routine
 RZCLOS. Any existing journal file is closed and sent to the database
server. If option  A is not specified, the journal file will be reopened
after being sent to the server.