using ioctl in C to talk to Xylogics tape

Joao Lin Yun yun at bu-ast.bu.edu
Wed Jun 5 04:40:00 AEST 1991


One of my users is having problems posting this message, so I am going to give
it a try.  Please respond to him via e-mail (yun at bu-ast.bu.edu) as he is not a
news reader.  Thanks.  David.
-----

I've been trying to talk to a Xylogics tape drive through a C program including
the command "ioctl". For a reason unknown to me this does not work. I keep
getting the error message: "Inappropriate ioctl for device"
Here is the relevant piece of code that I'm using:

   struct mtop op;

         *fd = open("/dev/nrmt0", O_RDWR);

      op.mt_op = MTREW;
      *status = ioctl(*fd, MTIOCTOP, &op);
      if (*status < 0) {
         perror("mtio:");
         return;

The "open" command is successful (it returns a value of fd=8) but after that
any magtape opeartion that I try to do using "ioctl" gives an error:

	"mtio: Inappropriate ioctl for device"


The poeople from whom I got the code guarantee me that the code is working fine
with their SCSI tape drive (with /dev/nrst8 instead of /dev/nrmt0). After 
trying everything that seemed likely to be the problem, I have no idea of why 
it doesn't work. Can someone help finding the problem and a its solution?
Thanks!


--
David Bradford                          Internet: bradford at bu-ast.bu.edu
Systems Manager                         BITnet:   bradford at buasta
Astronomy Department                    SPAN:     buasta::bradford
Boston University                       Phone:    (617)353-4884




More information about the Comp.sys.sun mailing list