summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorey Richardson <corey@octayn.net>2015-07-21 06:06:44 -0400
committerPaul Osborne <Paul.Osborne@digi.com>2015-08-12 19:29:21 -0500
commit553b51d5bb7a5c2bd3abc26287a60822531aff0d (patch)
tree41fe1e3608ad4af5744120f15529df9485527585
parenta9221b0fe735a52443fd4d41370d161ab7da2291 (diff)
downloadnix-553b51d5bb7a5c2bd3abc26287a60822531aff0d.zip
ioctl: remove all but command encoding
-rw-r--r--src/sys/ioctl/etc/find_ioctls.py33
-rw-r--r--src/sys/ioctl/etc/process_ioctls.py236
-rw-r--r--src/sys/ioctl/etc/x86_64/ignore_list113
-rw-r--r--src/sys/ioctl/etc/x86_64/ioctl_list1014
-rw-r--r--src/sys/ioctl/etc/x86_64/manually_found5
-rw-r--r--src/sys/ioctl/mod.rs11
-rw-r--r--src/sys/ioctl/platform/linux-generated-x86_64.rs1005
-rw-r--r--src/sys/ioctl/platform/linux.rs233
8 files changed, 2 insertions, 2648 deletions
diff --git a/src/sys/ioctl/etc/find_ioctls.py b/src/sys/ioctl/etc/find_ioctls.py
deleted file mode 100644
index 25dc5634..00000000
--- a/src/sys/ioctl/etc/find_ioctls.py
+++ /dev/null
@@ -1,33 +0,0 @@
-# PYTHONPATH=/home/cmr/llvm/tools/clang/bindings/python LD_LIBRARY_PATH=/usr/lib ./find_ioctls.py
-
-import os
-import clang.cindex as c
-
-header_paths = ["/usr/include"]
-
-idx = c.Index.create()
-args = ['-E', '-x', 'c', '-I/usr/lib/clang/3.6.0/include/']
-options = c.TranslationUnit.PARSE_DETAILED_PROCESSING_RECORD | c.TranslationUnit.PARSE_SKIP_FUNCTION_BODIES | c.TranslationUnit.PARSE_INCOMPLETE
-
-ioctls = []
-
-for p in header_paths:
- for (dirp, dirn, fnames) in os.walk(p):
- for f in fnames:
- if f.endswith('.h'): # try to avoid C++ headers.
- tu = idx.parse(os.path.join(dirp, f), args=args,
- options=options)
- failed = False
- for diag in tu.diagnostics:
- if diag.severity > c.Diagnostic.Warning:
- failed = True
- break
- if failed:
- continue
- for cx in tu.cursor.walk_preorder():
- if cx.kind == c.CursorKind.MACRO_DEFINITION:
- if "IOC" in cx.spelling and cx.spelling.isupper():
- ioctls.append(list(tok.spelling for tok in cx.get_tokens()))
-
-for ioctl in ioctls:
- print(ioctl)
diff --git a/src/sys/ioctl/etc/process_ioctls.py b/src/sys/ioctl/etc/process_ioctls.py
deleted file mode 100644
index 815dae36..00000000
--- a/src/sys/ioctl/etc/process_ioctls.py
+++ /dev/null
@@ -1,236 +0,0 @@
-import sys
-import os
-import operator
-
-if len(sys.argv) != 2:
- sys.stderr.write("Wrong number of argmuments. Wanted one, the name of the\
- arch to use, got %s" % sys.argv)
-
-arch = sys.argv[1]
-
-f = open(os.path.join(arch, 'ioctl_list')) # found by find_ioctls.py
-m = open(os.path.join(arch, 'manually_found')) # found by the Mach V Eyeball
-i = open(os.path.join(arch, 'ignore_list')) # removed from the output of find_ioctls.py
-
-print("// Initially generated by process_ioctls.py")
-
-consts = {
- "mips": { "NONE": 1, "READ": 2, "WRITE": 4, "SIZEBITS": 13, "DIRBITS": 3},
- "powerpc": { "NONE": 1, "READ": 2, "WRITE": 4, "SIZEBITS": 13, "DIRBITS": 3},
- "x86": { "NONE": 0, "READ": 2, "WRITE": 1, "SIZEBITS": 14, "DIRBITS": 2},
- "x86_64": { "NONE": 0, "READ": 2, "WRITE": 1, "SIZEBITS": 14, "DIRBITS": 2},
- "arm": { "NONE": 0, "READ": 2, "WRITE": 1, "SIZEBITS": 14, "DIRBITS": 2},
- "aarch64": { "NONE": 0, "READ": 2, "WRITE": 1, "SIZEBITS": 14, "DIRBITS": 2},
-}
-
-ioc_consts = {
- "SIOCPROTOPRIVATE": 0x89E0,
- "SIOCDEVPRIVATE": 0x89F0,
- "PCIIOC_BASE": (ord('P') << 24 | ord('C') << 16 | ord('I') << 8),
- "FIONREAD": 0x541B,
- "CZIOC": ord('M') << 8,
- "TIOCOUTQ": 0x5411,
- "TIOCM_CAR": 0x040,
- "TIOCM_RNG": 0x080,
-}
-
-NONE = consts[arch]["NONE"]
-READ = consts[arch]["READ"]
-WRITE = consts[arch]["WRITE"]
-SIZEBITS = consts[arch]["SIZEBITS"]
-DIRBITS = consts[arch]["DIRBITS"]
-NRBITS = 8
-TYPEBITS = 8
-NRSHIFT = 0
-TYPESHIFT = NRSHIFT + NRBITS
-SIZESHIFT = TYPESHIFT + SIZEBITS
-DIRSHIFT = SIZESHIFT + DIRBITS
-NRMASK = (1 << NRBITS) - 1
-TYPEMASK = (1 << TYPEBITS) - 1
-SIZEMASK = (1 << SIZEBITS) - 1
-DIRMASK = (1 << DIRBITS) - 1
-
-def decode(val):
- return (((val >> DIRSHIFT) & DIRMASK), ((val >> TYPESHIFT) & TYPEMASK),
- ((val >> NRSHIFT) & NRMASK), ((val >> SIZESHIFT) & SIZEMASK))
-
-ioctls = [] # ones we want to actually process
-
-for ioctl in f:
- ioctls.append(eval(ioctl))
-for ioctl in m:
- ioctls.append(eval(ioctl))
-
-mp = { "_IO": "none", "_IOR": "read", "_IOW": "write", "_IOWR": "readwrite",
- "DRM_IO": "none", "DRM_IOR": "read", "DRM_IOW": "write", "DRM_IOWR": "readwrite"}
-
-tys = {
- "__uint8_t": "u8",
- "__uint16": "u16",
- "__uint32_t": "u32",
- "__uint64_t": "u64",
- "__int8_t": "i8",
- "__int16": "i16",
- "__int32_t": "i32",
- "__int64_t": "i64",
- "uint8_t": "u8",
- "uint16": "u16",
- "uint32_t": "u32",
- "uint64_t": "u64",
- "int8_t": "i8",
- "int16": "i16",
- "int32_t": "i32",
- "int64_t": "i64",
- "__u8": "u8",
- "__u16": "u16",
- "__u32": "u32",
- "__u64": "u64",
- "__s8": "i8",
- "__s16": "i16",
- "__s32": "i32",
- "__s64": "i64",
- "int": "::libc::c_int",
- "long": "::libc::c_long",
- "char": "::libc::c_char",
- "size_t": "::libc::size_t",
-}
-
-utys = {
- "int": "::libc::c_uint",
- "long": "::libc::c_ulong",
- "char": "::libc::c_uchar",
-}
-
-known_structs = ["input_id", "ff_effect", "ff_trigger", "ff_replay"]
-
-manually_bound = ["EVIOCGNAME", "EVIOCGPHYS", "EVIOCGUNIQ", "EVIOCGPROP",
-"EVIOCGMTSLOTS", "EVIOCGKEY", "EVIOCGLED", "EVIOCGSND", "EVIOCGSW",
-"EVIOCGBIT", "EVIOCGABS", "EVIOCSABS", "EVIOCGRAB", "EVIOCREVOKE",
-"EVIOCSCLOCKID"]
-
-bad_recovery = {}
-
-def translate(ty):
- if len(ty) == 1:
- return tys.get(ty[0], "FIXME1<%s>" % ty)
- elif ty[-1] == '*':
- return "*mut " + translate(ty[:-1])
- elif len(ty) == 2:
- if ty[0] == "struct":
- return "/*struct*/ %s" % ty[1]
- elif ty[0] == "unsigned":
- return utys[ty[1]]
- else:
- return "FIXME2<%s>" % ty
- elif ty[-1] == ']':
- count = ty[-2]
- return "[%s; %s]" % (translate(ty[:-3]), count)
- else:
- return "FIXME3<%s>" % ty
-
-def translate_type_code(ty):
- if ty[0] == "'":
- return "b" + ty
- else:
- return ty
-
-def bad(name, val):
- if name in bad_recovery:
- process(bad_recovery[name])
- else:
- pval = None
- try:
- pval = int(val, 0)
- except:
- pass
- if pval is None:
- print("ioctl!(bad %s with %s);" % (name.lower(), val))
- else:
- (dr, ty, nr, sz) = decode(pval)
- if dr == NONE:
- print("ioctl!(none %s with %s, %s);" % (name.lower(), ty, nr))
- elif dr == READ:
- print("ioctl!(read %s with %s, %s; [u8; %s]);" %
- (name.lower(), ty, nr, sz));
- elif dr == WRITE:
- print("ioctl!(write %s with %s, %s; [u8; %s]);" %
- (name.lower(), ty, nr, sz));
- elif dr == READ|WRITE:
- print("ioctl!(readwrite %s with %s, %s; [u8; %s]);" %
- (name.lower(), ty, nr, sz));
- else:
- raise "This really shouldn't happen"
-
-def bad2(name, val1, val2, op):
- if val1 in ioc_consts:
- val1 = ioc_consts[val1]
- else:
- val1 = int(val1, 0)
-
- if val2 in ioc_consts:
- val2 = ioc_consts[val2]
- else:
- val2 = int(val2, 0)
-
- bad(name, str(op(val1, val2)))
-
-def process(ioctl):
- name = ioctl[0]
- rhs = ioctl[1:-1] # remove '#' or trailing comment
- cmd = rhs[0]
- body = rhs[2:-1]
-
- if name in manually_bound:
- return
- elif cmd == "_IO":
- print("ioctl!(none %s with %s, %s);" % (name.lower(), translate_type_code(body[0]),
- body[2]))
- elif cmd == '_IOR' or cmd == '_IOW' or cmd == '_IOWR':
- if body[3] == ',':
- # this looks like _IOR(X, B, type...)
- first = body[0]
- second = body[2]
- ty = body[4:]
- ty = translate(ty)
- if "FIXME" in ty or "/*struct*/" in ty and not ty[11:] in known_structs:
- print("// ioctl!(%s %s with %s, %s; %s);" % (mp[cmd], name.lower(),
- translate_type_code(first), second, ty))
- else:
- print("ioctl!(%s %s with %s, %s; %s);" % (mp[cmd], name.lower(),
- translate_type_code(first), second, ty))
- elif body[3] == '+':
- first = body[0]
- second = " ".join(body[2:5])
- ty = body[6:]
- ty = translate(ty)
- if "FIXME" in ty or "/*struct*/" in ty and not ty[11:] in known_structs:
- print("// ioctl!(%s %s with %s, %s; %s);" % (mp[cmd], name.lower(),
- translate_type_code(first), second, ty))
- else:
- print("ioctl!(%s %s with %s, %s; %s);" % (mp[cmd], name.lower(),
- translate_type_code(first), second, ty))
- # We probably have _IOR(X, B + C, type...)
- else:
- raise "This really shouldn't happen"
- elif cmd == "DRM_IO" or cmd == "DRM_IOR" or cmd == "DRM_IOW" or cmd == "DRM_IOWR":
- # rewrite into "canonical" version.
- process([name, cmd[3:], "(", "DRM_IOCTL_BASE", ","] + rhs[2:] + ["#"])
- elif len(rhs) == 1: # single constant :(
- bad(name.lower(), ioc_consts.get(rhs[0], rhs[0]))
- elif len(rhs) == 3 and rhs[0] == "(": # single constant in parens
- bad(name.lower(), ioc_consts.get(rhs[1], rhs[1]))
- elif rhs[2] == "+": # we have the sum of two constants
- try:
- bad2(name.lower(), rhs[1], rhs[3], operator.add)
- except:
- bad(name.lower(), " ".join(rhs[1:-1]))
- elif rhs[2] == "|": # we have an or of two constants (eugh)
- try:
- bad2(name.lower(), rhs[1], rhs[3], operator.or_)
- except:
- bad(name.lower(), " ".join(rhs[1:-1]))
- else:
- print("// TODO #define %s %s" % (name, " ".join(rhs)))
-
-for ioctl in ioctls:
- process(ioctl)
diff --git a/src/sys/ioctl/etc/x86_64/ignore_list b/src/sys/ioctl/etc/x86_64/ignore_list
deleted file mode 100644
index cb6d6a24..00000000
--- a/src/sys/ioctl/etc/x86_64/ignore_list
+++ /dev/null
@@ -1,113 +0,0 @@
-['ATMIOC_AREQUIPA', '0xc0', '/* Application requested IP over ATM, glob. u. */']
-['ATMIOC_BACKEND', '0x90', '/* ATM generic backend ioctls, u. per backend */']
-['ATMIOC_BACKEND_END', '0xaf', '/* 0xb0-0xbf: Reserved for future use */']
-['ATMIOC_CLIP', '0xe0', '/* Classical IP over ATM control, globally u. */']
-['ATMIOC_CLIP_END', '0xef', '#']
-['ATMIOC_ITF', '0x80', '/* Interface ioctls, globally unique */']
-['ATMIOC_ITF_END', '0x8f', '#']
-['ATMIOC_LANE', '0xd0', '/* LAN Emulation, globally unique */']
-['ATMIOC_MPOA', '0xd8', '/* MPOA, globally unique */']
-['ATMIOC_PHYCOM', '0x00', '/* PHY device common ioctls, globally unique */']
-['ATMIOC_PHYCOM_END', '0x0f', '#']
-['ATMIOC_PHYPRV', '0x30', '/* PHY dev private ioctls, unique per driver */']
-['ATMIOC_PHYPRV_END', '0x4f', '#']
-['ATMIOC_PHYTYP', '0x10', '/* PHY dev type ioctls, unique per PHY type */']
-['ATMIOC_PHYTYP_END', '0x2f', '#']
-['ATMIOC_SARCOM', '0x50', '/* SAR device common ioctls, globally unique */']
-['ATMIOC_SARCOM_END', '0x50', '#']
-['ATMIOC_SARPRV', '0x60', '/* SAR dev private ioctls, unique per driver */']
-['ATMIOC_SARPRV_END', '0x7f', '#']
-['ATMIOC_SPECIAL', '0xf0', '/* Special-purpose controls, globally unique */']
-['ATMIOC_SPECIAL_END', '0xff', '#']
-['BASE_VIDIOC_PRIVATE', '192', '/* 192-255 are private */']
-['BTRFS_IOCTL_DEV_REPLACE_CMD_CANCEL', '2', '#']
-['BTRFS_IOCTL_DEV_REPLACE_CMD_START', '0', '#']
-['BTRFS_IOCTL_DEV_REPLACE_CMD_STATUS', '1', '#']
-['BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_ALWAYS', '0', '#']
-['BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_AVOID', '1', 'struct']
-['BTRFS_IOCTL_DEV_REPLACE_RESULT_ALREADY_STARTED', '2', 'struct']
-['BTRFS_IOCTL_DEV_REPLACE_RESULT_NOT_STARTED', '1', '#']
-['BTRFS_IOCTL_DEV_REPLACE_RESULT_NO_ERROR', '0', '#']
-['BTRFS_IOCTL_DEV_REPLACE_STATE_CANCELED', '3', '#']
-['BTRFS_IOCTL_DEV_REPLACE_STATE_FINISHED', '2', '#']
-['BTRFS_IOCTL_DEV_REPLACE_STATE_NEVER_STARTED', '0', '#']
-['BTRFS_IOCTL_DEV_REPLACE_STATE_STARTED', '1', '#']
-['BTRFS_IOCTL_DEV_REPLACE_STATE_SUSPENDED', '4', 'struct']
-['BTRFS_IOCTL_MAGIC', '0x94', '#']
-['CCISS_IOC_MAGIC', "'B'", 'typedef']
-['CM_IOC_MAGIC', "'c'", '#']
-['CM_IOC_MAXNR', '255', '#']
-['COOKED_IOCTL', '1', '#']
-['CUSE_UNRESTRICTED_IOCTL', '(', '1', '<<', '0', ')', '/**\n * Release flags\n */']
-['C_CM_IOCTL', '0x02', '/* re-read CH_CTRL */']
-['C_CM_IOCTLM', '0x04', '/* RS-232 outputs change */']
-['C_CM_IOCTLW', '0x03', '/* re-read CH_CTRL, intr when done */']
-['C_IN_IOCTLW', '0x00020000', '/* I/O control w/ wait */']
-['DECNET_IOCTL_BASE', '0x89', '/* PROTOPRIVATE range */']
-['DM_IOCTL', '0xfd', '#']
-['DRM_IOCTL_BASE', "'d'", '#']
-['DTV_IOCTL_MAX_MSGS', '64', 'struct']
-['FSL_HV_IOCTL_TYPE', '0xAF', '/* Restart another partition */']
-['FUSE_IOCTL_MAX_IOV', '256', '/**\n * Poll flags\n *\n * FUSE_POLL_SCHEDULE_NOTIFY: request poll notify\n */']
-['GIGASET_IOCTL', '0x47', '/* enable/disable device control via character device (lock out ISDN subsys) */']
-['GNUTLS_E_CRYPTODEV_IOCTL_ERROR', '-', '211', '#']
-['IB_IOCTL_MAGIC', '0x1b', '#']
-['IOCB_FLAG_RESFD', '(', '1', '<<', '0', ')', '/* read() from /dev/aio returns these structures. */']
-['MGSL_MAGIC_IOC', "'m'", '#']
-['MMC_IOC_MAX_BYTES', '(', '512L', '*', '256', ')', '#']
-['MMTIMER_IOCTL_BASE', "'m'", '#']
-['MTRR_IOCTL_BASE', "'M'", '/* Warning: this structure has a different order from i386\n on x86-64. The 32bit emulation code takes care of that.\n But you need to use this for 64bit, otherwise your X server\n will break. */']
-['PH_IOC_MAGIC', "'p'", '#']
-['PP_IOCTL', "'p'", '/* Set mode for read/write (e.g. IEEE1284_MODE_EPP) */']
-['RFKILL_IOC_MAGIC', "'R'", '#']
-['RFKILL_IOC_NOINPUT', '1', '#']
-['UBI_CTRL_IOC_MAGIC', "'o'", '/* Attach an MTD device */']
-['UINPUT_IOCTL_BASE', "'U'", '#']
-['USBTMC_IOC_NR', '91', '#']
-['USB_SUBCLASS_AUDIOCONTROL', '0x01', '#']
-['VIOCD_MAJOR', '113', '#']
-['WATCHDOG_IOCTL_BASE', "'W'", 'struct']
-['_ASM_GENERIC_IOCTL_H', "/* ioctl command encoding: 32 bits total, command in lower 16 bits,\n * size of the parameter structure in the lower 14 bits of the\n * upper 16 bits.\n * Encoding the size of the parameter structure in the ioctl request\n * is useful for catching programs compiled with old versions\n * and to avoid overwriting user space outside the user buffer area.\n * The highest 2 bits are reserved for indicating the ``access mode''.\n * NOTE: This limits the max parameter size to 16kB -1 !\n */"]
-['_EVENT_HAVE_SYS_IOCTL_H', '1', '/* Define to 1 if you have the <sys/mman.h> header file. */']
-['_IOC', '(', 'dir', ',', 'type', ',', 'nr', ',', 'size', ')', '(', '(', '(', 'dir', ')', '<<', '_IOC_DIRSHIFT', ')', '|', '(', '(', 'type', ')', '<<', '_IOC_TYPESHIFT', ')', '|', '(', '(', 'nr', ')', '<<', '_IOC_NRSHIFT', ')', '|', '(', '(', 'size', ')', '<<', '_IOC_SIZESHIFT', ')', ')', '#']
-['_IOC_DIR', '(', 'nr', ')', '(', '(', '(', 'nr', ')', '>>', '_IOC_DIRSHIFT', ')', '&', '_IOC_DIRMASK', ')', '#']
-['_IOC_DIRBITS', '2', '#']
-['_IOC_DIRMASK', '(', '(', '1', '<<', '_IOC_DIRBITS', ')', '-', '1', ')', '#']
-['_IOC_DIRSHIFT', '(', '_IOC_SIZESHIFT', '+', '_IOC_SIZEBITS', ')', '/*\n * Direction bits, which any architecture can choose to override\n * before including this file.\n */']
-['_IOC_NONE', '0U', '#']
-['_IOC_NR', '(', 'nr', ')', '(', '(', '(', 'nr', ')', '>>', '_IOC_NRSHIFT', ')', '&', '_IOC_NRMASK', ')', '#']
-['_IOC_NRBITS', '8', '#']
-['_IOC_NRMASK', '(', '(', '1', '<<', '_IOC_NRBITS', ')', '-', '1', ')', '#']
-['_IOC_NRSHIFT', '0', '#']
-['_IOC_READ', '2U', '#']
-['_IOC_SIZE', '(', 'nr', ')', '(', '(', '(', 'nr', ')', '>>', '_IOC_SIZESHIFT', ')', '&', '_IOC_SIZEMASK', ')', '/* ...and for the drivers/sound files... */']
-['_IOC_SIZEBITS', '14', '#']
-['_IOC_SIZEMASK', '(', '(', '1', '<<', '_IOC_SIZEBITS', ')', '-', '1', ')', '#']
-['_IOC_SIZESHIFT', '(', '_IOC_TYPESHIFT', '+', '_IOC_TYPEBITS', ')', '#']
-['_IOC_TYPE', '(', 'nr', ')', '(', '(', '(', 'nr', ')', '>>', '_IOC_TYPESHIFT', ')', '&', '_IOC_TYPEMASK', ')', '#']
-['_IOC_TYPEBITS', '8', '/*\n * Let any architecture override either of the following before\n * including this file.\n */']
-['_IOC_TYPECHECK', '(', 't', ')', '(', 'sizeof', '(', 't', ')', ')', '/* used to create numbers */']
-['_IOC_TYPEMASK', '(', '(', '1', '<<', '_IOC_TYPEBITS', ')', '-', '1', ')', '#']
-['_IOC_TYPESHIFT', '(', '_IOC_NRSHIFT', '+', '_IOC_NRBITS', ')', '#']
-['_IOC_WRITE', '1U', '#']
-['_SIOC_DIR', '_IOC_DIR', '#']
-['_SIOC_NONE', '_IOC_NONE', '#']
-['_SIOC_READ', '_IOC_READ', '#']
-['_SIOC_SIZE', '_IOC_SIZE', '#']
-['_SIOC_WRITE', '_IOC_WRITE', '#']
-['UBI_IOC_MAGIC', "'o'", '/* Create an UBI volume */']
-['UBI_VOL_IOC_MAGIC', "'O'", "/* Start UBI volume update\n * Note: This actually takes a pointer (__s64*), but we can't change\n * that without breaking the ABI on 32bit systems\n */"]
-['IPMI_IOC_MAGIC', "'i'", '/* Messages sent to the interface are this format. */']
-['PACKET_IOCTL_MAGIC', '(', "'X'", ')', '#']
-['PCIIOC_BASE', '(', "'P'", '<<', '24', '|', "'C'", '<<', '16', '|', "'I'", '<<', '8', ')', '#']
-['SNAPSHOT_IOC_MAGIC', "'3'", '#']
-['SNAPSHOT_IOC_MAXNR', '20', '#']
-['SIOC_IN', 'IOC_IN', '#']
-['SIOC_INOUT', 'IOC_INOUT', '#']
-['SIOC_OUT', 'IOC_OUT', '#']
-['SIOC_VOID', 'IOC_VOID', '#']
-['SPI_IOC_MAGIC', "'k'", "/**\n * struct spi_ioc_transfer - describes a single SPI transfer\n * @tx_buf: Holds pointer to userspace buffer with transmit data, or null.\n *\tIf no data is provided, zeroes are shifted out.\n * @rx_buf: Holds pointer to userspace buffer for receive data, or null.\n * @len: Length of tx and rx buffers, in bytes.\n * @speed_hz: Temporary override of the device's bitrate.\n * @bits_per_word: Temporary override of the device's wordsize.\n * @delay_usecs: If nonzero, how long to delay after the last bit transfer\n *\tbefore optionally deselecting the device before the next transfer.\n * @cs_change: True to deselect device before starting the next transfer.\n *\n * This structure is mapped directly to the kernel spi_transfer structure;\n * the fields have the same meanings, except of course that the pointers\n * are in a different address space (and may be of different sizes in some\n * cases, such as 32-bit i386 userspace over a 64-bit x86_64 kernel).\n * Zero-initialize the structure, including currently unused fields, to\n * accommodate potential future updates.\n *\n * SPI_IOC_MESSAGE gives userspace the equivalent of kernel spi_sync().\n * Pass it an array of related transfers, they'll execute together.\n * Each transfer may be half duplex (either direction) or full duplex.\n *\n *\tstruct spi_ioc_transfer mesg[4];\n *\t...\n *\tstatus = ioctl(fd, SPI_IOC_MESSAGE(4), mesg);\n *\n * So for example one transfer might send a nine bit command (right aligned\n * in a 16-bit word), the next could read a block of 8-bit data before\n * terminating that command by temporarily deselecting the chip; the next\n * could send a different nine bit command (re-selecting the chip), and the\n * last transfer might write some register values.\n */"]
-['CZIOC', '(', "'M'", '<<', '8', ')', '#']
-['IOC_IN', '(', '_IOC_WRITE', '<<', '_IOC_DIRSHIFT', ')', '#']
-['IOC_INOUT', '(', '(', '_IOC_WRITE', '|', '_IOC_READ', ')', '<<', '_IOC_DIRSHIFT', ')', '#']
-['IOC_OUT', '(', '_IOC_READ', '<<', '_IOC_DIRSHIFT', ')', '#']
diff --git a/src/sys/ioctl/etc/x86_64/ioctl_list b/src/sys/ioctl/etc/x86_64/ioctl_list
deleted file mode 100644
index 9ce954b1..00000000
--- a/src/sys/ioctl/etc/x86_64/ioctl_list
+++ /dev/null
@@ -1,1014 +0,0 @@
-['APM_IOC_STANDBY', '_IO', '(', "'A'", ',', '1', ')', '#']
-['APM_IOC_SUSPEND', '_IO', '(', "'A'", ',', '2', ')', '#']
-['BTRFS_IOC_ADD_DEV', '_IOW', '(', 'BTRFS_IOCTL_MAGIC', ',', '10', ',', 'struct', 'btrfs_ioctl_vol_args', ')', '#']
-['BTRFS_IOC_BALANCE', '_IOW', '(', 'BTRFS_IOCTL_MAGIC', ',', '12', ',', 'struct', 'btrfs_ioctl_vol_args', ')', '#']
-['BTRFS_IOC_BALANCE_CTL', '_IOW', '(', 'BTRFS_IOCTL_MAGIC', ',', '33', ',', 'int', ')', '#']
-['BTRFS_IOC_BALANCE_PROGRESS', '_IOR', '(', 'BTRFS_IOCTL_MAGIC', ',', '34', ',', 'struct', 'btrfs_ioctl_balance_args', ')', '#']
-['BTRFS_IOC_BALANCE_V2', '_IOWR', '(', 'BTRFS_IOCTL_MAGIC', ',', '32', ',', 'struct', 'btrfs_ioctl_balance_args', ')', '#']
-['BTRFS_IOC_CLONE', '_IOW', '(', 'BTRFS_IOCTL_MAGIC', ',', '9', ',', 'int', ')', '#']
-['BTRFS_IOC_CLONE_RANGE', '_IOW', '(', 'BTRFS_IOCTL_MAGIC', ',', '13', ',', 'struct', 'btrfs_ioctl_clone_range_args', ')', '#']
-['BTRFS_IOC_DEFAULT_SUBVOL', '_IOW', '(', 'BTRFS_IOCTL_MAGIC', ',', '19', ',', '__u64', ')', '#']
-['BTRFS_IOC_DEFRAG', '_IOW', '(', 'BTRFS_IOCTL_MAGIC', ',', '2', ',', 'struct', 'btrfs_ioctl_vol_args', ')', '#']
-['BTRFS_IOC_DEFRAG_RANGE', '_IOW', '(', 'BTRFS_IOCTL_MAGIC', ',', '16', ',', 'struct', 'btrfs_ioctl_defrag_range_args', ')', '#']
-['BTRFS_IOC_DEVICES_READY', '_IOR', '(', 'BTRFS_IOCTL_MAGIC', ',', '39', ',', 'struct', 'btrfs_ioctl_vol_args', ')', '#']
-['BTRFS_IOC_DEV_INFO', '_IOWR', '(', 'BTRFS_IOCTL_MAGIC', ',', '30', ',', 'struct', 'btrfs_ioctl_dev_info_args', ')', '#']
-['BTRFS_IOC_DEV_REPLACE', '_IOWR', '(', 'BTRFS_IOCTL_MAGIC', ',', '53', ',', 'struct', 'btrfs_ioctl_dev_replace_args', ')', '#']
-['BTRFS_IOC_FILE_EXTENT_SAME', '_IOWR', '(', 'BTRFS_IOCTL_MAGIC', ',', '54', ',', 'struct', 'btrfs_ioctl_same_args', ')', '#']
-['BTRFS_IOC_FS_INFO', '_IOR', '(', 'BTRFS_IOCTL_MAGIC', ',', '31', ',', 'struct', 'btrfs_ioctl_fs_info_args', ')', '#']
-['BTRFS_IOC_GET_DEV_STATS', '_IOWR', '(', 'BTRFS_IOCTL_MAGIC', ',', '52', ',', 'struct', 'btrfs_ioctl_get_dev_stats', ')', '#']
-['BTRFS_IOC_GET_FEATURES', '_IOR', '(', 'BTRFS_IOCTL_MAGIC', ',', '57', ',', 'struct', 'btrfs_ioctl_feature_flags', ')', '#']
-['BTRFS_IOC_GET_FSLABEL', '_IOR', '(', 'BTRFS_IOCTL_MAGIC', ',', '49', ',', 'char', '[', 'BTRFS_LABEL_SIZE', ']', ')', '#']
-['BTRFS_IOC_GET_SUPPORTED_FEATURES', '_IOR', '(', 'BTRFS_IOCTL_MAGIC', ',', '57', ',', 'struct', 'btrfs_ioctl_feature_flags', '[', '3', ']', ')', '#']
-['BTRFS_IOC_INO_LOOKUP', '_IOWR', '(', 'BTRFS_IOCTL_MAGIC', ',', '18', ',', 'struct', 'btrfs_ioctl_ino_lookup_args', ')', '#']
-['BTRFS_IOC_INO_PATHS', '_IOWR', '(', 'BTRFS_IOCTL_MAGIC', ',', '35', ',', 'struct', 'btrfs_ioctl_ino_path_args', ')', '#']
-['BTRFS_IOC_LOGICAL_INO', '_IOWR', '(', 'BTRFS_IOCTL_MAGIC', ',', '36', ',', 'struct', 'btrfs_ioctl_ino_path_args', ')', '#']
-['BTRFS_IOC_QGROUP_ASSIGN', '_IOW', '(', 'BTRFS_IOCTL_MAGIC', ',', '41', ',', 'struct', 'btrfs_ioctl_qgroup_assign_args', ')', '#']
-['BTRFS_IOC_QGROUP_CREATE', '_IOW', '(', 'BTRFS_IOCTL_MAGIC', ',', '42', ',', 'struct', 'btrfs_ioctl_qgroup_create_args', ')', '#']
-['BTRFS_IOC_QGROUP_LIMIT', '_IOR', '(', 'BTRFS_IOCTL_MAGIC', ',', '43', ',', 'struct', 'btrfs_ioctl_qgroup_limit_args', ')', '#']
-['BTRFS_IOC_QUOTA_CTL', '_IOWR', '(', 'BTRFS_IOCTL_MAGIC', ',', '40', ',', 'struct', 'btrfs_ioctl_quota_ctl_args', ')', '#']
-['BTRFS_IOC_QUOTA_RESCAN', '_IOW', '(', 'BTRFS_IOCTL_MAGIC', ',', '44', ',', 'struct', 'btrfs_ioctl_quota_rescan_args', ')', '#']
-['BTRFS_IOC_QUOTA_RESCAN_STATUS', '_IOR', '(', 'BTRFS_IOCTL_MAGIC', ',', '45', ',', 'struct', 'btrfs_ioctl_quota_rescan_args', ')', '#']
-['BTRFS_IOC_QUOTA_RESCAN_WAIT', '_IO', '(', 'BTRFS_IOCTL_MAGIC', ',', '46', ')', '#']
-['BTRFS_IOC_RESIZE', '_IOW', '(', 'BTRFS_IOCTL_MAGIC', ',', '3', ',', 'struct', 'btrfs_ioctl_vol_args', ')', '#']
-['BTRFS_IOC_RM_DEV', '_IOW', '(', 'BTRFS_IOCTL_MAGIC', ',', '11', ',', 'struct', 'btrfs_ioctl_vol_args', ')', '#']
-['BTRFS_IOC_SCAN_DEV', '_IOW', '(', 'BTRFS_IOCTL_MAGIC', ',', '4', ',', 'struct', 'btrfs_ioctl_vol_args', ')', '/* trans start and trans end are dangerous, and only for\n * use by applications that know how to avoid the\n * resulting deadlocks\n */']
-['BTRFS_IOC_SCRUB', '_IOWR', '(', 'BTRFS_IOCTL_MAGIC', ',', '27', ',', 'struct', 'btrfs_ioctl_scrub_args', ')', '#']
-['BTRFS_IOC_SCRUB_CANCEL', '_IO', '(', 'BTRFS_IOCTL_MAGIC', ',', '28', ')', '#']
-['BTRFS_IOC_SCRUB_PROGRESS', '_IOWR', '(', 'BTRFS_IOCTL_MAGIC', ',', '29', ',', 'struct', 'btrfs_ioctl_scrub_args', ')', '#']
-['BTRFS_IOC_SEND', '_IOW', '(', 'BTRFS_IOCTL_MAGIC', ',', '38', ',', 'struct', 'btrfs_ioctl_send_args', ')', '#']
-['BTRFS_IOC_SET_FEATURES', '_IOW', '(', 'BTRFS_IOCTL_MAGIC', ',', '57', ',', 'struct', 'btrfs_ioctl_feature_flags', '[', '2', ']', ')', '#']
-['BTRFS_IOC_SET_FSLABEL', '_IOW', '(', 'BTRFS_IOCTL_MAGIC', ',', '50', ',', 'char', '[', 'BTRFS_LABEL_SIZE', ']', ')', '#']
-['BTRFS_IOC_SET_RECEIVED_SUBVOL', '_IOWR', '(', 'BTRFS_IOCTL_MAGIC', ',', '37', ',', 'struct', 'btrfs_ioctl_received_subvol_args', ')', '#']
-['BTRFS_IOC_SNAP_CREATE', '_IOW', '(', 'BTRFS_IOCTL_MAGIC', ',', '1', ',', 'struct', 'btrfs_ioctl_vol_args', ')', '#']
-['BTRFS_IOC_SNAP_CREATE_V2', '_IOW', '(', 'BTRFS_IOCTL_MAGIC', ',', '23', ',', 'struct', 'btrfs_ioctl_vol_args_v2', ')', '#']
-['BTRFS_IOC_SNAP_DESTROY', '_IOW', '(', 'BTRFS_IOCTL_MAGIC', ',', '15', ',', 'struct', 'btrfs_ioctl_vol_args', ')', '#']
-['BTRFS_IOC_SPACE_INFO', '_IOWR', '(', 'BTRFS_IOCTL_MAGIC', ',', '20', ',', 'struct', 'btrfs_ioctl_space_args', ')', '#']
-['BTRFS_IOC_START_SYNC', '_IOR', '(', 'BTRFS_IOCTL_MAGIC', ',', '24', ',', '__u64', ')', '#']
-['BTRFS_IOC_SUBVOL_CREATE', '_IOW', '(', 'BTRFS_IOCTL_MAGIC', ',', '14', ',', 'struct', 'btrfs_ioctl_vol_args', ')', '#']
-['BTRFS_IOC_SUBVOL_CREATE_V2', '_IOW', '(', 'BTRFS_IOCTL_MAGIC', ',', '24', ',', 'struct', 'btrfs_ioctl_vol_args_v2', ')', '#']
-['BTRFS_IOC_SUBVOL_GETFLAGS', '_IOR', '(', 'BTRFS_IOCTL_MAGIC', ',', '25', ',', '__u64', ')', '#']
-['BTRFS_IOC_SUBVOL_SETFLAGS', '_IOW', '(', 'BTRFS_IOCTL_MAGIC', ',', '26', ',', '__u64', ')', '#']
-['BTRFS_IOC_SYNC', '_IO', '(', 'BTRFS_IOCTL_MAGIC', ',', '8', ')', '#']
-['BTRFS_IOC_TRANS_END', '_IO', '(', 'BTRFS_IOCTL_MAGIC', ',', '7', ')', '#']
-['BTRFS_IOC_TRANS_START', '_IO', '(', 'BTRFS_IOCTL_MAGIC', ',', '6', ')', '#']
-['BTRFS_IOC_TREE_SEARCH', '_IOWR', '(', 'BTRFS_IOCTL_MAGIC', ',', '17', ',', 'struct', 'btrfs_ioctl_search_args', ')', '#']
-['BTRFS_IOC_TREE_SEARCH_V2', '_IOWR', '(', 'BTRFS_IOCTL_MAGIC', ',', '17', ',', 'struct', 'btrfs_ioctl_search_args_v2', ')', '#']
-['BTRFS_IOC_WAIT_SYNC', '_IOW', '(', 'BTRFS_IOCTL_MAGIC', ',', '22', ',', '__u64', ')', '#']
-['CM_IOCARDOFF', '_IO', '(', 'CM_IOC_MAGIC', ',', '4', ')', '#']
-['CM_IOCGATR', '_IOWR', '(', 'CM_IOC_MAGIC', ',', '1', ',', 'atreq_t', '*', ')', '#']
-['CM_IOCGSTATUS', '_IOR', '(', 'CM_IOC_MAGIC', ',', '0', ',', 'unsigned', 'char', '*', ')', '#']
-['CM_IOCSPTS', '_IOW', '(', 'CM_IOC_MAGIC', ',', '2', ',', 'ptsreq_t', '*', ')', '#']
-['CM_IOCSRDR', '_IO', '(', 'CM_IOC_MAGIC', ',', '3', ')', '#']
-['CXL_IOCTL_GET_PROCESS_ELEMENT', '_IOR', '(', 'CXL_MAGIC', ',', '0x01', ',', '__u32', ')', '#']
-['CXL_IOCTL_START_WORK', '_IOW', '(', 'CXL_MAGIC', ',', '0x00', ',', 'struct', 'cxl_ioctl_start_work', ')', '#']
-['DRM_IOCTL_ADD_BUFS', 'DRM_IOWR', '(', '0x16', ',', 'struct', 'drm_buf_desc', ')', '#']
-['DRM_IOCTL_ADD_CTX', 'DRM_IOWR', '(', '0x20', ',', 'struct', 'drm_ctx', ')', '#']
-['DRM_IOCTL_ADD_DRAW', 'DRM_IOWR', '(', '0x27', ',', 'struct', 'drm_draw', ')', '#']
-['DRM_IOCTL_ADD_MAP', 'DRM_IOWR', '(', '0x15', ',', 'struct', 'drm_map', ')', '#']
-['DRM_IOCTL_AGP_ACQUIRE', 'DRM_IO', '(', '0x30', ')', '#']
-['DRM_IOCTL_AGP_ALLOC', 'DRM_IOWR', '(', '0x34', ',', 'struct', 'drm_agp_buffer', ')', '#']
-['DRM_IOCTL_AGP_BIND', 'DRM_IOW', '(', '0x36', ',', 'struct', 'drm_agp_binding', ')', '#']
-['DRM_IOCTL_AGP_ENABLE', 'DRM_IOW', '(', '0x32', ',', 'struct', 'drm_agp_mode', ')', '#']
-['DRM_IOCTL_AGP_FREE', 'DRM_IOW', '(', '0x35', ',', 'struct', 'drm_agp_buffer', ')', '#']
-['DRM_IOCTL_AGP_INFO', 'DRM_IOR', '(', '0x33', ',', 'struct', 'drm_agp_info', ')', '#']
-['DRM_IOCTL_AGP_RELEASE', 'DRM_IO', '(', '0x31', ')', '#']
-['DRM_IOCTL_AGP_UNBIND', 'DRM_IOW', '(', '0x37', ',', 'struct', 'drm_agp_binding', ')', '#']
-['DRM_IOCTL_AUTH_MAGIC', 'DRM_IOW', '(', '0x11', ',', 'struct', 'drm_auth', ')', '#']
-['DRM_IOCTL_BLOCK', 'DRM_IOWR', '(', '0x12', ',', 'struct', 'drm_block', ')', '#']
-['DRM_IOCTL_CONTROL', 'DRM_IOW', '(', '0x14', ',', 'struct', 'drm_control', ')', '#']
-['DRM_IOCTL_DMA', 'DRM_IOWR', '(', '0x29', ',', 'struct', 'drm_dma', ')', '#']
-['DRM_IOCTL_DROP_MASTER', 'DRM_IO', '(', '0x1f', ')', '#']
-['DRM_IOCTL_FINISH', 'DRM_IOW', '(', '0x2c', ',', 'struct', 'drm_lock', ')', '#']
-['DRM_IOCTL_FREE_BUFS', 'DRM_IOW', '(', '0x1a', ',', 'struct', 'drm_buf_free', ')', '#']
-['DRM_IOCTL_GEM_CLOSE', 'DRM_IOW', '(', '0x09', ',', 'struct', 'drm_gem_close', ')', '#']
-['DRM_IOCTL_GEM_FLINK', 'DRM_IOWR', '(', '0x0a', ',', 'struct', 'drm_gem_flink', ')', '#']
-['DRM_IOCTL_GEM_OPEN', 'DRM_IOWR', '(', '0x0b', ',', 'struct', 'drm_gem_open', ')', '#']
-['DRM_IOCTL_GET_CAP', 'DRM_IOWR', '(', '0x0c', ',', 'struct', 'drm_get_cap', ')', '#']
-['DRM_IOCTL_GET_CLIENT', 'DRM_IOWR', '(', '0x05', ',', 'struct', 'drm_client', ')', '#']
-['DRM_IOCTL_GET_CTX', 'DRM_IOWR', '(', '0x23', ',', 'struct', 'drm_ctx', ')', '#']
-['DRM_IOCTL_GET_MAGIC', 'DRM_IOR', '(', '0x02', ',', 'struct', 'drm_auth', ')', '#']
-['DRM_IOCTL_GET_MAP', 'DRM_IOWR', '(', '0x04', ',', 'struct', 'drm_map', ')', '#']
-['DRM_IOCTL_GET_SAREA_CTX', 'DRM_IOWR', '(', '0x1d', ',', 'struct', 'drm_ctx_priv_map', ')', '#']
-['DRM_IOCTL_GET_STATS', 'DRM_IOR', '(', '0x06', ',', 'struct', 'drm_stats', ')', '#']
-['DRM_IOCTL_GET_UNIQUE', 'DRM_IOWR', '(', '0x01', ',', 'struct', 'drm_unique', ')', '#']
-['DRM_IOCTL_INFO_BUFS', 'DRM_IOWR', '(', '0x18', ',', 'struct', 'drm_buf_info', ')', '#']
-['DRM_IOCTL_IRQ_BUSID', 'DRM_IOWR', '(', '0x03', ',', 'struct', 'drm_irq_busid', ')', '#']
-['DRM_IOCTL_LOCK', 'DRM_IOW', '(', '0x2a', ',', 'struct', 'drm_lock', ')', '#']
-['DRM_IOCTL_MAP_BUFS', 'DRM_IOWR', '(', '0x19', ',', 'struct', 'drm_buf_map', ')', '#']
-['DRM_IOCTL_MARK_BUFS', 'DRM_IOW', '(', '0x17', ',', 'struct', 'drm_buf_desc', ')', '#']
-['DRM_IOCTL_MODESET_CTL', 'DRM_IOW', '(', '0x08', ',', 'struct', 'drm_modeset_ctl', ')', '#']
-['DRM_IOCTL_MODE_ADDFB', 'DRM_IOWR', '(', '0xAE', ',', 'struct', 'drm_mode_fb_cmd', ')', '#']
-['DRM_IOCTL_MODE_ADDFB2', 'DRM_IOWR', '(', '0xB8', ',', 'struct', 'drm_mode_fb_cmd2', ')', '#']
-['DRM_IOCTL_MODE_ATTACHMODE', 'DRM_IOWR', '(', '0xA8', ',', 'struct', 'drm_mode_mode_cmd', ')', '#']
-['DRM_IOCTL_MODE_CREATE_DUMB', 'DRM_IOWR', '(', '0xB2', ',', 'struct', 'drm_mode_create_dumb', ')', '#']
-['DRM_IOCTL_MODE_CURSOR', 'DRM_IOWR', '(', '0xA3', ',', 'struct', 'drm_mode_cursor', ')', '#']
-['DRM_IOCTL_MODE_CURSOR2', 'DRM_IOWR', '(', '0xBB', ',', 'struct', 'drm_mode_cursor2', ')', '/**\n * Device specific ioctls should only be in their respective headers\n * The device specific ioctl range is from 0x40 to 0x99.\n * Generic IOCTLS restart at 0xA0.\n *\n * \\sa drmCommandNone(), drmCommandRead(), drmCommandWrite(), and\n * drmCommandReadWrite().\n */']
-['DRM_IOCTL_MODE_DESTROY_DUMB', 'DRM_IOWR', '(', '0xB4', ',', 'struct', 'drm_mode_destroy_dumb', ')', '#']
-['DRM_IOCTL_MODE_DETACHMODE', 'DRM_IOWR', '(', '0xA9', ',', 'struct', 'drm_mode_mode_cmd', ')', '#']
-['DRM_IOCTL_MODE_DIRTYFB', 'DRM_IOWR', '(', '0xB1', ',', 'struct', 'drm_mode_fb_dirty_cmd', ')', '#']
-['DRM_IOCTL_MODE_GETCONNECTOR', 'DRM_IOWR', '(', '0xA7', ',', 'struct', 'drm_mode_get_connector', ')', '#']
-['DRM_IOCTL_MODE_GETCRTC', 'DRM_IOWR', '(', '0xA1', ',', 'struct', 'drm_mode_crtc', ')', '#']
-['DRM_IOCTL_MODE_GETENCODER', 'DRM_IOWR', '(', '0xA6', ',', 'struct', 'drm_mode_get_encoder', ')', '#']
-['DRM_IOCTL_MODE_GETFB', 'DRM_IOWR', '(', '0xAD', ',', 'struct', 'drm_mode_fb_cmd', ')', '#']
-['DRM_IOCTL_MODE_GETGAMMA', 'DRM_IOWR', '(', '0xA4', ',', 'struct', 'drm_mode_crtc_lut', ')', '#']
-['DRM_IOCTL_MODE_GETPLANE', 'DRM_IOWR', '(', '0xB6', ',', 'struct', 'drm_mode_get_plane', ')', '#']
-['DRM_IOCTL_MODE_GETPLANERESOURCES', 'DRM_IOWR', '(', '0xB5', ',', 'struct', 'drm_mode_get_plane_res', ')', '#']
-['DRM_IOCTL_MODE_GETPROPBLOB', 'DRM_IOWR', '(', '0xAC', ',', 'struct', 'drm_mode_get_blob', ')', '#']
-['DRM_IOCTL_MODE_GETPROPERTY', 'DRM_IOWR', '(', '0xAA', ',', 'struct', 'drm_mode_get_property', ')', '#']
-['DRM_IOCTL_MODE_GETRESOURCES', 'DRM_IOWR', '(', '0xA0', ',', 'struct', 'drm_mode_card_res', ')', '#']
-['DRM_IOCTL_MODE_MAP_DUMB', 'DRM_IOWR', '(', '0xB3', ',', 'struct', 'drm_mode_map_dumb', ')', '#']
-['DRM_IOCTL_MODE_OBJ_GETPROPERTIES', 'DRM_IOWR', '(', '0xB9', ',', 'struct', 'drm_mode_obj_get_properties', ')', '#']
-['DRM_IOCTL_MODE_OBJ_SETPROPERTY', 'DRM_IOWR', '(', '0xBA', ',', 'struct', 'drm_mode_obj_set_property', ')', '#']
-['DRM_IOCTL_MODE_PAGE_FLIP', 'DRM_IOWR', '(', '0xB0', ',', 'struct', 'drm_mode_crtc_page_flip', ')', '#']
-['DRM_IOCTL_MODE_RMFB', 'DRM_IOWR', '(', '0xAF', ',', 'unsigned', 'int', ')', '#']
-['DRM_IOCTL_MODE_SETCRTC', 'DRM_IOWR', '(', '0xA2', ',', 'struct', 'drm_mode_crtc', ')', '#']
-['DRM_IOCTL_MODE_SETGAMMA', 'DRM_IOWR', '(', '0xA5', ',', 'struct', 'drm_mode_crtc_lut', ')', '#']
-['DRM_IOCTL_MODE_SETPLANE', 'DRM_IOWR', '(', '0xB7', ',', 'struct', 'drm_mode_set_plane', ')', '#']
-['DRM_IOCTL_MODE_SETPROPERTY', 'DRM_IOWR', '(', '0xAB', ',', 'struct', 'drm_mode_connector_set_property', ')', '#']
-['DRM_IOCTL_MOD_CTX', 'DRM_IOW', '(', '0x22', ',', 'struct', 'drm_ctx', ')', '#']
-['DRM_IOCTL_NEW_CTX', 'DRM_IOW', '(', '0x25', ',', 'struct', 'drm_ctx', ')', '#']
-['DRM_IOCTL_PRIME_FD_TO_HANDLE', 'DRM_IOWR', '(', '0x2e', ',', 'struct', 'drm_prime_handle', ')', '#']
-['DRM_IOCTL_PRIME_HANDLE_TO_FD', 'DRM_IOWR', '(', '0x2d', ',', 'struct', 'drm_prime_handle', ')', '#']
-['DRM_IOCTL_RADEON_ALLOC', 'DRM_IOWR', '(', 'DRM_COMMAND_BASE', '+', 'DRM_RADEON_ALLOC', ',', 'drm_radeon_mem_alloc_t', ')', '#']
-['DRM_IOCTL_RADEON_CLEAR', 'DRM_IOW', '(', 'DRM_COMMAND_BASE', '+', 'DRM_RADEON_CLEAR', ',', 'drm_radeon_clear_t', ')', '#']
-['DRM_IOCTL_RADEON_CMDBUF', 'DRM_IOW', '(', 'DRM_COMMAND_BASE', '+', 'DRM_RADEON_CMDBUF', ',', 'drm_radeon_cmd_buffer_t', ')', '#']
-['DRM_IOCTL_RADEON_CP_IDLE', 'DRM_IO', '(', 'DRM_COMMAND_BASE', '+', 'DRM_RADEON_CP_IDLE', ')', '#']
-['DRM_IOCTL_RADEON_CP_INIT', 'DRM_IOW', '(', 'DRM_COMMAND_BASE', '+', 'DRM_RADEON_CP_INIT', ',', 'drm_radeon_init_t', ')', '#']
-['DRM_IOCTL_RADEON_CP_RESET', 'DRM_IO', '(', 'DRM_COMMAND_BASE', '+', 'DRM_RADEON_CP_RESET', ')', '#']
-['DRM_IOCTL_RADEON_CP_RESUME', 'DRM_IO', '(', 'DRM_COMMAND_BASE', '+', 'DRM_RADEON_CP_RESUME', ')', '#']
-['DRM_IOCTL_RADEON_CP_START', 'DRM_IO', '(', 'DRM_COMMAND_BASE', '+', 'DRM_RADEON_CP_START', ')', '#']
-['DRM_IOCTL_RADEON_CP_STOP', 'DRM_IOW', '(', 'DRM_COMMAND_BASE', '+', 'DRM_RADEON_CP_STOP', ',', 'drm_radeon_cp_stop_t', ')', '#']
-['DRM_IOCTL_RADEON_CS', 'DRM_IOWR', '(', 'DRM_COMMAND_BASE', '+', 'DRM_RADEON_CS', ',', 'struct', 'drm_radeon_cs', ')', '#']
-['DRM_IOCTL_RADEON_FLIP', 'DRM_IO', '(', 'DRM_COMMAND_BASE', '+', 'DRM_RADEON_FLIP', ')', '#']
-['DRM_IOCTL_RADEON_FREE', 'DRM_IOW', '(', 'DRM_COMMAND_BASE', '+', 'DRM_RADEON_FREE', ',', 'drm_radeon_mem_free_t', ')', '#']
-['DRM_IOCTL_RADEON_FULLSCREEN', 'DRM_IOW', '(', 'DRM_COMMAND_BASE', '+', 'DRM_RADEON_FULLSCREEN', ',', 'drm_radeon_fullscreen_t', ')', '#']
-['DRM_IOCTL_RADEON_GEM_BUSY', 'DRM_IOWR', '(', 'DRM_COMMAND_BASE', '+', 'DRM_RADEON_GEM_BUSY', ',', 'struct', 'drm_radeon_gem_busy', ')', '#']
-['DRM_IOCTL_RADEON_GEM_CREATE', 'DRM_IOWR', '(', 'DRM_COMMAND_BASE', '+', 'DRM_RADEON_GEM_CREATE', ',', 'struct', 'drm_radeon_gem_create', ')', '#']
-['DRM_IOCTL_RADEON_GEM_GET_TILING', 'DRM_IOWR', '(', 'DRM_COMMAND_BASE', '+', 'DRM_RADEON_GEM_GET_TILING', ',', 'struct', 'drm_radeon_gem_get_tiling', ')', '#']
-['DRM_IOCTL_RADEON_GEM_INFO', 'DRM_IOWR', '(', 'DRM_COMMAND_BASE', '+', 'DRM_RADEON_GEM_INFO', ',', 'struct', 'drm_radeon_gem_info', ')', '#']
-['DRM_IOCTL_RADEON_GEM_MMAP', 'DRM_IOWR', '(', 'DRM_COMMAND_BASE', '+', 'DRM_RADEON_GEM_MMAP', ',', 'struct', 'drm_radeon_gem_mmap', ')', '#']
-['DRM_IOCTL_RADEON_GEM_OP', 'DRM_IOWR', '(', 'DRM_COMMAND_BASE', '+', 'DRM_RADEON_GEM_OP', ',', 'struct', 'drm_radeon_gem_op', ')', 'typedef']
-['DRM_IOCTL_RADEON_GEM_PREAD', 'DRM_IOWR', '(', 'DRM_COMMAND_BASE', '+', 'DRM_RADEON_GEM_PREAD', ',', 'struct', 'drm_radeon_gem_pread', ')', '#']
-['DRM_IOCTL_RADEON_GEM_PWRITE', 'DRM_IOWR', '(', 'DRM_COMMAND_BASE', '+', 'DRM_RADEON_GEM_PWRITE', ',', 'struct', 'drm_radeon_gem_pwrite', ')', '#']
-['DRM_IOCTL_RADEON_GEM_SET_DOMAIN', 'DRM_IOWR', '(', 'DRM_COMMAND_BASE', '+', 'DRM_RADEON_GEM_SET_DOMAIN', ',', 'struct', 'drm_radeon_gem_set_domain', ')', '#']
-['DRM_IOCTL_RADEON_GEM_SET_TILING', 'DRM_IOWR', '(', 'DRM_COMMAND_BASE', '+', 'DRM_RADEON_GEM_SET_TILING', ',', 'struct', 'drm_radeon_gem_set_tiling', ')', '#']
-['DRM_IOCTL_RADEON_GEM_VA', 'DRM_IOWR', '(', 'DRM_COMMAND_BASE', '+', 'DRM_RADEON_GEM_VA', ',', 'struct', 'drm_radeon_gem_va', ')', '#']
-['DRM_IOCTL_RADEON_GEM_WAIT_IDLE', 'DRM_IOW', '(', 'DRM_COMMAND_BASE', '+', 'DRM_RADEON_GEM_WAIT_IDLE', ',', 'struct', 'drm_radeon_gem_wait_idle', ')', '#']
-['DRM_IOCTL_RADEON_GETPARAM', 'DRM_IOWR', '(', 'DRM_COMMAND_BASE', '+', 'DRM_RADEON_GETPARAM', ',', 'drm_radeon_getparam_t', ')', '#']
-['DRM_IOCTL_RADEON_INDICES', 'DRM_IOW', '(', 'DRM_COMMAND_BASE', '+', 'DRM_RADEON_INDICES', ',', 'drm_radeon_indices_t', ')', '#']
-['DRM_IOCTL_RADEON_INDIRECT', 'DRM_IOWR', '(', 'DRM_COMMAND_BASE', '+', 'DRM_RADEON_INDIRECT', ',', 'drm_radeon_indirect_t', ')', '#']
-['DRM_IOCTL_RADEON_INFO', 'DRM_IOWR', '(', 'DRM_COMMAND_BASE', '+', 'DRM_RADEON_INFO', ',', 'struct', 'drm_radeon_info', ')', '#']
-['DRM_IOCTL_RADEON_INIT_HEAP', 'DRM_IOW', '(', 'DRM_COMMAND_BASE', '+', 'DRM_RADEON_INIT_HEAP', ',', 'drm_radeon_mem_init_heap_t', ')', '#']
-['DRM_IOCTL_RADEON_IRQ_EMIT', 'DRM_IOWR', '(', 'DRM_COMMAND_BASE', '+', 'DRM_RADEON_IRQ_EMIT', ',', 'drm_radeon_irq_emit_t', ')', '#']
-['DRM_IOCTL_RADEON_IRQ_WAIT', 'DRM_IOW', '(', 'DRM_COMMAND_BASE', '+', 'DRM_RADEON_IRQ_WAIT', ',', 'drm_radeon_irq_wait_t', ')', '#']
-['DRM_IOCTL_RADEON_RESET', 'DRM_IO', '(', 'DRM_COMMAND_BASE', '+', 'DRM_RADEON_RESET', ')', '#']
-['DRM_IOCTL_RADEON_SETPARAM', 'DRM_IOW', '(', 'DRM_COMMAND_BASE', '+', 'DRM_RADEON_SETPARAM', ',', 'drm_radeon_setparam_t', ')', '#']
-['DRM_IOCTL_RADEON_STIPPLE', 'DRM_IOW', '(', 'DRM_COMMAND_BASE', '+', 'DRM_RADEON_STIPPLE', ',', 'drm_radeon_stipple_t', ')', '#']
-['DRM_IOCTL_RADEON_SURF_ALLOC', 'DRM_IOW', '(', 'DRM_COMMAND_BASE', '+', 'DRM_RADEON_SURF_ALLOC', ',', 'drm_radeon_surface_alloc_t', ')', '#']
-['DRM_IOCTL_RADEON_SURF_FREE', 'DRM_IOW', '(', 'DRM_COMMAND_BASE', '+', 'DRM_RADEON_SURF_FREE', ',', 'drm_radeon_surface_free_t', ')', '/* KMS */']
-['DRM_IOCTL_RADEON_SWAP', 'DRM_IO', '(', 'DRM_COMMAND_BASE', '+', 'DRM_RADEON_SWAP', ')', '#']
-['DRM_IOCTL_RADEON_TEXTURE', 'DRM_IOWR', '(', 'DRM_COMMAND_BASE', '+', 'DRM_RADEON_TEXTURE', ',', 'drm_radeon_texture_t', ')', '#']
-['DRM_IOCTL_RADEON_VERTEX', 'DRM_IOW', '(', 'DRM_COMMAND_BASE', '+', 'DRM_RADEON_VERTEX', ',', 'drm_radeon_vertex_t', ')', '#']
-['DRM_IOCTL_RADEON_VERTEX2', 'DRM_IOW', '(', 'DRM_COMMAND_BASE', '+', 'DRM_RADEON_VERTEX2', ',', 'drm_radeon_vertex2_t', ')', '#']
-['DRM_IOCTL_RES_CTX', 'DRM_IOWR', '(', '0x26', ',', 'struct', 'drm_ctx_res', ')', '#']
-['DRM_IOCTL_RM_CTX', 'DRM_IOWR', '(', '0x21', ',', 'struct', 'drm_ctx', ')', '#']
-['DRM_IOCTL_RM_DRAW', 'DRM_IOWR', '(', '0x28', ',', 'struct', 'drm_draw', ')', '#']
-['DRM_IOCTL_RM_MAP', 'DRM_IOW', '(', '0x1b', ',', 'struct', 'drm_map', ')', '#']
-['DRM_IOCTL_SET_CLIENT_CAP', 'DRM_IOW', '(', '0x0d', ',', 'struct', 'drm_set_client_cap', ')', '#']
-['DRM_IOCTL_SET_MASTER', 'DRM_IO', '(', '0x1e', ')', '#']
-['DRM_IOCTL_SET_SAREA_CTX', 'DRM_IOW', '(', '0x1c', ',', 'struct', 'drm_ctx_priv_map', ')', '#']
-['DRM_IOCTL_SET_UNIQUE', 'DRM_IOW', '(', '0x10', ',', 'struct', 'drm_unique', ')', '#']
-['DRM_IOCTL_SET_VERSION', 'DRM_IOWR', '(', '0x07', ',', 'struct', 'drm_set_version', ')', '#']
-['DRM_IOCTL_SG_ALLOC', 'DRM_IOWR', '(', '0x38', ',', 'struct', 'drm_scatter_gather', ')', '#']
-['DRM_IOCTL_SG_FREE', 'DRM_IOW', '(', '0x39', ',', 'struct', 'drm_scatter_gather', ')', '#']
-['DRM_IOCTL_SIS_AGP_ALLOC', 'DRM_IOWR', '(', 'DRM_COMMAND_BASE', '+', 'DRM_SIS_AGP_ALLOC', ',', 'drm_sis_mem_t', ')', '#']
-['DRM_IOCTL_SIS_AGP_FREE', 'DRM_IOW', '(', 'DRM_COMMAND_BASE', '+', 'DRM_SIS_AGP_FREE', ',', 'drm_sis_mem_t', ')', '#']
-['DRM_IOCTL_SIS_AGP_INIT', 'DRM_IOWR', '(', 'DRM_COMMAND_BASE', '+', 'DRM_SIS_AGP_INIT', ',', 'drm_sis_agp_t', ')', '#']
-['DRM_IOCTL_SIS_FB_ALLOC', 'DRM_IOWR', '(', 'DRM_COMMAND_BASE', '+', 'DRM_SIS_FB_ALLOC', ',', 'drm_sis_mem_t', ')', '#']
-['DRM_IOCTL_SIS_FB_FREE', 'DRM_IOW', '(', 'DRM_COMMAND_BASE', '+', 'DRM_SIS_FB_FREE', ',', 'drm_sis_mem_t', ')', '#']
-['DRM_IOCTL_SIS_FB_INIT', 'DRM_IOW', '(', 'DRM_COMMAND_BASE', '+', 'DRM_SIS_FB_INIT', ',', 'drm_sis_fb_t', ')', '/*\n#define DRM_IOCTL_SIS_FLIP\t\tDRM_IOW( 0x48, drm_sis_flip_t)\n#define DRM_IOCTL_SIS_FLIP_INIT\t\tDRM_IO( 0x49)\n#define DRM_IOCTL_SIS_FLIP_FINAL\tDRM_IO( 0x50)\n*/']
-['DRM_IOCTL_SWITCH_CTX', 'DRM_IOW', '(', '0x24', ',', 'struct', 'drm_ctx', ')', '#']
-['DRM_IOCTL_UNBLOCK', 'DRM_IOWR', '(', '0x13', ',', 'struct', 'drm_block', ')', '#']
-['DRM_IOCTL_UNLOCK', 'DRM_IOW', '(', '0x2b', ',', 'struct', 'drm_lock', ')', '#']
-['DRM_IOCTL_UPDATE_DRAW', 'DRM_IOW', '(', '0x3f', ',', 'struct', 'drm_update_draw', ')', '#']
-['DRM_IOCTL_VERSION', 'DRM_IOWR', '(', '0x00', ',', 'struct', 'drm_version', ')', '#']
-['DRM_IOCTL_WAIT_VBLANK', 'DRM_IOWR', '(', '0x3a', ',', 'union', 'drm_wait_vblank', ')', '#']
-['EVIOCGABS', '(', 'abs', ')', '_IOR', '(', "'E'", ',', '0x40', '+', '(', 'abs', ')', ',', 'struct', 'input_absinfo', ')', '/* get abs value/limits */']
-['EVIOCGBIT', '(', 'ev', ',', 'len', ')', '_IOC', '(', '_IOC_READ', ',', "'E'", ',', '0x20', '+', '(', 'ev', ')', ',', 'len', ')', '/* get event bits */']
-['EVIOCGEFFECTS', '_IOR', '(', "'E'", ',', '0x84', ',', 'int', ')', '/* Report number of effects playable at the same time */']
-['EVIOCGID', '_IOR', '(', "'E'", ',', '0x02', ',', 'struct', 'input_id', ')', '/* get device ID */']
-['EVIOCGKEY', '(', 'len', ')', '_IOC', '(', '_IOC_READ', ',', "'E'", ',', '0x18', ',', 'len', ')', '/* get global key state */']
-['EVIOCGKEYCODE', '_IOR', '(', "'E'", ',', '0x04', ',', 'unsigned', 'int', '[', '2', ']', ')', '/* get keycode */']
-['EVIOCGKEYCODE_V2', '_IOR', '(', "'E'", ',', '0x04', ',', 'struct', 'input_keymap_entry', ')', '#']
-['EVIOCGLED', '(', 'len', ')', '_IOC', '(', '_IOC_READ', ',', "'E'", ',', '0x19', ',', 'len', ')', '/* get all LEDs */']
-['EVIOCGMTSLOTS', '(', 'len', ')', '_IOC', '(', '_IOC_READ', ',', "'E'", ',', '0x0a', ',', 'len', ')', '#']
-['EVIOCGNAME', '(', 'len', ')', '_IOC', '(', '_IOC_READ', ',', "'E'", ',', '0x06', ',', 'len', ')', '/* get device name */']
-['EVIOCGPHYS', '(', 'len', ')', '_IOC', '(', '_IOC_READ', ',', "'E'", ',', '0x07', ',', 'len', ')', '/* get physical location */']
-['EVIOCGPROP', '(', 'len', ')', '_IOC', '(', '_IOC_READ', ',', "'E'", ',', '0x09', ',', 'len', ')', '/* get device properties */']
-['EVIOCGRAB', '_IOW', '(', "'E'", ',', '0x90', ',', 'int', ')', '/* Grab/Release device */']
-['EVIOCGREP', '_IOR', '(', "'E'", ',', '0x03', ',', 'unsigned', 'int', '[', '2', ']', ')', '/* get repeat settings */']
-['EVIOCGSND', '(', 'len', ')', '_IOC', '(', '_IOC_READ', ',', "'E'", ',', '0x1a', ',', 'len', ')', '/* get all sounds status */']
-['EVIOCGSW', '(', 'len', ')', '_IOC', '(', '_IOC_READ', ',', "'E'", ',', '0x1b', ',', 'len', ')', '/* get all switch states */']
-['EVIOCGUNIQ', '(', 'len', ')', '_IOC', '(', '_IOC_READ', ',', "'E'", ',', '0x08', ',', 'len', ')', '/* get unique identifier */']
-['EVIOCGVERSION', '_IOR', '(', "'E'", ',', '0x01', ',', 'int', ')', '/* get driver version */']
-['EVIOCREVOKE', '_IOW', '(', "'E'", ',', '0x91', ',', 'int', ')', '/* Revoke device access */']
-['EVIOCRMFF', '_IOW', '(', "'E'", ',', '0x81', ',', 'int', ')', '/* Erase a force effect */']
-['EVIOCSABS', '(', 'abs', ')', '_IOW', '(', "'E'", ',', '0xc0', '+', '(', 'abs', ')', ',', 'struct', 'input_absinfo', ')', '/* set abs value/limits */']
-['EVIOCSCLOCKID', '_IOW', '(', "'E'", ',', '0xa0', ',', 'int', ')', '/* Set clockid to be used for timestamps */']
-['EVIOCSFF', '_IOC', '(', '_IOC_WRITE', ',', "'E'", ',', '0x80', ',', 'sizeof', '(', 'struct', 'ff_effect', ')', ')', '/* send a force effect to a force feedback device */']
-['EVIOCSKEYCODE', '_IOW', '(', "'E'", ',', '0x04', ',', 'unsigned', 'int', '[', '2', ']', ')', '/* set keycode */']
-['EVIOCSKEYCODE_V2', '_IOW', '(', "'E'", ',', '0x04', ',', 'struct', 'input_keymap_entry', ')', '#']
-['EVIOCSREP', '_IOW', '(', "'E'", ',', '0x03', ',', 'unsigned', 'int', '[', '2', ']', ')', '/* set repeat settings */']
-['EXT2_IOC_GETFLAGS', '_IOR', '(', "'f'", ',', '1', ',', 'long', ')', '#']
-['EXT2_IOC_GETVERSION', '_IOR', '(', "'v'", ',', '1', ',', 'long', ')', '#']
-['EXT2_IOC_GETVERSION_NEW', '_IOR', '(', "'f'", ',', '3', ',', 'long', ')', '#']
-['EXT2_IOC_GROUP_ADD', '_IOW', '(', "'f'", ',', '8', ',', 'struct', 'ext2_new_group_input', ')', '#']
-['EXT2_IOC_GROUP_EXTEND', '_IOW', '(', "'f'", ',', '7', ',', 'unsigned', 'long', ')', '#']
-['EXT2_IOC_SETFLAGS', '_IOW', '(', "'f'", ',', '2', ',', 'long', ')', '#']
-['EXT2_IOC_SETVERSION', '_IOW', '(', "'v'", ',', '2', ',', 'long', ')', '#']
-['EXT2_IOC_SETVERSION_NEW', '_IOW', '(', "'f'", ',', '4', ',', 'long', ')', '#']
-['EXT4_IOC_GROUP_ADD', '_IOW', '(', "'f'", ',', '8', ',', 'struct', 'ext4_new_group_input', ')', '#']
-['EXT4_IOC_RESIZE_FS', '_IOW', '(', "'f'", ',', '16', ',', '__u64', ')', '/*\n * Structure of an inode on the disk\n */']
-['FAT_IOCTL_GET_ATTRIBUTES', '_IOR', '(', "'r'", ',', '0x10', ',', '__u32', ')', '#']
-['FAT_IOCTL_GET_VOLUME_ID', '_IOR', '(', "'r'", ',', '0x13', ',', '__u32', ')', 'struct']
-['FAT_IOCTL_SET_ATTRIBUTES', '_IOW', '(', "'r'", ',', '0x11', ',', '__u32', ')', '/*Android kernel has used 0x12, so we use 0x13*/']
-['FSL_HV_IOCTL_DOORBELL', '_IOWR', '(', 'FSL_HV_IOCTL_TYPE', ',', '6', ',', 'struct', 'fsl_hv_ioctl_doorbell', ')', "/* Get a property from another guest's device tree */"]
-['FSL_HV_IOCTL_GETPROP', '_IOWR', '(', 'FSL_HV_IOCTL_TYPE', ',', '7', ',', 'struct', 'fsl_hv_ioctl_prop', ')', "/* Set a property in another guest's device tree */"]
-['FSL_HV_IOCTL_MEMCPY', '_IOWR', '(', 'FSL_HV_IOCTL_TYPE', ',', '5', ',', 'struct', 'fsl_hv_ioctl_memcpy', ')', '/* Ring a doorbell */']
-['FSL_HV_IOCTL_PARTITION_GET_STATUS', '_IOWR', '(', 'FSL_HV_IOCTL_TYPE', ',', '2', ',', 'struct', 'fsl_hv_ioctl_status', ')', '/* Boot another partition */']
-['FSL_HV_IOCTL_PARTITION_RESTART', '_IOWR', '(', 'FSL_HV_IOCTL_TYPE', ',', '1', ',', 'struct', 'fsl_hv_ioctl_restart', ')', "/* Get a partition's status */"]
-['FSL_HV_IOCTL_PARTITION_START', '_IOWR', '(', 'FSL_HV_IOCTL_TYPE', ',', '3', ',', 'struct', 'fsl_hv_ioctl_start', ')', '/* Stop this or another partition */']
-['FSL_HV_IOCTL_PARTITION_STOP', '_IOWR', '(', 'FSL_HV_IOCTL_TYPE', ',', '4', ',', 'struct', 'fsl_hv_ioctl_stop', ')', '/* Copy data from one partition to another */']
-['FSL_HV_IOCTL_SETPROP', '_IOWR', '(', 'FSL_HV_IOCTL_TYPE', ',', '8', ',', 'struct', 'fsl_hv_ioctl_prop', ')', '#']
-['FS_IOC32_GETFLAGS', '_IOR', '(', "'f'", ',', '1', ',', 'int', ')', '#']
-['FS_IOC32_GETVERSION', '_IOR', '(', "'v'", ',', '1', ',', 'int', ')', '#']
-['FS_IOC32_SETFLAGS', '_IOW', '(', "'f'", ',', '2', ',', 'int', ')', '#']
-['FS_IOC32_SETVERSION', '_IOW', '(', "'v'", ',', '2', ',', 'int', ')', '/*\n * Inode flags (FS_IOC_GETFLAGS / FS_IOC_SETFLAGS)\n */']
-['FS_IOC_FIEMAP', '_IOWR', '(', "'f'", ',', '11', ',', 'struct', 'fiemap', ')', '#']
-['FS_IOC_GETFLAGS', '_IOR', '(', "'f'", ',', '1', ',', 'long', ')', '#']
-['FS_IOC_GETVERSION', '_IOR', '(', "'v'", ',', '1', ',', 'long', ')', '#']
-['FS_IOC_SETFLAGS', '_IOW', '(', "'f'", ',', '2', ',', 'long', ')', '#']
-['FS_IOC_SETVERSION', '_IOW', '(', "'v'", ',', '2', ',', 'long', ')', '#']
-['FW_CDEV_IOC_ADD_DESCRIPTOR', '_IOWR', '(', "'#'", ',', '0x06', ',', 'struct', 'fw_cdev_add_descriptor', ')', '#']
-['FW_CDEV_IOC_ALLOCATE', '_IOWR', '(', "'#'", ',', '0x02', ',', 'struct', 'fw_cdev_allocate', ')', '#']
-['FW_CDEV_IOC_ALLOCATE_ISO_RESOURCE', '_IOWR', '(', "'#'", ',', '0x0d', ',', 'struct', 'fw_cdev_allocate_iso_resource', ')', '#']
-['FW_CDEV_IOC_ALLOCATE_ISO_RESOURCE_ONCE', '_IOW', '(', "'#'", ',', '0x0f', ',', 'struct', 'fw_cdev_allocate_iso_resource', ')', '#']
-['FW_CDEV_IOC_CREATE_ISO_CONTEXT', '_IOWR', '(', "'#'", ',', '0x08', ',', 'struct', 'fw_cdev_create_iso_context', ')', '#']
-['FW_CDEV_IOC_DEALLOCATE', '_IOW', '(', "'#'", ',', '0x03', ',', 'struct', 'fw_cdev_deallocate', ')', '#']
-['FW_CDEV_IOC_DEALLOCATE_ISO_RESOURCE', '_IOW', '(', "'#'", ',', '0x0e', ',', 'struct', 'fw_cdev_deallocate', ')', '#']
-['FW_CDEV_IOC_DEALLOCATE_ISO_RESOURCE_ONCE', '_IOW', '(', "'#'", ',', '0x10', ',', 'struct', 'fw_cdev_allocate_iso_resource', ')', '#']
-['FW_CDEV_IOC_FLUSH_ISO', '_IOW', '(', "'#'", ',', '0x18', ',', 'struct', 'fw_cdev_flush_iso', ')', '/*\n * ABI version history\n * 1 (2.6.22) - initial version\n * (2.6.24) - added %FW_CDEV_IOC_GET_CYCLE_TIMER\n * 2 (2.6.30) - changed &fw_cdev_event_iso_interrupt.header if\n * &fw_cdev_create_iso_context.header_size is 8 or more\n * - added %FW_CDEV_IOC_*_ISO_RESOURCE*,\n * %FW_CDEV_IOC_GET_SPEED, %FW_CDEV_IOC_SEND_BROADCAST_REQUEST,\n * %FW_CDEV_IOC_SEND_STREAM_PACKET\n * (2.6.32) - added time stamp to xmit &fw_cdev_event_iso_interrupt\n * (2.6.33) - IR has always packet-per-buffer semantics now, not one of\n * dual-buffer or packet-per-buffer depending on hardware\n * - shared use and auto-response for FCP registers\n * 3 (2.6.34) - made &fw_cdev_get_cycle_timer reliable\n * - added %FW_CDEV_IOC_GET_CYCLE_TIMER2\n * 4 (2.6.36) - added %FW_CDEV_EVENT_REQUEST2, %FW_CDEV_EVENT_PHY_PACKET_*,\n * and &fw_cdev_allocate.region_end\n * - implemented &fw_cdev_event_bus_reset.bm_node_id\n * - added %FW_CDEV_IOC_SEND_PHY_PACKET, _RECEIVE_PHY_PACKETS\n * - added %FW_CDEV_EVENT_ISO_INTERRUPT_MULTICHANNEL,\n * %FW_CDEV_ISO_CONTEXT_RECEIVE_MULTICHANNEL, and\n * %FW_CDEV_IOC_SET_ISO_CHANNELS\n * 5 (3.4) - send %FW_CDEV_EVENT_ISO_INTERRUPT events when needed to\n * avoid dropping data\n * - added %FW_CDEV_IOC_FLUSH_ISO\n */']
-['FW_CDEV_IOC_GET_CYCLE_TIMER', '_IOR', '(', "'#'", ',', '0x0c', ',', 'struct', 'fw_cdev_get_cycle_timer', ')', '/* available since kernel version 2.6.30 */']
-['FW_CDEV_IOC_GET_CYCLE_TIMER2', '_IOWR', '(', "'#'", ',', '0x14', ',', 'struct', 'fw_cdev_get_cycle_timer2', ')', '/* available since kernel version 2.6.36 */']
-['FW_CDEV_IOC_GET_INFO', '_IOWR', '(', "'#'", ',', '0x00', ',', 'struct', 'fw_cdev_get_info', ')', '#']
-['FW_CDEV_IOC_GET_SPEED', '_IO', '(', "'#'", ',', '0x11', ')', '/* returns speed code */']
-['FW_CDEV_IOC_INITIATE_BUS_RESET', '_IOW', '(', "'#'", ',', '0x05', ',', 'struct', 'fw_cdev_initiate_bus_reset', ')', '#']
-['FW_CDEV_IOC_QUEUE_ISO', '_IOWR', '(', "'#'", ',', '0x09', ',', 'struct', 'fw_cdev_queue_iso', ')', '#']
-['FW_CDEV_IOC_RECEIVE_PHY_PACKETS', '_IOW', '(', "'#'", ',', '0x16', ',', 'struct', 'fw_cdev_receive_phy_packets', ')', '#']
-['FW_CDEV_IOC_REMOVE_DESCRIPTOR', '_IOW', '(', "'#'", ',', '0x07', ',', 'struct', 'fw_cdev_remove_descriptor', ')', '#']
-['FW_CDEV_IOC_SEND_BROADCAST_REQUEST', '_IOW', '(', "'#'", ',', '0x12', ',', 'struct', 'fw_cdev_send_request', ')', '#']
-['FW_CDEV_IOC_SEND_PHY_PACKET', '_IOWR', '(', "'#'", ',', '0x15', ',', 'struct', 'fw_cdev_send_phy_packet', ')', '#']
-['FW_CDEV_IOC_SEND_REQUEST', '_IOW', '(', "'#'", ',', '0x01', ',', 'struct', 'fw_cdev_send_request', ')', '#']
-['FW_CDEV_IOC_SEND_RESPONSE', '_IOW', '(', "'#'", ',', '0x04', ',', 'struct', 'fw_cdev_send_response', ')', '#']
-['FW_CDEV_IOC_SEND_STREAM_PACKET', '_IOW', '(', "'#'", ',', '0x13', ',', 'struct', 'fw_cdev_send_stream_packet', ')', '/* available since kernel version 2.6.34 */']
-['FW_CDEV_IOC_SET_ISO_CHANNELS', '_IOW', '(', "'#'", ',', '0x17', ',', 'struct', 'fw_cdev_set_iso_channels', ')', '/* available since kernel version 3.4 */']
-['FW_CDEV_IOC_START_ISO', '_IOW', '(', "'#'", ',', '0x0a', ',', 'struct', 'fw_cdev_start_iso', ')', '#']
-['FW_CDEV_IOC_STOP_ISO', '_IOW', '(', "'#'", ',', '0x0b', ',', 'struct', 'fw_cdev_stop_iso', ')', '/* available since kernel version 2.6.24 */']
-['HIDIOCAPPLICATION', '_IO', '(', "'H'", ',', '0x02', ')', '#']
-['HIDIOCGCOLLECTIONINDEX', '_IOW', '(', "'H'", ',', '0x10', ',', 'struct', 'hiddev_usage_ref', ')', '#']
-['HIDIOCGCOLLECTIONINFO', '_IOWR', '(', "'H'", ',', '0x11', ',', 'struct', 'hiddev_collection_info', ')', '#']
-['HIDIOCGDEVINFO', '_IOR', '(', "'H'", ',', '0x03', ',', 'struct', 'hiddev_devinfo', ')', '#']
-['HIDIOCGFEATURE', '(', 'len', ')', '_IOC', '(', '_IOC_WRITE', '|', '_IOC_READ', ',', "'H'", ',', '0x07', ',', 'len', ')', '#']
-['HIDIOCGFIELDINFO', '_IOWR', '(', "'H'", ',', '0x0A', ',', 'struct', 'hiddev_field_info', ')', '#']
-['HIDIOCGFLAG', '_IOR', '(', "'H'", ',', '0x0E', ',', 'int', ')', '#']
-['HIDIOCGNAME', '(', 'len', ')', '_IOC', '(', '_IOC_READ', ',', "'H'", ',', '0x06', ',', 'len', ')', '#']
-['HIDIOCGPHYS', '(', 'len', ')', '_IOC', '(', '_IOC_READ', ',', "'H'", ',', '0x12', ',', 'len', ')', '/* For writing/reading to multiple/consecutive usages */']
-['HIDIOCGRAWINFO', '_IOR', '(', "'H'", ',', '0x03', ',', 'struct', 'hidraw_devinfo', ')', '#']
-['HIDIOCGRAWNAME', '(', 'len', ')', '_IOC', '(', '_IOC_READ', ',', "'H'", ',', '0x04', ',', 'len', ')', '#']
-['HIDIOCGRAWPHYS', '(', 'len', ')', '_IOC', '(', '_IOC_READ', ',', "'H'", ',', '0x05', ',', 'len', ')', '/* The first byte of SFEATURE and GFEATURE is the report number */']
-['HIDIOCGRDESC', '_IOR', '(', "'H'", ',', '0x02', ',', 'struct', 'hidraw_report_descriptor', ')', '#']
-['HIDIOCGRDESCSIZE', '_IOR', '(', "'H'", ',', '0x01', ',', 'int', ')', '#']
-['HIDIOCGREPORT', '_IOW', '(', "'H'", ',', '0x07', ',', 'struct', 'hiddev_report_info', ')', '#']
-['HIDIOCGREPORTINFO', '_IOWR', '(', "'H'", ',', '0x09', ',', 'struct', 'hiddev_report_info', ')', '#']
-['HIDIOCGSTRING', '_IOR', '(', "'H'", ',', '0x04', ',', 'struct', 'hiddev_string_descriptor', ')', '#']
-['HIDIOCGUCODE', '_IOWR', '(', "'H'", ',', '0x0D', ',', 'struct', 'hiddev_usage_ref', ')', '#']
-['HIDIOCGUSAGE', '_IOWR', '(', "'H'", ',', '0x0B', ',', 'struct', 'hiddev_usage_ref', ')', '#']
-['HIDIOCGUSAGES', '_IOWR', '(', "'H'", ',', '0x13', ',', 'struct', 'hiddev_usage_ref_multi', ')', '#']
-['HIDIOCGVERSION', '_IOR', '(', "'H'", ',', '0x01', ',', 'int', ')', '#']
-['HIDIOCINITREPORT', '_IO', '(', "'H'", ',', '0x05', ')', '#']
-['HIDIOCSFEATURE', '(', 'len', ')', '_IOC', '(', '_IOC_WRITE', '|', '_IOC_READ', ',', "'H'", ',', '0x06', ',', 'len', ')', '#']
-['HIDIOCSFLAG', '_IOW', '(', "'H'", ',', '0x0F', ',', 'int', ')', '#']
-['HIDIOCSREPORT', '_IOW', '(', "'H'", ',', '0x08', ',', 'struct', 'hiddev_report_info', ')', '#']
-['HIDIOCSUSAGE', '_IOW', '(', "'H'", ',', '0x0C', ',', 'struct', 'hiddev_usage_ref', ')', '#']
-['HIDIOCSUSAGES', '_IOW', '(', "'H'", ',', '0x14', ',', 'struct', 'hiddev_usage_ref_multi', ')', '/* \n * Flags to be used in HIDIOCSFLAG\n */']
-['IIOCDBGVAR', '_IO', '(', "'I'", ',', '127', ')', '#']
-['IIOCDRVCTL', '_IO', '(', "'I'", ',', '128', ')', '/* cisco hdlck device private ioctls */']
-['IIOCGETCPS', '_IO', '(', "'I'", ',', '21', ')', '#']
-['IIOCGETDVR', '_IO', '(', "'I'", ',', '22', ')', '#']
-['IIOCGETMAP', '_IO', '(', "'I'", ',', '17', ')', '#']
-['IIOCGETPRF', '_IO', '(', "'I'", ',', '15', ')', '#']
-['IIOCGETSET', '_IO', '(', "'I'", ',', '8', ')', '/* no longer supported */']
-['IIOCNETAIF', '_IO', '(', "'I'", ',', '1', ')', '#']
-['IIOCNETALN', '_IO', '(', "'I'", ',', '32', ')', '#']
-['IIOCNETANM', '_IO', '(', "'I'", ',', '5', ')', '#']
-['IIOCNETASL', '_IO', '(', "'I'", ',', '19', ')', '#']
-['IIOCNETDIF', '_IO', '(', "'I'", ',', '2', ')', '#']
-['IIOCNETDIL', '_IO', '(', "'I'", ',', '20', ')', '#']
-['IIOCNETDLN', '_IO', '(', "'I'", ',', '33', ')', '#']
-['IIOCNETDNM', '_IO', '(', "'I'", ',', '6', ')', '#']
-['IIOCNETDWRSET', '_IO', '(', "'I'", ',', '24', ')', '/* dwabc ioctl to reset abc-values to default on a net-interface */']
-['IIOCNETGCF', '_IO', '(', "'I'", ',', '4', ')', '#']
-['IIOCNETGNM', '_IO', '(', "'I'", ',', '7', ')', '#']
-['IIOCNETGPN', '_IO', '(', "'I'", ',', '34', ')', '#']
-['IIOCNETHUP', '_IO', '(', "'I'", ',', '11', ')', '#']
-['IIOCNETLCR', '_IO', '(', "'I'", ',', '23', ')', '/* dwabc ioctl for LCR from isdnlog */']
-['IIOCNETSCF', '_IO', '(', "'I'", ',', '3', ')', '#']
-['IIOCSETBRJ', '_IO', '(', "'I'", ',', '13', ')', '#']
-['IIOCSETGST', '_IO', '(', "'I'", ',', '12', ')', '#']
-['IIOCSETMAP', '_IO', '(', "'I'", ',', '18', ')', '#']
-['IIOCSETPRF', '_IO', '(', "'I'", ',', '16', ')', '#']
-['IIOCSETSET', '_IO', '(', "'I'", ',', '9', ')', '/* no longer supported */']
-['IIOCSETVER', '_IO', '(', "'I'", ',', '10', ')', '#']
-['IIOCSIGPRF', '_IO', '(', "'I'", ',', '14', ')', '#']
-['IOCTL_EVTCHN_BIND_INTERDOMAIN', '_IOC', '(', '_IOC_NONE', ',', "'E'", ',', '1', ',', 'sizeof', '(', 'struct', 'ioctl_evtchn_bind_interdomain', ')', ')', 'struct']
-['IOCTL_EVTCHN_BIND_UNBOUND_PORT', '_IOC', '(', '_IOC_NONE', ',', "'E'", ',', '2', ',', 'sizeof', '(', 'struct', 'ioctl_evtchn_bind_unbound_port', ')', ')', 'struct']
-['IOCTL_EVTCHN_BIND_VIRQ', '_IOC', '(', '_IOC_NONE', ',', "'E'", ',', '0', ',', 'sizeof', '(', 'struct', 'ioctl_evtchn_bind_virq', ')', ')', 'struct']
-['IOCTL_EVTCHN_NOTIFY', '_IOC', '(', '_IOC_NONE', ',', "'E'", ',', '4', ',', 'sizeof', '(', 'struct', 'ioctl_evtchn_notify', ')', ')', 'struct']
-['IOCTL_EVTCHN_RESET', '_IOC', '(', '_IOC_NONE', ',', "'E'", ',', '5', ',', '0', ')', '#']
-['IOCTL_EVTCHN_UNBIND', '_IOC', '(', '_IOC_NONE', ',', "'E'", ',', '3', ',', 'sizeof', '(', 'struct', 'ioctl_evtchn_unbind', ')', ')', 'struct']
-['IOCTL_MEI_CONNECT_CLIENT', '_IOWR', '(', "'H'", ',', '0x01', ',', 'struct', 'mei_connect_client_data', ')', '/*\n * Intel MEI client information struct\n */']
-['IOCTL_WDM_MAX_COMMAND', '_IOR', '(', "'H'", ',', '0xA0', ',', '__u16', ')', '#']
-['IVTVFB_IOC_DMA_FRAME', '_IOW', '(', "'V'", ',', 'BASE_VIDIOC_PRIVATE', '+', '0', ',', 'struct', 'ivtvfb_dma_frame', ')', '#']
-['IVTV_IOC_DMA_FRAME', '_IOW', '(', "'V'", ',', 'BASE_VIDIOC_PRIVATE', '+', '0', ',', 'struct', 'ivtv_dma_frame', ')', '/* Select the passthrough mode (if the argument is non-zero). In the passthrough\n mode the output of the encoder is passed immediately into the decoder. */']
-['IVTV_IOC_PASSTHROUGH_MODE', '_IOW', '(', "'V'", ',', 'BASE_VIDIOC_PRIVATE', '+', '1', ',', 'int', ')', '/* Deprecated defines: applications should use the defines from videodev2.h */']
-['JSIOCGAXES', '_IOR', '(', "'j'", ',', '0x11', ',', '__u8', ')', '/* get number of axes */']
-['JSIOCGAXMAP', '_IOR', '(', "'j'", ',', '0x32', ',', '__u8', '[', 'ABS_CNT', ']', ')', '/* get axis mapping */']
-['JSIOCGBTNMAP', '_IOR', '(', "'j'", ',', '0x34', ',', '__u16', '[', 'KEY_MAX', '-', 'BTN_MISC', '+', '1', ']', ')', '/* get button mapping */']
-['JSIOCGBUTTONS', '_IOR', '(', "'j'", ',', '0x12', ',', '__u8', ')', '/* get number of buttons */']
-['JSIOCGCORR', '_IOR', '(', "'j'", ',', '0x22', ',', 'struct', 'js_corr', ')', '/* get correction values */']
-['JSIOCGNAME', '(', 'len', ')', '_IOC', '(', '_IOC_READ', ',', "'j'", ',', '0x13', ',', 'len', ')', '/* get identifier string */']
-['JSIOCGVERSION', '_IOR', '(', "'j'", ',', '0x01', ',', '__u32', ')', '/* get driver version */']
-['JSIOCSAXMAP', '_IOW', '(', "'j'", ',', '0x31', ',', '__u8', '[', 'ABS_CNT', ']', ')', '/* set axis mapping */']
-['JSIOCSBTNMAP', '_IOW', '(', "'j'", ',', '0x33', ',', '__u16', '[', 'KEY_MAX', '-', 'BTN_MISC', '+', '1', ']', ')', '/* set button mapping */']
-['JSIOCSCORR', '_IOW', '(', "'j'", ',', '0x21', ',', 'struct', 'js_corr', ')', '/* set correction values */']
-['KIOCSOUND', '0x4B2F', '/* start sound generation (0 for off) */']
-['MEDIA_IOC_DEVICE_INFO', '_IOWR', '(', "'|'", ',', '0x00', ',', 'struct', 'media_device_info', ')', '#']
-['MEDIA_IOC_ENUM_ENTITIES', '_IOWR', '(', "'|'", ',', '0x01', ',', 'struct', 'media_entity_desc', ')', '#']
-['MEDIA_IOC_ENUM_LINKS', '_IOWR', '(', "'|'", ',', '0x02', ',', 'struct', 'media_links_enum', ')', '#']
-['MEDIA_IOC_SETUP_LINK', '_IOWR', '(', "'|'", ',', '0x03', ',', 'struct', 'media_link_desc', ')', '#']
-['MEYEIOC_G_PARAMS', '_IOR', '(', "'v'", ',', 'BASE_VIDIOC_PRIVATE', '+', '0', ',', 'struct', 'meye_params', ')', '/* set the extended parameters */']
-['MEYEIOC_QBUF_CAPT', '_IOW', '(', "'v'", ',', 'BASE_VIDIOC_PRIVATE', '+', '2', ',', 'int', ')', '/* sync a previously queued mjpeg buffer */']
-['MEYEIOC_STILLCAPT', '_IO', '(', "'v'", ',', 'BASE_VIDIOC_PRIVATE', '+', '4', ')', '/* get a jpeg compressed snapshot */']
-['MEYEIOC_STILLJCAPT', '_IOR', '(', "'v'", ',', 'BASE_VIDIOC_PRIVATE', '+', '5', ',', 'int', ')', '/* V4L2 private controls */']
-['MEYEIOC_SYNC', '_IOWR', '(', "'v'", ',', 'BASE_VIDIOC_PRIVATE', '+', '3', ',', 'int', ')', '/* get a still uncompressed snapshot */']
-['MEYEIOC_S_PARAMS', '_IOW', '(', "'v'", ',', 'BASE_VIDIOC_PRIVATE', '+', '1', ',', 'struct', 'meye_params', ')', '/* queue a buffer for mjpeg capture */']
-['MGSL_IOCCLRMODCOUNT', '_IO', '(', 'MGSL_MAGIC_IOC', ',', '15', ')', '#']
-['MGSL_IOCGGPIO', '_IOR', '(', 'MGSL_MAGIC_IOC', ',', '17', ',', 'struct', 'gpio_desc', ')', '#']
-['MGSL_IOCGIF', '_IO', '(', 'MGSL_MAGIC_IOC', ',', '11', ')', '#']
-['MGSL_IOCGPARAMS', '_IOR', '(', 'MGSL_MAGIC_IOC', ',', '1', ',', 'struct', '_MGSL_PARAMS', ')', '#']
-['MGSL_IOCGSTATS', '_IO', '(', 'MGSL_MAGIC_IOC', ',', '7', ')', '#']
-['MGSL_IOCGTXIDLE', '_IO', '(', 'MGSL_MAGIC_IOC', ',', '3', ')', '#']
-['MGSL_IOCGXCTRL', '_IO', '(', 'MGSL_MAGIC_IOC', ',', '22', ')', '#']
-['MGSL_IOCGXSYNC', '_IO', '(', 'MGSL_MAGIC_IOC', ',', '20', ')', '#']
-['MGSL_IOCLOOPTXDONE', '_IO', '(', 'MGSL_MAGIC_IOC', ',', '9', ')', '#']
-['MGSL_IOCRXENABLE', '_IO', '(', 'MGSL_MAGIC_IOC', ',', '5', ')', '#']
-['MGSL_IOCSGPIO', '_IOW', '(', 'MGSL_MAGIC_IOC', ',', '16', ',', 'struct', 'gpio_desc', ')', '#']
-['MGSL_IOCSIF', '_IO', '(', 'MGSL_MAGIC_IOC', ',', '10', ')', '#']
-['MGSL_IOCSPARAMS', '_IOW', '(', 'MGSL_MAGIC_IOC', ',', '0', ',', 'struct', '_MGSL_PARAMS', ')', '#']
-['MGSL_IOCSTXIDLE', '_IO', '(', 'MGSL_MAGIC_IOC', ',', '2', ')', '#']
-['MGSL_IOCSXCTRL', '_IO', '(', 'MGSL_MAGIC_IOC', ',', '21', ')', '#']
-['MGSL_IOCSXSYNC', '_IO', '(', 'MGSL_MAGIC_IOC', ',', '19', ')', '#']
-['MGSL_IOCTXABORT', '_IO', '(', 'MGSL_MAGIC_IOC', ',', '6', ')', '#']
-['MGSL_IOCTXENABLE', '_IO', '(', 'MGSL_MAGIC_IOC', ',', '4', ')', '#']
-['MGSL_IOCWAITEVENT', '_IOWR', '(', 'MGSL_MAGIC_IOC', ',', '8', ',', 'int', ')', '#']
-['MGSL_IOCWAITGPIO', '_IOWR', '(', 'MGSL_MAGIC_IOC', ',', '18', ',', 'struct', 'gpio_desc', ')', '#']
-['MMC_IOC_CMD', '_IOWR', '(', 'MMC_BLOCK_MAJOR', ',', '0', ',', 'struct', 'mmc_ioc_cmd', ')', '/*\n * Since this ioctl is only meant to enhance (and not replace) normal access\n * to the mmc bus device, an upper data transfer limit of MMC_IOC_MAX_BYTES\n * is enforced per ioctl call. For larger data transfers, use the normal\n * block device operations.\n */']
-['MTIOCGET', '_IOR', '(', "'m'", ',', '2', ',', 'struct', 'mtget', ')', '/* Get tape status. */']
-['MTIOCGET', '_IOR', '(', "'m'", ',', '2', ',', 'struct', 'mtget', ')', '/* get tape status */']
-['MTIOCGETCONFIG', '_IOR', '(', "'m'", ',', '4', ',', 'struct', 'mtconfiginfo', ')', '/* Get tape config.*/']
-['MTIOCPOS', '_IOR', '(', "'m'", ',', '3', ',', 'struct', 'mtpos', ')', '/* Get tape position.*/']
-['MTIOCPOS', '_IOR', '(', "'m'", ',', '3', ',', 'struct', 'mtpos', ')', '/* get tape position */']
-['MTIOCSETCONFIG', '_IOW', '(', "'m'", ',', '5', ',', 'struct', 'mtconfiginfo', ')', '/* Set tape config.*/']
-['MTIOCTOP', '_IOW', '(', "'m'", ',', '1', ',', 'struct', 'mtop', ')', '/* Do a mag tape op. */']
-['MTIOCTOP', '_IOW', '(', "'m'", ',', '1', ',', 'struct', 'mtop', ')', '/* do a mag tape op */']
-['MTRRIOC_ADD_ENTRY', '_IOW', '(', 'MTRR_IOCTL_BASE', ',', '0', ',', 'struct', 'mtrr_sentry', ')', '#']
-['MTRRIOC_ADD_PAGE_ENTRY', '_IOW', '(', 'MTRR_IOCTL_BASE', ',', '5', ',', 'struct', 'mtrr_sentry', ')', '#']
-['MTRRIOC_DEL_ENTRY', '_IOW', '(', 'MTRR_IOCTL_BASE', ',', '2', ',', 'struct', 'mtrr_sentry', ')', '#']
-['MTRRIOC_DEL_PAGE_ENTRY', '_IOW', '(', 'MTRR_IOCTL_BASE', ',', '7', ',', 'struct', 'mtrr_sentry', ')', '#']
-['MTRRIOC_GET_ENTRY', '_IOWR', '(', 'MTRR_IOCTL_BASE', ',', '3', ',', 'struct', 'mtrr_gentry', ')', '#']
-['MTRRIOC_GET_PAGE_ENTRY', '_IOWR', '(', 'MTRR_IOCTL_BASE', ',', '8', ',', 'struct', 'mtrr_gentry', ')', '#']
-['MTRRIOC_KILL_ENTRY', '_IOW', '(', 'MTRR_IOCTL_BASE', ',', '4', ',', 'struct', 'mtrr_sentry', ')', '#']
-['MTRRIOC_KILL_PAGE_ENTRY', '_IOW', '(', 'MTRR_IOCTL_BASE', ',', '9', ',', 'struct', 'mtrr_sentry', ')', '/* These are the region types */']
-['MTRRIOC_SET_ENTRY', '_IOW', '(', 'MTRR_IOCTL_BASE', ',', '1', ',', 'struct', 'mtrr_sentry', ')', '#']
-['MTRRIOC_SET_PAGE_ENTRY', '_IOW', '(', 'MTRR_IOCTL_BASE', ',', '6', ',', 'struct', 'mtrr_sentry', ')', '#']
-['NVME_IOCTL_ADMIN_CMD', '_IOWR', '(', "'N'", ',', '0x41', ',', 'struct', 'nvme_admin_cmd', ')', '#']
-['NVME_IOCTL_ID', '_IO', '(', "'N'", ',', '0x40', ')', '#']
-['NVME_IOCTL_SUBMIT_IO', '_IOW', '(', "'N'", ',', '0x42', ',', 'struct', 'nvme_user_io', ')', '#']
-['OSIOCGNETADDR', '_IOR', '(', 'DECNET_IOCTL_BASE', ',', '0xe1', ',', 'int', ')', '#']
-['OSIOCSNETADDR', '_IOW', '(', 'DECNET_IOCTL_BASE', ',', '0xe0', ',', 'int', ')', '#']
-['PCIIOC_CONTROLLER', '(', 'PCIIOC_BASE', '|', '0x00', ')', '/* Get controller for PCI device. */']
-['PCIIOC_MMAP_IS_IO', '(', 'PCIIOC_BASE', '|', '0x01', ')', '/* Set mmap state to I/O space. */']
-['PCIIOC_MMAP_IS_MEM', '(', 'PCIIOC_BASE', '|', '0x02', ')', '/* Set mmap state to MEM space. */']
-['PCIIOC_WRITE_COMBINE', '(', 'PCIIOC_BASE', '|', '0x03', ')', '/* Enable/disable write-combining. */']
-['PERF_EVENT_IOC_DISABLE', '_IO', '(', "'$'", ',', '1', ')', '#']
-['PERF_EVENT_IOC_ENABLE', '_IO', '(', "'$'", ',', '0', ')', '#']
-['PERF_EVENT_IOC_ID', '_IOR', '(', "'$'", ',', '7', ',', '__u64', '*', ')', 'enum']
-['PERF_EVENT_IOC_PERIOD', '_IOW', '(', "'$'", ',', '4', ',', '__u64', ')', '#']
-['PERF_EVENT_IOC_REFRESH', '_IO', '(', "'$'", ',', '2', ')', '#']
-['PERF_EVENT_IOC_RESET', '_IO', '(', "'$'", ',', '3', ')', '#']
-['PERF_EVENT_IOC_SET_FILTER', '_IOW', '(', "'$'", ',', '6', ',', 'char', '*', ')', '#']
-['PERF_EVENT_IOC_SET_OUTPUT', '_IO', '(', "'$'", ',', '5', ')', '#']
-['PMU_IOC_CAN_SLEEP', '_IOR', '(', "'B'", ',', '5', ',', 'size_t', ')', "/* no param, but historically was _IOR('B', 6, 0), meaning 4 bytes */"]
-['PMU_IOC_GET_BACKLIGHT', '_IOR', '(', "'B'", ',', '1', ',', 'size_t', ')', '/* in param: u32\tbacklight value: 0 to 15 */']
-['PMU_IOC_GET_MODEL', '_IOR', '(', "'B'", ',', '3', ',', 'size_t', ')', '/* out param: u32*\thas_adb: 0 or 1 */']
-['PMU_IOC_GRAB_BACKLIGHT', '_IOR', '(', "'B'", ',', '6', ',', 'size_t', ')', '#']
-['PMU_IOC_HAS_ADB', '_IOR', '(', "'B'", ',', '4', ',', 'size_t', ')', '/* out param: u32*\tcan_sleep: 0 or 1 */']
-['PMU_IOC_SET_BACKLIGHT', '_IOW', '(', "'B'", ',', '2', ',', 'size_t', ')', '/* out param: u32*\tPMU model */']
-['PMU_IOC_SLEEP', '_IO', '(', "'B'", ',', '0', ')', '/* out param: u32*\tbacklight value: 0 to 15 */']
-['PPPIOCATTACH', '_IOW', '(', "'t'", ',', '61', ',', 'int', ')', '/* attach to ppp unit */']
-['PPPIOCATTCHAN', '_IOW', '(', "'t'", ',', '56', ',', 'int', ')', '/* attach to ppp channel */']
-['PPPIOCBUNDLE', '_IOW', '(', "'t'", ',', '129', ',', 'int', ')', '#']
-['PPPIOCCONNECT', '_IOW', '(', "'t'", ',', '58', ',', 'int', ')', '/* connect channel to unit */']
-['PPPIOCDETACH', '_IOW', '(', "'t'", ',', '60', ',', 'int', ')', '/* detach from ppp unit/chan */']
-['PPPIOCDISCONN', '_IO', '(', "'t'", ',', '57', ')', '/* disconnect channel */']
-['PPPIOCGASYNCMAP', '_IOR', '(', "'t'", ',', '88', ',', 'int', ')', '/* get async map */']
-['PPPIOCGCALLINFO', '_IOWR', '(', "'t'", ',', '128', ',', 'struct', 'pppcallinfo', ')', '#']
-['PPPIOCGCHAN', '_IOR', '(', "'t'", ',', '55', ',', 'int', ')', '/* get ppp channel number */']
-['PPPIOCGCOMPRESSORS', '_IOR', '(', "'t'", ',', '134', ',', 'unsigned', 'long', '[', '8', ']', ')', '#']
-['PPPIOCGDEBUG', '_IOR', '(', "'t'", ',', '65', ',', 'int', ')', '/* Read debug level */']
-['PPPIOCGFLAGS', '_IOR', '(', "'t'", ',', '90', ',', 'int', ')', '/* get configuration flags */']
-['PPPIOCGIDLE', '_IOR', '(', "'t'", ',', '63', ',', 'struct', 'ppp_idle', ')', '/* get idle time */']
-['PPPIOCGIFNAME', '_IOR', '(', "'t'", ',', '136', ',', 'char', '[', 'IFNAMSIZ', ']', ')', '#']
-['PPPIOCGL2TPSTATS', '_IOR', '(', "'t'", ',', '54', ',', 'struct', 'pppol2tp_ioc_stats', ')', '#']
-['PPPIOCGMPFLAGS', '_IOR', '(', "'t'", ',', '130', ',', 'int', ')', '#']
-['PPPIOCGMRU', '_IOR', '(', "'t'", ',', '83', ',', 'int', ')', '/* get max receive unit */']
-['PPPIOCGNPMODE', '_IOWR', '(', "'t'", ',', '76', ',', 'struct', 'npioctl', ')', '/* get NP mode */']
-['PPPIOCGRASYNCMAP', '_IOR', '(', "'t'", ',', '85', ',', 'int', ')', '/* get receive async map */']
-['PPPIOCGUNIT', '_IOR', '(', "'t'", ',', '86', ',', 'int', ')', '/* get ppp unit number */']
-['PPPIOCGXASYNCMAP', '_IOR', '(', "'t'", ',', '80', ',', 'ext_accm', ')', '/* get extended ACCM */']
-['PPPIOCNEWUNIT', '_IOWR', '(', "'t'", ',', '62', ',', 'int', ')', '/* create new ppp unit */']
-['PPPIOCSACTIVE', '_IOW', '(', "'t'", ',', '70', ',', 'struct', 'sock_fprog', ')', '/* set active filt */']
-['PPPIOCSASYNCMAP', '_IOW', '(', "'t'", ',', '87', ',', 'int', ')', '/* set async map */']
-['PPPIOCSCOMPRESS', '_IOW', '(', "'t'", ',', '77', ',', 'struct', 'ppp_option_data', ')', '#']
-['PPPIOCSCOMPRESSOR', '_IOW', '(', "'t'", ',', '135', ',', 'int', ')', '#']
-['PPPIOCSDEBUG', '_IOW', '(', "'t'", ',', '64', ',', 'int', ')', '/* Set debug level */']
-['PPPIOCSFLAGS', '_IOW', '(', "'t'", ',', '89', ',', 'int', ')', '/* set configuration flags */']
-['PPPIOCSMAXCID', '_IOW', '(', "'t'", ',', '81', ',', 'int', ')', '/* set VJ max slot ID */']
-['PPPIOCSMPFLAGS', '_IOW', '(', "'t'", ',', '131', ',', 'int', ')', '#']
-['PPPIOCSMPMRU', '_IOW', '(', "'t'", ',', '133', ',', 'int', ')', '#']
-['PPPIOCSMPMTU', '_IOW', '(', "'t'", ',', '132', ',', 'int', ')', '#']
-['PPPIOCSMRRU', '_IOW', '(', "'t'", ',', '59', ',', 'int', ')', '/* set multilink MRU */']
-['PPPIOCSMRU', '_IOW', '(', "'t'", ',', '82', ',', 'int', ')', '/* set max receive unit */']
-['PPPIOCSNPMODE', '_IOW', '(', "'t'", ',', '75', ',', 'struct', 'npioctl', ')', '/* set NP mode */']
-['PPPIOCSPASS', '_IOW', '(', "'t'", ',', '71', ',', 'struct', 'sock_fprog', ')', '/* set pass filter */']
-['PPPIOCSRASYNCMAP', '_IOW', '(', "'t'", ',', '84', ',', 'int', ')', '/* set receive async map */']
-['PPPIOCSXASYNCMAP', '_IOW', '(', "'t'", ',', '79', ',', 'ext_accm', ')', '/* set extended ACCM */']
-['PPPIOCXFERUNIT', '_IO', '(', "'t'", ',', '78', ')', '/* transfer PPP unit */']
-['REISERFS_IOC_GETFLAGS', '_IOR', '(', "'f'", ',', '1', ',', 'long', ')', '#']
-['REISERFS_IOC_GETVERSION', '_IOR', '(', "'v'", ',', '1', ',', 'long', ')', '#']
-['RESIERFS_IOC_SETFLAGS', '_IOW', '(', "'f'", ',', '2', ',', 'long', ')', '#']
-['REISERFS_IOC_SETVERSION', '_IOW', '(', "'v'", ',', '2', ',', 'long', ')', '#']
-['REISERFS_IOC_UNPACK', '_IOW', '(', '0xCD', ',', '1', ',', 'long', ')', '/* define following flags to be the same as in ext2, so that chattr(1),\n lsattr(1) will work with us. */']
-['RFKILL_IOCTL_NOINPUT', '_IO', '(', 'RFKILL_IOC_MAGIC', ',', 'RFKILL_IOC_NOINPUT', ')', "/* and that's all userspace gets */"]
-['SCSI_IOCTL_BENCHMARK_COMMAND', '3', '#']
-['SCSI_IOCTL_DOORLOCK', '0x5380', '/* Lock the eject mechanism. */']
-['SCSI_IOCTL_DOORUNLOCK', '0x5381', '/* Unlock the mechanism. */']
-['SCSI_IOCTL_GET_BUS_NUMBER', '0x5386', '#']
-['SCSI_IOCTL_GET_IDLUN', '0x5382', '/* Used to turn on and off tagged queuing for scsi devices. */']
-['SCSI_IOCTL_PROBE_HOST', '0x5385', '/* Used to get the bus number for a device. */']
-['SCSI_IOCTL_SEND_COMMAND', '1', '/* Send a command to the SCSI host. */']
-['SCSI_IOCTL_START_UNIT', '5', '#']
-['SCSI_IOCTL_STOP_UNIT', '6', '#']
-['SCSI_IOCTL_SYNC', '4', '/* Request synchronous parameters. */']
-['SCSI_IOCTL_TAGGED_DISABLE', '0x5384', '/* Used to obtain the host number of a device. */']
-['SCSI_IOCTL_TAGGED_ENABLE', '0x5383', '#']
-['SCSI_IOCTL_TEST_UNIT_READY', '2', '/* Test if unit is ready. */']
-['SIOCADDDLCI', '0x8980', '/* Create new DLCI device\t*/']
-['SIOCADDMULTI', '0x8931', '/* Multicast address lists\t*/']
-['SIOCADDRT', '0x890B', '/* add routing table entry\t*/']
-['SIOCAIPXITFCRT', '(', 'SIOCPROTOPRIVATE', ')', '#']
-['SIOCAIPXPRISLT', '(', 'SIOCPROTOPRIVATE', '+', '1', ')', '#']
-['SIOCATALKDIFADDR', '(', 'SIOCPROTOPRIVATE', '+', '0', ')', 'struct']
-['SIOCATMARK', '0x8905', '#']
-['SIOCAX25ADDFWD', '(', 'SIOCPROTOPRIVATE', '+', '10', ')', '#']
-['SIOCAX25ADDUID', '(', 'SIOCPROTOPRIVATE', '+', '1', ')', '#']
-['SIOCAX25BPQADDR', '(', 'SIOCPROTOPRIVATE', '+', '4', ')', '#']
-['SIOCAX25CTLCON', '(', 'SIOCPROTOPRIVATE', '+', '8', ')', '#']
-['SIOCAX25DELFWD', '(', 'SIOCPROTOPRIVATE', '+', '11', ')', '#']
-['SIOCAX25DELUID', '(', 'SIOCPROTOPRIVATE', '+', '2', ')', '#']
-['SIOCAX25DEVCTL', '(', 'SIOCPROTOPRIVATE', '+', '12', ')', '#']
-['SIOCAX25GETINFO', '(', 'SIOCPROTOPRIVATE', '+', '13', ')', '#']
-['SIOCAX25GETINFOOLD', '(', 'SIOCPROTOPRIVATE', '+', '9', ')', '#']
-['SIOCAX25GETPARMS', '(', 'SIOCPROTOPRIVATE', '+', '5', ')', '#']
-['SIOCAX25GETUID', '(', 'SIOCPROTOPRIVATE', ')', '#']
-['SIOCAX25NOUID', '(', 'SIOCPROTOPRIVATE', '+', '3', ')', '#']
-['SIOCAX25OPTRT', '(', 'SIOCPROTOPRIVATE', '+', '7', ')', '#']
-['SIOCAX25SETPARMS', '(', 'SIOCPROTOPRIVATE', '+', '6', ')', '#']
-['SIOCBONDCHANGEACTIVE', '0x8995', '/* update to a new active slave */']
-['SIOCBONDENSLAVE', '0x8990', '/* enslave a device to the bond */']
-['SIOCBONDINFOQUERY', '0x8994', '/* rtn info about bond state */']
-['SIOCBONDRELEASE', '0x8991', '/* release a slave from the bond*/']
-['SIOCBONDSETHWADDR', '0x8992', '/* set the hw addr of the bond */']
-['SIOCBONDSLAVEINFOQUERY', '0x8993', '/* rtn info about slave state */']
-['SIOCBRADDBR', '0x89a0', '/* create new bridge device */']
-['SIOCBRADDIF', '0x89a2', '/* add interface to bridge */']
-['SIOCBRDELBR', '0x89a1', '/* remove bridge device */']
-['SIOCBRDELIF', '0x89a3', '/* remove interface from bridge */']
-['SIOCDARP', '0x8953', '/* delete ARP table entry\t*/']
-['SIOCDELDLCI', '0x8981', '/* Delete DLCI device\t\t*/']
-['SIOCDELMULTI', '0x8932', '#']
-['SIOCDELRT', '0x890C', '/* delete routing table entry\t*/']
-['SIOCDEVPLIP', 'SIOCDEVPRIVATE', 'struct']
-['SIOCDEVPRIVATE', '0x89F0', '/* to 89FF */']
-['SIOCDIFADDR', '0x8936', '/* delete PA address\t\t*/']
-['SIOCDRARP', '0x8960', '/* delete RARP table entry\t*/']
-['SIOCETHTOOL', '0x8946', '/* Ethtool interface\t\t*/']
-['SIOCGARP', '0x8954', '/* get ARP table entry\t\t*/']
-['SIOCGBPQETHPARAM', '0x5000', '/* get Level 1 parameters */']
-['SIOCGCMFIRMWARE', '(', 'SIOCDEVPRIVATE', '+', '1', ')', '/* get cm firmware version */']
-['SIOCGCMFREQUENCY', '(', 'SIOCDEVPRIVATE', '+', '2', ')', '/* get cable modem frequency */']
-['SIOCGCMPIDS', '(', 'SIOCDEVPRIVATE', '+', '4', ')', '/* get cable modem PIDs */']
-['SIOCGCMSTATS', '(', 'SIOCDEVPRIVATE', '+', '0', ')', '/* get cable modem stats */']
-['SIOCGDEBSERINT', '(', 'SIOCDEVPRIVATE', '+', '2', ')', '#']
-['SIOCGDONGLE', '(', 'SIOCDEVPRIVATE', '+', '1', ')', '#']
-['SIOCGETLINKNAME', 'SIOCPROTOPRIVATE', 'struct']
-['SIOCGHWTSTAMP', '0x89b1', '/* get config\t\t\t*/']
-['SIOCGIFADDR', '0x8915', '/* get PA address\t\t*/']
-['SIOCGIFBR', '0x8940', '/* Bridging support\t\t*/']
-['SIOCGIFBRDADDR', '0x8919', '/* get broadcast PA address\t*/']
-['SIOCGIFCONF', '0x8912', '/* get iface list\t\t*/']
-['SIOCGIFCOUNT', '0x8938', '/* get number of devices */']
-['SIOCGIFDSTADDR', '0x8917', '/* get remote PA address\t*/']
-['SIOCGIFENCAP', '0x8925', '/* get/set encapsulations */']
-['SIOCGIFFLAGS', '0x8913', '/* get flags\t\t\t*/']
-['SIOCGIFHWADDR', '0x8927', '/* Get hardware address\t\t*/']
-['SIOCGIFINDEX', '0x8933', '/* name -> if_index mapping\t*/']
-['SIOCGIFMAP', '0x8970', '/* Get device parameters\t*/']
-['SIOCGIFMEM', '0x891f', '/* get memory address (BSD)\t*/']
-['SIOCGIFMETRIC', '0x891d', '/* get metric\t\t\t*/']
-['SIOCGIFMTU', '0x8921', '/* get MTU size\t\t\t*/']
-['SIOCGIFNAME', '0x8910', '/* get iface name\t\t*/']
-['SIOCGIFNETMASK', '0x891b', '/* get network PA mask\t\t*/']
-['SIOCGIFPFLAGS', '0x8935', '#']
-['SIOCGIFSLAVE', '0x8929', '/* Driver slaving support\t*/']
-['SIOCGIFTXQLEN', '0x8942', '/* Get the tx queue length\t*/']
-['SIOCGIFVLAN', '0x8982', '/* 802.1Q VLAN support\t\t*/']
-['SIOCGKEEPALIVE', '(', 'SIOCDEVPRIVATE', '+', '1', ')', '/* Get keepalive timeout */']
-['SIOCGKEEPPERIOD', '(', 'SIOCDEVPRIVATE', '+', '0', ')', '#']
-['SIOCGLEASE', '(', 'SIOCDEVPRIVATE', '+', '5', ')', '/* Get line type */']
-['SIOCGMEDIABUSY', '(', 'SIOCDEVPRIVATE', '+', '4', ')', '#']
-['SIOCGMIIPHY', '0x8947', '/* Get address of MII PHY in use. */']
-['SIOCGMIIREG', '0x8948', '/* Read MII PHY register.\t*/']
-['SIOCGMODE', '(', 'SIOCDEVPRIVATE', '+', '7', ')', '#']
-['SIOCGNETADDR', '_IOR', '(', 'DECNET_IOCTL_BASE', ',', '0xe1', ',', 'struct', 'dn_naddr', ')', '#']
-['SIOCGOUTFILL', '(', 'SIOCDEVPRIVATE', '+', '3', ')', '/* Get outfill timeout */']
-['SIOCGPGRP', '0x8904', '#']
-['SIOCGPPPCSTATS', '(', 'SIOCDEVPRIVATE', '+', '2', ')', '#']
-['SIOCGPPPSTATS', '(', 'SIOCDEVPRIVATE', '+', '0', ')', '#']
-['SIOCGPPPVER', '(', 'SIOCDEVPRIVATE', '+', '1', ')', '/* NEVER change this!! */']
-['SIOCGQOS', '(', 'SIOCDEVPRIVATE', '+', '9', ')', '/* No reason to include <linux/if.h> just because of this one ;-) */']
-['SIOCGRARP', '0x8961', '/* get RARP table entry\t\t*/']
-['SIOCGRECEIVING', '(', 'SIOCDEVPRIVATE', '+', '5', ')', '#']
-['SIOCGSTAMP', '0x8906', '/* Get stamp (timeval) */']
-['SIOCGSTAMPNS', '0x8907', '/* Get stamp (timespec) */']
-['SIOCINQ', 'FIONREAD', '#']
-['SIOCIPXCFGDATA', '(', 'SIOCPROTOPRIVATE', '+', '2', ')', '#']
-['SIOCIPXNCPCONN', '(', 'SIOCPROTOPRIVATE', '+', '3', ')', '#']
-['SIOCMKCLIP', '_IO', '(', "'a'", ',', 'ATMIOC_CLIP', ')', '/* create IP interface */']
-['SIOCNRCTLCON', '(', 'SIOCPROTOPRIVATE', '+', '4', ')', '/* NetRom parameter structure: */']
-['SIOCNRDECOBS', '(', 'SIOCPROTOPRIVATE', '+', '2', ')', '#']
-['SIOCNRGETPARMS', '(', 'SIOCPROTOPRIVATE', '+', '0', ')', '#']
-['SIOCNRRTCTL', '(', 'SIOCPROTOPRIVATE', '+', '3', ')', '#']
-['SIOCNRSETPARMS', '(', 'SIOCPROTOPRIVATE', '+', '1', ')', '#']
-['SIOCOUTQ', 'TIOCOUTQ', '/* output queue size (not sent + not acked) */']
-['SIOCOUTQNSD', '0x894B', '/* output queue size (not sent only) */']
-['SIOCPARM_MASK', '0x1fff', '#']
-['SIOCPROTOPRIVATE', '0x89E0', '/* to 89EF */']
-['SIOCRSACCEPT', '(', 'SIOCPROTOPRIVATE', '+', '3', ')', '#']
-['SIOCRSCLRRT', '(', 'SIOCPROTOPRIVATE', '+', '4', ')', '#']
-['SIOCRSGCAUSE', '(', 'SIOCPROTOPRIVATE', '+', '0', ')', '#']
-['SIOCRSGFACILITIES', '(', 'SIOCPROTOPRIVATE', '+', '6', ')', '#']
-['SIOCRSGL2CALL', '(', 'SIOCPROTOPRIVATE', '+', '5', ')', '#']
-['SIOCRSL2CALL', '(', 'SIOCPROTOPRIVATE', '+', '2', ')', '#']
-['SIOCRSSCAUSE', '(', 'SIOCPROTOPRIVATE', '+', '1', ')', '#']
-['SIOCRSSL2CALL', '(', 'SIOCPROTOPRIVATE', '+', '2', ')', '#']
-['SIOCRTMSG', '0x890D', '/* call to routing system\t*/']
-['SIOCSARP', '0x8955', '/* set ARP table entry\t\t*/']
-['SIOCSBANDWIDTH', '(', 'SIOCDEVPRIVATE', '+', '2', ')', '#']
-['SIOCSBPQETHADDR', '(', 'SIOCDEVPRIVATE', '+', '1', ')', 'struct']
-['SIOCSBPQETHOPT', '(', 'SIOCDEVPRIVATE', '+', '0', ')', '/* reserved */']
-['SIOCSBPQETHPARAM', '0x5001', '/* set */']
-['SIOCSCMFREQUENCY', '(', 'SIOCDEVPRIVATE', '+', '3', ')', '/* set cable modem frequency */']
-['SIOCSCMPIDS', '(', 'SIOCDEVPRIVATE', '+', '5', ')', '/* set cable modem PIDs */']
-['SIOCSDEBSERINT', '(', 'SIOCDEVPRIVATE', '+', '3', ')', '/* Packet encapsulations for net-interfaces */']
-['SIOCSDONGLE', '(', 'SIOCDEVPRIVATE', '+', '0', ')', '#']
-['SIOCSDTRRTS', '(', 'SIOCDEVPRIVATE', '+', '8', ')', '#']
-['SIOCSHWTSTAMP', '0x89b0', '/* set and get config\t\t*/']
-['SIOCSIFADDR', '0x8916', '/* set PA address\t\t*/']
-['SIOCSIFATMTCP', '_IO', '(', "'a'", ',', 'ATMIOC_ITF', ')', '/* set ATMTCP mode */']
-['SIOCSIFBR', '0x8941', '/* Set bridging options \t*/']
-['SIOCSIFBRDADDR', '0x891a', '/* set broadcast PA address\t*/']
-['SIOCSIFDSTADDR', '0x8918', '/* set remote PA address\t*/']
-['SIOCSIFENCAP', '0x8926', '#']
-['SIOCSIFFLAGS', '0x8914', '/* set flags\t\t\t*/']
-['SIOCSIFHWADDR', '0x8924', '/* set hardware address \t*/']
-['SIOCSIFHWBROADCAST', '0x8937', '/* set hardware broadcast addr\t*/']
-['SIOCSIFLINK', '0x8911', '/* set iface channel\t\t*/']
-['SIOCSIFMAP', '0x8971', '/* Set device parameters\t*/']
-['SIOCSIFMEM', '0x8920', '/* set memory address (BSD)\t*/']
-['SIOCSIFMETRIC', '0x891e', '/* set metric\t\t\t*/']
-['SIOCSIFMTU', '0x8922', '/* set MTU size\t\t\t*/']
-['SIOCSIFNAME', '0x8923', '/* set interface name */']
-['SIOCSIFNETMASK', '0x891c', '/* set network PA mask\t\t*/']
-['SIOCSIFPFLAGS', '0x8934', '/* set/get extended flags set\t*/']
-['SIOCSIFSLAVE', '0x8930', '#']
-['SIOCSIFTXQLEN', '0x8943', '/* Set the tx queue length \t*/']
-['SIOCSIFVLAN', '0x8983', '/* Set 802.1Q VLAN options \t*/']
-['SIOCSKEEPALIVE', '(', 'SIOCDEVPRIVATE', ')', '/* Set keepalive timeout in sec */']
-['SIOCSKEEPPERIOD', '(', 'SIOCDEVPRIVATE', '+', '1', ')', '#']
-['SIOCSLEASE', '(', 'SIOCDEVPRIVATE', '+', '4', ')', '/* Set "leased" line type */']
-['SIOCSMEDIABUSY', '(', 'SIOCDEVPRIVATE', '+', '3', ')', '#']
-['SIOCSMIIREG', '0x8949', '/* Write MII PHY register.\t*/']
-['SIOCSMODE', '(', 'SIOCDEVPRIVATE', '+', '6', ')', '#']
-['SIOCSNETADDR', '_IOW', '(', 'DECNET_IOCTL_BASE', ',', '0xe0', ',', 'struct', 'dn_naddr', ')', '#']
-['SIOCSOUTFILL', '(', 'SIOCDEVPRIVATE', '+', '2', ')', '/* Set outfill timeout */']
-['SIOCSPGRP', '0x8902', '#']
-['SIOCSRARP', '0x8962', '/* set RARP table entry\t\t*/']
-['SIOCWANDEV', '0x894A', '/* get/set netdev parameters\t*/']
-['SIOCX25CALLACCPTAPPRV', '(', 'SIOCPROTOPRIVATE', '+', '8', ')', '#']
-['SIOCX25GCALLUSERDATA', '(', 'SIOCPROTOPRIVATE', '+', '4', ')', '#']
-['SIOCX25GCAUSEDIAG', '(', 'SIOCPROTOPRIVATE', '+', '6', ')', '#']
-['SIOCX25GDTEFACILITIES', '(', 'SIOCPROTOPRIVATE', '+', '10', ')', '#']
-['SIOCX25GFACILITIES', '(', 'SIOCPROTOPRIVATE', '+', '2', ')', '#']
-['SIOCX25GSUBSCRIP', '(', 'SIOCPROTOPRIVATE', '+', '0', ')', '#']
-['SIOCX25SCALLUSERDATA', '(', 'SIOCPROTOPRIVATE', '+', '5', ')', '#']
-['SIOCX25SCAUSEDIAG', '(', 'SIOCPROTOPRIVATE', '+', '12', ')', '/*\n *\tValues for {get,set}sockopt.\n */']
-['SIOCX25SCUDMATCHLEN', '(', 'SIOCPROTOPRIVATE', '+', '7', ')', '#']
-['SIOCX25SDTEFACILITIES', '(', 'SIOCPROTOPRIVATE', '+', '11', ')', '#']
-['SIOCX25SENDCALLACCPT', '(', 'SIOCPROTOPRIVATE', '+', '9', ')', '#']
-['SIOCX25SFACILITIES', '(', 'SIOCPROTOPRIVATE', '+', '3', ')', '#']
-['SIOCX25SSUBSCRIP', '(', 'SIOCPROTOPRIVATE', '+', '1', ')', '#']
-['SNDRV_DM_FM_IOCTL_CLEAR_PATCHES', '_IO', '(', "'H'", ',', '0x40', ')', '#']
-['SNDRV_DM_FM_IOCTL_INFO', '_IOR', '(', "'H'", ',', '0x20', ',', 'struct', 'snd_dm_fm_info', ')', '#']
-['SNDRV_DM_FM_IOCTL_PLAY_NOTE', '_IOW', '(', "'H'", ',', '0x22', ',', 'struct', 'snd_dm_fm_note', ')', '#']
-['SNDRV_DM_FM_IOCTL_RESET', '_IO', '(', "'H'", ',', '0x21', ')', '#']
-['SNDRV_DM_FM_IOCTL_SET_CONNECTION', '_IOW', '(', "'H'", ',', '0x26', ',', 'int', ')', '/* SBI patch management */']
-['SNDRV_DM_FM_IOCTL_SET_MODE', '_IOW', '(', "'H'", ',', '0x25', ',', 'int', ')', '/* for OPL3 only */']
-['SNDRV_DM_FM_IOCTL_SET_PARAMS', '_IOW', '(', "'H'", ',', '0x24', ',', 'struct', 'snd_dm_fm_params', ')', '#']
-['SNDRV_DM_FM_IOCTL_SET_VOICE', '_IOW', '(', "'H'", ',', '0x23', ',', 'struct', 'snd_dm_fm_voice', ')', '#']
-['SNDRV_DM_FM_OSS_IOCTL_PLAY_NOTE', '0x21', '#']
-['SNDRV_DM_FM_OSS_IOCTL_RESET', '0x20', '#']
-['SNDRV_DM_FM_OSS_IOCTL_SET_MODE', '0x24', '#']
-['SNDRV_DM_FM_OSS_IOCTL_SET_OPL', '0x25', '/*\n * Patch Record - fixed size for write\n */']
-['SNDRV_DM_FM_OSS_IOCTL_SET_PARAMS', '0x23', '#']
-['SNDRV_DM_FM_OSS_IOCTL_SET_VOICE', '0x22', '#']
-['SNDRV_EMU10K1_IOCTL_CODE_PEEK', '_IOWR', '(', "'H'", ',', '0x12', ',', 'emu10k1_fx8010_code_t', ')', '#']
-['SNDRV_EMU10K1_IOCTL_CODE_POKE', '_IOW', '(', "'H'", ',', '0x11', ',', 'emu10k1_fx8010_code_t', ')', '#']
-['SNDRV_EMU10K1_IOCTL_CONTINUE', '_IO', '(', "'H'", ',', '0x81', ')', '#']
-['SNDRV_EMU10K1_IOCTL_DBG_READ', '_IOR', '(', "'H'", ',', '0x84', ',', 'int', ')', '#']
-['SNDRV_EMU10K1_IOCTL_INFO', '_IOR', '(', "'H'", ',', '0x10', ',', 'emu10k1_fx8010_info_t', ')', '#']
-['SNDRV_EMU10K1_IOCTL_PCM_PEEK', '_IOWR', '(', "'H'", ',', '0x31', ',', 'emu10k1_fx8010_pcm_t', ')', '#']
-['SNDRV_EMU10K1_IOCTL_PCM_POKE', '_IOW', '(', "'H'", ',', '0x30', ',', 'emu10k1_fx8010_pcm_t', ')', '#']
-['SNDRV_EMU10K1_IOCTL_PVERSION', '_IOR', '(', "'H'", ',', '0x40', ',', 'int', ')', '#']
-['SNDRV_EMU10K1_IOCTL_SINGLE_STEP', '_IOW', '(', "'H'", ',', '0x83', ',', 'int', ')', '#']
-['SNDRV_EMU10K1_IOCTL_STOP', '_IO', '(', "'H'", ',', '0x80', ')', '#']
-['SNDRV_EMU10K1_IOCTL_TRAM_PEEK', '_IOWR', '(', "'H'", ',', '0x22', ',', 'emu10k1_fx8010_tram_t', ')', '#']
-['SNDRV_EMU10K1_IOCTL_TRAM_POKE', '_IOW', '(', "'H'", ',', '0x21', ',', 'emu10k1_fx8010_tram_t', ')', '#']
-['SNDRV_EMU10K1_IOCTL_TRAM_SETUP', '_IOW', '(', "'H'", ',', '0x20', ',', 'int', ')', '#']
-['SNDRV_EMU10K1_IOCTL_ZERO_TRAM_COUNTER', '_IO', '(', "'H'", ',', '0x82', ')', '#']
-['SNDRV_FIREWIRE_IOCTL_GET_INFO', '_IOR', '(', "'H'", ',', '0xf8', ',', 'struct', 'snd_firewire_get_info', ')', '#']
-['SNDRV_FIREWIRE_IOCTL_LOCK', '_IO', '(', "'H'", ',', '0xf9', ')', '#']
-['SNDRV_FIREWIRE_IOCTL_UNLOCK', '_IO', '(', "'H'", ',', '0xfa', ')', '#']
-['SNDRV_HDSP_IOCTL_GET_9632_AEB', '_IOR', '(', "'H'", ',', '0x45', ',', 'hdsp_9632_aeb_t', ')', '#']
-['SNDRV_HDSP_IOCTL_GET_9632_AEB', '_IOR', '(', "'H'", ',', '0x45', ',', 'struct', 'hdsp_9632_aeb', ')', '/* typedefs for compatibility to user-space */']
-['SNDRV_HDSP_IOCTL_GET_CONFIG_INFO', '_IOR', '(', "'H'", ',', '0x41', ',', 'hdsp_config_info_t', ')', 'typedef']
-['SNDRV_HDSP_IOCTL_GET_CONFIG_INFO', '_IOR', '(', "'H'", ',', '0x41', ',', 'struct', 'hdsp_config_info', ')', 'struct']
-['SNDRV_HDSP_IOCTL_GET_MIXER', '_IOR', '(', "'H'", ',', '0x44', ',', 'hdsp_mixer_t', ')', 'typedef']
-['SNDRV_HDSP_IOCTL_GET_MIXER', '_IOR', '(', "'H'", ',', '0x44', ',', 'struct', 'hdsp_mixer', ')', 'struct']
-['SNDRV_HDSP_IOCTL_GET_PEAK_RMS', '_IOR', '(', "'H'", ',', '0x40', ',', 'hdsp_peak_rms_t', ')', 'typedef']
-['SNDRV_HDSP_IOCTL_GET_PEAK_RMS', '_IOR', '(', "'H'", ',', '0x40', ',', 'struct', 'hdsp_peak_rms', ')', 'struct']
-['SNDRV_HDSP_IOCTL_GET_VERSION', '_IOR', '(', "'H'", ',', '0x43', ',', 'hdsp_version_t', ')', 'typedef']
-['SNDRV_HDSP_IOCTL_GET_VERSION', '_IOR', '(', "'H'", ',', '0x43', ',', 'struct', 'hdsp_version', ')', 'struct']
-['SNDRV_HDSP_IOCTL_UPLOAD_FIRMWARE', '_IOW', '(', "'H'", ',', '0x42', ',', 'hdsp_firmware_t', ')', 'typedef']
-['SNDRV_HDSP_IOCTL_UPLOAD_FIRMWARE', '_IOW', '(', "'H'", ',', '0x42', ',', 'struct', 'hdsp_firmware', ')', 'struct']
-['SNDRV_SB_CSP_IOCTL_INFO', '_IOR', '(', "'H'", ',', '0x10', ',', 'snd_sb_csp_info_t', ')', '/* load microcode to CSP */']
-['SNDRV_SB_CSP_IOCTL_INFO', '_IOR', '(', "'H'", ',', '0x10', ',', 'struct', 'snd_sb_csp_info', ')', '/* load microcode to CSP */']
-['SNDRV_SB_CSP_IOCTL_LOAD_CODE', '_IOC', '(', '_IOC_WRITE', ',', "'H'", ',', '0x11', ',', 'sizeof', '(', 'struct', 'snd_sb_csp_microcode', ')', ')', '/* unload microcode from CSP */']
-['SNDRV_SB_CSP_IOCTL_LOAD_CODE', '_IOW', '(', "'H'", ',', '0x11', ',', 'snd_sb_csp_microcode_t', ')', '/* unload microcode from CSP */']
-['SNDRV_SB_CSP_IOCTL_PAUSE', '_IO', '(', "'H'", ',', '0x15', ')', '/* restart CSP and DMA transfer */']
-['SNDRV_SB_CSP_IOCTL_RESTART', '_IO', '(', "'H'", ',', '0x16', ')', '#']
-['SNDRV_SB_CSP_IOCTL_START', '_IOW', '(', "'H'", ',', '0x13', ',', 'snd_sb_csp_start_t', ')', '/* stop CSP */']
-['SNDRV_SB_CSP_IOCTL_START', '_IOW', '(', "'H'", ',', '0x13', ',', 'struct', 'snd_sb_csp_start', ')', '/* stop CSP */']
-['SNDRV_SB_CSP_IOCTL_STOP', '_IO', '(', "'H'", ',', '0x14', ')', '/* pause CSP and DMA transfer */']
-['SNDRV_SB_CSP_IOCTL_UNLOAD_CODE', '_IO', '(', "'H'", ',', '0x12', ')', '/* start CSP */']
-['SONYPI_IOCGBAT1CAP', '_IOR', '(', "'v'", ',', '2', ',', '__u16', ')', '#']
-['SONYPI_IOCGBAT1REM', '_IOR', '(', "'v'", ',', '3', ',', '__u16', ')', '#']
-['SONYPI_IOCGBAT2CAP', '_IOR', '(', "'v'", ',', '4', ',', '__u16', ')', '#']
-['SONYPI_IOCGBAT2REM', '_IOR', '(', "'v'", ',', '5', ',', '__u16', ')', '/* get battery flags: battery1/battery2/ac adapter present */']
-['SONYPI_IOCGBATFLAGS', '_IOR', '(', "'v'", ',', '7', ',', '__u8', ')', '/* get/set bluetooth subsystem state on/off */']
-['SONYPI_IOCGBLUE', '_IOR', '(', "'v'", ',', '8', ',', '__u8', ')', '#']
-['SONYPI_IOCGBRT', '_IOR', '(', "'v'", ',', '0', ',', '__u8', ')', '#']
-['SONYPI_IOCGFAN', '_IOR', '(', "'v'", ',', '10', ',', '__u8', ')', '#']
-['SONYPI_IOCGTEMP', '_IOR', '(', "'v'", ',', '12', ',', '__u8', ')', '#']
-['SONYPI_IOCSBLUE', '_IOW', '(', "'v'", ',', '9', ',', '__u8', ')', '/* get/set fan state on/off */']
-['SONYPI_IOCSBRT', '_IOW', '(', "'v'", ',', '0', ',', '__u8', ')', '/* get battery full capacity/remaining capacity */']
-['SONYPI_IOCSFAN', '_IOW', '(', "'v'", ',', '11', ',', '__u8', ')', '/* get temperature (C) */']
-['SPIOCSTYPE', '_IOW', '(', "'q'", ',', '0x01', ',', 'unsigned', 'long', ')', '/*\n * bit masks for use in "interrupt" flags (3rd argument)\n */']
-['SPI_IOC_MESSAGE', '(', 'N', ')', '_IOW', '(', 'SPI_IOC_MAGIC', ',', '0', ',', 'char', '[', 'SPI_MSGSIZE', '(', 'N', ')', ']', ')', '/* Read / Write of SPI mode (SPI_MODE_0..SPI_MODE_3) (limited to 8 bits) */']
-['SPI_IOC_RD_BITS_PER_WORD', '_IOR', '(', 'SPI_IOC_MAGIC', ',', '3', ',', '__u8', ')', '#']
-['SPI_IOC_RD_LSB_FIRST', '_IOR', '(', 'SPI_IOC_MAGIC', ',', '2', ',', '__u8', ')', '#']
-['SPI_IOC_RD_MAX_SPEED_HZ', '_IOR', '(', 'SPI_IOC_MAGIC', ',', '4', ',', '__u32', ')', '#']
-['SPI_IOC_RD_MODE', '_IOR', '(', 'SPI_IOC_MAGIC', ',', '1', ',', '__u8', ')', '#']
-['SPI_IOC_RD_MODE32', '_IOR', '(', 'SPI_IOC_MAGIC', ',', '5', ',', '__u32', ')', '#']
-['SPI_IOC_WR_BITS_PER_WORD', '_IOW', '(', 'SPI_IOC_MAGIC', ',', '3', ',', '__u8', ')', '/* Read / Write SPI device default max speed hz */']
-['SPI_IOC_WR_LSB_FIRST', '_IOW', '(', 'SPI_IOC_MAGIC', ',', '2', ',', '__u8', ')', '/* Read / Write SPI device word length (1..N) */']
-['SPI_IOC_WR_MAX_SPEED_HZ', '_IOW', '(', 'SPI_IOC_MAGIC', ',', '4', ',', '__u32', ')', '/* Read / Write of the SPI mode field */']
-['SPI_IOC_WR_MODE', '_IOW', '(', 'SPI_IOC_MAGIC', ',', '1', ',', '__u8', ')', '/* Read / Write SPI bit justification */']
-['SPI_IOC_WR_MODE32', '_IOW', '(', 'SPI_IOC_MAGIC', ',', '5', ',', '__u32', ')', '#']
-['SYS_F_IOCTLSOCKET', '5', '#']
-['TIOCCBRK', '0x5428', '/* BSD compatibility */']
-['TIOCCONS', '0x541D', '#']
-['TIOCEXCL', '0x540C', '#']
-['TIOCGDEV', '_IOR', '(', "'T'", ',', '0x32', ',', 'unsigned', 'int', ')', '/* Get primary device node of /dev/console */']
-['TIOCGETD', '0x5424', '#']
-['TIOCGEXCL', '_IOR', '(', "'T'", ',', '0x40', ',', 'int', ')', '/* Get exclusive mode state */']
-['TIOCGICOUNT', '0x545D', '/* read serial port __inline__ interrupt counts */']
-['TIOCGLCKTRMIOS', '0x5456', '#']
-['TIOCGPGRP', '0x540F', '#']
-['TIOCGPKT', '_IOR', '(', "'T'", ',', '0x38', ',', 'int', ')', '/* Get packet mode state */']
-['TIOCGPTLCK', '_IOR', '(', "'T'", ',', '0x39', ',', 'int', ')', '/* Get Pty lock state */']
-['TIOCGPTN', '_IOR', '(', "'T'", ',', '0x30', ',', 'unsigned', 'int', ')', '/* Get Pty Number (of pty-mux device) */']
-['TIOCGRS485', '0x542E', '#']
-['TIOCGSERIAL', '0x541E', '#']
-['TIOCGSID', '0x5429', '/* Return the session ID of FD */']
-['TIOCGSOFTCAR', '0x5419', '#']
-['TIOCGWINSZ', '0x5413', '#']
-['TIOCINQ', 'FIONREAD', '#']
-['TIOCLINUX', '0x541C', '#']
-['TIOCL_BLANKEDSCREEN', '15', '/* return which vt was blanked */']
-['TIOCL_BLANKSCREEN', '14', '/* keep screen blank even if a key is pressed */']
-['TIOCL_GETFGCONSOLE', '12', '/* get foreground vt */']
-['TIOCL_GETKMSGREDIRECT', '17', '/* get the vt the kernel messages are restricted to */']
-['TIOCL_GETMOUSEREPORTING', '7', '/* write whether mouse event are reported */']
-['TIOCL_GETSHIFTSTATE', '6', '/* write shift state */']
-['TIOCL_PASTESEL', '3', '/* paste previous selection */']
-['TIOCL_SCROLLCONSOLE', '13', '/* scroll console */']
-['TIOCL_SELBUTTONMASK', '15', '/* button mask for report */']
-['TIOCL_SELCHAR', '0', '/* select characters */']
-['TIOCL_SELCLEAR', '4', '/* clear visibility of selection */']
-['TIOCL_SELLINE', '2', '/* select whole lines */']
-['TIOCL_SELLOADLUT', '5', '/* set characters to be considered alphabetic when selecting */']
-['TIOCL_SELMOUSEREPORT', '16', '/* report beginning of selection */']
-['TIOCL_SELPOINTER', '3', '/* show the pointer */']
-['TIOCL_SELWORD', '1', '/* select whole words */']
-['TIOCL_SETKMSGREDIRECT', '11', '/* restrict kernel messages to a vt */']
-['TIOCL_SETSEL', '2', '/* set a selection */']
-['TIOCL_SETVESABLANK', '10', '/* set vesa blanking mode */']
-['TIOCL_UNBLANKSCREEN', '4', '/* unblank screen */']
-['TIOCMBIC', '0x5417', '#']
-['TIOCMBIS', '0x5416', '#']
-['TIOCMGET', '0x5415', '#']
-['TIOCMIWAIT', '0x545C', '/* wait for a change on serial input line(s) */']
-['TIOCMSET', '0x5418', '#']
-['TIOCM_CAR', '0x040', '#']
-['TIOCM_CD', 'TIOCM_CAR', '#']
-['TIOCM_CTS', '0x020', '#']
-['TIOCM_DSR', '0x100', '#']
-['TIOCM_DTR', '0x002', '#']
-['TIOCM_LE', '0x001', '#']
-['TIOCM_LOOP', '0x8000', '/* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */']
-['TIOCM_OUT1', '0x2000', '#']
-['TIOCM_OUT2', '0x4000', '#']
-['TIOCM_RI', 'TIOCM_RNG', '/* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */']
-['TIOCM_RNG', '0x080', '#']
-['TIOCM_RTS', '0x004', '#']
-['TIOCM_SR', '0x010', '#']
-['TIOCM_ST', '0x008', '#']
-['TIOCNOTTY', '0x5422', '#']
-['TIOCNXCL', '0x540D', '#']
-['TIOCOUTQ', '0x5411', '#']
-['TIOCPKT', '0x5420', '#']
-['TIOCPKT_DATA', '0', '#']
-['TIOCPKT_DOSTOP', '32', '#']
-['TIOCPKT_FLUSHREAD', '1', '#']
-['TIOCPKT_FLUSHWRITE', '2', '#']
-['TIOCPKT_IOCTL', '64', '#']
-['TIOCPKT_NOSTOP', '16', '#']
-['TIOCPKT_START', '8', '#']
-['TIOCPKT_STOP', '4', '#']
-['TIOCSBRK', '0x5427', '/* BSD compatibility */']
-['TIOCSCTTY', '0x540E', '#']
-['TIOCSERCONFIG', '0x5453', '#']
-['TIOCSERGETLSR', '0x5459', '/* Get line status register */']
-['TIOCSERGETMULTI', '0x545A', '/* Get multiport config */']
-['TIOCSERGSTRUCT', '0x5458', '/* For debugging only */']
-['TIOCSERGWILD', '0x5454', '#']
-['TIOCSERSETMULTI', '0x545B', '/* Set multiport config */']
-['TIOCSERSWILD', '0x5455', '#']
-['TIOCSER_TEMT', '0x01', '/* Transmitter physically empty */']
-['TIOCSETD', '0x5423', '#']
-['TIOCSIG', '_IOW', '(', "'T'", ',', '0x36', ',', 'int', ')', '/* pty: generate signal */']
-['TIOCSLCKTRMIOS', '0x5457', '#']
-['TIOCSPGRP', '0x5410', '#']
-['TIOCSPTLCK', '_IOW', '(', "'T'", ',', '0x31', ',', 'int', ')', '/* Lock/unlock Pty */']
-['TIOCSRS485', '0x542F', '#']
-['TIOCSSERIAL', '0x541F', '#']
-['TIOCSSOFTCAR', '0x541A', '#']
-['TIOCSTI', '0x5412', '#']
-['TIOCSWINSZ', '0x5414', '#']
-['TIOCVHANGUP', '0x5437', '#']
-['UBI_IOCATT', '_IOW', '(', 'UBI_CTRL_IOC_MAGIC', ',', '64', ',', 'struct', 'ubi_attach_req', ')', '/* Detach an MTD device */']
-['UBI_IOCDET', '_IOW', '(', 'UBI_CTRL_IOC_MAGIC', ',', '65', ',', '__s32', ')', '/* ioctl commands of UBI volume character devices */']
-['UBI_IOCEBCH', '_IOW', '(', 'UBI_VOL_IOC_MAGIC', ',', '2', ',', '__s32', ')', '/* Map LEB command */']
-['UBI_IOCEBER', '_IOW', '(', 'UBI_VOL_IOC_MAGIC', ',', '1', ',', '__s32', ')', '/* Atomic LEB change command */']
-['UBI_IOCEBISMAP', '_IOR', '(', 'UBI_VOL_IOC_MAGIC', ',', '5', ',', '__s32', ')', '/* Set an UBI volume property */']
-['UBI_IOCEBMAP', '_IOW', '(', 'UBI_VOL_IOC_MAGIC', ',', '3', ',', 'struct', 'ubi_map_req', ')', '/* Unmap LEB command */']
-['UBI_IOCEBUNMAP', '_IOW', '(', 'UBI_VOL_IOC_MAGIC', ',', '4', ',', '__s32', ')', '/* Check if LEB is mapped command */']
-['UBI_IOCMKVOL', '_IOW', '(', 'UBI_IOC_MAGIC', ',', '0', ',', 'struct', 'ubi_mkvol_req', ')', '/* Remove an UBI volume */']
-['UBI_IOCRMVOL', '_IOW', '(', 'UBI_IOC_MAGIC', ',', '1', ',', '__s32', ')', '/* Re-size an UBI volume */']
-['UBI_IOCRNVOL', '_IOW', '(', 'UBI_IOC_MAGIC', ',', '3', ',', 'struct', 'ubi_rnvol_req', ')', '/* ioctl commands of the UBI control character device */']
-['UBI_IOCRSVOL', '_IOW', '(', 'UBI_IOC_MAGIC', ',', '2', ',', 'struct', 'ubi_rsvol_req', ')', '/* Re-name volumes */']
-['UBI_IOCSETVOLPROP', '_IOW', '(', 'UBI_VOL_IOC_MAGIC', ',', '6', ',', 'struct', 'ubi_set_vol_prop_req', ')', '/* Create a R/O block device on top of an UBI volume */']
-['UBI_IOCVOLCRBLK', '_IOW', '(', 'UBI_VOL_IOC_MAGIC', ',', '7', ',', 'struct', 'ubi_blkcreate_req', ')', '/* Remove the R/O block device */']
-['UBI_IOCVOLRMBLK', '_IO', '(', 'UBI_VOL_IOC_MAGIC', ',', '8', ')', '/* Maximum MTD device name length supported by UBI */']
-['UBI_IOCVOLUP', '_IOW', '(', 'UBI_VOL_IOC_MAGIC', ',', '0', ',', '__s64', ')', '/* LEB erasure command, used for debugging, disabled by default */']
-['USBDEVFS_IOCTL', '_IOWR', '(', "'U'", ',', '18', ',', 'struct', 'usbdevfs_ioctl', ')', '#']
-['USBDEVFS_IOCTL32', '_IOWR', '(', "'U'", ',', '18', ',', 'struct', 'usbdevfs_ioctl32', ')', '#']
-['USBTMC_IOCTL_ABORT_BULK_IN', '_IO', '(', 'USBTMC_IOC_NR', ',', '4', ')', '#']
-['USBTMC_IOCTL_ABORT_BULK_OUT', '_IO', '(', 'USBTMC_IOC_NR', ',', '3', ')', '#']
-['USBTMC_IOCTL_CLEAR', '_IO', '(', 'USBTMC_IOC_NR', ',', '2', ')', '#']
-['USBTMC_IOCTL_CLEAR_IN_HALT', '_IO', '(', 'USBTMC_IOC_NR', ',', '7', ')', '#']
-['USBTMC_IOCTL_CLEAR_OUT_HALT', '_IO', '(', 'USBTMC_IOC_NR', ',', '6', ')', '#']
-['USBTMC_IOCTL_INDICATOR_PULSE', '_IO', '(', 'USBTMC_IOC_NR', ',', '1', ')', '#']
-['UVCIOC_CTRL_MAP', '_IOWR', '(', "'u'", ',', '0x20', ',', 'struct', 'uvc_xu_control_mapping', ')', '#']
-['UVCIOC_CTRL_QUERY', '_IOWR', '(', "'u'", ',', '0x21', ',', 'struct', 'uvc_xu_control_query', ')', '#']
-['VFAT_IOCTL_READDIR_BOTH', '_IOR', '(', "'r'", ',', '1', ',', 'struct', '__fat_dirent', '[', '2', ']', ')', '#']
-['VFAT_IOCTL_READDIR_SHORT', '_IOR', '(', "'r'", ',', '2', ',', 'struct', '__fat_dirent', '[', '2', ']', ')', "/* <linux/videotext.h> has used 0x72 ('r') in collision, so skip a few */"]
-['VIDIOC_CREATE_BUFS', '_IOWR', '(', "'V'", ',', '92', ',', 'struct', 'v4l2_create_buffers', ')', '#']
-['VIDIOC_CROPCAP', '_IOWR', '(', "'V'", ',', '58', ',', 'struct', 'v4l2_cropcap', ')', '#']
-['VIDIOC_DBG_G_CHIP_INFO', '_IOWR', '(', "'V'", ',', '102', ',', 'struct', 'v4l2_dbg_chip_info', ')', '#']
-['VIDIOC_DBG_G_REGISTER', '_IOWR', '(', "'V'", ',', '80', ',', 'struct', 'v4l2_dbg_register', ')', '#']
-['VIDIOC_DBG_S_REGISTER', '_IOW', '(', "'V'", ',', '79', ',', 'struct', 'v4l2_dbg_register', ')', '#']
-['VIDIOC_DECODER_CMD', '_IOWR', '(', "'V'", ',', '96', ',', 'struct', 'v4l2_decoder_cmd', ')', '#']
-['VIDIOC_DQBUF', '_IOWR', '(', "'V'", ',', '17', ',', 'struct', 'v4l2_buffer', ')', '#']
-['VIDIOC_DQEVENT', '_IOR', '(', "'V'", ',', '89', ',', 'struct', 'v4l2_event', ')', '#']
-['VIDIOC_DV_TIMINGS_CAP', '_IOWR', '(', "'V'", ',', '100', ',', 'struct', 'v4l2_dv_timings_cap', ')', '/* Experimental, this ioctl may change over the next couple of kernel\n versions. */']
-['VIDIOC_ENCODER_CMD', '_IOWR', '(', "'V'", ',', '77', ',', 'struct', 'v4l2_encoder_cmd', ')', '#']
-['VIDIOC_ENUMAUDIO', '_IOWR', '(', "'V'", ',', '65', ',', 'struct', 'v4l2_audio', ')', '#']
-['VIDIOC_ENUMAUDOUT', '_IOWR', '(', "'V'", ',', '66', ',', 'struct', 'v4l2_audioout', ')', '#']
-['VIDIOC_ENUMINPUT', '_IOWR', '(', "'V'", ',', '26', ',', 'struct', 'v4l2_input', ')', '#']
-['VIDIOC_ENUMOUTPUT', '_IOWR', '(', "'V'", ',', '48', ',', 'struct', 'v4l2_output', ')', '#']
-['VIDIOC_ENUMSTD', '_IOWR', '(', "'V'", ',', '25', ',', 'struct', 'v4l2_standard', ')', '#']
-['VIDIOC_ENUM_DV_TIMINGS', '_IOWR', '(', "'V'", ',', '98', ',', 'struct', 'v4l2_enum_dv_timings', ')', '#']
-['VIDIOC_ENUM_FMT', '_IOWR', '(', "'V'", ',', '2', ',', 'struct', 'v4l2_fmtdesc', ')', '#']
-['VIDIOC_ENUM_FRAMEINTERVALS', '_IOWR', '(', "'V'", ',', '75', ',', 'struct', 'v4l2_frmivalenum', ')', '#']
-['VIDIOC_ENUM_FRAMESIZES', '_IOWR', '(', "'V'", ',', '74', ',', 'struct', 'v4l2_frmsizeenum', ')', '#']
-['VIDIOC_ENUM_FREQ_BANDS', '_IOWR', '(', "'V'", ',', '101', ',', 'struct', 'v4l2_frequency_band', ')', '/* Experimental, meant for debugging, testing and internal use.\n Never use these in applications! */']
-['VIDIOC_EXPBUF', '_IOWR', '(', "'V'", ',', '16', ',', 'struct', 'v4l2_exportbuffer', ')', '#']
-['VIDIOC_G_AUDIO', '_IOR', '(', "'V'", ',', '33', ',', 'struct', 'v4l2_audio', ')', '#']
-['VIDIOC_G_AUDOUT', '_IOR', '(', "'V'", ',', '49', ',', 'struct', 'v4l2_audioout', ')', '#']
-['VIDIOC_G_CROP', '_IOWR', '(', "'V'", ',', '59', ',', 'struct', 'v4l2_crop', ')', '#']
-['VIDIOC_G_CTRL', '_IOWR', '(', "'V'", ',', '27', ',', 'struct', 'v4l2_control', ')', '#']
-['VIDIOC_G_DV_TIMINGS', '_IOWR', '(', "'V'", ',', '88', ',', 'struct', 'v4l2_dv_timings', ')', '#']
-['VIDIOC_G_EDID', '_IOWR', '(', "'V'", ',', '40', ',', 'struct', 'v4l2_edid', ')', '#']
-['VIDIOC_G_ENC_INDEX', '_IOR', '(', "'V'", ',', '76', ',', 'struct', 'v4l2_enc_idx', ')', '#']
-['VIDIOC_G_EXT_CTRLS', '_IOWR', '(', "'V'", ',', '71', ',', 'struct', 'v4l2_ext_controls', ')', '#']
-['VIDIOC_G_FBUF', '_IOR', '(', "'V'", ',', '10', ',', 'struct', 'v4l2_framebuffer', ')', '#']
-['VIDIOC_G_FMT', '_IOWR', '(', "'V'", ',', '4', ',', 'struct', 'v4l2_format', ')', '#']
-['VIDIOC_G_FREQUENCY', '_IOWR', '(', "'V'", ',', '56', ',', 'struct', 'v4l2_frequency', ')', '#']
-['VIDIOC_G_INPUT', '_IOR', '(', "'V'", ',', '38', ',', 'int', ')', '#']
-['VIDIOC_G_JPEGCOMP', '_IOR', '(', "'V'", ',', '61', ',', 'struct', 'v4l2_jpegcompression', ')', '#']
-['VIDIOC_G_MODULATOR', '_IOWR', '(', "'V'", ',', '54', ',', 'struct', 'v4l2_modulator', ')', '#']
-['VIDIOC_G_OUTPUT', '_IOR', '(', "'V'", ',', '46', ',', 'int', ')', '#']
-['VIDIOC_G_PARM', '_IOWR', '(', "'V'", ',', '21', ',', 'struct', 'v4l2_streamparm', ')', '#']
-['VIDIOC_G_PRIORITY', '_IOR', '(', "'V'", ',', '67', ',', '__u32', ')', '/* enum v4l2_priority */']
-['VIDIOC_G_SELECTION', '_IOWR', '(', "'V'", ',', '94', ',', 'struct', 'v4l2_selection', ')', '#']
-['VIDIOC_G_SLICED_VBI_CAP', '_IOWR', '(', "'V'", ',', '69', ',', 'struct', 'v4l2_sliced_vbi_cap', ')', '#']
-['VIDIOC_G_STD', '_IOR', '(', "'V'", ',', '23', ',', 'v4l2_std_id', ')', '#']
-['VIDIOC_G_TUNER', '_IOWR', '(', "'V'", ',', '29', ',', 'struct', 'v4l2_tuner', ')', '#']
-['VIDIOC_LOG_STATUS', '_IO', '(', "'V'", ',', '70', ')', '#']
-['VIDIOC_OMAP3ISP_AEWB_CFG', '_IOWR', '(', "'V'", ',', 'BASE_VIDIOC_PRIVATE', '+', '3', ',', 'struct', 'omap3isp_h3a_aewb_config', ')', '#']
-['VIDIOC_OMAP3ISP_AF_CFG', '_IOWR', '(', "'V'", ',', 'BASE_VIDIOC_PRIVATE', '+', '5', ',', 'struct', 'omap3isp_h3a_af_config', ')', '#']
-['VIDIOC_OMAP3ISP_CCDC_CFG', '_IOWR', '(', "'V'", ',', 'BASE_VIDIOC_PRIVATE', '+', '1', ',', 'struct', 'omap3isp_ccdc_update_config', ')', '#']
-['VIDIOC_OMAP3ISP_HIST_CFG', '_IOWR', '(', "'V'", ',', 'BASE_VIDIOC_PRIVATE', '+', '4', ',', 'struct', 'omap3isp_hist_config', ')', '#']
-['VIDIOC_OMAP3ISP_PRV_CFG', '_IOWR', '(', "'V'", ',', 'BASE_VIDIOC_PRIVATE', '+', '2', ',', 'struct', 'omap3isp_prev_update_config', ')', '#']
-['VIDIOC_OMAP3ISP_STAT_EN', '_IOWR', '(', "'V'", ',', 'BASE_VIDIOC_PRIVATE', '+', '7', ',', 'unsigned', 'long', ')', '/*\n * Events\n *\n * V4L2_EVENT_OMAP3ISP_AEWB: AEWB statistics data ready\n * V4L2_EVENT_OMAP3ISP_AF: AF statistics data ready\n * V4L2_EVENT_OMAP3ISP_HIST: Histogram statistics data ready\n */']
-['VIDIOC_OMAP3ISP_STAT_REQ', '_IOWR', '(', "'V'", ',', 'BASE_VIDIOC_PRIVATE', '+', '6', ',', 'struct', 'omap3isp_stat_data', ')', '#']
-['VIDIOC_OVERLAY', '_IOW', '(', "'V'", ',', '14', ',', 'int', ')', '#']
-['VIDIOC_PREPARE_BUF', '_IOWR', '(', "'V'", ',', '93', ',', 'struct', 'v4l2_buffer', ')', '/* Experimental selection API */']
-['VIDIOC_QBUF', '_IOWR', '(', "'V'", ',', '15', ',', 'struct', 'v4l2_buffer', ')', '#']
-['VIDIOC_QUERYBUF', '_IOWR', '(', "'V'", ',', '9', ',', 'struct', 'v4l2_buffer', ')', '#']
-['VIDIOC_QUERYCAP', '_IOR', '(', "'V'", ',', '0', ',', 'struct', 'v4l2_capability', ')', '#']
-['VIDIOC_QUERYCTRL', '_IOWR', '(', "'V'", ',', '36', ',', 'struct', 'v4l2_queryctrl', ')', '#']
-['VIDIOC_QUERYMENU', '_IOWR', '(', "'V'", ',', '37', ',', 'struct', 'v4l2_querymenu', ')', '#']
-['VIDIOC_QUERYSTD', '_IOR', '(', "'V'", ',', '63', ',', 'v4l2_std_id', ')', '#']
-['VIDIOC_QUERY_DV_TIMINGS', '_IOR', '(', "'V'", ',', '99', ',', 'struct', 'v4l2_dv_timings', ')', '#']
-['VIDIOC_QUERY_EXT_CTRL', '_IOWR', '(', "'V'", ',', '103', ',', 'struct', 'v4l2_query_ext_ctrl', ')', '/* Reminder: when adding new ioctls please add support for them to\n drivers/media/video/v4l2-compat-ioctl32.c as well! */']
-['VIDIOC_REQBUFS', '_IOWR', '(', "'V'", ',', '8', ',', 'struct', 'v4l2_requestbuffers', ')', '#']
-['VIDIOC_RESERVED', '_IO', '(', "'V'", ',', '1', ')', '#']
-['VIDIOC_STREAMOFF', '_IOW', '(', "'V'", ',', '19', ',', 'int', ')', '#']
-['VIDIOC_STREAMON', '_IOW', '(', "'V'", ',', '18', ',', 'int', ')', '#']
-['VIDIOC_SUBDEV_DV_TIMINGS_CAP', '_IOWR', '(', "'V'", ',', '100', ',', 'struct', 'v4l2_dv_timings_cap', ')', '#']
-['VIDIOC_SUBDEV_ENUM_DV_TIMINGS', '_IOWR', '(', "'V'", ',', '98', ',', 'struct', 'v4l2_enum_dv_timings', ')', '#']
-['VIDIOC_SUBDEV_ENUM_FRAME_INTERVAL', '_IOWR', '(', "'V'", ',', '75', ',', 'struct', 'v4l2_subdev_frame_interval_enum', ')', '#']
-['VIDIOC_SUBDEV_ENUM_FRAME_SIZE', '_IOWR', '(', "'V'", ',', '74', ',', 'struct', 'v4l2_subdev_frame_size_enum', ')', '#']
-['VIDIOC_SUBDEV_ENUM_MBUS_CODE', '_IOWR', '(', "'V'", ',', '2', ',', 'struct', 'v4l2_subdev_mbus_code_enum', ')', '#']
-['VIDIOC_SUBDEV_G_CROP', '_IOWR', '(', "'V'", ',', '59', ',', 'struct', 'v4l2_subdev_crop', ')', '#']
-['VIDIOC_SUBDEV_G_DV_TIMINGS', '_IOWR', '(', "'V'", ',', '88', ',', 'struct', 'v4l2_dv_timings', ')', '#']
-['VIDIOC_SUBDEV_G_EDID', '_IOWR', '(', "'V'", ',', '40', ',', 'struct', 'v4l2_edid', ')', '#']
-['VIDIOC_SUBDEV_G_FMT', '_IOWR', '(', "'V'", ',', '4', ',', 'struct', 'v4l2_subdev_format', ')', '#']
-['VIDIOC_SUBDEV_G_FRAME_INTERVAL', '_IOWR', '(', "'V'", ',', '21', ',', 'struct', 'v4l2_subdev_frame_interval', ')', '#']
-['VIDIOC_SUBDEV_G_SELECTION', '_IOWR', '(', "'V'", ',', '61', ',', 'struct', 'v4l2_subdev_selection', ')', '#']
-['VIDIOC_SUBDEV_QUERY_DV_TIMINGS', '_IOR', '(', "'V'", ',', '99', ',', 'struct', 'v4l2_dv_timings', ')', '#']
-['VIDIOC_SUBDEV_S_CROP', '_IOWR', '(', "'V'", ',', '60', ',', 'struct', 'v4l2_subdev_crop', ')', '#']
-['VIDIOC_SUBDEV_S_DV_TIMINGS', '_IOWR', '(', "'V'", ',', '87', ',', 'struct', 'v4l2_dv_timings', ')', '#']
-['VIDIOC_SUBDEV_S_EDID', '_IOWR', '(', "'V'", ',', '41', ',', 'struct', 'v4l2_edid', ')', '#']
-['VIDIOC_SUBDEV_S_FMT', '_IOWR', '(', "'V'", ',', '5', ',', 'struct', 'v4l2_subdev_format', ')', '#']
-['VIDIOC_SUBDEV_S_FRAME_INTERVAL', '_IOWR', '(', "'V'", ',', '22', ',', 'struct', 'v4l2_subdev_frame_interval', ')', '#']
-['VIDIOC_SUBDEV_S_SELECTION', '_IOWR', '(', "'V'", ',', '62', ',', 'struct', 'v4l2_subdev_selection', ')', '/* The following ioctls are identical to the ioctls in videodev2.h */']
-['VIDIOC_SUBSCRIBE_EVENT', '_IOW', '(', "'V'", ',', '90', ',', 'struct', 'v4l2_event_subscription', ')', '#']
-['VIDIOC_S_AUDIO', '_IOW', '(', "'V'", ',', '34', ',', 'struct', 'v4l2_audio', ')', '#']
-['VIDIOC_S_AUDOUT', '_IOW', '(', "'V'", ',', '50', ',', 'struct', 'v4l2_audioout', ')', '#']
-['VIDIOC_S_CROP', '_IOW', '(', "'V'", ',', '60', ',', 'struct', 'v4l2_crop', ')', '#']
-['VIDIOC_S_CTRL', '_IOWR', '(', "'V'", ',', '28', ',', 'struct', 'v4l2_control', ')', '#']
-['VIDIOC_S_DV_TIMINGS', '_IOWR', '(', "'V'", ',', '87', ',', 'struct', 'v4l2_dv_timings', ')', '#']
-['VIDIOC_S_EDID', '_IOWR', '(', "'V'", ',', '41', ',', 'struct', 'v4l2_edid', ')', '#']
-['VIDIOC_S_EXT_CTRLS', '_IOWR', '(', "'V'", ',', '72', ',', 'struct', 'v4l2_ext_controls', ')', '#']
-['VIDIOC_S_FBUF', '_IOW', '(', "'V'", ',', '11', ',', 'struct', 'v4l2_framebuffer', ')', '#']
-['VIDIOC_S_FMT', '_IOWR', '(', "'V'", ',', '5', ',', 'struct', 'v4l2_format', ')', '#']
-['VIDIOC_S_FREQUENCY', '_IOW', '(', "'V'", ',', '57', ',', 'struct', 'v4l2_frequency', ')', '#']
-['VIDIOC_S_HW_FREQ_SEEK', '_IOW', '(', "'V'", ',', '82', ',', 'struct', 'v4l2_hw_freq_seek', ')', '#']
-['VIDIOC_S_INPUT', '_IOWR', '(', "'V'", ',', '39', ',', 'int', ')', '#']
-['VIDIOC_S_JPEGCOMP', '_IOW', '(', "'V'", ',', '62', ',', 'struct', 'v4l2_jpegcompression', ')', '#']
-['VIDIOC_S_MODULATOR', '_IOW', '(', "'V'", ',', '55', ',', 'struct', 'v4l2_modulator', ')', '#']
-['VIDIOC_S_OUTPUT', '_IOWR', '(', "'V'", ',', '47', ',', 'int', ')', '#']
-['VIDIOC_S_PARM', '_IOWR', '(', "'V'", ',', '22', ',', 'struct', 'v4l2_streamparm', ')', '#']
-['VIDIOC_S_PRIORITY', '_IOW', '(', "'V'", ',', '68', ',', '__u32', ')', '/* enum v4l2_priority */']
-['VIDIOC_S_SELECTION', '_IOWR', '(', "'V'", ',', '95', ',', 'struct', 'v4l2_selection', ')', '/* Experimental, these two ioctls may change over the next couple of kernel\n versions. */']
-['VIDIOC_S_STD', '_IOW', '(', "'V'", ',', '24', ',', 'v4l2_std_id', ')', '#']
-['VIDIOC_S_TUNER', '_IOW', '(', "'V'", ',', '30', ',', 'struct', 'v4l2_tuner', ')', '#']
-['VIDIOC_TRY_DECODER_CMD', '_IOWR', '(', "'V'", ',', '97', ',', 'struct', 'v4l2_decoder_cmd', ')', '/* Experimental, these three ioctls may change over the next couple of kernel\n versions. */']
-['VIDIOC_TRY_ENCODER_CMD', '_IOWR', '(', "'V'", ',', '78', ',', 'struct', 'v4l2_encoder_cmd', ')', '/* Experimental, meant for debugging, testing and internal use.\n Only implemented if CONFIG_VIDEO_ADV_DEBUG is defined.\n You must be root to use these ioctls. Never use these in applications! */']
-['VIDIOC_TRY_EXT_CTRLS', '_IOWR', '(', "'V'", ',', '73', ',', 'struct', 'v4l2_ext_controls', ')', '#']
-['VIDIOC_TRY_FMT', '_IOWR', '(', "'V'", ',', '64', ',', 'struct', 'v4l2_format', ')', '#']
-['VIDIOC_UNSUBSCRIBE_EVENT', '_IOW', '(', "'V'", ',', '91', ',', 'struct', 'v4l2_event_subscription', ')', '/* Experimental, the below two ioctls may change over the next couple of kernel\n versions */']
-['WDIOC_GETBOOTSTATUS', '_IOR', '(', 'WATCHDOG_IOCTL_BASE', ',', '2', ',', 'int', ')', '#']
-['WDIOC_GETPRETIMEOUT', '_IOR', '(', 'WATCHDOG_IOCTL_BASE', ',', '9', ',', 'int', ')', '#']
-['WDIOC_GETSTATUS', '_IOR', '(', 'WATCHDOG_IOCTL_BASE', ',', '1', ',', 'int', ')', '#']
-['WDIOC_GETSUPPORT', '_IOR', '(', 'WATCHDOG_IOCTL_BASE', ',', '0', ',', 'struct', 'watchdog_info', ')', '#']
-['WDIOC_GETTEMP', '_IOR', '(', 'WATCHDOG_IOCTL_BASE', ',', '3', ',', 'int', ')', '#']
-['WDIOC_GETTIMELEFT', '_IOR', '(', 'WATCHDOG_IOCTL_BASE', ',', '10', ',', 'int', ')', '#']
-['WDIOC_GETTIMEOUT', '_IOR', '(', 'WATCHDOG_IOCTL_BASE', ',', '7', ',', 'int', ')', '#']
-['WDIOC_KEEPALIVE', '_IOR', '(', 'WATCHDOG_IOCTL_BASE', ',', '5', ',', 'int', ')', '#']
-['WDIOC_SETOPTIONS', '_IOR', '(', 'WATCHDOG_IOCTL_BASE', ',', '4', ',', 'int', ')', '#']
-['WDIOC_SETPRETIMEOUT', '_IOWR', '(', 'WATCHDOG_IOCTL_BASE', ',', '8', ',', 'int', ')', '#']
-['WDIOC_SETTIMEOUT', '_IOWR', '(', 'WATCHDOG_IOCTL_BASE', ',', '6', ',', 'int', ')', '#']
-['X86_IOC_RDMSR_REGS', '_IOWR', '(', "'c'", ',', '0xA0', ',', '__u32', '[', '8', ']', ')', '#']
-['X86_IOC_WRMSR_REGS', '_IOWR', '(', "'c'", ',', '0xA1', ',', '__u32', '[', '8', ']', ')', '#']
-['XFS_IOC_ALLOCSP', '_IOW', '(', "'X'", ',', '10', ',', 'struct', 'xfs_flock64', ')', '#']
-['XFS_IOC_ALLOCSP64', '_IOW', '(', "'X'", ',', '36', ',', 'struct', 'xfs_flock64', ')', '#']
-['XFS_IOC_ATTRLIST_BY_HANDLE', '_IOW', '(', "'X'", ',', '122', ',', 'struct', 'xfs_fsop_attrlist_handlereq', ')', '#']
-['XFS_IOC_ATTRMULTI_BY_HANDLE', '_IOW', '(', "'X'", ',', '123', ',', 'struct', 'xfs_fsop_attrmulti_handlereq', ')', '#']
-['XFS_IOC_DIOINFO', '_IOR', '(', "'X'", ',', '30', ',', 'struct', 'dioattr', ')', '#']
-['XFS_IOC_ERROR_CLEARALL', '_IOW', '(', "'X'", ',', '117', ',', 'struct', 'xfs_error_injection', ')', '/*\tXFS_IOC_ATTRCTL_BY_HANDLE -- deprecated 118\t */']
-['XFS_IOC_ERROR_INJECTION', '_IOW', '(', "'X'", ',', '116', ',', 'struct', 'xfs_error_injection', ')', '#']
-['XFS_IOC_FD_TO_HANDLE', '_IOWR', '(', "'X'", ',', '106', ',', 'struct', 'xfs_fsop_handlereq', ')', '#']
-['XFS_IOC_FREESP', '_IOW', '(', "'X'", ',', '11', ',', 'struct', 'xfs_flock64', ')', '#']
-['XFS_IOC_FREESP64', '_IOW', '(', "'X'", ',', '37', ',', 'struct', 'xfs_flock64', ')', '#']
-['XFS_IOC_FREEZE', '_IOWR', '(', "'X'", ',', '119', ',', 'int', ')', '#']
-['XFS_IOC_FREE_EOFBLOCKS', '_IOR', '(', "'X'", ',', '58', ',', 'struct', 'xfs_fs_eofblocks', ')', "/*\n * ioctl commands that replace IRIX syssgi()'s\n */"]
-['XFS_IOC_FSBULKSTAT', '_IOWR', '(', "'X'", ',', '101', ',', 'struct', 'xfs_fsop_bulkreq', ')', '#']
-['XFS_IOC_FSBULKSTAT_SINGLE', '_IOWR', '(', "'X'", ',', '102', ',', 'struct', 'xfs_fsop_bulkreq', ')', '#']
-['XFS_IOC_FSCOUNTS', '_IOR', '(', "'X'", ',', '113', ',', 'struct', 'xfs_fsop_counts', ')', '#']
-['XFS_IOC_FSGEOMETRY', '_IOR', '(', "'X'", ',', '124', ',', 'struct', 'xfs_fsop_geom', ')', '#']
-['XFS_IOC_FSGEOMETRY_V1', '_IOR', '(', "'X'", ',', '100', ',', 'struct', 'xfs_fsop_geom_v1', ')', '#']
-['XFS_IOC_FSGETXATTR', '_IOR', '(', "'X'", ',', '31', ',', 'struct', 'fsxattr', ')', '#']
-['XFS_IOC_FSGETXATTRA', '_IOR', '(', "'X'", ',', '45', ',', 'struct', 'fsxattr', ')', '/*\tXFS_IOC_SETBIOSIZE ---- deprecated 46\t */']
-['XFS_IOC_FSGROWFSDATA', '_IOW', '(', "'X'", ',', '110', ',', 'struct', 'xfs_growfs_data', ')', '#']
-['XFS_IOC_FSGROWFSLOG', '_IOW', '(', "'X'", ',', '111', ',', 'struct', 'xfs_growfs_log', ')', '#']
-['XFS_IOC_FSGROWFSRT', '_IOW', '(', "'X'", ',', '112', ',', 'struct', 'xfs_growfs_rt', ')', '#']
-['XFS_IOC_FSINUMBERS', '_IOWR', '(', "'X'", ',', '103', ',', 'struct', 'xfs_fsop_bulkreq', ')', '#']
-['XFS_IOC_FSSETDM', '_IOW', '(', "'X'", ',', '39', ',', 'struct', 'fsdmidata', ')', '#']
-['XFS_IOC_FSSETDM_BY_HANDLE', '_IOW', '(', "'X'", ',', '121', ',', 'struct', 'xfs_fsop_setdm_handlereq', ')', '#']
-['XFS_IOC_FSSETXATTR', '_IOW', '(', "'X'", ',', '32', ',', 'struct', 'fsxattr', ')', '#']
-['XFS_IOC_GETBMAP', '_IOWR', '(', "'X'", ',', '38', ',', 'struct', 'getbmap', ')', '#']
-['XFS_IOC_GETBMAPA', '_IOWR', '(', "'X'", ',', '44', ',', 'struct', 'getbmap', ')', '#']
-['XFS_IOC_GETBMAPX', '_IOWR', '(', "'X'", ',', '56', ',', 'struct', 'getbmap', ')', '#']
-['XFS_IOC_GETVERSION', '_IOR', '(', "'v'", ',', '1', ',', 'long', ')', '#']
-['XFS_IOC_GETXFLAGS', '_IOR', '(', "'f'", ',', '1', ',', 'long', ')', '#']
-['XFS_IOC_GET_RESBLKS', '_IOR', '(', "'X'", ',', '115', ',', 'struct', 'xfs_fsop_resblks', ')', '#']
-['XFS_IOC_GOINGDOWN', '_IOR', '(', "'X'", ',', '125', ',', '__uint32_t', ')', '/*\tXFS_IOC_GETFSUUID ---------- deprecated 140\t */']
-['XFS_IOC_OPEN_BY_HANDLE', '_IOWR', '(', "'X'", ',', '107', ',', 'struct', 'xfs_fsop_handlereq', ')', '#']
-['XFS_IOC_PATH_TO_FSHANDLE', '_IOWR', '(', "'X'", ',', '104', ',', 'struct', 'xfs_fsop_handlereq', ')', '#']
-['XFS_IOC_PATH_TO_HANDLE', '_IOWR', '(', "'X'", ',', '105', ',', 'struct', 'xfs_fsop_handlereq', ')', '#']
-['XFS_IOC_READLINK_BY_HANDLE', '_IOWR', '(', "'X'", ',', '108', ',', 'struct', 'xfs_fsop_handlereq', ')', '#']
-['XFS_IOC_RESVSP', '_IOW', '(', "'X'", ',', '40', ',', 'struct', 'xfs_flock64', ')', '#']
-['XFS_IOC_RESVSP64', '_IOW', '(', "'X'", ',', '42', ',', 'struct', 'xfs_flock64', ')', '#']
-['XFS_IOC_SETXFLAGS', '_IOW', '(', "'f'", ',', '2', ',', 'long', ')', '#']
-['XFS_IOC_SET_RESBLKS', '_IOWR', '(', "'X'", ',', '114', ',', 'struct', 'xfs_fsop_resblks', ')', '#']
-['XFS_IOC_SWAPEXT', '_IOWR', '(', "'X'", ',', '109', ',', 'struct', 'xfs_swapext', ')', '#']
-['XFS_IOC_THAW', '_IOWR', '(', "'X'", ',', '120', ',', 'int', ')', '#']
-['XFS_IOC_UNRESVSP', '_IOW', '(', "'X'", ',', '41', ',', 'struct', 'xfs_flock64', ')', '#']
-['XFS_IOC_UNRESVSP64', '_IOW', '(', "'X'", ',', '43', ',', 'struct', 'xfs_flock64', ')', '#']
-['XFS_IOC_ZERO_RANGE', '_IOW', '(', "'X'", ',', '57', ',', 'struct', 'xfs_flock64', ')', '#']
-['FIOCLEX', '0x5451', '#']
diff --git a/src/sys/ioctl/etc/x86_64/manually_found b/src/sys/ioctl/etc/x86_64/manually_found
deleted file mode 100644
index 5865f4f3..00000000
--- a/src/sys/ioctl/etc/x86_64/manually_found
+++ /dev/null
@@ -1,5 +0,0 @@
-['CZ_NBOARDS', '(', 'CZIOC', '|', '0xfa', ')', '#']
-['CZ_BOOT_START', '(', 'CZIOC', '|', '0xfb', ')', '#']
-['CZ_BOOT_DATA', '(', 'CZIOC', '|', '0xfc', ')', '#']
-['CZ_BOOT_END', '(', 'CZIOC', '|', '0xfd', ')', '#']
-['CZ_TEST', '(', 'CZIOC', '|', '0xfe', ')', '#']
diff --git a/src/sys/ioctl/mod.rs b/src/sys/ioctl/mod.rs
index 31e8f322..eea3f139 100644
--- a/src/sys/ioctl/mod.rs
+++ b/src/sys/ioctl/mod.rs
@@ -104,15 +104,8 @@ mod platform;
pub use self::platform::*;
-// liblibc has the wrong decl for linux :| hack until #26809 lands.
-extern "C" {
- #[doc(hidden)]
- pub fn ioctl(fd: libc::c_int, req: libc::c_ulong, ...) -> libc::c_int;
-}
-
/// A hack to get the macros to work nicely.
#[doc(hidden)]
pub use ::libc as libc;
-
-//#[cfg(not(target_os = "linux"))]
-//use platform_not_supported;
+#[doc(hidden)]
+pub use ::libc::funcs::bsd44::ioctl;
diff --git a/src/sys/ioctl/platform/linux-generated-x86_64.rs b/src/sys/ioctl/platform/linux-generated-x86_64.rs
deleted file mode 100644
index 7663d8a0..00000000
--- a/src/sys/ioctl/platform/linux-generated-x86_64.rs
+++ /dev/null
@@ -1,1005 +0,0 @@
-// Initially generated by process_ioctls.py
-ioctl!(none apm_ioc_standby with b'A', 1);
-ioctl!(none apm_ioc_suspend with b'A', 2);
-// ioctl!(write btrfs_ioc_add_dev with BTRFS_IOCTL_MAGIC, 10; /*struct*/ btrfs_ioctl_vol_args);
-// ioctl!(write btrfs_ioc_balance with BTRFS_IOCTL_MAGIC, 12; /*struct*/ btrfs_ioctl_vol_args);
-ioctl!(write btrfs_ioc_balance_ctl with BTRFS_IOCTL_MAGIC, 33; ::libc::c_int);
-// ioctl!(read btrfs_ioc_balance_progress with BTRFS_IOCTL_MAGIC, 34; /*struct*/ btrfs_ioctl_balance_args);
-// ioctl!(readwrite btrfs_ioc_balance_v2 with BTRFS_IOCTL_MAGIC, 32; /*struct*/ btrfs_ioctl_balance_args);
-ioctl!(write btrfs_ioc_clone with BTRFS_IOCTL_MAGIC, 9; ::libc::c_int);
-// ioctl!(write btrfs_ioc_clone_range with BTRFS_IOCTL_MAGIC, 13; /*struct*/ btrfs_ioctl_clone_range_args);
-ioctl!(write btrfs_ioc_default_subvol with BTRFS_IOCTL_MAGIC, 19; u64);
-// ioctl!(write btrfs_ioc_defrag with BTRFS_IOCTL_MAGIC, 2; /*struct*/ btrfs_ioctl_vol_args);
-// ioctl!(write btrfs_ioc_defrag_range with BTRFS_IOCTL_MAGIC, 16; /*struct*/ btrfs_ioctl_defrag_range_args);
-// ioctl!(read btrfs_ioc_devices_ready with BTRFS_IOCTL_MAGIC, 39; /*struct*/ btrfs_ioctl_vol_args);
-// ioctl!(readwrite btrfs_ioc_dev_info with BTRFS_IOCTL_MAGIC, 30; /*struct*/ btrfs_ioctl_dev_info_args);
-// ioctl!(readwrite btrfs_ioc_dev_replace with BTRFS_IOCTL_MAGIC, 53; /*struct*/ btrfs_ioctl_dev_replace_args);
-// ioctl!(readwrite btrfs_ioc_file_extent_same with BTRFS_IOCTL_MAGIC, 54; /*struct*/ btrfs_ioctl_same_args);
-// ioctl!(read btrfs_ioc_fs_info with BTRFS_IOCTL_MAGIC, 31; /*struct*/ btrfs_ioctl_fs_info_args);
-// ioctl!(readwrite btrfs_ioc_get_dev_stats with BTRFS_IOCTL_MAGIC, 52; /*struct*/ btrfs_ioctl_get_dev_stats);
-// ioctl!(read btrfs_ioc_get_features with BTRFS_IOCTL_MAGIC, 57; /*struct*/ btrfs_ioctl_feature_flags);
-ioctl!(read btrfs_ioc_get_fslabel with BTRFS_IOCTL_MAGIC, 49; [::libc::c_char; BTRFS_LABEL_SIZE]);
-// ioctl!(read btrfs_ioc_get_supported_features with BTRFS_IOCTL_MAGIC, 57; [/*struct*/ btrfs_ioctl_feature_flags; 3]);
-// ioctl!(readwrite btrfs_ioc_ino_lookup with BTRFS_IOCTL_MAGIC, 18; /*struct*/ btrfs_ioctl_ino_lookup_args);
-// ioctl!(readwrite btrfs_ioc_ino_paths with BTRFS_IOCTL_MAGIC, 35; /*struct*/ btrfs_ioctl_ino_path_args);
-// ioctl!(readwrite btrfs_ioc_logical_ino with BTRFS_IOCTL_MAGIC, 36; /*struct*/ btrfs_ioctl_ino_path_args);
-// ioctl!(write btrfs_ioc_qgroup_assign with BTRFS_IOCTL_MAGIC, 41; /*struct*/ btrfs_ioctl_qgroup_assign_args);
-// ioctl!(write btrfs_ioc_qgroup_create with BTRFS_IOCTL_MAGIC, 42; /*struct*/ btrfs_ioctl_qgroup_create_args);
-// ioctl!(read btrfs_ioc_qgroup_limit with BTRFS_IOCTL_MAGIC, 43; /*struct*/ btrfs_ioctl_qgroup_limit_args);
-// ioctl!(readwrite btrfs_ioc_quota_ctl with BTRFS_IOCTL_MAGIC, 40; /*struct*/ btrfs_ioctl_quota_ctl_args);
-// ioctl!(write btrfs_ioc_quota_rescan with BTRFS_IOCTL_MAGIC, 44; /*struct*/ btrfs_ioctl_quota_rescan_args);
-// ioctl!(read btrfs_ioc_quota_rescan_status with BTRFS_IOCTL_MAGIC, 45; /*struct*/ btrfs_ioctl_quota_rescan_args);
-ioctl!(none btrfs_ioc_quota_rescan_wait with BTRFS_IOCTL_MAGIC, 46);
-// ioctl!(write btrfs_ioc_resize with BTRFS_IOCTL_MAGIC, 3; /*struct*/ btrfs_ioctl_vol_args);
-// ioctl!(write btrfs_ioc_rm_dev with BTRFS_IOCTL_MAGIC, 11; /*struct*/ btrfs_ioctl_vol_args);
-// ioctl!(write btrfs_ioc_scan_dev with BTRFS_IOCTL_MAGIC, 4; /*struct*/ btrfs_ioctl_vol_args);
-// ioctl!(readwrite btrfs_ioc_scrub with BTRFS_IOCTL_MAGIC, 27; /*struct*/ btrfs_ioctl_scrub_args);
-ioctl!(none btrfs_ioc_scrub_cancel with BTRFS_IOCTL_MAGIC, 28);
-// ioctl!(readwrite btrfs_ioc_scrub_progress with BTRFS_IOCTL_MAGIC, 29; /*struct*/ btrfs_ioctl_scrub_args);
-// ioctl!(write btrfs_ioc_send with BTRFS_IOCTL_MAGIC, 38; /*struct*/ btrfs_ioctl_send_args);
-// ioctl!(write btrfs_ioc_set_features with BTRFS_IOCTL_MAGIC, 57; [/*struct*/ btrfs_ioctl_feature_flags; 2]);
-ioctl!(write btrfs_ioc_set_fslabel with BTRFS_IOCTL_MAGIC, 50; [::libc::c_char; BTRFS_LABEL_SIZE]);
-// ioctl!(readwrite btrfs_ioc_set_received_subvol with BTRFS_IOCTL_MAGIC, 37; /*struct*/ btrfs_ioctl_received_subvol_args);
-// ioctl!(write btrfs_ioc_snap_create with BTRFS_IOCTL_MAGIC, 1; /*struct*/ btrfs_ioctl_vol_args);
-// ioctl!(write btrfs_ioc_snap_create_v2 with BTRFS_IOCTL_MAGIC, 23; /*struct*/ btrfs_ioctl_vol_args_v2);
-// ioctl!(write btrfs_ioc_snap_destroy with BTRFS_IOCTL_MAGIC, 15; /*struct*/ btrfs_ioctl_vol_args);
-// ioctl!(readwrite btrfs_ioc_space_info with BTRFS_IOCTL_MAGIC, 20; /*struct*/ btrfs_ioctl_space_args);
-ioctl!(read btrfs_ioc_start_sync with BTRFS_IOCTL_MAGIC, 24; u64);
-// ioctl!(write btrfs_ioc_subvol_create with BTRFS_IOCTL_MAGIC, 14; /*struct*/ btrfs_ioctl_vol_args);
-// ioctl!(write btrfs_ioc_subvol_create_v2 with BTRFS_IOCTL_MAGIC, 24; /*struct*/ btrfs_ioctl_vol_args_v2);
-ioctl!(read btrfs_ioc_subvol_getflags with BTRFS_IOCTL_MAGIC, 25; u64);
-ioctl!(write btrfs_ioc_subvol_setflags with BTRFS_IOCTL_MAGIC, 26; u64);
-ioctl!(none btrfs_ioc_sync with BTRFS_IOCTL_MAGIC, 8);
-ioctl!(none btrfs_ioc_trans_end with BTRFS_IOCTL_MAGIC, 7);
-ioctl!(none btrfs_ioc_trans_start with BTRFS_IOCTL_MAGIC, 6);
-// ioctl!(readwrite btrfs_ioc_tree_search with BTRFS_IOCTL_MAGIC, 17; /*struct*/ btrfs_ioctl_search_args);
-// ioctl!(readwrite btrfs_ioc_tree_search_v2 with BTRFS_IOCTL_MAGIC, 17; /*struct*/ btrfs_ioctl_search_args_v2);
-ioctl!(write btrfs_ioc_wait_sync with BTRFS_IOCTL_MAGIC, 22; u64);
-ioctl!(none cm_iocardoff with CM_IOC_MAGIC, 4);
-// ioctl!(readwrite cm_iocgatr with CM_IOC_MAGIC, 1; *mut FIXME1<['atreq_t']>);
-ioctl!(read cm_iocgstatus with CM_IOC_MAGIC, 0; *mut ::libc::c_uchar);
-// ioctl!(write cm_iocspts with CM_IOC_MAGIC, 2; *mut FIXME1<['ptsreq_t']>);
-ioctl!(none cm_iocsrdr with CM_IOC_MAGIC, 3);
-ioctl!(read cxl_ioctl_get_process_element with CXL_MAGIC, 0x01; u32);
-// ioctl!(write cxl_ioctl_start_work with CXL_MAGIC, 0x00; /*struct*/ cxl_ioctl_start_work);
-// ioctl!(readwrite drm_ioctl_add_bufs with DRM_IOCTL_BASE, 0x16; /*struct*/ drm_buf_desc);
-// ioctl!(readwrite drm_ioctl_add_ctx with DRM_IOCTL_BASE, 0x20; /*struct*/ drm_ctx);
-// ioctl!(readwrite drm_ioctl_add_draw with DRM_IOCTL_BASE, 0x27; /*struct*/ drm_draw);
-// ioctl!(readwrite drm_ioctl_add_map with DRM_IOCTL_BASE, 0x15; /*struct*/ drm_map);
-ioctl!(none drm_ioctl_agp_acquire with DRM_IOCTL_BASE, 0x30);
-// ioctl!(readwrite drm_ioctl_agp_alloc with DRM_IOCTL_BASE, 0x34; /*struct*/ drm_agp_buffer);
-// ioctl!(write drm_ioctl_agp_bind with DRM_IOCTL_BASE, 0x36; /*struct*/ drm_agp_binding);
-// ioctl!(write drm_ioctl_agp_enable with DRM_IOCTL_BASE, 0x32; /*struct*/ drm_agp_mode);
-// ioctl!(write drm_ioctl_agp_free with DRM_IOCTL_BASE, 0x35; /*struct*/ drm_agp_buffer);
-// ioctl!(read drm_ioctl_agp_info with DRM_IOCTL_BASE, 0x33; /*struct*/ drm_agp_info);
-ioctl!(none drm_ioctl_agp_release with DRM_IOCTL_BASE, 0x31);
-// ioctl!(write drm_ioctl_agp_unbind with DRM_IOCTL_BASE, 0x37; /*struct*/ drm_agp_binding);
-// ioctl!(write drm_ioctl_auth_magic with DRM_IOCTL_BASE, 0x11; /*struct*/ drm_auth);
-// ioctl!(readwrite drm_ioctl_block with DRM_IOCTL_BASE, 0x12; /*struct*/ drm_block);
-// ioctl!(write drm_ioctl_control with DRM_IOCTL_BASE, 0x14; /*struct*/ drm_control);
-// ioctl!(readwrite drm_ioctl_dma with DRM_IOCTL_BASE, 0x29; /*struct*/ drm_dma);
-ioctl!(none drm_ioctl_drop_master with DRM_IOCTL_BASE, 0x1f);
-// ioctl!(write drm_ioctl_finish with DRM_IOCTL_BASE, 0x2c; /*struct*/ drm_lock);
-// ioctl!(write drm_ioctl_free_bufs with DRM_IOCTL_BASE, 0x1a; /*struct*/ drm_buf_free);
-// ioctl!(write drm_ioctl_gem_close with DRM_IOCTL_BASE, 0x09; /*struct*/ drm_gem_close);
-// ioctl!(readwrite drm_ioctl_gem_flink with DRM_IOCTL_BASE, 0x0a; /*struct*/ drm_gem_flink);
-// ioctl!(readwrite drm_ioctl_gem_open with DRM_IOCTL_BASE, 0x0b; /*struct*/ drm_gem_open);
-// ioctl!(readwrite drm_ioctl_get_cap with DRM_IOCTL_BASE, 0x0c; /*struct*/ drm_get_cap);
-// ioctl!(readwrite drm_ioctl_get_client with DRM_IOCTL_BASE, 0x05; /*struct*/ drm_client);
-// ioctl!(readwrite drm_ioctl_get_ctx with DRM_IOCTL_BASE, 0x23; /*struct*/ drm_ctx);
-// ioctl!(read drm_ioctl_get_magic with DRM_IOCTL_BASE, 0x02; /*struct*/ drm_auth);
-// ioctl!(readwrite drm_ioctl_get_map with DRM_IOCTL_BASE, 0x04; /*struct*/ drm_map);
-// ioctl!(readwrite drm_ioctl_get_sarea_ctx with DRM_IOCTL_BASE, 0x1d; /*struct*/ drm_ctx_priv_map);
-// ioctl!(read drm_ioctl_get_stats with DRM_IOCTL_BASE, 0x06; /*struct*/ drm_stats);
-// ioctl!(readwrite drm_ioctl_get_unique with DRM_IOCTL_BASE, 0x01; /*struct*/ drm_unique);
-// ioctl!(readwrite drm_ioctl_info_bufs with DRM_IOCTL_BASE, 0x18; /*struct*/ drm_buf_info);
-// ioctl!(readwrite drm_ioctl_irq_busid with DRM_IOCTL_BASE, 0x03; /*struct*/ drm_irq_busid);
-// ioctl!(write drm_ioctl_lock with DRM_IOCTL_BASE, 0x2a; /*struct*/ drm_lock);
-// ioctl!(readwrite drm_ioctl_map_bufs with DRM_IOCTL_BASE, 0x19; /*struct*/ drm_buf_map);
-// ioctl!(write drm_ioctl_mark_bufs with DRM_IOCTL_BASE, 0x17; /*struct*/ drm_buf_desc);
-// ioctl!(write drm_ioctl_modeset_ctl with DRM_IOCTL_BASE, 0x08; /*struct*/ drm_modeset_ctl);
-// ioctl!(readwrite drm_ioctl_mode_addfb with DRM_IOCTL_BASE, 0xAE; /*struct*/ drm_mode_fb_cmd);
-// ioctl!(readwrite drm_ioctl_mode_addfb2 with DRM_IOCTL_BASE, 0xB8; /*struct*/ drm_mode_fb_cmd2);
-// ioctl!(readwrite drm_ioctl_mode_attachmode with DRM_IOCTL_BASE, 0xA8; /*struct*/ drm_mode_mode_cmd);
-// ioctl!(readwrite drm_ioctl_mode_create_dumb with DRM_IOCTL_BASE, 0xB2; /*struct*/ drm_mode_create_dumb);
-// ioctl!(readwrite drm_ioctl_mode_cursor with DRM_IOCTL_BASE, 0xA3; /*struct*/ drm_mode_cursor);
-// ioctl!(readwrite drm_ioctl_mode_cursor2 with DRM_IOCTL_BASE, 0xBB; /*struct*/ drm_mode_cursor2);
-// ioctl!(readwrite drm_ioctl_mode_destroy_dumb with DRM_IOCTL_BASE, 0xB4; /*struct*/ drm_mode_destroy_dumb);
-// ioctl!(readwrite drm_ioctl_mode_detachmode with DRM_IOCTL_BASE, 0xA9; /*struct*/ drm_mode_mode_cmd);
-// ioctl!(readwrite drm_ioctl_mode_dirtyfb with DRM_IOCTL_BASE, 0xB1; /*struct*/ drm_mode_fb_dirty_cmd);
-// ioctl!(readwrite drm_ioctl_mode_getconnector with DRM_IOCTL_BASE, 0xA7; /*struct*/ drm_mode_get_connector);
-// ioctl!(readwrite drm_ioctl_mode_getcrtc with DRM_IOCTL_BASE, 0xA1; /*struct*/ drm_mode_crtc);
-// ioctl!(readwrite drm_ioctl_mode_getencoder with DRM_IOCTL_BASE, 0xA6; /*struct*/ drm_mode_get_encoder);
-// ioctl!(readwrite drm_ioctl_mode_getfb with DRM_IOCTL_BASE, 0xAD; /*struct*/ drm_mode_fb_cmd);
-// ioctl!(readwrite drm_ioctl_mode_getgamma with DRM_IOCTL_BASE, 0xA4; /*struct*/ drm_mode_crtc_lut);
-// ioctl!(readwrite drm_ioctl_mode_getplane with DRM_IOCTL_BASE, 0xB6; /*struct*/ drm_mode_get_plane);
-// ioctl!(readwrite drm_ioctl_mode_getplaneresources with DRM_IOCTL_BASE, 0xB5; /*struct*/ drm_mode_get_plane_res);
-// ioctl!(readwrite drm_ioctl_mode_getpropblob with DRM_IOCTL_BASE, 0xAC; /*struct*/ drm_mode_get_blob);
-// ioctl!(readwrite drm_ioctl_mode_getproperty with DRM_IOCTL_BASE, 0xAA; /*struct*/ drm_mode_get_property);
-// ioctl!(readwrite drm_ioctl_mode_getresources with DRM_IOCTL_BASE, 0xA0; /*struct*/ drm_mode_card_res);
-// ioctl!(readwrite drm_ioctl_mode_map_dumb with DRM_IOCTL_BASE, 0xB3; /*struct*/ drm_mode_map_dumb);
-// ioctl!(readwrite drm_ioctl_mode_obj_getproperties with DRM_IOCTL_BASE, 0xB9; /*struct*/ drm_mode_obj_get_properties);
-// ioctl!(readwrite drm_ioctl_mode_obj_setproperty with DRM_IOCTL_BASE, 0xBA; /*struct*/ drm_mode_obj_set_property);
-// ioctl!(readwrite drm_ioctl_mode_page_flip with DRM_IOCTL_BASE, 0xB0; /*struct*/ drm_mode_crtc_page_flip);
-ioctl!(readwrite drm_ioctl_mode_rmfb with DRM_IOCTL_BASE, 0xAF; ::libc::c_uint);
-// ioctl!(readwrite drm_ioctl_mode_setcrtc with DRM_IOCTL_BASE, 0xA2; /*struct*/ drm_mode_crtc);
-// ioctl!(readwrite drm_ioctl_mode_setgamma with DRM_IOCTL_BASE, 0xA5; /*struct*/ drm_mode_crtc_lut);
-// ioctl!(readwrite drm_ioctl_mode_setplane with DRM_IOCTL_BASE, 0xB7; /*struct*/ drm_mode_set_plane);
-// ioctl!(readwrite drm_ioctl_mode_setproperty with DRM_IOCTL_BASE, 0xAB; /*struct*/ drm_mode_connector_set_property);
-// ioctl!(write drm_ioctl_mod_ctx with DRM_IOCTL_BASE, 0x22; /*struct*/ drm_ctx);
-// ioctl!(write drm_ioctl_new_ctx with DRM_IOCTL_BASE, 0x25; /*struct*/ drm_ctx);
-// ioctl!(readwrite drm_ioctl_prime_fd_to_handle with DRM_IOCTL_BASE, 0x2e; /*struct*/ drm_prime_handle);
-// ioctl!(readwrite drm_ioctl_prime_handle_to_fd with DRM_IOCTL_BASE, 0x2d; /*struct*/ drm_prime_handle);
-// ioctl!(readwrite drm_ioctl_radeon_alloc with DRM_IOCTL_BASE, DRM_COMMAND_BASE + DRM_RADEON_ALLOC; FIXME1<['drm_radeon_mem_alloc_t']>);
-// ioctl!(write drm_ioctl_radeon_clear with DRM_IOCTL_BASE, DRM_COMMAND_BASE + DRM_RADEON_CLEAR; FIXME1<['drm_radeon_clear_t']>);
-// ioctl!(write drm_ioctl_radeon_cmdbuf with DRM_IOCTL_BASE, DRM_COMMAND_BASE + DRM_RADEON_CMDBUF; FIXME1<['drm_radeon_cmd_buffer_t']>);
-ioctl!(none drm_ioctl_radeon_cp_idle with DRM_IOCTL_BASE, DRM_COMMAND_BASE);
-// ioctl!(write drm_ioctl_radeon_cp_init with DRM_IOCTL_BASE, DRM_COMMAND_BASE + DRM_RADEON_CP_INIT; FIXME1<['drm_radeon_init_t']>);
-ioctl!(none drm_ioctl_radeon_cp_reset with DRM_IOCTL_BASE, DRM_COMMAND_BASE);
-ioctl!(none drm_ioctl_radeon_cp_resume with DRM_IOCTL_BASE, DRM_COMMAND_BASE);
-ioctl!(none drm_ioctl_radeon_cp_start with DRM_IOCTL_BASE, DRM_COMMAND_BASE);
-// ioctl!(write drm_ioctl_radeon_cp_stop with DRM_IOCTL_BASE, DRM_COMMAND_BASE + DRM_RADEON_CP_STOP; FIXME1<['drm_radeon_cp_stop_t']>);
-// ioctl!(readwrite drm_ioctl_radeon_cs with DRM_IOCTL_BASE, DRM_COMMAND_BASE + DRM_RADEON_CS; /*struct*/ drm_radeon_cs);
-ioctl!(none drm_ioctl_radeon_flip with DRM_IOCTL_BASE, DRM_COMMAND_BASE);
-// ioctl!(write drm_ioctl_radeon_free with DRM_IOCTL_BASE, DRM_COMMAND_BASE + DRM_RADEON_FREE; FIXME1<['drm_radeon_mem_free_t']>);
-// ioctl!(write drm_ioctl_radeon_fullscreen with DRM_IOCTL_BASE, DRM_COMMAND_BASE + DRM_RADEON_FULLSCREEN; FIXME1<['drm_radeon_fullscreen_t']>);
-// ioctl!(readwrite drm_ioctl_radeon_gem_busy with DRM_IOCTL_BASE, DRM_COMMAND_BASE + DRM_RADEON_GEM_BUSY; /*struct*/ drm_radeon_gem_busy);
-// ioctl!(readwrite drm_ioctl_radeon_gem_create with DRM_IOCTL_BASE, DRM_COMMAND_BASE + DRM_RADEON_GEM_CREATE; /*struct*/ drm_radeon_gem_create);
-// ioctl!(readwrite drm_ioctl_radeon_gem_get_tiling with DRM_IOCTL_BASE, DRM_COMMAND_BASE + DRM_RADEON_GEM_GET_TILING; /*struct*/ drm_radeon_gem_get_tiling);
-// ioctl!(readwrite drm_ioctl_radeon_gem_info with DRM_IOCTL_BASE, DRM_COMMAND_BASE + DRM_RADEON_GEM_INFO; /*struct*/ drm_radeon_gem_info);
-// ioctl!(readwrite drm_ioctl_radeon_gem_mmap with DRM_IOCTL_BASE, DRM_COMMAND_BASE + DRM_RADEON_GEM_MMAP; /*struct*/ drm_radeon_gem_mmap);
-// ioctl!(readwrite drm_ioctl_radeon_gem_op with DRM_IOCTL_BASE, DRM_COMMAND_BASE + DRM_RADEON_GEM_OP; /*struct*/ drm_radeon_gem_op);
-// ioctl!(readwrite drm_ioctl_radeon_gem_pread with DRM_IOCTL_BASE, DRM_COMMAND_BASE + DRM_RADEON_GEM_PREAD; /*struct*/ drm_radeon_gem_pread);
-// ioctl!(readwrite drm_ioctl_radeon_gem_pwrite with DRM_IOCTL_BASE, DRM_COMMAND_BASE + DRM_RADEON_GEM_PWRITE; /*struct*/ drm_radeon_gem_pwrite);
-// ioctl!(readwrite drm_ioctl_radeon_gem_set_domain with DRM_IOCTL_BASE, DRM_COMMAND_BASE + DRM_RADEON_GEM_SET_DOMAIN; /*struct*/ drm_radeon_gem_set_domain);
-// ioctl!(readwrite drm_ioctl_radeon_gem_set_tiling with DRM_IOCTL_BASE, DRM_COMMAND_BASE + DRM_RADEON_GEM_SET_TILING; /*struct*/ drm_radeon_gem_set_tiling);
-// ioctl!(readwrite drm_ioctl_radeon_gem_va with DRM_IOCTL_BASE, DRM_COMMAND_BASE + DRM_RADEON_GEM_VA; /*struct*/ drm_radeon_gem_va);
-// ioctl!(write drm_ioctl_radeon_gem_wait_idle with DRM_IOCTL_BASE, DRM_COMMAND_BASE + DRM_RADEON_GEM_WAIT_IDLE; /*struct*/ drm_radeon_gem_wait_idle);
-// ioctl!(readwrite drm_ioctl_radeon_getparam with DRM_IOCTL_BASE, DRM_COMMAND_BASE + DRM_RADEON_GETPARAM; FIXME1<['drm_radeon_getparam_t']>);
-// ioctl!(write drm_ioctl_radeon_indices with DRM_IOCTL_BASE, DRM_COMMAND_BASE + DRM_RADEON_INDICES; FIXME1<['drm_radeon_indices_t']>);
-// ioctl!(readwrite drm_ioctl_radeon_indirect with DRM_IOCTL_BASE, DRM_COMMAND_BASE + DRM_RADEON_INDIRECT; FIXME1<['drm_radeon_indirect_t']>);
-// ioctl!(readwrite drm_ioctl_radeon_info with DRM_IOCTL_BASE, DRM_COMMAND_BASE + DRM_RADEON_INFO; /*struct*/ drm_radeon_info);
-// ioctl!(write drm_ioctl_radeon_init_heap with DRM_IOCTL_BASE, DRM_COMMAND_BASE + DRM_RADEON_INIT_HEAP; FIXME1<['drm_radeon_mem_init_heap_t']>);
-// ioctl!(readwrite drm_ioctl_radeon_irq_emit with DRM_IOCTL_BASE, DRM_COMMAND_BASE + DRM_RADEON_IRQ_EMIT; FIXME1<['drm_radeon_irq_emit_t']>);
-// ioctl!(write drm_ioctl_radeon_irq_wait with DRM_IOCTL_BASE, DRM_COMMAND_BASE + DRM_RADEON_IRQ_WAIT; FIXME1<['drm_radeon_irq_wait_t']>);
-ioctl!(none drm_ioctl_radeon_reset with DRM_IOCTL_BASE, DRM_COMMAND_BASE);
-// ioctl!(write drm_ioctl_radeon_setparam with DRM_IOCTL_BASE, DRM_COMMAND_BASE + DRM_RADEON_SETPARAM; FIXME1<['drm_radeon_setparam_t']>);
-// ioctl!(write drm_ioctl_radeon_stipple with DRM_IOCTL_BASE, DRM_COMMAND_BASE + DRM_RADEON_STIPPLE; FIXME1<['drm_radeon_stipple_t']>);
-// ioctl!(write drm_ioctl_radeon_surf_alloc with DRM_IOCTL_BASE, DRM_COMMAND_BASE + DRM_RADEON_SURF_ALLOC; FIXME1<['drm_radeon_surface_alloc_t']>);
-// ioctl!(write drm_ioctl_radeon_surf_free with DRM_IOCTL_BASE, DRM_COMMAND_BASE + DRM_RADEON_SURF_FREE; FIXME1<['drm_radeon_surface_free_t']>);
-ioctl!(none drm_ioctl_radeon_swap with DRM_IOCTL_BASE, DRM_COMMAND_BASE);
-// ioctl!(readwrite drm_ioctl_radeon_texture with DRM_IOCTL_BASE, DRM_COMMAND_BASE + DRM_RADEON_TEXTURE; FIXME1<['drm_radeon_texture_t']>);
-// ioctl!(write drm_ioctl_radeon_vertex with DRM_IOCTL_BASE, DRM_COMMAND_BASE + DRM_RADEON_VERTEX; FIXME1<['drm_radeon_vertex_t']>);
-// ioctl!(write drm_ioctl_radeon_vertex2 with DRM_IOCTL_BASE, DRM_COMMAND_BASE + DRM_RADEON_VERTEX2; FIXME1<['drm_radeon_vertex2_t']>);
-// ioctl!(readwrite drm_ioctl_res_ctx with DRM_IOCTL_BASE, 0x26; /*struct*/ drm_ctx_res);
-// ioctl!(readwrite drm_ioctl_rm_ctx with DRM_IOCTL_BASE, 0x21; /*struct*/ drm_ctx);
-// ioctl!(readwrite drm_ioctl_rm_draw with DRM_IOCTL_BASE, 0x28; /*struct*/ drm_draw);
-// ioctl!(write drm_ioctl_rm_map with DRM_IOCTL_BASE, 0x1b; /*struct*/ drm_map);
-// ioctl!(write drm_ioctl_set_client_cap with DRM_IOCTL_BASE, 0x0d; /*struct*/ drm_set_client_cap);
-ioctl!(none drm_ioctl_set_master with DRM_IOCTL_BASE, 0x1e);
-// ioctl!(write drm_ioctl_set_sarea_ctx with DRM_IOCTL_BASE, 0x1c; /*struct*/ drm_ctx_priv_map);
-// ioctl!(write drm_ioctl_set_unique with DRM_IOCTL_BASE, 0x10; /*struct*/ drm_unique);
-// ioctl!(readwrite drm_ioctl_set_version with DRM_IOCTL_BASE, 0x07; /*struct*/ drm_set_version);
-// ioctl!(readwrite drm_ioctl_sg_alloc with DRM_IOCTL_BASE, 0x38; /*struct*/ drm_scatter_gather);
-// ioctl!(write drm_ioctl_sg_free with DRM_IOCTL_BASE, 0x39; /*struct*/ drm_scatter_gather);
-// ioctl!(readwrite drm_ioctl_sis_agp_alloc with DRM_IOCTL_BASE, DRM_COMMAND_BASE + DRM_SIS_AGP_ALLOC; FIXME1<['drm_sis_mem_t']>);
-// ioctl!(write drm_ioctl_sis_agp_free with DRM_IOCTL_BASE, DRM_COMMAND_BASE + DRM_SIS_AGP_FREE; FIXME1<['drm_sis_mem_t']>);
-// ioctl!(readwrite drm_ioctl_sis_agp_init with DRM_IOCTL_BASE, DRM_COMMAND_BASE + DRM_SIS_AGP_INIT; FIXME1<['drm_sis_agp_t']>);
-// ioctl!(readwrite drm_ioctl_sis_fb_alloc with DRM_IOCTL_BASE, DRM_COMMAND_BASE + DRM_SIS_FB_ALLOC; FIXME1<['drm_sis_mem_t']>);
-// ioctl!(write drm_ioctl_sis_fb_free with DRM_IOCTL_BASE, DRM_COMMAND_BASE + DRM_SIS_FB_FREE; FIXME1<['drm_sis_mem_t']>);
-// ioctl!(write drm_ioctl_sis_fb_init with DRM_IOCTL_BASE, DRM_COMMAND_BASE + DRM_SIS_FB_INIT; FIXME1<['drm_sis_fb_t']>);
-// ioctl!(write drm_ioctl_switch_ctx with DRM_IOCTL_BASE, 0x24; /*struct*/ drm_ctx);
-// ioctl!(readwrite drm_ioctl_unblock with DRM_IOCTL_BASE, 0x13; /*struct*/ drm_block);
-// ioctl!(write drm_ioctl_unlock with DRM_IOCTL_BASE, 0x2b; /*struct*/ drm_lock);
-// ioctl!(write drm_ioctl_update_draw with DRM_IOCTL_BASE, 0x3f; /*struct*/ drm_update_draw);
-// ioctl!(readwrite drm_ioctl_version with DRM_IOCTL_BASE, 0x00; /*struct*/ drm_version);
-// ioctl!(readwrite drm_ioctl_wait_vblank with DRM_IOCTL_BASE, 0x3a; FIXME2<['union', 'drm_wait_vblank']>);
-ioctl!(read eviocgeffects with b'E', 0x84; ::libc::c_int);
-ioctl!(read eviocgid with b'E', 0x02; /*struct*/ input_id);
-ioctl!(read eviocgkeycode with b'E', 0x04; [::libc::c_uint; 2]);
-// ioctl!(read eviocgkeycode_v2 with b'E', 0x04; /*struct*/ input_keymap_entry);
-ioctl!(read eviocgrep with b'E', 0x03; [::libc::c_uint; 2]);
-ioctl!(read eviocgversion with b'E', 0x01; ::libc::c_int);
-ioctl!(write eviocrmff with b'E', 0x81; ::libc::c_int);
-// TODO #define EVIOCSFF _IOC ( _IOC_WRITE , 'E' , 0x80 , sizeof ( struct ff_effect ) )
-ioctl!(write eviocskeycode with b'E', 0x04; [::libc::c_uint; 2]);
-// ioctl!(write eviocskeycode_v2 with b'E', 0x04; /*struct*/ input_keymap_entry);
-ioctl!(write eviocsrep with b'E', 0x03; [::libc::c_uint; 2]);
-ioctl!(read ext2_ioc_getflags with b'f', 1; ::libc::c_long);
-ioctl!(read ext2_ioc_getversion with b'v', 1; ::libc::c_long);
-ioctl!(read ext2_ioc_getversion_new with b'f', 3; ::libc::c_long);
-// ioctl!(write ext2_ioc_group_add with b'f', 8; /*struct*/ ext2_new_group_input);
-ioctl!(write ext2_ioc_group_extend with b'f', 7; ::libc::c_ulong);
-ioctl!(write ext2_ioc_setflags with b'f', 2; ::libc::c_long);
-ioctl!(write ext2_ioc_setversion with b'v', 2; ::libc::c_long);
-ioctl!(write ext2_ioc_setversion_new with b'f', 4; ::libc::c_long);
-// ioctl!(write ext4_ioc_group_add with b'f', 8; /*struct*/ ext4_new_group_input);
-ioctl!(write ext4_ioc_resize_fs with b'f', 16; u64);
-ioctl!(read fat_ioctl_get_attributes with b'r', 0x10; u32);
-ioctl!(read fat_ioctl_get_volume_id with b'r', 0x13; u32);
-ioctl!(write fat_ioctl_set_attributes with b'r', 0x11; u32);
-// ioctl!(readwrite fsl_hv_ioctl_doorbell with FSL_HV_IOCTL_TYPE, 6; /*struct*/ fsl_hv_ioctl_doorbell);
-// ioctl!(readwrite fsl_hv_ioctl_getprop with FSL_HV_IOCTL_TYPE, 7; /*struct*/ fsl_hv_ioctl_prop);
-// ioctl!(readwrite fsl_hv_ioctl_memcpy with FSL_HV_IOCTL_TYPE, 5; /*struct*/ fsl_hv_ioctl_memcpy);
-// ioctl!(readwrite fsl_hv_ioctl_partition_get_status with FSL_HV_IOCTL_TYPE, 2; /*struct*/ fsl_hv_ioctl_status);
-// ioctl!(readwrite fsl_hv_ioctl_partition_restart with FSL_HV_IOCTL_TYPE, 1; /*struct*/ fsl_hv_ioctl_restart);
-// ioctl!(readwrite fsl_hv_ioctl_partition_start with FSL_HV_IOCTL_TYPE, 3; /*struct*/ fsl_hv_ioctl_start);
-// ioctl!(readwrite fsl_hv_ioctl_partition_stop with FSL_HV_IOCTL_TYPE, 4; /*struct*/ fsl_hv_ioctl_stop);
-// ioctl!(readwrite fsl_hv_ioctl_setprop with FSL_HV_IOCTL_TYPE, 8; /*struct*/ fsl_hv_ioctl_prop);
-ioctl!(read fs_ioc32_getflags with b'f', 1; ::libc::c_int);
-ioctl!(read fs_ioc32_getversion with b'v', 1; ::libc::c_int);
-ioctl!(write fs_ioc32_setflags with b'f', 2; ::libc::c_int);
-ioctl!(write fs_ioc32_setversion with b'v', 2; ::libc::c_int);
-// ioctl!(readwrite fs_ioc_fiemap with b'f', 11; /*struct*/ fiemap);
-ioctl!(read fs_ioc_getflags with b'f', 1; ::libc::c_long);
-ioctl!(read fs_ioc_getversion with b'v', 1; ::libc::c_long);
-ioctl!(write fs_ioc_setflags with b'f', 2; ::libc::c_long);
-ioctl!(write fs_ioc_setversion with b'v', 2; ::libc::c_long);
-// ioctl!(readwrite fw_cdev_ioc_add_descriptor with b'#', 0x06; /*struct*/ fw_cdev_add_descriptor);
-// ioctl!(readwrite fw_cdev_ioc_allocate with b'#', 0x02; /*struct*/ fw_cdev_allocate);
-// ioctl!(readwrite fw_cdev_ioc_allocate_iso_resource with b'#', 0x0d; /*struct*/ fw_cdev_allocate_iso_resource);
-// ioctl!(write fw_cdev_ioc_allocate_iso_resource_once with b'#', 0x0f; /*struct*/ fw_cdev_allocate_iso_resource);
-// ioctl!(readwrite fw_cdev_ioc_create_iso_context with b'#', 0x08; /*struct*/ fw_cdev_create_iso_context);
-// ioctl!(write fw_cdev_ioc_deallocate with b'#', 0x03; /*struct*/ fw_cdev_deallocate);
-// ioctl!(write fw_cdev_ioc_deallocate_iso_resource with b'#', 0x0e; /*struct*/ fw_cdev_deallocate);
-// ioctl!(write fw_cdev_ioc_deallocate_iso_resource_once with b'#', 0x10; /*struct*/ fw_cdev_allocate_iso_resource);
-// ioctl!(write fw_cdev_ioc_flush_iso with b'#', 0x18; /*struct*/ fw_cdev_flush_iso);
-// ioctl!(read fw_cdev_ioc_get_cycle_timer with b'#', 0x0c; /*struct*/ fw_cdev_get_cycle_timer);
-// ioctl!(readwrite fw_cdev_ioc_get_cycle_timer2 with b'#', 0x14; /*struct*/ fw_cdev_get_cycle_timer2);
-// ioctl!(readwrite fw_cdev_ioc_get_info with b'#', 0x00; /*struct*/ fw_cdev_get_info);
-ioctl!(none fw_cdev_ioc_get_speed with b'#', 0x11);
-// ioctl!(write fw_cdev_ioc_initiate_bus_reset with b'#', 0x05; /*struct*/ fw_cdev_initiate_bus_reset);
-// ioctl!(readwrite fw_cdev_ioc_queue_iso with b'#', 0x09; /*struct*/ fw_cdev_queue_iso);
-// ioctl!(write fw_cdev_ioc_receive_phy_packets with b'#', 0x16; /*struct*/ fw_cdev_receive_phy_packets);
-// ioctl!(write fw_cdev_ioc_remove_descriptor with b'#', 0x07; /*struct*/ fw_cdev_remove_descriptor);
-// ioctl!(write fw_cdev_ioc_send_broadcast_request with b'#', 0x12; /*struct*/ fw_cdev_send_request);
-// ioctl!(readwrite fw_cdev_ioc_send_phy_packet with b'#', 0x15; /*struct*/ fw_cdev_send_phy_packet);
-// ioctl!(write fw_cdev_ioc_send_request with b'#', 0x01; /*struct*/ fw_cdev_send_request);
-// ioctl!(write fw_cdev_ioc_send_response with b'#', 0x04; /*struct*/ fw_cdev_send_response);
-// ioctl!(write fw_cdev_ioc_send_stream_packet with b'#', 0x13; /*struct*/ fw_cdev_send_stream_packet);
-// ioctl!(write fw_cdev_ioc_set_iso_channels with b'#', 0x17; /*struct*/ fw_cdev_set_iso_channels);
-// ioctl!(write fw_cdev_ioc_start_iso with b'#', 0x0a; /*struct*/ fw_cdev_start_iso);
-// ioctl!(write fw_cdev_ioc_stop_iso with b'#', 0x0b; /*struct*/ fw_cdev_stop_iso);
-ioctl!(none hidiocapplication with b'H', 0x02);
-// ioctl!(write hidiocgcollectionindex with b'H', 0x10; /*struct*/ hiddev_usage_ref);
-// ioctl!(readwrite hidiocgcollectioninfo with b'H', 0x11; /*struct*/ hiddev_collection_info);
-// ioctl!(read hidiocgdevinfo with b'H', 0x03; /*struct*/ hiddev_devinfo);
-// TODO #define HIDIOCGFEATURE ( len ) _IOC ( _IOC_WRITE | _IOC_READ , 'H' , 0x07 , len )
-// ioctl!(readwrite hidiocgfieldinfo with b'H', 0x0A; /*struct*/ hiddev_field_info);
-ioctl!(read hidiocgflag with b'H', 0x0E; ::libc::c_int);
-// TODO #define HIDIOCGNAME ( len ) _IOC ( _IOC_READ , 'H' , 0x06 , len )
-// TODO #define HIDIOCGPHYS ( len ) _IOC ( _IOC_READ , 'H' , 0x12 , len )
-// ioctl!(read hidiocgrawinfo with b'H', 0x03; /*struct*/ hidraw_devinfo);
-// TODO #define HIDIOCGRAWNAME ( len ) _IOC ( _IOC_READ , 'H' , 0x04 , len )
-// TODO #define HIDIOCGRAWPHYS ( len ) _IOC ( _IOC_READ , 'H' , 0x05 , len )
-// ioctl!(read hidiocgrdesc with b'H', 0x02; /*struct*/ hidraw_report_descriptor);
-ioctl!(read hidiocgrdescsize with b'H', 0x01; ::libc::c_int);
-// ioctl!(write hidiocgreport with b'H', 0x07; /*struct*/ hiddev_report_info);
-// ioctl!(readwrite hidiocgreportinfo with b'H', 0x09; /*struct*/ hiddev_report_info);
-// ioctl!(read hidiocgstring with b'H', 0x04; /*struct*/ hiddev_string_descriptor);
-// ioctl!(readwrite hidiocgucode with b'H', 0x0D; /*struct*/ hiddev_usage_ref);
-// ioctl!(readwrite hidiocgusage with b'H', 0x0B; /*struct*/ hiddev_usage_ref);
-// ioctl!(readwrite hidiocgusages with b'H', 0x13; /*struct*/ hiddev_usage_ref_multi);
-ioctl!(read hidiocgversion with b'H', 0x01; ::libc::c_int);
-ioctl!(none hidiocinitreport with b'H', 0x05);
-// TODO #define HIDIOCSFEATURE ( len ) _IOC ( _IOC_WRITE | _IOC_READ , 'H' , 0x06 , len )
-ioctl!(write hidiocsflag with b'H', 0x0F; ::libc::c_int);
-// ioctl!(write hidiocsreport with b'H', 0x08; /*struct*/ hiddev_report_info);
-// ioctl!(write hidiocsusage with b'H', 0x0C; /*struct*/ hiddev_usage_ref);
-// ioctl!(write hidiocsusages with b'H', 0x14; /*struct*/ hiddev_usage_ref_multi);
-ioctl!(none iiocdbgvar with b'I', 127);
-ioctl!(none iiocdrvctl with b'I', 128);
-ioctl!(none iiocgetcps with b'I', 21);
-ioctl!(none iiocgetdvr with b'I', 22);
-ioctl!(none iiocgetmap with b'I', 17);
-ioctl!(none iiocgetprf with b'I', 15);
-ioctl!(none iiocgetset with b'I', 8);
-ioctl!(none iiocnetaif with b'I', 1);
-ioctl!(none iiocnetaln with b'I', 32);
-ioctl!(none iiocnetanm with b'I', 5);
-ioctl!(none iiocnetasl with b'I', 19);
-ioctl!(none iiocnetdif with b'I', 2);
-ioctl!(none iiocnetdil with b'I', 20);
-ioctl!(none iiocnetdln with b'I', 33);
-ioctl!(none iiocnetdnm with b'I', 6);
-ioctl!(none iiocnetdwrset with b'I', 24);
-ioctl!(none iiocnetgcf with b'I', 4);
-ioctl!(none iiocnetgnm with b'I', 7);
-ioctl!(none iiocnetgpn with b'I', 34);
-ioctl!(none iiocnethup with b'I', 11);
-ioctl!(none iiocnetlcr with b'I', 23);
-ioctl!(none iiocnetscf with b'I', 3);
-ioctl!(none iiocsetbrj with b'I', 13);
-ioctl!(none iiocsetgst with b'I', 12);
-ioctl!(none iiocsetmap with b'I', 18);
-ioctl!(none iiocsetprf with b'I', 16);
-ioctl!(none iiocsetset with b'I', 9);
-ioctl!(none iiocsetver with b'I', 10);
-ioctl!(none iiocsigprf with b'I', 14);
-// TODO #define IOCTL_EVTCHN_BIND_INTERDOMAIN _IOC ( _IOC_NONE , 'E' , 1 , sizeof ( struct ioctl_evtchn_bind_interdomain ) )
-// TODO #define IOCTL_EVTCHN_BIND_UNBOUND_PORT _IOC ( _IOC_NONE , 'E' , 2 , sizeof ( struct ioctl_evtchn_bind_unbound_port ) )
-// TODO #define IOCTL_EVTCHN_BIND_VIRQ _IOC ( _IOC_NONE , 'E' , 0 , sizeof ( struct ioctl_evtchn_bind_virq ) )
-// TODO #define IOCTL_EVTCHN_NOTIFY _IOC ( _IOC_NONE , 'E' , 4 , sizeof ( struct ioctl_evtchn_notify ) )
-// TODO #define IOCTL_EVTCHN_RESET _IOC ( _IOC_NONE , 'E' , 5 , 0 )
-// TODO #define IOCTL_EVTCHN_UNBIND _IOC ( _IOC_NONE , 'E' , 3 , sizeof ( struct ioctl_evtchn_unbind ) )
-// ioctl!(readwrite ioctl_mei_connect_client with b'H', 0x01; /*struct*/ mei_connect_client_data);
-ioctl!(read ioctl_wdm_max_command with b'H', 0xA0; u16);
-// ioctl!(write ivtvfb_ioc_dma_frame with b'V', BASE_VIDIOC_PRIVATE + 0; /*struct*/ ivtvfb_dma_frame);
-// ioctl!(write ivtv_ioc_dma_frame with b'V', BASE_VIDIOC_PRIVATE + 0; /*struct*/ ivtv_dma_frame);
-ioctl!(write ivtv_ioc_passthrough_mode with b'V', BASE_VIDIOC_PRIVATE + 1; ::libc::c_int);
-ioctl!(read jsiocgaxes with b'j', 0x11; u8);
-ioctl!(read jsiocgaxmap with b'j', 0x32; [u8; ABS_CNT]);
-// ioctl!(read jsiocgbtnmap with b'j', 0x34; [FIXME3<['__u16', '[', 'KEY_MAX', '-', 'BTN_MISC']>; 1]);
-ioctl!(read jsiocgbuttons with b'j', 0x12; u8);
-// ioctl!(read jsiocgcorr with b'j', 0x22; /*struct*/ js_corr);
-// TODO #define JSIOCGNAME ( len ) _IOC ( _IOC_READ , 'j' , 0x13 , len )
-ioctl!(read jsiocgversion with b'j', 0x01; u32);
-ioctl!(write jsiocsaxmap with b'j', 0x31; [u8; ABS_CNT]);
-// ioctl!(write jsiocsbtnmap with b'j', 0x33; [FIXME3<['__u16', '[', 'KEY_MAX', '-', 'BTN_MISC']>; 1]);
-// ioctl!(write jsiocscorr with b'j', 0x21; /*struct*/ js_corr);
-ioctl!(none kiocsound with 75, 47);
-// ioctl!(readwrite media_ioc_device_info with b'|', 0x00; /*struct*/ media_device_info);
-// ioctl!(readwrite media_ioc_enum_entities with b'|', 0x01; /*struct*/ media_entity_desc);
-// ioctl!(readwrite media_ioc_enum_links with b'|', 0x02; /*struct*/ media_links_enum);
-// ioctl!(readwrite media_ioc_setup_link with b'|', 0x03; /*struct*/ media_link_desc);
-// ioctl!(read meyeioc_g_params with b'v', BASE_VIDIOC_PRIVATE + 0; /*struct*/ meye_params);
-ioctl!(write meyeioc_qbuf_capt with b'v', BASE_VIDIOC_PRIVATE + 2; ::libc::c_int);
-ioctl!(none meyeioc_stillcapt with b'v', BASE_VIDIOC_PRIVATE);
-ioctl!(read meyeioc_stilljcapt with b'v', BASE_VIDIOC_PRIVATE + 5; ::libc::c_int);
-ioctl!(readwrite meyeioc_sync with b'v', BASE_VIDIOC_PRIVATE + 3; ::libc::c_int);
-// ioctl!(write meyeioc_s_params with b'v', BASE_VIDIOC_PRIVATE + 1; /*struct*/ meye_params);
-ioctl!(none mgsl_iocclrmodcount with MGSL_MAGIC_IOC, 15);
-// ioctl!(read mgsl_iocggpio with MGSL_MAGIC_IOC, 17; /*struct*/ gpio_desc);
-ioctl!(none mgsl_iocgif with MGSL_MAGIC_IOC, 11);
-// ioctl!(read mgsl_iocgparams with MGSL_MAGIC_IOC, 1; /*struct*/ _MGSL_PARAMS);
-ioctl!(none mgsl_iocgstats with MGSL_MAGIC_IOC, 7);
-ioctl!(none mgsl_iocgtxidle with MGSL_MAGIC_IOC, 3);
-ioctl!(none mgsl_iocgxctrl with MGSL_MAGIC_IOC, 22);
-ioctl!(none mgsl_iocgxsync with MGSL_MAGIC_IOC, 20);
-ioctl!(none mgsl_ioclooptxdone with MGSL_MAGIC_IOC, 9);
-ioctl!(none mgsl_iocrxenable with MGSL_MAGIC_IOC, 5);
-// ioctl!(write mgsl_iocsgpio with MGSL_MAGIC_IOC, 16; /*struct*/ gpio_desc);
-ioctl!(none mgsl_iocsif with MGSL_MAGIC_IOC, 10);
-// ioctl!(write mgsl_iocsparams with MGSL_MAGIC_IOC, 0; /*struct*/ _MGSL_PARAMS);
-ioctl!(none mgsl_iocstxidle with MGSL_MAGIC_IOC, 2);
-ioctl!(none mgsl_iocsxctrl with MGSL_MAGIC_IOC, 21);
-ioctl!(none mgsl_iocsxsync with MGSL_MAGIC_IOC, 19);
-ioctl!(none mgsl_ioctxabort with MGSL_MAGIC_IOC, 6);
-ioctl!(none mgsl_ioctxenable with MGSL_MAGIC_IOC, 4);
-ioctl!(readwrite mgsl_iocwaitevent with MGSL_MAGIC_IOC, 8; ::libc::c_int);
-// ioctl!(readwrite mgsl_iocwaitgpio with MGSL_MAGIC_IOC, 18; /*struct*/ gpio_desc);
-// ioctl!(readwrite mmc_ioc_cmd with MMC_BLOCK_MAJOR, 0; /*struct*/ mmc_ioc_cmd);
-// ioctl!(read mtiocget with b'm', 2; /*struct*/ mtget);
-// ioctl!(read mtiocget with b'm', 2; /*struct*/ mtget);
-// ioctl!(read mtiocgetconfig with b'm', 4; /*struct*/ mtconfiginfo);
-// ioctl!(read mtiocpos with b'm', 3; /*struct*/ mtpos);
-// ioctl!(read mtiocpos with b'm', 3; /*struct*/ mtpos);
-// ioctl!(write mtiocsetconfig with b'm', 5; /*struct*/ mtconfiginfo);
-// ioctl!(write mtioctop with b'm', 1; /*struct*/ mtop);
-// ioctl!(write mtioctop with b'm', 1; /*struct*/ mtop);
-// ioctl!(write mtrrioc_add_entry with MTRR_IOCTL_BASE, 0; /*struct*/ mtrr_sentry);
-// ioctl!(write mtrrioc_add_page_entry with MTRR_IOCTL_BASE, 5; /*struct*/ mtrr_sentry);
-// ioctl!(write mtrrioc_del_entry with MTRR_IOCTL_BASE, 2; /*struct*/ mtrr_sentry);
-// ioctl!(write mtrrioc_del_page_entry with MTRR_IOCTL_BASE, 7; /*struct*/ mtrr_sentry);
-// ioctl!(readwrite mtrrioc_get_entry with MTRR_IOCTL_BASE, 3; /*struct*/ mtrr_gentry);
-// ioctl!(readwrite mtrrioc_get_page_entry with MTRR_IOCTL_BASE, 8; /*struct*/ mtrr_gentry);
-// ioctl!(write mtrrioc_kill_entry with MTRR_IOCTL_BASE, 4; /*struct*/ mtrr_sentry);
-// ioctl!(write mtrrioc_kill_page_entry with MTRR_IOCTL_BASE, 9; /*struct*/ mtrr_sentry);
-// ioctl!(write mtrrioc_set_entry with MTRR_IOCTL_BASE, 1; /*struct*/ mtrr_sentry);
-// ioctl!(write mtrrioc_set_page_entry with MTRR_IOCTL_BASE, 6; /*struct*/ mtrr_sentry);
-// ioctl!(readwrite nvme_ioctl_admin_cmd with b'N', 0x41; /*struct*/ nvme_admin_cmd);
-ioctl!(none nvme_ioctl_id with b'N', 0x40);
-// ioctl!(write nvme_ioctl_submit_io with b'N', 0x42; /*struct*/ nvme_user_io);
-ioctl!(read osiocgnetaddr with DECNET_IOCTL_BASE, 0xe1; ::libc::c_int);
-ioctl!(write osiocsnetaddr with DECNET_IOCTL_BASE, 0xe0; ::libc::c_int);
-ioctl!(none pciioc_controller with 73, 0);
-ioctl!(none pciioc_mmap_is_io with 73, 1);
-ioctl!(none pciioc_mmap_is_mem with 73, 2);
-ioctl!(none pciioc_write_combine with 73, 3);
-ioctl!(none perf_event_ioc_disable with b'$', 1);
-ioctl!(none perf_event_ioc_enable with b'$', 0);
-ioctl!(read perf_event_ioc_id with b'$', 7; *mut u64);
-ioctl!(write perf_event_ioc_period with b'$', 4; u64);
-ioctl!(none perf_event_ioc_refresh with b'$', 2);
-ioctl!(none perf_event_ioc_reset with b'$', 3);
-ioctl!(write perf_event_ioc_set_filter with b'$', 6; *mut ::libc::c_char);
-ioctl!(none perf_event_ioc_set_output with b'$', 5);
-ioctl!(read pmu_ioc_can_sleep with b'B', 5; ::libc::size_t);
-ioctl!(read pmu_ioc_get_backlight with b'B', 1; ::libc::size_t);
-ioctl!(read pmu_ioc_get_model with b'B', 3; ::libc::size_t);
-ioctl!(read pmu_ioc_grab_backlight with b'B', 6; ::libc::size_t);
-ioctl!(read pmu_ioc_has_adb with b'B', 4; ::libc::size_t);
-ioctl!(write pmu_ioc_set_backlight with b'B', 2; ::libc::size_t);
-ioctl!(none pmu_ioc_sleep with b'B', 0);
-ioctl!(write pppiocattach with b't', 61; ::libc::c_int);
-ioctl!(write pppiocattchan with b't', 56; ::libc::c_int);
-ioctl!(write pppiocbundle with b't', 129; ::libc::c_int);
-ioctl!(write pppiocconnect with b't', 58; ::libc::c_int);
-ioctl!(write pppiocdetach with b't', 60; ::libc::c_int);
-ioctl!(none pppiocdisconn with b't', 57);
-ioctl!(read pppiocgasyncmap with b't', 88; ::libc::c_int);
-// ioctl!(readwrite pppiocgcallinfo with b't', 128; /*struct*/ pppcallinfo);
-ioctl!(read pppiocgchan with b't', 55; ::libc::c_int);
-ioctl!(read pppiocgcompressors with b't', 134; [::libc::c_ulong; 8]);
-ioctl!(read pppiocgdebug with b't', 65; ::libc::c_int);
-ioctl!(read pppiocgflags with b't', 90; ::libc::c_int);
-// ioctl!(read pppiocgidle with b't', 63; /*struct*/ ppp_idle);
-ioctl!(read pppiocgifname with b't', 136; [::libc::c_char; IFNAMSIZ]);
-// ioctl!(read pppiocgl2tpstats with b't', 54; /*struct*/ pppol2tp_ioc_stats);
-ioctl!(read pppiocgmpflags with b't', 130; ::libc::c_int);
-ioctl!(read pppiocgmru with b't', 83; ::libc::c_int);
-// ioctl!(readwrite pppiocgnpmode with b't', 76; /*struct*/ npioctl);
-ioctl!(read pppiocgrasyncmap with b't', 85; ::libc::c_int);
-ioctl!(read pppiocgunit with b't', 86; ::libc::c_int);
-// ioctl!(read pppiocgxasyncmap with b't', 80; FIXME1<['ext_accm']>);
-ioctl!(readwrite pppiocnewunit with b't', 62; ::libc::c_int);
-// ioctl!(write pppiocsactive with b't', 70; /*struct*/ sock_fprog);
-ioctl!(write pppiocsasyncmap with b't', 87; ::libc::c_int);
-// ioctl!(write pppiocscompress with b't', 77; /*struct*/ ppp_option_data);
-ioctl!(write pppiocscompressor with b't', 135; ::libc::c_int);
-ioctl!(write pppiocsdebug with b't', 64; ::libc::c_int);
-ioctl!(write pppiocsflags with b't', 89; ::libc::c_int);
-ioctl!(write pppiocsmaxcid with b't', 81; ::libc::c_int);
-ioctl!(write pppiocsmpflags with b't', 131; ::libc::c_int);
-ioctl!(write pppiocsmpmru with b't', 133; ::libc::c_int);
-ioctl!(write pppiocsmpmtu with b't', 132; ::libc::c_int);
-ioctl!(write pppiocsmrru with b't', 59; ::libc::c_int);
-ioctl!(write pppiocsmru with b't', 82; ::libc::c_int);
-// ioctl!(write pppiocsnpmode with b't', 75; /*struct*/ npioctl);
-// ioctl!(write pppiocspass with b't', 71; /*struct*/ sock_fprog);
-ioctl!(write pppiocsrasyncmap with b't', 84; ::libc::c_int);
-// ioctl!(write pppiocsxasyncmap with b't', 79; FIXME1<['ext_accm']>);
-ioctl!(none pppiocxferunit with b't', 78);
-ioctl!(read reiserfs_ioc_getflags with b'f', 1; ::libc::c_long);
-ioctl!(read reiserfs_ioc_getversion with b'v', 1; ::libc::c_long);
-ioctl!(write resierfs_ioc_setflags with b'f', 2; ::libc::c_long);
-ioctl!(write reiserfs_ioc_setversion with b'v', 2; ::libc::c_long);
-ioctl!(write reiserfs_ioc_unpack with 0xCD, 1; ::libc::c_long);
-ioctl!(none rfkill_ioctl_noinput with RFKILL_IOC_MAGIC, RFKILL_IOC_NOINPUT);
-ioctl!(none scsi_ioctl_benchmark_command with 0, 3);
-ioctl!(none scsi_ioctl_doorlock with 83, 128);
-ioctl!(none scsi_ioctl_doorunlock with 83, 129);
-ioctl!(none scsi_ioctl_get_bus_number with 83, 134);
-ioctl!(none scsi_ioctl_get_idlun with 83, 130);
-ioctl!(none scsi_ioctl_probe_host with 83, 133);
-ioctl!(none scsi_ioctl_send_command with 0, 1);
-ioctl!(none scsi_ioctl_start_unit with 0, 5);
-ioctl!(none scsi_ioctl_stop_unit with 0, 6);
-ioctl!(none scsi_ioctl_sync with 0, 4);
-ioctl!(none scsi_ioctl_tagged_disable with 83, 132);
-ioctl!(none scsi_ioctl_tagged_enable with 83, 131);
-ioctl!(none scsi_ioctl_test_unit_ready with 0, 2);
-ioctl!(none siocadddlci with 137, 128);
-ioctl!(none siocaddmulti with 137, 49);
-ioctl!(none siocaddrt with 137, 11);
-ioctl!(bad siocaipxitfcrt with 35296);
-ioctl!(none siocaipxprislt with 137, 225);
-ioctl!(none siocatalkdifaddr with 137, 224);
-ioctl!(none siocatmark with 137, 5);
-ioctl!(none siocax25addfwd with 137, 234);
-ioctl!(none siocax25adduid with 137, 225);
-ioctl!(none siocax25bpqaddr with 137, 228);
-ioctl!(none siocax25ctlcon with 137, 232);
-ioctl!(none siocax25delfwd with 137, 235);
-ioctl!(none siocax25deluid with 137, 226);
-ioctl!(none siocax25devctl with 137, 236);
-ioctl!(none siocax25getinfo with 137, 237);
-ioctl!(none siocax25getinfoold with 137, 233);
-ioctl!(none siocax25getparms with 137, 229);
-ioctl!(bad siocax25getuid with 35296);
-ioctl!(none siocax25nouid with 137, 227);
-ioctl!(none siocax25optrt with 137, 231);
-ioctl!(none siocax25setparms with 137, 230);
-ioctl!(none siocbondchangeactive with 137, 149);
-ioctl!(none siocbondenslave with 137, 144);
-ioctl!(none siocbondinfoquery with 137, 148);
-ioctl!(none siocbondrelease with 137, 145);
-ioctl!(none siocbondsethwaddr with 137, 146);
-ioctl!(none siocbondslaveinfoquery with 137, 147);
-ioctl!(none siocbraddbr with 137, 160);
-ioctl!(none siocbraddif with 137, 162);
-ioctl!(none siocbrdelbr with 137, 161);
-ioctl!(none siocbrdelif with 137, 163);
-ioctl!(none siocdarp with 137, 83);
-ioctl!(none siocdeldlci with 137, 129);
-ioctl!(none siocdelmulti with 137, 50);
-ioctl!(none siocdelrt with 137, 12);
-ioctl!(bad siocdevplip with 35312);
-ioctl!(none siocdevprivate with 137, 240);
-ioctl!(none siocdifaddr with 137, 54);
-ioctl!(none siocdrarp with 137, 96);
-ioctl!(none siocethtool with 137, 70);
-ioctl!(none siocgarp with 137, 84);
-ioctl!(none siocgbpqethparam with 80, 0);
-ioctl!(none siocgcmfirmware with 137, 241);
-ioctl!(none siocgcmfrequency with 137, 242);
-ioctl!(none siocgcmpids with 137, 244);
-ioctl!(none siocgcmstats with 137, 240);
-ioctl!(none siocgdebserint with 137, 242);
-ioctl!(none siocgdongle with 137, 241);
-ioctl!(bad siocgetlinkname with 35296);
-ioctl!(none siocghwtstamp with 137, 177);
-ioctl!(none siocgifaddr with 137, 21);
-ioctl!(none siocgifbr with 137, 64);
-ioctl!(none siocgifbrdaddr with 137, 25);
-ioctl!(none siocgifconf with 137, 18);
-ioctl!(none siocgifcount with 137, 56);
-ioctl!(none siocgifdstaddr with 137, 23);
-ioctl!(none siocgifencap with 137, 37);
-ioctl!(none siocgifflags with 137, 19);
-ioctl!(none siocgifhwaddr with 137, 39);
-ioctl!(none siocgifindex with 137, 51);
-ioctl!(none siocgifmap with 137, 112);
-ioctl!(none siocgifmem with 137, 31);
-ioctl!(none siocgifmetric with 137, 29);
-ioctl!(none siocgifmtu with 137, 33);
-ioctl!(none siocgifname with 137, 16);
-ioctl!(none siocgifnetmask with 137, 27);
-ioctl!(none siocgifpflags with 137, 53);
-ioctl!(none siocgifslave with 137, 41);
-ioctl!(none siocgiftxqlen with 137, 66);
-ioctl!(none siocgifvlan with 137, 130);
-ioctl!(none siocgkeepalive with 137, 241);
-ioctl!(none siocgkeepperiod with 137, 240);
-ioctl!(none siocglease with 137, 245);
-ioctl!(none siocgmediabusy with 137, 244);
-ioctl!(none siocgmiiphy with 137, 71);
-ioctl!(none siocgmiireg with 137, 72);
-ioctl!(none siocgmode with 137, 247);
-// ioctl!(read siocgnetaddr with DECNET_IOCTL_BASE, 0xe1; /*struct*/ dn_naddr);
-ioctl!(none siocgoutfill with 137, 243);
-ioctl!(none siocgpgrp with 137, 4);
-ioctl!(none siocgpppcstats with 137, 242);
-ioctl!(none siocgpppstats with 137, 240);
-ioctl!(none siocgpppver with 137, 241);
-ioctl!(none siocgqos with 137, 249);
-ioctl!(none siocgrarp with 137, 97);
-ioctl!(none siocgreceiving with 137, 245);
-ioctl!(none siocgstamp with 137, 6);
-ioctl!(none siocgstampns with 137, 7);
-ioctl!(bad siocinq with 21531);
-ioctl!(none siocipxcfgdata with 137, 226);
-ioctl!(none siocipxncpconn with 137, 227);
-ioctl!(none siocmkclip with b'a', ATMIOC_CLIP);
-ioctl!(none siocnrctlcon with 137, 228);
-ioctl!(none siocnrdecobs with 137, 226);
-ioctl!(none siocnrgetparms with 137, 224);
-ioctl!(none siocnrrtctl with 137, 227);
-ioctl!(none siocnrsetparms with 137, 225);
-ioctl!(bad siocoutq with 21521);
-ioctl!(none siocoutqnsd with 137, 75);
-ioctl!(none siocparm_mask with 31, 255);
-ioctl!(none siocprotoprivate with 137, 224);
-ioctl!(none siocrsaccept with 137, 227);
-ioctl!(none siocrsclrrt with 137, 228);
-ioctl!(none siocrsgcause with 137, 224);
-ioctl!(none siocrsgfacilities with 137, 230);
-ioctl!(none siocrsgl2call with 137, 229);
-ioctl!(none siocrsl2call with 137, 226);
-ioctl!(none siocrsscause with 137, 225);
-ioctl!(none siocrssl2call with 137, 226);
-ioctl!(none siocrtmsg with 137, 13);
-ioctl!(none siocsarp with 137, 85);
-ioctl!(none siocsbandwidth with 137, 242);
-ioctl!(none siocsbpqethaddr with 137, 241);
-ioctl!(none siocsbpqethopt with 137, 240);
-ioctl!(none siocsbpqethparam with 80, 1);
-ioctl!(none siocscmfrequency with 137, 243);
-ioctl!(none siocscmpids with 137, 245);
-ioctl!(none siocsdebserint with 137, 243);
-ioctl!(none siocsdongle with 137, 240);
-ioctl!(none siocsdtrrts with 137, 248);
-ioctl!(none siocshwtstamp with 137, 176);
-ioctl!(none siocsifaddr with 137, 22);
-ioctl!(none siocsifatmtcp with b'a', ATMIOC_ITF);
-ioctl!(none siocsifbr with 137, 65);
-ioctl!(none siocsifbrdaddr with 137, 26);
-ioctl!(none siocsifdstaddr with 137, 24);
-ioctl!(none siocsifencap with 137, 38);
-ioctl!(none siocsifflags with 137, 20);
-ioctl!(none siocsifhwaddr with 137, 36);
-ioctl!(none siocsifhwbroadcast with 137, 55);
-ioctl!(none siocsiflink with 137, 17);
-ioctl!(none siocsifmap with 137, 113);
-ioctl!(none siocsifmem with 137, 32);
-ioctl!(none siocsifmetric with 137, 30);
-ioctl!(none siocsifmtu with 137, 34);
-ioctl!(none siocsifname with 137, 35);
-ioctl!(none siocsifnetmask with 137, 28);
-ioctl!(none siocsifpflags with 137, 52);
-ioctl!(none siocsifslave with 137, 48);
-ioctl!(none siocsiftxqlen with 137, 67);
-ioctl!(none siocsifvlan with 137, 131);
-ioctl!(bad siocskeepalive with 35312);
-ioctl!(none siocskeepperiod with 137, 241);
-ioctl!(none siocslease with 137, 244);
-ioctl!(none siocsmediabusy with 137, 243);
-ioctl!(none siocsmiireg with 137, 73);
-ioctl!(none siocsmode with 137, 246);
-// ioctl!(write siocsnetaddr with DECNET_IOCTL_BASE, 0xe0; /*struct*/ dn_naddr);
-ioctl!(none siocsoutfill with 137, 242);
-ioctl!(none siocspgrp with 137, 2);
-ioctl!(none siocsrarp with 137, 98);
-ioctl!(none siocwandev with 137, 74);
-ioctl!(none siocx25callaccptapprv with 137, 232);
-ioctl!(none siocx25gcalluserdata with 137, 228);
-ioctl!(none siocx25gcausediag with 137, 230);
-ioctl!(none siocx25gdtefacilities with 137, 234);
-ioctl!(none siocx25gfacilities with 137, 226);
-ioctl!(none siocx25gsubscrip with 137, 224);
-ioctl!(none siocx25scalluserdata with 137, 229);
-ioctl!(none siocx25scausediag with 137, 236);
-ioctl!(none siocx25scudmatchlen with 137, 231);
-ioctl!(none siocx25sdtefacilities with 137, 235);
-ioctl!(none siocx25sendcallaccpt with 137, 233);
-ioctl!(none siocx25sfacilities with 137, 227);
-ioctl!(none siocx25ssubscrip with 137, 225);
-ioctl!(none sndrv_dm_fm_ioctl_clear_patches with b'H', 0x40);
-// ioctl!(read sndrv_dm_fm_ioctl_info with b'H', 0x20; /*struct*/ snd_dm_fm_info);
-// ioctl!(write sndrv_dm_fm_ioctl_play_note with b'H', 0x22; /*struct*/ snd_dm_fm_note);
-ioctl!(none sndrv_dm_fm_ioctl_reset with b'H', 0x21);
-ioctl!(write sndrv_dm_fm_ioctl_set_connection with b'H', 0x26; ::libc::c_int);
-ioctl!(write sndrv_dm_fm_ioctl_set_mode with b'H', 0x25; ::libc::c_int);
-// ioctl!(write sndrv_dm_fm_ioctl_set_params with b'H', 0x24; /*struct*/ snd_dm_fm_params);
-// ioctl!(write sndrv_dm_fm_ioctl_set_voice with b'H', 0x23; /*struct*/ snd_dm_fm_voice);
-ioctl!(none sndrv_dm_fm_oss_ioctl_play_note with 0, 33);
-ioctl!(none sndrv_dm_fm_oss_ioctl_reset with 0, 32);
-ioctl!(none sndrv_dm_fm_oss_ioctl_set_mode with 0, 36);
-ioctl!(none sndrv_dm_fm_oss_ioctl_set_opl with 0, 37);
-ioctl!(none sndrv_dm_fm_oss_ioctl_set_params with 0, 35);
-ioctl!(none sndrv_dm_fm_oss_ioctl_set_voice with 0, 34);
-// ioctl!(readwrite sndrv_emu10k1_ioctl_code_peek with b'H', 0x12; FIXME1<['emu10k1_fx8010_code_t']>);
-// ioctl!(write sndrv_emu10k1_ioctl_code_poke with b'H', 0x11; FIXME1<['emu10k1_fx8010_code_t']>);
-ioctl!(none sndrv_emu10k1_ioctl_continue with b'H', 0x81);
-ioctl!(read sndrv_emu10k1_ioctl_dbg_read with b'H', 0x84; ::libc::c_int);
-// ioctl!(read sndrv_emu10k1_ioctl_info with b'H', 0x10; FIXME1<['emu10k1_fx8010_info_t']>);
-// ioctl!(readwrite sndrv_emu10k1_ioctl_pcm_peek with b'H', 0x31; FIXME1<['emu10k1_fx8010_pcm_t']>);
-// ioctl!(write sndrv_emu10k1_ioctl_pcm_poke with b'H', 0x30; FIXME1<['emu10k1_fx8010_pcm_t']>);
-ioctl!(read sndrv_emu10k1_ioctl_pversion with b'H', 0x40; ::libc::c_int);
-ioctl!(write sndrv_emu10k1_ioctl_single_step with b'H', 0x83; ::libc::c_int);
-ioctl!(none sndrv_emu10k1_ioctl_stop with b'H', 0x80);
-// ioctl!(readwrite sndrv_emu10k1_ioctl_tram_peek with b'H', 0x22; FIXME1<['emu10k1_fx8010_tram_t']>);
-// ioctl!(write sndrv_emu10k1_ioctl_tram_poke with b'H', 0x21; FIXME1<['emu10k1_fx8010_tram_t']>);
-ioctl!(write sndrv_emu10k1_ioctl_tram_setup with b'H', 0x20; ::libc::c_int);
-ioctl!(none sndrv_emu10k1_ioctl_zero_tram_counter with b'H', 0x82);
-// ioctl!(read sndrv_firewire_ioctl_get_info with b'H', 0xf8; /*struct*/ snd_firewire_get_info);
-ioctl!(none sndrv_firewire_ioctl_lock with b'H', 0xf9);
-ioctl!(none sndrv_firewire_ioctl_unlock with b'H', 0xfa);
-// ioctl!(read sndrv_hdsp_ioctl_get_9632_aeb with b'H', 0x45; FIXME1<['hdsp_9632_aeb_t']>);
-// ioctl!(read sndrv_hdsp_ioctl_get_9632_aeb with b'H', 0x45; /*struct*/ hdsp_9632_aeb);
-// ioctl!(read sndrv_hdsp_ioctl_get_config_info with b'H', 0x41; FIXME1<['hdsp_config_info_t']>);
-// ioctl!(read sndrv_hdsp_ioctl_get_config_info with b'H', 0x41; /*struct*/ hdsp_config_info);
-// ioctl!(read sndrv_hdsp_ioctl_get_mixer with b'H', 0x44; FIXME1<['hdsp_mixer_t']>);
-// ioctl!(read sndrv_hdsp_ioctl_get_mixer with b'H', 0x44; /*struct*/ hdsp_mixer);
-// ioctl!(read sndrv_hdsp_ioctl_get_peak_rms with b'H', 0x40; FIXME1<['hdsp_peak_rms_t']>);
-// ioctl!(read sndrv_hdsp_ioctl_get_peak_rms with b'H', 0x40; /*struct*/ hdsp_peak_rms);
-// ioctl!(read sndrv_hdsp_ioctl_get_version with b'H', 0x43; FIXME1<['hdsp_version_t']>);
-// ioctl!(read sndrv_hdsp_ioctl_get_version with b'H', 0x43; /*struct*/ hdsp_version);
-// ioctl!(write sndrv_hdsp_ioctl_upload_firmware with b'H', 0x42; FIXME1<['hdsp_firmware_t']>);
-// ioctl!(write sndrv_hdsp_ioctl_upload_firmware with b'H', 0x42; /*struct*/ hdsp_firmware);
-// ioctl!(read sndrv_sb_csp_ioctl_info with b'H', 0x10; FIXME1<['snd_sb_csp_info_t']>);
-// ioctl!(read sndrv_sb_csp_ioctl_info with b'H', 0x10; /*struct*/ snd_sb_csp_info);
-// TODO #define SNDRV_SB_CSP_IOCTL_LOAD_CODE _IOC ( _IOC_WRITE , 'H' , 0x11 , sizeof ( struct snd_sb_csp_microcode ) )
-// ioctl!(write sndrv_sb_csp_ioctl_load_code with b'H', 0x11; FIXME1<['snd_sb_csp_microcode_t']>);
-ioctl!(none sndrv_sb_csp_ioctl_pause with b'H', 0x15);
-ioctl!(none sndrv_sb_csp_ioctl_restart with b'H', 0x16);
-// ioctl!(write sndrv_sb_csp_ioctl_start with b'H', 0x13; FIXME1<['snd_sb_csp_start_t']>);
-// ioctl!(write sndrv_sb_csp_ioctl_start with b'H', 0x13; /*struct*/ snd_sb_csp_start);
-ioctl!(none sndrv_sb_csp_ioctl_stop with b'H', 0x14);
-ioctl!(none sndrv_sb_csp_ioctl_unload_code with b'H', 0x12);
-ioctl!(read sonypi_iocgbat1cap with b'v', 2; u16);
-ioctl!(read sonypi_iocgbat1rem with b'v', 3; u16);
-ioctl!(read sonypi_iocgbat2cap with b'v', 4; u16);
-ioctl!(read sonypi_iocgbat2rem with b'v', 5; u16);
-ioctl!(read sonypi_iocgbatflags with b'v', 7; u8);
-ioctl!(read sonypi_iocgblue with b'v', 8; u8);
-ioctl!(read sonypi_iocgbrt with b'v', 0; u8);
-ioctl!(read sonypi_iocgfan with b'v', 10; u8);
-ioctl!(read sonypi_iocgtemp with b'v', 12; u8);
-ioctl!(write sonypi_iocsblue with b'v', 9; u8);
-ioctl!(write sonypi_iocsbrt with b'v', 0; u8);
-ioctl!(write sonypi_iocsfan with b'v', 11; u8);
-ioctl!(write spiocstype with b'q', 0x01; ::libc::c_ulong);
-// TODO #define SPI_IOC_MESSAGE ( N ) _IOW ( SPI_IOC_MAGIC , 0 , char [ SPI_MSGSIZE ( N ) ] )
-ioctl!(read spi_ioc_rd_bits_per_word with SPI_IOC_MAGIC, 3; u8);
-ioctl!(read spi_ioc_rd_lsb_first with SPI_IOC_MAGIC, 2; u8);
-ioctl!(read spi_ioc_rd_max_speed_hz with SPI_IOC_MAGIC, 4; u32);
-ioctl!(read spi_ioc_rd_mode with SPI_IOC_MAGIC, 1; u8);
-ioctl!(read spi_ioc_rd_mode32 with SPI_IOC_MAGIC, 5; u32);
-ioctl!(write spi_ioc_wr_bits_per_word with SPI_IOC_MAGIC, 3; u8);
-ioctl!(write spi_ioc_wr_lsb_first with SPI_IOC_MAGIC, 2; u8);
-ioctl!(write spi_ioc_wr_max_speed_hz with SPI_IOC_MAGIC, 4; u32);
-ioctl!(write spi_ioc_wr_mode with SPI_IOC_MAGIC, 1; u8);
-ioctl!(write spi_ioc_wr_mode32 with SPI_IOC_MAGIC, 5; u32);
-ioctl!(none sys_f_ioctlsocket with 0, 5);
-ioctl!(none tioccbrk with 84, 40);
-ioctl!(none tioccons with 84, 29);
-ioctl!(none tiocexcl with 84, 12);
-ioctl!(read tiocgdev with b'T', 0x32; ::libc::c_uint);
-ioctl!(none tiocgetd with 84, 36);
-ioctl!(read tiocgexcl with b'T', 0x40; ::libc::c_int);
-ioctl!(none tiocgicount with 84, 93);
-ioctl!(none tiocglcktrmios with 84, 86);
-ioctl!(none tiocgpgrp with 84, 15);
-ioctl!(read tiocgpkt with b'T', 0x38; ::libc::c_int);
-ioctl!(read tiocgptlck with b'T', 0x39; ::libc::c_int);
-ioctl!(read tiocgptn with b'T', 0x30; ::libc::c_uint);
-ioctl!(none tiocgrs485 with 84, 46);
-ioctl!(none tiocgserial with 84, 30);
-ioctl!(none tiocgsid with 84, 41);
-ioctl!(none tiocgsoftcar with 84, 25);
-ioctl!(none tiocgwinsz with 84, 19);
-ioctl!(bad tiocinq with 21531);
-ioctl!(none tioclinux with 84, 28);
-ioctl!(none tiocl_blankedscreen with 0, 15);
-ioctl!(none tiocl_blankscreen with 0, 14);
-ioctl!(none tiocl_getfgconsole with 0, 12);
-ioctl!(none tiocl_getkmsgredirect with 0, 17);
-ioctl!(none tiocl_getmousereporting with 0, 7);
-ioctl!(none tiocl_getshiftstate with 0, 6);
-ioctl!(none tiocl_pastesel with 0, 3);
-ioctl!(none tiocl_scrollconsole with 0, 13);
-ioctl!(none tiocl_selbuttonmask with 0, 15);
-ioctl!(none tiocl_selchar with 0, 0);
-ioctl!(none tiocl_selclear with 0, 4);
-ioctl!(none tiocl_selline with 0, 2);
-ioctl!(none tiocl_selloadlut with 0, 5);
-ioctl!(none tiocl_selmousereport with 0, 16);
-ioctl!(none tiocl_selpointer with 0, 3);
-ioctl!(none tiocl_selword with 0, 1);
-ioctl!(none tiocl_setkmsgredirect with 0, 11);
-ioctl!(none tiocl_setsel with 0, 2);
-ioctl!(none tiocl_setvesablank with 0, 10);
-ioctl!(none tiocl_unblankscreen with 0, 4);
-ioctl!(none tiocmbic with 84, 23);
-ioctl!(none tiocmbis with 84, 22);
-ioctl!(none tiocmget with 84, 21);
-ioctl!(none tiocmiwait with 84, 92);
-ioctl!(none tiocmset with 84, 24);
-ioctl!(none tiocm_car with 0, 64);
-ioctl!(bad tiocm_cd with 64);
-ioctl!(none tiocm_cts with 0, 32);
-ioctl!(none tiocm_dsr with 1, 0);
-ioctl!(none tiocm_dtr with 0, 2);
-ioctl!(none tiocm_le with 0, 1);
-ioctl!(none tiocm_loop with 128, 0);
-ioctl!(none tiocm_out1 with 32, 0);
-ioctl!(none tiocm_out2 with 64, 0);
-ioctl!(bad tiocm_ri with 128);
-ioctl!(none tiocm_rng with 0, 128);
-ioctl!(none tiocm_rts with 0, 4);
-ioctl!(none tiocm_sr with 0, 16);
-ioctl!(none tiocm_st with 0, 8);
-ioctl!(none tiocnotty with 84, 34);
-ioctl!(none tiocnxcl with 84, 13);
-ioctl!(none tiocoutq with 84, 17);
-ioctl!(none tiocpkt with 84, 32);
-ioctl!(none tiocpkt_data with 0, 0);
-ioctl!(none tiocpkt_dostop with 0, 32);
-ioctl!(none tiocpkt_flushread with 0, 1);
-ioctl!(none tiocpkt_flushwrite with 0, 2);
-ioctl!(none tiocpkt_ioctl with 0, 64);
-ioctl!(none tiocpkt_nostop with 0, 16);
-ioctl!(none tiocpkt_start with 0, 8);
-ioctl!(none tiocpkt_stop with 0, 4);
-ioctl!(none tiocsbrk with 84, 39);
-ioctl!(none tiocsctty with 84, 14);
-ioctl!(none tiocserconfig with 84, 83);
-ioctl!(none tiocsergetlsr with 84, 89);
-ioctl!(none tiocsergetmulti with 84, 90);
-ioctl!(none tiocsergstruct with 84, 88);
-ioctl!(none tiocsergwild with 84, 84);
-ioctl!(none tiocsersetmulti with 84, 91);
-ioctl!(none tiocserswild with 84, 85);
-ioctl!(none tiocser_temt with 0, 1);
-ioctl!(none tiocsetd with 84, 35);
-ioctl!(write tiocsig with b'T', 0x36; ::libc::c_int);
-ioctl!(none tiocslcktrmios with 84, 87);
-ioctl!(none tiocspgrp with 84, 16);
-ioctl!(write tiocsptlck with b'T', 0x31; ::libc::c_int);
-ioctl!(none tiocsrs485 with 84, 47);
-ioctl!(none tiocsserial with 84, 31);
-ioctl!(none tiocssoftcar with 84, 26);
-ioctl!(none tiocsti with 84, 18);
-ioctl!(none tiocswinsz with 84, 20);
-ioctl!(none tiocvhangup with 84, 55);
-// ioctl!(write ubi_iocatt with UBI_CTRL_IOC_MAGIC, 64; /*struct*/ ubi_attach_req);
-ioctl!(write ubi_iocdet with UBI_CTRL_IOC_MAGIC, 65; i32);
-ioctl!(write ubi_iocebch with UBI_VOL_IOC_MAGIC, 2; i32);
-ioctl!(write ubi_ioceber with UBI_VOL_IOC_MAGIC, 1; i32);
-ioctl!(read ubi_iocebismap with UBI_VOL_IOC_MAGIC, 5; i32);
-// ioctl!(write ubi_iocebmap with UBI_VOL_IOC_MAGIC, 3; /*struct*/ ubi_map_req);
-ioctl!(write ubi_iocebunmap with UBI_VOL_IOC_MAGIC, 4; i32);
-// ioctl!(write ubi_iocmkvol with UBI_IOC_MAGIC, 0; /*struct*/ ubi_mkvol_req);
-ioctl!(write ubi_iocrmvol with UBI_IOC_MAGIC, 1; i32);
-// ioctl!(write ubi_iocrnvol with UBI_IOC_MAGIC, 3; /*struct*/ ubi_rnvol_req);
-// ioctl!(write ubi_iocrsvol with UBI_IOC_MAGIC, 2; /*struct*/ ubi_rsvol_req);
-// ioctl!(write ubi_iocsetvolprop with UBI_VOL_IOC_MAGIC, 6; /*struct*/ ubi_set_vol_prop_req);
-// ioctl!(write ubi_iocvolcrblk with UBI_VOL_IOC_MAGIC, 7; /*struct*/ ubi_blkcreate_req);
-ioctl!(none ubi_iocvolrmblk with UBI_VOL_IOC_MAGIC, 8);
-ioctl!(write ubi_iocvolup with UBI_VOL_IOC_MAGIC, 0; i64);
-// ioctl!(readwrite usbdevfs_ioctl with b'U', 18; /*struct*/ usbdevfs_ioctl);
-// ioctl!(readwrite usbdevfs_ioctl32 with b'U', 18; /*struct*/ usbdevfs_ioctl32);
-ioctl!(none usbtmc_ioctl_abort_bulk_in with USBTMC_IOC_NR, 4);
-ioctl!(none usbtmc_ioctl_abort_bulk_out with USBTMC_IOC_NR, 3);
-ioctl!(none usbtmc_ioctl_clear with USBTMC_IOC_NR, 2);
-ioctl!(none usbtmc_ioctl_clear_in_halt with USBTMC_IOC_NR, 7);
-ioctl!(none usbtmc_ioctl_clear_out_halt with USBTMC_IOC_NR, 6);
-ioctl!(none usbtmc_ioctl_indicator_pulse with USBTMC_IOC_NR, 1);
-// ioctl!(readwrite uvcioc_ctrl_map with b'u', 0x20; /*struct*/ uvc_xu_control_mapping);
-// ioctl!(readwrite uvcioc_ctrl_query with b'u', 0x21; /*struct*/ uvc_xu_control_query);
-// ioctl!(read vfat_ioctl_readdir_both with b'r', 1; [/*struct*/ __fat_dirent; 2]);
-// ioctl!(read vfat_ioctl_readdir_short with b'r', 2; [/*struct*/ __fat_dirent; 2]);
-// ioctl!(readwrite vidioc_create_bufs with b'V', 92; /*struct*/ v4l2_create_buffers);
-// ioctl!(readwrite vidioc_cropcap with b'V', 58; /*struct*/ v4l2_cropcap);
-// ioctl!(readwrite vidioc_dbg_g_chip_info with b'V', 102; /*struct*/ v4l2_dbg_chip_info);
-// ioctl!(readwrite vidioc_dbg_g_register with b'V', 80; /*struct*/ v4l2_dbg_register);
-// ioctl!(write vidioc_dbg_s_register with b'V', 79; /*struct*/ v4l2_dbg_register);
-// ioctl!(readwrite vidioc_decoder_cmd with b'V', 96; /*struct*/ v4l2_decoder_cmd);
-// ioctl!(readwrite vidioc_dqbuf with b'V', 17; /*struct*/ v4l2_buffer);
-// ioctl!(read vidioc_dqevent with b'V', 89; /*struct*/ v4l2_event);
-// ioctl!(readwrite vidioc_dv_timings_cap with b'V', 100; /*struct*/ v4l2_dv_timings_cap);
-// ioctl!(readwrite vidioc_encoder_cmd with b'V', 77; /*struct*/ v4l2_encoder_cmd);
-// ioctl!(readwrite vidioc_enumaudio with b'V', 65; /*struct*/ v4l2_audio);
-// ioctl!(readwrite vidioc_enumaudout with b'V', 66; /*struct*/ v4l2_audioout);
-// ioctl!(readwrite vidioc_enuminput with b'V', 26; /*struct*/ v4l2_input);
-// ioctl!(readwrite vidioc_enumoutput with b'V', 48; /*struct*/ v4l2_output);
-// ioctl!(readwrite vidioc_enumstd with b'V', 25; /*struct*/ v4l2_standard);
-// ioctl!(readwrite vidioc_enum_dv_timings with b'V', 98; /*struct*/ v4l2_enum_dv_timings);
-// ioctl!(readwrite vidioc_enum_fmt with b'V', 2; /*struct*/ v4l2_fmtdesc);
-// ioctl!(readwrite vidioc_enum_frameintervals with b'V', 75; /*struct*/ v4l2_frmivalenum);
-// ioctl!(readwrite vidioc_enum_framesizes with b'V', 74; /*struct*/ v4l2_frmsizeenum);
-// ioctl!(readwrite vidioc_enum_freq_bands with b'V', 101; /*struct*/ v4l2_frequency_band);
-// ioctl!(readwrite vidioc_expbuf with b'V', 16; /*struct*/ v4l2_exportbuffer);
-// ioctl!(read vidioc_g_audio with b'V', 33; /*struct*/ v4l2_audio);
-// ioctl!(read vidioc_g_audout with b'V', 49; /*struct*/ v4l2_audioout);
-// ioctl!(readwrite vidioc_g_crop with b'V', 59; /*struct*/ v4l2_crop);
-// ioctl!(readwrite vidioc_g_ctrl with b'V', 27; /*struct*/ v4l2_control);
-// ioctl!(readwrite vidioc_g_dv_timings with b'V', 88; /*struct*/ v4l2_dv_timings);
-// ioctl!(readwrite vidioc_g_edid with b'V', 40; /*struct*/ v4l2_edid);
-// ioctl!(read vidioc_g_enc_index with b'V', 76; /*struct*/ v4l2_enc_idx);
-// ioctl!(readwrite vidioc_g_ext_ctrls with b'V', 71; /*struct*/ v4l2_ext_controls);
-// ioctl!(read vidioc_g_fbuf with b'V', 10; /*struct*/ v4l2_framebuffer);
-// ioctl!(readwrite vidioc_g_fmt with b'V', 4; /*struct*/ v4l2_format);
-// ioctl!(readwrite vidioc_g_frequency with b'V', 56; /*struct*/ v4l2_frequency);
-ioctl!(read vidioc_g_input with b'V', 38; ::libc::c_int);
-// ioctl!(read vidioc_g_jpegcomp with b'V', 61; /*struct*/ v4l2_jpegcompression);
-// ioctl!(readwrite vidioc_g_modulator with b'V', 54; /*struct*/ v4l2_modulator);
-ioctl!(read vidioc_g_output with b'V', 46; ::libc::c_int);
-// ioctl!(readwrite vidioc_g_parm with b'V', 21; /*struct*/ v4l2_streamparm);
-ioctl!(read vidioc_g_priority with b'V', 67; u32);
-// ioctl!(readwrite vidioc_g_selection with b'V', 94; /*struct*/ v4l2_selection);
-// ioctl!(readwrite vidioc_g_sliced_vbi_cap with b'V', 69; /*struct*/ v4l2_sliced_vbi_cap);
-// ioctl!(read vidioc_g_std with b'V', 23; FIXME1<['v4l2_std_id']>);
-// ioctl!(readwrite vidioc_g_tuner with b'V', 29; /*struct*/ v4l2_tuner);
-ioctl!(none vidioc_log_status with b'V', 70);
-// ioctl!(readwrite vidioc_omap3isp_aewb_cfg with b'V', BASE_VIDIOC_PRIVATE + 3; /*struct*/ omap3isp_h3a_aewb_config);
-// ioctl!(readwrite vidioc_omap3isp_af_cfg with b'V', BASE_VIDIOC_PRIVATE + 5; /*struct*/ omap3isp_h3a_af_config);
-// ioctl!(readwrite vidioc_omap3isp_ccdc_cfg with b'V', BASE_VIDIOC_PRIVATE + 1; /*struct*/ omap3isp_ccdc_update_config);
-// ioctl!(readwrite vidioc_omap3isp_hist_cfg with b'V', BASE_VIDIOC_PRIVATE + 4; /*struct*/ omap3isp_hist_config);
-// ioctl!(readwrite vidioc_omap3isp_prv_cfg with b'V', BASE_VIDIOC_PRIVATE + 2; /*struct*/ omap3isp_prev_update_config);
-ioctl!(readwrite vidioc_omap3isp_stat_en with b'V', BASE_VIDIOC_PRIVATE + 7; ::libc::c_ulong);
-// ioctl!(readwrite vidioc_omap3isp_stat_req with b'V', BASE_VIDIOC_PRIVATE + 6; /*struct*/ omap3isp_stat_data);
-ioctl!(write vidioc_overlay with b'V', 14; ::libc::c_int);
-// ioctl!(readwrite vidioc_prepare_buf with b'V', 93; /*struct*/ v4l2_buffer);
-// ioctl!(readwrite vidioc_qbuf with b'V', 15; /*struct*/ v4l2_buffer);
-// ioctl!(readwrite vidioc_querybuf with b'V', 9; /*struct*/ v4l2_buffer);
-// ioctl!(read vidioc_querycap with b'V', 0; /*struct*/ v4l2_capability);
-// ioctl!(readwrite vidioc_queryctrl with b'V', 36; /*struct*/ v4l2_queryctrl);
-// ioctl!(readwrite vidioc_querymenu with b'V', 37; /*struct*/ v4l2_querymenu);
-// ioctl!(read vidioc_querystd with b'V', 63; FIXME1<['v4l2_std_id']>);
-// ioctl!(read vidioc_query_dv_timings with b'V', 99; /*struct*/ v4l2_dv_timings);
-// ioctl!(readwrite vidioc_query_ext_ctrl with b'V', 103; /*struct*/ v4l2_query_ext_ctrl);
-// ioctl!(readwrite vidioc_reqbufs with b'V', 8; /*struct*/ v4l2_requestbuffers);
-ioctl!(none vidioc_reserved with b'V', 1);
-ioctl!(write vidioc_streamoff with b'V', 19; ::libc::c_int);
-ioctl!(write vidioc_streamon with b'V', 18; ::libc::c_int);
-// ioctl!(readwrite vidioc_subdev_dv_timings_cap with b'V', 100; /*struct*/ v4l2_dv_timings_cap);
-// ioctl!(readwrite vidioc_subdev_enum_dv_timings with b'V', 98; /*struct*/ v4l2_enum_dv_timings);
-// ioctl!(readwrite vidioc_subdev_enum_frame_interval with b'V', 75; /*struct*/ v4l2_subdev_frame_interval_enum);
-// ioctl!(readwrite vidioc_subdev_enum_frame_size with b'V', 74; /*struct*/ v4l2_subdev_frame_size_enum);
-// ioctl!(readwrite vidioc_subdev_enum_mbus_code with b'V', 2; /*struct*/ v4l2_subdev_mbus_code_enum);
-// ioctl!(readwrite vidioc_subdev_g_crop with b'V', 59; /*struct*/ v4l2_subdev_crop);
-// ioctl!(readwrite vidioc_subdev_g_dv_timings with b'V', 88; /*struct*/ v4l2_dv_timings);
-// ioctl!(readwrite vidioc_subdev_g_edid with b'V', 40; /*struct*/ v4l2_edid);
-// ioctl!(readwrite vidioc_subdev_g_fmt with b'V', 4; /*struct*/ v4l2_subdev_format);
-// ioctl!(readwrite vidioc_subdev_g_frame_interval with b'V', 21; /*struct*/ v4l2_subdev_frame_interval);
-// ioctl!(readwrite vidioc_subdev_g_selection with b'V', 61; /*struct*/ v4l2_subdev_selection);
-// ioctl!(read vidioc_subdev_query_dv_timings with b'V', 99; /*struct*/ v4l2_dv_timings);
-// ioctl!(readwrite vidioc_subdev_s_crop with b'V', 60; /*struct*/ v4l2_subdev_crop);
-// ioctl!(readwrite vidioc_subdev_s_dv_timings with b'V', 87; /*struct*/ v4l2_dv_timings);
-// ioctl!(readwrite vidioc_subdev_s_edid with b'V', 41; /*struct*/ v4l2_edid);
-// ioctl!(readwrite vidioc_subdev_s_fmt with b'V', 5; /*struct*/ v4l2_subdev_format);
-// ioctl!(readwrite vidioc_subdev_s_frame_interval with b'V', 22; /*struct*/ v4l2_subdev_frame_interval);
-// ioctl!(readwrite vidioc_subdev_s_selection with b'V', 62; /*struct*/ v4l2_subdev_selection);
-// ioctl!(write vidioc_subscribe_event with b'V', 90; /*struct*/ v4l2_event_subscription);
-// ioctl!(write vidioc_s_audio with b'V', 34; /*struct*/ v4l2_audio);
-// ioctl!(write vidioc_s_audout with b'V', 50; /*struct*/ v4l2_audioout);
-// ioctl!(write vidioc_s_crop with b'V', 60; /*struct*/ v4l2_crop);
-// ioctl!(readwrite vidioc_s_ctrl with b'V', 28; /*struct*/ v4l2_control);
-// ioctl!(readwrite vidioc_s_dv_timings with b'V', 87; /*struct*/ v4l2_dv_timings);
-// ioctl!(readwrite vidioc_s_edid with b'V', 41; /*struct*/ v4l2_edid);
-// ioctl!(readwrite vidioc_s_ext_ctrls with b'V', 72; /*struct*/ v4l2_ext_controls);
-// ioctl!(write vidioc_s_fbuf with b'V', 11; /*struct*/ v4l2_framebuffer);
-// ioctl!(readwrite vidioc_s_fmt with b'V', 5; /*struct*/ v4l2_format);
-// ioctl!(write vidioc_s_frequency with b'V', 57; /*struct*/ v4l2_frequency);
-// ioctl!(write vidioc_s_hw_freq_seek with b'V', 82; /*struct*/ v4l2_hw_freq_seek);
-ioctl!(readwrite vidioc_s_input with b'V', 39; ::libc::c_int);
-// ioctl!(write vidioc_s_jpegcomp with b'V', 62; /*struct*/ v4l2_jpegcompression);
-// ioctl!(write vidioc_s_modulator with b'V', 55; /*struct*/ v4l2_modulator);
-ioctl!(readwrite vidioc_s_output with b'V', 47; ::libc::c_int);
-// ioctl!(readwrite vidioc_s_parm with b'V', 22; /*struct*/ v4l2_streamparm);
-ioctl!(write vidioc_s_priority with b'V', 68; u32);
-// ioctl!(readwrite vidioc_s_selection with b'V', 95; /*struct*/ v4l2_selection);
-// ioctl!(write vidioc_s_std with b'V', 24; FIXME1<['v4l2_std_id']>);
-// ioctl!(write vidioc_s_tuner with b'V', 30; /*struct*/ v4l2_tuner);
-// ioctl!(readwrite vidioc_try_decoder_cmd with b'V', 97; /*struct*/ v4l2_decoder_cmd);
-// ioctl!(readwrite vidioc_try_encoder_cmd with b'V', 78; /*struct*/ v4l2_encoder_cmd);
-// ioctl!(readwrite vidioc_try_ext_ctrls with b'V', 73; /*struct*/ v4l2_ext_controls);
-// ioctl!(readwrite vidioc_try_fmt with b'V', 64; /*struct*/ v4l2_format);
-// ioctl!(write vidioc_unsubscribe_event with b'V', 91; /*struct*/ v4l2_event_subscription);
-ioctl!(read wdioc_getbootstatus with WATCHDOG_IOCTL_BASE, 2; ::libc::c_int);
-ioctl!(read wdioc_getpretimeout with WATCHDOG_IOCTL_BASE, 9; ::libc::c_int);
-ioctl!(read wdioc_getstatus with WATCHDOG_IOCTL_BASE, 1; ::libc::c_int);
-// ioctl!(read wdioc_getsupport with WATCHDOG_IOCTL_BASE, 0; /*struct*/ watchdog_info);
-ioctl!(read wdioc_gettemp with WATCHDOG_IOCTL_BASE, 3; ::libc::c_int);
-ioctl!(read wdioc_gettimeleft with WATCHDOG_IOCTL_BASE, 10; ::libc::c_int);
-ioctl!(read wdioc_gettimeout with WATCHDOG_IOCTL_BASE, 7; ::libc::c_int);
-ioctl!(read wdioc_keepalive with WATCHDOG_IOCTL_BASE, 5; ::libc::c_int);
-ioctl!(read wdioc_setoptions with WATCHDOG_IOCTL_BASE, 4; ::libc::c_int);
-ioctl!(readwrite wdioc_setpretimeout with WATCHDOG_IOCTL_BASE, 8; ::libc::c_int);
-ioctl!(readwrite wdioc_settimeout with WATCHDOG_IOCTL_BASE, 6; ::libc::c_int);
-ioctl!(readwrite x86_ioc_rdmsr_regs with b'c', 0xA0; [u32; 8]);
-ioctl!(readwrite x86_ioc_wrmsr_regs with b'c', 0xA1; [u32; 8]);
-// ioctl!(write xfs_ioc_allocsp with b'X', 10; /*struct*/ xfs_flock64);
-// ioctl!(write xfs_ioc_allocsp64 with b'X', 36; /*struct*/ xfs_flock64);
-// ioctl!(write xfs_ioc_attrlist_by_handle with b'X', 122; /*struct*/ xfs_fsop_attrlist_handlereq);
-// ioctl!(write xfs_ioc_attrmulti_by_handle with b'X', 123; /*struct*/ xfs_fsop_attrmulti_handlereq);
-// ioctl!(read xfs_ioc_dioinfo with b'X', 30; /*struct*/ dioattr);
-// ioctl!(write xfs_ioc_error_clearall with b'X', 117; /*struct*/ xfs_error_injection);
-// ioctl!(write xfs_ioc_error_injection with b'X', 116; /*struct*/ xfs_error_injection);
-// ioctl!(readwrite xfs_ioc_fd_to_handle with b'X', 106; /*struct*/ xfs_fsop_handlereq);
-// ioctl!(write xfs_ioc_freesp with b'X', 11; /*struct*/ xfs_flock64);
-// ioctl!(write xfs_ioc_freesp64 with b'X', 37; /*struct*/ xfs_flock64);
-ioctl!(readwrite xfs_ioc_freeze with b'X', 119; ::libc::c_int);
-// ioctl!(read xfs_ioc_free_eofblocks with b'X', 58; /*struct*/ xfs_fs_eofblocks);
-// ioctl!(readwrite xfs_ioc_fsbulkstat with b'X', 101; /*struct*/ xfs_fsop_bulkreq);
-// ioctl!(readwrite xfs_ioc_fsbulkstat_single with b'X', 102; /*struct*/ xfs_fsop_bulkreq);
-// ioctl!(read xfs_ioc_fscounts with b'X', 113; /*struct*/ xfs_fsop_counts);
-// ioctl!(read xfs_ioc_fsgeometry with b'X', 124; /*struct*/ xfs_fsop_geom);
-// ioctl!(read xfs_ioc_fsgeometry_v1 with b'X', 100; /*struct*/ xfs_fsop_geom_v1);
-// ioctl!(read xfs_ioc_fsgetxattr with b'X', 31; /*struct*/ fsxattr);
-// ioctl!(read xfs_ioc_fsgetxattra with b'X', 45; /*struct*/ fsxattr);
-// ioctl!(write xfs_ioc_fsgrowfsdata with b'X', 110; /*struct*/ xfs_growfs_data);
-// ioctl!(write xfs_ioc_fsgrowfslog with b'X', 111; /*struct*/ xfs_growfs_log);
-// ioctl!(write xfs_ioc_fsgrowfsrt with b'X', 112; /*struct*/ xfs_growfs_rt);
-// ioctl!(readwrite xfs_ioc_fsinumbers with b'X', 103; /*struct*/ xfs_fsop_bulkreq);
-// ioctl!(write xfs_ioc_fssetdm with b'X', 39; /*struct*/ fsdmidata);
-// ioctl!(write xfs_ioc_fssetdm_by_handle with b'X', 121; /*struct*/ xfs_fsop_setdm_handlereq);
-// ioctl!(write xfs_ioc_fssetxattr with b'X', 32; /*struct*/ fsxattr);
-// ioctl!(readwrite xfs_ioc_getbmap with b'X', 38; /*struct*/ getbmap);
-// ioctl!(readwrite xfs_ioc_getbmapa with b'X', 44; /*struct*/ getbmap);
-// ioctl!(readwrite xfs_ioc_getbmapx with b'X', 56; /*struct*/ getbmap);
-ioctl!(read xfs_ioc_getversion with b'v', 1; ::libc::c_long);
-ioctl!(read xfs_ioc_getxflags with b'f', 1; ::libc::c_long);
-// ioctl!(read xfs_ioc_get_resblks with b'X', 115; /*struct*/ xfs_fsop_resblks);
-ioctl!(read xfs_ioc_goingdown with b'X', 125; u32);
-// ioctl!(readwrite xfs_ioc_open_by_handle with b'X', 107; /*struct*/ xfs_fsop_handlereq);
-// ioctl!(readwrite xfs_ioc_path_to_fshandle with b'X', 104; /*struct*/ xfs_fsop_handlereq);
-// ioctl!(readwrite xfs_ioc_path_to_handle with b'X', 105; /*struct*/ xfs_fsop_handlereq);
-// ioctl!(readwrite xfs_ioc_readlink_by_handle with b'X', 108; /*struct*/ xfs_fsop_handlereq);
-// ioctl!(write xfs_ioc_resvsp with b'X', 40; /*struct*/ xfs_flock64);
-// ioctl!(write xfs_ioc_resvsp64 with b'X', 42; /*struct*/ xfs_flock64);
-ioctl!(write xfs_ioc_setxflags with b'f', 2; ::libc::c_long);
-// ioctl!(readwrite xfs_ioc_set_resblks with b'X', 114; /*struct*/ xfs_fsop_resblks);
-// ioctl!(readwrite xfs_ioc_swapext with b'X', 109; /*struct*/ xfs_swapext);
-ioctl!(readwrite xfs_ioc_thaw with b'X', 120; ::libc::c_int);
-// ioctl!(write xfs_ioc_unresvsp with b'X', 41; /*struct*/ xfs_flock64);
-// ioctl!(write xfs_ioc_unresvsp64 with b'X', 43; /*struct*/ xfs_flock64);
-// ioctl!(write xfs_ioc_zero_range with b'X', 57; /*struct*/ xfs_flock64);
-ioctl!(none fioclex with 84, 81);
-ioctl!(none cz_nboards with 77, 250);
-ioctl!(none cz_boot_start with 77, 251);
-ioctl!(none cz_boot_data with 77, 252);
-ioctl!(none cz_boot_end with 77, 253);
-ioctl!(none cz_test with 77, 254);
diff --git a/src/sys/ioctl/platform/linux.rs b/src/sys/ioctl/platform/linux.rs
index b0bbe294..39245461 100644
--- a/src/sys/ioctl/platform/linux.rs
+++ b/src/sys/ioctl/platform/linux.rs
@@ -167,236 +167,3 @@ pub const OUT: u32 = (READ as u32) << DIRSHIFT;
pub const INOUT: u32 = ((READ|WRITE) as u32) << DIRSHIFT;
#[doc(hidden)]
pub const SIZE_MASK: u32 = SIZEMASK << SIZESHIFT;
-
-const WATCHDOG_IOCTL_BASE: u32 = b'W' as u32;
-const BASE_VIDIOC_PRIVATE: u32 = 192;
-const USBTMC_IOC_NR: u32 = 91;
-const UBI_VOL_IOC_MAGIC: u32 = b'O' as u32;
-const UBI_IOC_MAGIC: u32 = b'o' as u32;
-const UBI_CTRL_IOC_MAGIC: u32 = b'o' as u32;
-const SPI_IOC_MAGIC: u32 = b'k' as u32;
-const MGSL_MAGIC_IOC: u32 = b'm' as u32;
-const DRM_IOCTL_BASE: u32 = b'd' as u32;
-const DRM_COMMAND_BASE: u32 = 0x40;
-const BTRFS_IOCTL_MAGIC: u32 = 0x94;
-const BTRFS_LABEL_SIZE: usize = 256;
-//const SIOCPARM_MASK: u32 = 0x1fff;
-
-const ATMIOC_ITF: u32 = 0x80;
-const ATMIOC_CLIP: u32 = 0xe0;
-const RFKILL_IOC_NOINPUT: u32 = 1;
-const RFKILL_IOC_MAGIC: u32 = b'R' as u32;
-const IFNAMSIZ: usize = 16;
-const DECNET_IOCTL_BASE: u32 = 0x89;
-const ABS_MAX: usize = 0x3f;
-const ABS_CNT: usize = ABS_MAX+1;
-const CXL_MAGIC: u32 = 0xCA;
-const CM_IOC_MAGIC: u32 = b'c' as u32;
-
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct input_event {
- pub time: ::libc::timeval,
- pub _type: u16,
- pub code: u16,
- pub value: i32,
-}
-impl ::std::default::Default for input_event {
- fn default() -> Self { unsafe { ::std::mem::zeroed() } }
-}
-impl ::std::fmt::Debug for input_event {
- fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
- write!(f, "input_event {{ time: {{ tv_sec: {}, tv_usec: {} }}, _type: {}, code: {}, value: {}",
- self.time.tv_sec, self.time.tv_usec, self._type, self.code, self.value)
- }
-}
-
-#[repr(C)]
-#[derive(Copy, Clone, Debug)]
-pub struct input_id {
- pub bustype: u16,
- pub vendor: u16,
- pub product: u16,
- pub version: u16,
-}
-
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct ff_effect {
- pub _type: u16,
- pub id: i16,
- pub direction: u16,
- pub trigger: ff_trigger,
- pub replay: ff_replay,
- pub u: ff_effect_data,
-}
-
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct ff_effect_data {
- pub _bindgen_data_: [u64; 4usize],
-}
-impl Union_Unnamed16 {
- pub unsafe fn constant(&mut self) -> *mut ff_constant_effect {
- let raw: *mut u8 = ::std::mem::transmute(&self._bindgen_data_);
- ::std::mem::transmute(raw.offset(0))
- }
- pub unsafe fn ramp(&mut self) -> *mut ff_ramp_effect {
- let raw: *mut u8 = ::std::mem::transmute(&self._bindgen_data_);
- ::std::mem::transmute(raw.offset(0))
- }
- pub unsafe fn periodic(&mut self) -> *mut ff_periodic_effect {
- let raw: *mut u8 = ::std::mem::transmute(&self._bindgen_data_);
- ::std::mem::transmute(raw.offset(0))
- }
- pub unsafe fn condition(&mut self)
- -> *mut [ff_condition_effect; 2usize] {
- let raw: *mut u8 = ::std::mem::transmute(&self._bindgen_data_);
- ::std::mem::transmute(raw.offset(0))
- }
- pub unsafe fn rumble(&mut self) -> *mut ff_rumble_effect {
- let raw: *mut u8 = ::std::mem::transmute(&self._bindgen_data_);
- ::std::mem::transmute(raw.offset(0))
- }
-}
-impl ::std::default::Default for ff_effect_data {
- fn default() -> Self { unsafe { ::std::mem::zeroed() } }
-}
-
-#[repr(C)]
-#[derive(Copy, Clone, Debug)]
-pub struct input_absinfo {
- pub value: i32,
- pub minimum: i32,
- pub maximum: i32,
- pub fuzz: i32,
- pub flat: i32,
- pub resolution: i32,
-}
-impl ::std::default::Default for input_absinfo {
- fn default() -> Self { unsafe { ::std::mem::zeroed() } }
-}
-#[repr(C)]
-#[derive(Copy, Clone, Debug)]
-pub struct input_keymap_entry {
- pub flags: u8,
- pub len: u8,
- pub index: u16,
- pub keycode: u32,
- pub scancode: [u8; 32usize],
-}
-impl ::std::default::Default for input_keymap_entry {
- fn default() -> Self { unsafe { ::std::mem::zeroed() } }
-}
-#[repr(C)]
-#[derive(Copy, Clone, Debug)]
-pub struct ff_replay {
- pub length: u16,
- pub delay: u16,
-}
-impl ::std::default::Default for ff_replay {
- fn default() -> Self { unsafe { ::std::mem::zeroed() } }
-}
-#[repr(C)]
-#[derive(Copy, Clone, Debug)]
-pub struct ff_trigger {
- pub button: u16,
- pub interval: u16,
-}
-impl ::std::default::Default for ff_trigger {
- fn default() -> Self { unsafe { ::std::mem::zeroed() } }
-}
-#[repr(C)]
-#[derive(Copy, Clone, Debug)]
-pub struct ff_envelope {
- pub attack_length: u16,
- pub attack_level: u16,
- pub fade_length: u16,
- pub fade_level: u16,
-}
-impl ::std::default::Default for ff_envelope {
- fn default() -> Self { unsafe { ::std::mem::zeroed() } }
-}
-#[repr(C)]
-#[derive(Copy, Clone, Debug)]
-pub struct ff_constant_effect {
- pub level: i16,
- pub envelope: ff_envelope,
-}
-impl ::std::default::Default for ff_constant_effect {
- fn default() -> Self { unsafe { ::std::mem::zeroed() } }
-}
-#[repr(C)]
-#[derive(Copy, Clone, Debug)]
-pub struct ff_ramp_effect {
- pub start_level: i16,
- pub end_level: i16,
- pub envelope: ff_envelope,
-}
-impl ::std::default::Default for ff_ramp_effect {
- fn default() -> Self { unsafe { ::std::mem::zeroed() } }
-}
-#[repr(C)]
-#[derive(Copy, Clone, Debug)]
-pub struct ff_condition_effect {
- pub right_saturation: u16,
- pub left_saturation: u16,
- pub right_coeff: i16,
- pub left_coeff: i16,
- pub deadband: u16,
- pub center: i16,
-}
-impl ::std::default::Default for ff_condition_effect {
- fn default() -> Self { unsafe { ::std::mem::zeroed() } }
-}
-#[repr(C)]
-#[derive(Copy, Clone, Debug)]
-#[allow(raw_pointer_derive)]
-pub struct ff_periodic_effect {
- pub waveform: u16,
- pub period: u16,
- pub magnitude: i16,
- pub offset: i16,
- pub phase: u16,
- pub envelope: ff_envelope,
- pub custom_len: u32,
- pub custom_data: *mut i16,
-}
-impl ::std::default::Default for ff_periodic_effect {
- fn default() -> Self { unsafe { ::std::mem::zeroed() } }
-}
-#[repr(C)]
-#[derive(Copy, Clone, Debug)]
-pub struct ff_rumble_effect {
- pub strong_magnitude: u16,
- pub weak_magnitude: u16,
-}
-impl ::std::default::Default for ff_rumble_effect {
- fn default() -> Self { unsafe { ::std::mem::zeroed() } }
-}
-
-ioctl!(read buf eviocgname with b'E', 0x06; u8);
-ioctl!(read buf eviocgphys with b'E', 0x07; u8);
-ioctl!(read buf eviocguniq with b'E', 0x08; u8);
-ioctl!(read buf eviocgprop with b'E', 0x09; u8);
-ioctl!(read buf eviocgmtslots with b'E', 0x0a; u8);
-ioctl!(read buf eviocgkey with b'E', 0x18; u8);
-ioctl!(read buf eviocgled with b'E', 0x19; u8);
-ioctl!(read buf eviocgsnd with b'E', 0x1a; u8);
-ioctl!(read buf eviocgsw with b'E', 0x1b; u8);
-
-ioctl!(write eviocsff with b'E', 0x80; ff_effect);
-ioctl!(write eviocgrab with b'E', 0x90; ::libc::c_int);
-ioctl!(write eviocrevoke with b'E', 0x91; ::libc::c_int);
-ioctl!(write eviocsclockid with b'E', 0xa0; ::libc::c_int);
-
-pub unsafe fn eviocgbit(fd: ::libc::c_int, ev: u32, len: ::libc::c_int, buf: *mut u8) -> ::libc::c_int {
- super::ioctl(fd, ior!(b'E', 0x20 + ev, len) as ::libc::c_ulong, buf)
-}
-
-pub unsafe fn eviocgabs(fd: ::libc::c_int, abs: u32, buf: *mut input_absinfo) -> ::libc::c_int {
- super::ioctl(fd, ior!(b'E', 0x40 + abs, ::std::mem::size_of::<input_absinfo>()) as ::libc::c_ulong, buf)
-}
-
-#[cfg(target_arch = "x86_64")]
-include!("linux-generated-x86_64.rs");