Viewing contents of file '../idllib/contrib/groupk/hbread.pro'
;+
; HBR digitized 9-track tape read routine (used by HBRFMT)
;
; Written by Daryl J. Yentis, Naval Research Laboratory, SSD 02/08/83.
; Adapted to IDL by H.C. Wen, 4/18/95
;-
function HBREAD, LU,OBuff, MNFword, Copy, IOS
COMMON HBRFMT, NOVA_
; ON_IOERROR, IO_err ; IDL I/O error
IBUF=NOVA_.NOVABUF+2*NOVA_.C_BUF
NBUF=NOVA_.NOVABUF/2
IOS =0
Buffer = intarr(IBUF/2)
if EOF(LU) then goto, IO_EOF ; End-of-file
READU, LU, Buffer
BYTEORDER, Buffer, /HTONS ; Byte swap on PC,VMS
MNFword = Buffer(0)
OBuff = Buffer(1:NBUF-1)
Copy = Buffer(NBUF:NBUF+NOVA_.C_BUF-1)
IOS = Copy(NOVA_.C_IER)
if (IOS ne 0) then goto, IO_AOS ; AOS I/O error
IOS = N_ELEMENTS( Buffer )
return, 0
IO_EOF: return, 1
IO_AOS: return, 2
IO_ERR: IOS = !ERROR
return, 3
end