Google
 

Trailing-Edge - PDP-10 Archives - BB-R775A-BM - documentation/dil.doc
There are 26 other files named dil.doc in the archive. Click here to see a list.
DIL.DOC -- V1(73) 19-May-83                                     Page i





































COPYRIGHT (C) DIGITAL EQUIPMENT CORPORATION 1982, 1983

The information contained  in  this  document  is  subject  to  change
without  notice and should not be construed as a commitment by Digital
Equipment Corporation.  Digital  assumes  no  responsibility  for  any
errors that may appear in this document.

The software described in this document is furnished under  a  license
and  may  only  be used or copied in accordance with the terms of such
license.  Title to and ownership of the software  will  at  all  times
remain in DEC.

Digital assumes no responsibility for the use or  reliability  of  its
software on equipment which is not supplied by DEC.
DIL.DOC -- V1(73) 19-May-83                                    Page ii
Table of Contents


        1.0     SUMMARY  . . . . . . . . . . . . . . . . . . . . . . 1
        2.0     EXTERNAL CHANGES . . . . . . . . . . . . . . . . . . 1
        3.0     KNOWN BUGS AND DEFICIENCIES  . . . . . . . . . . . . 1
        4.0     INSTALLATION INSTRUCTIONS  . . . . . . . . . . . . . 2
        4.1       DECSYSTEM-20 Installation  . . . . . . . . . . . . 2
        4.1.1     File Contents  . . . . . . . . . . . . . . . . . . 2
        4.1.1.1   First Saveset -- Documentation Files . . . . . . . 2
        4.1.1.2   Second Saveset: SUBSYS Files . . . . . . . . . . . 2
        4.1.1.3   Third Saveset -- Source Files  . . . . . . . . . . 3
        4.1.1.4   Fourth Saveset -- UETP Files . . . . . . . . . . . 3
        4.1.2     Installation . . . . . . . . . . . . . . . . . . . 4
        4.1.3     Special Considerations (TOPS-20) . . . . . . . . . 6
        4.2       Vax Installation . . . . . . . . . . . . . . . . . 7
        4.2.1     Special Considerations (VAX/VMS) . . . . . . . .  10
        4.3       DECsystem-10 Installation  . . . . . . . . . . .  11
        4.3.1     File Contents  . . . . . . . . . . . . . . . . .  11
        4.3.1.1   Documentation  . . . . . . . . . . . . . . . . .  11
        4.3.1.2   Libraries And Interface Support Files  . . . . .  11
        4.3.1.3   Autopatch Files  . . . . . . . . . . . . . . . .  11
        4.3.1.4   Installation Verification  . . . . . . . . . . .  12
        4.3.2     Installation . . . . . . . . . . . . . . . . . .  12
        5.0     INSTALLATION VERIFICATION SYSTEM . . . . . . . . .  14
        5.1       TOPS-20 Installation Verification  . . . . . . .  16
        5.2       TOPS-10 Installation Verification  . . . . . . .  21
        5.3       VAX/VMS Installation Verification  . . . . . . .  24
        6.0     INTERNAL CHANGES . . . . . . . . . . . . . . . . .  28
        7.0     SUGGESTIONS  . . . . . . . . . . . . . . . . . . .  28
        8.0     ADDITIONAL SUPPORTED FEATURES  . . . . . . . . . .  29
        8.1       NFINF/DIT$NFINF  . . . . . . . . . . . . . . . .  29
        8.2       NFREJ/DIT$NFREJ  . . . . . . . . . . . . . . . .  33
        9.0     ADDITIONAL ERROR INFORMATION . . . . . . . . . . .  34
        9.1       Remote-File-Access Error Codes And Their 
                  Meanings:  . . . . . . . . . . . . . . . . . . .  34
        9.1.1     ROPEN/DIT$ROPEN Routine: . . . . . . . . . . . .  34
        9.1.2     RREAD/DIT$RREAD: . . . . . . . . . . . . . . . .  37
        9.1.3     RWRITE/DIT$RWRITE: . . . . . . . . . . . . . . .  39
        9.1.4     RCLOSE/DIT$RCLOSE: . . . . . . . . . . . . . . .  41
        9.1.5     RDEL/DIT$RDEL: . . . . . . . . . . . . . . . . .  42
        9.1.6     RSUB/DIT$RSUB: . . . . . . . . . . . . . . . . .  44
        9.1.7     RPRINT/DIT$RPRINT: . . . . . . . . . . . . . . .  46
        9.2       Task-to-Task Errors And Their Meanings:  . . . .  48
        9.2.1     NFOPA/B/8/P / DIT$NFOPA/B/8/P: . . . . . . . . .  48
        9.2.2     NFGND/DIT$NFGND: . . . . . . . . . . . . . . . .  50
        9.2.3     NFACC/DIT$NFACC: . . . . . . . . . . . . . . . .  52
        9.2.4     NFRCV/DIT$NFRCV: . . . . . . . . . . . . . . . .  53
        9.2.5     NFSND/DIT$NFSND: . . . . . . . . . . . . . . . .  55
        9.2.6     NFREJ/DIT$NFREJ: . . . . . . . . . . . . . . . .  56
        9.2.7     NFCLS/DIT$NFCLS: . . . . . . . . . . . . . . . .  57
        9.2.8     NFINF/DIT$NFINF: . . . . . . . . . . . . . . . .  58
        10.0    DATA INTERCHANGE LIBRARY SAMPLE APPLICATION  . . .  60
        10.1      Description  . . . . . . . . . . . . . . . . . .  60
        10.2      Running The Sample Application . . . . . . . . .  61




 
DIL.DOC -- V1(73) 19-May-83                                     Page 1
SUMMARY


1.0  SUMMARY

The Data Interchange Library (DIL)  is  a  set  of  subroutines  which
provide  some  basic  capabilities  for distributed applications.  The
capabilities include moving ASCII and binary data between  similar  or
dissimilar  systems,  and  converting between data formats in the same
class (string, binary integer, floating point).   These  routines  are
callable  from  COBOL  and  FORTRAN  on  TOPS-10, TOPS-20, and VAX/VMS
systems.

On TOPS-20 systems, DIL version 1 will run under TOPS-20  version  5.1
or  later monitors and under TOPS-20 version 4.1 or later monitors for
KL model A and 2020 processors.  On VAX systems, DIL  version  1  will
run  under VMS 3.1 or later monitors.  On TOPS-10 systems, DIL version
1 will run under TOPS-10 version 7.01 or later monitors.

Refer to the beware file, DIL.BWR, for hints and potential problems.



2.0  EXTERNAL CHANGES

New software.



3.0  KNOWN BUGS AND DEFICIENCIES

There are no known bugs or deficiencies as of 21-Mar-83.
DIL.DOC -- V1(73) 19-May-83                                     Page 2
INSTALLATION INSTRUCTIONS


4.0  INSTALLATION INSTRUCTIONS

4.1  DECSYSTEM-20 Installation

4.1.1  File Contents -



4.1.1.1  First Saveset -- Documentation Files -

DIL.BWR contains last-minute changes and required patches.

DIL.DOC is this file.

DIL.HLP is the help file.

The following programs make up the DIL sample application.  These  are
provided   as   examples   only.   They  will  not  run  without  some
customization  for   your   local   network   topology.    IDXINI.CBL,
JTSERV.CBL, JTTERM.CBL, JTTERM.VAX-COB, JTVRPT.CBL, PROCES.MAC .



4.1.1.2  Second Saveset:  SUBSYS Files -

DIL.REL is the library to search when linking programs with the DIL.

DIL.LIB is a COBOL copy library  containing  statements  which  define
names  for  various special codes used to select options and the like.
Elements in DIL.LIB may be COPY'd into user programs as  described  in
the  DIL manual.  DIL.LIB is not needed if your site will not be using
the DIL from COBOL programs.

DILV6.FOR,  DILV7.FOR,  DIXV6.FOR,  DIXV7.FOR,  DITV6.FOR,  DITV7.FOR:
These  files  are  the  FORTRAN  equivalent  of the COBOL copy library
members contained in DIL.LIB, above.  They may be INCLUDE'd into  user
programs  to  define names for DIL codes.  The files with names ending
in V6 are for use with TOPS-20 FORTRAN  Version  6.   The  files  with
names  ending  in  V7  are  for  use  with  TOPS-20 FORTRAN Version 7.
Details on when and how to include them, and how to use the codes, are
given  in  the  DIL  documentation.   None  of the files are necessary
unless explicitly referenced from user programs (or  the  installation
verification procedure).

B362LB.REL is the run-time support library for  BLISS.   Install  this
only if you don't already have BLISS V3 on your system.

XPORT.REL is a transportable support library needed by the  DIL  code.
This  version has fixes not in the BLISS V3 distribution, so it should
be installed by everybody.
DIL.DOC -- V1(73) 19-May-83                                     Page 3
INSTALLATION INSTRUCTIONS


4.1.1.3  Third Saveset -- Source Files -

These files are necessary to rebuild DIL with patches.  In particular,
this  saveset includes the files necessary to apply autopatch tapes to
the DIL.  These files should  be  installed  into  the  DIL  autopatch
directory.

     DIL2V1.REL
     DIX2V1.REL
     DIT2V1.REL
     DAP2V1.REL
     XPN2V1.REL

This save-set also contains the files necessary to install the DIL  on
a VAX/VMS system (see below).  The files are

      o  C32T1.VAX-COB is the COBOL DIX test program.
      o  CD32T1.VAX-COB is the COBOL DAP test program.
      o  CT32T1.VAX-COB is the COBOL TTT test program.
      o  DIL.VAX-EXE is the sharable DIL library for VAX.
      o  DIL.VAX-OLB is the searchable DIL library for VAX.
      o  DIL.VAX-OPT is the VAX linking options file.
      o  DIL.VAX-TLB is the text library of interface support material
         for VAX.
      o  DILTFR.VAX-OBJ is vestigial and should be ignored.
      o  DITMSG.VAX-EXE is the DIL network  error  messages  file  for
         VAX.
      o  DIXMSG.VAX-EXE is DIL data conversion error messages file for
         VAX.
      o  F32T1.VAX-FOR is the FORTRAN DIX test program.
      o  FD32T1.VAX-FOR is the FORTRAN DAP test program.
      o  FT32T1.VAX-FOR is the FORTRAN TTT test program.
      o  ICSCOB.VAX-COM is the Installation Verification control  file
         for COBOL sites.
      o  ICSFOR.VAX-COM is the Installation Verification control  file
         for FORTRAN sites.
      o  VAX-INSTALL.CTL is a control file used to install DIL onto  a
         VAX from your 20.
      o  XPORT.VAX-OLB is  the  standard  distributed  XPORT  library,
         which you should install only if you don't already have it.




4.1.1.4  Fourth Saveset -- UETP Files -

The following files are provided for installation certification:

      o  C36T1.CBL -- COBOL DIX test
      o  CD36T1.CBL -- COBOL DAP test
DIL.DOC -- V1(73) 19-May-83                                     Page 4
INSTALLATION INSTRUCTIONS


      o  CT36T1.CBL -- COBOL TTT test
      o  F6T1.FOR -- FORTRAN V6 DIX test
      o  F7T1.FOR -- FORTRAN V7 DIX test
      o  FD6T1.FOR -- FORTRAN V6 DAP test
      o  FD7T1.FOR -- FORTRAN V7 DAP test
      o  FT6T1.FOR -- FORTRAN V6 TTT test
      o  FT7T1.FOR -- FORTRAN V7 TTT test
      o  ICSCBL.CTL -- COBOL-site verification control file
      o  ICSF6.CTL -- FORTRAN V6 verification control file
      o  ICSF7.CTL -- FORTRAN V7 verification control file




4.1.2  Installation -

The first step in installation should be to restore the files from the
documentation  save-set  to  disk,  and  read  DIL.DOC (this file) and
DIL.BWR.

This can be done by setting  MTA0:   unavailable  to  MOUNTR  (if  you
normally use labelled tapes), mounting the distribution tape on MTA0:,
defining DOC:  as the directory into which you  want  to  restore  the
documentation files, and typing the following commands:

     DUMPER
     TAPE MTA0:
     REWIND
     DENSITY 1600
     RESTORE DSK*:<*>*.* DOC:*.*.-1
     EXIT
     PRINT DOC:DIL.DOC, DOC:DIL.BWR


After reading DIL.DOC and DIL.BWR, proceed with  the  installation  by
moving  the  help  file  to the help directory, and then restoring the
appropriate files from the tape to SYS:, as follows:

     COPY DOC:DIL.HLP HLP:
     DUMPER
     TAPE MTA0:
     REWIND
     DENSITY 1600
     SKIP 1
     RESTORE DSK*:<*>DIL.LIB SYS:*.*.-1, -
       DSK*:<*>DIL.REL SYS:*.*.-1, -
       DSK*:<*>DILV6.FOR SYS:*.*.-1, -
       DSK*:<*>DILV7.FOR SYS:*.*.-1, -
       DSK*:<*>DITV6.FOR SYS:*.*.-1, -
       DSK*:<*>DITV7.FOR SYS:*.*.-1, -
       DSK*:<*>DIXV6.FOR SYS:*.*.-1, -
       DSK*:<*>DIXV7.FOR SYS:*.*.-1
     EXIT
DIL.DOC -- V1(73) 19-May-83                                     Page 5
INSTALLATION INSTRUCTIONS


There are two special files that may or may  not  be  needed  on  your
system.   Please  refer  to  the  discussion  above in section "Second
Saveset -- SUBSYS Files", and the discussion below in section "Special
Considerations  (TOPS-20)".  To restore both of them to SYS:, type the
following commands:

     DUMPER
     TAPE MTA0:
     REWIND
     DENSITY 1600
     SKIP 1
     RESTORE DSK*:<*>B362LB.REL SYS:*.*.-1, -
       DSK*:<*>XPORT.REL SYS:*.*.-1
     EXIT


To be able to run the installation certification system, you must also
restore  some files for that.  Mount the tape on MTA0:, define DILTST:
to point to the directory you want to put the ICS files in (we suggest
PS:<DIL-TEST>;  see 5.0, "Installation Verification", below), and type
the following commands:

     DUMPER
     TAPE MTA0:
     REWIND
     SKIP 3
     RESTORE DSK*:<*>C36T1.CBL DILTST:*.*.-1, -
       DSK*:<*>CD36T1.CBL DILTST:*.*.-1, -
       DSK*:<*>CT36T1.CBL DILTST:*.*.-1, -
       DSK*:<*>F6T1.FOR DILTST:*.*.-1, -
       DSK*:<*>F7T1.FOR DILTST:*.*.-1, -
       DSK*:<*>FD6T1.FOR DILTST:*.*.-1, -
       DSK*:<*>FD7T1.FOR DILTST:*.*.-1, -
       DSK*:<*>FT6T1.FOR DILTST:*.*.-1, -
       DSK*:<*>FT7T1.FOR DILTST:*.*.-1, -
       DSK*:<*>ICSCBL.CTL DILTST:*.*.-1, -
       DSK*:<*>ICSF6.CTL DILTST:*.*.-1, -
       DSK*:<*>ICSF7.CTL DILTST:*.*.-1
     EXIT


To be able to apply autopatch to the DIL, you must  also  install  the
files  listed  above  from  the sources saveset into the DIL autopatch
library directory, referred to below by logical name DILAP:.  This may
be  done  by  mounting the distribution tape on MTA0:, defining DILAP:
to point to the directory you wish to  restore  the  files  into,  and
typing the following commands:

     DUMPER
     TAPE MTA0:
     REWIND
     SKIP 2
     RESTORE DSK*:<*>DAP2V1.REL DILAP:*.*.-1, -
DIL.DOC -- V1(73) 19-May-83                                     Page 6
INSTALLATION INSTRUCTIONS


       DSK*:<*>DIL2V1.REL DILAP:*.*.-1, -
       DSK*:<*>DIT2V1.REL DILAP:*.*.-1, -
       DSK*:<*>DIX2V1.REL DILAP:*.*.-1, -
       DSK*:<*>XPN2V1.REL DILAP:*.*.-1
     EXIT



4.1.3  Special Considerations (TOPS-20) -

The XPORT shipped on the tape has a memory management change  to  make
it  share  the  address  space  peacefully with LIBOL or FOROTS.  This
change is necessary for any DAP routines to work on TOPS-20.

The B362LB shipped (BLISS run-time library)  is  the  current  vanilla
field-image version;  if you have BLISS V3 installed, there is no need
to install the B362LB shipped with the DIL.
DIL.DOC -- V1(73) 19-May-83                                     Page 7
INSTALLATION INSTRUCTIONS


4.2  Vax Installation



                              Warning!!!

               You may not install this software  on  a
               VAX/VMS system unless you have purchased
               the "right to copy to VAX"  license  for
               DIL.   Consult  your  salesman  for more
               information.



Version 1 of the DIL can be installed on  a  VAX/VMS  system  only  by
copying over a DECNET connection from a TOPS-20 system.

Installation of the DIL on a VAX consumes about 1200  blocks  of  disk
space  on  the  VAX.  Only 400 of those blocks are permanent, the rest
are used in performing the installation verification test.

The  first  step  is  to  restore  the  necessary  files   onto   your
DECSYSTEM-20.  To do this, mount the tape on MTA0:, define DILVAX:  as
the directory you want to put the files in,  and  type  the  following
commands:

     DUMPER
     TAPE MTA0:
     REWIND
     DENSITY 1600
     SKIP 2
     RESTORE 
       DSK*:<*>C32T1.VAX-COB DILVAX:*.*.-1, -
       DSK*:<*>CD32T1.VAX-COB DILVAX:*.*.-1, -
       DSK*:<*>CT32T1.VAX-COB DILVAX:*.*.-1, -
       DSK*:<*>DIL.VAX-EXE DILVAX:*.*.-1, -
       DSK*:<*>DIL.VAX-OLB DILVAX:*.*.-1, -
       DSK*:<*>DIL.VAX-OPT DILVAX:*.*.-1, -
       DSK*:<*>DIL.VAX-TLB DILVAX:*.*.-1, -
       DSK*:<*>DILTFR.VAX-OBJ DILVAX:*.*.-1, -
       DSK*:<*>DITMSG.VAX-EXE DILVAX:*.*.-1, -
       DSK*:<*>DIXMSG.VAX-EXE DILVAX:*.*.-1, -
       DSK*:<*>F32T1.VAX-FOR DILVAX:*.*.-1, -
       DSK*:<*>FD32T1.VAX-FOR DILVAX:*.*.-1, -
       DSK*:<*>FT32T1.VAX-FOR DILVAX:*.*.-1, -
       DSK*:<*>ICSCOB.VAX-COM DILVAX:*.*.-1, -
       DSK*:<*>ICSFOR.VAX-COM DILVAX:*.*.-1, -
       DSK*:<*>VAX-INSTALL.CTL DILVAX:*.*.-1, -
       DSK*:<*>XPORT.VAX-OLB DILVAX:*.*.-1
     EXIT
DIL.DOC -- V1(73) 19-May-83                                     Page 8
INSTALLATION INSTRUCTIONS


Now modify VAX-INSTALL.CTL to move the stuff to your VAX  (instead  of
to the arbitrary VAX in the example).  You must substitute the correct
node name for VAXNOD, the correct system password for SYSPAS, and  the
correct  account  string  for  SYSACT.  Instructions for this are also
given in comments in the file itself.


                                 NOTE

               If        you        already        have
               SYS$LIBRARY:XPORT.OLB on your VAX system
               (you would be likely to have it only  if
               you  have  the  BLISS  language  on your
               system), you should not install the copy
               sent  with  DIL.  Simply delete the line
               which copies it from VAX-INSTALL.CTL



Now submit the modified control file.  You should be connected to  the
directory where you put the *.vax-* files.  Type the command
     SUBMIT VAX-INSTALL
After it runs, those files are not necessary on the 20 any more.

The length of time it takes VAX-INSTALL to run depends on the speed of
the  link  between  the systems, and the load on both systems (and any
intermediate systems).  Thus, it is hard to predict how long  it  will
take  to  finish.   In one test case, using loaded timesharing systems
and a loaded 9600 baud link, it took 15 minutes.

Both the modified control file and  the  log  file  it  produces  will
contain  the  password  of  a privileged user on your VAX.  Be sure to
delete the files (preferably) or protect them adequately when you  are
done with the installation.

When the files are copied to the vax, you  may  wish  to  install  the
sharable  image version of DIL on your vax.  The VAX SYSTEM MANAGEMENT
AND OPERATIONS GUIDE discusses the possible benefits  of  doing  this.
If  you  elect  to  do  this,  it  should  be installed as shared, not
writable, not privileged.  The other options  must  be  determined  by
each site on the basis of expected usage level.

For example, you might want to put the following command into the list
of INSTALL commands in the system startup command file:
     SYS$SHARE:DIL/SHARE /OPEN /HEADER_RESIDENT
This will install the DIL as a sharable image that is always open  and
whose  header  is resident.  This would be appropriate if the DIL were
expected to receive heavy use at the site.

Here is the template VAX-INSTALL:

! This control file is a TEMPLATE for the control file necessary to
! copy the VAX files over to a vax and install them.  Various changes
DIL.DOC -- V1(73) 19-May-83                                     Page 9
INSTALLATION INSTRUCTIONS


! are necessary in order to make this procedure run at any specific
! installation.  Also, it must be possible to establish a network
! connection between the DECSYSTEM-20 on which this is run and the VAX on which
! the installation is to be performed.
!
! This batch job must be run connected to the directory into which you
! restored the files from the saveset Source Files on the DIL
! distribution tape.
!
! The substitutions required are:
!   VAXNOD      The node name of the VAX to install on
!   SYSPAS      The password to SYSTEM on that VAX
!   SYSACT      A valid account to charge to;  [%O'17']
!
! NOTE: After running the modified version of this control file, be
! sure to delete it!!!! Otherwise, the password to a privileged
! account on your vax will be sitting around in a text file where
! people might see it.  If security is of any concern to you, BE
! CAREFUL!!! 
!
! The user SYSTEM on your VAX must have the usual system manager
! privileges. 
!
! In addition to the file transfers performed by this file, certain
! changes may need to be made in the startup procedure.  See the
! installation instructions in the manual for more information.
!
! Facility: DIL
! 
! Edit History:
! 
! new_version (1, 0)
! 
! Edit (13, '4-Oct-82', 'David Dyer-Bennet')
! %(  Add release tape build to the library.  Add VAX-INSTALL procedure. 
!     Files: RELEASE-TAPE.CTL (new), SOURCE-TAPE.CTL (new),
!     VAX-INSTALL.CTL (NEW) )%
!
! Edit (%O'17', '18-Oct-82', 'David Dyer-Bennet')
! %(  Add VAX message files to release tape and installation, too.
!     Files: VAX-INSTALL.CTL, RELEASE-TAPE.CTL
! )%
! Edit (%O'45', '19-Jan-83', 'David Dyer-Bennet')
! %(  Add Installation Certification procedure everywhere.
!     Teach COMPDL to run off the doc file when dil is compiled.
! )%
! Edit (%O'57', '21-Jan-83', 'David Dyer-Bennet')
! %(  Make sure SOURCES saveset on update tape isn't null (or it goes away).
!     Include VAX-INSTALL.CTL in the BUILD saveset on the update tape.
!     Send out XPORT.VAX-OLB on the tape, with appropriate installation
!     instructions.
! )%
! Edit (%O'71', '1-Feb-83', 'David Dyer-Bennet')
DIL.DOC -- V1(73) 19-May-83                                    Page 10
INSTALLATION INSTRUCTIONS


! %(  Final cleanup for release 1.
!     VAX-INSTALL.CTL: document copying XPORT.VAX-OLB as optional.
! )%
! **EDIT**
!
@NFT
*SET DEFAULT VAXNOD:: /USER:SYSTEM /PASSWORD:SYSPAS /ACCOUNT:SYSACT     ![%O'17']
*COPY DIL.VAX-OLB/FIXED/IMAGE VAXNOD::SYS$LIBRARY:DIL.OLB/FIXED/IMAGE
*COPY DIL.VAX-EXE/FIXED/IMAGE VAXNOD::SYS$SHARE:DIL.EXE/FIXED/IMAGE
*COPY DIL.VAX-TLB/FIXED/IMAGE VAXNOD::SYS$LIBRARY:DIL.TLB/FIXED/IMAGE
*COPY DILTFR.VAX-OBJ/VARIABLE/IMAGE VAXNOD::SYS$LIBRARY:DILTFR.OBJ/VARIABLE/IMAGE
*COPY DIL.VAX-OPT VAXNOD::SYS$LIBRARY:DIL.OPT
*COPY DIXMSG.VAX-EXE/FIXED/IMAGE VAXNOD::SYS$MESSAGE:DIXMSG.EXE/FIXED/IMAGE     ![%O'17']
*COPY DITMSG.VAX-EXE/FIXED/IMAGE VAXNOD::SYS$MESSAGE:DITMSG.EXE/FIXED/IMAGE     ![%O'17']
! [%O'71'] Delete the following line if you don't need XPORT.OLB copied to
! [%O'71'] your vax (see DIL.DOC for more details).
*COPY XPORT.VAX-OLB/FIXED/IMAGE VAXNOD::SYS$LIBRARY:XPORT.OLB/FIXED/IMAGE       ! [%O'57'] 

! [%O'45'] Also copy over ICP stuff (start insertion)
*COPY ICSCOB.VAX-COM VAXNOD::ICSCOB.COM
*COPY C32T1.VAX-COB VAXNOD::C32T1.COB
*COPY CD32T1.VAX-COB VAXNOD::CD32T1.COB
*COPY CT32T1.VAX-COB VAXNOD::CT32T1.COB
*COPY F32T1.VAX-FOR VAXNOD::F32T1.FOR
*COPY ICSFOR.VAX-COM VAXNOD::ICSFOR.COM
*COPY FD32T1.VAX-FOR VAXNOD::FD32T1.FOR
*COPY FT32T1.VAX-FOR VAXNOD::FT32T1.FOR
! [%O'45'] End insertion
*EXIT
@



4.2.1  Special Considerations (VAX/VMS) -

The XPORT.OLB shipped on the tape is the ordinary version.  You should
install it only if you don't already have it on SYS$LIBRARY:.
DIL.DOC -- V1(73) 19-May-83                                    Page 11
INSTALLATION INSTRUCTIONS


4.3  DECsystem-10 Installation

4.3.1  File Contents -



4.3.1.1  Documentation -

DIL.BWR contains last-minute changes and required patches.

DIL.DOC is this file.

DIL.HLP is the help file.



4.3.1.2  Libraries And Interface Support Files -

DIL.REL is the library to search when linking programs with the DIL.

B361LB.REL is a necessary run-time support library.  You  should  only
install  this  if  you  do  not  have  the current release of BLISS-36
installed on your system.

DIL.LIB is a COBOL copy library  containing  statements  which  define
names  for  various special codes used to select options and the like.
Elements in DIL.LIB may be COPY'd into user programs as  described  in
the  DIL manual.  DIL.LIB is not needed if your site will not be using
the DIL from COBOL programs.

DILV6.FOR, DILV7.FOR,  DIXV6.FOR,  DIXV7.FOR:   These  files  are  the
FORTRAN  equivalent  of  the  COBOL  copy library members contained in
DIL.LIB, above.  They may be INCLUDE'd into user  programs  to  define
names  for  DIL  codes.  The files with names ending in V6 are for use
with TOPS-20 FORTRAN Version 6.  The files with names ending in V7 are
for  use  with  TOPS-20 FORTRAN Version 7.  Details on when and how to
include them, and  how  to  use  the  codes,  are  given  in  the  DIL
documentation.   None  of  the  files  are necessary unless explicitly
referenced  from  user  programs  (or  the  installation  verification
procedure).



4.3.1.3  Autopatch Files -

These files are necessary to rebuild DIL with patches.  In particular,
this  saveset includes the files necessary to apply autopatch tapes to
the DIL.  These files should  be  installed  into  the  DIL  autopatch
directory.

     DIL2V1.REL
     DIX2V1.REL
DIL.DOC -- V1(73) 19-May-83                                    Page 12
INSTALLATION INSTRUCTIONS


This save-set also contains the files necessary to install the DIL  on
a VAX/VMS system (see below).  The files are

      o  C32T1.VAX-COB is the COBOL DIX test program.
      o  CD32T1.VAX-COB is the COBOL DAP test program.
      o  CT32T1.VAX-COB is the COBOL TTT test program.
      o  DIL.VAX-EXE is the sharable DIL library for VAX.
      o  DIL.VAX-OLB is the searchable DIL library for VAX.
      o  DIL.VAX-OPT is the VAX linking options file.
      o  DIL.VAX-TLB is the text library of interface support material
         for VAX.
      o  DILTFR.VAX-OBJ is vestigial and should be ignored.
      o  DITMSG.VAX-EXE is the DIL network  error  messages  file  for
         VAX.
      o  DIXMSG.VAX-EXE is DIL data conversion error messages file for
         VAX.
      o  F32T1.VAX-FOR is the FORTRAN DIX test program.
      o  FD32T1.VAX-FOR is the FORTRAN DAP test program.
      o  FT32T1.VAX-FOR is the FORTRAN TTT test program.
      o  ICSCOB.VAX-COM is the Installation Verification control  file
         for COBOL sites.
      o  ICSFOR.VAX-COM is the Installation Verification control  file
         for FORTRAN sites.
      o  VAX-INSTALL.CTL is a control file used to install DIL onto  a
         VAX from your 20.
      o  XPORT.VAX-OLB is  the  standard  distributed  XPORT  library,
         which you should install only if you don't already have it.




4.3.1.4  Installation Verification -

The following files are provided for installation certification:

      o  C36T1.CBL -- COBOL DIX test
      o  F6T1.FOR -- FORTRAN V6 DIX test
      o  F7T1.FOR -- FORTRAN V7 DIX test
      o  ICSCBL.CTL -- COBOL-site verification control file
      o  ICSF6.CTL -- FORTRAN V6 verification control file
      o  ICSF7.CTL -- FORTRAN V7 verification control file




4.3.2  Installation -

To install DIL version 1 on your system, copy the file DIL.REL to SYS:
and  the  files DIL.LIB, DILV6.FOR, DILV7.FOR, DIXV6.FOR, DIXV7.FOR to
SYS:  from the distribution tape.  If you will not be  using  the  DIL
from  COBOL, DIL.LIB may be omitted.  If you will not be using the DIL
from FORTRAN, the *.FOR files may be omitted.
DIL.DOC -- V1(73) 19-May-83                                    Page 13
INSTALLATION INSTRUCTIONS


If you do not have the current version of BLISS-36 installed  on  your
system, copy the file B361LB.REL to SYS:.

The autopatch library files for the DIL are DIL2V1.REL and  DIX2V1.REL
.   These  should  be  restored  from  the  distribution  tape  to the
autopatch library directory you establish for DIL.

The  Installation  Verification  System  is  contained  in  the  files
ICSCBL.CTL  ,  ICSF6.CTL  , ICSF7.CTL, C36T1.CBL, F6T1.FOR, F7T1.FOR .
These should be restored to some directory if you intend  to  run  the
installation  verification system.  It is recommended that you run the
installation verification system.
DIL.DOC -- V1(73) 19-May-83                                    Page 14
INSTALLATION VERIFICATION SYSTEM


5.0  INSTALLATION VERIFICATION SYSTEM

The Installation Verification System is a set of batch control  files.
Each  of  these batch control files contains commands to compile, link
and run the programs which have been provided with the DIL to  perform
Installation Verification.  There are batch control files for TOPS-10,
TOPS-20 and VAX/VMS systems.  For each of the supported  languages  on
each  of  these  systems  there is one installation verification batch
control file.

A list of the the batch control files for  each  language  and  system
combination follows:

TOPS-20 files:             Language:

        ICSCBL.CTL         COBOL-74
        ICSF6.CTL          FORTRAN V6
        ICSF7.CTL          FORTRAN V7

TOPS-10 files:             Language:

        ICSCBL.CTL         COBOL-74
        ICSF6.CTL          FORTRAN V6
        ICSF7.CTL          FORTRAN V7

VAX/VMS files:             Language:

        ICSCOB.COM         COBOL
        ICSFOR.COM         FORTRAN

The programs which are  supplied  for  installation  verification  run
minimal tests on each set of the DIL routines provided for each of the
supported language/system combination.  The sets  of  routines  tested
are:   (1) Data Conversion (2) Remote File Access and (3) Task-to-Task
routines.   NOTE:   On  TOPS-10  systems,  only  the  Data  Conversion
Routines are supported.

A list of the programs for each system and the set  of  routines  they
test (and the control file which runs them) is below:

Program name:     Set of routines tested:     System:   Control file:

C36T1.CBL         DIX -- Data conversion      TOPS-20,  ICSCBL.CTL
                                              TOPS-10   ICSCBL.CTL
CD36T1.CBL        DIT -- Remote file access   TOPS-20   ICSCBL.CTL
CT36T1.CBL        DIT -- Task-to-task         TOPS-20   ICSCBL.CTL
C32T1.COB         DIX -- Data conversion      VAX/VMS   ICSCOB.COM
CD32T1.COB        DIT -- Remote file access   VAX/VMS   ICSCOB.COM
CT32T1.COB        DIT -- Task-to-task         VAX/VMS   ICSCOB.COM
F6T1.FOR          DIX -- Data conversion      TOPS-20,  ICSF6.CTL
                                              TOPS-10   ICSF6.CTL
FD6T1.FOR         DIT -- Remote file access   TOPS-20   ICSF6.CTL
FT6T1.FOR         DIT -- Task-to-task         TOPS-20   ICSF6.CTL
DIL.DOC -- V1(73) 19-May-83                                    Page 15
INSTALLATION VERIFICATION SYSTEM


F7T1.FOR          DIX -- Data conversion      TOPS-20   ICSF7.CTL
                                              TOPS-10   ICSF7.CTL
FD7T1.FOR         DIT -- Remote file access   TOPS-20   ICSF7.CTL
FT7T1.FOR         DIT -- Task-to-task         TOPS-20   ICSF7.CTL
F32T1.FOR         DIX -- Data conversion      VAX/VMS   ICSFOR.COM
FD32T1.FOR        DIT -- Remote file access   VAX/VMS   ICSFOR.COM
FT32T1.FOR        DIT -- Task-to-task         VAX/VMS   ICSFOR.COM

All of the test programs use the DIL Interface Support files.

The DIT test programs (TOPS-20 and VMS systems)  use  only  the  local
network node.

The DIL must be installed in accordance with the instructions provided
with  the  DIL.  If it is not, the Installation Verification system is
irrelevant.
DIL.DOC -- V1(73) 19-May-83                                    Page 16
INSTALLATION VERIFICATION SYSTEM


5.1  TOPS-20 Installation Verification

On TOPS-20, the Installation Verification  System  consists  of  three
batch  control files;  one for COBOL-74, one for FORTRAN Version 6 and
one for FORTRAN Version 7.  To run the test system, you simply run the
batch  control  files using the SUBMIT command, wait for the batch job
to finish, and then examine the resulting batch log file.  Before  you
run  any of the TOPS-20 batch streams you should read this section and
the section above to insure that the test streams run properly.

For all of the TOPS-20 Installation Verification System batch streams,
you  will  need  a VALID login directory called PS:<DIL-TEST> with the
password DIL-TEST.  If this directory is not set up properly, some  of
the  test  programs  will fail.  If your system is set up with account
validation  enabled,  then  you  must  ensure   that   the   directory
PS:<DIL-TEST>   has  a  valid  account  default  for  login  set,  and
PS:<SYSTEM>ACCOUNTS-TABLE.BIN reflects that  this  account  is  indeed
valid  specifically for the directory PS:<DIL-TEST>.  (You may specify
any  valid  account  default  for  login  that  you  wish.)  For  more
information  on  account  validation,  see the TOPS-20 System Managers
Guide.

The  directory  PS:<DIL-TEST>  does  not   require   any   privileges.
Permanent and working disk quotas of 250 or more blocks are required.

If you do not want to use the directory PS:<DIL-TEST> you will have to
edit  the files listed below to change the directory name and password
to one of your choice:

        CD36T1.CBL FD6T1.FOR FD7T1.FOR ICSCBL.CTL ICSF6.CTL ICSF7.CTL

The programs that test DIT routines will exercise the FALs.  If  there
is  not  a FAL free for the program to use, it will die with the error
DIT-NETOPRFAIL (return code values 61210656 through 61210660).
DIL.DOC -- V1(73) 19-May-83                                    Page 17
INSTALLATION VERIFICATION SYSTEM


Here is an example of running one  of  the  Installation  Verification
Test  streams  for TOPS-20.  The same procedure is used for ALL of the
Installation Verification tests on TOPS-20.

@; Begin sample run of TOPS-20 COBOL Installation Verification.
@
@; Make sure  the Installation  Verification  programs for  this  test
@; stream are all in the directory that will be connected to when  the
@; batch stream runs.
@
@dir icscbl.ctl, *.cbl

   PS:<SCLEMENS>
 ICSCBL.CTL.4
 C36T1.CBL.1
 CD36T1.CBL.1
 CT36T1.CBL.1

 Total of 4 files
@

@; All the files needed are here.   Type the control file for  TOPS-20
@; COBOL-74.
@
@ty icscbl.ctl
! Compile and run DIL Installation Tests for DECSYSTEM-20 Cobol
!
! Facility: DIL-TEST
! 
! Edit History:
! 
! new_version (1, 0)
! ...edit history stuff...
!
! This  control  file   compiles  and  runs   the  DIL   Installation
! Verification Tests for DECSYSTEM-20 Cobol.  It is necessary for  the
! program CD36T1.CBL to have the following directory:
!
!                  directory name: PS:<DIL-TEST>
!                        password: DIL-TEST
! 
! If this  directory does  not exist  you must  EITHER 1)  create  the
! directory as a  VALID login directory,  or 2) edit  the program  and
! this file so that the login directory that is used is a valid  login
! directory of your choice.
!
! The programs  included  in this  test  stream use  only  the  local
! network node, but  WILL require  the use of  the FAL  on the  local
! node.  Programs will fail with  the error DIT-NETOPRFAIL if  there
! is not a FAL available.
!
! 
! NOTE:  This batch stream  is intended  for COBOL-74  which has  not
DIL.DOC -- V1(73) 19-May-83                                    Page 18
INSTALLATION VERIFICATION SYSTEM


!         been built with DBMS.  If your version of COBOL-74 has  DBMS
!         built in, you will  have to compile  your programs with  the
!         language switch "/r"
@
! compile all the Cobol DECSYSTEM-20 installation verification tests
@
@compile C36T1.CBL/74
@compile CD36T1.CBL/74/LANGUAGE-SWITCHES:"/d:2000"
@compile CT36T1.CBL/74
@
@
! Note:  This batch stream  is intended  for COBOL-74  which has  not
!         been built with DBMS.  If your version of COBOL-74 has  DBMS
!         built in, you will have to link your programs with SYS:RMS
@
! link and all the Cobol DEC20 installation verification tests
@
@link
*C36T1,SYS:DIL/SE/G
@save
@
@link
*CT36T1,SYS:DIL/SE/G
@save
@
@link
*CD36T1,SYS:DIL/SE,SYS:XPORT/SE/EXCLUDE:XFUNCT/G
@save
@
! run all the Cobol DEC20 installation verification tests
@run C36T1
@
@run CT36T1
*This is data for CT36T1 for the first send
*This is data for CT36T1 for the second send
@run CD36T1
*4
*0
*DIL-TEST
*This is data for CD36T1 for writing to the remote file PS:<DIL-TEST>DAP.TST.
@
@; END OF THE CONTROL FILE.
@; This looks ok.  Submit the control file and run the test.
@
@submit icscbl.ctl/output:nolog/notify:y
[Batch job ICSCBL queued, request #16, limit 0:05:00]
@
@
@; Wait for the batch job to finish.
@
@information batch/user:SCLEMENS
[The queues are empty]
@
DIL.DOC -- V1(73) 19-May-83                                    Page 19
INSTALLATION VERIFICATION SYSTEM


@; The batch job is done.  See what happened...
@
@ty icscbl.log
     .
     .
     .
 9:25:27 MONTR   $@; run all the Cobol DEC20 installation verification tests
 9:25:28 MONTR   $@run C36T1
 9:25:31 USER    Doing conversions... 
 9:25:31 USER    Tests through 9 completed successfully.
 9:25:31 USER   DSTDAT(1) value is: 4972569153
 9:25:31 USER   DSTDAT(2) value is: -268266717
 9:25:31 USER   DSTDAT(3) value is: 5528092671
 9:25:31 USER   DSTDAT(4) value is: 7179934116
 9:25:31 USER   DSTDAT(5) value is: 0
 9:25:31 USER    Tests through 14 completed successfully. 
 9:25:32 USER    Tests through 16 completed successfully. 
 9:25:32 USER    
 9:25:32 USER    C36T1 successfully completed.
 9:25:32 USER   
 9:25:32 USER   EXIT
 9:25:32 MONTR   $@
 9:25:32 MONTR   $@run CT36T1
 9:25:33 USER    NFOPP Status return: 1
 9:25:33 USER    NFOPA Status return: 1
 9:25:34 USER    NFGND Status return: 61211435
 9:25:34 USER    NFACC Status return: 1
 9:25:34 USER    Enter some data to be sent over the link: 
 9:25:34 USER   *This is data for CT36T1 for the first send
 9:25:34 USER    NFSND Status return: 1
 9:25:34 USER    NFRCV Status return: 1
 9:25:34 USER    Data received: 
 9:25:34 USER   This is data for CT36T1 for the first send
 9:25:34 USER    Enter some data to be sent back over the link: 
 9:25:35 USER   *This is data for CT36T1 for the second send
 9:25:35 USER    NFSND Status return: 1
 9:25:35 USER    NFRCV Status return: 1
 9:25:35 USER    Data received: 
 9:25:35 USER   This is data for CT36T1 for the second send
 9:25:35 USER    NFCLS Status return: 1
 9:25:35 USER    NFGND Status return: 61211467
 9:25:35 USER    
 9:25:35 USER    CT36T1 test successful. 
 9:25:35 USER   
 9:25:35 USER   EXIT
 9:25:36 MONTR   $@run CD36T1
 9:25:37 USER    Enter the value for the record format (RFM):
 9:25:37 USER    0 = undefined,
 9:25:37 USER    1 = fixed,
 9:25:37 USER    2 = variable, 
 9:25:37 USER    3 = VFC, 
 9:25:37 USER    4 = stream
 9:25:38 USER   *4
DIL.DOC -- V1(73) 19-May-83                                    Page 20
INSTALLATION VERIFICATION SYSTEM


 9:25:38 USER    Enter a value for the record attributes (RAT):
 9:25:38 USER    0 = unspecified,
 9:25:38 USER    1 = implied <LF><CR> envelope,
 9:25:38 USER    2 = print file format,
 9:25:38 USER    3 = Fortran carriage control,
 9:25:38 USER    4 = MACY11 format
 9:25:38 USER   *0
 9:25:38 USER    Enter the password: *DIL-TEST
 9:25:40 USER    ROPEN Status return: 1
 9:25:40 USER    Enter data for the record for the remote file: 
 9:25:40 USER   *This is data for CD36T1 for writing to the remote file PS:<DIL-TEST>DAP.TST.
 9:25:41 USER    RWRITE Status return: 1
 9:25:41 USER    RCLOSE Status return: 1
 9:25:42 USER    ROPEN Status return: 1
 9:25:43 USER    RREAD returned 1
 9:25:43 USER    The record was: 
 9:25:43 USER   This is data for CD36T1 for writing to the remote file PS:<DIL-TEST>DAP.TST.
 9:25:43 USER    RCLOSE Status return: 1
 9:25:43 USER    
 9:25:43 USER    CD36T1 test successful. 
     .
     .
     .
@; If a test program finishes without error, it will give a message
@; saying that it has completed successfully.  You will notice above
@; that each program finished with the success message.  If there is
@; an error when you run the programs, there will be a message such as
@; "Invalid status returned from NFOPP".  If you get an error, make
@; sure that you have set up the proper directory for these tests.
@; Verify that your network is up and that there are enough FALs
@; running.  If you get an error at link or compile time, make sure
@; that the DIL is installed as directed.  If you get the following
@; error at run time you may have to compile your program with the /r
@; language switch and link with RMS explicitly:
@
@;              ? ?Can't GET RMS: Program too big
@;              ?LBL500 RMS-SYSTEM failure
@
@; The above will usually happen if your version of COBOL has been
@; rebuilt with DBMS included and therefore there is no room in memory
@; (at run time) for RMS.  See the TOPS-20 COBOL-74 manual for more
@; information on the /r language switch.
DIL.DOC -- V1(73) 19-May-83                                    Page 21
INSTALLATION VERIFICATION SYSTEM


5.2  TOPS-10 Installation Verification

On TOPS-10, the Installation Verification  System  consists  of  three
batch  control files;  one for COBOL-74, one for FORTRAN Version 6 and
one for FORTRAN Version 7.  To run the test system, you simply run the
batch  control  files using the SUBMIT command, wait for the batch job
to finish, and then examine the resulting batch log file.  Before  you
run  any  of the TOPS-10 batch streams you should read this section to
insure that the test streams run properly.
DIL.DOC -- V1(73) 19-May-83                                    Page 22
INSTALLATION VERIFICATION SYSTEM


Below is a sample run of one of  the  Installation  Verification  Test
streams  for  TOPS-10.   The  same  procedure  is  used for ALL of the
Installation Verification tests on TOPS-10.

.; Begin sample run of TOPS-10 COBOL Installation Verification.
.
.; Make sure that the Installation Verification test program and batch
.; control file are in this directory.
.
.dir icscbl.ctl, c36t1.cbl


ICSCBL  CTL     1  <007>   12-Jan-83    DSKC:   [10,5735]
C36T1   CBL    14  <007>    7-Jan-83
  Total of 15 blocks in 2 files

.
.; See what is in the control file for TOPS-10 COBOL-74.
.
.ty icscbl.ctl
.
! Compile and run DIL Installation Tests for DECsystem-10 Cobol
!
! Facility: DIL-TEST
! 
! Edit History:
! 
! new_version (1, 0)
! ...edit history stuff...
!
! compile the COBOL DECsystem-10 installation verification test
.r cbl74
*=C36T1.CBL
*^Z
.
! link the COBOL DECsystem-10 installation verification test
.r link
*/local/symseg:low C36T1
*/segment:low SYS:DIL/se,SYS:B361LB.REL/se
*/g
.save C36T1
.
! run the COBOL DECsystem-10 installation verification test
.run C36T1
.
.
.; END OF THE BATCH CONTROL FILE
.; This looks ok.  Run it and see what happens.
.
.; Submit the TOPS-10 COBOL Installation Verification batch stream
.
.submit icscbl.ctl/notify:y/output:nolog
[Batch job ICSCBL queued, request #714, limit 0:05:00]
DIL.DOC -- V1(73) 19-May-83                                    Page 23
INSTALLATION VERIFICATION SYSTEM



.
[From SYSTEM: Job ICSCBL request #714 finished executing at 15:22:24]

.; Lets see what happened.
.
.ty icscbl.log
     .
     .
     .
15:22:16 COMENT ! run the COBOL DECsystem-10 installation verification test
15:22:16 BATCH  .run C36T1
15:22:17 USER   
15:22:18 USER    Doing conversions... 
15:22:18 USER    Tests through 9 completed successfully.
15:22:18 USER   DSTDAT(1) value is: 4972569153
15:22:18 USER   DSTDAT(2) value is: -268266717
15:22:18 USER   DSTDAT(3) value is: 5528092671
15:22:18 USER   DSTDAT(4) value is: 7179934116
15:22:18 USER   DSTDAT(5) value is: 0
15:22:18 USER    Tests through 14 completed successfully. 
15:22:18 USER    Tests through 16 completed successfully. 
15:22:18 USER    
15:22:18 USER    C36T1 successfully completed.
15:22:19 MONITR 
15:22:19 MONITR EXIT
15:22:19 MONITR 
15:22:19 MONITR .
15:22:19 MONITR .
15:22:19 BATCH  .KJOB/BATCH
     .
     .
     .
.
.; If each test program finishes without error, it will give a message
.; saying that it has completed successfully.  You will notice above
.; that each program finished with the success message.  If these is
.; an error, there will be a message such as "Invalid status returned
.; from XDESCR".  If you get an error at compile or link time, make
.; sure that the DIL has been installed properly.
DIL.DOC -- V1(73) 19-May-83                                    Page 24
INSTALLATION VERIFICATION SYSTEM


5.3  VAX/VMS Installation Verification

On VMS systems, the Installation Verification System consists  of  two
batch  control  files;  one for COBOL and one for FORTRAN.  To run the
test system, log in as user SYSTEM and SUBMIT one of the batch control
files,  wait  for  the  batch  job  to  finish,  and  then examine the
resulting batch log file.  If you have both COBOL and FORTRAN on  your
system,  you  should  run both the COBOL and the FORTRAN batch control
files, but do not try to run them at the same time.


                                 NOTE

               Before you run any of the VAX/VMS  batch
               streams  you  should  read the following
               paragraphs  to  insure  that  the   test
               streams run properly.



For  both  of  the  VAX/VMS  Installation  Verification  System  batch
streams,  you  will need to have TMPMBX, NETMBX and SYSNAM privileges.
You will also have to have a large  I/O  byte  count  quota,  such  as
thirty  thousand.   The  need  for  these  privileges  and  quotas  is
explained in the manual.

The programs that test DIT routines will exercise the FALs.  If  there
is  not  a FAL free for the program to use, it will die with the error
DIT-NETOPRFAIL (return code values 15302688 through 15302692).
DIL.DOC -- V1(73) 19-May-83                                    Page 25
INSTALLATION VERIFICATION SYSTEM


Below is a sample run of one of  the  Installation  Verification  Test
streams  for a VAX.  The same procedure is used for ALL of the VAX/VMS
Installation Verification tests.

$ Begin sample run of VAX/VMS COBOL Installation Verification.
$
$ ! Make sure that the Installation Verification test program and batch
$ ! control file for VAX COBOL are in this directory.
$
$ dir icscob.com, *.cob

Directory PS$ROOT:[SCLEMENS]

ICSCOB.COM;1        C32T1.COB;1         CD32T1.COB;1        CT32T1.COB;1

Total of 4 files.
$
$
$ ! Everything is here.  Type the VAX COBOL Installation Verification
$ ! control file.
$
$ ty icscob.com
$ ! Compile and run VAX/VMS Cobol DIL Installation Verification tests.
$
$ ! The test program  CD32T1.COB uses the  default logged in  directory
$ ! when it writes the file DAP.TST
$
$ ! first compile all the VAX Cobol installation test files
$
$cobol C32T1
$cobol CT32T1
$cobol CD32T1
$
$ ! link all the VAX Cobol installation test files
$
$link C32T1,SYS$LIBRARY:DIL/LIB,SYS$LIBRARY:XPORT/LIB
$link CT32T1,SYS$LIBRARY:DIL/LIB,SYS$LIBRARY:XPORT/LIB
$link CD32T1,SYS$LIBRARY:DIL/LIB,SYS$LIBRARY:XPORT/LIB
$
$ ! run the VAX Cobol installation tests
$
$ r C32T1
$ r CT32T1
This is data for CT32T1 for the first send
This is data for CT32T1 for the second send
$ r CD32T1
1
1
This is data for CD32T1 for writing to the remote file DAP.TST.
$
$ ! END OF THE BATCH CONTROL FILE
$ ! This looks ok.  Run it and see what happens.
$
DIL.DOC -- V1(73) 19-May-83                                    Page 26
INSTALLATION VERIFICATION SYSTEM


$ submit icscob.com/notify
  Job 16 entered on queue SYS$BATCH
$ 

Batch job 16 ICSCOB completed on 13-JAN-1983 10:34
$ 
$ 
$ ty icscob.log
     .
     .
     .
 Doing conversions... 
 Tests through 9 completed successfully.
 Tests through 14 completed successfully. 
 Tests through 16 completed successfully. 
 
 C36T1 successfully completed.
 NFOPP Status return: 000000001   
 NFOPA Status return: 000000001   
 NFGND status return: 015303467   
 NFACC Status return: 000000001   
 Enter some data to be sent over the link: 
 NFSND Status return: 000000001   
 NFRCV Status return: 000000001   
 Data received: 
This is data for CT32T1 for the first send                                                          
 Enter some data to be sent back over the link: 
 NFSND Status return: 000000001   
 NFRCV Status return: 000000001
 NFCLS Status return: 000000001   
 NFGND Status return: 015303475   
 
 CT32T1 test successful
 Enter the value for the record format (RFM):
 0 = undefined,
 1 = fixed,
 2 = variable, 
 3 = VFC, 
 4 = stream
 Enter a value for the record attributes (RAT):
 0 = unspecified,
 1 = implied <LF><CR> envelope,
 2 = print file format,
 3 = Fortran carriage control,
 4 = MACY11 format
 ROPEN Status return: 000000001   
 Enter data for the record for the remote file: 
 RWRITE Status return: 000000001   
 RCLOSE Status return: 000000001   
 ROPEN Status return: 000000001   
 RREAD returned 000000001   
 The record was: 
This is data for CD32T1 for writing to the remote file DAP.TST.                                      
DIL.DOC -- V1(73) 19-May-83                                    Page 27
INSTALLATION VERIFICATION SYSTEM


 RCLOSE Status return: 000000001   
 
 CD32T1 test successful. 
     .
     .
     .
$ 
$ ! If a test program finishes without error, it  will give a message
$ ! saying that it has completed successfully.  You will notice above
$ ! that each program finished with the success message.  If these is
$ ! an error when you run the programs there will be a message such as
$ ! "Invalid status returned from DIL$NFOPP".  If you get an error,
$ ! make sure that you have set up your directory correctly.  Make
$ ! sure that your network and FALs are up and running.  If you get an
$ ! error at compile or link time, make sure that the DIL is installed
$ ! as directed.
DIL.DOC -- V1(73) 19-May-83                                    Page 28
INTERNAL CHANGES


6.0  INTERNAL CHANGES

This is a new product.



7.0  SUGGESTIONS

None.
DIL.DOC -- V1(73) 19-May-83                                    Page 29
ADDITIONAL SUPPORTED FEATURES


8.0  ADDITIONAL SUPPORTED FEATURES

The following additional Task-to-Task interface routines may be useful
to  you  in  controlling  access  to  server processes on your system.
These routines, NFINF/DIT$NFINF and  NFREJ/DIT$NFREJ,  are  documented
here  and  not in the manual for version 1 of the DIL.  These routines
are a supported part of the product for TOPS-20 and VMS systems.



8.1  NFINF/DIT$NFINF


Get information about the other end of the logical link.

This routine will not be documented in the first version  of  the  DIL
manual, but is available for use.

Parameters:

(integer)  Network  Logical  Name,   set   by   the   NFOPA/DIT$NFOPA,
NFOPB/DIT$NFOPB, NFOP8/DIT$NFOP8, or NFOPP/DIT$NFOPP routine.

(integer) Type of information wanted:


      o  INF-NODE for the remote node name of the cooperating task.

      o  INF-OBJECT for the remote object type.  This  information  is
         only available to the passive task.

      o  INF-DESCF for the remote object DECnet descriptor  format  (0
         if the task requires only an objectid, 1 if the task requires
         only  a   taskname,   or   2   if   the   task   requires   a
         project-programmer   number).    This   information  is  only
         available to the passive task.

      o  INF-DESC for  the  remote  object  DECnet  descriptor.   This
         information is only available to the passive task.

      o  INF-USERID for the remote process user id.  This  information
         is only available to the passive task.

      o  INF-PASSWD for the remote process password.  This information
         is only available to the passive task.

      o  INF-ACCT for the remote process account.  This information is
         only available to the passive task.

      o  INF-OPT for remote process optional  data  or  disconnect  or
         reject optional data.
DIL.DOC -- V1(73) 19-May-83                                    Page 30
ADDITIONAL SUPPORTED FEATURES


      o  INF-SEG to return the maximum segment size for  the  link  in
         bytes.   Not  available for VMS systems, this information can
         be used to  determine  the  optimum  size  of  records  being
         transmitted  over  the  link after the connection request has
         been accepted.

      o  INF-ABTCODE to return the abort or reject code.  You can find
         the  meaning of the abort or reject code in the DECnet manual
         for your system.


(integer) Length of ASCII data returned.

(string) Area in which to place returned ASCII data.  This  area  must
be  at  least  16  characters  long  to  accommodate  optional data, a
taskname, or a DECnet descriptor.  It must be at least  39  characters
long to accommodate a userid, a password, or an account.
DIL.DOC -- V1(73) 19-May-83                                    Page 31
ADDITIONAL SUPPORTED FEATURES


(integer function value) Return code:

+----------------------+------------+----------------+-------------------+
| VMS COBOL or FORTRAN | ANSI VAX or| 20 COBOL       | meaning           |
|                      | 20 FORTRAN |                |                   |
+----------------------+------------+----------------+-------------------+
| DIT$_INVARG          | INVARG     | DIT-C-INVARG   | An argument is of |
|                      |            |                | the wrong type.   |
+----------------------+------------+----------------+-------------------+
| SS$_NORMAL           | NORMAL     | SS-C-NORMAL    | Success.          |
+----------------------+------------+----------------+-------------------+
| DIT$_INFONOTAVAIL    | NOTAVL     | DIT-C-         | The     requested |
|                      |            |   INFONOTAVAIL | information    is |
|                      |            |                | not  available to |
|                      |            |                | this task.        |
+----------------------+------------+----------------+-------------------+
| DIT$_INFOOUTOFRANGE  | INFOUR     | DIT-C-         | The   information |
|                      |            | INFOOUTOFRANGE | requested  is not |
|                      |            |                | in  the range  of |
|                      |            |                | valid types.      |
+----------------------+------------+----------------+-------------------+
| DIT$_HORRIBLE        | SYSERR     | DIT-C-HORRIBLE | An internal error |
|                      |            |                | occurred.         |
+----------------------+------------+----------------+-------------------+
DIL.DOC -- V1(73) 19-May-83                                    Page 32
ADDITIONAL SUPPORTED FEATURES


Names for the type of information wanted from NFINF/DIT$NFINF:

+-------------+-------------------+-------------+------------------------+
| name used   | VMS COBOL or      | ANSI VAX or | 20 COBOL               |
| above       | FORTRAN           | 20 FORTRAN  |                        |
+-------------+-------------------+-------------+------------------------+
| INF-NODE    | DIT$K_INF_NODE    | INODE       | DIT-INF-NODE           |
+-------------+-------------------+-------------+------------------------+
| INF-OBJECT  | DIT$K_INF_OBJECT  | IOBJ        | DIT-INF-OBJECT         |
+-------------+-------------------+-------------+------------------------+
| INF-DESCF   | DIT$K_INF_DESCF   | IDESCF      | DIT-INF-DESCF          |
+-------------+-------------------+-------------+------------------------+
| INF-DESC    | DIT$K_INF_DESC    | IDESC       | DIT-INF-DESC           |
+-------------+-------------------+-------------+------------------------+
| INF-USERID  | DIT$K_INF_USERID  | IUSER       | DIT-INF-USERID         |
+-------------+-------------------+-------------+------------------------+
| INF-PASSWD  | DIT$K_INF_PASSWD  | IPASS       | DIT-INF-PASSWD         |
+-------------+-------------------+-------------+------------------------+
| INF-ACCT    | DIT$K_INF_ACCT    | IACCT       | DIT-INF-ACCT           |
+-------------+-------------------+-------------+------------------------+
| INF-OPT     | DIT$K_INF_OPT     | IOPT        | DIT-INF-OPT            |
+-------------+-------------------+-------------+------------------------+
| INF-SEG     | DIT$K_INF_SEG     | ISEG        | DIT-INF-SEG            |
+-------------+-------------------+-------------+------------------------+
| INF-ABTCODE | DIT$K_INF_ABTCODE | IABTCD      | DIT-INF-ABTCODE        |
+-------------+-------------------+-------------+------------------------+
DIL.DOC -- V1(73) 19-May-83                                    Page 33
ADDITIONAL SUPPORTED FEATURES


8.2  NFREJ/DIT$NFREJ


Reject a logical link connect request received on a passive link.

This routine will not be documented in the first release  of  the  DIL
manual, but is available for use.

Parameters:

(integer) Network Logical Name, set by the NFOPP/DIT$NFOPP routine.

(integer) Reject code.  This parameter is not used on VMS systems.  On
TOPS20  systems,  it is used as the link reject code.  See your DECnet
User's Guide for a list of abort/reject codes.   Normally  you  should
use (decimal) 9, which means programmatic reject or abort, just as you
would for an abort using NFCLS/DIT$NFCLS.

(integer) Count of optional data characters (0 through 16).

(ASCII string) A 16-character ASCII string containing optional  reject
data.

(integer function value) Return code:

+----------------------+------------+----------------+-------------------+
| VMS COBOL or FORTRAN | ANSI VAX or| 20 COBOL       | meaning           |
|                      | 20 FORTRAN |                |                   |
+----------------------+------------+----------------+-------------------+
| DIT$_INVARG          | INVARG     | DIT-C-INVARG   | An argument is of |
|                      |            |                | the wrong type.   |
+----------------------+------------+----------------+-------------------+
| SS$_NORMAL           | NORMAL     | SS-C-NORMAL    | Success.          |
+----------------------+------------+----------------+-------------------+
| DIT$_HORRIBLE        | SYSERR     | DIT-C-HORRIBLE | An internal error |
|                      |            |                | occurred.         |
+----------------------+------------+----------------+-------------------+
DIL.DOC -- V1(73) 19-May-83                                    Page 34
ADDITIONAL ERROR INFORMATION


9.0  ADDITIONAL ERROR INFORMATION

For all of the Task-to-Task and Remote File Access interface routines,
we have included in this file more complete information about possible
error conditions which may cause each error.  This information is  not
included in the manual for version 1 of the DIL.



9.1  Remote-File-Access Error Codes And Their Meanings:


9.1.1  ROPEN/DIT$ROPEN Routine: -

DIT-INVARG:


     1.  Filename is a string but is not ASCII-7 (DECSYSTEM-20  only).
         If  you are using the routine from a COBOL program, make sure
         that the filename's USAGE is DISPLAY-7.

     2.  Userid is a string but is not  ASCII-7  (DECSYSTEM-20  only).
         If  you are using the routine from a COBOL program, make sure
         that the userid's USAGE is DISPLAY-7.

     3.  Password is a string but is not ASCII-7 (DECSYSTEM-20  only).
         If  you are using the routine from a COBOL program, make sure
         that the password's USAGE is DISPLAY-7.

     4.  Account is a string but is not ASCII-7  (DECSYSTEM-20  only).
         If  you are using the routine from a COBOL program, make sure
         that the account's USAGE is DISPLAY-7.

     5.  File open mode does not have a valid value.  The file must be
         opened for MODE-READ, MODE-WRITE, or MODE-APPEND.

     6.  File data type does not have a valid value.   The  data  type
         must be TYPE-ASCII.

     7.  File record format does not have a valid value.  Valid record
         formats  are RFM-UNDEFINED, RFM-FIXED, RFM-VARIABLE, RFM-VFC,
         or RFM-STREAM.

     8.  Record attributes does not have a valid value.  Valid  record
         attributes  are  RAT-UNSPECIFIED, RAT-ENVELOPE, RAT-PRINT, or
         RAT-FORTRAN.

     9.  File name has improper syntax.

    10.  Error in directory name (VMS only).
DIL.DOC -- V1(73) 19-May-83                                    Page 35
ADDITIONAL ERROR INFORMATION


    11.  Device full (VMS only).

    12.  Logical name error (VMS only).

    13.  Node name error (VMS  only).   The  node  name  has  improper
         syntax.

    14.  Error in quoted string (VMS only).  There is no need for  you
         to  specify  access  information  in a quoted string.  If you
         receive this error without doing so, it is an internal error.

    15.  Error in file type (VMS only).

    16.  Error in file version number (VMS only).


SS-NORMAL:


     1.  Normal successful completion.


DIT-FILEINUSE:


     1.  File activity precludes this operation (VMS only).


DIT-TOOMANY:


     1.  Attempt to open more than 20 files.  You are  limited  to  20
         files open at once for version 1 of the DIL.


DIT-NOFILE:


     1.  File to be created already exists.

     2.  File not found.

     3.  File not available because it is locked.

     4.  File protection violation.

     5.  Error in access control string (probable internal error,  VMS
         only).

     6.  Directory not found (VMS only).
DIL.DOC -- V1(73) 19-May-83                                    Page 36
ADDITIONAL ERROR INFORMATION


     7.  File expiration date not yet reached (VMS only).  You  cannot
         overwrite this file because it has not expired yet.


DIT-CHECKSUM:


     1.  Network checksum error (probable monitor error, VMS only).


DIT-NETOPRFAIL:


     1.  Cannot connect to the FAL.  This may be because  the  monitor
         has  used  up  the resources it needs to make the connection,
         the network node you want is down or does not exist, the node
         is  not currently running a FAL, the FAL on the node you need
         has aborted, there are already too many  connections  to  the
         node  you need, there are too many connections already to the
         FAL,  you  passed  invalid  accounting  information  (userid,
         password,  and account) for the remote file, or because there
         is no network path to the node you need.

     2.  DAP protocol error (internal error).

     3.  Network link broken.

     4.  Operation not supported by remote system.

     5.  File-transfer mode precludes operation (VMS only).

     6.  Network operation failed (VMS only).


DIT-HORRIBLE:


     1.  The requested device is not mounted or  the  device  name  is
         invalid.

     2.  The maximum record size was invalid.  Either  you  gave  zero
         for  a  fixed-length  file,  or  a  number  too large for the
         operating system to accept.

     3.  Internal error.

     4.  Monitor error.

     5.  Hardware error.
DIL.DOC -- V1(73) 19-May-83                                    Page 37
ADDITIONAL ERROR INFORMATION


9.1.2  RREAD/DIT$RREAD: -

DIT-INVARG:


     1.  File number not in valid range or refers to a file  which  is
         not open.


SS-NORMAL:


     1.  Normal successful completion.


DIT-EOF:


     1.  End of file.


DIT-OVERRUN:


     1.  Data overrun.  For files on a DECSYSTEM-20, you must add 2 to
         the  length of a record being written to determine the actual
         record size in the  file.   This  is  because  files  on  the
         DECSYSTEM-20  are  always  actually  written in stream format
         with <CR><LF>s, and you must allow room in your  buffer  when
         reading  such  a  file  to accomodate the <CR><LF> as well as
         your data.


DIT-NETOPRFAIL:


     1.  Cannot connect to FAL.  This may be because the  monitor  has
         used  up  the  resources it needs to make the connection, the
         network node you want is down or does not exist, the node  is
         not currently running a FAL, the FAL on the node you need has
         aborted, there are already too many connections to  the  node
         you  need, there are too many connections already to the FAL,
         you passed invalid accounting information (userid,  password,
         and  account)  for  the  remote  file, or because there is no
         network path to the node you need.

     2.  DAP protocol error (internal error).

     3.  Network link broken.
DIL.DOC -- V1(73) 19-May-83                                    Page 38
ADDITIONAL ERROR INFORMATION


     4.  Operation not supported by remote system.

     5.  File-transfer mode precludes operation (VMS only).

     6.  Network operation failed (VMS only).


DIT-CHECKSUM:


     1.  Network checksum error (probable monitor error, VMS only).


DIT-HORRIBLE:


     1.  The record size is not equal to the maximum record size for a
         fixed-length  record file, or exceeds the record size for any
         other type of file.

     2.  Internal error.

     3.  Monitor error.

     4.  Hardware error.
DIL.DOC -- V1(73) 19-May-83                                    Page 39
ADDITIONAL ERROR INFORMATION


9.1.3  RWRITE/DIT$RWRITE: -

DIT-INVARG:


     1.  File number is out of range or refers to a file which is  not
         open.


SS-NORMAL:


     1.  Normal successful completion.


DIT-NOFILE:


     1.  Privilege violation.


DIT-NETOPRFAIL:


     1.  Cannot connect to FAL.  This may be because the  monitor  has
         used  up  the  resources it needs to make the connection, the
         network node you want is down or does not exist, the node  is
         not currently running a FAL, the FAL on the node you need has
         aborted, there are already too many connections to  the  node
         you  need, there are too many connections already to the FAL,
         you passed invalid accounting information (userid,  password,
         and  account)  for  the  remote  file, or because there is no
         network path to the node you need.

     2.  DAP protocol error (internal error).

     3.  Network link broken.

     4.  Operation not supported by remote system.

     5.  File transfer mode precludes operation (VMS only).

     6.  Network operation failed (VMS only).


DIT-HORRIBLE:


     1.  In version 1 of the DIL, it is possible to get this error  on
         a DECSYSTEM-20 if you attempt to write a fixed-length file on
         a VMS system and the length of the record being written  does
         not agree with the record size of the file.
DIL.DOC -- V1(73) 19-May-83                                    Page 40
ADDITIONAL ERROR INFORMATION


     2.  Internal error.

     3.  Monitor error.

     4.  Hardware error.
DIL.DOC -- V1(73) 19-May-83                                    Page 41
ADDITIONAL ERROR INFORMATION


9.1.4  RCLOSE/DIT$RCLOSE: -

DIT-INVARG:


     1.  Invalid close option.  Valid close options  are  OPT-NOTHING,
         OPT-PRINT, OPT-SUBMIT, or OPT-DELETE.

     2.  File number out of range or refers to a  file  which  is  not
         open.


DIT-NETOPRFAIL:


     1.  Cannot connect to FAL.  This may be because the  monitor  has
         used  up  the  resources it needs to make the connection, the
         network node you want is down or does not exist, the node  is
         not currently running a FAL, the FAL on the node you need has
         aborted, there are already too many connections to  the  node
         you  need, there are too many connections already to the FAL,
         you passed invalid accounting information (userid,  password,
         and  account)  for  the  remote  file, or because there is no
         network path to the node you need.

     2.  DAP protocol error (internal error).

     3.  Network link broken.

     4.  Operation not supported by remote system.

     5.  File transfer mode precludes operation (VMS only).

     6.  Network operation failed (VMS only).


DIT-HORRIBLE:


     1.  In version 1 of the DIL, it is possible to get this error  on
         a DECSYSTEM-20 if you attempt to write a fixed-length file on
         a VMS system and the length of the record being written  does
         not agree with the record size of the file.

     2.  Internal error.

     3.  Monitor error.

     4.  Hardware error.
DIL.DOC -- V1(73) 19-May-83                                    Page 42
ADDITIONAL ERROR INFORMATION


9.1.5  RDEL/DIT$RDEL: -

DIT-INVARG:


     1.  File name is a string but is not ASCII-7 (DECSYSTEM-20 only).
         If  you  are  using  this  routine  from a COBOL program, the
         filename's USAGE must be DISPLAY-7.

     2.  Userid is a string but is not  ASCII-7  (DECSYSTEM-20  only).
         If  you  are  using  this  routine  from a COBOL program, the
         userid's USAGE must be DISPLAY-7.

     3.  Password is a string but is not ASCII-7 (DECSYSTEM-20  only).
         If  you  are  using  this  routine  from a COBOL program, the
         password's USAGE must be DISPLAY-7.

     4.  Account is a string but is not ASCII-7  (DECSYSTEM-20  only).
         If  you  are  using  this  routine  from a COBOL program, the
         account's USAGE must be DISPLAY-7.

     5.  Filename has invalid syntax.


SS-NORMAL:


     1.  Normal successful completion.


DIT-NOFILE:


     1.  Invalid simultaneous access.  Another user is  already  using
         this file.

     2.  File not found.

     3.  File protection violation.

     4.  Error in access control string (VMS only).

     5.  Directory not found (VMS only).


DIT-NETOPRFAIL:


     1.  Cannot connect to FAL.  This may be because the  monitor  has
         used  up  the  resources it needs to make the connection, the
         network node you want is down or does not exist, the node  is
         not currently running a FAL, the FAL on the node you need has
         aborted, there are already too many connections to  the  node
DIL.DOC -- V1(73) 19-May-83                                    Page 43
ADDITIONAL ERROR INFORMATION


         you  need, there are too many connections already to the FAL,
         you passed invalid accounting information (userid,  password,
         and  account)  for  the  remote  file, or because there is no
         network path to the node you need.

     2.  DAP protocol error (internal error).

     3.  Network link broken.

     4.  Operation not supported on remote system.

     5.  File transfer mode precludes operation (VMS only).

     6.  Network operation failed (VMS only).


DIT-HORRIBLE:


     1.  Internal error.

     2.  Monitor error.

     3.  Hardware error.
DIL.DOC -- V1(73) 19-May-83                                    Page 44
ADDITIONAL ERROR INFORMATION


9.1.6  RSUB/DIT$RSUB: -

DIT-INVARG:


     1.  File name is a string but is not ASCII-7 (DECSYSTEM-20 only).
         If  you  are  using  this  routine  from a COBOL program, the
         filename's USAGE must be DISPLAY-7.

     2.  Userid is a string but is not  ASCII-7  (DECSYSTEM-20  only).
         If  you  are  using  this  routine  from a COBOL program, the
         userid's USAGE must be DISPLAY-7.

     3.  Password is a string but is not ASCII-7 (DECSYSTEM-20  only).
         If  you  are  using  this  routine  from a COBOL program, the
         password's USAGE must be DISPLAY-7.

     4.  Account is a string but is not ASCII-7  (DECSYSTEM-20  only).
         If  you  are  using  this  routine  from a COBOL program, the
         account's USAGE must be DISPLAY-7.

     5.  Filename has invalid syntax.

     6.  Error in directory name (VMS only).

     7.  Logical name error (VMS only).

     8.  Node name error (VMS only).

     9.  Error in quoted string (VMS only).

    10.  Error in file type (VMS only).

    11.  Error in version number (VMS only).


DIT-NOFILE:


     1.  File not found.

     2.  File protection violation.

     3.  Error in access control string (VMS only).

     4.  Directory not found (VMS only).

     5.  File locked (VMS only).


SS-NORMAL:
DIL.DOC -- V1(73) 19-May-83                                    Page 45
ADDITIONAL ERROR INFORMATION


     1.  Normal successful completion.


DIT-NETOPRFAIL:


     1.  Cannot connect to FAL.  This may be because the  monitor  has
         used  up  the  resources it needs to make the connection, the
         network node you want is down or does not exist, the node  is
         not currently running a FAL, the FAL on the node you need has
         aborted, there are already too many connections to  the  node
         you  need, there are too many connections already to the FAL,
         you passed invalid accounting information (userid,  password,
         and  account)  for  the  remote  file, or because there is no
         network path to the node you need.

     2.  DAP protocol error (internal error).

     3.  Network link broken.

     4.  Operation not supported on remote system.

     5.  File transfer mode precludes operation (VMS only).

     6.  Network operation failed (VMS only).


DIT-HORRIBLE:


     1.  Internal error.

     2.  Monitor error.

     3.  Hardware error.
DIL.DOC -- V1(73) 19-May-83                                    Page 46
ADDITIONAL ERROR INFORMATION


9.1.7  RPRINT/DIT$RPRINT: -

DIT-INVARG:


     1.  Filename is a string but is not ASCII-7 (DECSYSTEM-20  only).
         If   you  are  using  this  routine  from  a  COBOL  program,
         filename's USAGE must be DISPLAY-7.

     2.  Userid is a string but is not  ASCII-7  (DECSYSTEM-20  only).
         If  you are using this routine from a COBOL program, userid's
         USAGE must be DISPLAY-7.

     3.  Password is a string but is not ASCII-7 (DECSYSTEM-20  only).
         If   you  are  using  this  routine  from  a  COBOL  program,
         password's USAGE must be DISPLAY-7.

     4.  Account is a string but is not ASCII-7  (DECSYSTEM-20  only).
         If you are using this routine from a COBOL program, account's
         USAGE must be DISPLAY-7.

     5.  Filename has invalid syntax.

     6.  Error in directory name (VMS only).

     7.  Logical name error (VMS only).

     8.  Node name error (VMS only).

     9.  Error in quoted string (VMS only).

    10.  Error in file type (VMS only).

    11.  Error in version number (VMS only).


SS-NORMAL:


     1.  Normal successful completion.


DIT-NOFILE:


     1.  File already exists.

     2.  File locked.

     3.  File not found.
DIL.DOC -- V1(73) 19-May-83                                    Page 47
ADDITIONAL ERROR INFORMATION


     4.  File protection violation.

     5.  Error in access control string (VMS only).

     6.  Directory not found (VMS only).

     7.  File locked (VMS only).


DIT-NETOPRFAIL:


     1.  Cannot connect to FAL.  This may be because the  monitor  has
         used  up  the  resources it needs to make the connection, the
         network node you want is down or does not exist, the node  is
         not currently running a FAL, the FAL on the node you need has
         aborted, there are already too many connections to  the  node
         you  need, there are too many connections already to the FAL,
         you passed invalid accounting information (userid,  password,
         and  account)  for  the  remote  file, or because there is no
         network path to the node you need.

     2.  DAP protocol error (internal error).

     3.  Network link broken.

     4.  Operation not supported by remote system.

     5.  File transfer mode precludes operation (VMS only).

     6.  Network operation failed (VMS only).


DIT-HORRIBLE:


     1.  Internal error.

     2.  Monitor error.

     3.  Hardware error.
DIL.DOC -- V1(73) 19-May-83                                    Page 48
ADDITIONAL ERROR INFORMATION


9.2  Task-to-Task Errors And Their Meanings:


9.2.1  NFOPA/B/8/P / DIT$NFOPA/B/8/P: -

DIT-INVARG:


     1.  Network Logical Name is not an integer.

     2.  Network Logical Name has an invalid value (for DIT$NFOPP, VMS
         only).   It  must have the initial value of either PAS-FIREUP
         or PAS-NFIREUP on entry to this routine on a VMS system.

     3.  Hostname is a string but is not ASCII-7 (DECSYSTEM-20  only).
         If  this  routine  is called from a COBOL program, hostname's
         USAGE must be DISPLAY-7.

     4.  Objectid is a string but is not ASCII-7 (DECSYSTEM-20  only).
         If  this  routine  is called from a COBOL program, objectid's
         USAGE must be DISPLAY-7.

     5.  Descriptor is a  string  but  is  not  ASCII-7  (DECSYSTEM-20
         only).   If  this  routine  is  called  from a COBOL program,
         descriptor's USAGE must be DISPLAY-7.

     6.  Taskname is a string but is not ASCII-7 (DECSYSTEM-20  only).
         If  this  routine  is called from a COBOL program, taskname's
         USAGE must be DISPLAY-7.

     7.  Password is a string but is not ASCII-7 (DECSYSTEM-20  only).
         If  this  routine  is called from a COBOL program, password's
         USAGE must be DISPLAY-7.

     8.  Account is a string but is not ASCII-7  (DECSYSTEM-20  only).
         If  this  routine  is  called from a COBOL program, account's
         USAGE must be DISPLAY-7.

     9.  User data is a string but is not ASCII-7 (DECSYSTEM-20 only).
         If this routine is called from a COBOL program, the user data
         must have USAGE DISPLAY-7.

    10.  Wait code is not an integer.  It must have the value WAIT-YES
         or WAIT-NO.

    11.  Invalid network filename.

    12.  Invalid object.  You may have specified a nonexistent  object
         name  (one  that  is not defined for your system), or used an
         object number which is out of range or which you do not  have
         the  privilege  to  use  for  a passive task.  See the DECnet
         manual for your system.
DIL.DOC -- V1(73) 19-May-83                                    Page 49
ADDITIONAL ERROR INFORMATION


    13.  Invalid taskname.  The taskname you gave may not be unique.

    14.  Object is already defined.

    15.  Optional data exceeds 16 bytes.


SS-NORMAL


     1.  Normal successful completion.


DIT-TOOMANY:


     1.  Attempt to open more than 20 links at once.  You are  limited
         to 20 links at any one time in DIL version 1.

     2.  The monitor will not allow you to open any more links.  On  a
         DECSYSTEM-20,  a  nonprivileged  job has a limit of four open
         links.  The monitor itself may have run out of links.

     3.  No privileges to open links (VMS only).

     4.  Insufficient memory to open links (VMS only).


DIT-ABORTREJECT:


     1.  Waiting link open got an abort or reject.


DIT-HORRIBLE:


     1.  Internal error.

     2.  Monitor error.

     3.  Hardware error.
DIL.DOC -- V1(73) 19-May-83                                    Page 50
ADDITIONAL ERROR INFORMATION


9.2.2  NFGND/DIT$NFGND: -

DIT-INVARG:


     1.  Network Logical Name is not an integer, is out of  range,  or
         refers to an unused link.

     2.  Wait code is not an integer or has an invalid value.  It must
         have the value WAIT-YES or WAIT-NO.


SS-NORMAL:


     1.  Wait code was WAIT-NO and nothing new has happened.


DIT-CONNECTEVENT:


     1.  Connect event occurred (connect request if link  is  passive;
         connect accept if link is active).


DIT-ABREJEVENT:


     1.  Abort or reject event occurred.


DIT-DISCONNECTEVENT:


     1.  Disconnect event occurred.


DIT-INTDATAEVENT:


     1.  Interrupt data available.


DIT-DATAEVENT:


     1.  Data available.


DIT-HORRIBLE:
DIL.DOC -- V1(73) 19-May-83                                    Page 51
ADDITIONAL ERROR INFORMATION


     1.  Internal error.

     2.  Monitor error.

     3.  Hardware error.
DIL.DOC -- V1(73) 19-May-83                                    Page 52
ADDITIONAL ERROR INFORMATION


9.2.3  NFACC/DIT$NFACC: -

DIT-INVARG:


     1.  Network Logical Name is not an integer, is out of  range,  or
         refers to an unused link.

     2.  Link type is not an integer or has an invalid  value.   Valid
         link types are LTYPE-ASCII, LTYPE-BINARY, or LTYPE-8BIT.

     3.  Count of optional data is not an integer or  has  an  invalid
         value.  You may have 0 to 16 optional data characters.

     4.  Optional data is a string but is  not  ASCII-7  (DECSYSTEM-20
         only).   If  you are using this routine from a COBOL program,
         the optional data must have USAGE DISPLAY-7.


SS-NORMAL:


     1.  Normal successful completion.


DIT-ABORTREJECT:


     1.  Link aborted.


DIT-HORRIBLE:


     1.  Internal error.

     2.  Monitor error.

     3.  Hardware error.
DIL.DOC -- V1(73) 19-May-83                                    Page 53
ADDITIONAL ERROR INFORMATION


9.2.4  NFRCV/DIT$NFRCV: -

DIT-INVARG:


     1.  Network Logical Name is not an integer, is out of  range,  or
         refers to an unused link.

     2.  Data unit size is not an integer.

     3.  Count of data is not an integer.

     4.  Message-mode flag is not an integer or has an invalid  value.
         It must have the value MSG-STM or MSG-MSG.

     5.  Wait code is not an integer or has an invalid value.  It must
         have the value WAIT-YES or WAIT-NO.


SS-NORMAL:


     1.  Normal successful completion.


DIT-INTERRUPT:


     1.  Interrupt data message must be read first.


DIT-NOTENOUGH:


     1.  Not enough data available to satisfy nonwaiting  stream  mode
         request.

     2.  No data available now for non-waiting read.


DIT-ABORTREJECT:


     1.  Link aborted or disconnected.


DIT-OVERRUN:


     1.  Data will not fit into user buffer.


DIT-HORRIBLE:
DIL.DOC -- V1(73) 19-May-83                                    Page 54
ADDITIONAL ERROR INFORMATION


     1.  Internal error.

     2.  Monitor error.

     3.  Hardware error.
DIL.DOC -- V1(73) 19-May-83                                    Page 55
ADDITIONAL ERROR INFORMATION


9.2.5  NFSND/DIT$NFSND: -

DIT-INVARG:


     1.  Network Logical Name not an integer, is out of range, or  has
         an invalid value.

     2.  Record unit size is not an integer.

     3.  Data count is not an integer.

     4.  Message-mode flag not an integer or has an invalid value.  It
         must have the value MSG-MSG or MSG-STM.


SS-NORMAL:


     1.  Normal successful completion.


DIT-ABORTREJECT:


     1.  Link aborted.


DIT-HORRIBLE:


     1.  Internal error.

     2.  Monitor error.

     3.  Hardware error.
DIL.DOC -- V1(73) 19-May-83                                    Page 56
ADDITIONAL ERROR INFORMATION


9.2.6  NFREJ/DIT$NFREJ: -

DIT-INVARG:


     1.  Network Logical Name not an integer,  is  out  of  range,  or
         refers to an unused link.

     2.  Reject code is not an integer.

     3.  Count of optional data is not an integer or  has  an  invalid
         value.  It must be from 0 to 16.

     4.  Optional data is a string but is  not  ASCII-7  (DECSYSTEM-20
         only).   If  you are using this routine from a COBOL program,
         the optional data must have USAGE DISPLAY-7.


DIT-ABORTREJECT:


     1.  Link aborted.


SS-NORMAL:


     1.  Normal successful completion.


DIT-HORRIBLE:


     1.  Internal error.

     2.  Monitor error.

     3.  Hardware error.
DIL.DOC -- V1(73) 19-May-83                                    Page 57
ADDITIONAL ERROR INFORMATION


9.2.7  NFCLS/DIT$NFCLS: -

DIT-INVARG:


     1.  Network Logical Name not an integer,  is  out  of  range,  or
         refers to an unused link.

     2.  Type of link close is not an integer.

     3.  Count of optional close data is not an integer or is  out  of
         range.  The count of optional data must be from 0 to 16.

     4.  Optional data is a string but is  not  ASCII-7  (DECSYSTEM-20
         only).   If  you are using this routine from a COBOL program,
         the optional data must have USAGE DISPLAY-7.


SS-NORMAL:


     1.  Normal successful completion.


DIT-ABORTREJECT:


     1.  Link aborted.


DIT-HORRIBLE:


     1.  Internal error.

     2.  Monitor error.

     3.  Hardware error.
DIL.DOC -- V1(73) 19-May-83                                    Page 58
ADDITIONAL ERROR INFORMATION


9.2.8  NFINF/DIT$NFINF: -

DIT-INVARG:


     1.  Network Logical Name is not an integer, is out of  range,  or
         refers to an unused link.

     2.  Type of information wanted is not an integer.

     3.  Count of information returned is not an integer.

     4.  Area for returned information is a string but is not  ASCII-7
         (DECSYSTEM-20  only).   If  you  are  using this routine in a
         COBOL program, the data area must have USAGE DISPLAY-7.


SS-NORMAL


     1.  Normal successful completion.


DIT-ABORTREJECT:


     1.  The link aborted or was rejected.


DIT-INFOOUTOFRANGE:


     1.  Information requested is not in the range  of  valid  values.
         Valid   information   to  request  is  INF-NODE,  INF-OBJECT,
         INF-DESCF,  INF-DESC,   INF-USERID,   INF-PASSWD,   INF-ACCT,
         INF-OPT, INF-SEG, or INF-ABTCODE.


DIT-INFONOTAVAILABLE:


     1.  Information requested is not available.  You  cannot  get  it
         because  this operating system does not supply it, you do not
         have the necessary privileges,  or  the  information  is  not
         available for this type of link.


DIT-HORRIBLE:
DIL.DOC -- V1(73) 19-May-83                                    Page 59
ADDITIONAL ERROR INFORMATION


     1.  Internal error.

     2.  Monitor error.

     3.  Hardware error.
DIL.DOC -- V1(73) 19-May-83                                    Page 60
DATA INTERCHANGE LIBRARY SAMPLE APPLICATION


10.0  DATA INTERCHANGE LIBRARY SAMPLE APPLICATION

10.1  Description

The Data Interchange Library Sample Application is a distributed COBOL
application  which  uses the Task-to-task, Remote File Access and Data
Conversion routines of the DIL.

The application is a "Labor Ticket"  collection  system.   It  enables
each  employee  to enter weekly time card information from a terminal,
either on a VAX or a DECSYSTEM-20.  The  labor  information  collected
from   remote  and  local  terminals  is  stored  in  a  file  on  the
DECSYSTEM-20.  A summary report, in the  form  of  a  sequential  file
stored  on  the  VAX, is written from a separate report program on the
DECSYSTEM-20.  Before running  the  sample  application,  the  program
IDXINI.CBL should be run on the DECSYSTEM-20 where the server is going
to be running.  This program initializes the indexed  sequential  data
file used by the application.

The server program (JTSERV.CBL) can serve multiple users and therefore
has  the  capability  to  open  four or six network links.  (A process
running on a DECSYSTEM-20  which  is  running  without  enabled  WHEEL
privileges  can  only  open  four links.  If the process is an enabled
WHEEL, then six links will be opened.  PROCES.MAC checks  the  process
running  the  server  program to see if it is an enabled WHEEL and can
therefore open six rather than four links.  PROCES is called from  the
server.)  The server program opens passive links and waits for connect
events from remote tasks.  The terminal interface programs (JTTERM.CBL
and  JTTERM.COB) are run from terminals whenever a user wants to enter
in job labor ticket information.

When a user starts up the terminal interface program  on  his  system,
that  program  attempts  to connect to the remote server program.  The
server then accepts the link.  The  user  at  the  terminal  interface
program can then request to update labor ticket information or to exit
the program.  If an update is  requested,  the  employee's  badge  (or
identification)  number  is  collected  and  sent  to the server.  The
server will then query the data  file  to  see  if  the  badge  number
presently  exists.   The  server  will  send a message to the terminal
interface program with the result of the query.   The  user  can  then
continue  or  abort  the  update.   If  the  update  is continued, the
remainder of the labor ticket information is collected and sent to the
server to be stored.  Otherwise, the server is sent a message to abort
this particular update.  Once the update is finished (or aborted), the
user can then update again or exit.

The report program (JTVRPT.CBL) runs on the DECSYSTEM-20 and  write  a
remote  file  onto a VAX.  It is not a part of the Task-to-task proces
described above.  It can be run at will, either in  batch  or  from  a
user terminal.
DIL.DOC -- V1(73) 19-May-83                                    Page 61
DATA INTERCHANGE LIBRARY SAMPLE APPLICATION


10.2  Running The Sample Application

To run the DIL Sample Application on your systems, you must first edit
the  programs  to reflect the node names and directory names which you
choose to use.  Once you have finished editing, you should compile and
link the DECSYSTEM-20 programs as follows:

@cbl74
*=IDXINI.CBL
*=JTSERV.CBL/D:2000
*=JTTERM.CBL/D:2000
*=JTVRPT.CBL/D:2000
*^Z
@macro
*PROCES=PROCES
@
@link
*IDXINI/G
@save
@
@link
*JTSERV,PROCES,SYS:DIL/SE,SYS:XPORT/SE/EXCLUDE:XFUNCT/G
@save
@
@link
*JTTERM,SYS:DIL/SE,SYS:XPORT/SE/EXCLUDE:XFUNCT/G
@save
@
@link
*JTVRPT,SYS:DIL/SE,SYS:XPORT/SE/EXCLUDE:XFUNCT/G
@save
@
@; initialize the data file JOBTIC.RMS
@run IDXINI
@

On the VAX, you should compile and link  the  VAX  terminal  interface
program as below:
$ cobol JTTERM.COB
$
$ link JTTERM,SYS$LIBRARY:DIL/LIB,SYS$LIBRARY:XPORT/LIB
$

Then, you should start the  server  program  on  the  DECSYSTEM-20  as
follows:

@run JTSERV

Once this is done, you can run the terminal  interface  programs  from
either your VAX or DECSYSTEM-20.
DIL.DOC -- V1(73) 19-May-83                                    Page 62
DATA INTERCHANGE LIBRARY SAMPLE APPLICATION


[End of DIL.DOC]