131e31b8aSbellard /* emulated ioctl list */ 231e31b8aSbellard IOCTL(TCGETS,IOC_R,MK_PTR (MK_STRUCT (STRUCT_termios)))331e31b8aSbellard IOCTL(TCGETS, IOC_R, MK_PTR(MK_STRUCT(STRUCT_termios))) 49de5e440Sbellard IOCTL(TCSETS, IOC_W, MK_PTR(MK_STRUCT(STRUCT_termios))) 531e31b8aSbellard IOCTL(TCSETSF, IOC_W, MK_PTR(MK_STRUCT(STRUCT_termios))) 631e31b8aSbellard IOCTL(TCSETSW, IOC_W, MK_PTR(MK_STRUCT(STRUCT_termios))) 731e31b8aSbellard IOCTL(TIOCGWINSZ, IOC_R, MK_PTR(MK_STRUCT(STRUCT_winsize))) 831e31b8aSbellard IOCTL(TIOCSWINSZ, IOC_W, MK_PTR(MK_STRUCT(STRUCT_winsize))) 931e31b8aSbellard IOCTL(FIONREAD, IOC_R, MK_PTR(TYPE_INT)) 1031e31b8aSbellard IOCTL(TCGETA, IOC_R, MK_PTR(TYPE_INT)) 1131e31b8aSbellard IOCTL(TCSETA, IOC_W, MK_PTR(TYPE_INT)) 1231e31b8aSbellard IOCTL(TCSETAW, IOC_W, MK_PTR(TYPE_INT)) 1331e31b8aSbellard IOCTL(TCSETAF, IOC_W, MK_PTR(TYPE_INT)) 1431e31b8aSbellard IOCTL(TCSBRK, 0, TYPE_INT) 1531e31b8aSbellard IOCTL(TCSBRKP, 0, TYPE_INT) 1631e31b8aSbellard IOCTL(TCXONC, 0, TYPE_INT) 1731e31b8aSbellard IOCTL(TCFLSH, 0, TYPE_INT) 1831e31b8aSbellard IOCTL(TIOCEXCL, 0, TYPE_NULL) 1931e31b8aSbellard IOCTL(TIOCNXCL, 0, TYPE_NULL) 2031e31b8aSbellard IOCTL(TIOCSCTTY, 0, TYPE_INT) 2131e31b8aSbellard IOCTL(TIOCGPGRP, IOC_R, MK_PTR(TYPE_INT)) 2231e31b8aSbellard IOCTL(TIOCSPGRP, IOC_W, MK_PTR(TYPE_INT)) 23bd00c74cSLaurent Vivier IOCTL(TIOCGSID, IOC_W, MK_PTR(TYPE_INT)) 2431e31b8aSbellard IOCTL(TIOCOUTQ, IOC_R, MK_PTR(TYPE_INT)) 2531e31b8aSbellard IOCTL(TIOCSTI, IOC_W, MK_PTR(TYPE_INT)) 2631e31b8aSbellard IOCTL(TIOCMGET, IOC_R, MK_PTR(TYPE_INT)) 2731e31b8aSbellard IOCTL(TIOCMBIS, IOC_W, MK_PTR(TYPE_INT)) 2831e31b8aSbellard IOCTL(TIOCMBIC, IOC_W, MK_PTR(TYPE_INT)) 2931e31b8aSbellard IOCTL(TIOCMSET, IOC_W, MK_PTR(TYPE_INT)) 3031e31b8aSbellard IOCTL(TIOCGSOFTCAR, IOC_R, MK_PTR(TYPE_INT)) 3131e31b8aSbellard IOCTL(TIOCSSOFTCAR, IOC_W, MK_PTR(TYPE_INT)) 3231e31b8aSbellard IOCTL(TIOCLINUX, IOC_R | IOC_W, MK_PTR(TYPE_INT)) 3331e31b8aSbellard IOCTL(TIOCCONS, 0, TYPE_NULL) 3431e31b8aSbellard IOCTL(TIOCGSERIAL, IOC_R, MK_PTR(TYPE_INT)) 3531e31b8aSbellard IOCTL(TIOCSSERIAL, IOC_W, MK_PTR(TYPE_INT)) 3631e31b8aSbellard IOCTL(TIOCPKT, IOC_W, MK_PTR(TYPE_INT)) 3731e31b8aSbellard IOCTL(FIONBIO, IOC_W, MK_PTR(TYPE_INT)) 3831e31b8aSbellard IOCTL(TIOCNOTTY, 0, TYPE_NULL) 3931e31b8aSbellard IOCTL(TIOCGETD, IOC_R, MK_PTR(TYPE_INT)) 4031e31b8aSbellard IOCTL(TIOCSETD, IOC_W, MK_PTR(TYPE_INT)) 41f29042b5Sbellard IOCTL(TIOCGPTN, IOC_R, MK_PTR(TYPE_INT)) 42f29042b5Sbellard IOCTL(TIOCSPTLCK, IOC_W, MK_PTR(TYPE_INT)) 432b74f621SAndreas Schwab #ifdef TIOCGPTPEER 442b74f621SAndreas Schwab IOCTL_SPECIAL(TIOCGPTPEER, 0, do_ioctl_tiocgptpeer, TYPE_INT) 452b74f621SAndreas Schwab #endif 4631e31b8aSbellard IOCTL(FIOCLEX, 0, TYPE_NULL) 4731e31b8aSbellard IOCTL(FIONCLEX, 0, TYPE_NULL) 4831e31b8aSbellard IOCTL(FIOASYNC, IOC_W, MK_PTR(TYPE_INT)) 4931e31b8aSbellard IOCTL(TIOCGLCKTRMIOS, IOC_R, MK_PTR(MK_STRUCT(STRUCT_termios))) 5031e31b8aSbellard IOCTL(TIOCSLCKTRMIOS, IOC_W, MK_PTR(MK_STRUCT(STRUCT_termios))) 5131e31b8aSbellard IOCTL(TIOCSERCONFIG, 0, TYPE_NULL) 5231e31b8aSbellard IOCTL(TIOCSERGETLSR, IOC_R, MK_PTR(TYPE_INT)) 5331e31b8aSbellard IOCTL(TIOCSERGETMULTI, IOC_R, MK_PTR(MK_STRUCT(STRUCT_serial_multiport_struct))) 5431e31b8aSbellard IOCTL(TIOCSERSETMULTI, IOC_W, MK_PTR(MK_STRUCT(STRUCT_serial_multiport_struct))) 5531e31b8aSbellard IOCTL(TIOCMIWAIT, 0, TYPE_INT) 5631e31b8aSbellard IOCTL(TIOCGICOUNT, IOC_R, MK_PTR(MK_STRUCT(STRUCT_serial_icounter_struct))) 5731e31b8aSbellard 580221cfcdSbellard IOCTL(KIOCSOUND, 0, TYPE_INT) 590221cfcdSbellard IOCTL(KDMKTONE, 0, TYPE_INT) 60f7680a55SUlrich Hecht IOCTL(KDSETMODE, 0, TYPE_INT) 610221cfcdSbellard IOCTL(KDGKBTYPE, IOC_R, MK_PTR(TYPE_CHAR)) 62f7680a55SUlrich Hecht IOCTL(KDGKBMODE, IOC_R, MK_PTR(TYPE_INT)) 63f7680a55SUlrich Hecht IOCTL(KDSKBMODE, 0, TYPE_INT) 640221cfcdSbellard IOCTL(KDGKBENT, IOC_RW, MK_PTR(MK_STRUCT(STRUCT_kbentry))) 6553a5960aSpbrook IOCTL(KDGKBSENT, IOC_RW, MK_PTR(MK_STRUCT(STRUCT_kbsentry))) 66e6fe18fbSCédric VINCENT IOCTL(KDGKBLED, 0, TYPE_INT) 67e6fe18fbSCédric VINCENT IOCTL(KDSKBLED, 0, TYPE_INT) 68e6fe18fbSCédric VINCENT IOCTL(KDGETLED, 0, TYPE_INT) 69e6fe18fbSCédric VINCENT IOCTL(KDSETLED, 0, TYPE_INT) 70ca56f5b5SPaul Burton IOCTL_SPECIAL(KDSIGACCEPT, 0, do_ioctl_kdsigaccept, TYPE_INT) 718e5a0667Sbellard 7268365f96SFilip Bozuta IOCTL(RTC_AIE_ON, 0, TYPE_NULL) 7368365f96SFilip Bozuta IOCTL(RTC_AIE_OFF, 0, TYPE_NULL) 7468365f96SFilip Bozuta IOCTL(RTC_UIE_ON, 0, TYPE_NULL) 7568365f96SFilip Bozuta IOCTL(RTC_UIE_OFF, 0, TYPE_NULL) 7668365f96SFilip Bozuta IOCTL(RTC_PIE_ON, 0, TYPE_NULL) 7768365f96SFilip Bozuta IOCTL(RTC_PIE_OFF, 0, TYPE_NULL) 7868365f96SFilip Bozuta IOCTL(RTC_WIE_ON, 0, TYPE_NULL) 7968365f96SFilip Bozuta IOCTL(RTC_WIE_OFF, 0, TYPE_NULL) 80178b14a0SFilip Bozuta IOCTL(RTC_ALM_READ, IOC_R, MK_PTR(MK_STRUCT(STRUCT_rtc_time))) 81178b14a0SFilip Bozuta IOCTL(RTC_ALM_SET, IOC_W, MK_PTR(MK_STRUCT(STRUCT_rtc_time))) 82178b14a0SFilip Bozuta IOCTL(RTC_RD_TIME, IOC_R, MK_PTR(MK_STRUCT(STRUCT_rtc_time))) 83178b14a0SFilip Bozuta IOCTL(RTC_SET_TIME, IOC_W, MK_PTR(MK_STRUCT(STRUCT_rtc_time))) 84fa857eb5SFilip Bozuta IOCTL(RTC_IRQP_READ, IOC_R, MK_PTR(TYPE_ULONG)) 85fa857eb5SFilip Bozuta IOCTL(RTC_IRQP_SET, IOC_W, TYPE_ULONG) 86fa857eb5SFilip Bozuta IOCTL(RTC_EPOCH_READ, IOC_R, MK_PTR(TYPE_ULONG)) 87fa857eb5SFilip Bozuta IOCTL(RTC_EPOCH_SET, IOC_W, TYPE_ULONG) 88abc81bf6SFilip Bozuta IOCTL(RTC_WKALM_RD, IOC_R, MK_PTR(MK_STRUCT(STRUCT_rtc_wkalrm))) 89abc81bf6SFilip Bozuta IOCTL(RTC_WKALM_SET, IOC_W, MK_PTR(MK_STRUCT(STRUCT_rtc_wkalrm))) 90373b067fSFilip Bozuta IOCTL(RTC_PLL_GET, IOC_R, MK_PTR(MK_STRUCT(STRUCT_rtc_pll_info))) 91373b067fSFilip Bozuta IOCTL(RTC_PLL_SET, IOC_W, MK_PTR(MK_STRUCT(STRUCT_rtc_pll_info))) 92a7b09746SFilip Bozuta IOCTL(RTC_VL_READ, IOC_R, MK_PTR(TYPE_INT)) 93a7b09746SFilip Bozuta IOCTL(RTC_VL_CLR, 0, TYPE_NULL) 9468365f96SFilip Bozuta 9531e31b8aSbellard IOCTL(BLKROSET, IOC_W, MK_PTR(TYPE_INT)) 9631e31b8aSbellard IOCTL(BLKROGET, IOC_R, MK_PTR(TYPE_INT)) 9731e31b8aSbellard IOCTL(BLKRRPART, 0, TYPE_NULL) 9831e31b8aSbellard IOCTL(BLKGETSIZE, IOC_R, MK_PTR(TYPE_ULONG)) 9931e31b8aSbellard IOCTL(BLKGETSIZE64, IOC_R, MK_PTR(TYPE_ULONGLONG)) 10031e31b8aSbellard IOCTL(BLKFLSBUF, 0, TYPE_NULL) 10131e31b8aSbellard IOCTL(BLKRASET, 0, TYPE_INT) 10231e31b8aSbellard IOCTL(BLKRAGET, IOC_R, MK_PTR(TYPE_LONG)) 103a4a2c51fSPeter Maydell IOCTL(BLKSSZGET, IOC_R, MK_PTR(TYPE_INT)) 104354a0008SAlexander Graf IOCTL(BLKBSZGET, IOC_R, MK_PTR(TYPE_INT)) 105*e6e903dbSMichael Vogt IOCTL(BLKBSZSET, IOC_W, MK_PTR(TYPE_INT)) 106a59b5e35SAlexander Graf IOCTL_SPECIAL(BLKPG, IOC_W, do_ioctl_blkpg, 107a59b5e35SAlexander Graf MK_PTR(MK_STRUCT(STRUCT_blkpg_ioctl_arg))) 1084715856aSPeter Maydell 1094715856aSPeter Maydell IOCTL(BLKDISCARD, IOC_W, MK_PTR(MK_ARRAY(TYPE_ULONGLONG, 2))) 1104715856aSPeter Maydell IOCTL(BLKIOMIN, IOC_R, MK_PTR(TYPE_INT)) 1114715856aSPeter Maydell IOCTL(BLKIOOPT, IOC_R, MK_PTR(TYPE_INT)) 1124715856aSPeter Maydell IOCTL(BLKALIGNOFF, IOC_R, MK_PTR(TYPE_INT)) 1134715856aSPeter Maydell IOCTL(BLKPBSZGET, IOC_R, MK_PTR(TYPE_INT)) 1144715856aSPeter Maydell IOCTL(BLKDISCARDZEROES, IOC_R, MK_PTR(TYPE_INT)) 1154715856aSPeter Maydell IOCTL(BLKSECDISCARD, IOC_W, MK_PTR(MK_ARRAY(TYPE_ULONGLONG, 2))) 1164715856aSPeter Maydell IOCTL(BLKROTATIONAL, IOC_R, MK_PTR(TYPE_SHORT)) 1174715856aSPeter Maydell IOCTL(BLKZEROOUT, IOC_W, MK_PTR(MK_ARRAY(TYPE_ULONGLONG, 2))) 1184715856aSPeter Maydell 1197e35fc8bSAleksandar Markovic IOCTL(FDMSGON, 0, TYPE_NULL) 1207e35fc8bSAleksandar Markovic IOCTL(FDMSGOFF, 0, TYPE_NULL) 12181eb1a36SAleksandar Markovic IOCTL(FDSETEMSGTRESH, 0, TYPE_NULL) 12208e3ce59SAleksandar Markovic IOCTL(FDFMTBEG, 0, TYPE_NULL) 12308e3ce59SAleksandar Markovic IOCTL(FDFMTTRK, IOC_W, MK_PTR(MK_STRUCT(STRUCT_format_descr))) 12408e3ce59SAleksandar Markovic IOCTL(FDFMTEND, 0, TYPE_NULL) 125ab22b4ddSYunqiang Su IOCTL(FDFLUSH, 0, TYPE_NULL) 12681eb1a36SAleksandar Markovic IOCTL(FDSETMAXERRS, IOC_W, MK_PTR(MK_STRUCT(STRUCT_floppy_max_errors))) 12781eb1a36SAleksandar Markovic IOCTL(FDGETMAXERRS, IOC_R, MK_PTR(MK_STRUCT(STRUCT_floppy_max_errors))) 1285eea9429SAleksandar Markovic IOCTL(FDRESET, 0, TYPE_NULL) 1295eea9429SAleksandar Markovic IOCTL(FDRAWCMD, 0, TYPE_NULL) 1305eea9429SAleksandar Markovic IOCTL(FDTWADDLE, 0, TYPE_NULL) 1315eea9429SAleksandar Markovic IOCTL(FDEJECT, 0, TYPE_NULL) 132ab22b4ddSYunqiang Su 13331e31b8aSbellard IOCTL(FIBMAP, IOC_W | IOC_R, MK_PTR(TYPE_LONG)) 13421992cb6SHelge Deller #ifdef FICLONE 13521992cb6SHelge Deller IOCTL(FICLONE, IOC_W, TYPE_INT) 13621992cb6SHelge Deller IOCTL(FICLONERANGE, IOC_W, MK_PTR(MK_STRUCT(STRUCT_file_clone_range))) 13721992cb6SHelge Deller #endif 138f9eebe31SMichael Vogt #ifdef FIFREEZE 139f9eebe31SMichael Vogt IOCTL(FIFREEZE, IOC_W | IOC_R, TYPE_INT) 140f9eebe31SMichael Vogt #endif 141f9eebe31SMichael Vogt #ifdef FITHAW 142f9eebe31SMichael Vogt IOCTL(FITHAW, IOC_W | IOC_R, TYPE_INT) 143f9eebe31SMichael Vogt #endif 1447048fc59SMichael Vogt #ifdef FITRIM 1457048fc59SMichael Vogt IOCTL(FITRIM, IOC_W | IOC_R, MK_PTR(MK_STRUCT(STRUCT_fstrim_range))) 1467048fc59SMichael Vogt #endif 14721992cb6SHelge Deller 14831e31b8aSbellard IOCTL(FIGETBSZ, IOC_R, MK_PTR(TYPE_LONG)) 149dace20dcSPeter Maydell #ifdef CONFIG_FIEMAP 150285da2b9SPeter Maydell IOCTL_SPECIAL(FS_IOC_FIEMAP, IOC_W | IOC_R, do_ioctl_fs_ioc_fiemap, 151285da2b9SPeter Maydell MK_PTR(MK_STRUCT(STRUCT_fiemap))) 152285da2b9SPeter Maydell #endif 15331e31b8aSbellard 15460807231SPeter Maydell IOCTL(FS_IOC_GETFLAGS, IOC_R, MK_PTR(TYPE_INT)) 15560807231SPeter Maydell IOCTL(FS_IOC_SETFLAGS, IOC_W, MK_PTR(TYPE_INT)) 1565ae774a9SAleksandar Markovic IOCTL(FS_IOC_GETVERSION, IOC_R, MK_PTR(TYPE_INT)) 1575ae774a9SAleksandar Markovic IOCTL(FS_IOC_SETVERSION, IOC_W, MK_PTR(TYPE_INT)) 1580b471ba6SAleksandar Markovic IOCTL(FS_IOC32_GETFLAGS, IOC_R, MK_PTR(TYPE_INT)) 1590b471ba6SAleksandar Markovic IOCTL(FS_IOC32_SETFLAGS, IOC_W, MK_PTR(TYPE_INT)) 1600d899cd6SAleksandar Markovic IOCTL(FS_IOC32_GETVERSION, IOC_R, MK_PTR(TYPE_INT)) 1610d899cd6SAleksandar Markovic IOCTL(FS_IOC32_SETVERSION, IOC_W, MK_PTR(TYPE_INT)) 16260807231SPeter Maydell 163527e8d8fSFilip Bozuta #ifdef BTRFS_IOC_SNAP_CREATE 164527e8d8fSFilip Bozuta IOCTL(BTRFS_IOC_SNAP_CREATE, IOC_W, 165527e8d8fSFilip Bozuta MK_PTR(MK_STRUCT(STRUCT_btrfs_ioctl_vol_args))) 166527e8d8fSFilip Bozuta #endif 1679bbd60e7SFilip Bozuta #ifdef BTRFS_IOC_SCAN_DEV 1689bbd60e7SFilip Bozuta IOCTL(BTRFS_IOC_SCAN_DEV, IOC_W, 1699bbd60e7SFilip Bozuta MK_PTR(MK_STRUCT(STRUCT_btrfs_ioctl_vol_args))) 1709bbd60e7SFilip Bozuta #endif 1719bbd60e7SFilip Bozuta #ifdef BTRFS_IOC_FORGET_DEV 1729bbd60e7SFilip Bozuta IOCTL(BTRFS_IOC_FORGET_DEV, IOC_W, 1739bbd60e7SFilip Bozuta MK_PTR(MK_STRUCT(STRUCT_btrfs_ioctl_vol_args))) 1749bbd60e7SFilip Bozuta #endif 1759bbd60e7SFilip Bozuta #ifdef BTRFS_IOC_ADD_DEV 1769bbd60e7SFilip Bozuta IOCTL(BTRFS_IOC_ADD_DEV, IOC_W, 1779bbd60e7SFilip Bozuta MK_PTR(MK_STRUCT(STRUCT_btrfs_ioctl_vol_args))) 1789bbd60e7SFilip Bozuta #endif 1799bbd60e7SFilip Bozuta #ifdef BTRFS_IOC_RM_DEV 1809bbd60e7SFilip Bozuta IOCTL(BTRFS_IOC_RM_DEV, IOC_W, 1819bbd60e7SFilip Bozuta MK_PTR(MK_STRUCT(STRUCT_btrfs_ioctl_vol_args))) 1829bbd60e7SFilip Bozuta #endif 183d6092e08SFilip Bozuta #ifdef BTRFS_IOC_SUBVOL_CREATE 184d6092e08SFilip Bozuta IOCTL(BTRFS_IOC_SUBVOL_CREATE, IOC_W, 185d6092e08SFilip Bozuta MK_PTR(MK_STRUCT(STRUCT_btrfs_ioctl_vol_args))) 186d6092e08SFilip Bozuta #endif 187527e8d8fSFilip Bozuta #ifdef BTRFS_IOC_SNAP_DESTROY 188527e8d8fSFilip Bozuta IOCTL(BTRFS_IOC_SNAP_DESTROY, IOC_W, 189527e8d8fSFilip Bozuta MK_PTR(MK_STRUCT(STRUCT_btrfs_ioctl_vol_args))) 190527e8d8fSFilip Bozuta #endif 1910ff496a0SFilip Bozuta #ifdef BTRFS_IOC_INO_LOOKUP 1920ff496a0SFilip Bozuta IOCTL(BTRFS_IOC_INO_LOOKUP, IOC_RW, 1930ff496a0SFilip Bozuta MK_PTR(MK_STRUCT(STRUCT_btrfs_ioctl_ino_lookup_args))) 1940ff496a0SFilip Bozuta #endif 195784c08c8SFilip Bozuta #ifdef BTRFS_IOC_DEFAULT_SUBVOL 196784c08c8SFilip Bozuta IOCTL(BTRFS_IOC_DEFAULT_SUBVOL, IOC_W, MK_PTR(TYPE_ULONGLONG)) 197784c08c8SFilip Bozuta #endif 198d6092e08SFilip Bozuta #ifdef BTRFS_IOC_SUBVOL_GETFLAGS 199d6092e08SFilip Bozuta IOCTL(BTRFS_IOC_SUBVOL_GETFLAGS, IOC_R, MK_PTR(TYPE_ULONGLONG)) 200d6092e08SFilip Bozuta #endif 201d6092e08SFilip Bozuta #ifdef BTRFS_IOC_SUBVOL_SETFLAGS 202d6092e08SFilip Bozuta IOCTL(BTRFS_IOC_SUBVOL_SETFLAGS, IOC_W, MK_PTR(TYPE_ULONGLONG)) 203d6092e08SFilip Bozuta #endif 2049a5a5a05SFilip Bozuta #ifdef BTRFS_IOC_SCRUB 2059a5a5a05SFilip Bozuta IOCTL(BTRFS_IOC_SCRUB, IOC_RW, 2069a5a5a05SFilip Bozuta MK_PTR(MK_STRUCT(STRUCT_btrfs_ioctl_scrub_args))) 2079a5a5a05SFilip Bozuta #endif 2089a5a5a05SFilip Bozuta #ifdef BTRFS_IOC_SCRUB_CANCEL 2099a5a5a05SFilip Bozuta IOCTL(BTRFS_IOC_SCRUB_CANCEL, 0, TYPE_NULL) 2109a5a5a05SFilip Bozuta #endif 2119a5a5a05SFilip Bozuta #ifdef BTRFS_IOC_SCRUB_PROGRESS 2129a5a5a05SFilip Bozuta IOCTL(BTRFS_IOC_SCRUB_PROGRESS, IOC_RW, 2139a5a5a05SFilip Bozuta MK_PTR(MK_STRUCT(STRUCT_btrfs_ioctl_scrub_args))) 2149a5a5a05SFilip Bozuta #endif 2159bbd60e7SFilip Bozuta #ifdef BTRFS_IOC_DEV_INFO 2169bbd60e7SFilip Bozuta IOCTL(BTRFS_IOC_DEV_INFO, IOC_RW, 2179bbd60e7SFilip Bozuta MK_PTR(MK_STRUCT(STRUCT_btrfs_ioctl_dev_info_args))) 2189bbd60e7SFilip Bozuta #endif 2190ff496a0SFilip Bozuta #ifdef BTRFS_IOC_INO_PATHS 2200ff496a0SFilip Bozuta IOCTL(BTRFS_IOC_INO_PATHS, IOC_RW, 2210ff496a0SFilip Bozuta MK_PTR(MK_STRUCT(STRUCT_btrfs_ioctl_ino_path_args))) 2220ff496a0SFilip Bozuta #endif 2230ff496a0SFilip Bozuta #ifdef BTRFS_IOC_LOGICAL_INO 2240ff496a0SFilip Bozuta IOCTL(BTRFS_IOC_LOGICAL_INO, IOC_RW, 2250ff496a0SFilip Bozuta MK_PTR(MK_STRUCT(STRUCT_btrfs_ioctl_logical_ino_args))) 2260ff496a0SFilip Bozuta #endif 22753906f68SFilip Bozuta #ifdef BTRFS_IOC_QUOTA_CTL 22853906f68SFilip Bozuta IOCTL(BTRFS_IOC_QUOTA_CTL, IOC_RW, 22953906f68SFilip Bozuta MK_PTR(MK_STRUCT(STRUCT_btrfs_ioctl_quota_ctl_args))) 23053906f68SFilip Bozuta #endif 23153906f68SFilip Bozuta #ifdef BTRFS_IOC_QGROUP_ASSIGN 23253906f68SFilip Bozuta IOCTL(BTRFS_IOC_QGROUP_ASSIGN, IOC_W, 23353906f68SFilip Bozuta MK_PTR(MK_STRUCT(STRUCT_btrfs_ioctl_qgroup_assign_args))) 23453906f68SFilip Bozuta #endif 23553906f68SFilip Bozuta #ifdef BTRFS_IOC_QGROUP_CREATE 23653906f68SFilip Bozuta IOCTL(BTRFS_IOC_QGROUP_CREATE, IOC_W, 23753906f68SFilip Bozuta MK_PTR(MK_STRUCT(STRUCT_btrfs_ioctl_qgroup_create_args))) 23853906f68SFilip Bozuta #endif 23953906f68SFilip Bozuta #ifdef BTRFS_IOC_QGROUP_LIMIT 24053906f68SFilip Bozuta IOCTL(BTRFS_IOC_QGROUP_LIMIT, IOC_R, 24153906f68SFilip Bozuta MK_PTR(MK_STRUCT(STRUCT_btrfs_ioctl_qgroup_limit_args))) 24253906f68SFilip Bozuta #endif 24353906f68SFilip Bozuta #ifdef BTRFS_IOC_QUOTA_RESCAN 24453906f68SFilip Bozuta IOCTL(BTRFS_IOC_QUOTA_RESCAN, IOC_W, 24553906f68SFilip Bozuta MK_PTR(MK_STRUCT(STRUCT_btrfs_ioctl_quota_rescan_args))) 24653906f68SFilip Bozuta #endif 24753906f68SFilip Bozuta #ifdef BTRFS_IOC_QUOTA_RESCAN_STATUS 24853906f68SFilip Bozuta IOCTL(BTRFS_IOC_QUOTA_RESCAN_STATUS, IOC_R, 24953906f68SFilip Bozuta MK_PTR(MK_STRUCT(STRUCT_btrfs_ioctl_quota_rescan_args))) 25053906f68SFilip Bozuta #endif 25153906f68SFilip Bozuta #ifdef BTRFS_IOC_QUOTA_RESCAN_WAIT 25253906f68SFilip Bozuta IOCTL(BTRFS_IOC_QUOTA_RESCAN_WAIT, 0, TYPE_NULL) 25353906f68SFilip Bozuta #endif 2549bbd60e7SFilip Bozuta #ifdef BTRFS_IOC_GET_DEV_STATS 2559bbd60e7SFilip Bozuta IOCTL(BTRFS_IOC_GET_DEV_STATS, IOC_RW, 2569bbd60e7SFilip Bozuta MK_PTR(MK_STRUCT(STRUCT_btrfs_ioctl_get_dev_stats))) 2579bbd60e7SFilip Bozuta #endif 25849b422a8SFilip Bozuta #ifdef BTRFS_IOC_GET_FEATURES 25949b422a8SFilip Bozuta IOCTL(BTRFS_IOC_GET_FEATURES, IOC_R, 26049b422a8SFilip Bozuta MK_PTR(MK_STRUCT(STRUCT_btrfs_ioctl_feature_flags))) 26149b422a8SFilip Bozuta #endif 26249b422a8SFilip Bozuta #ifdef BTRFS_IOC_SET_FEATURES 26349b422a8SFilip Bozuta IOCTL(BTRFS_IOC_SET_FEATURES, IOC_W, 26449b422a8SFilip Bozuta MK_PTR(MK_ARRAY(MK_STRUCT(STRUCT_btrfs_ioctl_feature_flags), 2))) 26549b422a8SFilip Bozuta #endif 26649b422a8SFilip Bozuta #ifdef BTRFS_IOC_GET_SUPPORTED_FEATURES 26749b422a8SFilip Bozuta IOCTL(BTRFS_IOC_GET_SUPPORTED_FEATURES, IOC_R, 26849b422a8SFilip Bozuta MK_PTR(MK_ARRAY(MK_STRUCT(STRUCT_btrfs_ioctl_feature_flags), 3))) 26949b422a8SFilip Bozuta #endif 2700ff496a0SFilip Bozuta #ifdef BTRFS_IOC_LOGICAL_INO_V2 2710ff496a0SFilip Bozuta IOCTL(BTRFS_IOC_LOGICAL_INO_V2, IOC_RW, 2720ff496a0SFilip Bozuta MK_PTR(MK_STRUCT(STRUCT_btrfs_ioctl_logical_ino_args))) 2730ff496a0SFilip Bozuta #endif 274d6092e08SFilip Bozuta #ifdef BTRFS_IOC_GET_SUBVOL_INFO 275d6092e08SFilip Bozuta IOCTL(BTRFS_IOC_GET_SUBVOL_INFO, IOC_R, 276d6092e08SFilip Bozuta MK_PTR(MK_STRUCT(STRUCT_btrfs_ioctl_get_subvol_info_args))) 277d6092e08SFilip Bozuta #endif 278784c08c8SFilip Bozuta #ifdef BTRFS_IOC_GET_SUBVOL_ROOTREF 279784c08c8SFilip Bozuta IOCTL(BTRFS_IOC_GET_SUBVOL_ROOTREF, IOC_RW, 280784c08c8SFilip Bozuta MK_PTR(MK_STRUCT(STRUCT_btrfs_ioctl_get_subvol_rootref_args))) 281784c08c8SFilip Bozuta #endif 2820ff496a0SFilip Bozuta #ifdef BTRFS_IOC_INO_LOOKUP_USER 2830ff496a0SFilip Bozuta IOCTL(BTRFS_IOC_INO_LOOKUP_USER, IOC_RW, 2840ff496a0SFilip Bozuta MK_PTR(MK_STRUCT(STRUCT_btrfs_ioctl_ino_lookup_user_args))) 2850ff496a0SFilip Bozuta #endif 286d6092e08SFilip Bozuta 2876c753a63SCortland Tölva #ifdef CONFIG_USBFS 2886c753a63SCortland Tölva /* USB ioctls */ 2896c753a63SCortland Tölva IOCTL(USBDEVFS_CONTROL, IOC_RW, 2906c753a63SCortland Tölva MK_PTR(MK_STRUCT(STRUCT_usbdevfs_ctrltransfer))) 2916c753a63SCortland Tölva IOCTL(USBDEVFS_BULK, IOC_RW, 2926c753a63SCortland Tölva MK_PTR(MK_STRUCT(STRUCT_usbdevfs_bulktransfer))) 2936c753a63SCortland Tölva IOCTL(USBDEVFS_RESETEP, IOC_W, MK_PTR(TYPE_INT)) 2946c753a63SCortland Tölva IOCTL(USBDEVFS_SETINTERFACE, IOC_W, 2956c753a63SCortland Tölva MK_PTR(MK_STRUCT(STRUCT_usbdevfs_setinterface))) 2966c753a63SCortland Tölva IOCTL(USBDEVFS_SETCONFIGURATION, IOC_W, MK_PTR(TYPE_INT)) 2976c753a63SCortland Tölva IOCTL(USBDEVFS_GETDRIVER, IOC_R, 2986c753a63SCortland Tölva MK_PTR(MK_STRUCT(STRUCT_usbdevfs_getdriver))) 299a133367eSCortland Tölva IOCTL_SPECIAL(USBDEVFS_SUBMITURB, IOC_W, do_ioctl_usbdevfs_submiturb, 300a133367eSCortland Tölva MK_PTR(MK_STRUCT(STRUCT_usbdevfs_urb))) 301a133367eSCortland Tölva IOCTL_SPECIAL(USBDEVFS_DISCARDURB, IOC_RW, do_ioctl_usbdevfs_discardurb, 302a133367eSCortland Tölva MK_PTR(MK_STRUCT(STRUCT_usbdevfs_urb))) 303a133367eSCortland Tölva IOCTL_SPECIAL(USBDEVFS_REAPURB, IOC_R, do_ioctl_usbdevfs_reapurb, 304a133367eSCortland Tölva MK_PTR(TYPE_PTRVOID)) 305a133367eSCortland Tölva IOCTL_SPECIAL(USBDEVFS_REAPURBNDELAY, IOC_R, do_ioctl_usbdevfs_reapurb, 306a133367eSCortland Tölva MK_PTR(TYPE_PTRVOID)) 3076c753a63SCortland Tölva IOCTL(USBDEVFS_DISCSIGNAL, IOC_W, 3086c753a63SCortland Tölva MK_PTR(MK_STRUCT(STRUCT_usbdevfs_disconnectsignal))) 3096c753a63SCortland Tölva IOCTL(USBDEVFS_CLAIMINTERFACE, IOC_W, MK_PTR(TYPE_INT)) 3106c753a63SCortland Tölva IOCTL(USBDEVFS_RELEASEINTERFACE, IOC_W, MK_PTR(TYPE_INT)) 3116c753a63SCortland Tölva IOCTL(USBDEVFS_CONNECTINFO, IOC_R, 3126c753a63SCortland Tölva MK_PTR(MK_STRUCT(STRUCT_usbdevfs_connectinfo))) 3136c753a63SCortland Tölva IOCTL(USBDEVFS_IOCTL, IOC_RW, MK_PTR(MK_STRUCT(STRUCT_usbdevfs_ioctl))) 3146c753a63SCortland Tölva IOCTL(USBDEVFS_HUB_PORTINFO, IOC_R, 3156c753a63SCortland Tölva MK_PTR(MK_STRUCT(STRUCT_usbdevfs_hub_portinfo))) 3166c753a63SCortland Tölva IOCTL(USBDEVFS_RESET, 0, TYPE_NULL) 3176c753a63SCortland Tölva IOCTL(USBDEVFS_CLEAR_HALT, IOC_W, MK_PTR(TYPE_INT)) 3186c753a63SCortland Tölva IOCTL(USBDEVFS_DISCONNECT, 0, TYPE_NULL) 3196c753a63SCortland Tölva IOCTL(USBDEVFS_CONNECT, 0, TYPE_NULL) 3206c753a63SCortland Tölva IOCTL(USBDEVFS_CLAIM_PORT, IOC_W, MK_PTR(TYPE_INT)) 3216c753a63SCortland Tölva IOCTL(USBDEVFS_RELEASE_PORT, IOC_W, MK_PTR(TYPE_INT)) 3226c753a63SCortland Tölva IOCTL(USBDEVFS_GET_CAPABILITIES, IOC_R, MK_PTR(TYPE_INT)) 3236c753a63SCortland Tölva IOCTL(USBDEVFS_DISCONNECT_CLAIM, IOC_W, 3246c753a63SCortland Tölva MK_PTR(MK_STRUCT(STRUCT_usbdevfs_disconnect_claim))) 3256c753a63SCortland Tölva #ifdef USBDEVFS_DROP_PRIVILEGES 3266c753a63SCortland Tölva IOCTL(USBDEVFS_DROP_PRIVILEGES, IOC_W, MK_PTR(TYPE_INT)) 3276c753a63SCortland Tölva #endif 3286c753a63SCortland Tölva #ifdef USBDEVFS_GET_SPEED 3296c753a63SCortland Tölva IOCTL(USBDEVFS_GET_SPEED, 0, TYPE_NULL) 3306c753a63SCortland Tölva #endif 3316c753a63SCortland Tölva #endif /* CONFIG_USBFS */ 3326c753a63SCortland Tölva 3334e4b173fSAleksandar Markovic IOCTL(FIOGETOWN, IOC_R, MK_PTR(TYPE_INT)) 3344e4b173fSAleksandar Markovic IOCTL(FIOSETOWN, IOC_W, MK_PTR(TYPE_INT)) 335a57f1f8fSPeter Maydell IOCTL(SIOCATMARK, IOC_R, MK_PTR(TYPE_INT)) 33643330b71SErik Kline IOCTL(SIOCGIFNAME, IOC_RW, MK_PTR(MK_STRUCT(STRUCT_int_ifreq))) 33731e31b8aSbellard IOCTL(SIOCGIFFLAGS, IOC_W | IOC_R, MK_PTR(MK_STRUCT(STRUCT_short_ifreq))) 33831e31b8aSbellard IOCTL(SIOCSIFFLAGS, IOC_W, MK_PTR(MK_STRUCT(STRUCT_short_ifreq))) 33931e31b8aSbellard IOCTL(SIOCGIFADDR, IOC_W | IOC_R, MK_PTR(MK_STRUCT(STRUCT_sockaddr_ifreq))) 34031e31b8aSbellard IOCTL(SIOCSIFADDR, IOC_W, MK_PTR(MK_STRUCT(STRUCT_sockaddr_ifreq))) 34131e31b8aSbellard IOCTL(SIOCGIFBRDADDR, IOC_W | IOC_R, MK_PTR(MK_STRUCT(STRUCT_sockaddr_ifreq))) 34231e31b8aSbellard IOCTL(SIOCSIFBRDADDR, IOC_W, MK_PTR(MK_STRUCT(STRUCT_sockaddr_ifreq))) 34331e31b8aSbellard IOCTL(SIOCGIFDSTADDR, IOC_W | IOC_R, MK_PTR(MK_STRUCT(STRUCT_sockaddr_ifreq))) 34431e31b8aSbellard IOCTL(SIOCSIFDSTADDR, IOC_W, MK_PTR(MK_STRUCT(STRUCT_sockaddr_ifreq))) 34531e31b8aSbellard IOCTL(SIOCGIFNETMASK, IOC_W | IOC_R, MK_PTR(MK_STRUCT(STRUCT_sockaddr_ifreq))) 34631e31b8aSbellard IOCTL(SIOCSIFNETMASK, IOC_W, MK_PTR(MK_STRUCT(STRUCT_sockaddr_ifreq))) 34731e31b8aSbellard IOCTL(SIOCGIFHWADDR, IOC_W | IOC_R, MK_PTR(MK_STRUCT(STRUCT_sockaddr_ifreq))) 34831e31b8aSbellard IOCTL(SIOCSIFHWADDR, IOC_W, MK_PTR(MK_STRUCT(STRUCT_sockaddr_ifreq))) 34931e31b8aSbellard IOCTL(SIOCGIFTXQLEN, IOC_W | IOC_R, MK_PTR(MK_STRUCT(STRUCT_sockaddr_ifreq))) 35031e31b8aSbellard IOCTL(SIOCSIFTXQLEN, IOC_W, MK_PTR(MK_STRUCT(STRUCT_sockaddr_ifreq))) 35131e31b8aSbellard IOCTL(SIOCGIFMETRIC, IOC_W | IOC_R, MK_PTR(MK_STRUCT(STRUCT_int_ifreq))) 35231e31b8aSbellard IOCTL(SIOCSIFMETRIC, IOC_W, MK_PTR(MK_STRUCT(STRUCT_int_ifreq))) 35331e31b8aSbellard IOCTL(SIOCGIFMTU, IOC_W | IOC_R, MK_PTR(MK_STRUCT(STRUCT_int_ifreq))) 35431e31b8aSbellard IOCTL(SIOCSIFMTU, IOC_W, MK_PTR(MK_STRUCT(STRUCT_int_ifreq))) 35531e31b8aSbellard IOCTL(SIOCGIFMAP, IOC_W | IOC_R, MK_PTR(MK_STRUCT(STRUCT_ifmap_ifreq))) 35631e31b8aSbellard IOCTL(SIOCSIFMAP, IOC_W, MK_PTR(MK_STRUCT(STRUCT_ifmap_ifreq))) 35731e31b8aSbellard IOCTL(SIOCGIFSLAVE, IOC_W | IOC_R, MK_PTR(MK_STRUCT(STRUCT_char_ifreq))) 35831e31b8aSbellard IOCTL(SIOCSIFSLAVE, IOC_W, MK_PTR(MK_STRUCT(STRUCT_char_ifreq))) 35931e31b8aSbellard IOCTL(SIOCGIFMEM, IOC_W | IOC_R, MK_PTR(MK_STRUCT(STRUCT_ptr_ifreq))) 36031e31b8aSbellard IOCTL(SIOCSIFMEM, IOC_W, MK_PTR(MK_STRUCT(STRUCT_ptr_ifreq))) 36131e31b8aSbellard IOCTL(SIOCADDMULTI, IOC_W, MK_PTR(MK_STRUCT(STRUCT_sockaddr_ifreq))) 36231e31b8aSbellard IOCTL(SIOCDELMULTI, IOC_W, MK_PTR(MK_STRUCT(STRUCT_sockaddr_ifreq))) 36327a07827SJoakim Tjernlund IOCTL(SIOCGIFINDEX, IOC_W | IOC_R, MK_PTR(MK_STRUCT(STRUCT_int_ifreq))) 3644bdcd79eSNeng Chen IOCTL(SIOCSIFPFLAGS, IOC_W, MK_PTR(MK_STRUCT(STRUCT_short_ifreq))) 3654bdcd79eSNeng Chen IOCTL(SIOCGIFPFLAGS, IOC_W | IOC_R, MK_PTR(MK_STRUCT(STRUCT_short_ifreq))) 36631e31b8aSbellard IOCTL(SIOCSIFLINK, 0, TYPE_NULL) 367059c2f2cSLaurent Vivier IOCTL_SPECIAL(SIOCGIFCONF, IOC_W | IOC_R, do_ioctl_ifconf, 368059c2f2cSLaurent Vivier MK_PTR(MK_STRUCT(STRUCT_ifconf))) 36931e31b8aSbellard IOCTL(SIOCGIFENCAP, IOC_RW, MK_PTR(TYPE_INT)) 37031e31b8aSbellard IOCTL(SIOCSIFENCAP, IOC_W, MK_PTR(TYPE_INT)) 37131e31b8aSbellard IOCTL(SIOCDARP, IOC_W, MK_PTR(MK_STRUCT(STRUCT_arpreq))) 37231e31b8aSbellard IOCTL(SIOCSARP, IOC_W, MK_PTR(MK_STRUCT(STRUCT_arpreq))) 37331e31b8aSbellard IOCTL(SIOCGARP, IOC_R, MK_PTR(MK_STRUCT(STRUCT_arpreq))) 37431e31b8aSbellard IOCTL(SIOCDRARP, IOC_W, MK_PTR(MK_STRUCT(STRUCT_arpreq))) 37531e31b8aSbellard IOCTL(SIOCSRARP, IOC_W, MK_PTR(MK_STRUCT(STRUCT_arpreq))) 37631e31b8aSbellard IOCTL(SIOCGRARP, IOC_R, MK_PTR(MK_STRUCT(STRUCT_arpreq))) 37786fcd946SLaurent Vivier IOCTL(SIOCGIWNAME, IOC_W | IOC_R, MK_PTR(MK_STRUCT(STRUCT_char_ifreq))) 378c495a793SAleksandar Markovic IOCTL(SIOCSPGRP, IOC_W, MK_PTR(TYPE_INT)) /* pid_t */ 379405b4915SHelge Deller IOCTL(SIOCGPGRP, IOC_R, MK_PTR(TYPE_INT)) /* pid_t */ 3806d5d5ddeSDaniel P. Berrangé 3816d5d5ddeSDaniel P. Berrangé /* 3826d5d5ddeSDaniel P. Berrangé * We can't use IOCTL_SPECIAL() because it will set 3836d5d5ddeSDaniel P. Berrangé * host_cmd to XXX_OLD and XXX_NEW and these macros 3846d5d5ddeSDaniel P. Berrangé * are not defined with kernel prior to 5.2. 3856d5d5ddeSDaniel P. Berrangé * We must set host_cmd to the same value as in target_cmd 3866d5d5ddeSDaniel P. Berrangé * otherwise the consistency check in syscall_init() 3876d5d5ddeSDaniel P. Berrangé * will trigger an error. 3886d5d5ddeSDaniel P. Berrangé * host_cmd is ignored by the do_ioctl_XXX() helpers. 3896d5d5ddeSDaniel P. Berrangé * FIXME: create a macro to define this kind of entry 3906d5d5ddeSDaniel P. Berrangé */ 3916d5d5ddeSDaniel P. Berrangé { TARGET_SIOCGSTAMP_OLD, TARGET_SIOCGSTAMP_OLD, 392a20a7c26SFilip Bozuta "SIOCGSTAMP_OLD", IOC_R, do_ioctl_SIOCGSTAMP, 393a20a7c26SFilip Bozuta { MK_PTR(MK_STRUCT(STRUCT_timeval)) } }, 3946d5d5ddeSDaniel P. Berrangé { TARGET_SIOCGSTAMPNS_OLD, TARGET_SIOCGSTAMPNS_OLD, 395a20a7c26SFilip Bozuta "SIOCGSTAMPNS_OLD", IOC_R, do_ioctl_SIOCGSTAMPNS, 396a20a7c26SFilip Bozuta { MK_PTR(MK_STRUCT(STRUCT_timespec)) } }, 3976d5d5ddeSDaniel P. Berrangé { TARGET_SIOCGSTAMP_NEW, TARGET_SIOCGSTAMP_NEW, 398a20a7c26SFilip Bozuta "SIOCGSTAMP_NEW", IOC_R, do_ioctl_SIOCGSTAMP, 399a20a7c26SFilip Bozuta { MK_PTR(MK_STRUCT(STRUCT__kernel_sock_timeval)) } }, 4006d5d5ddeSDaniel P. Berrangé { TARGET_SIOCGSTAMPNS_NEW, TARGET_SIOCGSTAMPNS_NEW, 401a20a7c26SFilip Bozuta "SIOCGSTAMPNS_NEW", IOC_R, do_ioctl_SIOCGSTAMPNS, 402a20a7c26SFilip Bozuta { MK_PTR(MK_STRUCT(STRUCT__kernel_timespec)) } }, 40331e31b8aSbellard 404d6d6d6feSMarco A L Barbosa IOCTL(RNDGETENTCNT, IOC_R, MK_PTR(TYPE_INT)) 405d6d6d6feSMarco A L Barbosa IOCTL(RNDADDTOENTCNT, IOC_W, MK_PTR(TYPE_INT)) 406d6d6d6feSMarco A L Barbosa IOCTL(RNDZAPENTCNT, 0, TYPE_NULL) 407d6d6d6feSMarco A L Barbosa IOCTL(RNDCLEARPOOL, 0, TYPE_NULL) 40892c096f0SAleksandar Markovic #ifdef RNDRESEEDCRNG 40992c096f0SAleksandar Markovic IOCTL(RNDRESEEDCRNG, 0, TYPE_NULL) 41092c096f0SAleksandar Markovic #endif 411d6d6d6feSMarco A L Barbosa 41231e31b8aSbellard IOCTL(CDROMPAUSE, 0, TYPE_NULL) 41331e31b8aSbellard IOCTL(CDROMSTART, 0, TYPE_NULL) 41431e31b8aSbellard IOCTL(CDROMSTOP, 0, TYPE_NULL) 41531e31b8aSbellard IOCTL(CDROMRESUME, 0, TYPE_NULL) 41631e31b8aSbellard IOCTL(CDROMEJECT, 0, TYPE_NULL) 41731e31b8aSbellard IOCTL(CDROMEJECT_SW, 0, TYPE_INT) 41831e31b8aSbellard IOCTL(CDROMCLOSETRAY, 0, TYPE_NULL) 41931e31b8aSbellard IOCTL(CDROMRESET, 0, TYPE_NULL) 42031e31b8aSbellard IOCTL(CDROMPLAYMSF, IOC_W, MK_PTR(TYPE_INT)) 42131e31b8aSbellard IOCTL(CDROMPLAYTRKIND, IOC_W, MK_PTR(TYPE_INT)) 42231e31b8aSbellard IOCTL(CDROMREADTOCHDR, IOC_R, MK_PTR(TYPE_INT)) 42331e31b8aSbellard IOCTL(CDROMREADTOCENTRY, IOC_RW, MK_PTR(TYPE_INT)) 42431e31b8aSbellard IOCTL(CDROMVOLCTRL, IOC_W, MK_PTR(TYPE_INT)) 42531e31b8aSbellard IOCTL(CDROMSUBCHNL, IOC_RW, MK_PTR(TYPE_INT)) 42631e31b8aSbellard /* XXX: incorrect (need specific handling) */ 42731e31b8aSbellard IOCTL(CDROMREADAUDIO, IOC_W, MK_PTR(MK_STRUCT(STRUCT_cdrom_read_audio))) 42831e31b8aSbellard IOCTL(CDROMREADCOOKED, IOC_RW, MK_PTR(TYPE_INT)) 42931e31b8aSbellard IOCTL(CDROMREADRAW, IOC_RW, MK_PTR(TYPE_INT)) 43031e31b8aSbellard IOCTL(CDROMREADMODE1, IOC_RW, MK_PTR(TYPE_INT)) 43131e31b8aSbellard IOCTL(CDROMREADMODE2, IOC_RW, MK_PTR(TYPE_INT)) 43231e31b8aSbellard IOCTL(CDROMREADALL, IOC_RW, MK_PTR(TYPE_INT)) 43331e31b8aSbellard IOCTL(CDROMMULTISESSION, IOC_RW, MK_PTR(TYPE_INT)) 43431e31b8aSbellard IOCTL(CDROM_GET_UPC, IOC_R, MK_PTR(TYPE_INT)) 43531e31b8aSbellard IOCTL(CDROMVOLREAD, IOC_R, MK_PTR(TYPE_INT)) 43631e31b8aSbellard IOCTL(CDROMSEEK, IOC_W, MK_PTR(TYPE_INT)) 43731e31b8aSbellard IOCTL(CDROMPLAYBLK, IOC_W, MK_PTR(TYPE_INT)) 43831e31b8aSbellard IOCTL(CDROM_MEDIA_CHANGED, 0, TYPE_NULL) 43931e31b8aSbellard IOCTL(CDROM_SET_OPTIONS, 0, TYPE_INT) 44031e31b8aSbellard IOCTL(CDROM_CLEAR_OPTIONS, 0, TYPE_INT) 44131e31b8aSbellard IOCTL(CDROM_SELECT_SPEED, 0, TYPE_INT) 44231e31b8aSbellard IOCTL(CDROM_SELECT_DISC, 0, TYPE_INT) 44331e31b8aSbellard IOCTL(CDROM_DRIVE_STATUS, 0, TYPE_NULL) 44431e31b8aSbellard IOCTL(CDROM_DISC_STATUS, 0, TYPE_NULL) 44531e31b8aSbellard IOCTL(CDROMAUDIOBUFSIZ, 0, TYPE_INT) 44631e31b8aSbellard 4472521d698Sbellard #if 0 44831e31b8aSbellard IOCTL(SNDCTL_COPR_HALT, IOC_RW, MK_PTR(TYPE_INT)) 44931e31b8aSbellard IOCTL(SNDCTL_COPR_LOAD, IOC_RW, MK_PTR(TYPE_INT)) 45031e31b8aSbellard IOCTL(SNDCTL_COPR_RCODE, IOC_RW, MK_PTR(TYPE_INT)) 45131e31b8aSbellard IOCTL(SNDCTL_COPR_RCVMSG, IOC_R, MK_PTR(TYPE_INT)) 45231e31b8aSbellard IOCTL(SNDCTL_COPR_RDATA, IOC_RW, MK_PTR(TYPE_INT)) 45331e31b8aSbellard IOCTL(SNDCTL_COPR_RESET, 0, TYPE_NULL) 45431e31b8aSbellard IOCTL(SNDCTL_COPR_RUN, IOC_RW, MK_PTR(TYPE_INT)) 45531e31b8aSbellard IOCTL(SNDCTL_COPR_SENDMSG, IOC_RW, MK_PTR(TYPE_INT)) 45631e31b8aSbellard IOCTL(SNDCTL_COPR_WCODE, IOC_W, MK_PTR(TYPE_INT)) 45731e31b8aSbellard IOCTL(SNDCTL_COPR_WDATA, IOC_W, MK_PTR(TYPE_INT)) 4582521d698Sbellard #endif 45931e31b8aSbellard IOCTL(SNDCTL_DSP_CHANNELS, IOC_RW, MK_PTR(TYPE_INT)) 46031e31b8aSbellard IOCTL(SNDCTL_DSP_GETBLKSIZE, IOC_RW, MK_PTR(TYPE_INT)) 46131e31b8aSbellard IOCTL(SNDCTL_DSP_GETCAPS, IOC_R, MK_PTR(TYPE_INT)) 46231e31b8aSbellard IOCTL(SNDCTL_DSP_GETFMTS, IOC_R, MK_PTR(TYPE_INT)) 4632521d698Sbellard IOCTL(SNDCTL_DSP_GETIPTR, IOC_R, MK_PTR(MK_STRUCT(STRUCT_count_info))) 4642521d698Sbellard IOCTL(SNDCTL_DSP_GETOPTR, IOC_R, MK_PTR(MK_STRUCT(STRUCT_count_info))) 4652521d698Sbellard IOCTL(SNDCTL_DSP_GETISPACE, IOC_R, MK_PTR(MK_STRUCT(STRUCT_audio_buf_info))) 4662521d698Sbellard IOCTL(SNDCTL_DSP_GETOSPACE, IOC_R, MK_PTR(MK_STRUCT(STRUCT_audio_buf_info))) 46731e31b8aSbellard IOCTL(SNDCTL_DSP_GETTRIGGER, IOC_R, MK_PTR(TYPE_INT)) 4685f72307dSPeter Maydell IOCTL(SNDCTL_DSP_MAPINBUF, IOC_R, MK_PTR(MK_STRUCT(STRUCT_buffmem_desc))) 4695f72307dSPeter Maydell IOCTL(SNDCTL_DSP_MAPOUTBUF, IOC_R, MK_PTR(MK_STRUCT(STRUCT_buffmem_desc))) 47031e31b8aSbellard IOCTL(SNDCTL_DSP_NONBLOCK, 0, TYPE_NULL) 47131e31b8aSbellard IOCTL(SNDCTL_DSP_POST, 0, TYPE_NULL) 47231e31b8aSbellard IOCTL(SNDCTL_DSP_RESET, 0, TYPE_NULL) 47331e31b8aSbellard IOCTL(SNDCTL_DSP_SETDUPLEX, 0, TYPE_NULL) 47431e31b8aSbellard IOCTL(SNDCTL_DSP_SETFMT, IOC_RW, MK_PTR(TYPE_INT)) 47531e31b8aSbellard IOCTL(SNDCTL_DSP_SETFRAGMENT, IOC_RW, MK_PTR(TYPE_INT)) 47631e31b8aSbellard IOCTL(SNDCTL_DSP_SETSYNCRO, 0, TYPE_NULL) 47731e31b8aSbellard IOCTL(SNDCTL_DSP_SETTRIGGER, IOC_W, MK_PTR(TYPE_INT)) 47831e31b8aSbellard IOCTL(SNDCTL_DSP_SPEED, IOC_RW, MK_PTR(TYPE_INT)) 47931e31b8aSbellard IOCTL(SNDCTL_DSP_STEREO, IOC_RW, MK_PTR(TYPE_INT)) 48031e31b8aSbellard IOCTL(SNDCTL_DSP_SUBDIVIDE, IOC_RW, MK_PTR(TYPE_INT)) 48131e31b8aSbellard IOCTL(SNDCTL_DSP_SYNC, 0, TYPE_NULL) 4822521d698Sbellard #if 0 48331e31b8aSbellard IOCTL(SNDCTL_FM_4OP_ENABLE, IOC_W, MK_PTR(TYPE_INT)) 48431e31b8aSbellard IOCTL(SNDCTL_FM_LOAD_INSTR, IOC_W, MK_PTR(TYPE_INT)) 48531e31b8aSbellard IOCTL(SNDCTL_MIDI_INFO, IOC_RW, MK_PTR(TYPE_INT)) 48631e31b8aSbellard IOCTL(SNDCTL_MIDI_MPUCMD, IOC_RW, MK_PTR(TYPE_INT)) 48731e31b8aSbellard IOCTL(SNDCTL_MIDI_MPUMODE, IOC_RW, MK_PTR(TYPE_INT)) 48831e31b8aSbellard IOCTL(SNDCTL_MIDI_PRETIME, IOC_RW, MK_PTR(TYPE_INT)) 48931e31b8aSbellard IOCTL(SNDCTL_SEQ_CTRLRATE, IOC_RW, MK_PTR(TYPE_INT)) 49031e31b8aSbellard IOCTL(SNDCTL_SEQ_GETINCOUNT, IOC_R, MK_PTR(TYPE_INT)) 49131e31b8aSbellard IOCTL(SNDCTL_SEQ_GETOUTCOUNT, IOC_R, MK_PTR(TYPE_INT)) 49231e31b8aSbellard IOCTL(SNDCTL_SEQ_NRMIDIS, IOC_R, MK_PTR(TYPE_INT)) 49331e31b8aSbellard IOCTL(SNDCTL_SEQ_NRSYNTHS, IOC_R, MK_PTR(TYPE_INT)) 49431e31b8aSbellard IOCTL(SNDCTL_SEQ_OUTOFBAND, IOC_W, MK_PTR(TYPE_INT)) 49531e31b8aSbellard IOCTL(SNDCTL_SEQ_PANIC, 0, TYPE_NULL) 49631e31b8aSbellard IOCTL(SNDCTL_SEQ_PERCMODE, IOC_W, MK_PTR(TYPE_INT)) 49731e31b8aSbellard IOCTL(SNDCTL_SEQ_RESET, 0, TYPE_NULL) 49831e31b8aSbellard IOCTL(SNDCTL_SEQ_RESETSAMPLES, IOC_W, MK_PTR(TYPE_INT)) 49931e31b8aSbellard IOCTL(SNDCTL_SEQ_SYNC, 0, TYPE_NULL) 50031e31b8aSbellard IOCTL(SNDCTL_SEQ_TESTMIDI, IOC_W, MK_PTR(TYPE_INT)) 50131e31b8aSbellard IOCTL(SNDCTL_SEQ_THRESHOLD, IOC_W, MK_PTR(TYPE_INT)) 50231e31b8aSbellard IOCTL(SNDCTL_SYNTH_INFO, IOC_RW, MK_PTR(TYPE_INT)) 50331e31b8aSbellard IOCTL(SNDCTL_SYNTH_MEMAVL, IOC_RW, MK_PTR(TYPE_INT)) 50431e31b8aSbellard IOCTL(SNDCTL_TMR_CONTINUE, 0, TYPE_NULL) 50531e31b8aSbellard IOCTL(SNDCTL_TMR_METRONOME, IOC_W, MK_PTR(TYPE_INT)) 50631e31b8aSbellard IOCTL(SNDCTL_TMR_SELECT, IOC_W, MK_PTR(TYPE_INT)) 50731e31b8aSbellard IOCTL(SNDCTL_TMR_SOURCE, IOC_RW, MK_PTR(TYPE_INT)) 5089de5e440Sbellard #if 0 5099de5e440Sbellard /* we invalidate these defines because they have a same number as 5109de5e440Sbellard termios ioctls */ 51131e31b8aSbellard IOCTL(SNDCTL_TMR_START, 0, TYPE_NULL) 51231e31b8aSbellard IOCTL(SNDCTL_TMR_STOP, 0, TYPE_NULL) 5139de5e440Sbellard #endif 51431e31b8aSbellard IOCTL(SNDCTL_TMR_TEMPO, IOC_RW, MK_PTR(TYPE_INT)) 51531e31b8aSbellard IOCTL(SNDCTL_TMR_TIMEBASE, IOC_RW, MK_PTR(TYPE_INT)) 51631e31b8aSbellard 51731e31b8aSbellard IOCTL(SOUND_PCM_WRITE_FILTER, IOC_W | IOC_R, MK_PTR(TYPE_INT)) 51831e31b8aSbellard IOCTL(SOUND_PCM_READ_RATE, IOC_R, MK_PTR(TYPE_INT)) 51931e31b8aSbellard IOCTL(SOUND_PCM_READ_CHANNELS, IOC_R, MK_PTR(TYPE_INT)) 52031e31b8aSbellard IOCTL(SOUND_PCM_READ_BITS, IOC_R, MK_PTR(TYPE_INT)) 52131e31b8aSbellard IOCTL(SOUND_PCM_READ_FILTER, IOC_R, MK_PTR(TYPE_INT)) 5222521d698Sbellard #endif 52331e31b8aSbellard IOCTL(SOUND_MIXER_INFO, IOC_R, MK_PTR(TYPE_INT)) 52431e31b8aSbellard IOCTL(SOUND_MIXER_ACCESS, 0, TYPE_PTRVOID) 52531e31b8aSbellard IOCTL(SOUND_MIXER_PRIVATE1, IOC_RW, MK_PTR(TYPE_INT)) 52631e31b8aSbellard IOCTL(SOUND_MIXER_PRIVATE2, IOC_RW, MK_PTR(TYPE_INT)) 52731e31b8aSbellard IOCTL(SOUND_MIXER_PRIVATE3, IOC_RW, MK_PTR(TYPE_INT)) 52831e31b8aSbellard IOCTL(SOUND_MIXER_PRIVATE4, IOC_RW, MK_PTR(TYPE_INT)) 52931e31b8aSbellard IOCTL(SOUND_MIXER_PRIVATE5, IOC_RW, MK_PTR(TYPE_INT)) 53031e31b8aSbellard IOCTL(SOUND_MIXER_READ_VOLUME, IOC_R, MK_PTR(TYPE_INT)) 53131e31b8aSbellard IOCTL(SOUND_MIXER_READ_BASS, IOC_R, MK_PTR(TYPE_INT)) 53231e31b8aSbellard IOCTL(SOUND_MIXER_READ_TREBLE, IOC_R, MK_PTR(TYPE_INT)) 53331e31b8aSbellard IOCTL(SOUND_MIXER_READ_SYNTH, IOC_R, MK_PTR(TYPE_INT)) 53431e31b8aSbellard IOCTL(SOUND_MIXER_READ_PCM, IOC_R, MK_PTR(TYPE_INT)) 53531e31b8aSbellard IOCTL(SOUND_MIXER_READ_SPEAKER, IOC_R, MK_PTR(TYPE_INT)) 53631e31b8aSbellard IOCTL(SOUND_MIXER_READ_LINE, IOC_R, MK_PTR(TYPE_INT)) 53731e31b8aSbellard IOCTL(SOUND_MIXER_READ_MIC, IOC_R, MK_PTR(TYPE_INT)) 53831e31b8aSbellard IOCTL(SOUND_MIXER_READ_CD, IOC_R, MK_PTR(TYPE_INT)) 53931e31b8aSbellard IOCTL(SOUND_MIXER_READ_IMIX, IOC_R, MK_PTR(TYPE_INT)) 54031e31b8aSbellard IOCTL(SOUND_MIXER_READ_ALTPCM, IOC_R, MK_PTR(TYPE_INT)) 54131e31b8aSbellard IOCTL(SOUND_MIXER_READ_RECLEV, IOC_R, MK_PTR(TYPE_INT)) 54231e31b8aSbellard IOCTL(SOUND_MIXER_READ_IGAIN, IOC_R, MK_PTR(TYPE_INT)) 54331e31b8aSbellard IOCTL(SOUND_MIXER_READ_OGAIN, IOC_R, MK_PTR(TYPE_INT)) 54431e31b8aSbellard IOCTL(SOUND_MIXER_READ_LINE1, IOC_R, MK_PTR(TYPE_INT)) 54531e31b8aSbellard IOCTL(SOUND_MIXER_READ_LINE2, IOC_R, MK_PTR(TYPE_INT)) 54631e31b8aSbellard IOCTL(SOUND_MIXER_READ_LINE3, IOC_R, MK_PTR(TYPE_INT)) 54731e31b8aSbellard IOCTL(SOUND_MIXER_READ_MUTE, IOC_R, MK_PTR(TYPE_INT)) 54831e31b8aSbellard IOCTL(SOUND_MIXER_READ_ENHANCE, IOC_R, MK_PTR(TYPE_INT)) 54931e31b8aSbellard IOCTL(SOUND_MIXER_READ_LOUD, IOC_R, MK_PTR(TYPE_INT)) 55031e31b8aSbellard IOCTL(SOUND_MIXER_READ_RECSRC, IOC_R, MK_PTR(TYPE_INT)) 55131e31b8aSbellard IOCTL(SOUND_MIXER_READ_DEVMASK, IOC_R, MK_PTR(TYPE_INT)) 55231e31b8aSbellard IOCTL(SOUND_MIXER_READ_RECMASK, IOC_R, MK_PTR(TYPE_INT)) 55331e31b8aSbellard IOCTL(SOUND_MIXER_READ_STEREODEVS, IOC_R, MK_PTR(TYPE_INT)) 55431e31b8aSbellard IOCTL(SOUND_MIXER_READ_CAPS, IOC_R, MK_PTR(TYPE_INT)) 55531e31b8aSbellard 55631e31b8aSbellard IOCTL(SOUND_MIXER_WRITE_VOLUME, IOC_W, MK_PTR(TYPE_INT)) 55731e31b8aSbellard IOCTL(SOUND_MIXER_WRITE_BASS, IOC_W, MK_PTR(TYPE_INT)) 55831e31b8aSbellard IOCTL(SOUND_MIXER_WRITE_TREBLE, IOC_W, MK_PTR(TYPE_INT)) 55931e31b8aSbellard IOCTL(SOUND_MIXER_WRITE_SYNTH, IOC_W, MK_PTR(TYPE_INT)) 56031e31b8aSbellard IOCTL(SOUND_MIXER_WRITE_PCM, IOC_W, MK_PTR(TYPE_INT)) 56131e31b8aSbellard IOCTL(SOUND_MIXER_WRITE_SPEAKER, IOC_W, MK_PTR(TYPE_INT)) 56231e31b8aSbellard IOCTL(SOUND_MIXER_WRITE_LINE, IOC_W, MK_PTR(TYPE_INT)) 56331e31b8aSbellard IOCTL(SOUND_MIXER_WRITE_MIC, IOC_W, MK_PTR(TYPE_INT)) 56431e31b8aSbellard IOCTL(SOUND_MIXER_WRITE_CD, IOC_W, MK_PTR(TYPE_INT)) 56531e31b8aSbellard IOCTL(SOUND_MIXER_WRITE_IMIX, IOC_W, MK_PTR(TYPE_INT)) 56631e31b8aSbellard IOCTL(SOUND_MIXER_WRITE_ALTPCM, IOC_W, MK_PTR(TYPE_INT)) 56731e31b8aSbellard IOCTL(SOUND_MIXER_WRITE_RECLEV, IOC_W, MK_PTR(TYPE_INT)) 56831e31b8aSbellard IOCTL(SOUND_MIXER_WRITE_IGAIN, IOC_W, MK_PTR(TYPE_INT)) 56931e31b8aSbellard IOCTL(SOUND_MIXER_WRITE_OGAIN, IOC_W, MK_PTR(TYPE_INT)) 57031e31b8aSbellard IOCTL(SOUND_MIXER_WRITE_LINE1, IOC_W, MK_PTR(TYPE_INT)) 57131e31b8aSbellard IOCTL(SOUND_MIXER_WRITE_LINE2, IOC_W, MK_PTR(TYPE_INT)) 57231e31b8aSbellard IOCTL(SOUND_MIXER_WRITE_LINE3, IOC_W, MK_PTR(TYPE_INT)) 57331e31b8aSbellard IOCTL(SOUND_MIXER_WRITE_MUTE, IOC_W, MK_PTR(TYPE_INT)) 57431e31b8aSbellard IOCTL(SOUND_MIXER_WRITE_ENHANCE, IOC_W, MK_PTR(TYPE_INT)) 57531e31b8aSbellard IOCTL(SOUND_MIXER_WRITE_LOUD, IOC_W, MK_PTR(TYPE_INT)) 57631e31b8aSbellard IOCTL(SOUND_MIXER_WRITE_RECSRC, IOC_W, MK_PTR(TYPE_INT)) 57731e31b8aSbellard 5781c4c6fcdSFilip Bozuta IOCTL(SNDRV_TIMER_IOCTL_PVERSION, IOC_R, MK_PTR(TYPE_INT)) 5791c4c6fcdSFilip Bozuta IOCTL(SNDRV_TIMER_IOCTL_NEXT_DEVICE, IOC_RW, 5801c4c6fcdSFilip Bozuta MK_PTR(MK_STRUCT(STRUCT_snd_timer_id))) 581aca7708eSFilip Bozuta IOCTL(SNDRV_TIMER_IOCTL_GINFO, IOC_RW, 582aca7708eSFilip Bozuta MK_PTR(MK_STRUCT(STRUCT_snd_timer_ginfo))) 583aca7708eSFilip Bozuta IOCTL(SNDRV_TIMER_IOCTL_GPARAMS, IOC_W, 584aca7708eSFilip Bozuta MK_PTR(MK_STRUCT(STRUCT_snd_timer_gparams))) 585aca7708eSFilip Bozuta IOCTL(SNDRV_TIMER_IOCTL_GSTATUS, IOC_RW, 586aca7708eSFilip Bozuta MK_PTR(MK_STRUCT(STRUCT_snd_timer_gstatus))) 587d22edf0aSFilip Bozuta IOCTL(SNDRV_TIMER_IOCTL_SELECT, IOC_W, 588d22edf0aSFilip Bozuta MK_PTR(MK_STRUCT(STRUCT_snd_timer_select))) 589fe333025SFilip Bozuta IOCTL(SNDRV_TIMER_IOCTL_INFO, IOC_R, MK_PTR(MK_STRUCT(STRUCT_snd_timer_info))) 590fe333025SFilip Bozuta IOCTL(SNDRV_TIMER_IOCTL_PARAMS, IOC_W, 591fe333025SFilip Bozuta MK_PTR(MK_STRUCT(STRUCT_snd_timer_params))) 592fe333025SFilip Bozuta IOCTL(SNDRV_TIMER_IOCTL_STATUS, IOC_R, 593fe333025SFilip Bozuta MK_PTR(MK_STRUCT(STRUCT_snd_timer_status))) 594045823a9SFilip Bozuta IOCTL(SNDRV_TIMER_IOCTL_START, 0, TYPE_NULL) 595045823a9SFilip Bozuta IOCTL(SNDRV_TIMER_IOCTL_STOP, 0, TYPE_NULL) 596045823a9SFilip Bozuta IOCTL(SNDRV_TIMER_IOCTL_CONTINUE, 0, TYPE_NULL) 597045823a9SFilip Bozuta IOCTL(SNDRV_TIMER_IOCTL_PAUSE, 0, TYPE_NULL) 5981c4c6fcdSFilip Bozuta 59931e31b8aSbellard IOCTL(HDIO_GETGEO, IOC_R, MK_PTR(MK_STRUCT(STRUCT_hd_geometry))) 60031e31b8aSbellard IOCTL(HDIO_GET_UNMASKINTR, IOC_R, MK_PTR(TYPE_INT)) 60131e31b8aSbellard IOCTL(HDIO_GET_MULTCOUNT, IOC_R, MK_PTR(TYPE_INT)) 60231e31b8aSbellard IOCTL(HDIO_GET_IDENTITY, IOC_R, MK_PTR(TYPE_INT)) 60331e31b8aSbellard IOCTL(HDIO_GET_KEEPSETTINGS, IOC_R, MK_PTR(TYPE_INT)) 60431e31b8aSbellard IOCTL(HDIO_GET_NOWERR, IOC_R, MK_PTR(TYPE_INT)) 60531e31b8aSbellard IOCTL(HDIO_GET_DMA, IOC_R, MK_PTR(TYPE_INT)) 60631e31b8aSbellard IOCTL(HDIO_GET_32BIT, IOC_R, MK_PTR(TYPE_INT)) 60731e31b8aSbellard IOCTL(HDIO_DRIVE_CMD, IOC_R, MK_PTR(TYPE_INT)) 60831e31b8aSbellard IOCTL(HDIO_SET_UNMASKINTR, 0, TYPE_INT) 60931e31b8aSbellard IOCTL(HDIO_SET_MULTCOUNT, 0, TYPE_INT) 61031e31b8aSbellard IOCTL(HDIO_SET_KEEPSETTINGS, 0, TYPE_INT) 61131e31b8aSbellard IOCTL(HDIO_SET_NOWERR, 0, TYPE_INT) 61231e31b8aSbellard IOCTL(HDIO_SET_DMA, 0, TYPE_INT) 61331e31b8aSbellard IOCTL(HDIO_SET_32BIT, 0, TYPE_INT) 61431e31b8aSbellard IOCTL(HDIO_SET_PIO_MODE, 0, TYPE_INT) 6151a9353d2Sbellard 6161a9353d2Sbellard IOCTL(VFAT_IOCTL_READDIR_BOTH, IOC_R, MK_PTR(MK_ARRAY(MK_STRUCT(STRUCT_dirent), 2))) 6171a9353d2Sbellard IOCTL(VFAT_IOCTL_READDIR_SHORT, IOC_R, MK_PTR(MK_ARRAY(MK_STRUCT(STRUCT_dirent), 2))) 618b8005914Sbalrog 619b8005914Sbalrog IOCTL(LOOP_SET_FD, 0, TYPE_INT) 620b8005914Sbalrog IOCTL(LOOP_CLR_FD, 0, TYPE_INT) 621b8005914Sbalrog IOCTL(LOOP_SET_STATUS, IOC_W, MK_PTR(MK_STRUCT(STRUCT_loop_info))) 622f2c2fb50SPeter Maydell IOCTL(LOOP_GET_STATUS, IOC_R, MK_PTR(MK_STRUCT(STRUCT_loop_info))) 623b8005914Sbalrog IOCTL(LOOP_SET_STATUS64, IOC_W, MK_PTR(MK_STRUCT(STRUCT_loop_info64))) 624f2c2fb50SPeter Maydell IOCTL(LOOP_GET_STATUS64, IOC_R, MK_PTR(MK_STRUCT(STRUCT_loop_info64))) 625b8005914Sbalrog IOCTL(LOOP_CHANGE_FD, 0, TYPE_INT) 6260a761ce3SAndreas Schwab IOCTL(LOOP_SET_CAPACITY, 0, TYPE_INT) 6270a761ce3SAndreas Schwab IOCTL(LOOP_SET_DIRECT_IO, 0, TYPE_INT) 6280a761ce3SAndreas Schwab IOCTL(LOOP_SET_BLOCK_SIZE, 0, TYPE_INT) 6290a761ce3SAndreas Schwab IOCTL(LOOP_CONFIGURE, IOC_W, MK_PTR(MK_STRUCT(STRUCT_loop_config))) 6308fbd6b52Sbalrog 631884cdc48SPeter Maydell IOCTL(LOOP_CTL_ADD, 0, TYPE_INT) 632884cdc48SPeter Maydell IOCTL(LOOP_CTL_REMOVE, 0, TYPE_INT) 633884cdc48SPeter Maydell IOCTL(LOOP_CTL_GET_FREE, 0, TYPE_NULL) 634884cdc48SPeter Maydell 6358fbd6b52Sbalrog IOCTL(MTIOCTOP, IOC_W, MK_PTR(MK_STRUCT(STRUCT_mtop))) 6368fbd6b52Sbalrog IOCTL(MTIOCGET, IOC_R, MK_PTR(MK_STRUCT(STRUCT_mtget))) 6378fbd6b52Sbalrog IOCTL(MTIOCPOS, IOC_R, MK_PTR(MK_STRUCT(STRUCT_mtpos))) 638f7680a55SUlrich Hecht 639f7680a55SUlrich Hecht IOCTL(FBIOGET_FSCREENINFO, IOC_R, MK_PTR(MK_STRUCT(STRUCT_fb_fix_screeninfo))) 640f7680a55SUlrich Hecht IOCTL(FBIOGET_VSCREENINFO, IOC_R, MK_PTR(MK_STRUCT(STRUCT_fb_var_screeninfo))) 641f7680a55SUlrich Hecht IOCTL(FBIOPUT_VSCREENINFO, IOC_W, MK_PTR(MK_STRUCT(STRUCT_fb_var_screeninfo))) 64212b81b71SCédric VINCENT IOCTL(FBIOGETCMAP, IOC_RW, MK_PTR(MK_STRUCT(STRUCT_fb_cmap))) 64312b81b71SCédric VINCENT IOCTL(FBIOPUTCMAP, IOC_RW, MK_PTR(MK_STRUCT(STRUCT_fb_cmap))) 64412b81b71SCédric VINCENT IOCTL(FBIOPAN_DISPLAY, IOC_RW, MK_PTR(MK_STRUCT(STRUCT_fb_var_screeninfo))) 64512b81b71SCédric VINCENT IOCTL(FBIOGET_CON2FBMAP, IOC_RW, MK_PTR(MK_STRUCT(STRUCT_fb_con2fbmap))) 64612b81b71SCédric VINCENT IOCTL(FBIOPUT_CON2FBMAP, IOC_RW, MK_PTR(MK_STRUCT(STRUCT_fb_con2fbmap))) 647f7680a55SUlrich Hecht 648f7680a55SUlrich Hecht IOCTL(VT_OPENQRY, IOC_R, MK_PTR(TYPE_INT)) 649f7680a55SUlrich Hecht IOCTL(VT_GETSTATE, IOC_R, MK_PTR(MK_STRUCT(STRUCT_vt_stat))) 650f7680a55SUlrich Hecht IOCTL(VT_ACTIVATE, 0, TYPE_INT) 651f7680a55SUlrich Hecht IOCTL(VT_WAITACTIVE, 0, TYPE_INT) 652f7680a55SUlrich Hecht IOCTL(VT_LOCKSWITCH, 0, TYPE_INT) 653f7680a55SUlrich Hecht IOCTL(VT_UNLOCKSWITCH, 0, TYPE_INT) 654774750c0SCédric VINCENT IOCTL(VT_GETMODE, IOC_RW, MK_PTR(MK_STRUCT(STRUCT_vt_mode))) 655774750c0SCédric VINCENT IOCTL(VT_SETMODE, IOC_RW, MK_PTR(MK_STRUCT(STRUCT_vt_mode))) 656774750c0SCédric VINCENT IOCTL(VT_RELDISP, 0, TYPE_INT) 657774750c0SCédric VINCENT IOCTL(VT_DISALLOCATE, 0, TYPE_INT) 65856e904ecSAlexander Graf 65956e904ecSAlexander Graf IOCTL(DM_VERSION, IOC_RW, MK_PTR(MK_STRUCT(STRUCT_dm_ioctl))) 66056e904ecSAlexander Graf IOCTL_SPECIAL(DM_REMOVE_ALL, IOC_RW, do_ioctl_dm, 66156e904ecSAlexander Graf MK_PTR(MK_STRUCT(STRUCT_dm_ioctl))) 66256e904ecSAlexander Graf IOCTL_SPECIAL(DM_LIST_DEVICES, IOC_RW, do_ioctl_dm, 66356e904ecSAlexander Graf MK_PTR(MK_STRUCT(STRUCT_dm_ioctl))) 66456e904ecSAlexander Graf IOCTL_SPECIAL(DM_DEV_CREATE, IOC_RW, do_ioctl_dm, 66556e904ecSAlexander Graf MK_PTR(MK_STRUCT(STRUCT_dm_ioctl))) 66656e904ecSAlexander Graf IOCTL_SPECIAL(DM_DEV_REMOVE, IOC_RW, do_ioctl_dm, 66756e904ecSAlexander Graf MK_PTR(MK_STRUCT(STRUCT_dm_ioctl))) 66856e904ecSAlexander Graf IOCTL_SPECIAL(DM_DEV_RENAME, IOC_RW, do_ioctl_dm, 66956e904ecSAlexander Graf MK_PTR(MK_STRUCT(STRUCT_dm_ioctl))) 67056e904ecSAlexander Graf IOCTL_SPECIAL(DM_DEV_SUSPEND, IOC_RW, do_ioctl_dm, 67156e904ecSAlexander Graf MK_PTR(MK_STRUCT(STRUCT_dm_ioctl))) 67256e904ecSAlexander Graf IOCTL_SPECIAL(DM_DEV_STATUS, IOC_RW, do_ioctl_dm, 67356e904ecSAlexander Graf MK_PTR(MK_STRUCT(STRUCT_dm_ioctl))) 67456e904ecSAlexander Graf IOCTL_SPECIAL(DM_DEV_WAIT, IOC_RW, do_ioctl_dm, 67556e904ecSAlexander Graf MK_PTR(MK_STRUCT(STRUCT_dm_ioctl))) 67656e904ecSAlexander Graf IOCTL_SPECIAL(DM_TABLE_LOAD, IOC_RW, do_ioctl_dm, 67756e904ecSAlexander Graf MK_PTR(MK_STRUCT(STRUCT_dm_ioctl))) 67856e904ecSAlexander Graf IOCTL_SPECIAL(DM_TABLE_CLEAR, IOC_RW, do_ioctl_dm, 67956e904ecSAlexander Graf MK_PTR(MK_STRUCT(STRUCT_dm_ioctl))) 68056e904ecSAlexander Graf IOCTL_SPECIAL(DM_TABLE_DEPS, IOC_RW, do_ioctl_dm, 68156e904ecSAlexander Graf MK_PTR(MK_STRUCT(STRUCT_dm_ioctl))) 68256e904ecSAlexander Graf IOCTL_SPECIAL(DM_TABLE_STATUS, IOC_RW, do_ioctl_dm, 68356e904ecSAlexander Graf MK_PTR(MK_STRUCT(STRUCT_dm_ioctl))) 68456e904ecSAlexander Graf IOCTL_SPECIAL(DM_LIST_VERSIONS,IOC_RW, do_ioctl_dm, 68556e904ecSAlexander Graf MK_PTR(MK_STRUCT(STRUCT_dm_ioctl))) 68656e904ecSAlexander Graf IOCTL_SPECIAL(DM_TARGET_MSG, IOC_RW, do_ioctl_dm, 68756e904ecSAlexander Graf MK_PTR(MK_STRUCT(STRUCT_dm_ioctl))) 68856e904ecSAlexander Graf IOCTL_SPECIAL(DM_DEV_SET_GEOMETRY, IOC_RW, do_ioctl_dm, 68956e904ecSAlexander Graf MK_PTR(MK_STRUCT(STRUCT_dm_ioctl))) 6907ff7b666SLaurent Vivier IOCTL_SPECIAL(SIOCADDRT, IOC_W, do_ioctl_rt, 6917ff7b666SLaurent Vivier MK_PTR(MK_STRUCT(STRUCT_rtentry))) 6927ff7b666SLaurent Vivier IOCTL_SPECIAL(SIOCDELRT, IOC_W, do_ioctl_rt, 6937ff7b666SLaurent Vivier MK_PTR(MK_STRUCT(STRUCT_rtentry))) 6948cb762feSHelge Deller 695e865b97fSChen Gang #ifdef HAVE_DRM_H 696e865b97fSChen Gang IOCTL_SPECIAL(DRM_IOCTL_VERSION, IOC_RW, do_ioctl_drm, 697e865b97fSChen Gang MK_PTR(MK_STRUCT(STRUCT_drm_version))) 698913b03c2SChen Gang 699913b03c2SChen Gang IOCTL_SPECIAL(DRM_IOCTL_I915_GETPARAM, IOC_RW, do_ioctl_drm_i915, 700913b03c2SChen Gang MK_PTR(MK_STRUCT(STRUCT_drm_i915_getparam))) 701e865b97fSChen Gang #endif 702e865b97fSChen Gang 7038cb762feSHelge Deller #ifdef TARGET_TIOCSTART 7048cb762feSHelge Deller IOCTL_IGNORE(TIOCSTART) 7058cb762feSHelge Deller IOCTL_IGNORE(TIOCSTOP) 7068cb762feSHelge Deller #endif 707bd27e675SAleksandar Markovic 7084a9d5f89SThomas Huth #ifdef HAVE_SYS_KCOV_H 709bd27e675SAleksandar Markovic IOCTL(KCOV_ENABLE, 0, TYPE_NULL) 710bd27e675SAleksandar Markovic IOCTL(KCOV_DISABLE, 0, TYPE_NULL) 711f7dbd8feSAleksandar Markovic IOCTL(KCOV_INIT_TRACE, IOC_R, TYPE_ULONG) 712bd27e675SAleksandar Markovic #endif 7136addf06aSShu-Chun Weng 7146addf06aSShu-Chun Weng IOCTL(TUNSETDEBUG, IOC_W, TYPE_INT) 7156addf06aSShu-Chun Weng IOCTL(TUNSETIFF, IOC_RW, MK_PTR(MK_STRUCT(STRUCT_short_ifreq))) 7166addf06aSShu-Chun Weng IOCTL(TUNSETPERSIST, IOC_W, TYPE_INT) 7176addf06aSShu-Chun Weng IOCTL(TUNSETOWNER, IOC_W, TYPE_INT) 7186addf06aSShu-Chun Weng IOCTL(TUNSETLINK, IOC_W, TYPE_INT) 7196addf06aSShu-Chun Weng IOCTL(TUNSETGROUP, IOC_W, TYPE_INT) 7206addf06aSShu-Chun Weng IOCTL(TUNGETFEATURES, IOC_R, MK_PTR(TYPE_INT)) 7216addf06aSShu-Chun Weng IOCTL(TUNSETOFFLOAD, IOC_W, TYPE_LONG) 7226addf06aSShu-Chun Weng IOCTL_SPECIAL(TUNSETTXFILTER, IOC_W, do_ioctl_TUNSETTXFILTER, 7236addf06aSShu-Chun Weng /* 7246addf06aSShu-Chun Weng * We can't represent `struct tun_filter` in thunk so leaving 7256addf06aSShu-Chun Weng * it uninterpreted. do_ioctl_TUNSETTXFILTER will do the 7266addf06aSShu-Chun Weng * conversion. 7276addf06aSShu-Chun Weng */ 7286addf06aSShu-Chun Weng TYPE_PTRVOID) 7296addf06aSShu-Chun Weng IOCTL(TUNGETIFF, IOC_R, MK_PTR(MK_STRUCT(STRUCT_short_ifreq))) 7306addf06aSShu-Chun Weng IOCTL(TUNGETSNDBUF, IOC_R, MK_PTR(TYPE_INT)) 7316addf06aSShu-Chun Weng IOCTL(TUNSETSNDBUF, IOC_W, MK_PTR(TYPE_INT)) 7326addf06aSShu-Chun Weng /* 7336addf06aSShu-Chun Weng * TUNATTACHFILTER and TUNDETACHFILTER are not supported. Linux kernel keeps a 7346addf06aSShu-Chun Weng * user pointer in TUNATTACHFILTER, which we are not able to correctly handle. 7356addf06aSShu-Chun Weng */ 7366addf06aSShu-Chun Weng IOCTL(TUNGETVNETHDRSZ, IOC_R, MK_PTR(TYPE_INT)) 7376addf06aSShu-Chun Weng IOCTL(TUNSETVNETHDRSZ, IOC_W, MK_PTR(TYPE_INT)) 7386addf06aSShu-Chun Weng IOCTL(TUNSETQUEUE, IOC_W, MK_PTR(MK_STRUCT(STRUCT_short_ifreq))) 7396addf06aSShu-Chun Weng IOCTL(TUNSETIFINDEX , IOC_W, MK_PTR(TYPE_INT)) 7406addf06aSShu-Chun Weng /* TUNGETFILTER is not supported: see TUNATTACHFILTER. */ 741655a650aSRichard Henderson #ifdef TUNSETVNETLE 7426addf06aSShu-Chun Weng IOCTL(TUNSETVNETLE, IOC_W, MK_PTR(TYPE_INT)) 7436addf06aSShu-Chun Weng IOCTL(TUNGETVNETLE, IOC_R, MK_PTR(TYPE_INT)) 744655a650aSRichard Henderson #endif 7456addf06aSShu-Chun Weng #ifdef TUNSETVNETBE 7466addf06aSShu-Chun Weng IOCTL(TUNSETVNETBE, IOC_W, MK_PTR(TYPE_INT)) 7476addf06aSShu-Chun Weng IOCTL(TUNGETVNETBE, IOC_R, MK_PTR(TYPE_INT)) 7486addf06aSShu-Chun Weng #endif 7496addf06aSShu-Chun Weng #ifdef TUNSETSTEERINGEBPF 7506addf06aSShu-Chun Weng IOCTL(TUNSETSTEERINGEBPF, IOC_W, MK_PTR(TYPE_INT)) 7516addf06aSShu-Chun Weng #endif 7526addf06aSShu-Chun Weng #ifdef TUNSETFILTEREBPF 7536addf06aSShu-Chun Weng IOCTL(TUNSETFILTEREBPF, IOC_W, MK_PTR(TYPE_INT)) 7546addf06aSShu-Chun Weng #endif 7556addf06aSShu-Chun Weng #ifdef TUNSETCARRIER 7566addf06aSShu-Chun Weng IOCTL(TUNSETCARRIER, IOC_W, MK_PTR(TYPE_INT)) 7576addf06aSShu-Chun Weng #endif 7586addf06aSShu-Chun Weng #ifdef TUNGETDEVNETNS 7596addf06aSShu-Chun Weng IOCTL(TUNGETDEVNETNS, IOC_R, TYPE_NULL) 7606addf06aSShu-Chun Weng #endif 761