Hi,
I'm writing an application that reads data from
QIC tapes using the read() system call. I've noticed
that when I encounter either a tape mark (EOF condition)
or an end-of-data condition, the read simply returns 0 bytes.
At this point, is there any way to determine which
of the two events actually occurred?
I've noticed that with 8mm tapes, read returns -1
and errno is set to EIO when the end-of-data is reached,
while running into a tape mark causes read to return 0.
This is nice since I know what was found on the tape.
But I haven't found a way to distinguish between
tape marks and end-of-data on QIC tapes. The rmt man
pages don't seem to help.
I would appreciate any help. Thanks.