d FUNCTION JJFTP( buff ) c. Reads one record from FOREIGN TAPE, Assigned MT: TAPE ,c. c.inp. BUFF The buffer to be read into. c.out. JJFTP The number read in, or -1, at EOF. Xc. c. -end.of.info- c. c.Uses JJMESS to print out message c. Lc.  implicit integer (a-z)  character*(*) buff xC C ********************************************************** @C  PARAMETER EOF='870'X  PARAMETER NOLOGNAM='908'X !RETURN CODE l PARAMETER NOPRIV = '24'X !RETURN CODE  PARAMETER IO$_READLBLK = '21'X !READ LOGICAL BLOCK CODE FOR QIO 4 PARAMETER IO$_REWIND = '24'X !REWIND FUNCTION CODE FOR QIO C  INTEGER*2 ichan,ENDFLAG,IOSB(4) ` INTEGER*4 SYS$ASSIGN,SYS$QIOW,RETCODE,OUTRECD C *************************************************************** ( C. c. if( ichan.eq.0 ) then T ichan = 1 c.  c... Open the tape c. if(.not.jjmess(SYS$ASSIGN('TAPE',ichan,,)) ) goto 9000 H C C REWIND THE TAPE  if(.not.jjmess( SYS$QIOW(,%VAL(ichan),%VAL(IO$_REWIND) t 1 , IOSB, , , , , , , , )) ) goto 9000  write(6,*)' jjftp just rewound TAPE' < endif c. c... Read one block hc.  bufsize = len(buff) 0 if(.not.jjmess(SYS$QIOW(,%VAL(ichan),%VAL(IO$_READLBLK)  1 , iosb, , , %REF(buff(1:1)), %VAL(BUFSIZE), , , , )) ) goto 9000 C \C CHECK FOR EOF  IF(IOSB(1).EQ.EOF)THEN $c. c... end of file c. P JJFTP = -1  else c. |c... data read in c. D JJFTP = iosb(2)  endif C p return c. ------ 8c. 9000 continue  stop dc. ------  end