Data Interchange Library Beware File July, 1986 VERSION 2.1 COPYRIGHT (C) DIGITAL EQUIPMENT CORPORATION 1983, 1986. ALL RIGHTS RESERVED. THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON. NO TITLE TO AND OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED. THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT CORPORATION. DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL. Page 2 1.0 INTRODUCTION This document supplements the Data Interchange Library manual by pointing out hints and potential problems. The file DIL.DOC contains further supplemental documentation, including installation instructions. 2.0 TOPS-20 VERSION REQUIRED You must be running TOPS-20 version 5.1 (or a later version), which incorporates several fixes to NSPSRV, in order to use the Task-to-Task or Remote File Access routines on TOPS-20. If you have a 2020, you must run TOPS-20 version 4.1 (or a later version). 3.0 USER-ASSIGNABLE PA1050 INTERRUPT CHANNELS ON TOPS-20 There are no user-assignable interrupts in PA1050 left for the COBOL user on TOPS-20 if the IP20 routines in TRAFFIC-20, the Remote File Access routines, and the Task-to-Task routines are loaded in one user program, due to a PA1050 restriction. Note that using user-assignable interrupts in PA1050 is not supported. 4.0 REMOTE FILE ACCESS ROUTINES WITH FORTRAN-20 If FORTRAN programs using the Remote File Access routines get a stack overflow problem, the user should rebuild FOROTS (according to instructions in the Fortran Installation Guide), to increase the runtime stack space. To use the rebuilt FOROTS, you must have FORLIB.REL and FOROT7.EXE in your SYS: area. 5.0 USING A SHAREABLE OTS ON TOPS-20 AND TOPS-10 5.1 FORTRAN PROGRAMS ON TOPS-20 Normal loading of a FORTRAN program with DIL will result in a TWOSEG program with a nonshareable FOROTS loaded from FORLIB. This can be saved and executed in a shareable fashion. If you want to load the DIL code in the low segment so that the shareable FOROTS can be used, you must use /SEG:LOW in the LINK command when loading your program. For more information on the /SEG link switch, see the TOPS-20 Link Manual. Page 3 5.2 FORTRAN PROGRAMS ON TOPS-10 Normal linking of a TOPS-10 program, using the instructions provided in the DIL Manual, will cause the DIL code to always be loaded into the low segment. This means that you can always use the shareable FOROTS. For more information, see the DIL Manual. 5.3 COBOL PROGRAMS COBOL programs will normally produce low-address data areas (containing COBOL and DIL writeable data), higher-address pure code areas containing COBOL and DIL code, and the shareable COBLIB.REL/COBOTS-V13.EXE (on TOPS-20) or C74LIB.REL, C74O12.EXE (on TOPS-10) which comes in at higher addresses. This behavior can be modified by the appropriate switches to the COBOL compiler (see the TOPS-10/TOPS-20 COBOL Language Reference manual). 6.0 REMOTE FILE ACCESS TO TOPS-10/TOPS-20 FILES All TOPS-10/TOPS-20 ASCII files for remote file access should be specified as stream record format with no record attributes or with carriage-return/linefeed envelope attribute. 7.0 PRINT RECORD ATTRIBUTE FOR VMS FILES Record attribute PRINT is only valid for record format VFC on the VAX. 8.0 APPEND ACCESS TO TOPS-10 FILES TOPS-10 FAL does not support APPEND file access. If you attempt to append to a remote file on a TOPS-10, you will receive the "network operation failed" error. 9.0 VMS JOBS HUNG IN MWAIT STATE VMS programs using the Task-to-Task routines in particular, but also other VMS programs, may hang in MWAIT state if the BYTLIM quota is not large enough. If a program hangs in this state, the program should be tried again with a larger BYTLIM. SEE ALSO: "CLOSING LINKS" (below). Page 4 10.0 CLOSING LINKS When closing task-to-task links, user programs should ALWAYS call the DIL routine NFCLS (TOPS-10, TOPS-20) or DIT$NFCLS (VAX/VMS) for BOTH ends of the logical link. If the NFCLS/DIT$NFCLS routine is not called by both the host and the remote programs, then the link may not be properly closed and all of the resources may not be released. This might not be a problem if the user program immediately stops executing after closing a link, however in programs that continuously open and close numerous links, if the links are not properly closed with the NFCLS/DIT$NFCLS routine then the user might run out of resources or exceed quotas, or on the VAX, get hung in an MWAIT state. The task-to-task examples in the DIL manual are misleading because they do NOT contain NFCLS/DIT$NFCLS routine calls for both ends of the links, although they SHOULD. [End of DIL.BWR]