ioctlent: add UAPI support v4.8
authorDmitry V. Levin <ldv@altlinux.org>
Mon, 3 Jun 2013 16:24:53 +0000 (16:24 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Mon, 3 Jun 2013 16:24:53 +0000 (16:24 +0000)
* Makefile.am (IOCTLSORT_INCLUDEDIR): Define.
(ioctlsort): Use it.
* linux/ioctlent.sh (lookup_ioctls): Look into uapi directory tree.
Strip "uapi/" prefix from output path names.
* linux/ioctlent.h.in: Regenerate from v3.9 headers.
* NEWS: Mention it.

Makefile.am
NEWS
linux/ioctlent.h.in
linux/ioctlent.sh

index 209d63cdc7ae04f14a1430dc959dc435cbaf0c81..9d611f396537620ab86775e1e2d694ad75d6c8ff 100644 (file)
@@ -253,6 +253,7 @@ export TAR_OPTIONS = --owner=0 --group=0 --numeric-owner --mode=go-w,go+rX
 
 IOCTLDIR = /usr/include
 IOCTLASM = asm
+IOCTLSORT_INCLUDEDIR = $(IOCTLDIR)
 
 ioctlent_h_in = linux/ioctlent.h.in
 
@@ -261,7 +262,8 @@ BUILT_SOURCES += $(ioctlent_h_in)
 $(srcdir)/$(ioctlent_h_in): ioctlsort
        $(<D)/$(<F) > $@
 ioctlsort: $(srcdir)/linux/ioctlsort.c ioctls.h ioctldefs.h
-       $(filter-out -I%,$(LINK.c)) -I. -I$(IOCTLDIR) $(filter -I%,$(LINK.c)) \
+       $(filter-out -I%,$(LINK.c)) -I. -I$(IOCTLSORT_INCLUDEDIR) \
+       $(filter -I%,$(LINK.c)) \
          -o $@ $<
 ioctls.h: $(srcdir)/linux/ioctlent.sh
        $(SHELL) $< $(IOCTLDIR) $(IOCTLASM)
diff --git a/NEWS b/NEWS
index a18121ed79e3adf3c4e6589066a5e22fc9892f7d..1ec49f7d1747c3bb6ca97888d4585806c2b0d36c 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -21,6 +21,7 @@ Noteworthy changes in release 4.8 (2013-06-03)
   * Enhanced decoding of getdents, mmap, perf_event_open, ptrace, and
     quotactl syscalls.
   * Added new syscall entries to match Linux 3.9.
+  * Regenerated the list of common ioctl names from Linux 3.9.
   * Updated the list of errno constants.
   * Updated lists of AF_*, MADV_*, MAP_*, MSG_*, MS_*, PF_*, PR_*,
     PTRACE_O_*, and TCP_* constants.
index 8843b47b2971162a3424132400e738e8304df5e3..8182842bcdc52a7a6c844140171f2c841ad5a8ad 100644 (file)
@@ -62,6 +62,7 @@
        {"linux/hdreg.h",       "HDIO_SET_BUSSTATE",    0x032d},
        {"linux/hdreg.h",       "HDIO_SET_QDMA",        0x032e},
        {"linux/hdreg.h",       "HDIO_SET_ADDRESS",     0x032f},
+       {"linux/vm_sockets.h",  "IOCTL_VM_SOCKETS_GET_LOCAL_CID",       0x07b9},
        {"linux/raid/md_u.h",   "RAID_VERSION", 0x0910},
        {"linux/raid/md_u.h",   "GET_ARRAY_INFO",       0x0911},
        {"linux/raid/md_u.h",   "GET_DISK_INFO",        0x0912},
        {"linux/fs.h",  "BLKPBSZGET",   0x127b},
        {"linux/fs.h",  "BLKDISCARDZEROES",     0x127c},
        {"linux/fs.h",  "BLKSECDISCARD",        0x127d},
+       {"linux/fs.h",  "BLKROTATIONAL",        0x127e},
+       {"linux/fs.h",  "BLKZEROOUT",   0x127f},
        {"rdma/ib_user_mad.h",  "IB_USER_MAD_REGISTER_AGENT",   0x1b01},
        {"rdma/ib_user_mad.h",  "IB_USER_MAD_UNREGISTER_AGENT", 0x1b02},
        {"rdma/ib_user_mad.h",  "IB_USER_MAD_ENABLE_PKEY",      0x1b03},
        {"linux/firewire-cdev.h",       "FW_CDEV_IOC_SEND_PHY_PACKET",  0x2315},
        {"linux/firewire-cdev.h",       "FW_CDEV_IOC_RECEIVE_PHY_PACKETS",      0x2316},
        {"linux/firewire-cdev.h",       "FW_CDEV_IOC_SET_ISO_CHANNELS", 0x2317},
+       {"linux/firewire-cdev.h",       "FW_CDEV_IOC_FLUSH_ISO",        0x2318},
        {"linux/perf_event.h",  "PERF_EVENT_IOC_ENABLE",        0x2400},
        {"linux/perf_event.h",  "PERF_EVENT_IOC_DISABLE",       0x2401},
        {"linux/perf_event.h",  "PERF_EVENT_IOC_REFRESH",       0x2402},
        {"linux/perf_event.h",  "PERF_EVENT_IOC_PERIOD",        0x2404},
        {"linux/perf_event.h",  "PERF_EVENT_IOC_SET_OUTPUT",    0x2405},
        {"linux/perf_event.h",  "PERF_EVENT_IOC_SET_FILTER",    0x2406},
-       {"linux/i2o.h", "BLKI2OGRSTRAT",        0x3201},
-       {"linux/i2o.h", "BLKI2OGWSTRAT",        0x3202},
-       {"linux/i2o.h", "BLKI2OSRSTRAT",        0x3203},
-       {"linux/i2o.h", "BLKI2OSWSTRAT",        0x3204},
        {"linux/suspend_ioctls.h",      "SNAPSHOT_FREEZE",      0x3301},
        {"linux/suspend_ioctls.h",      "SNAPSHOT_UNFREEZE",    0x3302},
        {"linux/suspend_ioctls.h",      "SNAPSHOT_ATOMIC_RESTORE",      0x3304},
        {"linux/suspend_ioctls.h",      "SNAPSHOT_PREF_IMAGE_SIZE",     0x3312},
        {"linux/suspend_ioctls.h",      "SNAPSHOT_AVAIL_SWAP_SIZE",     0x3313},
        {"linux/suspend_ioctls.h",      "SNAPSHOT_ALLOC_SWAP_PAGE",     0x3314},
+       {"linux/vfio.h",        "VFIO_GET_API_VERSION", 0x3b64},
+       {"linux/vfio.h",        "VFIO_CHECK_EXTENSION", 0x3b65},
+       {"linux/vfio.h",        "VFIO_SET_IOMMU",       0x3b66},
+       {"linux/vfio.h",        "VFIO_GROUP_GET_STATUS",        0x3b67},
+       {"linux/vfio.h",        "VFIO_GROUP_SET_CONTAINER",     0x3b68},
+       {"linux/vfio.h",        "VFIO_GROUP_UNSET_CONTAINER",   0x3b69},
+       {"linux/vfio.h",        "VFIO_GROUP_GET_DEVICE_FD",     0x3b6a},
+       {"linux/vfio.h",        "VFIO_DEVICE_GET_INFO", 0x3b6b},
+       {"linux/vfio.h",        "VFIO_DEVICE_GET_REGION_INFO",  0x3b6c},
+       {"linux/vfio.h",        "VFIO_DEVICE_GET_IRQ_INFO",     0x3b6d},
+       {"linux/vfio.h",        "VFIO_DEVICE_SET_IRQS", 0x3b6e},
+       {"linux/vfio.h",        "VFIO_DEVICE_RESET",    0x3b6f},
+       {"linux/vfio.h",        "VFIO_IOMMU_GET_INFO",  0x3b70},
+       {"linux/vfio.h",        "VFIO_IOMMU_MAP_DMA",   0x3b71},
+       {"linux/vfio.h",        "VFIO_IOMMU_UNMAP_DMA", 0x3b72},
        {"linux/ptp_clock.h",   "PTP_CLOCK_GETCAPS",    0x3d01},
        {"linux/ptp_clock.h",   "PTP_EXTTS_REQUEST",    0x3d02},
        {"linux/ptp_clock.h",   "PTP_PEROUT_REQUEST",   0x3d03},
        {"linux/ptp_clock.h",   "PTP_ENABLE_PPS",       0x3d04},
+       {"linux/ptp_clock.h",   "PTP_SYS_OFFSET",       0x3d05},
        {"linux/radeonfb.h",    "FBIO_RADEON_GET_MIRROR",       0x4003},
        {"linux/radeonfb.h",    "FBIO_RADEON_SET_MIRROR",       0x4004},
        {"linux/agpgart.h",     "AGPIOC_INFO",  0x4100},
        {"linux/cciss_ioctl.h", "CCISS_GETLUNINFO",     0x4211},
        {"linux/cciss_ioctl.h", "CCISS_BIG_PASSTHRU",   0x4212},
        {"linux/soundcard.h",   "SNDCTL_COPR_RESET",    0x4300},
+       {"sound/compress_offload.h",    "SNDRV_COMPRESS_IOCTL_VERSION", 0x4300},
        {"linux/capi.h",        "CAPI_REGISTER",        0x4301},
        {"linux/soundcard.h",   "SNDCTL_COPR_LOAD",     0x4301},
        {"linux/soundcard.h",   "SNDCTL_COPR_RDATA",    0x4302},
        {"linux/soundcard.h",   "SNDCTL_COPR_SENDMSG",  0x4308},
        {"linux/capi.h",        "CAPI_GET_PROFILE",     0x4309},
        {"linux/soundcard.h",   "SNDCTL_COPR_RCVMSG",   0x4309},
+       {"sound/compress_offload.h",    "SNDRV_COMPRESS_GET_CAPS",      0x4310},
+       {"sound/compress_offload.h",    "SNDRV_COMPRESS_GET_CODEC_CAPS",        0x4311},
+       {"sound/compress_offload.h",    "SNDRV_COMPRESS_SET_PARAMS",    0x4312},
+       {"sound/compress_offload.h",    "SNDRV_COMPRESS_GET_PARAMS",    0x4313},
+       {"sound/compress_offload.h",    "SNDRV_COMPRESS_SET_METADATA",  0x4314},
+       {"sound/compress_offload.h",    "SNDRV_COMPRESS_GET_METADATA",  0x4315},
        {"linux/capi.h",        "CAPI_MANUFACTURER_CMD",        0x4320},
+       {"sound/compress_offload.h",    "SNDRV_COMPRESS_TSTAMP",        0x4320},
        {"linux/capi.h",        "CAPI_GET_ERRCODE",     0x4321},
+       {"sound/compress_offload.h",    "SNDRV_COMPRESS_AVAIL", 0x4321},
        {"linux/capi.h",        "CAPI_INSTALLED",       0x4322},
        {"linux/capi.h",        "CAPI_GET_FLAGS",       0x4323},
        {"linux/capi.h",        "CAPI_SET_FLAGS",       0x4324},
        {"linux/capi.h",        "CAPI_CLR_FLAGS",       0x4325},
        {"linux/capi.h",        "CAPI_NCCI_OPENCOUNT",  0x4326},
        {"linux/capi.h",        "CAPI_NCCI_GETUNIT",    0x4327},
+       {"sound/compress_offload.h",    "SNDRV_COMPRESS_PAUSE", 0x4330},
+       {"sound/compress_offload.h",    "SNDRV_COMPRESS_RESUME",        0x4331},
+       {"sound/compress_offload.h",    "SNDRV_COMPRESS_START", 0x4332},
+       {"sound/compress_offload.h",    "SNDRV_COMPRESS_STOP",  0x4333},
+       {"sound/compress_offload.h",    "SNDRV_COMPRESS_DRAIN", 0x4334},
+       {"sound/compress_offload.h",    "SNDRV_COMPRESS_NEXT_TRACK",    0x4335},
+       {"sound/compress_offload.h",    "SNDRV_COMPRESS_PARTIAL_DRAIN", 0x4336},
        {"linux/input.h",       "EVIOCGVERSION",        0x4501},
        {"linux/input.h",       "EVIOCGID",     0x4502},
        {"linux/input.h",       "EVIOCGREP",    0x4503},
        {"linux/input.h",       "EVIOCRMFF",    0x4581},
        {"linux/input.h",       "EVIOCGEFFECTS",        0x4584},
        {"linux/input.h",       "EVIOCGRAB",    0x4590},
+       {"linux/input.h",       "EVIOCSCLOCKID",        0x45a0},
        {"linux/fb.h",  "FBIOGET_VSCREENINFO",  0x4600},
        {"video/da8xx-fb.h",    "FBIOGET_CONTRAST",     0x4601},
        {"linux/fb.h",  "FBIOPUT_VSCREENINFO",  0x4601},
        {"video/sstfb.h",       "SSTFB_GET_VGAPASS",    0x46dd},
        {"video/sstfb.h",       "SSTFB_SET_VGAPASS",    0x46dd},
        {"linux/gigaset_dev.h", "GIGASET_REDIR",        0x4700},
-       {"linux/gsmmux.h",      "GSMIOC_GETCONF",       0x4700},
        {"linux/gigaset_dev.h", "GIGASET_CONFIG",       0x4701},
-       {"linux/gsmmux.h",      "GSMIOC_SETCONF",       0x4701},
        {"linux/gigaset_dev.h", "GIGASET_BRKCHARS",     0x4702},
-       {"linux/gsmmux.h",      "GSMIOC_ENABLE_NET",    0x4702},
        {"linux/gigaset_dev.h", "GIGASET_VERSION",      0x4703},
-       {"linux/gsmmux.h",      "GSMIOC_DISABLE_NET",   0x4703},
        {"sound/asound.h",      "SNDRV_HWDEP_IOCTL_PVERSION",   0x4800},
        {"linux/hidraw.h",      "HIDIOCGRDESCSIZE",     0x4801},
        {"linux/hiddev.h",      "HIDIOCGVERSION",       0x4801},
        {"linux/hiddev.h",      "HIDIOCGUCODE", 0x480d},
        {"linux/hiddev.h",      "HIDIOCGFLAG",  0x480e},
        {"linux/hiddev.h",      "HIDIOCSFLAG",  0x480f},
-       {"sound/hda_hwdep.h",   "HDA_IOCTL_PVERSION",   0x4810},
        {"linux/hiddev.h",      "HIDIOCGCOLLECTIONINDEX",       0x4810},
        {"sound/emu10k1.h",     "SNDRV_EMU10K1_IOCTL_INFO",     0x4810},
        {"sound/sb16_csp.h",    "SNDRV_SB_CSP_IOCTL_INFO",      0x4810},
-       {"sound/hda_hwdep.h",   "HDA_IOCTL_VERB_WRITE", 0x4811},
        {"linux/hiddev.h",      "HIDIOCGCOLLECTIONINFO",        0x4811},
        {"sound/emu10k1.h",     "SNDRV_EMU10K1_IOCTL_CODE_POKE",        0x4811},
-       {"sound/hda_hwdep.h",   "HDA_IOCTL_GET_WCAP",   0x4812},
        {"sound/emu10k1.h",     "SNDRV_EMU10K1_IOCTL_CODE_PEEK",        0x4812},
        {"sound/sb16_csp.h",    "SNDRV_SB_CSP_IOCTL_UNLOAD_CODE",       0x4812},
        {"linux/hiddev.h",      "HIDIOCGUSAGES",        0x4813},
        {"net/bluetooth/hci.h", "HCIBLOCKADDR", 0x48e6},
        {"net/bluetooth/hci.h", "HCIUNBLOCKADDR",       0x48e7},
        {"net/bluetooth/hci.h", "HCIINQUIRY",   0x48f0},
-       {"linux/hid-roccat.h",  "ROCCATIOCGREPSIZE",    0x48f1},
        {"linux/isdn.h",        "IIOCNETAIF",   0x4901},
        {"linux/isdn.h",        "IIOCNETDIF",   0x4902},
        {"linux/isdn.h",        "IIOCNETSCF",   0x4903},
        {"linux/isdn.h",        "IIOCNETALN",   0x4920},
        {"linux/isdn.h",        "IIOCNETDLN",   0x4921},
        {"linux/isdn.h",        "IIOCNETGPN",   0x4922},
-       {"linux/mISDNif.h",     "IMADDTIMER",   0x4940},
-       {"linux/mISDNif.h",     "IMDELTIMER",   0x4941},
-       {"linux/mISDNif.h",     "IMGETVERSION", 0x4942},
-       {"linux/mISDNif.h",     "IMGETCOUNT",   0x4943},
-       {"linux/mISDNif.h",     "IMGETDEVINFO", 0x4944},
-       {"linux/mISDNif.h",     "IMCTRLREQ",    0x4945},
-       {"linux/mISDNif.h",     "IMCLEAR_L2",   0x4946},
-       {"linux/mISDNif.h",     "IMSETDEVNAME", 0x4947},
-       {"linux/mISDNif.h",     "IMHOLD_L1",    0x4948},
        {"linux/isdn.h",        "IIOCDBGVAR",   0x497f},
        {"linux/isdn.h",        "IIOCDRVCTL",   0x4980},
        {"linux/kd.h",  "KIOCSOUND",    0x4b2f},
        {"linux/loop.h",        "LOOP_CTL_ADD", 0x4c80},
        {"linux/loop.h",        "LOOP_CTL_REMOVE",      0x4c81},
        {"linux/loop.h",        "LOOP_CTL_GET_FREE",    0x4c82},
-       {"linux/fsl-diu-fb.h",  "MFB_GET_ALPHA",        0x4d00},
-       {"linux/fsl-diu-fb.h",  "MFB_SET_ALPHA",        0x4d00},
        {"mtd/mtd-abi.h",       "MEMGETINFO",   0x4d01},
-       {"linux/fsl-diu-fb.h",  "MFB_SET_CHROMA_KEY",   0x4d01},
        {"mtd/mtd-abi.h",       "MEMERASE",     0x4d02},
        {"mtd/mtd-abi.h",       "MEMWRITEOOB",  0x4d03},
-       {"linux/fsl-diu-fb.h",  "MFB_SET_BRIGHTNESS",   0x4d03},
        {"mtd/mtd-abi.h",       "MEMREADOOB",   0x4d04},
-       {"linux/fsl-diu-fb.h",  "MFB_GET_AOID", 0x4d04},
-       {"linux/fsl-diu-fb.h",  "MFB_SET_AOID", 0x4d04},
        {"mtd/mtd-abi.h",       "MEMLOCK",      0x4d05},
        {"mtd/mtd-abi.h",       "MEMUNLOCK",    0x4d06},
        {"mtd/mtd-abi.h",       "MEMGETREGIONCOUNT",    0x4d07},
        {"mtd/mtd-abi.h",       "MEMGETREGIONINFO",     0x4d08},
-       {"linux/fsl-diu-fb.h",  "MFB_GET_PIXFMT",       0x4d08},
-       {"linux/fsl-diu-fb.h",  "MFB_SET_PIXFMT",       0x4d08},
-       {"mtd/mtd-abi.h",       "MEMSETOOBSEL", 0x4d09},
        {"mtd/mtd-abi.h",       "MEMGETOOBSEL", 0x4d0a},
        {"mtd/mtd-abi.h",       "MEMGETBADBLOCK",       0x4d0b},
        {"mtd/mtd-abi.h",       "MEMSETBADBLOCK",       0x4d0c},
        {"mtd/mtd-abi.h",       "MEMISLOCKED",  0x4d17},
        {"mtd/mtd-abi.h",       "MEMWRITE",     0x4d18},
        {"linux/soundcard.h",   "SOUND_MIXER_INFO",     0x4d65},
+       {"linux/soundcard.h",   "SOUND_OLD_MIXER_INFO", 0x4d65},
        {"linux/soundcard.h",   "SOUND_MIXER_ACCESS",   0x4d66},
        {"linux/soundcard.h",   "SOUND_MIXER_AGC",      0x4d67},
        {"linux/soundcard.h",   "SOUND_MIXER_3DSE",     0x4d68},
        {"asm-generic/ioctls.h",        "TIOCSETD",     0x5423},
        {"asm-generic/ioctls.h",        "TIOCGETD",     0x5424},
        {"asm-generic/ioctls.h",        "TCSBRKP",      0x5425},
-       {"asm-generic/ioctls.h",        "TIOCTTYGSTRUCT",       0x5426},
        {"asm-generic/ioctls.h",        "TIOCSBRK",     0x5427},
        {"asm-generic/ioctls.h",        "TIOCCBRK",     0x5428},
        {"asm-generic/ioctls.h",        "TIOCGSID",     0x5429},
        {"asm-generic/ioctls.h",        "TCSETXW",      0x5435},
        {"asm-generic/ioctls.h",        "TIOCSIG",      0x5436},
        {"asm-generic/ioctls.h",        "TIOCVHANGUP",  0x5437},
+       {"asm-generic/ioctls.h",        "TIOCGPKT",     0x5438},
+       {"asm-generic/ioctls.h",        "TIOCGPTLCK",   0x5439},
+       {"asm-generic/ioctls.h",        "TIOCGEXCL",    0x5440},
        {"asm-generic/ioctls.h",        "FIONCLEX",     0x5450},
        {"asm-generic/ioctls.h",        "FIOCLEX",      0x5451},
        {"asm-generic/ioctls.h",        "FIOASYNC",     0x5452},
        {"asm-generic/ioctls.h",        "TIOCSERSETMULTI",      0x545b},
        {"asm-generic/ioctls.h",        "TIOCMIWAIT",   0x545c},
        {"asm-generic/ioctls.h",        "TIOCGICOUNT",  0x545d},
-       {"asm-generic/ioctls.h",        "TIOCGHAYESESP",        0x545e},
-       {"asm-generic/ioctls.h",        "TIOCSHAYESESP",        0x545f},
        {"asm-generic/ioctls.h",        "FIOQSIZE",     0x5460},
        {"sound/asound.h",      "SNDRV_TIMER_IOCTL_START",      0x54a0},
        {"sound/asound.h",      "SNDRV_TIMER_IOCTL_STOP",       0x54a1},
        {"linux/if_tun.h",      "TUNDETACHFILTER",      0x54d6},
        {"linux/if_tun.h",      "TUNGETVNETHDRSZ",      0x54d7},
        {"linux/if_tun.h",      "TUNSETVNETHDRSZ",      0x54d8},
+       {"linux/if_tun.h",      "TUNSETQUEUE",  0x54d9},
        {"sound/asound.h",      "SNDRV_CTL_IOCTL_PVERSION",     0x5500},
        {"linux/usbdevice_fs.h",        "USBDEVFS_CONTROL",     0x5500},
        {"sound/asound.h",      "SNDRV_CTL_IOCTL_CARD_INFO",    0x5501},
        {"sound/asound.h",      "SNDRV_CTL_IOCTL_ELEM_REMOVE",  0x5519},
        {"linux/usbdevice_fs.h",        "USBDEVFS_RELEASE_PORT",        0x5519},
        {"sound/asound.h",      "SNDRV_CTL_IOCTL_TLV_READ",     0x551a},
+       {"linux/usbdevice_fs.h",        "USBDEVFS_GET_CAPABILITIES",    0x551a},
        {"sound/asound.h",      "SNDRV_CTL_IOCTL_TLV_WRITE",    0x551b},
+       {"linux/usbdevice_fs.h",        "USBDEVFS_DISCONNECT_CLAIM",    0x551b},
        {"sound/asound.h",      "SNDRV_CTL_IOCTL_TLV_COMMAND",  0x551c},
        {"sound/asound.h",      "SNDRV_CTL_IOCTL_HWDEP_NEXT_DEVICE",    0x5520},
        {"sound/asound.h",      "SNDRV_CTL_IOCTL_HWDEP_INFO",   0x5521},
        {"linux/vt.h",  "VT_SETMODE",   0x5602},
        {"linux/vt.h",  "VT_GETSTATE",  0x5603},
        {"linux/videodev2.h",   "VIDIOC_G_FMT", 0x5604},
+       {"linux/v4l2-subdev.h", "VIDIOC_SUBDEV_G_FMT",  0x5604},
        {"linux/vt.h",  "VT_SENDSIG",   0x5604},
+       {"linux/v4l2-subdev.h", "VIDIOC_SUBDEV_S_FMT",  0x5605},
        {"linux/videodev2.h",   "VIDIOC_S_FMT", 0x5605},
        {"linux/vt.h",  "VT_RELDISP",   0x5605},
        {"linux/vt.h",  "VT_ACTIVATE",  0x5606},
        {"linux/vt.h",  "VT_WAITEVENT", 0x560e},
        {"linux/videodev2.h",   "VIDIOC_QBUF",  0x560f},
        {"linux/vt.h",  "VT_SETACTIVATE",       0x560f},
+       {"linux/videodev2.h",   "VIDIOC_EXPBUF",        0x5610},
        {"linux/videodev2.h",   "VIDIOC_DQBUF", 0x5611},
        {"linux/videodev2.h",   "VIDIOC_STREAMON",      0x5612},
        {"linux/videodev2.h",   "VIDIOC_STREAMOFF",     0x5613},
        {"linux/videodev2.h",   "VIDIOC_QUERYMENU",     0x5625},
        {"linux/videodev2.h",   "VIDIOC_G_INPUT",       0x5626},
        {"linux/videodev2.h",   "VIDIOC_S_INPUT",       0x5627},
+       {"linux/v4l2-subdev.h", "VIDIOC_SUBDEV_G_EDID", 0x5628},
+       {"linux/v4l2-subdev.h", "VIDIOC_SUBDEV_S_EDID", 0x5629},
        {"linux/videodev2.h",   "VIDIOC_G_OUTPUT",      0x562e},
        {"linux/videodev2.h",   "VIDIOC_S_OUTPUT",      0x562f},
        {"linux/videodev2.h",   "VIDIOC_ENUMOUTPUT",    0x5630},
        {"linux/videodev2.h",   "VIDIOC_S_FREQUENCY",   0x5639},
        {"linux/videodev2.h",   "VIDIOC_CROPCAP",       0x563a},
        {"linux/videodev2.h",   "VIDIOC_G_CROP",        0x563b},
+       {"linux/v4l2-subdev.h", "VIDIOC_SUBDEV_G_CROP", 0x563b},
+       {"linux/v4l2-subdev.h", "VIDIOC_SUBDEV_S_CROP", 0x563c},
        {"linux/videodev2.h",   "VIDIOC_S_CROP",        0x563c},
        {"linux/videodev2.h",   "VIDIOC_G_JPEGCOMP",    0x563d},
        {"linux/videodev2.h",   "VIDIOC_S_JPEGCOMP",    0x563e},
        {"linux/videodev2.h",   "VIDIOC_UNSUBSCRIBE_EVENT",     0x565b},
        {"linux/videodev2.h",   "VIDIOC_CREATE_BUFS",   0x565c},
        {"linux/videodev2.h",   "VIDIOC_PREPARE_BUF",   0x565d},
+       {"linux/videodev2.h",   "VIDIOC_G_SELECTION",   0x565e},
+       {"linux/videodev2.h",   "VIDIOC_S_SELECTION",   0x565f},
+       {"linux/videodev2.h",   "VIDIOC_DECODER_CMD",   0x5660},
+       {"linux/videodev2.h",   "VIDIOC_TRY_DECODER_CMD",       0x5661},
+       {"linux/videodev2.h",   "VIDIOC_ENUM_DV_TIMINGS",       0x5662},
+       {"linux/videodev2.h",   "VIDIOC_QUERY_DV_TIMINGS",      0x5663},
+       {"linux/videodev2.h",   "VIDIOC_DV_TIMINGS_CAP",        0x5664},
+       {"linux/videodev2.h",   "VIDIOC_ENUM_FREQ_BANDS",       0x5665},
        {"linux/ivtvfb.h",      "IVTVFB_IOC_DMA_FRAME", 0x56c0},
        {"linux/ivtv.h",        "IVTV_IOC_DMA_FRAME",   0x56c0},
        {"media/si4713.h",      "SI4713_IOC_MEASURE_RNL",       0x56c0},
-       {"media/davinci/vpfe_capture.h",        "VPFE_CMD_S_CCDC_RAW_PARAMS",   0x56c1},
+       {"linux/ivtv.h",        "IVTV_IOC_PASSTHROUGH_MODE",    0x56c1},
        {"sound/asound.h",      "SNDRV_RAWMIDI_IOCTL_PVERSION", 0x5700},
        {"linux/watchdog.h",    "WDIOC_GETSUPPORT",     0x5700},
        {"sound/asound.h",      "SNDRV_RAWMIDI_IOCTL_INFO",     0x5701},
        {"sound/asound.h",      "SNDRV_RAWMIDI_IOCTL_DROP",     0x5730},
        {"sound/asound.h",      "SNDRV_RAWMIDI_IOCTL_DRAIN",    0x5731},
        {"linux/pktcdvd.h",     "PACKET_CTRL_CMD",      0x5801},
-       {"linux/falloc.h",      "FS_IOC_RESVSP",        0x5828},
-       {"linux/falloc.h",      "FS_IOC_RESVSP64",      0x582a},
        {"linux/fs.h",  "FIFREEZE",     0x5877},
        {"linux/fs.h",  "FITHAW",       0x5878},
        {"linux/fs.h",  "FITRIM",       0x5879},
        {"linux/chio.h",        "CHIOINITELEM", 0x6311},
        {"linux/chio.h",        "CHIOSVOLTAG",  0x6312},
        {"linux/chio.h",        "CHIOGVPARAMS", 0x6313},
-       {"linux/comstats.h",    "COM_GETPORTSTATS",     0x631e},
-       {"linux/comstats.h",    "COM_CLRPORTSTATS",     0x631f},
-       {"linux/comstats.h",    "COM_GETBRDSTATS",      0x6320},
-       {"linux/comstats.h",    "COM_READPORT", 0x6328},
-       {"linux/comstats.h",    "COM_READBOARD",        0x6329},
-       {"linux/comstats.h",    "COM_READPANEL",        0x632a},
        {"linux/cm4000_cs.h",   "CM_IOSDBGLVL", 0x63fa},
        {"media/v4l2-common.h", "TUNER_SET_CONFIG",     0x645c},
        {"media/v4l2-common.h", "VIDIOC_INT_RESET",     0x6466},
        {"linux/fs.h",  "FS_IOC_GETFLAGS",      0x6601},
        {"linux/fs.h",  "FS_IOC32_SETFLAGS",    0x6602},
        {"linux/fs.h",  "FS_IOC_SETFLAGS",      0x6602},
-       {"linux/ext3_fs.h",     "EXT3_IOC32_GETVERSION",        0x6603},
-       {"linux/ext3_fs.h",     "EXT3_IOC_GETVERSION",  0x6603},
-       {"linux/ext3_fs.h",     "EXT3_IOC32_SETVERSION",        0x6604},
-       {"linux/ext3_fs.h",     "EXT3_IOC_SETVERSION",  0x6604},
-       {"linux/ext2_fs.h",     "EXT2_IOC_GETRSVSZ",    0x6605},
-       {"linux/ext3_fs.h",     "EXT3_IOC32_GETRSVSZ",  0x6605},
-       {"linux/ext3_fs.h",     "EXT3_IOC_GETRSVSZ",    0x6605},
-       {"linux/ext2_fs.h",     "EXT2_IOC_SETRSVSZ",    0x6606},
-       {"linux/ext3_fs.h",     "EXT3_IOC32_SETRSVSZ",  0x6606},
-       {"linux/ext3_fs.h",     "EXT3_IOC_SETRSVSZ",    0x6606},
-       {"linux/ext3_fs.h",     "EXT3_IOC32_GROUP_EXTEND",      0x6607},
-       {"linux/ext3_fs.h",     "EXT3_IOC_GROUP_EXTEND",        0x6607},
-       {"linux/ext3_fs.h",     "EXT3_IOC_GROUP_ADD",   0x6608},
        {"linux/fs.h",  "FS_IOC_FIEMAP",        0x660b},
-       {"linux/ext3_fs.h",     "EXT3_IOC32_WAIT_FOR_READONLY", 0x6663},
-       {"linux/ext3_fs.h",     "EXT3_IOC_WAIT_FOR_READONLY",   0x6663},
        {"linux/usb/functionfs.h",      "FUNCTIONFS_FIFO_STATUS",       0x6701},
        {"linux/usb/gadgetfs.h",        "GADGETFS_FIFO_STATUS", 0x6701},
        {"linux/usb/functionfs.h",      "FUNCTIONFS_FIFO_FLUSH",        0x6702},
        {"linux/soundcard.h",   "SNDCTL_MIDI_PRETIME",  0x6d00},
        {"linux/synclink.h",    "MGSL_IOCGPARAMS",      0x6d01},
        {"linux/mmtimer.h",     "MMTIMER_GETRES",       0x6d01},
-       {"linux/msm_mdp.h",     "MSMFB_GRP_DISP",       0x6d01},
        {"linux/mtio.h",        "MTIOCTOP",     0x6d01},
        {"linux/soundcard.h",   "SNDCTL_MIDI_MPUMODE",  0x6d01},
        {"linux/synclink.h",    "MGSL_IOCSTXIDLE",      0x6d02},
        {"linux/mmtimer.h",     "MMTIMER_GETFREQ",      0x6d02},
-       {"linux/msm_mdp.h",     "MSMFB_BLIT",   0x6d02},
        {"linux/mtio.h",        "MTIOCGET",     0x6d02},
        {"linux/soundcard.h",   "SNDCTL_MIDI_MPUCMD",   0x6d02},
        {"linux/synclink.h",    "MGSL_IOCGTXIDLE",      0x6d03},
        {"linux/rtc.h", "RTC_WKALM_RD", 0x7010},
        {"linux/rtc.h", "RTC_PLL_GET",  0x7011},
        {"linux/rtc.h", "RTC_PLL_SET",  0x7012},
+       {"linux/rtc.h", "RTC_VL_READ",  0x7013},
+       {"linux/rtc.h", "RTC_VL_CLR",   0x7014},
        {"linux/nvram.h",       "NVRAM_INIT",   0x7040},
        {"linux/nvram.h",       "NVRAM_SETCKS", 0x7041},
        {"linux/ppdev.h",       "PPSETMODE",    0x7080},
        {"linux/msdos_fs.h",    "VFAT_IOCTL_READDIR_SHORT",     0x7202},
        {"linux/msdos_fs.h",    "FAT_IOCTL_GET_ATTRIBUTES",     0x7210},
        {"linux/msdos_fs.h",    "FAT_IOCTL_SET_ATTRIBUTES",     0x7211},
-       {"linux/cdk.h", "STL_BINTR",    0x7314},
-       {"linux/cdk.h", "STL_BSTART",   0x7315},
-       {"linux/cdk.h", "STL_BSTOP",    0x7316},
-       {"linux/cdk.h", "STL_BRESET",   0x7317},
-       {"linux/cdk.h", "STL_GETPFLAG", 0x7350},
-       {"linux/cdk.h", "STL_SETPFLAG", 0x7351},
-       {"linux/if_ppp.h",      "PPPIOCGL2TPSTATS",     0x7436},
-       {"linux/if_ppp.h",      "PPPIOCGCHAN",  0x7437},
-       {"linux/if_ppp.h",      "PPPIOCATTCHAN",        0x7438},
-       {"linux/if_ppp.h",      "PPPIOCDISCONN",        0x7439},
-       {"linux/if_ppp.h",      "PPPIOCCONNECT",        0x743a},
-       {"linux/if_ppp.h",      "PPPIOCSMRRU",  0x743b},
-       {"linux/if_ppp.h",      "PPPIOCDETACH", 0x743c},
-       {"linux/if_ppp.h",      "PPPIOCATTACH", 0x743d},
-       {"linux/if_ppp.h",      "PPPIOCNEWUNIT",        0x743e},
-       {"linux/if_ppp.h",      "PPPIOCGIDLE",  0x743f},
-       {"linux/if_ppp.h",      "PPPIOCSDEBUG", 0x7440},
-       {"linux/if_ppp.h",      "PPPIOCGDEBUG", 0x7441},
-       {"linux/if_ppp.h",      "PPPIOCSACTIVE",        0x7446},
-       {"linux/if_ppp.h",      "PPPIOCSPASS",  0x7447},
-       {"linux/if_ppp.h",      "PPPIOCSNPMODE",        0x744b},
-       {"linux/if_ppp.h",      "PPPIOCGNPMODE",        0x744c},
-       {"linux/if_ppp.h",      "PPPIOCSCOMPRESS",      0x744d},
-       {"linux/if_ppp.h",      "PPPIOCXFERUNIT",       0x744e},
-       {"linux/if_ppp.h",      "PPPIOCSXASYNCMAP",     0x744f},
-       {"linux/if_ppp.h",      "PPPIOCGXASYNCMAP",     0x7450},
-       {"linux/if_ppp.h",      "PPPIOCSMAXCID",        0x7451},
-       {"linux/if_ppp.h",      "PPPIOCSMRU",   0x7452},
-       {"linux/if_ppp.h",      "PPPIOCGMRU",   0x7453},
-       {"linux/if_ppp.h",      "PPPIOCSRASYNCMAP",     0x7454},
-       {"linux/if_ppp.h",      "PPPIOCGRASYNCMAP",     0x7455},
-       {"linux/if_ppp.h",      "PPPIOCGUNIT",  0x7456},
-       {"linux/if_ppp.h",      "PPPIOCSASYNCMAP",      0x7457},
-       {"linux/if_ppp.h",      "PPPIOCGASYNCMAP",      0x7458},
-       {"linux/if_ppp.h",      "PPPIOCSFLAGS", 0x7459},
-       {"linux/if_ppp.h",      "PPPIOCGFLAGS", 0x745a},
+       {"linux/ppp-ioctl.h",   "PPPIOCGL2TPSTATS",     0x7436},
+       {"linux/ppp-ioctl.h",   "PPPIOCGCHAN",  0x7437},
+       {"linux/ppp-ioctl.h",   "PPPIOCATTCHAN",        0x7438},
+       {"linux/ppp-ioctl.h",   "PPPIOCDISCONN",        0x7439},
+       {"linux/ppp-ioctl.h",   "PPPIOCCONNECT",        0x743a},
+       {"linux/ppp-ioctl.h",   "PPPIOCSMRRU",  0x743b},
+       {"linux/ppp-ioctl.h",   "PPPIOCDETACH", 0x743c},
+       {"linux/ppp-ioctl.h",   "PPPIOCATTACH", 0x743d},
+       {"linux/ppp-ioctl.h",   "PPPIOCNEWUNIT",        0x743e},
+       {"linux/ppp-ioctl.h",   "PPPIOCGIDLE",  0x743f},
+       {"linux/ppp-ioctl.h",   "PPPIOCSDEBUG", 0x7440},
+       {"linux/ppp-ioctl.h",   "PPPIOCGDEBUG", 0x7441},
+       {"linux/ppp-ioctl.h",   "PPPIOCSACTIVE",        0x7446},
+       {"linux/ppp-ioctl.h",   "PPPIOCSPASS",  0x7447},
+       {"linux/ppp-ioctl.h",   "PPPIOCSNPMODE",        0x744b},
+       {"linux/ppp-ioctl.h",   "PPPIOCGNPMODE",        0x744c},
+       {"linux/ppp-ioctl.h",   "PPPIOCSCOMPRESS",      0x744d},
+       {"linux/ppp-ioctl.h",   "PPPIOCXFERUNIT",       0x744e},
+       {"linux/ppp-ioctl.h",   "PPPIOCSXASYNCMAP",     0x744f},
+       {"linux/ppp-ioctl.h",   "PPPIOCGXASYNCMAP",     0x7450},
+       {"linux/ppp-ioctl.h",   "PPPIOCSMAXCID",        0x7451},
+       {"linux/ppp-ioctl.h",   "PPPIOCSMRU",   0x7452},
+       {"linux/ppp-ioctl.h",   "PPPIOCGMRU",   0x7453},
+       {"linux/ppp-ioctl.h",   "PPPIOCSRASYNCMAP",     0x7454},
+       {"linux/ppp-ioctl.h",   "PPPIOCGRASYNCMAP",     0x7455},
+       {"linux/ppp-ioctl.h",   "PPPIOCGUNIT",  0x7456},
+       {"linux/ppp-ioctl.h",   "PPPIOCSASYNCMAP",      0x7457},
+       {"linux/ppp-ioctl.h",   "PPPIOCGASYNCMAP",      0x7458},
+       {"linux/ppp-ioctl.h",   "PPPIOCSFLAGS", 0x7459},
+       {"linux/ppp-ioctl.h",   "PPPIOCGFLAGS", 0x745a},
        {"linux/isdn_ppp.h",    "PPPIOCGCALLINFO",      0x7480},
        {"linux/isdn_ppp.h",    "PPPIOCBUNDLE", 0x7481},
        {"linux/isdn_ppp.h",    "PPPIOCGMPFLAGS",       0x7482},
        {"linux/sonypi.h",      "SONYPI_IOCSFAN",       0x760b},
        {"linux/sonypi.h",      "SONYPI_IOCGTEMP",      0x760c},
        {"linux/meye.h",        "MEYEIOC_G_PARAMS",     0x76c0},
-       {"media/pwc-ioctl.h",   "VIDIOCPWCRUSER",       0x76c0},
        {"linux/meye.h",        "MEYEIOC_S_PARAMS",     0x76c1},
-       {"media/pwc-ioctl.h",   "VIDIOCPWCSUSER",       0x76c1},
        {"linux/meye.h",        "MEYEIOC_QBUF_CAPT",    0x76c2},
-       {"media/pwc-ioctl.h",   "VIDIOCPWCFACTORY",     0x76c2},
        {"linux/meye.h",        "MEYEIOC_SYNC", 0x76c3},
-       {"media/pwc-ioctl.h",   "VIDIOCPWCGCQUAL",      0x76c3},
-       {"media/pwc-ioctl.h",   "VIDIOCPWCSCQUAL",      0x76c3},
        {"linux/meye.h",        "MEYEIOC_STILLCAPT",    0x76c4},
        {"linux/meye.h",        "MEYEIOC_STILLJCAPT",   0x76c5},
-       {"media/pwc-ioctl.h",   "VIDIOCPWCGSERIAL",     0x76c6},
-       {"media/pwc-ioctl.h",   "VIDIOCPWCPROBE",       0x76c7},
-       {"media/pwc-ioctl.h",   "VIDIOCPWCGAGC",        0x76c8},
-       {"media/pwc-ioctl.h",   "VIDIOCPWCSAGC",        0x76c8},
-       {"media/pwc-ioctl.h",   "VIDIOCPWCSSHUTTER",    0x76c9},
-       {"media/pwc-ioctl.h",   "VIDIOCPWCGAWB",        0x76ca},
-       {"media/pwc-ioctl.h",   "VIDIOCPWCSAWB",        0x76ca},
-       {"media/pwc-ioctl.h",   "VIDIOCPWCGAWBSPEED",   0x76cb},
-       {"media/pwc-ioctl.h",   "VIDIOCPWCSAWBSPEED",   0x76cb},
-       {"media/pwc-ioctl.h",   "VIDIOCPWCGLED",        0x76cd},
-       {"media/pwc-ioctl.h",   "VIDIOCPWCSLED",        0x76cd},
-       {"media/pwc-ioctl.h",   "VIDIOCPWCGCONTOUR",    0x76ce},
-       {"media/pwc-ioctl.h",   "VIDIOCPWCSCONTOUR",    0x76ce},
-       {"media/pwc-ioctl.h",   "VIDIOCPWCGBACKLIGHT",  0x76cf},
-       {"media/pwc-ioctl.h",   "VIDIOCPWCSBACKLIGHT",  0x76cf},
-       {"media/pwc-ioctl.h",   "VIDIOCPWCGFLICKER",    0x76d0},
-       {"media/pwc-ioctl.h",   "VIDIOCPWCSFLICKER",    0x76d0},
-       {"media/pwc-ioctl.h",   "VIDIOCPWCGDYNNOISE",   0x76d1},
-       {"media/pwc-ioctl.h",   "VIDIOCPWCSDYNNOISE",   0x76d1},
-       {"media/pwc-ioctl.h",   "VIDIOCPWCGREALSIZE",   0x76d2},
-       {"media/pwc-ioctl.h",   "VIDIOCPWCMPTGRANGE",   0x76d3},
-       {"media/pwc-ioctl.h",   "VIDIOCPWCMPTRESET",    0x76d3},
-       {"media/pwc-ioctl.h",   "VIDIOCPWCMPTGANGLE",   0x76d4},
-       {"media/pwc-ioctl.h",   "VIDIOCPWCMPTSANGLE",   0x76d4},
-       {"media/pwc-ioctl.h",   "VIDIOCPWCMPTSTATUS",   0x76d5},
-       {"media/pwc-ioctl.h",   "VIDIOCPWCGVIDCMD",     0x76d7},
-       {"media/pwc-ioctl.h",   "VIDIOCPWCGVIDTABLE",   0x76d8},
        {"linux/media.h",       "MEDIA_IOC_DEVICE_INFO",        0x7c00},
        {"linux/media.h",       "MEDIA_IOC_ENUM_ENTITIES",      0x7c01},
        {"linux/media.h",       "MEDIA_IOC_ENUM_LINKS", 0x7c02},
        {"linux/auto_fs4.h",    "AUTOFS_IOC_EXPIRE_MULTI",      0x9366},
        {"linux/auto_fs4.h",    "AUTOFS_IOC_PROTOSUBVER",       0x9367},
        {"linux/auto_fs4.h",    "AUTOFS_IOC_ASKUMOUNT", 0x9370},
+       {"linux/btrfs.h",       "BTRFS_IOC_SNAP_CREATE",        0x9401},
+       {"linux/btrfs.h",       "BTRFS_IOC_DEFRAG",     0x9402},
+       {"linux/btrfs.h",       "BTRFS_IOC_RESIZE",     0x9403},
+       {"linux/btrfs.h",       "BTRFS_IOC_SCAN_DEV",   0x9404},
+       {"linux/btrfs.h",       "BTRFS_IOC_TRANS_START",        0x9406},
+       {"linux/btrfs.h",       "BTRFS_IOC_TRANS_END",  0x9407},
+       {"linux/btrfs.h",       "BTRFS_IOC_SYNC",       0x9408},
+       {"linux/btrfs.h",       "BTRFS_IOC_CLONE",      0x9409},
+       {"linux/btrfs.h",       "BTRFS_IOC_ADD_DEV",    0x940a},
+       {"linux/btrfs.h",       "BTRFS_IOC_RM_DEV",     0x940b},
+       {"linux/btrfs.h",       "BTRFS_IOC_BALANCE",    0x940c},
+       {"linux/btrfs.h",       "BTRFS_IOC_CLONE_RANGE",        0x940d},
+       {"linux/btrfs.h",       "BTRFS_IOC_SUBVOL_CREATE",      0x940e},
+       {"linux/btrfs.h",       "BTRFS_IOC_SNAP_DESTROY",       0x940f},
+       {"linux/btrfs.h",       "BTRFS_IOC_DEFRAG_RANGE",       0x9410},
+       {"linux/btrfs.h",       "BTRFS_IOC_TREE_SEARCH",        0x9411},
+       {"linux/btrfs.h",       "BTRFS_IOC_INO_LOOKUP", 0x9412},
+       {"linux/btrfs.h",       "BTRFS_IOC_DEFAULT_SUBVOL",     0x9413},
+       {"linux/btrfs.h",       "BTRFS_IOC_SPACE_INFO", 0x9414},
+       {"linux/btrfs.h",       "BTRFS_IOC_WAIT_SYNC",  0x9416},
+       {"linux/btrfs.h",       "BTRFS_IOC_SNAP_CREATE_V2",     0x9417},
+       {"linux/btrfs.h",       "BTRFS_IOC_START_SYNC", 0x9418},
+       {"linux/btrfs.h",       "BTRFS_IOC_SUBVOL_CREATE_V2",   0x9418},
+       {"linux/btrfs.h",       "BTRFS_IOC_SUBVOL_GETFLAGS",    0x9419},
+       {"linux/btrfs.h",       "BTRFS_IOC_SUBVOL_SETFLAGS",    0x941a},
+       {"linux/btrfs.h",       "BTRFS_IOC_SCRUB",      0x941b},
+       {"linux/btrfs.h",       "BTRFS_IOC_SCRUB_CANCEL",       0x941c},
+       {"linux/btrfs.h",       "BTRFS_IOC_SCRUB_PROGRESS",     0x941d},
+       {"linux/btrfs.h",       "BTRFS_IOC_DEV_INFO",   0x941e},
+       {"linux/btrfs.h",       "BTRFS_IOC_FS_INFO",    0x941f},
+       {"linux/btrfs.h",       "BTRFS_IOC_BALANCE_V2", 0x9420},
+       {"linux/btrfs.h",       "BTRFS_IOC_BALANCE_CTL",        0x9421},
+       {"linux/btrfs.h",       "BTRFS_IOC_BALANCE_PROGRESS",   0x9422},
+       {"linux/btrfs.h",       "BTRFS_IOC_INO_PATHS",  0x9423},
+       {"linux/btrfs.h",       "BTRFS_IOC_LOGICAL_INO",        0x9424},
+       {"linux/btrfs.h",       "BTRFS_IOC_SET_RECEIVED_SUBVOL",        0x9425},
+       {"linux/btrfs.h",       "BTRFS_IOC_SEND",       0x9426},
+       {"linux/btrfs.h",       "BTRFS_IOC_DEVICES_READY",      0x9427},
+       {"linux/btrfs.h",       "BTRFS_IOC_QUOTA_CTL",  0x9428},
+       {"linux/btrfs.h",       "BTRFS_IOC_QGROUP_ASSIGN",      0x9429},
+       {"linux/btrfs.h",       "BTRFS_IOC_QGROUP_CREATE",      0x942a},
+       {"linux/btrfs.h",       "BTRFS_IOC_QGROUP_LIMIT",       0x942b},
+       {"linux/btrfs.h",       "BTRFS_IOC_GET_FSLABEL",        0x9431},
+       {"linux/btrfs.h",       "BTRFS_IOC_SET_FSLABEL",        0x9432},
+       {"linux/btrfs.h",       "BTRFS_IOC_GET_DEV_STATS",      0x9434},
+       {"linux/btrfs.h",       "BTRFS_IOC_DEV_REPLACE",        0x9435},
        {"linux/nbd.h", "NBD_SET_SOCK", 0xab00},
        {"linux/nbd.h", "NBD_SET_BLKSIZE",      0xab01},
        {"linux/nbd.h", "NBD_SET_SIZE", 0xab02},
        {"linux/nbd.h", "NBD_SET_SIZE_BLOCKS",  0xab07},
        {"linux/nbd.h", "NBD_DISCONNECT",       0xab08},
        {"linux/nbd.h", "NBD_SET_TIMEOUT",      0xab09},
+       {"linux/nbd.h", "NBD_SET_FLAGS",        0xab0a},
        {"linux/raw.h", "RAW_SETBIND",  0xac00},
        {"linux/raw.h", "RAW_GETBIND",  0xac01},
        {"linux/kvm.h", "KVM_GET_API_VERSION",  0xae00},
        {"linux/kvm.h", "KVM_SET_USER_MEMORY_REGION",   0xae46},
        {"linux/kvm.h", "KVM_SET_TSS_ADDR",     0xae47},
        {"linux/kvm.h", "KVM_SET_IDENTITY_MAP_ADDR",    0xae48},
+       {"linux/kvm.h", "KVM_S390_UCAS_MAP",    0xae50},
+       {"linux/kvm.h", "KVM_S390_UCAS_UNMAP",  0xae51},
+       {"linux/kvm.h", "KVM_S390_VCPU_FAULT",  0xae52},
        {"linux/kvm.h", "KVM_CREATE_IRQCHIP",   0xae60},
        {"linux/kvm.h", "KVM_IRQ_LINE", 0xae61},
        {"linux/kvm.h", "KVM_GET_IRQCHIP",      0xae62},
        {"linux/kvm.h", "KVM_SET_TSC_KHZ",      0xaea2},
        {"linux/kvm.h", "KVM_ENABLE_CAP",       0xaea3},
        {"linux/kvm.h", "KVM_GET_TSC_KHZ",      0xaea3},
+       {"linux/kvm.h", "KVM_ASSIGN_SET_INTX_MASK",     0xaea4},
        {"linux/kvm.h", "KVM_GET_XSAVE",        0xaea4},
        {"linux/kvm.h", "KVM_SET_XSAVE",        0xaea5},
+       {"linux/kvm.h", "KVM_SIGNAL_MSI",       0xaea5},
        {"linux/kvm.h", "KVM_GET_XCRS", 0xaea6},
+       {"linux/kvm.h", "KVM_PPC_GET_SMMU_INFO",        0xaea6},
+       {"linux/kvm.h", "KVM_PPC_ALLOCATE_HTAB",        0xaea7},
        {"linux/kvm.h", "KVM_SET_XCRS", 0xaea7},
        {"linux/kvm.h", "KVM_CREATE_SPAPR_TCE", 0xaea8},
        {"linux/kvm.h", "KVM_ALLOCATE_RMA",     0xaea9},
+       {"linux/kvm.h", "KVM_DIRTY_TLB",        0xaeaa},
+       {"linux/kvm.h", "KVM_PPC_GET_HTAB_FD",  0xaeaa},
+       {"linux/kvm.h", "KVM_ARM_SET_DEVICE_ADDR",      0xaeab},
+       {"linux/kvm.h", "KVM_GET_ONE_REG",      0xaeab},
+       {"linux/kvm.h", "KVM_SET_ONE_REG",      0xaeac},
+       {"linux/kvm.h", "KVM_KVMCLOCK_CTRL",    0xaead},
+       {"linux/kvm.h", "KVM_ARM_VCPU_INIT",    0xaeae},
+       {"linux/kvm.h", "KVM_GET_REG_LIST",     0xaeb0},
        {"linux/vhost.h",       "VHOST_GET_FEATURES",   0xaf00},
        {"linux/vhost.h",       "VHOST_SET_FEATURES",   0xaf00},
        {"linux/vhost.h",       "VHOST_SET_OWNER",      0xaf01},
        {"linux/if_pppox.h",    "PPPOEIOCSFWD", 0xb100},
        {"linux/if_pppox.h",    "PPPOEIOCDFWD", 0xb101},
        {"linux/mmc/ioctl.h",   "MMC_IOC_CMD",  0xb300},
-       {"linux/usb/iowarrior.h",       "IOW_WRITE",    0xc001},
-       {"linux/usb/iowarrior.h",       "IOW_READ",     0xc002},
-       {"linux/usb/iowarrior.h",       "IOW_GETINFO",  0xc003},
-       {"linux/reiserfs_fs.h", "REISERFS_IOC32_UNPACK",        0xcd01},
        {"linux/reiserfs_fs.h", "REISERFS_IOC_UNPACK",  0xcd01},
        {"video/sisfb.h",       "SISFB_GET_INFO_SIZE",  0xf300},
        {"video/sisfb.h",       "SISFB_GET_INFO",       0xf301},
index 9bcff5f8fc746fee43a058d41b44bea870bb283a..c483ba88006a4588619e97b451b2e74d4fafb07e 100755 (executable)
@@ -47,7 +47,7 @@ lookup_ioctls()
 
        # Build the list of all ioctls
        regexp='^[[:space:]]*#[[:space:]]*define[[:space:]]\+[A-Z][A-Z0-9_]*[[:space:]]\+0x'"$type"'..\>'
-       (cd "$dir" && grep "$regexp" "$@" /dev/null 2>/dev/null) |
+       (cd "$dir" && for f; do grep "$regexp" "$f" "uapi/$f" 2>/dev/null; done) |
                sed -ne "s,$asm/,asm/,g"'
 s/^\(.*\):[[:space:]]*#[[:space:]]*define[[:space:]]*\([A-Z0-9_]*\)[[:space:]]*\(0x'"$type"'..\).*/    { "\1", "\2",   \3      },/p' \
                >> ioctls.h
@@ -94,8 +94,11 @@ regexp='^[[:space:]]*#[[:space:]]*define[[:space:]]\+[A-Z][A-Z0-9_]*[[:space:]]\
        -e 's/^\(.*\):[[:space:]]*#[[:space:]]*define[[:space:]]*\([A-Z0-9_]*\)[[:space:]]*_S\?I.*(\([^[,]*\)[[:space:]]*,[[:space:]]*\([^,)]*\).*/     { "\1", "\2",   _IOC(_IOC_NONE,\3,\4,0) },/p' \
        >> ioctls.h
 
-# Sort and drop dups?
-# sort -u <ioctls.h >ioctls1.h && mv ioctls1.h ioctls.h
+# Strip uapi/ prefix
+sed -i 's|"uapi/|"|' ioctls.h
+
+# Sort and drop dups
+sort -u -o ioctls.h ioctls.h
 
 > ioctldefs.h