Greetings, O Knowledgable Ones
 
I am trying to read DAT's (produced on our HP9000), with tar on the
HP3000.
(Why? because I want to throw the HP9000 away)
 
The DAT's were written by tar as multiple blocks, i.e. 250
subdirectories, each one holding 100 files.
 
So, I need to seek to a specific tape mark (subdirectory), then tell
/bin/tar to -xvf a certain file.
 
So far I have mknod'ed the device as follows mknod "/dev/tape70" 0 70 and
tar -tvf /dev/tape70 shows me the first block of 100 records.
 
I am writing a C program to seek to any block, so that tar can search
that block for the file I want.
 
 -----------------------------------------------------------
 if ((dat=open("/dev/tape70", O_RDONLY) ) == NULL)
    {
      printf("Error opening device!\n");
      return(1);
    }
 
/*
 printf("Read %d", read(dat,&buffer,20));
 printf("Read %s", buffer);
*/
 
 fcomm=7;
 fitem=0;
 for (i=0; i<200; i++)
   FCONTROL(dat,fcomm,&fitem);
 close(dat);
 return(0);
 -----------------------------------------------------------------------
 
The seek from FCONTROL seems to pause between blocks, and then rewinds at
the end.
 
Any help appreciated.
 
Thanks
 
Neil
[log in to unmask]