1*fordeck ddafile $Revision: 7.7 $ 2 Subroutine dDaFile(Lu,iOpt,Buf,lBuf_,iDisk) 3************************************************************************ 4* * 5* (c) Copyright. All rights reserved * 6* * 7* This code or parts thereof may not be copdied or redistributed, * 8* without the written permission of the author. The use is re - * 9* stricted to research purposes only, and the matrial may not be * 10* included in any commercial product. * 11* * 12*----------------------------------------------------------------------* 13* * 14* purpose: * 15* Control direct access I/O operations * 16* * 17* calling arguments: * 18* Lu : integer, input * 19* logical unit number (Lu={1,2,...40,50,60,70,80,90} * 20* iOpt : integer, input * 21* option code * 22* iOpt= 0 dummy write * 23* iOpt= 1 synchonous write * 24* iOpt= 2 synchonous read * 25* iOpt= 5 synchonous rewind * 26* iOpt= 6 asynchronous write * 27* iOpt= 7 asynchronous read * 28* iOpt=10 asynchronous rewind * 29* Note: At present the asynchronous modes are not * 30* supported and work identically the synchonous * 31* modes * 32* Buf : array of integers, input/output * 33* Buffer carrying/receiving the data to write/read * 34* lBuf : integer, input * 35* length of the buffer Buf * 36* iDisk : integer, input/output * 37* disk address * 38* * 39*----------------------------------------------------------------------* 40* * 41* written by: * 42* P.O. Widmark, IBM Sweden, 1991 * 43* M.P. Fuelscher, University of Lund, Sweden, 1993, 1996, 1997 * 44* L Serrano-Andres,University of Lund, Sweden, 1996 * 45* R. Lindh, Univeristy of Lund, Sweden, 2001 * 46* * 47************************************************************************ 48 49 Implicit Integer (A-Z) 50 51*#include <SysDef.fh> 52 Include 'blksize.fh' 53 Include 'fio.inc' 54 55 Real*8 Buf(lBuf_) 56 57* Include 'fnc.inc' 58 59 If ( Query ) Call LUCIAqEnter('dDafile') 60 min_Block_Length=MBL(Lu) 61* lBuf=lBuf_*RtoI 62 lBuf=lBuf_ 63 If ( Trace ) then 64 Write (6,*) ' >>> Enter dDaFile <<<' 65 Write (6,*) ' unit :',Lu 66 Write (6,*) ' option :',iOpt 67 Write (6,*) ' length :',lBuf 68 Write (6,*) ' disk adr. :',iDisk 69 End If 70 71 Call iDaFile_(Lu,iOpt,Buf,lBuf,iDisk) 72 73 If ( Trace ) Write (6,*) ' >>> Exit dDaFile <<<' 74 If ( Query ) Call LUCIAqExit('dDafile') 75 Return 76 End 77c $Id$ 78