/*Spiros Ioannou (sivann@softlab.ntua.gr) */ #include #include #include #include #include main (int argc, char *argv[]) { int fd; int i; struct mtget mtg; struct mtdrivetype_request mtr; struct mtdrivetype mtdt; mtr.mtdtp=&mtdt; mtr.size = sizeof(struct mtdrivetype); if ((fd = open (argv[1], 0)) == -1) { fprintf (stderr, "Cant open device\n"); exit (1); } mtg.mt_bf=-1; i=ioctl (fd, MTIOCGET, &mtg); if (i<0) perror("MTIOCGET"); printf ("Optimum blocking factor:%d\n",mtg.mt_bf); i=ioctl (fd, MTIOCGETDRIVETYPE, &mtr); if (i<0) perror("MTIOCGETDRIVETYPE"); printf ("Drive block size:%d\n",mtr.mtdtp->bsize); printf ("Drive name :%s\n",mtr.mtdtp->name); printf ("Drive max read retries :%d\n",mtr.mtdtp->max_rretries); printf ("Drive max write retries :%d\n",mtr.mtdtp->max_wretries); close (fd); }