Lines Matching refs:mtc
3540 struct mtop mtc; in st_ioctl_common() local
3542 if (_IOC_SIZE(cmd_in) != sizeof(mtc)) { in st_ioctl_common()
3547 i = copy_from_user(&mtc, p, sizeof(struct mtop)); in st_ioctl_common()
3553 if (mtc.mt_op == MTSETDRVBUFFER && !capable(CAP_SYS_ADMIN)) { in st_ioctl_common()
3560 (mtc.mt_op != MTSETDRVBUFFER && in st_ioctl_common()
3561 (mtc.mt_count & MT_ST_OPTIONS) == 0)) { in st_ioctl_common()
3569 if (mtc.mt_op == MTFSF || mtc.mt_op == MTFSFM || in st_ioctl_common()
3570 mtc.mt_op == MTEOM) { in st_ioctl_common()
3571 mtc.mt_count -= 1; in st_ioctl_common()
3574 } else if (mtc.mt_op == MTBSF || mtc.mt_op == MTBSFM) { in st_ioctl_common()
3575 mtc.mt_count += 1; in st_ioctl_common()
3581 if (mtc.mt_op == MTSEEK) { in st_ioctl_common()
3587 i = mtc.mt_op == MTREW || mtc.mt_op == MTOFFL || in st_ioctl_common()
3588 mtc.mt_op == MTRETEN || mtc.mt_op == MTEOM || in st_ioctl_common()
3589 mtc.mt_op == MTLOCK || mtc.mt_op == MTLOAD || in st_ioctl_common()
3590 mtc.mt_op == MTFSF || mtc.mt_op == MTFSFM || in st_ioctl_common()
3591 mtc.mt_op == MTBSF || mtc.mt_op == MTBSFM || in st_ioctl_common()
3592 mtc.mt_op == MTCOMPRESSION; in st_ioctl_common()
3600 (mtc.mt_op == MTREW || mtc.mt_op == MTOFFL || in st_ioctl_common()
3601 mtc.mt_op == MTSEEK || in st_ioctl_common()
3602 mtc.mt_op == MTBSF || mtc.mt_op == MTBSFM)) { in st_ioctl_common()
3608 if (mtc.mt_op == MTBSF || mtc.mt_op == MTBSFM) in st_ioctl_common()
3609 mtc.mt_count++; in st_ioctl_common()
3619 if (mtc.mt_op != MTREW && in st_ioctl_common()
3620 mtc.mt_op != MTOFFL && in st_ioctl_common()
3621 mtc.mt_op != MTRETEN && in st_ioctl_common()
3622 mtc.mt_op != MTERASE && in st_ioctl_common()
3623 mtc.mt_op != MTSEEK && in st_ioctl_common()
3624 mtc.mt_op != MTEOM) { in st_ioctl_common()
3633 if (mtc.mt_op != MTNOP && mtc.mt_op != MTSETBLK && in st_ioctl_common()
3634 mtc.mt_op != MTSETDENSITY && mtc.mt_op != MTWSM && in st_ioctl_common()
3635 mtc.mt_op != MTSETDRVBUFFER && mtc.mt_op != MTSETPART) in st_ioctl_common()
3638 if (mtc.mt_op == MTOFFL && STp->door_locked != ST_UNLOCKED) in st_ioctl_common()
3641 if (mtc.mt_op == MTSETDRVBUFFER && in st_ioctl_common()
3642 (mtc.mt_count & MT_ST_OPTIONS) != 0) { in st_ioctl_common()
3643 retval = st_set_options(STp, mtc.mt_count); in st_ioctl_common()
3647 if (mtc.mt_op == MTSETPART) { in st_ioctl_common()
3649 mtc.mt_count < 0 || mtc.mt_count >= ST_NBR_PARTITIONS) { in st_ioctl_common()
3653 if (mtc.mt_count >= STp->nbr_partitions && in st_ioctl_common()
3658 if (mtc.mt_count >= STp->nbr_partitions) { in st_ioctl_common()
3662 STp->new_partition = mtc.mt_count; in st_ioctl_common()
3667 if (mtc.mt_op == MTMKPART) { in st_ioctl_common()
3677 i = partition_tape(STp, mtc.mt_count); in st_ioctl_common()
3688 STp->nbr_partitions = mtc.mt_count != 0 ? 2 : 1; in st_ioctl_common()
3694 if (mtc.mt_op == MTSEEK) { in st_ioctl_common()
3695 i = set_location(STp, mtc.mt_count, STp->new_partition, 0); in st_ioctl_common()
3702 if (mtc.mt_op == MTUNLOAD || mtc.mt_op == MTOFFL) { in st_ioctl_common()
3707 if (mtc.mt_op == MTLOAD) { in st_ioctl_common()
3708 retval = do_load_unload(STp, file, max(1, mtc.mt_count)); in st_ioctl_common()
3712 if (mtc.mt_op == MTLOCK || mtc.mt_op == MTUNLOCK) { in st_ioctl_common()
3713 retval = do_door_lock(STp, (mtc.mt_op == MTLOCK)); in st_ioctl_common()
3723 if (mtc.mt_op == MTCOMPRESSION) in st_ioctl_common()
3724 retval = st_compression(STp, (mtc.mt_count & 1)); in st_ioctl_common()
3726 retval = st_int_ioctl(STp, mtc.mt_op, mtc.mt_count); in st_ioctl_common()