CALL EPSETW(LUN,27,0,IERR)and the previous call in the old ``
EVENT'' package
CALL EVENT(IARRAY,ISTAT)has to be replaced by a call to EPREAD with
j=2.
In this case, as for EVENT, the complete record
(including the header) will be transferred.
Please note that the data now start in IREC(1),
instead of IARRAY(2) as before and the data are unpacked as 16-bit
bytes/word only.
Old format ``special records'' are not specifically decoded by
EPREAD but return IERR=7.
The user is left to do the unpacking himself, e.g.:
CALL EPREAD(LUN,2,NW,irec,IBUF, ierr)
:
:
IF (IERR.NE.7) GO TO 10
NW=IWD16(IBUF,1)
CALL BLO16W(IBUF,1,IREC,1,NW)
10 CONTINUE
IERR=1).
In the case of labelled tapes the labels will be treated as
data and EPREAD will return a length error on reading (IERR=5).
The user program should choose to continue reading in this case.
A combination of
these techniques with MODE=30 can provide the same facilities as
EVENTIN in the old package.
To prevent tapes running off the end of reel
users should stop reading at end of information (IERR=3), signified by 2
consecutive EOF's, or by using the file or record count.
CALL EPFHDR (LUNIT,MLUSER,IHEAD*,*IBUF*,IERR*)
Fast logical record header reading routine.
MLUSER words of logical record header (regardless of actual
length or of status word 26)