Lines Matching +full:clip +full:- +full:x +full:- +full:high
1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
4 * Copyright (c) 1994-1995 Søren Schmidt
93 .high = LINUX_IOCTL_ ## SHORTNAME ## _MAX, \
126 .high = LINUX_IOCTL_TERMIO_MAX },
169 error = fget(td, args->fd, &cap_ioctl_rights, &fp); in linux_ioctl_hdio()
172 switch (args->cmd & 0xffff) { in linux_ioctl_hdio()
176 (caddr_t)&mediasize, td->td_ucred, td); in linux_ioctl_hdio()
179 (caddr_t)§orsize, td->td_ucred, td); in linux_ioctl_hdio()
182 (caddr_t)&fwheads, td->td_ucred, td); in linux_ioctl_hdio()
185 (caddr_t)&fwsectors, td->td_ucred, td); in linux_ioctl_hdio()
189 * for slices or partitions, only the per-disk raw devices. in linux_ioctl_hdio()
201 * All internal calculations should have 64-bit precision. in linux_ioctl_hdio()
206 if ((args->cmd & 0xffff) == LINUX_HDIO_GET_GEO) { in linux_ioctl_hdio()
213 error = copyout(&hdg, (void *)args->arg, sizeof(hdg)); in linux_ioctl_hdio()
214 } else if ((args->cmd & 0xffff) == LINUX_HDIO_GET_GEO_BIG) { in linux_ioctl_hdio()
222 error = copyout(&hdbg, (void *)args->arg, sizeof(hdbg)); in linux_ioctl_hdio()
229 "%s fd=%d, cmd=0x%x ('%c',%d) is not implemented", in linux_ioctl_hdio()
230 __func__, args->fd, args->cmd, in linux_ioctl_hdio()
231 (int)(args->cmd & 0xff00) >> 8, in linux_ioctl_hdio()
232 (int)(args->cmd & 0xff)); in linux_ioctl_hdio()
248 error = fget(td, args->fd, &cap_ioctl_rights, &fp); in linux_ioctl_disk()
251 switch (args->cmd & 0xffff) { in linux_ioctl_disk()
254 (caddr_t)§orsize, td->td_ucred, td); in linux_ioctl_disk()
257 (caddr_t)&mediasize, td->td_ucred, td); in linux_ioctl_disk()
265 return (copyout(§orsize, (void *)args->arg, in linux_ioctl_disk()
270 (caddr_t)&mediasize, td->td_ucred, td); in linux_ioctl_disk()
275 return (copyout(&blksize64, (void *)args->arg, in linux_ioctl_disk()
279 (caddr_t)§orsize, td->td_ucred, td); in linux_ioctl_disk()
283 return (copyout(§orsize, (void *)args->arg, in linux_ioctl_disk()
288 (caddr_t)&stripesize, td->td_ucred, td); in linux_ioctl_disk()
297 (caddr_t)§orsize, td->td_ucred, td); in linux_ioctl_disk()
305 return (copyout(&psectorsize, (void *)args->arg, in linux_ioctl_disk()
354 {-1, -1 }
377 for ( ; table->sp_code != -1; table++) in linux_to_bsd_speed()
378 if (table->sp_code == code) in linux_to_bsd_speed()
379 return (table->sp_speed); in linux_to_bsd_speed()
380 return (-1); in linux_to_bsd_speed()
386 for ( ; table->sp_speed != -1; table++) in bsd_to_linux_speed()
387 if (table->sp_speed == speed) in bsd_to_linux_speed()
388 return (table->sp_code); in bsd_to_linux_speed()
389 return (-1); in bsd_to_linux_speed()
397 lios->c_iflag = 0; in bsd_to_linux_termios()
398 if (bios->c_iflag & IGNBRK) in bsd_to_linux_termios()
399 lios->c_iflag |= LINUX_IGNBRK; in bsd_to_linux_termios()
400 if (bios->c_iflag & BRKINT) in bsd_to_linux_termios()
401 lios->c_iflag |= LINUX_BRKINT; in bsd_to_linux_termios()
402 if (bios->c_iflag & IGNPAR) in bsd_to_linux_termios()
403 lios->c_iflag |= LINUX_IGNPAR; in bsd_to_linux_termios()
404 if (bios->c_iflag & PARMRK) in bsd_to_linux_termios()
405 lios->c_iflag |= LINUX_PARMRK; in bsd_to_linux_termios()
406 if (bios->c_iflag & INPCK) in bsd_to_linux_termios()
407 lios->c_iflag |= LINUX_INPCK; in bsd_to_linux_termios()
408 if (bios->c_iflag & ISTRIP) in bsd_to_linux_termios()
409 lios->c_iflag |= LINUX_ISTRIP; in bsd_to_linux_termios()
410 if (bios->c_iflag & INLCR) in bsd_to_linux_termios()
411 lios->c_iflag |= LINUX_INLCR; in bsd_to_linux_termios()
412 if (bios->c_iflag & IGNCR) in bsd_to_linux_termios()
413 lios->c_iflag |= LINUX_IGNCR; in bsd_to_linux_termios()
414 if (bios->c_iflag & ICRNL) in bsd_to_linux_termios()
415 lios->c_iflag |= LINUX_ICRNL; in bsd_to_linux_termios()
416 if (bios->c_iflag & IXON) in bsd_to_linux_termios()
417 lios->c_iflag |= LINUX_IXON; in bsd_to_linux_termios()
418 if (bios->c_iflag & IXANY) in bsd_to_linux_termios()
419 lios->c_iflag |= LINUX_IXANY; in bsd_to_linux_termios()
420 if (bios->c_iflag & IXOFF) in bsd_to_linux_termios()
421 lios->c_iflag |= LINUX_IXOFF; in bsd_to_linux_termios()
422 if (bios->c_iflag & IMAXBEL) in bsd_to_linux_termios()
423 lios->c_iflag |= LINUX_IMAXBEL; in bsd_to_linux_termios()
424 if (bios->c_iflag & IUTF8) in bsd_to_linux_termios()
425 lios->c_iflag |= LINUX_IUTF8; in bsd_to_linux_termios()
427 lios->c_oflag = 0; in bsd_to_linux_termios()
428 if (bios->c_oflag & OPOST) in bsd_to_linux_termios()
429 lios->c_oflag |= LINUX_OPOST; in bsd_to_linux_termios()
430 if (bios->c_oflag & ONLCR) in bsd_to_linux_termios()
431 lios->c_oflag |= LINUX_ONLCR; in bsd_to_linux_termios()
432 if (bios->c_oflag & TAB3) in bsd_to_linux_termios()
433 lios->c_oflag |= LINUX_XTABS; in bsd_to_linux_termios()
435 lios->c_cflag = bsd_to_linux_speed(bios->c_ispeed, sptab); in bsd_to_linux_termios()
436 lios->c_cflag |= (bios->c_cflag & CSIZE) >> 4; in bsd_to_linux_termios()
437 if (bios->c_cflag & CSTOPB) in bsd_to_linux_termios()
438 lios->c_cflag |= LINUX_CSTOPB; in bsd_to_linux_termios()
439 if (bios->c_cflag & CREAD) in bsd_to_linux_termios()
440 lios->c_cflag |= LINUX_CREAD; in bsd_to_linux_termios()
441 if (bios->c_cflag & PARENB) in bsd_to_linux_termios()
442 lios->c_cflag |= LINUX_PARENB; in bsd_to_linux_termios()
443 if (bios->c_cflag & PARODD) in bsd_to_linux_termios()
444 lios->c_cflag |= LINUX_PARODD; in bsd_to_linux_termios()
445 if (bios->c_cflag & HUPCL) in bsd_to_linux_termios()
446 lios->c_cflag |= LINUX_HUPCL; in bsd_to_linux_termios()
447 if (bios->c_cflag & CLOCAL) in bsd_to_linux_termios()
448 lios->c_cflag |= LINUX_CLOCAL; in bsd_to_linux_termios()
449 if (bios->c_cflag & CRTSCTS) in bsd_to_linux_termios()
450 lios->c_cflag |= LINUX_CRTSCTS; in bsd_to_linux_termios()
452 lios->c_lflag = 0; in bsd_to_linux_termios()
453 if (bios->c_lflag & ISIG) in bsd_to_linux_termios()
454 lios->c_lflag |= LINUX_ISIG; in bsd_to_linux_termios()
455 if (bios->c_lflag & ICANON) in bsd_to_linux_termios()
456 lios->c_lflag |= LINUX_ICANON; in bsd_to_linux_termios()
457 if (bios->c_lflag & ECHO) in bsd_to_linux_termios()
458 lios->c_lflag |= LINUX_ECHO; in bsd_to_linux_termios()
459 if (bios->c_lflag & ECHOE) in bsd_to_linux_termios()
460 lios->c_lflag |= LINUX_ECHOE; in bsd_to_linux_termios()
461 if (bios->c_lflag & ECHOK) in bsd_to_linux_termios()
462 lios->c_lflag |= LINUX_ECHOK; in bsd_to_linux_termios()
463 if (bios->c_lflag & ECHONL) in bsd_to_linux_termios()
464 lios->c_lflag |= LINUX_ECHONL; in bsd_to_linux_termios()
465 if (bios->c_lflag & NOFLSH) in bsd_to_linux_termios()
466 lios->c_lflag |= LINUX_NOFLSH; in bsd_to_linux_termios()
467 if (bios->c_lflag & TOSTOP) in bsd_to_linux_termios()
468 lios->c_lflag |= LINUX_TOSTOP; in bsd_to_linux_termios()
469 if (bios->c_lflag & ECHOCTL) in bsd_to_linux_termios()
470 lios->c_lflag |= LINUX_ECHOCTL; in bsd_to_linux_termios()
471 if (bios->c_lflag & ECHOPRT) in bsd_to_linux_termios()
472 lios->c_lflag |= LINUX_ECHOPRT; in bsd_to_linux_termios()
473 if (bios->c_lflag & ECHOKE) in bsd_to_linux_termios()
474 lios->c_lflag |= LINUX_ECHOKE; in bsd_to_linux_termios()
475 if (bios->c_lflag & FLUSHO) in bsd_to_linux_termios()
476 lios->c_lflag |= LINUX_FLUSHO; in bsd_to_linux_termios()
477 if (bios->c_lflag & PENDIN) in bsd_to_linux_termios()
478 lios->c_lflag |= LINUX_PENDIN; in bsd_to_linux_termios()
479 if (bios->c_lflag & IEXTEN) in bsd_to_linux_termios()
480 lios->c_lflag |= LINUX_IEXTEN; in bsd_to_linux_termios()
483 lios->c_cc[i] = LINUX_POSIX_VDISABLE; in bsd_to_linux_termios()
484 lios->c_cc[LINUX_VINTR] = bios->c_cc[VINTR]; in bsd_to_linux_termios()
485 lios->c_cc[LINUX_VQUIT] = bios->c_cc[VQUIT]; in bsd_to_linux_termios()
486 lios->c_cc[LINUX_VERASE] = bios->c_cc[VERASE]; in bsd_to_linux_termios()
487 lios->c_cc[LINUX_VKILL] = bios->c_cc[VKILL]; in bsd_to_linux_termios()
488 lios->c_cc[LINUX_VEOF] = bios->c_cc[VEOF]; in bsd_to_linux_termios()
489 lios->c_cc[LINUX_VEOL] = bios->c_cc[VEOL]; in bsd_to_linux_termios()
490 lios->c_cc[LINUX_VMIN] = bios->c_cc[VMIN]; in bsd_to_linux_termios()
491 lios->c_cc[LINUX_VTIME] = bios->c_cc[VTIME]; in bsd_to_linux_termios()
492 lios->c_cc[LINUX_VEOL2] = bios->c_cc[VEOL2]; in bsd_to_linux_termios()
493 lios->c_cc[LINUX_VSUSP] = bios->c_cc[VSUSP]; in bsd_to_linux_termios()
494 lios->c_cc[LINUX_VSTART] = bios->c_cc[VSTART]; in bsd_to_linux_termios()
495 lios->c_cc[LINUX_VSTOP] = bios->c_cc[VSTOP]; in bsd_to_linux_termios()
496 lios->c_cc[LINUX_VREPRINT] = bios->c_cc[VREPRINT]; in bsd_to_linux_termios()
497 lios->c_cc[LINUX_VDISCARD] = bios->c_cc[VDISCARD]; in bsd_to_linux_termios()
498 lios->c_cc[LINUX_VWERASE] = bios->c_cc[VWERASE]; in bsd_to_linux_termios()
499 lios->c_cc[LINUX_VLNEXT] = bios->c_cc[VLNEXT]; in bsd_to_linux_termios()
501 lios->c_cc[LINUX_VSTATUS] = bios->c_cc[VSTATUS]; in bsd_to_linux_termios()
505 lios->c_cc[i] == _POSIX_VDISABLE) in bsd_to_linux_termios()
506 lios->c_cc[i] = LINUX_POSIX_VDISABLE; in bsd_to_linux_termios()
508 lios->c_line = 0; in bsd_to_linux_termios()
516 bios->c_iflag = 0; in linux_to_bsd_termios()
517 if (lios->c_iflag & LINUX_IGNBRK) in linux_to_bsd_termios()
518 bios->c_iflag |= IGNBRK; in linux_to_bsd_termios()
519 if (lios->c_iflag & LINUX_BRKINT) in linux_to_bsd_termios()
520 bios->c_iflag |= BRKINT; in linux_to_bsd_termios()
521 if (lios->c_iflag & LINUX_IGNPAR) in linux_to_bsd_termios()
522 bios->c_iflag |= IGNPAR; in linux_to_bsd_termios()
523 if (lios->c_iflag & LINUX_PARMRK) in linux_to_bsd_termios()
524 bios->c_iflag |= PARMRK; in linux_to_bsd_termios()
525 if (lios->c_iflag & LINUX_INPCK) in linux_to_bsd_termios()
526 bios->c_iflag |= INPCK; in linux_to_bsd_termios()
527 if (lios->c_iflag & LINUX_ISTRIP) in linux_to_bsd_termios()
528 bios->c_iflag |= ISTRIP; in linux_to_bsd_termios()
529 if (lios->c_iflag & LINUX_INLCR) in linux_to_bsd_termios()
530 bios->c_iflag |= INLCR; in linux_to_bsd_termios()
531 if (lios->c_iflag & LINUX_IGNCR) in linux_to_bsd_termios()
532 bios->c_iflag |= IGNCR; in linux_to_bsd_termios()
533 if (lios->c_iflag & LINUX_ICRNL) in linux_to_bsd_termios()
534 bios->c_iflag |= ICRNL; in linux_to_bsd_termios()
535 if (lios->c_iflag & LINUX_IXON) in linux_to_bsd_termios()
536 bios->c_iflag |= IXON; in linux_to_bsd_termios()
537 if (lios->c_iflag & LINUX_IXANY) in linux_to_bsd_termios()
538 bios->c_iflag |= IXANY; in linux_to_bsd_termios()
539 if (lios->c_iflag & LINUX_IXOFF) in linux_to_bsd_termios()
540 bios->c_iflag |= IXOFF; in linux_to_bsd_termios()
541 if (lios->c_iflag & LINUX_IMAXBEL) in linux_to_bsd_termios()
542 bios->c_iflag |= IMAXBEL; in linux_to_bsd_termios()
543 if (lios->c_iflag & LINUX_IUTF8) in linux_to_bsd_termios()
544 bios->c_iflag |= IUTF8; in linux_to_bsd_termios()
546 bios->c_oflag = 0; in linux_to_bsd_termios()
547 if (lios->c_oflag & LINUX_OPOST) in linux_to_bsd_termios()
548 bios->c_oflag |= OPOST; in linux_to_bsd_termios()
549 if (lios->c_oflag & LINUX_ONLCR) in linux_to_bsd_termios()
550 bios->c_oflag |= ONLCR; in linux_to_bsd_termios()
551 if (lios->c_oflag & LINUX_XTABS) in linux_to_bsd_termios()
552 bios->c_oflag |= TAB3; in linux_to_bsd_termios()
554 bios->c_cflag = (lios->c_cflag & LINUX_CSIZE) << 4; in linux_to_bsd_termios()
555 if (lios->c_cflag & LINUX_CSTOPB) in linux_to_bsd_termios()
556 bios->c_cflag |= CSTOPB; in linux_to_bsd_termios()
557 if (lios->c_cflag & LINUX_CREAD) in linux_to_bsd_termios()
558 bios->c_cflag |= CREAD; in linux_to_bsd_termios()
559 if (lios->c_cflag & LINUX_PARENB) in linux_to_bsd_termios()
560 bios->c_cflag |= PARENB; in linux_to_bsd_termios()
561 if (lios->c_cflag & LINUX_PARODD) in linux_to_bsd_termios()
562 bios->c_cflag |= PARODD; in linux_to_bsd_termios()
563 if (lios->c_cflag & LINUX_HUPCL) in linux_to_bsd_termios()
564 bios->c_cflag |= HUPCL; in linux_to_bsd_termios()
565 if (lios->c_cflag & LINUX_CLOCAL) in linux_to_bsd_termios()
566 bios->c_cflag |= CLOCAL; in linux_to_bsd_termios()
567 if (lios->c_cflag & LINUX_CRTSCTS) in linux_to_bsd_termios()
568 bios->c_cflag |= CRTSCTS; in linux_to_bsd_termios()
570 bios->c_lflag = 0; in linux_to_bsd_termios()
571 if (lios->c_lflag & LINUX_ISIG) in linux_to_bsd_termios()
572 bios->c_lflag |= ISIG; in linux_to_bsd_termios()
573 if (lios->c_lflag & LINUX_ICANON) in linux_to_bsd_termios()
574 bios->c_lflag |= ICANON; in linux_to_bsd_termios()
575 if (lios->c_lflag & LINUX_ECHO) in linux_to_bsd_termios()
576 bios->c_lflag |= ECHO; in linux_to_bsd_termios()
577 if (lios->c_lflag & LINUX_ECHOE) in linux_to_bsd_termios()
578 bios->c_lflag |= ECHOE; in linux_to_bsd_termios()
579 if (lios->c_lflag & LINUX_ECHOK) in linux_to_bsd_termios()
580 bios->c_lflag |= ECHOK; in linux_to_bsd_termios()
581 if (lios->c_lflag & LINUX_ECHONL) in linux_to_bsd_termios()
582 bios->c_lflag |= ECHONL; in linux_to_bsd_termios()
583 if (lios->c_lflag & LINUX_NOFLSH) in linux_to_bsd_termios()
584 bios->c_lflag |= NOFLSH; in linux_to_bsd_termios()
585 if (lios->c_lflag & LINUX_TOSTOP) in linux_to_bsd_termios()
586 bios->c_lflag |= TOSTOP; in linux_to_bsd_termios()
587 if (lios->c_lflag & LINUX_ECHOCTL) in linux_to_bsd_termios()
588 bios->c_lflag |= ECHOCTL; in linux_to_bsd_termios()
589 if (lios->c_lflag & LINUX_ECHOPRT) in linux_to_bsd_termios()
590 bios->c_lflag |= ECHOPRT; in linux_to_bsd_termios()
591 if (lios->c_lflag & LINUX_ECHOKE) in linux_to_bsd_termios()
592 bios->c_lflag |= ECHOKE; in linux_to_bsd_termios()
593 if (lios->c_lflag & LINUX_FLUSHO) in linux_to_bsd_termios()
594 bios->c_lflag |= FLUSHO; in linux_to_bsd_termios()
595 if (lios->c_lflag & LINUX_PENDIN) in linux_to_bsd_termios()
596 bios->c_lflag |= PENDIN; in linux_to_bsd_termios()
597 if (lios->c_lflag & LINUX_IEXTEN) in linux_to_bsd_termios()
598 bios->c_lflag |= IEXTEN; in linux_to_bsd_termios()
601 bios->c_cc[i] = _POSIX_VDISABLE; in linux_to_bsd_termios()
602 bios->c_cc[VINTR] = lios->c_cc[LINUX_VINTR]; in linux_to_bsd_termios()
603 bios->c_cc[VQUIT] = lios->c_cc[LINUX_VQUIT]; in linux_to_bsd_termios()
604 bios->c_cc[VERASE] = lios->c_cc[LINUX_VERASE]; in linux_to_bsd_termios()
605 bios->c_cc[VKILL] = lios->c_cc[LINUX_VKILL]; in linux_to_bsd_termios()
606 bios->c_cc[VEOF] = lios->c_cc[LINUX_VEOF]; in linux_to_bsd_termios()
607 bios->c_cc[VEOL] = lios->c_cc[LINUX_VEOL]; in linux_to_bsd_termios()
608 bios->c_cc[VMIN] = lios->c_cc[LINUX_VMIN]; in linux_to_bsd_termios()
609 bios->c_cc[VTIME] = lios->c_cc[LINUX_VTIME]; in linux_to_bsd_termios()
610 bios->c_cc[VEOL2] = lios->c_cc[LINUX_VEOL2]; in linux_to_bsd_termios()
611 bios->c_cc[VSUSP] = lios->c_cc[LINUX_VSUSP]; in linux_to_bsd_termios()
612 bios->c_cc[VSTART] = lios->c_cc[LINUX_VSTART]; in linux_to_bsd_termios()
613 bios->c_cc[VSTOP] = lios->c_cc[LINUX_VSTOP]; in linux_to_bsd_termios()
614 bios->c_cc[VREPRINT] = lios->c_cc[LINUX_VREPRINT]; in linux_to_bsd_termios()
615 bios->c_cc[VDISCARD] = lios->c_cc[LINUX_VDISCARD]; in linux_to_bsd_termios()
616 bios->c_cc[VWERASE] = lios->c_cc[LINUX_VWERASE]; in linux_to_bsd_termios()
617 bios->c_cc[VLNEXT] = lios->c_cc[LINUX_VLNEXT]; in linux_to_bsd_termios()
619 bios->c_cc[VSTATUS] = lios->c_cc[LINUX_VSTATUS]; in linux_to_bsd_termios()
623 bios->c_cc[i] == LINUX_POSIX_VDISABLE) in linux_to_bsd_termios()
624 bios->c_cc[i] = _POSIX_VDISABLE; in linux_to_bsd_termios()
627 bios->c_ispeed = bios->c_ospeed = in linux_to_bsd_termios()
628 linux_to_bsd_speed(lios->c_cflag & LINUX_CBAUD, sptab); in linux_to_bsd_termios()
638 lio->c_iflag = lios.c_iflag; in bsd_to_linux_termio()
639 lio->c_oflag = lios.c_oflag; in bsd_to_linux_termio()
640 lio->c_cflag = lios.c_cflag; in bsd_to_linux_termio()
641 lio->c_lflag = lios.c_lflag; in bsd_to_linux_termio()
642 lio->c_line = lios.c_line; in bsd_to_linux_termio()
643 memcpy(lio->c_cc, lios.c_cc, LINUX_NCC); in bsd_to_linux_termio()
652 lios.c_iflag = lio->c_iflag; in linux_to_bsd_termio()
653 lios.c_oflag = lio->c_oflag; in linux_to_bsd_termio()
654 lios.c_cflag = lio->c_cflag; in linux_to_bsd_termio()
655 lios.c_lflag = lio->c_lflag; in linux_to_bsd_termio()
658 memcpy(lios.c_cc, lio->c_cc, LINUX_NCC); in linux_to_bsd_termio()
671 error = fget(td, args->fd, &cap_ioctl_rights, &fp); in linux_ioctl_termio()
675 switch (args->cmd & 0xffff) { in linux_ioctl_termio()
677 error = fo_ioctl(fp, TIOCGETA, (caddr_t)&bios, td->td_ucred, in linux_ioctl_termio()
682 error = copyout(&lios, (void *)args->arg, sizeof(lios)); in linux_ioctl_termio()
686 error = copyin((void *)args->arg, &lios, sizeof(lios)); in linux_ioctl_termio()
690 error = (fo_ioctl(fp, TIOCSETA, (caddr_t)&bios, td->td_ucred, in linux_ioctl_termio()
695 error = copyin((void *)args->arg, &lios, sizeof(lios)); in linux_ioctl_termio()
699 error = (fo_ioctl(fp, TIOCSETAW, (caddr_t)&bios, td->td_ucred, in linux_ioctl_termio()
704 error = copyin((void *)args->arg, &lios, sizeof(lios)); in linux_ioctl_termio()
708 error = (fo_ioctl(fp, TIOCSETAF, (caddr_t)&bios, td->td_ucred, in linux_ioctl_termio()
713 error = fo_ioctl(fp, TIOCGETA, (caddr_t)&bios, td->td_ucred, in linux_ioctl_termio()
718 error = (copyout(&lio, (void *)args->arg, sizeof(lio))); in linux_ioctl_termio()
722 error = copyin((void *)args->arg, &lio, sizeof(lio)); in linux_ioctl_termio()
726 error = (fo_ioctl(fp, TIOCSETA, (caddr_t)&bios, td->td_ucred, in linux_ioctl_termio()
731 error = copyin((void *)args->arg, &lio, sizeof(lio)); in linux_ioctl_termio()
735 error = (fo_ioctl(fp, TIOCSETAW, (caddr_t)&bios, td->td_ucred, in linux_ioctl_termio()
740 error = copyin((void *)args->arg, &lio, sizeof(lio)); in linux_ioctl_termio()
744 error = (fo_ioctl(fp, TIOCSETAF, (caddr_t)&bios, td->td_ucred, in linux_ioctl_termio()
749 if (args->arg != 0) { in linux_ioctl_termio()
750 error = (fo_ioctl(fp, TIOCDRAIN, (caddr_t)&bios, td->td_ucred, in linux_ioctl_termio()
759 switch (args->arg) { in linux_ioctl_termio()
761 args->cmd = TIOCSTOP; in linux_ioctl_termio()
764 args->cmd = TIOCSTART; in linux_ioctl_termio()
771 td->td_ucred, td); in linux_ioctl_termio()
775 c = (args->arg == LINUX_TCIOFF) ? VSTOP : VSTART; in linux_ioctl_termio()
778 wr.fd = args->fd; in linux_ioctl_termio()
789 args->arg = 0; in linux_ioctl_termio()
796 switch (args->arg) { in linux_ioctl_termio()
810 error = (fo_ioctl(fp,TIOCFLUSH,(caddr_t)&val,td->td_ucred,td)); in linux_ioctl_termio()
815 args->cmd = TIOCEXCL; in linux_ioctl_termio()
820 args->cmd = TIOCNXCL; in linux_ioctl_termio()
825 args->cmd = TIOCSCTTY; in linux_ioctl_termio()
830 args->cmd = TIOCGPGRP; in linux_ioctl_termio()
835 args->cmd = TIOCSPGRP; in linux_ioctl_termio()
843 args->cmd = TIOCGWINSZ; in linux_ioctl_termio()
848 args->cmd = TIOCSWINSZ; in linux_ioctl_termio()
853 args->cmd = TIOCMGET; in linux_ioctl_termio()
858 args->cmd = TIOCMBIS; in linux_ioctl_termio()
863 args->cmd = TIOCMBIC; in linux_ioctl_termio()
868 args->cmd = TIOCMSET; in linux_ioctl_termio()
876 args->cmd = FIONREAD; in linux_ioctl_termio()
883 args->cmd = TIOCCONS; in linux_ioctl_termio()
894 error = copyout(&lss, (void *)args->arg, sizeof(lss)); in linux_ioctl_termio()
900 error = copyin((void *)args->arg, &lss, sizeof(lss)); in linux_ioctl_termio()
903 /* XXX - It really helps to have an implementation that in linux_ioctl_termio()
911 args->cmd = TIOCPKT; in linux_ioctl_termio()
916 args->cmd = FIONBIO; in linux_ioctl_termio()
921 args->cmd = TIOCNOTTY; in linux_ioctl_termio()
927 switch (args->arg) { in linux_ioctl_termio()
941 error = (fo_ioctl(fp, TIOCSETD, (caddr_t)&line, td->td_ucred, in linux_ioctl_termio()
950 td->td_ucred, td); in linux_ioctl_termio()
967 error = (copyout(&linux_line, (void *)args->arg, sizeof(int))); in linux_ioctl_termio()
975 args->cmd = FIONCLEX; in linux_ioctl_termio()
980 args->cmd = FIOCLEX; in linux_ioctl_termio()
985 args->cmd = FIOASYNC; in linux_ioctl_termio()
996 args->cmd = TIOCSBRK; in linux_ioctl_termio()
1001 args->cmd = TIOCCBRK; in linux_ioctl_termio()
1007 error = fo_ioctl(fp, TIOCGPTN, (caddr_t)&nb, td->td_ucred, td); in linux_ioctl_termio()
1009 error = copyout(&nb, (void *)args->arg, in linux_ioctl_termio()
1020 * to a pseudo-terminal master device. in linux_ioctl_termio()
1022 args->cmd = TIOCPTMASTER; in linux_ioctl_termio()
1222 lp->lba = bp->lba; in bsd_to_linux_msf_lba()
1224 lp->msf.minute = bp->msf.minute; in bsd_to_linux_msf_lba()
1225 lp->msf.second = bp->msf.second; in bsd_to_linux_msf_lba()
1226 lp->msf.frame = bp->msf.frame; in bsd_to_linux_msf_lba()
1234 addr->msf.frame = lba % 75; in set_linux_cdrom_addr()
1237 addr->msf.second = lba % 60; in set_linux_cdrom_addr()
1238 addr->msf.minute = lba / 60; in set_linux_cdrom_addr()
1240 addr->lba = lba; in set_linux_cdrom_addr()
1246 bp->format = lp->type; in linux_to_bsd_dvd_struct()
1247 switch (bp->format) { in linux_to_bsd_dvd_struct()
1249 if (bp->layer_num >= 4) in linux_to_bsd_dvd_struct()
1251 bp->layer_num = lp->physical.layer_num; in linux_to_bsd_dvd_struct()
1254 bp->layer_num = lp->copyright.layer_num; in linux_to_bsd_dvd_struct()
1257 bp->agid = lp->disckey.agid; in linux_to_bsd_dvd_struct()
1271 switch (bp->format) { in bsd_to_linux_dvd_struct()
1273 struct dvd_layer *blp = (struct dvd_layer *)bp->data; in bsd_to_linux_dvd_struct()
1274 struct l_dvd_layer *llp = &lp->physical.layer[bp->layer_num]; in bsd_to_linux_dvd_struct()
1276 llp->book_version = blp->book_version; in bsd_to_linux_dvd_struct()
1277 llp->book_type = blp->book_type; in bsd_to_linux_dvd_struct()
1278 llp->min_rate = blp->max_rate; in bsd_to_linux_dvd_struct()
1279 llp->disc_size = blp->disc_size; in bsd_to_linux_dvd_struct()
1280 llp->layer_type = blp->layer_type; in bsd_to_linux_dvd_struct()
1281 llp->track_path = blp->track_path; in bsd_to_linux_dvd_struct()
1282 llp->nlayers = blp->nlayers; in bsd_to_linux_dvd_struct()
1283 llp->track_density = blp->track_density; in bsd_to_linux_dvd_struct()
1284 llp->linear_density = blp->linear_density; in bsd_to_linux_dvd_struct()
1285 llp->bca = blp->bca; in bsd_to_linux_dvd_struct()
1286 llp->start_sector = blp->start_sector; in bsd_to_linux_dvd_struct()
1287 llp->end_sector = blp->end_sector; in bsd_to_linux_dvd_struct()
1288 llp->end_sector_l0 = blp->end_sector_l0; in bsd_to_linux_dvd_struct()
1292 lp->copyright.cpst = bp->cpst; in bsd_to_linux_dvd_struct()
1293 lp->copyright.rmi = bp->rmi; in bsd_to_linux_dvd_struct()
1296 memcpy(lp->disckey.value, bp->data, sizeof(lp->disckey.value)); in bsd_to_linux_dvd_struct()
1299 lp->bca.len = bp->length; in bsd_to_linux_dvd_struct()
1300 memcpy(lp->bca.value, bp->data, sizeof(lp->bca.value)); in bsd_to_linux_dvd_struct()
1303 lp->manufact.len = bp->length; in bsd_to_linux_dvd_struct()
1304 memcpy(lp->manufact.value, bp->data, in bsd_to_linux_dvd_struct()
1305 sizeof(lp->manufact.value)); in bsd_to_linux_dvd_struct()
1306 /* lp->manufact.layer_num is unused in Linux (redhat 7.0). */ in bsd_to_linux_dvd_struct()
1318 switch (lp->type) { in linux_to_bsd_dvd_authinfo()
1321 bp->format = DVD_REPORT_AGID; in linux_to_bsd_dvd_authinfo()
1322 bp->agid = lp->lsa.agid; in linux_to_bsd_dvd_authinfo()
1326 bp->format = DVD_SEND_CHALLENGE; in linux_to_bsd_dvd_authinfo()
1327 bp->agid = lp->hsc.agid; in linux_to_bsd_dvd_authinfo()
1328 memcpy(bp->keychal, lp->hsc.chal, 10); in linux_to_bsd_dvd_authinfo()
1332 bp->format = DVD_REPORT_KEY1; in linux_to_bsd_dvd_authinfo()
1333 bp->agid = lp->lsk.agid; in linux_to_bsd_dvd_authinfo()
1337 bp->format = DVD_REPORT_CHALLENGE; in linux_to_bsd_dvd_authinfo()
1338 bp->agid = lp->lsc.agid; in linux_to_bsd_dvd_authinfo()
1342 bp->format = DVD_SEND_KEY2; in linux_to_bsd_dvd_authinfo()
1343 bp->agid = lp->hsk.agid; in linux_to_bsd_dvd_authinfo()
1344 memcpy(bp->keychal, lp->hsk.key, 5); in linux_to_bsd_dvd_authinfo()
1348 bp->format = DVD_REPORT_TITLE_KEY; in linux_to_bsd_dvd_authinfo()
1349 bp->agid = lp->lstk.agid; in linux_to_bsd_dvd_authinfo()
1350 bp->lba = lp->lstk.lba; in linux_to_bsd_dvd_authinfo()
1354 bp->format = DVD_REPORT_ASF; in linux_to_bsd_dvd_authinfo()
1355 bp->agid = lp->lsasf.agid; in linux_to_bsd_dvd_authinfo()
1359 bp->format = DVD_INVALIDATE_AGID; in linux_to_bsd_dvd_authinfo()
1360 bp->agid = lp->lsa.agid; in linux_to_bsd_dvd_authinfo()
1364 bp->format = DVD_REPORT_RPC; in linux_to_bsd_dvd_authinfo()
1368 bp->format = DVD_SEND_RPC; in linux_to_bsd_dvd_authinfo()
1369 bp->region = lp->hrpcs.pdrc; in linux_to_bsd_dvd_authinfo()
1380 switch (lp->type) { in bsd_to_linux_dvd_authinfo()
1382 lp->lsa.agid = bp->agid; in bsd_to_linux_dvd_authinfo()
1385 lp->type = LINUX_DVD_LU_SEND_KEY1; in bsd_to_linux_dvd_authinfo()
1388 memcpy(lp->lsk.key, bp->keychal, sizeof(lp->lsk.key)); in bsd_to_linux_dvd_authinfo()
1391 memcpy(lp->lsc.chal, bp->keychal, sizeof(lp->lsc.chal)); in bsd_to_linux_dvd_authinfo()
1394 lp->type = LINUX_DVD_AUTH_ESTABLISHED; in bsd_to_linux_dvd_authinfo()
1397 memcpy(lp->lstk.title_key, bp->keychal, in bsd_to_linux_dvd_authinfo()
1398 sizeof(lp->lstk.title_key)); in bsd_to_linux_dvd_authinfo()
1399 lp->lstk.cpm = bp->cpm; in bsd_to_linux_dvd_authinfo()
1400 lp->lstk.cp_sec = bp->cp_sec; in bsd_to_linux_dvd_authinfo()
1401 lp->lstk.cgms = bp->cgms; in bsd_to_linux_dvd_authinfo()
1404 lp->lsasf.asf = bp->asf; in bsd_to_linux_dvd_authinfo()
1409 lp->lrpcs.type = bp->reg_type; in bsd_to_linux_dvd_authinfo()
1410 lp->lrpcs.vra = bp->vend_rsts; in bsd_to_linux_dvd_authinfo()
1411 lp->lrpcs.ucca = bp->user_rsts; in bsd_to_linux_dvd_authinfo()
1412 lp->lrpcs.region_mask = bp->region; in bsd_to_linux_dvd_authinfo()
1413 lp->lrpcs.rpc_scheme = bp->rpc_scheme; in bsd_to_linux_dvd_authinfo()
1429 error = fget(td, args->fd, &cap_ioctl_rights, &fp); in linux_ioctl_cdrom()
1432 switch (args->cmd & 0xffff) { in linux_ioctl_cdrom()
1434 args->cmd = CDIOCPAUSE; in linux_ioctl_cdrom()
1439 args->cmd = CDIOCRESUME; in linux_ioctl_cdrom()
1444 args->cmd = CDIOCPLAYMSF; in linux_ioctl_cdrom()
1449 args->cmd = CDIOCPLAYTRACKS; in linux_ioctl_cdrom()
1457 td->td_ucred, td); in linux_ioctl_cdrom()
1461 error = copyout(<h, (void *)args->arg, sizeof(lth)); in linux_ioctl_cdrom()
1470 error = copyin((void *)args->arg, <e, sizeof(lte)); in linux_ioctl_cdrom()
1476 td->td_ucred, td); in linux_ioctl_cdrom()
1482 error = copyout(<e, (void *)args->arg, sizeof(lte)); in linux_ioctl_cdrom()
1488 args->cmd = CDIOCSTOP; in linux_ioctl_cdrom()
1493 args->cmd = CDIOCSTART; in linux_ioctl_cdrom()
1498 args->cmd = CDIOCEJECT; in linux_ioctl_cdrom()
1509 error = copyin((void *)args->arg, &sc, sizeof(sc)); in linux_ioctl_cdrom()
1523 bsdsc.data = (void *)args->arg; in linux_ioctl_cdrom()
1525 td->td_ucred, td); in linux_ioctl_cdrom()
1528 error = copyin((void *)args->arg, &bsdinfo, sizeof(bsdinfo)); in linux_ioctl_cdrom()
1540 error = copyout(&sc, (void *)args->arg, sizeof(sc)); in linux_ioctl_cdrom()
1552 args->cmd = CDIOCRESET; in linux_ioctl_cdrom()
1585 error = copyin((void *)args->arg, lds, sizeof(*lds)); in linux_ioctl_cdrom()
1592 td->td_ucred, td); in linux_ioctl_cdrom()
1598 error = copyout(lds, (void *)args->arg, sizeof(*lds)); in linux_ioctl_cdrom()
1612 error = copyin((void *)args->arg, &lda, sizeof(lda)); in linux_ioctl_cdrom()
1618 error = fo_ioctl(fp, bcode, (caddr_t)&bda, td->td_ucred, in linux_ioctl_cdrom()
1623 (void)copyout(&lda, (void *)args->arg, in linux_ioctl_cdrom()
1631 error = copyout(&lda, (void *)args->arg, sizeof(lda)); in linux_ioctl_cdrom()
1640 td->td_ucred, td); in linux_ioctl_cdrom()
1643 error = copyout(&id.channel, (void *)args->arg, sizeof(int)); in linux_ioctl_cdrom()
1653 td->td_ucred, td); in linux_ioctl_cdrom()
1659 error = copyout(&idl, (void *)args->arg, sizeof(idl)); in linux_ioctl_cdrom()
1694 #define SETDIR(c) (((c) & ~IOC_DIRMASK) | dirbits[args->cmd >> 30])
1700 switch (args->cmd & 0xffff) { in linux_ioctl_sound()
1702 args->cmd = SETDIR(SOUND_MIXER_WRITE_VOLUME); in linux_ioctl_sound()
1706 args->cmd = SETDIR(SOUND_MIXER_WRITE_BASS); in linux_ioctl_sound()
1710 args->cmd = SETDIR(SOUND_MIXER_WRITE_TREBLE); in linux_ioctl_sound()
1714 args->cmd = SETDIR(SOUND_MIXER_WRITE_SYNTH); in linux_ioctl_sound()
1718 args->cmd = SETDIR(SOUND_MIXER_WRITE_PCM); in linux_ioctl_sound()
1722 args->cmd = SETDIR(SOUND_MIXER_WRITE_SPEAKER); in linux_ioctl_sound()
1726 args->cmd = SETDIR(SOUND_MIXER_WRITE_LINE); in linux_ioctl_sound()
1730 args->cmd = SETDIR(SOUND_MIXER_WRITE_MIC); in linux_ioctl_sound()
1734 args->cmd = SETDIR(SOUND_MIXER_WRITE_CD); in linux_ioctl_sound()
1738 args->cmd = SETDIR(SOUND_MIXER_WRITE_IMIX); in linux_ioctl_sound()
1742 args->cmd = SETDIR(SOUND_MIXER_WRITE_ALTPCM); in linux_ioctl_sound()
1746 args->cmd = SETDIR(SOUND_MIXER_WRITE_RECLEV); in linux_ioctl_sound()
1750 args->cmd = SETDIR(SOUND_MIXER_WRITE_IGAIN); in linux_ioctl_sound()
1754 args->cmd = SETDIR(SOUND_MIXER_WRITE_OGAIN); in linux_ioctl_sound()
1758 args->cmd = SETDIR(SOUND_MIXER_WRITE_LINE1); in linux_ioctl_sound()
1762 args->cmd = SETDIR(SOUND_MIXER_WRITE_LINE2); in linux_ioctl_sound()
1766 args->cmd = SETDIR(SOUND_MIXER_WRITE_LINE3); in linux_ioctl_sound()
1770 args->cmd = SETDIR(SOUND_MIXER_WRITE_MONITOR); in linux_ioctl_sound()
1775 switch ((args->cmd >> 16) & 0x1fff) { in linux_ioctl_sound()
1777 args->cmd = SOUND_MIXER_INFO; in linux_ioctl_sound()
1783 strncpy(info.id, "OSS", sizeof(info.id) - 1); in linux_ioctl_sound()
1785 sizeof(info.name) - 1); in linux_ioctl_sound()
1786 return (copyout(&info, (void *)args->arg, in linux_ioctl_sound()
1797 return (copyout(&version, (void *)args->arg, sizeof(int))); in linux_ioctl_sound()
1801 args->cmd = SOUND_MIXER_READ_STEREODEVS; in linux_ioctl_sound()
1805 args->cmd = SOUND_MIXER_READ_CAPS; in linux_ioctl_sound()
1809 args->cmd = SOUND_MIXER_READ_RECMASK; in linux_ioctl_sound()
1813 args->cmd = SOUND_MIXER_READ_DEVMASK; in linux_ioctl_sound()
1817 args->cmd = SETDIR(SOUND_MIXER_WRITE_RECSRC); in linux_ioctl_sound()
1821 args->cmd = SNDCTL_DSP_RESET; in linux_ioctl_sound()
1825 args->cmd = SNDCTL_DSP_SYNC; in linux_ioctl_sound()
1829 args->cmd = SNDCTL_DSP_SPEED; in linux_ioctl_sound()
1833 args->cmd = SNDCTL_DSP_STEREO; in linux_ioctl_sound()
1837 args->cmd = SNDCTL_DSP_GETBLKSIZE; in linux_ioctl_sound()
1841 args->cmd = SNDCTL_DSP_SETFMT; in linux_ioctl_sound()
1845 args->cmd = SOUND_PCM_WRITE_CHANNELS; in linux_ioctl_sound()
1849 args->cmd = SOUND_PCM_WRITE_FILTER; in linux_ioctl_sound()
1853 args->cmd = SNDCTL_DSP_POST; in linux_ioctl_sound()
1857 args->cmd = SNDCTL_DSP_SUBDIVIDE; in linux_ioctl_sound()
1861 args->cmd = SNDCTL_DSP_SETFRAGMENT; in linux_ioctl_sound()
1865 args->cmd = SNDCTL_DSP_GETFMTS; in linux_ioctl_sound()
1869 args->cmd = SNDCTL_DSP_GETOSPACE; in linux_ioctl_sound()
1873 args->cmd = SNDCTL_DSP_GETISPACE; in linux_ioctl_sound()
1877 args->cmd = SNDCTL_DSP_NONBLOCK; in linux_ioctl_sound()
1881 args->cmd = SNDCTL_DSP_GETCAPS; in linux_ioctl_sound()
1885 args->cmd = SNDCTL_DSP_SETTRIGGER; in linux_ioctl_sound()
1889 args->cmd = SNDCTL_DSP_GETIPTR; in linux_ioctl_sound()
1893 args->cmd = SNDCTL_DSP_GETOPTR; in linux_ioctl_sound()
1897 args->cmd = SNDCTL_DSP_SETDUPLEX; in linux_ioctl_sound()
1901 args->cmd = SNDCTL_DSP_GETODELAY; in linux_ioctl_sound()
1905 args->cmd = SNDCTL_SEQ_RESET; in linux_ioctl_sound()
1909 args->cmd = SNDCTL_SEQ_SYNC; in linux_ioctl_sound()
1913 args->cmd = SNDCTL_SYNTH_INFO; in linux_ioctl_sound()
1917 args->cmd = SNDCTL_SEQ_CTRLRATE; in linux_ioctl_sound()
1921 args->cmd = SNDCTL_SEQ_GETOUTCOUNT; in linux_ioctl_sound()
1925 args->cmd = SNDCTL_SEQ_GETINCOUNT; in linux_ioctl_sound()
1929 args->cmd = SNDCTL_SEQ_PERCMODE; in linux_ioctl_sound()
1933 args->cmd = SNDCTL_FM_LOAD_INSTR; in linux_ioctl_sound()
1937 args->cmd = SNDCTL_SEQ_TESTMIDI; in linux_ioctl_sound()
1941 args->cmd = SNDCTL_SEQ_RESETSAMPLES; in linux_ioctl_sound()
1945 args->cmd = SNDCTL_SEQ_NRSYNTHS; in linux_ioctl_sound()
1949 args->cmd = SNDCTL_SEQ_NRMIDIS; in linux_ioctl_sound()
1953 args->cmd = SNDCTL_MIDI_INFO; in linux_ioctl_sound()
1957 args->cmd = SNDCTL_SEQ_TRESHOLD; in linux_ioctl_sound()
1961 args->cmd = SNDCTL_SYNTH_MEMAVL; in linux_ioctl_sound()
1978 error = fget(td, args->fd, &cap_ioctl_rights, &fp); in linux_ioctl_console()
1981 switch (args->cmd & 0xffff) { in linux_ioctl_console()
1983 args->cmd = KIOCSOUND; in linux_ioctl_console()
1988 args->cmd = KDMKTONE; in linux_ioctl_console()
1993 args->cmd = KDGETLED; in linux_ioctl_console()
1998 args->cmd = KDSETLED; in linux_ioctl_console()
2003 args->cmd = KDSETMODE; in linux_ioctl_console()
2008 args->cmd = KDGETMODE; in linux_ioctl_console()
2013 args->cmd = KDGKBMODE; in linux_ioctl_console()
2019 switch (args->arg) { in linux_ioctl_console()
2034 td->td_ucred, td)); in linux_ioctl_console()
2039 args->cmd = VT_OPENQRY; in linux_ioctl_console()
2044 args->cmd = VT_GETMODE; in linux_ioctl_console()
2050 if ((error = copyin((void *)args->arg, &mode, sizeof(mode)))) in linux_ioctl_console()
2062 if ((error = copyout(&mode, (void *)args->arg, sizeof(mode)))) in linux_ioctl_console()
2064 args->cmd = VT_SETMODE; in linux_ioctl_console()
2070 args->cmd = VT_GETACTIVE; in linux_ioctl_console()
2075 args->cmd = VT_RELDISP; in linux_ioctl_console()
2080 args->cmd = VT_ACTIVATE; in linux_ioctl_console()
2085 args->cmd = VT_WAITACTIVE; in linux_ioctl_console()
2132 ifc->ifc_len += sizeof(struct l_ifreq); in linux_ifconf_ifaddr_cb()
2155 struct sockaddr *sa = ifa->ifa_addr; in linux_ifconf_ifaddr_cb2()
2157 cbs->ifr.ifr_addr.sa_family = LINUX_AF_INET; in linux_ifconf_ifaddr_cb2()
2158 memcpy(cbs->ifr.ifr_addr.sa_data, sa->sa_data, in linux_ifconf_ifaddr_cb2()
2159 sizeof(cbs->ifr.ifr_addr.sa_data)); in linux_ifconf_ifaddr_cb2()
2160 sbuf_bcat(cbs->sb, &cbs->ifr, sizeof(cbs->ifr)); in linux_ifconf_ifaddr_cb2()
2161 cbs->max_len += sizeof(cbs->ifr); in linux_ifconf_ifaddr_cb2()
2163 if (sbuf_error(cbs->sb) == 0) in linux_ifconf_ifaddr_cb2()
2164 cbs->valid_len = sbuf_len(cbs->sb); in linux_ifconf_ifaddr_cb2()
2173 bzero(&cbs->ifr, sizeof(cbs->ifr)); in linux_ifconf_ifnet_cb2()
2174 ifname_bsd_to_linux_ifp(ifp, cbs->ifr.ifr_name, in linux_ifconf_ifnet_cb2()
2175 sizeof(cbs->ifr.ifr_name)); in linux_ifconf_ifnet_cb2()
2211 cbs.max_len = maxphys - 1; in linux_ifconf()
2303 "ioctl_socket_ifreq fd=%d, cmd=0x%x is not implemented", in linux_ioctl_socket_ifreq()
2318 sizeof(lifr)) - offsetof(struct l_ifreq, ifr_ifru); in linux_ioctl_socket_ifreq()
2385 error = fget(td, args->fd, &cap_ioctl_rights, &fp); in linux_ioctl_socket()
2388 type = fp->f_type; in linux_ioctl_socket()
2394 /* not a socket - probably a tap / vmnet device */ in linux_ioctl_socket()
2395 switch (args->cmd) { in linux_ioctl_socket()
2409 switch (args->cmd) { in linux_ioctl_socket()
2411 args->cmd = FIOSETOWN; in linux_ioctl_socket()
2416 args->cmd = SIOCSPGRP; in linux_ioctl_socket()
2421 args->cmd = FIOGETOWN; in linux_ioctl_socket()
2426 args->cmd = SIOCGPGRP; in linux_ioctl_socket()
2431 args->cmd = SIOCATMARK; in linux_ioctl_socket()
2438 error = linux_ioctl_ifname(td, (struct l_ifreq *)args->arg); in linux_ioctl_socket()
2442 error = linux_ifconf(td, (struct ifconf *)args->arg); in linux_ioctl_socket()
2446 args->cmd = SIOCADDMULTI; in linux_ioctl_socket()
2451 args->cmd = SIOCDELMULTI; in linux_ioctl_socket()
2460 error = linux_ioctl_socket_ifreq(td, args->fd, args->cmd, in linux_ioctl_socket()
2461 PTRIN(args->arg)); in linux_ioctl_socket()
2478 error = fget(td, args->fd, &cap_ioctl_rights, &fp); in linux_ioctl_private()
2481 type = fp->f_type; in linux_ioctl_private()
2494 args->cmd = SETDIR(args->cmd); in linux_ioctl_drm()
2507 error = fget(td, args->fd, &cap_ioctl_rights, &fp); in linux_ioctl_sg_io()
2513 if ((error = copyin((void *)args->arg, &io32, sizeof(io32))) != 0) in linux_ioctl_sg_io()
2539 if ((error = fo_ioctl(fp, SG_IO, (caddr_t)&io, td->td_ucred, td)) != 0) in linux_ioctl_sg_io()
2565 error = copyout(&io32, (void *)args->arg, sizeof(io32)); in linux_ioctl_sg_io()
2577 switch (args->cmd) { in linux_ioctl_sg()
2579 args->cmd = SG_GET_VERSION_NUM; in linux_ioctl_sg()
2582 args->cmd = SG_SET_TIMEOUT; in linux_ioctl_sg()
2585 args->cmd = SG_GET_TIMEOUT; in linux_ioctl_sg()
2588 args->cmd = SG_IO; in linux_ioctl_sg()
2594 args->cmd = SG_GET_RESERVED_SIZE; in linux_ioctl_sg()
2597 args->cmd = SG_GET_SCSI_ID; in linux_ioctl_sg()
2600 args->cmd = SG_GET_SG_TABLESIZE; in linux_ioctl_sg()
2614 vt->tuner = lvt->tuner; in linux_to_bsd_v4l_tuner()
2615 strlcpy(vt->name, lvt->name, LINUX_VIDEO_TUNER_NAME_SIZE); in linux_to_bsd_v4l_tuner()
2616 vt->rangelow = lvt->rangelow; /* possible long size conversion */ in linux_to_bsd_v4l_tuner()
2617 vt->rangehigh = lvt->rangehigh; /* possible long size conversion */ in linux_to_bsd_v4l_tuner()
2618 vt->flags = lvt->flags; in linux_to_bsd_v4l_tuner()
2619 vt->mode = lvt->mode; in linux_to_bsd_v4l_tuner()
2620 vt->signal = lvt->signal; in linux_to_bsd_v4l_tuner()
2627 lvt->tuner = vt->tuner; in bsd_to_linux_v4l_tuner()
2628 strlcpy(lvt->name, vt->name, LINUX_VIDEO_TUNER_NAME_SIZE); in bsd_to_linux_v4l_tuner()
2629 lvt->rangelow = vt->rangelow; /* possible long size conversion */ in bsd_to_linux_v4l_tuner()
2630 lvt->rangehigh = vt->rangehigh; /* possible long size conversion */ in bsd_to_linux_v4l_tuner()
2631 lvt->flags = vt->flags; in bsd_to_linux_v4l_tuner()
2632 lvt->mode = vt->mode; in bsd_to_linux_v4l_tuner()
2633 lvt->signal = vt->signal; in bsd_to_linux_v4l_tuner()
2641 vc->x = lvc->x; in linux_to_bsd_v4l_clip()
2642 vc->y = lvc->y; in linux_to_bsd_v4l_clip()
2643 vc->width = lvc->width; in linux_to_bsd_v4l_clip()
2644 vc->height = lvc->height; in linux_to_bsd_v4l_clip()
2645 vc->next = PTRIN(lvc->next); /* possible pointer size conversion */ in linux_to_bsd_v4l_clip()
2653 vw->x = lvw->x; in linux_to_bsd_v4l_window()
2654 vw->y = lvw->y; in linux_to_bsd_v4l_window()
2655 vw->width = lvw->width; in linux_to_bsd_v4l_window()
2656 vw->height = lvw->height; in linux_to_bsd_v4l_window()
2657 vw->chromakey = lvw->chromakey; in linux_to_bsd_v4l_window()
2658 vw->flags = lvw->flags; in linux_to_bsd_v4l_window()
2659 vw->clips = PTRIN(lvw->clips); /* possible pointer size conversion */ in linux_to_bsd_v4l_window()
2660 vw->clipcount = lvw->clipcount; in linux_to_bsd_v4l_window()
2669 lvw->x = vw->x; in bsd_to_linux_v4l_window()
2670 lvw->y = vw->y; in bsd_to_linux_v4l_window()
2671 lvw->width = vw->width; in bsd_to_linux_v4l_window()
2672 lvw->height = vw->height; in bsd_to_linux_v4l_window()
2673 lvw->chromakey = vw->chromakey; in bsd_to_linux_v4l_window()
2674 lvw->flags = vw->flags; in bsd_to_linux_v4l_window()
2675 lvw->clips = PTROUT(vw->clips); /* possible pointer size conversion */ in bsd_to_linux_v4l_window()
2676 lvw->clipcount = vw->clipcount; in bsd_to_linux_v4l_window()
2683 vb->base = PTRIN(lvb->base); /* possible pointer size conversion */ in linux_to_bsd_v4l_buffer()
2684 vb->height = lvb->height; in linux_to_bsd_v4l_buffer()
2685 vb->width = lvb->width; in linux_to_bsd_v4l_buffer()
2686 vb->depth = lvb->depth; in linux_to_bsd_v4l_buffer()
2687 vb->bytesperline = lvb->bytesperline; in linux_to_bsd_v4l_buffer()
2694 lvb->base = PTROUT(vb->base); /* possible pointer size conversion */ in bsd_to_linux_v4l_buffer()
2695 lvb->height = vb->height; in bsd_to_linux_v4l_buffer()
2696 lvb->width = vb->width; in bsd_to_linux_v4l_buffer()
2697 lvb->depth = vb->depth; in bsd_to_linux_v4l_buffer()
2698 lvb->bytesperline = vb->bytesperline; in bsd_to_linux_v4l_buffer()
2705 strlcpy(vc->loadwhat, lvc->loadwhat, LINUX_VIDEO_CODE_LOADWHAT_SIZE); in linux_to_bsd_v4l_code()
2706 vc->datasize = lvc->datasize; in linux_to_bsd_v4l_code()
2707 vc->data = PTRIN(lvc->data); /* possible pointer size conversion */ in linux_to_bsd_v4l_code()
2726 (*ppvc)->next = NULL; in linux_v4l_clip_copy()
2736 for (ppvc = &(vw->clips); *ppvc != NULL; ppvc = ppvc_next) { in linux_v4l_cliplist_free()
2737 ppvc_next = &((*ppvc)->next); in linux_v4l_cliplist_free()
2740 vw->clips = NULL; in linux_v4l_cliplist_free()
2761 * need re-examiniation. in linux_v4l_cliplist_copy()
2764 clipcount = vw->clipcount; in linux_v4l_cliplist_copy()
2773 * Clips points to list of clip rectangles, so in linux_v4l_cliplist_copy()
2778 * are uninitialized and therefore have high random in linux_v4l_cliplist_copy()
2785 plvc = PTRIN(lvw->clips); in linux_v4l_cliplist_copy()
2786 vw->clips = NULL; in linux_v4l_cliplist_copy()
2787 ppvc = &(vw->clips); in linux_v4l_cliplist_copy()
2788 while (clipcount-- > 0) { in linux_v4l_cliplist_copy()
2799 ppvc = &((*ppvc)->next); in linux_v4l_cliplist_copy()
2800 plvc = PTRIN(((struct l_video_clip *) plvc)->next); in linux_v4l_cliplist_copy()
2807 vw->clipcount = 0; in linux_v4l_cliplist_copy()
2808 vw->clips = NULL; in linux_v4l_cliplist_copy()
2828 switch (args->cmd & 0xffff) { in linux_ioctl_v4l()
2829 case LINUX_VIDIOCGCAP: args->cmd = VIDIOCGCAP; break; in linux_ioctl_v4l()
2830 case LINUX_VIDIOCGCHAN: args->cmd = VIDIOCGCHAN; break; in linux_ioctl_v4l()
2831 case LINUX_VIDIOCSCHAN: args->cmd = VIDIOCSCHAN; break; in linux_ioctl_v4l()
2834 error = fget(td, args->fd, in linux_ioctl_v4l()
2838 error = copyin((void *) args->arg, &l_vtun, sizeof(l_vtun)); in linux_ioctl_v4l()
2844 error = fo_ioctl(fp, VIDIOCGTUNER, &vtun, td->td_ucred, td); in linux_ioctl_v4l()
2847 error = copyout(&l_vtun, (void *) args->arg, in linux_ioctl_v4l()
2854 error = fget(td, args->fd, in linux_ioctl_v4l()
2858 error = copyin((void *) args->arg, &l_vtun, sizeof(l_vtun)); in linux_ioctl_v4l()
2864 error = fo_ioctl(fp, VIDIOCSTUNER, &vtun, td->td_ucred, td); in linux_ioctl_v4l()
2868 case LINUX_VIDIOCGPICT: args->cmd = VIDIOCGPICT; break; in linux_ioctl_v4l()
2869 case LINUX_VIDIOCSPICT: args->cmd = VIDIOCSPICT; break; in linux_ioctl_v4l()
2870 case LINUX_VIDIOCCAPTURE: args->cmd = VIDIOCCAPTURE; break; in linux_ioctl_v4l()
2873 error = fget(td, args->fd, in linux_ioctl_v4l()
2877 error = fo_ioctl(fp, VIDIOCGWIN, &vwin, td->td_ucred, td); in linux_ioctl_v4l()
2880 error = copyout(&l_vwin, (void *) args->arg, in linux_ioctl_v4l()
2887 error = fget(td, args->fd, in linux_ioctl_v4l()
2891 error = copyin((void *) args->arg, &l_vwin, sizeof(l_vwin)); in linux_ioctl_v4l()
2904 error = fo_ioctl(fp, VIDIOCSWIN, &vwin, td->td_ucred, td); in linux_ioctl_v4l()
2912 error = fget(td, args->fd, in linux_ioctl_v4l()
2916 error = fo_ioctl(fp, VIDIOCGFBUF, &vbuf, td->td_ucred, td); in linux_ioctl_v4l()
2919 error = copyout(&l_vbuf, (void *) args->arg, in linux_ioctl_v4l()
2926 error = fget(td, args->fd, in linux_ioctl_v4l()
2930 error = copyin((void *) args->arg, &l_vbuf, sizeof(l_vbuf)); in linux_ioctl_v4l()
2936 error = fo_ioctl(fp, VIDIOCSFBUF, &vbuf, td->td_ucred, td); in linux_ioctl_v4l()
2940 case LINUX_VIDIOCKEY: args->cmd = VIDIOCKEY; break; in linux_ioctl_v4l()
2941 case LINUX_VIDIOCGFREQ: args->cmd = VIDIOCGFREQ; break; in linux_ioctl_v4l()
2942 case LINUX_VIDIOCSFREQ: args->cmd = VIDIOCSFREQ; break; in linux_ioctl_v4l()
2943 case LINUX_VIDIOCGAUDIO: args->cmd = VIDIOCGAUDIO; break; in linux_ioctl_v4l()
2944 case LINUX_VIDIOCSAUDIO: args->cmd = VIDIOCSAUDIO; break; in linux_ioctl_v4l()
2945 case LINUX_VIDIOCSYNC: args->cmd = VIDIOCSYNC; break; in linux_ioctl_v4l()
2946 case LINUX_VIDIOCMCAPTURE: args->cmd = VIDIOCMCAPTURE; break; in linux_ioctl_v4l()
2947 case LINUX_VIDIOCGMBUF: args->cmd = VIDIOCGMBUF; break; in linux_ioctl_v4l()
2948 case LINUX_VIDIOCGUNIT: args->cmd = VIDIOCGUNIT; break; in linux_ioctl_v4l()
2949 case LINUX_VIDIOCGCAPTURE: args->cmd = VIDIOCGCAPTURE; break; in linux_ioctl_v4l()
2950 case LINUX_VIDIOCSCAPTURE: args->cmd = VIDIOCSCAPTURE; break; in linux_ioctl_v4l()
2951 case LINUX_VIDIOCSPLAYMODE: args->cmd = VIDIOCSPLAYMODE; break; in linux_ioctl_v4l()
2952 case LINUX_VIDIOCSWRITEMODE: args->cmd = VIDIOCSWRITEMODE; break; in linux_ioctl_v4l()
2953 case LINUX_VIDIOCGPLAYINFO: args->cmd = VIDIOCGPLAYINFO; break; in linux_ioctl_v4l()
2956 error = fget(td, args->fd, in linux_ioctl_v4l()
2960 error = copyin((void *) args->arg, &l_vcode, sizeof(l_vcode)); in linux_ioctl_v4l()
2966 error = fo_ioctl(fp, VIDIOCSMICROCODE, &vcode, td->td_ucred, td); in linux_ioctl_v4l()
2970 case LINUX_VIDIOCGVBIFMT: args->cmd = VIDIOCGVBIFMT; break; in linux_ioctl_v4l()
2971 case LINUX_VIDIOCSVBIFMT: args->cmd = VIDIOCSVBIFMT; break; in linux_ioctl_v4l()
2987 switch (args->cmd) { in linux_ioctl_special()
2989 args->cmd = SIOCGIFADDR; in linux_ioctl_special()
2993 args->cmd = SIOCSIFADDR; in linux_ioctl_special()
2997 args->cmd = SIOCGIFFLAGS; in linux_ioctl_special()
3010 vstd->index = lvstd->index; in linux_to_bsd_v4l2_standard()
3011 vstd->id = lvstd->id; in linux_to_bsd_v4l2_standard()
3012 CTASSERT(sizeof(vstd->name) == sizeof(lvstd->name)); in linux_to_bsd_v4l2_standard()
3013 memcpy(vstd->name, lvstd->name, sizeof(vstd->name)); in linux_to_bsd_v4l2_standard()
3014 vstd->frameperiod = lvstd->frameperiod; in linux_to_bsd_v4l2_standard()
3015 vstd->framelines = lvstd->framelines; in linux_to_bsd_v4l2_standard()
3016 CTASSERT(sizeof(vstd->reserved) == sizeof(lvstd->reserved)); in linux_to_bsd_v4l2_standard()
3017 memcpy(vstd->reserved, lvstd->reserved, sizeof(vstd->reserved)); in linux_to_bsd_v4l2_standard()
3024 lvstd->index = vstd->index; in bsd_to_linux_v4l2_standard()
3025 lvstd->id = vstd->id; in bsd_to_linux_v4l2_standard()
3026 CTASSERT(sizeof(vstd->name) == sizeof(lvstd->name)); in bsd_to_linux_v4l2_standard()
3027 memcpy(lvstd->name, vstd->name, sizeof(lvstd->name)); in bsd_to_linux_v4l2_standard()
3028 lvstd->frameperiod = vstd->frameperiod; in bsd_to_linux_v4l2_standard()
3029 lvstd->framelines = vstd->framelines; in bsd_to_linux_v4l2_standard()
3030 CTASSERT(sizeof(vstd->reserved) == sizeof(lvstd->reserved)); in bsd_to_linux_v4l2_standard()
3031 memcpy(lvstd->reserved, vstd->reserved, sizeof(lvstd->reserved)); in bsd_to_linux_v4l2_standard()
3038 vb->index = lvb->index; in linux_to_bsd_v4l2_buffer()
3039 vb->type = lvb->type; in linux_to_bsd_v4l2_buffer()
3040 vb->bytesused = lvb->bytesused; in linux_to_bsd_v4l2_buffer()
3041 vb->flags = lvb->flags; in linux_to_bsd_v4l2_buffer()
3042 vb->field = lvb->field; in linux_to_bsd_v4l2_buffer()
3043 vb->timestamp.tv_sec = lvb->timestamp.tv_sec; in linux_to_bsd_v4l2_buffer()
3044 vb->timestamp.tv_usec = lvb->timestamp.tv_usec; in linux_to_bsd_v4l2_buffer()
3045 memcpy(&vb->timecode, &lvb->timecode, sizeof (lvb->timecode)); in linux_to_bsd_v4l2_buffer()
3046 vb->sequence = lvb->sequence; in linux_to_bsd_v4l2_buffer()
3047 vb->memory = lvb->memory; in linux_to_bsd_v4l2_buffer()
3048 if (lvb->memory == V4L2_MEMORY_USERPTR) in linux_to_bsd_v4l2_buffer()
3050 vb->m.userptr = (unsigned long)PTRIN(lvb->m.userptr); in linux_to_bsd_v4l2_buffer()
3052 vb->m.offset = lvb->m.offset; in linux_to_bsd_v4l2_buffer()
3053 vb->length = lvb->length; in linux_to_bsd_v4l2_buffer()
3054 vb->input = lvb->input; in linux_to_bsd_v4l2_buffer()
3055 vb->reserved = lvb->reserved; in linux_to_bsd_v4l2_buffer()
3062 lvb->index = vb->index; in bsd_to_linux_v4l2_buffer()
3063 lvb->type = vb->type; in bsd_to_linux_v4l2_buffer()
3064 lvb->bytesused = vb->bytesused; in bsd_to_linux_v4l2_buffer()
3065 lvb->flags = vb->flags; in bsd_to_linux_v4l2_buffer()
3066 lvb->field = vb->field; in bsd_to_linux_v4l2_buffer()
3067 lvb->timestamp.tv_sec = vb->timestamp.tv_sec; in bsd_to_linux_v4l2_buffer()
3068 lvb->timestamp.tv_usec = vb->timestamp.tv_usec; in bsd_to_linux_v4l2_buffer()
3069 memcpy(&lvb->timecode, &vb->timecode, sizeof (vb->timecode)); in bsd_to_linux_v4l2_buffer()
3070 lvb->sequence = vb->sequence; in bsd_to_linux_v4l2_buffer()
3071 lvb->memory = vb->memory; in bsd_to_linux_v4l2_buffer()
3072 if (vb->memory == V4L2_MEMORY_USERPTR) in bsd_to_linux_v4l2_buffer()
3074 lvb->m.userptr = PTROUT(vb->m.userptr); in bsd_to_linux_v4l2_buffer()
3076 lvb->m.offset = vb->m.offset; in bsd_to_linux_v4l2_buffer()
3077 lvb->length = vb->length; in bsd_to_linux_v4l2_buffer()
3078 lvb->input = vb->input; in bsd_to_linux_v4l2_buffer()
3079 lvb->reserved = vb->reserved; in bsd_to_linux_v4l2_buffer()
3086 vf->type = lvf->type; in linux_to_bsd_v4l2_format()
3087 if (lvf->type == V4L2_BUF_TYPE_VIDEO_OVERLAY in linux_to_bsd_v4l2_format()
3089 || lvf->type == V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY in linux_to_bsd_v4l2_format()
3093 * XXX TODO - needs 32 -> 64 bit conversion: in linux_to_bsd_v4l2_format()
3097 memcpy(&vf->fmt, &lvf->fmt, sizeof(vf->fmt)); in linux_to_bsd_v4l2_format()
3104 lvf->type = vf->type; in bsd_to_linux_v4l2_format()
3105 if (vf->type == V4L2_BUF_TYPE_VIDEO_OVERLAY in bsd_to_linux_v4l2_format()
3107 || vf->type == V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY in bsd_to_linux_v4l2_format()
3111 * XXX TODO - needs 32 -> 64 bit conversion: in bsd_to_linux_v4l2_format()
3115 memcpy(&lvf->fmt, &vf->fmt, sizeof(vf->fmt)); in bsd_to_linux_v4l2_format()
3131 switch (args->cmd & 0xffff) { in linux_ioctl_v4l2()
3134 if ((args->cmd & IOC_DIRMASK) != LINUX_IOC_VOID) in linux_ioctl_v4l2()
3136 args->cmd = (args->cmd & 0xffff) | IOC_VOID; in linux_ioctl_v4l2()
3155 args->cmd = (args->cmd & ~IOC_DIRMASK) | IOC_IN; in linux_ioctl_v4l2()
3168 args->cmd = (args->cmd & ~IOC_DIRMASK) | IOC_OUT; in linux_ioctl_v4l2()
3203 args->cmd = (args->cmd & ~IOC_DIRMASK) | IOC_INOUT; in linux_ioctl_v4l2()
3209 error = copyin((void *)args->arg, &l_vformat, sizeof(l_vformat)); in linux_ioctl_v4l2()
3212 error = fget(td, args->fd, in linux_ioctl_v4l2()
3218 else if ((args->cmd & 0xffff) == LINUX_VIDIOC_G_FMT) in linux_ioctl_v4l2()
3220 td->td_ucred, td); in linux_ioctl_v4l2()
3221 else if ((args->cmd & 0xffff) == LINUX_VIDIOC_S_FMT) in linux_ioctl_v4l2()
3223 td->td_ucred, td); in linux_ioctl_v4l2()
3226 td->td_ucred, td); in linux_ioctl_v4l2()
3229 error = copyout(&l_vformat, (void *)args->arg, in linux_ioctl_v4l2()
3235 error = copyin((void *)args->arg, &l_vstd, sizeof(l_vstd)); in linux_ioctl_v4l2()
3239 error = fget(td, args->fd, in linux_ioctl_v4l2()
3244 td->td_ucred, td); in linux_ioctl_v4l2()
3250 error = copyout(&l_vstd, (void *)args->arg, sizeof(l_vstd)); in linux_ioctl_v4l2()
3259 error = copyin((void *)args->arg, &vinp, in linux_ioctl_v4l2()
3263 error = fget(td, args->fd, in linux_ioctl_v4l2()
3268 td->td_ucred, td); in linux_ioctl_v4l2()
3273 error = copyout(&vinp, (void *)args->arg, in linux_ioctl_v4l2()
3281 error = copyin((void *)args->arg, &l_vbuf, sizeof(l_vbuf)); in linux_ioctl_v4l2()
3284 error = fget(td, args->fd, in linux_ioctl_v4l2()
3289 if ((args->cmd & 0xffff) == LINUX_VIDIOC_QUERYBUF) in linux_ioctl_v4l2()
3291 td->td_ucred, td); in linux_ioctl_v4l2()
3292 else if ((args->cmd & 0xffff) == LINUX_VIDIOC_QBUF) in linux_ioctl_v4l2()
3294 td->td_ucred, td); in linux_ioctl_v4l2()
3297 td->td_ucred, td); in linux_ioctl_v4l2()
3300 error = copyout(&l_vbuf, (void *)args->arg, in linux_ioctl_v4l2()
3306 * XXX TODO - these need 32 -> 64 bit conversion: in linux_ioctl_v4l2()
3326 * Support for emulators/linux-libusb. This port uses FBSD_LUSB* macros
3328 * 0xffffffe0 -- 0xffffffff range seemed to be the least collision-prone.
3336 switch (args->cmd) { in linux_ioctl_fbsd_usb()
3338 args->cmd = USB_DEVICEENUMERATE; in linux_ioctl_fbsd_usb()
3341 args->cmd = USB_DEV_QUIRK_ADD; in linux_ioctl_fbsd_usb()
3344 args->cmd = USB_DEV_QUIRK_GET; in linux_ioctl_fbsd_usb()
3347 args->cmd = USB_DEV_QUIRK_REMOVE; in linux_ioctl_fbsd_usb()
3350 args->cmd = USB_DO_REQUEST; in linux_ioctl_fbsd_usb()
3353 args->cmd = USB_FS_CLEAR_STALL_SYNC; in linux_ioctl_fbsd_usb()
3356 args->cmd = USB_FS_CLOSE; in linux_ioctl_fbsd_usb()
3359 args->cmd = USB_FS_COMPLETE; in linux_ioctl_fbsd_usb()
3362 args->cmd = USB_FS_INIT; in linux_ioctl_fbsd_usb()
3365 args->cmd = USB_FS_OPEN; in linux_ioctl_fbsd_usb()
3368 args->cmd = USB_FS_START; in linux_ioctl_fbsd_usb()
3371 args->cmd = USB_FS_STOP; in linux_ioctl_fbsd_usb()
3374 args->cmd = USB_FS_UNINIT; in linux_ioctl_fbsd_usb()
3377 args->cmd = USB_GET_CONFIG; in linux_ioctl_fbsd_usb()
3380 args->cmd = USB_GET_DEVICEINFO; in linux_ioctl_fbsd_usb()
3383 args->cmd = USB_GET_DEVICE_DESC; in linux_ioctl_fbsd_usb()
3386 args->cmd = USB_GET_FULL_DESC; in linux_ioctl_fbsd_usb()
3389 args->cmd = USB_GET_IFACE_DRIVER; in linux_ioctl_fbsd_usb()
3392 args->cmd = USB_GET_PLUGTIME; in linux_ioctl_fbsd_usb()
3395 args->cmd = USB_GET_POWER_MODE; in linux_ioctl_fbsd_usb()
3398 args->cmd = USB_GET_REPORT_DESC; in linux_ioctl_fbsd_usb()
3401 args->cmd = USB_GET_REPORT_ID; in linux_ioctl_fbsd_usb()
3404 args->cmd = USB_GET_TEMPLATE; in linux_ioctl_fbsd_usb()
3407 args->cmd = USB_IFACE_DRIVER_ACTIVE; in linux_ioctl_fbsd_usb()
3410 args->cmd = USB_IFACE_DRIVER_DETACH; in linux_ioctl_fbsd_usb()
3413 args->cmd = USB_QUIRK_NAME_GET; in linux_ioctl_fbsd_usb()
3416 args->cmd = USB_READ_DIR; in linux_ioctl_fbsd_usb()
3419 args->cmd = USB_SET_ALTINTERFACE; in linux_ioctl_fbsd_usb()
3422 args->cmd = USB_SET_CONFIG; in linux_ioctl_fbsd_usb()
3425 args->cmd = USB_SET_IMMED; in linux_ioctl_fbsd_usb()
3428 args->cmd = USB_SET_POWER_MODE; in linux_ioctl_fbsd_usb()
3431 args->cmd = USB_SET_TEMPLATE; in linux_ioctl_fbsd_usb()
3434 args->cmd = USB_FS_OPEN_STREAM; in linux_ioctl_fbsd_usb()
3437 args->cmd = USB_GET_DEV_PORT_PATH; in linux_ioctl_fbsd_usb()
3440 args->cmd = USB_GET_POWER_USAGE; in linux_ioctl_fbsd_usb()
3443 args->cmd = USB_DEVICESTATS; in linux_ioctl_fbsd_usb()
3455 * - EVIOCGMTSLOTS is a IOC_READ ioctl on Linux although it has input data
3457 * - On Linux, EVIOCGRAB, EVIOCREVOKE and EVIOCRMFF are defined as _IOW with
3469 args->cmd = SETDIR(args->cmd); in linux_ioctl_evdev()
3471 switch (args->cmd) { in linux_ioctl_evdev()
3473 args->cmd = EVIOCGRAB; in linux_ioctl_evdev()
3476 args->cmd = EVIOCREVOKE; in linux_ioctl_evdev()
3479 args->cmd = EVIOCRMFF; in linux_ioctl_evdev()
3482 error = copyin(PTRIN(args->arg), &clock, sizeof(clock)); in linux_ioctl_evdev()
3491 error = fget(td, args->fd, in linux_ioctl_evdev()
3496 error = fo_ioctl(fp, EVIOCSCLOCKID, &clock, td->td_ucred, td); in linux_ioctl_evdev()
3504 if (IOCBASECMD(args->cmd) == in linux_ioctl_evdev()
3506 args->cmd = (args->cmd & ~IOC_DIRMASK) | IOC_INOUT; in linux_ioctl_evdev()
3517 switch (args->cmd & 0xffff) { in linux_ioctl_kcov()
3519 args->cmd = KIOSETBUFSIZE; in linux_ioctl_kcov()
3522 args->cmd = KIOENABLE; in linux_ioctl_kcov()
3523 if (args->arg == 0) in linux_ioctl_kcov()
3524 args->arg = KCOV_MODE_TRACE_PC; in linux_ioctl_kcov()
3525 else if (args->arg == 1) in linux_ioctl_kcov()
3526 args->arg = KCOV_MODE_TRACE_CMP; in linux_ioctl_kcov()
3531 args->cmd = KIODISABLE; in linux_ioctl_kcov()
3553 switch (args->cmd & 0xffff) { in linux_ioctl_nvme()
3555 args->cmd = NVME_IOCTL_ID; in linux_ioctl_nvme()
3558 args->cmd = NVME_IOCTL_RESET; in linux_ioctl_nvme()
3561 args->cmd = NVME_IOCTL_ADMIN_CMD; in linux_ioctl_nvme()
3564 args->cmd = NVME_IOCTL_IO_CMD; in linux_ioctl_nvme()
3584 error = fget(td, args->fd, &cap_ioctl_rights, &fp); in linux_ioctl_fallback()
3587 if ((fp->f_flag & (FREAD|FWRITE)) == 0) { in linux_ioctl_fallback()
3593 cmd = args->cmd & 0xffff; in linux_ioctl_fallback()
3598 if (cmd >= he->low && cmd <= he->high) { in linux_ioctl_fallback()
3599 error = (*he->func)(td, args); in linux_ioctl_fallback()
3610 if (cmd >= he->low && cmd <= he->high) { in linux_ioctl_fallback()
3611 error = (*he->func)(td, args); in linux_ioctl_fallback()
3624 switch (args->cmd & 0xffff) { in linux_ioctl_fallback()
3631 linux_msg(td, "%s fd=%d, cmd=0x%x ('%c',%d) is not implemented", in linux_ioctl_fallback()
3632 __func__, args->fd, args->cmd, in linux_ioctl_fallback()
3633 (int)(args->cmd & 0xff00) >> 8, (int)(args->cmd & 0xff)); in linux_ioctl_fallback()
3646 cmd = args->cmd & 0xffff; in linux_ioctl()
3659 if (cmd >= handler->low && cmd <= handler->high) { in linux_ioctl()
3660 error = (*handler->func)(td, args); in linux_ioctl()
3674 if (h == NULL || h->func == NULL) in linux_ioctl_register_handler()
3683 if (he->func == h->func) in linux_ioctl_register_handler()
3689 he->func = h->func; in linux_ioctl_register_handler()
3694 he->low = h->low; in linux_ioctl_register_handler()
3695 he->high = h->high; in linux_ioctl_register_handler()
3696 he->span = h->high - h->low + 1; in linux_ioctl_register_handler()
3700 if (cur->span > he->span) { in linux_ioctl_register_handler()
3717 if (h == NULL || h->func == NULL) in linux_ioctl_unregister_handler()
3722 if (he->func == h->func) { in linux_ioctl_unregister_handler()
3740 if (h == NULL || h->func == NULL) in linux32_ioctl_register_handler()
3749 if (he->func == h->func) in linux32_ioctl_register_handler()
3754 he->func = h->func; in linux32_ioctl_register_handler()
3759 he->low = h->low; in linux32_ioctl_register_handler()
3760 he->high = h->high; in linux32_ioctl_register_handler()
3761 he->span = h->high - h->low + 1; in linux32_ioctl_register_handler()
3765 if (cur->span > he->span) { in linux32_ioctl_register_handler()
3782 if (h == NULL || h->func == NULL) in linux32_ioctl_unregister_handler()
3787 if (he->func == h->func) { in linux32_ioctl_unregister_handler()