]> granicus.if.org Git - strace/commitdiff
Implement new way to get the ioctl list for Linux: instead of
authorWichert Akkerman <wichert@deephackmode.org>
Sat, 17 Mar 2001 17:26:34 +0000 (17:26 +0000)
committerWichert Akkerman <wichert@deephackmode.org>
Sat, 17 Mar 2001 17:26:34 +0000 (17:26 +0000)
trying to #include every possible kernel header grab all the relevant
#defines from them and use those directly.

ChangeLog
NEWS
ioctl.c
ioctlsort.c
linux/.cvsignore
linux/Makefile.in
linux/ioctlent.h
linux/ioctlent.sh

index 872a7de1ae8d252aaeee6aa1260647934018c65f..994a8f60a1aead426ad4b0478006ddcdb6edc05c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2001-03-17  Wichert Akkerman <wakkerma@debian.org>
+
+  * linux/ioclsort.c: new file
+  * linux/ioctlent.sh: complete rewrite to use a more sane approach to get
+    the ioctl list that doesn't involve attempting to #include all kernel
+    headers
+  * linux/.cvsignore: added ioctdefs.h and ioctls.h which are generated
+    by the new ioctlent.sh
+  * ioctl.c: only look at the number and type bits for linux, since
+    ioctlent.sh no longer supplies the others
+
 2001-03-08  John Hughes <john@Calva.COM>
 
   * freebsd/syscalls.pl: On FreeBSD we must cope with COMPATibility syscalls,
diff --git a/NEWS b/NEWS
index 109c8a6fe9ffdd5066c99da287a8d98597efb591..f36c95f6cf6ba5ea7cd5c0680f269b6365fa626f 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -2,6 +2,7 @@ Changes in 4.3
 ==============
 * Linux/ia64 port added
 * The usual Linux syscall updates (includes 32bit uid/gid support),
+* Linux ioctl list updated
 * Support IPv6 scope ids
   see ChangeLog for details
 
diff --git a/ioctl.c b/ioctl.c
index ed2a32bcca4476e13e9084962e1dded7516dcc1f..9286babce5b6fdadee547eb75fccb1de7763c0a6 100644 (file)
--- a/ioctl.c
+++ b/ioctl.c
@@ -43,6 +43,10 @@ struct ioctlent ioctlent0[] = {
 #include "ioctlent.h"
 };
 
+#ifdef LINUX
+#include <asm/ioctl.h>
+#endif
+
 int nioctlents0 = sizeof ioctlent0 / sizeof ioctlent0[0];
 
 #if SUPPORTED_PERSONALITIES >= 2
@@ -81,6 +85,9 @@ long code;
        struct ioctlent *iop, ioent;
 
        ioent.code = code;
+#ifdef LINUX
+       ioent.code &= (_IOC_NRMASK|_IOC_TYPEMASK);
+#endif
        iop = (struct ioctlent *) bsearch((char *) &ioent, (char *) ioctlent,
                        nioctlents, sizeof(struct ioctlent), compare);
        return iop ? iop->symbol : NULL;
index 51aef406b091f276e85fa8096eb97bf5a4a97e78..1009d751c771111e6f81a59ebe2047ac652947d3 100644 (file)
@@ -28,9 +28,6 @@
  *     $Id$
  */
 
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
 
 #include <stdio.h>
 
index f3c7a7c5da68804a1bdf391127ba34aed33c3cca..9fa499b16d86a45086f52821bc5c452e83069a23 100644 (file)
@@ -1 +1,3 @@
 Makefile
+ioctldefs.h
+ioctls.h
index e87543d703c749a486c456fede8999f4b6ad861f..4d6f2b79ad1ae8b7fcf730335f3334f4cf95d8d5 100644 (file)
@@ -23,19 +23,17 @@ includedir = @includedir@
 
 all: ioctlent.h errnoent.h signalent.h syscallent.h
 
-ioctlent.raw: ioctlent.sh
-       $(SHELL) $(srcdir)/ioctlent.sh $(includedir) >$@
-
-ioctlent.h: ioctlent.raw ioctlsort
+ioctlent.h: ioctlsort
        ./ioctlsort >$@
 
 ioctlsort: ioctlsort.o
        $(CC) $(LDFLAGS) ioctlsort.o -o ioctlsort
 
-ioctlsort.o: ../ioctlsort.c
+ioctlsort.o: ioctlsort.c ioctdefs.h ioctls.h
        $(CC) $(WARNFLAGS) $(DEFS) $(CPPFLAGS) $(INCLUDES) $(CFLAGS) -c $(srcdir)/../ioctlsort.c
 
-ioctlsort.o: ioctlent.raw
+ioctldefs.h ioctls.h: ioctlent.sh
+       sh ioctlent.sh
 
 errnoent.h: ../errnoent.sh $(includedir)/linux/errno.h
        $(SHELL) $(srcdir)/../errnoent.sh $(includedir)/*/errno.h >$@
index 108a9fe0b35aa59ef974aaa8ae053e11c49ad4a7..49a512610dcedb631f156ad2b848a4b4333f3c40 100644 (file)
-{"linux/fs.h", "FIBMAP", 0x1},
-{"linux/fs.h", "FIGETBSZ", 0x2},
-{"linux/fd.h", "FDCLRPRM", 0x241},
-{"linux/fd.h", "FDMSGON", 0x245},
-{"linux/fd.h", "FDMSGOFF", 0x246},
-{"linux/fd.h", "FDFMTBEG", 0x247},
-{"linux/fd.h", "FDFMTEND", 0x249},
-{"linux/fd.h", "FDSETEMSGTRESH", 0x24a},
-{"linux/fd.h", "FDFLUSH", 0x24b},
-{"linux/fd.h", "FDRESET", 0x254},
-{"linux/fd.h", "FDWERRORCLR", 0x256},
-{"linux/fd.h", "FDRAWCMD", 0x258},
-{"linux/fd.h", "FDTWADDLE", 0x259},
-{"linux/fd.h", "FDEJECT", 0x25a},
-{"linux/ip_fw.h", "IP_FW_TYPE", 0x300},
-{"linux/quota.h", "Q_GETQUOTA", 0x300},
-{"linux/hdreg.h", "HDIO_GETGEO", 0x301},
-{"linux/hdreg.h", "HDIO_GET_UNMASKINTR", 0x302},
-{"linux/hdreg.h", "HDIO_GET_MULTCOUNT", 0x304},
-{"linux/hdreg.h", "HDIO_GET_IDENTITY", 0x307},
-{"linux/hdreg.h", "HDIO_GET_KEEPSETTINGS", 0x308},
-{"linux/hdreg.h", "HDIO_GET_32BIT", 0x309},
-{"linux/hdreg.h", "HDIO_GET_NOWERR", 0x30a},
-{"linux/hdreg.h", "HDIO_GET_DMA", 0x30b},
-{"linux/hdreg.h", "HDIO_DRIVE_CMD", 0x31f},
-{"linux/hdreg.h", "HDIO_SET_MULTCOUNT", 0x321},
-{"linux/hdreg.h", "HDIO_SET_UNMASKINTR", 0x322},
-{"linux/hdreg.h", "HDIO_SET_KEEPSETTINGS", 0x323},
-{"linux/hdreg.h", "HDIO_SET_32BIT", 0x324},
-{"linux/hdreg.h", "HDIO_SET_NOWERR", 0x325},
-{"linux/hdreg.h", "HDIO_SET_DMA", 0x326},
-{"linux/hdreg.h", "HDIO_SET_PIO_MODE", 0x327},
-{"linux/umsdos_fs.h", "UMSDOS_READDIR_DOS", 0x4d2},
-{"linux/umsdos_fs.h", "UMSDOS_UNLINK_DOS", 0x4d3},
-{"linux/umsdos_fs.h", "UMSDOS_RMDIR_DOS", 0x4d4},
-{"linux/umsdos_fs.h", "UMSDOS_STAT_DOS", 0x4d5},
-{"linux/umsdos_fs.h", "UMSDOS_CREAT_EMD", 0x4d6},
-{"linux/umsdos_fs.h", "UMSDOS_UNLINK_EMD", 0x4d7},
-{"linux/umsdos_fs.h", "UMSDOS_READDIR_EMD", 0x4d8},
-{"linux/umsdos_fs.h", "UMSDOS_GETVERSION", 0x4d9},
-{"linux/umsdos_fs.h", "UMSDOS_INIT_EMD", 0x4da},
-{"linux/umsdos_fs.h", "UMSDOS_DOS_SETUP", 0x4db},
-{"linux/umsdos_fs.h", "UMSDOS_RENAME_DOS", 0x4dc},
-{"linux/quota.h", "Q_SYNC", 0x600},
-{"linux/lp.h", "LPCHAR", 0x601},
-{"linux/lp_m68k.h", "LPCHAR", 0x601},
-{"linux/lp.h", "LPTIME", 0x602},
-{"linux/lp_m68k.h", "LPTIME", 0x602},
-{"linux/lp.h", "LPABORT", 0x604},
-{"linux/lp_m68k.h", "LPABORT", 0x604},
-{"linux/lp.h", "LPSETIRQ", 0x605},
-{"linux/lp_m68k.h", "LPSETIRQ", 0x605},
-{"linux/lp.h", "LPGETIRQ", 0x606},
-{"linux/lp_m68k.h", "LPGETIRQ", 0x606},
-{"linux/lp.h", "LPWAIT", 0x608},
-{"linux/lp_m68k.h", "LPWAIT", 0x608},
-{"linux/lp.h", "LPCAREFUL", 0x609},
-{"linux/lp_m68k.h", "LPCAREFUL", 0x609},
-{"linux/lp.h", "LPABORTOPEN", 0x60a},
-{"linux/lp_m68k.h", "LPABORTOPEN", 0x60a},
-{"linux/lp.h", "LPGETSTATUS", 0x60b},
-{"linux/lp_m68k.h", "LPGETSTATUS", 0x60b},
-{"linux/lp.h", "LPRESET", 0x60c},
-{"linux/lp_m68k.h", "LPRESET", 0x60c},
-{"linux/lp.h", "LPGETSTATS", 0x60d},
-{"linux/lp.h", "LPGETFLAGS", 0x60e},
-{"linux/md.h", "REGISTER_DEV", 0x901},
-{"linux/md.h", "START_MD", 0x902},
-{"linux/md.h", "STOP_MD", 0x903},
-{"linux/md.h", "MD_INVALID", 0x904},
-{"linux/md.h", "MD_VALID", 0x905},
-{"linux/fs.h", "BLKROSET", 0x125d},
-{"linux/fs.h", "BLKROGET", 0x125e},
-{"linux/fs.h", "BLKRRPART", 0x125f},
-{"linux/fs.h", "BLKGETSIZE", 0x1260},
-{"linux/fs.h", "BLKFLSBUF", 0x1261},
-{"linux/fs.h", "BLKRASET", 0x1262},
-{"linux/fs.h", "BLKRAGET", 0x1263},
-{"linux/scc.h", "TIOCSCCCFG", 0x2200},
-{"linux/scc.h", "TIOCSCCINI", 0x2201},
-{"linux/scc.h", "TIOCCHANINI", 0x2202},
-{"linux/scc.h", "TIOCCHANMEM", 0x2210},
-{"linux/scc.h", "TIOCGKISS", 0x2282},
-{"linux/scc.h", "TIOCSKISS", 0x2283},
-{"linux/scc.h", "TIOCSCCSTAT", 0x2284},
-{"linux/apm_bios.h", "APM_IOC_STANDBY", 0x4101},
-{"linux/apm_bios.h", "APM_IOC_SUSPEND", 0x4102},
-{"linux/soundcard.h", "SNDCTL_COPR_RESET", 0x4300},
-{"linux/fb.h", "FBIOGET_VSCREENINFO", 0x4600},
-{"linux/fb.h", "FBIOPUT_VSCREENINFO", 0x4601},
-{"linux/fb.h", "FBIOGET_FSCREENINFO", 0x4602},
-{"linux/fb.h", "FBIOGETCMAP", 0x4604},
-{"linux/fb.h", "FBIOPUTCMAP", 0x4605},
-{"linux/fb.h", "FBIOPAN_DISPLAY", 0x4606},
-{"linux/fb.h", "FBIOGET_FCURSORINFO", 0x4607},
-{"linux/fb.h", "FBIOGET_VCURSORINFO", 0x4608},
-{"linux/fb.h", "FBIOPUT_VCURSORINFO", 0x4609},
-{"linux/fb.h", "FBIOGET_CURSORSTATE", 0x460a},
-{"linux/fb.h", "FBIOPUT_CURSORSTATE", 0x460b},
-{"linux/fb.h", "FBCMD_DRAWLINE", 0x4621},
-{"linux/fb.h", "FBCMD_MOVE", 0x4622},
-{"linux/isdn.h", "IIOCNETAIF", 0x4901},
-{"linux/isdn.h", "IIOCNETDIF", 0x4902},
-{"linux/isdn.h", "IIOCNETSCF", 0x4903},
-{"linux/isdn.h", "IIOCNETGCF", 0x4904},
-{"linux/isdn.h", "IIOCNETANM", 0x4905},
-{"linux/isdn.h", "IIOCNETDNM", 0x4906},
-{"linux/isdn.h", "IIOCNETGNM", 0x4907},
-{"linux/isdn.h", "IIOCGETSET", 0x4908},
-{"linux/isdn.h", "IIOCSETSET", 0x4909},
-{"linux/isdn.h", "IIOCSETVER", 0x490a},
-{"linux/isdn.h", "IIOCNETHUP", 0x490b},
-{"linux/isdn.h", "IIOCSETGST", 0x490c},
-{"linux/isdn.h", "IIOCSETBRJ", 0x490d},
-{"linux/isdn.h", "IIOCSIGPRF", 0x490e},
-{"linux/isdn.h", "IIOCGETPRF", 0x490f},
-{"linux/isdn.h", "IIOCSETPRF", 0x4910},
-{"linux/isdn.h", "IIOCGETMAP", 0x4911},
-{"linux/isdn.h", "IIOCSETMAP", 0x4912},
-{"linux/isdn.h", "IIOCNETASL", 0x4913},
-{"linux/isdn.h", "IIOCNETDIL", 0x4914},
-{"linux/isdn.h", "IIOCGETCPS", 0x4915},
-{"linux/isdn.h", "IIOCNETALN", 0x4920},
-{"linux/isdn.h", "IIOCNETDLN", 0x4921},
-{"linux/isdn.h", "IIOCDBGVAR", 0x497f},
-{"linux/isdn.h", "IIOCDRVCTL", 0x4980},
-{"linux/kd.h", "KIOCSOUND", 0x4b2f},
-{"linux/kd.h", "KDMKTONE", 0x4b30},
-{"linux/kd.h", "KDGETLED", 0x4b31},
-{"linux/kd.h", "KDSETLED", 0x4b32},
-{"linux/kd.h", "KDGKBTYPE", 0x4b33},
-{"linux/kd.h", "KDADDIO", 0x4b34},
-{"linux/kd.h", "KDDELIO", 0x4b35},
-{"linux/kd.h", "KDENABIO", 0x4b36},
-{"linux/kd.h", "KDDISABIO", 0x4b37},
-{"linux/kd.h", "KDSETMODE", 0x4b3a},
-{"linux/kd.h", "KDGETMODE", 0x4b3b},
-{"linux/kd.h", "KDMAPDISP", 0x4b3c},
-{"linux/kd.h", "KDUNMAPDISP", 0x4b3d},
-{"linux/kd.h", "GIO_SCRNMAP", 0x4b40},
-{"linux/kd.h", "PIO_SCRNMAP", 0x4b41},
-{"linux/kd.h", "KDGKBMODE", 0x4b44},
-{"linux/kd.h", "KDSKBMODE", 0x4b45},
-{"linux/kd.h", "KDGKBENT", 0x4b46},
-{"linux/kd.h", "KDSKBENT", 0x4b47},
-{"linux/kd.h", "KDGKBSENT", 0x4b48},
-{"linux/kd.h", "KDSKBSENT", 0x4b49},
-{"linux/kd.h", "KDGKBDIACR", 0x4b4a},
-{"linux/kd.h", "KDSKBDIACR", 0x4b4b},
-{"linux/kd.h", "KDGETKEYCODE", 0x4b4c},
-{"linux/kd.h", "KDSETKEYCODE", 0x4b4d},
-{"linux/kd.h", "KDSIGACCEPT", 0x4b4e},
-{"linux/kd.h", "GIO_FONT", 0x4b60},
-{"linux/kd.h", "PIO_FONT", 0x4b61},
-{"linux/kd.h", "KDGKBMETA", 0x4b62},
-{"linux/kd.h", "KDSKBMETA", 0x4b63},
-{"linux/kd.h", "KDGKBLED", 0x4b64},
-{"linux/kd.h", "KDSKBLED", 0x4b65},
-{"linux/kd.h", "GIO_UNIMAP", 0x4b66},
-{"linux/kd.h", "PIO_UNIMAP", 0x4b67},
-{"linux/kd.h", "PIO_UNIMAPCLR", 0x4b68},
-{"linux/kd.h", "GIO_UNISCRNMAP", 0x4b69},
-{"linux/kd.h", "PIO_UNISCRNMAP", 0x4b6a},
-{"linux/kd.h", "GIO_FONTX", 0x4b6b},
-{"linux/kd.h", "PIO_FONTX", 0x4b6c},
-{"linux/kd.h", "PIO_FONTRESET", 0x4b6d},
-{"linux/kd.h", "GIO_CMAP", 0x4b70},
-{"linux/kd.h", "PIO_CMAP", 0x4b71},
-{"linux/loop.h", "LOOP_SET_FD", 0x4c00},
-{"linux/loop.h", "LOOP_CLR_FD", 0x4c01},
-{"linux/loop.h", "LOOP_SET_STATUS", 0x4c02},
-{"linux/loop.h", "LOOP_GET_STATUS", 0x4c03},
-{"linux/soundcard.h", "SNDCTL_DSP_RESET", 0x5000},
-{"linux/soundcard.h", "SNDCTL_DSP_SYNC", 0x5001},
-{"linux/soundcard.h", "SNDCTL_DSP_POST", 0x5008},
-{"linux/soundcard.h", "SNDCTL_DSP_NONBLOCK", 0x500e},
-{"linux/soundcard.h", "SNDCTL_DSP_SETSYNCRO", 0x5015},
-{"linux/soundcard.h", "SNDCTL_DSP_SETDUPLEX", 0x5016},
-{"linux/soundcard.h", "SNDCTL_SEQ_RESET", 0x5100},
-{"linux/soundcard.h", "SNDCTL_SEQ_SYNC", 0x5101},
-{"linux/soundcard.h", "SNDCTL_SEQ_PANIC", 0x5111},
-{"linux/random.h", "RNDZAPENTCNT", 0x5204},
-{"linux/random.h", "RNDCLEARPOOL", 0x5206},
-{"linux/cdrom.h", "CDROMPAUSE", 0x5301},
-{"linux/cdrom.h", "CDROMRESUME", 0x5302},
-{"linux/cdrom.h", "CDROMPLAYMSF", 0x5303},
-{"linux/cdrom.h", "CDROMPLAYTRKIND", 0x5304},
-{"linux/cdrom.h", "CDROMREADTOCHDR", 0x5305},
-{"linux/cdrom.h", "CDROMREADTOCENTRY", 0x5306},
-{"linux/cdrom.h", "CDROMSTOP", 0x5307},
-{"linux/cdrom.h", "CDROMSTART", 0x5308},
-{"linux/cdrom.h", "CDROMEJECT", 0x5309},
-{"linux/cdrom.h", "CDROMVOLCTRL", 0x530a},
-{"linux/cdrom.h", "CDROMSUBCHNL", 0x530b},
-{"linux/cdrom.h", "CDROMREADMODE2", 0x530c},
-{"linux/cdrom.h", "CDROMREADMODE1", 0x530d},
-{"linux/cdrom.h", "CDROMREADAUDIO", 0x530e},
-{"linux/cdrom.h", "CDROMEJECT_SW", 0x530f},
-{"linux/cdrom.h", "CDROMMULTISESSION", 0x5310},
-{"linux/cdrom.h", "CDROM_GET_UPC", 0x5311},
-{"linux/cm206.h", "CDROM_GET_UPC", 0x5311},
-{"linux/cdrom.h", "CDROMRESET", 0x5312},
-{"linux/cm206.h", "CDROMRESET", 0x5312},
-{"linux/cdrom.h", "CDROMVOLREAD", 0x5313},
-{"linux/cdrom.h", "CDROMREADRAW", 0x5314},
-{"linux/cdrom.h", "CDROMREADCOOKED", 0x5315},
-{"linux/cdrom.h", "CDROMSEEK", 0x5316},
-{"linux/cdrom.h", "CDROMPLAYBLK", 0x5317},
-{"linux/cdrom.h", "CDROMREADALL", 0x5318},
-{"linux/cdrom.h", "CDROMCLOSETRAY", 0x5319},
-{"linux/cdrom.h", "CDROMLOADFROMSLOT", 0x531a},
-{"linux/ucdrom.h", "CDROM_SET_OPTIONS", 0x5320},
-{"linux/ucdrom.h", "CDROM_CLEAR_OPTIONS", 0x5321},
-{"linux/ucdrom.h", "CDROM_SELECT_SPEED", 0x5322},
-{"linux/ucdrom.h", "CDROM_SELECT_DISC", 0x5323},
-{"linux/ucdrom.h", "CDROM_MEDIA_CHANGED", 0x5325},
-{"linux/ucdrom.h", "CDROM_DRIVE_STATUS", 0x5326},
-{"linux/ucdrom.h", "CDROM_DISC_STATUS", 0x5327},
-{"linux/sbpcd.h", "CDROMAUDIOBUFSIZ", 0x5382},
-{"asm/ioctls.h", "TCGETS", 0x5401},
-{"asm/ioctls.h", "TCSETS", 0x5402},
-{"linux/soundcard.h", "SNDCTL_TMR_START", 0x5402},
-{"asm/ioctls.h", "TCSETSW", 0x5403},
-{"linux/soundcard.h", "SNDCTL_TMR_STOP", 0x5403},
-{"asm/ioctls.h", "TCSETSF", 0x5404},
-{"linux/soundcard.h", "SNDCTL_TMR_CONTINUE", 0x5404},
-{"asm/ioctls.h", "TCGETA", 0x5405},
-{"asm/ioctls.h", "TCSETA", 0x5406},
-{"asm/ioctls.h", "TCSETAW", 0x5407},
-{"asm/ioctls.h", "TCSETAF", 0x5408},
-{"asm/ioctls.h", "TCSBRK", 0x5409},
-{"asm/ioctls.h", "TCXONC", 0x540a},
-{"asm/ioctls.h", "TCFLSH", 0x540b},
-{"asm/ioctls.h", "TIOCEXCL", 0x540c},
-{"asm/ioctls.h", "TIOCNXCL", 0x540d},
-{"asm/ioctls.h", "TIOCSCTTY", 0x540e},
-{"asm/ioctls.h", "TIOCGPGRP", 0x540f},
-{"asm/ioctls.h", "TIOCSPGRP", 0x5410},
-{"asm/ioctls.h", "TIOCOUTQ", 0x5411},
-{"asm/ioctls.h", "TIOCSTI", 0x5412},
-{"asm/ioctls.h", "TIOCGWINSZ", 0x5413},
-{"asm/ioctls.h", "TIOCSWINSZ", 0x5414},
-{"asm/ioctls.h", "TIOCMGET", 0x5415},
-{"asm/ioctls.h", "TIOCMBIS", 0x5416},
-{"asm/ioctls.h", "TIOCMBIC", 0x5417},
-{"asm/ioctls.h", "TIOCMSET", 0x5418},
-{"asm/ioctls.h", "TIOCGSOFTCAR", 0x5419},
-{"asm/ioctls.h", "TIOCSSOFTCAR", 0x541a},
-{"asm/ioctls.h", "FIONREAD", 0x541b},
-{"asm/ioctls.h", "TIOCLINUX", 0x541c},
-{"asm/ioctls.h", "TIOCCONS", 0x541d},
-{"asm/ioctls.h", "TIOCGSERIAL", 0x541e},
-{"asm/ioctls.h", "TIOCSSERIAL", 0x541f},
-{"asm/ioctls.h", "TIOCPKT", 0x5420},
-{"asm/ioctls.h", "FIONBIO", 0x5421},
-{"asm/ioctls.h", "TIOCNOTTY", 0x5422},
-{"asm/ioctls.h", "TIOCSETD", 0x5423},
-{"asm/ioctls.h", "TIOCGETD", 0x5424},
-{"asm/ioctls.h", "TCSBRKP", 0x5425},
-{"asm/ioctls.h", "TIOCTTYGSTRUCT", 0x5426},
-{"asm/ioctls.h", "FIONCLEX", 0x5450},
-{"asm/ioctls.h", "FIOCLEX", 0x5451},
-{"asm/ioctls.h", "FIOASYNC", 0x5452},
-{"asm/ioctls.h", "TIOCSERCONFIG", 0x5453},
-{"asm/ioctls.h", "TIOCSERGWILD", 0x5454},
-{"asm/ioctls.h", "TIOCSERSWILD", 0x5455},
-{"asm/ioctls.h", "TIOCGLCKTRMIOS", 0x5456},
-{"asm/ioctls.h", "TIOCSLCKTRMIOS", 0x5457},
-{"asm/ioctls.h", "TIOCSERGSTRUCT", 0x5458},
-{"asm/ioctls.h", "TIOCSERGETLSR", 0x5459},
-{"asm/ioctls.h", "TIOCSERGETMULTI", 0x545a},
-{"asm/ioctls.h", "TIOCSERSETMULTI", 0x545b},
-{"asm/ioctls.h", "TIOCMIWAIT", 0x545c},
-{"asm/ioctls.h", "TIOCGICOUNT", 0x545d},
-{"linux/vt.h", "VT_OPENQRY", 0x5600},
-{"linux/vt.h", "VT_GETMODE", 0x5601},
-{"linux/vt.h", "VT_SETMODE", 0x5602},
-{"linux/vt.h", "VT_GETSTATE", 0x5603},
-{"linux/vt.h", "VT_SENDSIG", 0x5604},
-{"linux/vt.h", "VT_RELDISP", 0x5605},
-{"linux/vt.h", "VT_ACTIVATE", 0x5606},
-{"linux/vt.h", "VT_WAITACTIVE", 0x5607},
-{"linux/vt.h", "VT_DISALLOCATE", 0x5608},
-{"linux/vt.h", "VT_RESIZE", 0x5609},
-{"linux/vt.h", "VT_RESIZEX", 0x560a},
-{"linux/vt.h", "VT_LOCKSWITCH", 0x560b},
-{"linux/vt.h", "VT_UNLOCKSWITCH", 0x560c},
-{"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/ncp_fs.h", "NCP_IOC_CONN_LOGGED_IN", 0x6e03},
-{"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", "PPPIOCXFERUNIT", 0x744e},
-{"asm/sockios.h", "FIOSETOWN", 0x8901},
-{"asm/sockios.h", "SIOCSPGRP", 0x8902},
-{"asm/sockios.h", "FIOGETOWN", 0x8903},
-{"asm/sockios.h", "SIOCGPGRP", 0x8904},
-{"asm/sockios.h", "SIOCATMARK", 0x8905},
-{"asm/sockios.h", "SIOCGSTAMP", 0x8906},
-{"linux/sockios.h", "SIOCADDRT", 0x890b},
-{"linux/sockios.h", "SIOCDELRT", 0x890c},
-{"linux/sockios.h", "SIOCGIFNAME", 0x8910},
-{"linux/sockios.h", "SIOCSIFLINK", 0x8911},
-{"linux/sockios.h", "SIOCGIFCONF", 0x8912},
-{"linux/sockios.h", "SIOCGIFFLAGS", 0x8913},
-{"linux/sockios.h", "SIOCSIFFLAGS", 0x8914},
-{"linux/sockios.h", "SIOCGIFADDR", 0x8915},
-{"linux/sockios.h", "SIOCSIFADDR", 0x8916},
-{"linux/sockios.h", "SIOCGIFDSTADDR", 0x8917},
-{"linux/sockios.h", "SIOCSIFDSTADDR", 0x8918},
-{"linux/sockios.h", "SIOCGIFBRDADDR", 0x8919},
-{"linux/sockios.h", "SIOCSIFBRDADDR", 0x891a},
-{"linux/sockios.h", "SIOCGIFNETMASK", 0x891b},
-{"linux/sockios.h", "SIOCSIFNETMASK", 0x891c},
-{"linux/sockios.h", "SIOCGIFMETRIC", 0x891d},
-{"linux/sockios.h", "SIOCSIFMETRIC", 0x891e},
-{"linux/sockios.h", "SIOCGIFMEM", 0x891f},
-{"linux/sockios.h", "SIOCSIFMEM", 0x8920},
-{"linux/sockios.h", "SIOCGIFMTU", 0x8921},
-{"linux/sockios.h", "SIOCSIFMTU", 0x8922},
-{"linux/sockios.h", "SIOCSIFHWADDR", 0x8924},
-{"linux/sockios.h", "SIOCGIFENCAP", 0x8925},
-{"linux/sockios.h", "SIOCSIFENCAP", 0x8926},
-{"linux/sockios.h", "SIOCGIFHWADDR", 0x8927},
-{"linux/sockios.h", "SIOCGIFSLAVE", 0x8929},
-{"linux/sockios.h", "SIOCSIFSLAVE", 0x8930},
-{"linux/sockios.h", "SIOCADDMULTI", 0x8931},
-{"linux/sockios.h", "SIOCDELMULTI", 0x8932},
-{"linux/sockios.h", "SIOCGIFBR", 0x8940},
-{"linux/sockios.h", "SIOCSIFBR", 0x8941},
-{"linux/sockios.h", "OLD_SIOCDARP", 0x8950},
-{"linux/sockios.h", "OLD_SIOCGARP", 0x8951},
-{"linux/sockios.h", "OLD_SIOCSARP", 0x8952},
-{"linux/sockios.h", "SIOCDARP", 0x8953},
-{"linux/sockios.h", "SIOCGARP", 0x8954},
-{"linux/sockios.h", "SIOCSARP", 0x8955},
-{"linux/sockios.h", "SIOCDRARP", 0x8960},
-{"linux/sockios.h", "SIOCGRARP", 0x8961},
-{"linux/sockios.h", "SIOCSRARP", 0x8962},
-{"linux/sockios.h", "SIOCGIFMAP", 0x8970},
-{"linux/sockios.h", "SIOCSIFMAP", 0x8971},
-{"linux/sockios.h", "SIOCADDDLCI", 0x8980},
-{"linux/sockios.h", "SIOCDELDLCI", 0x8981},
-{"linux/sockios.h", "SIOCPROTOPRIVATE", 0x89e0},
-{"linux/sockios.h", "SIOCDEVPRIVATE", 0x89f0},
-{"linux/sbpcd.h", "DDIOCSDBG", 0x9000},
-{"linux/cyclades.h", "CYGETMON", 0x435901},
-{"linux/cyclades.h", "CYGETTHRESH", 0x435902},
-{"linux/cyclades.h", "CYSETTHRESH", 0x435903},
-{"linux/cyclades.h", "CYGETDEFTHRESH", 0x435904},
-{"linux/cyclades.h", "CYSETDEFTHRESH", 0x435905},
-{"linux/cyclades.h", "CYGETTIMEOUT", 0x435906},
-{"linux/cyclades.h", "CYSETTIMEOUT", 0x435907},
-{"linux/cyclades.h", "CYGETDEFTIMEOUT", 0x435908},
-{"linux/cyclades.h", "CYSETDEFTIMEOUT", 0x435909},
-{"linux/ncp_fs.h", "NCP_IOC_GETMOUNTUID", 0x40026e02},
-{"linux/soundcard.h", "SNDCTL_DSP_SETTRIGGER", 0x40045010},
-{"linux/soundcard.h", "SNDCTL_SEQ_PERCMODE", 0x40045106},
-{"linux/soundcard.h", "SNDCTL_SEQ_TESTMIDI", 0x40045108},
-{"linux/soundcard.h", "SNDCTL_SEQ_RESETSAMPLES", 0x40045109},
-{"linux/soundcard.h", "SNDCTL_SEQ_THRESHOLD", 0x4004510d},
-{"linux/soundcard.h", "SNDCTL_FM_4OP_ENABLE", 0x4004510f},
-{"linux/random.h", "RNDADDTOENTCNT", 0x40045201},
-{"linux/soundcard.h", "SNDCTL_TMR_METRONOME", 0x40045407},
-{"linux/soundcard.h", "SNDCTL_TMR_SELECT", 0x40045408},
-{"linux/ext2_fs.h", "EXT2_IOC_SETFLAGS", 0x40046602},
-{"linux/msdos_fs.h", "VFAT_IOCTL_READDIR_SHORT", 0x40047202},
-{"linux/if_ppp.h", "PPPIOCSDEBUG", 0x40047440},
-{"linux/if_ppp.h", "PPPIOCSMAXCID", 0x40047451},
-{"linux/if_ppp.h", "PPPIOCSMRU", 0x40047452},
-{"linux/if_ppp.h", "PPPIOCSRASYNCMAP", 0x40047454},
-{"linux/if_ppp.h", "PPPIOCSASYNCMAP", 0x40047457},
-{"linux/if_ppp.h", "PPPIOCSFLAGS", 0x40047459},
-{"linux/isdn_ppp.h", "PPPIOCBUNDLE", 0x40047481},
-{"linux/isdn_ppp.h", "PPPIOCSMPFLAGS", 0x40047483},
-{"linux/isdn_ppp.h", "PPPIOCSMPMTU", 0x40047484},
-{"linux/isdn_ppp.h", "PPPIOCSMPMRU", 0x40047485},
-{"linux/ext2_fs.h", "EXT2_IOC_SETVERSION", 0x40047602},
-{"linux/soundcard.h", "SNDCTL_SEQ_OUTOFBAND", 0x40085112},
-{"linux/random.h", "RNDADDENTROPY", 0x40085203},
-{"linux/mtio.h", "MTIOCTOP", 0x40086d01},
-{"linux/if_ppp.h", "PPPIOCSNPMODE", 0x4008744b},
-{"linux/fd.h", "FDFMTTRK", 0x400c0248},
-{"linux/if_ppp.h", "PPPIOCSCOMPRESS", 0x400c744d},
-{"linux/fd.h", "FDSETMAXERRS", 0x4014024c},
-{"linux/soundcard.h", "SNDCTL_COPR_WDATA", 0x40144304},
-{"linux/soundcard.h", "SNDCTL_COPR_WCODE", 0x40144305},
-{"linux/fd.h", "FDSETPRM", 0x401c0242},
-{"linux/fd.h", "FDDEFPRM", 0x401c0243},
-{"linux/if_ppp.h", "PPPIOCSXASYNCMAP", 0x4020744f},
-{"linux/soundcard.h", "SNDCTL_FM_LOAD_INSTR", 0x40285107},
-{"linux/fd.h", "FDSETDRVPRM", 0x40580290},
-{"linux/soundcard.h", "SNDCTL_COPR_SENDMSG", 0x4fa44308},
-{"linux/smb_fs.h", "SMB_IOC_GETMOUNTUID", 0x80027501},
-{"linux/soundcard.h", "SOUND_MIXER_READ_VOLUME", 0x80044d00},
-{"linux/soundcard.h", "SOUND_MIXER_READ_BASS", 0x80044d01},
-{"linux/soundcard.h", "SOUND_MIXER_READ_TREBLE", 0x80044d02},
-{"linux/soundcard.h", "SOUND_MIXER_READ_SYNTH", 0x80044d03},
-{"linux/soundcard.h", "SOUND_MIXER_READ_PCM", 0x80044d04},
-{"linux/soundcard.h", "SOUND_MIXER_READ_SPEAKER", 0x80044d05},
-{"linux/soundcard.h", "SOUND_MIXER_READ_LINE", 0x80044d06},
-{"linux/soundcard.h", "SOUND_MIXER_READ_MIC", 0x80044d07},
-{"linux/soundcard.h", "SOUND_MIXER_READ_CD", 0x80044d08},
-{"linux/soundcard.h", "SOUND_MIXER_READ_IMIX", 0x80044d09},
-{"linux/soundcard.h", "SOUND_MIXER_READ_ALTPCM", 0x80044d0a},
-{"linux/soundcard.h", "SOUND_MIXER_READ_RECLEV", 0x80044d0b},
-{"linux/soundcard.h", "SOUND_MIXER_READ_IGAIN", 0x80044d0c},
-{"linux/soundcard.h", "SOUND_MIXER_READ_OGAIN", 0x80044d0d},
-{"linux/soundcard.h", "SOUND_MIXER_READ_LINE1", 0x80044d0e},
-{"linux/soundcard.h", "SOUND_MIXER_READ_LINE2", 0x80044d0f},
-{"linux/soundcard.h", "SOUND_MIXER_READ_LINE3", 0x80044d10},
-{"linux/soundcard.h", "SOUND_MIXER_READ_MUTE", 0x80044d1c},
-{"linux/soundcard.h", "SOUND_MIXER_READ_ENHANCE", 0x80044d1d},
-{"linux/soundcard.h", "SOUND_MIXER_READ_LOUD", 0x80044d1e},
-{"linux/soundcard.h", "SOUND_MIXER_READ_STEREODEVS", 0x80044dfb},
-{"linux/soundcard.h", "SOUND_MIXER_READ_CAPS", 0x80044dfc},
-{"linux/soundcard.h", "SOUND_MIXER_READ_RECMASK", 0x80044dfd},
-{"linux/soundcard.h", "SOUND_MIXER_READ_DEVMASK", 0x80044dfe},
-{"linux/soundcard.h", "SOUND_MIXER_READ_RECSRC", 0x80044dff},
-{"linux/soundcard.h", "SOUND_PCM_READ_RATE", 0x80045002},
-{"linux/soundcard.h", "SOUND_PCM_READ_BITS", 0x80045005},
-{"linux/soundcard.h", "SOUND_PCM_READ_CHANNELS", 0x80045006},
-{"linux/soundcard.h", "SOUND_PCM_READ_FILTER", 0x80045007},
-{"linux/soundcard.h", "SNDCTL_DSP_GETFMTS", 0x8004500b},
-{"linux/soundcard.h", "SNDCTL_DSP_GETCAPS", 0x8004500f},
-{"linux/soundcard.h", "SNDCTL_DSP_GETTRIGGER", 0x80045010},
-{"linux/soundcard.h", "SNDCTL_SEQ_GETOUTCOUNT", 0x80045104},
-{"linux/soundcard.h", "SNDCTL_SEQ_GETINCOUNT", 0x80045105},
-{"linux/soundcard.h", "SNDCTL_SEQ_NRSYNTHS", 0x8004510a},
-{"linux/soundcard.h", "SNDCTL_SEQ_NRMIDIS", 0x8004510b},
-{"linux/random.h", "RNDGETENTCNT", 0x80045200},
-{"linux/ext2_fs.h", "EXT2_IOC_GETFLAGS", 0x80046601},
-{"linux/mtio.h", "MTIOCPOS", 0x80046d03},
-{"linux/msdos_fs.h", "VFAT_IOCTL_READDIR_BOTH", 0x80047201},
-{"linux/if_ppp.h", "PPPIOCGDEBUG", 0x80047441},
-{"linux/if_ppp.h", "PPPIOCGMRU", 0x80047453},
-{"linux/if_ppp.h", "PPPIOCGRASYNCMAP", 0x80047455},
-{"linux/if_ppp.h", "PPPIOCGUNIT", 0x80047456},
-{"linux/if_ppp.h", "PPPIOCGASYNCMAP", 0x80047458},
-{"linux/if_ppp.h", "PPPIOCGFLAGS", 0x8004745a},
-{"linux/isdn_ppp.h", "PPPIOCGMPFLAGS", 0x80047482},
-{"linux/ext2_fs.h", "EXT2_IOC_GETVERSION", 0x80047601},
-{"linux/soundcard.h", "SNDCTL_DSP_MAPINBUF", 0x80085013},
-{"linux/soundcard.h", "SNDCTL_DSP_MAPOUTBUF", 0x80085014},
-{"linux/random.h", "RNDGETPOOL", 0x80085202},
-{"linux/if_ppp.h", "PPPIOCGIDLE", 0x8008743f},
-{"linux/soundcard.h", "SNDCTL_DSP_GETIPTR", 0x800c5011},
-{"linux/soundcard.h", "SNDCTL_DSP_GETOPTR", 0x800c5012},
-{"linux/ncp_fs.h", "NCP_IOC_NCPREQUEST", 0x800c6e01},
-{"linux/fd.h", "FDGETDRVTYP", 0x8010020f},
-{"linux/soundcard.h", "SNDCTL_DSP_GETOSPACE", 0x8010500c},
-{"linux/soundcard.h", "SNDCTL_DSP_GETISPACE", 0x8010500d},
-{"linux/fd.h", "FDGETMAXERRS", 0x8014020e},
-{"linux/fd.h", "FDWERRORGET", 0x80180217},
-{"linux/fd.h", "FDGETPRM", 0x801c0204},
-{"linux/mtio.h", "MTIOCGET", 0x801c6d02},
-{"linux/fd.h", "FDGETFDCSTAT", 0x80200215},
-{"linux/if_ppp.h", "PPPIOCGXASYNCMAP", 0x80207450},
-{"linux/fd.h", "FDGETDRVSTAT", 0x80340212},
-{"linux/fd.h", "FDPOLLDRVSTAT", 0x80340213},
-{"linux/fd.h", "FDGETDRVPRM", 0x80580211},
-{"linux/soundcard.h", "SNDCTL_COPR_RCVMSG", 0x8fa44309},
-{"linux/soundcard.h", "SOUND_MIXER_WRITE_VOLUME", 0xc0044d00},
-{"linux/soundcard.h", "SOUND_MIXER_WRITE_BASS", 0xc0044d01},
-{"linux/soundcard.h", "SOUND_MIXER_WRITE_TREBLE", 0xc0044d02},
-{"linux/soundcard.h", "SOUND_MIXER_WRITE_SYNTH", 0xc0044d03},
-{"linux/soundcard.h", "SOUND_MIXER_WRITE_PCM", 0xc0044d04},
-{"linux/soundcard.h", "SOUND_MIXER_WRITE_SPEAKER", 0xc0044d05},
-{"linux/soundcard.h", "SOUND_MIXER_WRITE_LINE", 0xc0044d06},
-{"linux/soundcard.h", "SOUND_MIXER_WRITE_MIC", 0xc0044d07},
-{"linux/soundcard.h", "SOUND_MIXER_WRITE_CD", 0xc0044d08},
-{"linux/soundcard.h", "SOUND_MIXER_WRITE_IMIX", 0xc0044d09},
-{"linux/soundcard.h", "SOUND_MIXER_WRITE_ALTPCM", 0xc0044d0a},
-{"linux/soundcard.h", "SOUND_MIXER_WRITE_RECLEV", 0xc0044d0b},
-{"linux/soundcard.h", "SOUND_MIXER_WRITE_IGAIN", 0xc0044d0c},
-{"linux/soundcard.h", "SOUND_MIXER_WRITE_OGAIN", 0xc0044d0d},
-{"linux/soundcard.h", "SOUND_MIXER_WRITE_LINE1", 0xc0044d0e},
-{"linux/soundcard.h", "SOUND_MIXER_WRITE_LINE2", 0xc0044d0f},
-{"linux/soundcard.h", "SOUND_MIXER_WRITE_LINE3", 0xc0044d10},
-{"linux/soundcard.h", "SOUND_MIXER_WRITE_MUTE", 0xc0044d1c},
-{"linux/soundcard.h", "SOUND_MIXER_WRITE_ENHANCE", 0xc0044d1d},
-{"linux/soundcard.h", "SOUND_MIXER_WRITE_LOUD", 0xc0044d1e},
-{"linux/soundcard.h", "SOUND_MIXER_WRITE_RECSRC", 0xc0044dff},
-{"linux/soundcard.h", "SNDCTL_DSP_SPEED", 0xc0045002},
-{"linux/soundcard.h", "SNDCTL_DSP_STEREO", 0xc0045003},
-{"linux/soundcard.h", "SNDCTL_DSP_GETBLKSIZE", 0xc0045004},
-{"linux/soundcard.h", "SNDCTL_DSP_SETFMT", 0xc0045005},
-{"linux/soundcard.h", "SOUND_PCM_WRITE_CHANNELS", 0xc0045006},
-{"linux/soundcard.h", "SOUND_PCM_WRITE_FILTER", 0xc0045007},
-{"linux/soundcard.h", "SNDCTL_DSP_SUBDIVIDE", 0xc0045009},
-{"linux/soundcard.h", "SNDCTL_DSP_SETFRAGMENT", 0xc004500a},
-{"linux/soundcard.h", "SNDCTL_SEQ_CTRLRATE", 0xc0045103},
-{"linux/soundcard.h", "SNDCTL_SYNTH_MEMAVL", 0xc004510e},
-{"linux/soundcard.h", "SNDCTL_TMR_TIMEBASE", 0xc0045401},
-{"linux/soundcard.h", "SNDCTL_TMR_TEMPO", 0xc0045405},
-{"linux/soundcard.h", "SNDCTL_TMR_SOURCE", 0xc0045406},
-{"linux/soundcard.h", "SNDCTL_MIDI_PRETIME", 0xc0046d00},
-{"linux/soundcard.h", "SNDCTL_MIDI_MPUMODE", 0xc0046d01},
-{"linux/if_ppp.h", "PPPIOCGNPMODE", 0xc008744c},
-{"linux/soundcard.h", "SNDCTL_COPR_RDATA", 0xc0144302},
-{"linux/soundcard.h", "SNDCTL_COPR_RCODE", 0xc0144303},
-{"linux/soundcard.h", "SNDCTL_COPR_RUN", 0xc0144306},
-{"linux/soundcard.h", "SNDCTL_COPR_HALT", 0xc0144307},
-{"linux/soundcard.h", "SNDCTL_MIDI_MPUCMD", 0xc0216d02},
-{"linux/isdn_ppp.h", "PPPIOCLINKINFO", 0xc0247480},
-{"linux/ncp_fs.h", "NCP_IOC_GET_FS_INFO", 0xc0286e04},
-{"linux/soundcard.h", "SNDCTL_MIDI_INFO", 0xc074510c},
-{"linux/soundcard.h", "SNDCTL_SYNTH_INFO", 0xc08c5102},
-{"linux/soundcard.h", "SNDCTL_COPR_LOAD", 0xcfb04301},
-{"linux/soundcard.h", "SNDCTL_PMGR_IFACE", 0xcfb85001},
-{"linux/soundcard.h", "SNDCTL_PMGR_ACCESS", 0xcfb85110},
+       {"linux/agpgart.h",     "AGPIOC_INFO",  0x4100},
+       {"linux/agpgart.h",     "AGPIOC_ACQUIRE",       0x4101},
+       {"linux/agpgart.h",     "AGPIOC_RELEASE",       0x4102},
+       {"linux/agpgart.h",     "AGPIOC_SETUP", 0x4103},
+       {"linux/agpgart.h",     "AGPIOC_RESERVE",       0x4104},
+       {"linux/agpgart.h",     "AGPIOC_PROTECT",       0x4105},
+       {"linux/agpgart.h",     "AGPIOC_ALLOCATE",      0x4106},
+       {"linux/agpgart.h",     "AGPIOC_DEALLOCATE",    0x4107},
+       {"linux/agpgart.h",     "AGPIOC_BIND",  0x4108},
+       {"linux/agpgart.h",     "AGPIOC_UNBIND",        0x4109},
+       {"linux/apm_bios.h",    "APM_IOC_STANDBY",      0x4101},
+       {"linux/apm_bios.h",    "APM_IOC_SUSPEND",      0x4102},
+       {"linux/atm_eni.h",     "ENI_MEMDUMP",  0x6160},
+       {"linux/atm_eni.h",     "ENI_SETMULT",  0x6167},
+       {"linux/atm_idt77105.h",        "IDT77105_GETSTAT",     0x6132},
+       {"linux/atm_idt77105.h",        "IDT77105_GETSTATZ",    0x6133},
+       {"linux/atm_nicstar.h", "NS_GETPSTAT",  0x6161},
+       {"linux/atm_nicstar.h", "NS_SETBUFLEV", 0x6162},
+       {"linux/atm_nicstar.h", "NS_ADJBUFLEV", 0x6163},
+       {"linux/atm_tcp.h",     "SIOCSIFATMTCP",        0x6180},
+       {"linux/atm_tcp.h",     "ATMTCP_CREATE",        0x618e},
+       {"linux/atm_tcp.h",     "ATMTCP_REMOVE",        0x618f},
+       {"linux/atm_zatm.h",    "ZATM_GETPOOL", 0x6161},
+       {"linux/atm_zatm.h",    "ZATM_GETPOOLZ",        0x6162},
+       {"linux/atm_zatm.h",    "ZATM_SETPOOL", 0x6163},
+       {"linux/atm_zatm.h",    "ZATM_GETTHIST",        0x6164},
+       {"linux/atmarp.h",      "ATMARPD_CTRL", 0x61e1},
+       {"linux/atmarp.h",      "ATMARP_MKIP",  0x61e2},
+       {"linux/atmarp.h",      "ATMARP_SETENTRY",      0x61e3},
+       {"linux/atmarp.h",      "ATMARP_ENCAP", 0x61e5},
+       {"linux/atmclip.h",     "SIOCMKCLIP",   0x61e0},
+       {"linux/atmdev.h",      "ATM_GETLINKRATE",      0x6181},
+       {"linux/atmdev.h",      "ATM_GETNAMES", 0x6183},
+       {"linux/atmdev.h",      "ATM_GETTYPE",  0x6184},
+       {"linux/atmdev.h",      "ATM_GETESI",   0x6185},
+       {"linux/atmdev.h",      "ATM_GETADDR",  0x6186},
+       {"linux/atmdev.h",      "ATM_RSTADDR",  0x6187},
+       {"linux/atmdev.h",      "ATM_ADDADDR",  0x6188},
+       {"linux/atmdev.h",      "ATM_DELADDR",  0x6189},
+       {"linux/atmdev.h",      "ATM_GETCIRANGE",       0x618a},
+       {"linux/atmdev.h",      "ATM_SETCIRANGE",       0x618b},
+       {"linux/atmdev.h",      "ATM_SETESI",   0x618c},
+       {"linux/atmdev.h",      "ATM_SETESIF",  0x618d},
+       {"linux/atmdev.h",      "ATM_GETSTAT",  0x6150},
+       {"linux/atmdev.h",      "ATM_GETSTATZ", 0x6151},
+       {"linux/atmdev.h",      "ATM_GETLOOP",  0x6152},
+       {"linux/atmdev.h",      "ATM_SETLOOP",  0x6153},
+       {"linux/atmdev.h",      "ATM_QUERYLOOP",        0x6154},
+       {"linux/atmdev.h",      "ATM_SETSC",    0x61f1},
+       {"linux/atmlec.h",      "ATMLEC_CTRL",  0x61d0},
+       {"linux/atmlec.h",      "ATMLEC_DATA",  0x61d1},
+       {"linux/atmlec.h",      "ATMLEC_MCAST", 0x61d2},
+       {"linux/atmmpc.h",      "ATMMPC_CTRL",  0x61d8},
+       {"linux/atmmpc.h",      "ATMMPC_DATA",  0x61d9},
+       {"linux/atmsvc.h",      "ATMSIGD_CTRL", 0x61f0},
+       {"linux/auto_fs.h",     "AUTOFS_IOC_READY",     0x9360},
+       {"linux/auto_fs.h",     "AUTOFS_IOC_FAIL",      0x9361},
+       {"linux/auto_fs.h",     "AUTOFS_IOC_CATATONIC", 0x9362},
+       {"linux/auto_fs.h",     "AUTOFS_IOC_PROTOVER",  0x9363},
+       {"linux/auto_fs.h",     "AUTOFS_IOC_SETTIMEOUT",        0x9364},
+       {"linux/auto_fs.h",     "AUTOFS_IOC_EXPIRE",    0x9365},
+       {"linux/auto_fs4.h",    "AUTOFS_IOC_EXPIRE_MULTI",      0x9366},
+       {"linux/blkpg.h",       "BLKPG",        0x1269},
+       {"linux/capi.h",        "CAPI_REGISTER",        0x4301},
+       {"linux/capi.h",        "CAPI_GET_MANUFACTURER",        0x4306},
+       {"linux/capi.h",        "CAPI_GET_VERSION",     0x4307},
+       {"linux/capi.h",        "CAPI_GET_SERIAL",      0x4308},
+       {"linux/capi.h",        "CAPI_GET_PROFILE",     0x4309},
+       {"linux/capi.h",        "CAPI_MANUFACTURER_CMD",        0x4320},
+       {"linux/capi.h",        "CAPI_GET_ERRCODE",     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},
+       {"linux/cciss_ioctl.h", "CCISS_GETPCIINFO",     0x4201},
+       {"linux/cciss_ioctl.h", "CCISS_GETINTINFO",     0x4202},
+       {"linux/cciss_ioctl.h", "CCISS_SETINTINFO",     0x4203},
+       {"linux/cciss_ioctl.h", "CCISS_GETNODENAME",    0x4204},
+       {"linux/cciss_ioctl.h", "CCISS_SETNODENAME",    0x4205},
+       {"linux/cciss_ioctl.h", "CCISS_GETHEARTBEAT",   0x4206},
+       {"linux/cciss_ioctl.h", "CCISS_GETBUSTYPES",    0x4207},
+       {"linux/cciss_ioctl.h", "CCISS_GETFIRMVER",     0x4208},
+       {"linux/cciss_ioctl.h", "CCISS_GETDRIVVER",     0x4209},
+       {"linux/cciss_ioctl.h", "CCISS_REVALIDVOLS",    0x420a},
+       {"linux/cciss_ioctl.h", "CCISS_PASSTHRU",       0x420b},
+       {"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/coda.h",        "CIOC_KERNEL_VERSION",  0x630a},
+       {"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/devfs_fs.h",    "DEVFSDIOC_GET_PROTO_REV",      0x6400},
+       {"linux/devfs_fs.h",    "DEVFSDIOC_SET_EVENT_MASK",     0x6402},
+       {"linux/devfs_fs.h",    "DEVFSDIOC_RELEASE_EVENT_QUEUE",        0x6403},
+       {"linux/devfs_fs.h",    "DEVFSDIOC_SET_DEBUG_MASK",     0x6404},
+       {"linux/dn.h",  "SIOCSNETADDR", 0x89e0},
+       {"linux/dn.h",  "SIOCGNETADDR", 0x89e1},
+       {"linux/dn.h",  "OSIOCSNETADDR",        0x89e0},
+       {"linux/dn.h",  "OSIOCGNETADDR",        0x89e1},
+       {"linux/elevator.h",    "BLKELVGET",    0x126a},
+       {"linux/elevator.h",    "BLKELVSET",    0x126b},
+       {"linux/ext2_fs.h",     "EXT2_IOC_GETFLAGS",    0x6601},
+       {"linux/ext2_fs.h",     "EXT2_IOC_SETFLAGS",    0x6602},
+       {"linux/ext2_fs.h",     "EXT2_IOC_GETVERSION",  0x7601},
+       {"linux/ext2_fs.h",     "EXT2_IOC_SETVERSION",  0x7602},
+       {"linux/fb.h",  "FBIOGET_VBLANK",       0x4612},
+       {"linux/fd.h",  "FDCLRPRM",     0x241},
+       {"linux/fd.h",  "FDSETPRM",     0x242},
+       {"linux/fd.h",  "FDDEFPRM",     0x243},
+       {"linux/fd.h",  "FDGETPRM",     0x204},
+       {"linux/fd.h",  "FDMSGON",      0x245},
+       {"linux/fd.h",  "FDMSGOFF",     0x246},
+       {"linux/fd.h",  "FDFMTBEG",     0x247},
+       {"linux/fd.h",  "FDFMTTRK",     0x248},
+       {"linux/fd.h",  "FDFMTEND",     0x249},
+       {"linux/fd.h",  "FDSETEMSGTRESH",       0x24a},
+       {"linux/fd.h",  "FDFLUSH",      0x24b},
+       {"linux/fd.h",  "FDSETMAXERRS", 0x24c},
+       {"linux/fd.h",  "FDGETMAXERRS", 0x20e},
+       {"linux/fd.h",  "FDGETDRVTYP",  0x20f},
+       {"linux/fd.h",  "FDSETDRVPRM",  0x290},
+       {"linux/fd.h",  "FDGETDRVPRM",  0x211},
+       {"linux/fd.h",  "FDGETDRVSTAT", 0x212},
+       {"linux/fd.h",  "FDPOLLDRVSTAT",        0x213},
+       {"linux/fd.h",  "FDRESET",      0x254},
+       {"linux/fd.h",  "FDGETFDCSTAT", 0x215},
+       {"linux/fd.h",  "FDWERRORCLR",  0x256},
+       {"linux/fd.h",  "FDWERRORGET",  0x217},
+       {"linux/fd.h",  "FDRAWCMD",     0x258},
+       {"linux/fd.h",  "FDTWADDLE",    0x259},
+       {"linux/fd.h",  "FDEJECT",      0x25a},
+       {"linux/fs.h",  "BLKROSET",     0x125d},
+       {"linux/fs.h",  "BLKROGET",     0x125e},
+       {"linux/fs.h",  "BLKRRPART",    0x125f},
+       {"linux/fs.h",  "BLKGETSIZE",   0x1260},
+       {"linux/fs.h",  "BLKFLSBUF",    0x1261},
+       {"linux/fs.h",  "BLKRASET",     0x1262},
+       {"linux/fs.h",  "BLKRAGET",     0x1263},
+       {"linux/fs.h",  "BLKFRASET",    0x1264},
+       {"linux/fs.h",  "BLKFRAGET",    0x1265},
+       {"linux/fs.h",  "BLKSECTSET",   0x1266},
+       {"linux/fs.h",  "BLKSECTGET",   0x1267},
+       {"linux/fs.h",  "BLKSSZGET",    0x1268},
+       {"linux/fs.h",  "BLKPG",        0x1269},
+       {"linux/fs.h",  "BLKELVGET",    0x126a},
+       {"linux/fs.h",  "BLKELVSET",    0x126b},
+       {"linux/fs.h",  "FIBMAP",       0x1},
+       {"linux/fs.h",  "FIGETBSZ",     0x2},
+       {"linux/i2o-dev.h",     "I2OGETIOPS",   0x6900},
+       {"linux/i2o-dev.h",     "I2OHRTGET",    0x6901},
+       {"linux/i2o-dev.h",     "I2OLCTGET",    0x6902},
+       {"linux/i2o-dev.h",     "I2OPARMSET",   0x6903},
+       {"linux/i2o-dev.h",     "I2OPARMGET",   0x6904},
+       {"linux/i2o-dev.h",     "I2OSWDL",      0x6905},
+       {"linux/i2o-dev.h",     "I2OSWUL",      0x6906},
+       {"linux/i2o-dev.h",     "I2OSWDEL",     0x6907},
+       {"linux/i2o-dev.h",     "I2OVALIDATE",  0x6908},
+       {"linux/i2o-dev.h",     "I2OHTML",      0x6909},
+       {"linux/i2o-dev.h",     "I2OEVTREG",    0x690a},
+       {"linux/i2o-dev.h",     "I2OEVTGET",    0x690b},
+       {"linux/if_ppp.h",      "PPPIOCGFLAGS", 0x745a},
+       {"linux/if_ppp.h",      "PPPIOCSFLAGS", 0x7459},
+       {"linux/if_ppp.h",      "PPPIOCGASYNCMAP",      0x7458},
+       {"linux/if_ppp.h",      "PPPIOCSASYNCMAP",      0x7457},
+       {"linux/if_ppp.h",      "PPPIOCGUNIT",  0x7456},
+       {"linux/if_ppp.h",      "PPPIOCGRASYNCMAP",     0x7455},
+       {"linux/if_ppp.h",      "PPPIOCSRASYNCMAP",     0x7454},
+       {"linux/if_ppp.h",      "PPPIOCGMRU",   0x7453},
+       {"linux/if_ppp.h",      "PPPIOCSMRU",   0x7452},
+       {"linux/if_ppp.h",      "PPPIOCSMAXCID",        0x7451},
+       {"linux/if_ppp.h",      "PPPIOCGXASYNCMAP",     0x7450},
+       {"linux/if_ppp.h",      "PPPIOCSXASYNCMAP",     0x744f},
+       {"linux/if_ppp.h",      "PPPIOCXFERUNIT",       0x744e},
+       {"linux/if_ppp.h",      "PPPIOCSCOMPRESS",      0x744d},
+       {"linux/if_ppp.h",      "PPPIOCGNPMODE",        0x744c},
+       {"linux/if_ppp.h",      "PPPIOCSNPMODE",        0x744b},
+       {"linux/if_ppp.h",      "PPPIOCGDEBUG", 0x7441},
+       {"linux/if_ppp.h",      "PPPIOCSDEBUG", 0x7440},
+       {"linux/if_ppp.h",      "PPPIOCGIDLE",  0x743f},
+       {"linux/if_ppp.h",      "PPPIOCNEWUNIT",        0x743e},
+       {"linux/if_ppp.h",      "PPPIOCATTACH", 0x743d},
+       {"linux/if_ppp.h",      "PPPIOCDETACH", 0x743c},
+       {"linux/if_ppp.h",      "PPPIOCSMRRU",  0x743b},
+       {"linux/if_ppp.h",      "PPPIOCCONNECT",        0x743a},
+       {"linux/if_ppp.h",      "PPPIOCDISCONN",        0x7439},
+       {"linux/if_ppp.h",      "PPPIOCATTCHAN",        0x7438},
+       {"linux/if_ppp.h",      "PPPIOCGCHAN",  0x7437},
+       {"linux/if_pppox.h",    "PPPOEIOCSFWD", 0xb100},
+       {"linux/if_pppox.h",    "PPPOEIOCDFWD", 0xb101},
+       {"linux/input.h",       "EVIOCGVERSION",        0x4501},
+       {"linux/input.h",       "EVIOCGID",     0x4502},
+       {"linux/input.h",       "EVIOCGREP",    0x4503},
+       {"linux/input.h",       "EVIOCSREP",    0x4503},
+       {"linux/input.h",       "EVIOCGKEYCODE",        0x4504},
+       {"linux/input.h",       "EVIOCSKEYCODE",        0x4504},
+       {"linux/input.h",       "EVIOCGKEY",    0x4505},
+       {"linux/isdn.h",        "IIOCNETAIF",   0x4901},
+       {"linux/isdn.h",        "IIOCNETDIF",   0x4902},
+       {"linux/isdn.h",        "IIOCNETSCF",   0x4903},
+       {"linux/isdn.h",        "IIOCNETGCF",   0x4904},
+       {"linux/isdn.h",        "IIOCNETANM",   0x4905},
+       {"linux/isdn.h",        "IIOCNETDNM",   0x4906},
+       {"linux/isdn.h",        "IIOCNETGNM",   0x4907},
+       {"linux/isdn.h",        "IIOCGETSET",   0x4908},
+       {"linux/isdn.h",        "IIOCSETSET",   0x4909},
+       {"linux/isdn.h",        "IIOCSETVER",   0x490a},
+       {"linux/isdn.h",        "IIOCNETHUP",   0x490b},
+       {"linux/isdn.h",        "IIOCSETGST",   0x490c},
+       {"linux/isdn.h",        "IIOCSETBRJ",   0x490d},
+       {"linux/isdn.h",        "IIOCSIGPRF",   0x490e},
+       {"linux/isdn.h",        "IIOCGETPRF",   0x490f},
+       {"linux/isdn.h",        "IIOCSETPRF",   0x4910},
+       {"linux/isdn.h",        "IIOCGETMAP",   0x4911},
+       {"linux/isdn.h",        "IIOCSETMAP",   0x4912},
+       {"linux/isdn.h",        "IIOCNETASL",   0x4913},
+       {"linux/isdn.h",        "IIOCNETDIL",   0x4914},
+       {"linux/isdn.h",        "IIOCGETCPS",   0x4915},
+       {"linux/isdn.h",        "IIOCGETDVR",   0x4916},
+       {"linux/isdn.h",        "IIOCNETLCR",   0x4917},
+       {"linux/isdn.h",        "IIOCNETDWRSET",        0x4918},
+       {"linux/isdn.h",        "IIOCNETALN",   0x4920},
+       {"linux/isdn.h",        "IIOCNETDLN",   0x4921},
+       {"linux/isdn.h",        "IIOCNETGPN",   0x4922},
+       {"linux/isdn.h",        "IIOCDBGVAR",   0x497f},
+       {"linux/isdn.h",        "IIOCDRVCTL",   0x4980},
+       {"linux/isdn_ppp.h",    "PPPIOCGCALLINFO",      0x7480},
+       {"linux/isdn_ppp.h",    "PPPIOCBUNDLE", 0x7481},
+       {"linux/isdn_ppp.h",    "PPPIOCGMPFLAGS",       0x7482},
+       {"linux/isdn_ppp.h",    "PPPIOCSMPFLAGS",       0x7483},
+       {"linux/isdn_ppp.h",    "PPPIOCSMPMTU", 0x7484},
+       {"linux/isdn_ppp.h",    "PPPIOCSMPMRU", 0x7485},
+       {"linux/isdn_ppp.h",    "PPPIOCGCOMPRESSORS",   0x7486},
+       {"linux/isdn_ppp.h",    "PPPIOCSCOMPRESSOR",    0x7487},
+       {"linux/isdn_ppp.h",    "PPPIOCGIFNAME",        0x7488},
+       {"linux/ixjuser.h",     "IXJCTL_DSP_RESET",     0x71c0},
+       {"linux/ixjuser.h",     "IXJCTL_CARDTYPE",      0x71c1},
+       {"linux/ixjuser.h",     "IXJCTL_SERIAL",        0x71c2},
+       {"linux/ixjuser.h",     "IXJCTL_DSP_TYPE",      0x71c3},
+       {"linux/ixjuser.h",     "IXJCTL_DSP_VERSION",   0x71c4},
+       {"linux/ixjuser.h",     "IXJCTL_VERSION",       0x71da},
+       {"linux/ixjuser.h",     "IXJCTL_DSP_IDLE",      0x71c5},
+       {"linux/ixjuser.h",     "IXJCTL_TESTRAM",       0x71c6},
+       {"linux/ixjuser.h",     "IXJCTL_SET_FILTER",    0x71c7},
+       {"linux/ixjuser.h",     "IXJCTL_GET_FILTER_HIST",       0x71c8},
+       {"linux/ixjuser.h",     "IXJCTL_FILTER_CADENCE",        0x71d6},
+       {"linux/ixjuser.h",     "IXJCTL_PLAY_CID",      0x71d7},
+       {"linux/ixjuser.h",     "IXJCTL_INIT_TONE",     0x71c9},
+       {"linux/ixjuser.h",     "IXJCTL_TONE_CADENCE",  0x71ca},
+       {"linux/ixjuser.h",     "IXJCTL_AEC_START",     0x71cb},
+       {"linux/ixjuser.h",     "IXJCTL_AEC_STOP",      0x71cc},
+       {"linux/ixjuser.h",     "IXJCTL_AEC_GET_LEVEL", 0x71cd},
+       {"linux/ixjuser.h",     "IXJCTL_SET_LED",       0x71ce},
+       {"linux/ixjuser.h",     "IXJCTL_MIXER", 0x71cf},
+       {"linux/ixjuser.h",     "IXJCTL_DAA_COEFF_SET", 0x71d0},
+       {"linux/ixjuser.h",     "IXJCTL_PORT",  0x71d1},
+       {"linux/ixjuser.h",     "IXJCTL_DAA_AGAIN",     0x71d2},
+       {"linux/ixjuser.h",     "IXJCTL_PSTN_LINETEST", 0x71d3},
+       {"linux/ixjuser.h",     "IXJCTL_CID",   0x71d4},
+       {"linux/ixjuser.h",     "IXJCTL_VMWI",  0x71d8},
+       {"linux/ixjuser.h",     "IXJCTL_CIDCW", 0x71d9},
+       {"linux/ixjuser.h",     "IXJCTL_POTS_PSTN",     0x71d5},
+       {"linux/ixjuser.h",     "IXJCTL_HZ",    0x71e0},
+       {"linux/ixjuser.h",     "IXJCTL_RATE",  0x71e1},
+       {"linux/ixjuser.h",     "IXJCTL_FRAMES_READ",   0x71e2},
+       {"linux/ixjuser.h",     "IXJCTL_FRAMES_WRITTEN",        0x71e3},
+       {"linux/ixjuser.h",     "IXJCTL_READ_WAIT",     0x71e4},
+       {"linux/ixjuser.h",     "IXJCTL_WRITE_WAIT",    0x71e5},
+       {"linux/ixjuser.h",     "IXJCTL_DRYBUFFER_READ",        0x71e6},
+       {"linux/ixjuser.h",     "IXJCTL_DRYBUFFER_CLEAR",       0x71e7},
+       {"linux/ixjuser.h",     "IXJCTL_INTERCOM_START",        0x71fd},
+       {"linux/ixjuser.h",     "IXJCTL_INTERCOM_STOP", 0x71fe},
+       {"linux/jffs.h",        "JFFS_PRINT_HASH",      0x745a},
+       {"linux/jffs.h",        "JFFS_PRINT_TREE",      0x745b},
+       {"linux/jffs.h",        "JFFS_GET_STATUS",      0x745c},
+       {"linux/joystick.h",    "JSIOCGVERSION",        0x6a01},
+       {"linux/joystick.h",    "JSIOCGAXES",   0x6a11},
+       {"linux/joystick.h",    "JSIOCGBUTTONS",        0x6a12},
+       {"linux/joystick.h",    "JSIOCSCORR",   0x6a21},
+       {"linux/joystick.h",    "JSIOCGCORR",   0x6a22},
+       {"linux/lvm.h", "VG_CREATE_OLD",        0xfe00},
+       {"linux/lvm.h", "VG_REMOVE",    0xfe01},
+       {"linux/lvm.h", "VG_EXTEND",    0xfe03},
+       {"linux/lvm.h", "VG_REDUCE",    0xfe04},
+       {"linux/lvm.h", "VG_STATUS",    0xfe05},
+       {"linux/lvm.h", "VG_STATUS_GET_COUNT",  0xfe06},
+       {"linux/lvm.h", "VG_STATUS_GET_NAMELIST",       0xfe07},
+       {"linux/lvm.h", "VG_SET_EXTENDABLE",    0xfe08},
+       {"linux/lvm.h", "VG_RENAME",    0xfe09},
+       {"linux/lvm.h", "VG_CREATE",    0xfe0a},
+       {"linux/lvm.h", "LV_CREATE",    0xfe20},
+       {"linux/lvm.h", "LV_REMOVE",    0xfe21},
+       {"linux/lvm.h", "LV_ACTIVATE",  0xfe22},
+       {"linux/lvm.h", "LV_DEACTIVATE",        0xfe23},
+       {"linux/lvm.h", "LV_EXTEND",    0xfe24},
+       {"linux/lvm.h", "LV_REDUCE",    0xfe25},
+       {"linux/lvm.h", "LV_STATUS_BYNAME",     0xfe26},
+       {"linux/lvm.h", "LV_STATUS_BYINDEX",    0xfe27},
+       {"linux/lvm.h", "LV_SET_ACCESS",        0xfe28},
+       {"linux/lvm.h", "LV_SET_ALLOCATION",    0xfe29},
+       {"linux/lvm.h", "LV_SET_STATUS",        0xfe2a},
+       {"linux/lvm.h", "LE_REMAP",     0xfe2b},
+       {"linux/lvm.h", "LV_SNAPSHOT_USE_RATE", 0xfe2c},
+       {"linux/lvm.h", "LV_STATUS_BYDEV",      0xfe2e},
+       {"linux/lvm.h", "LV_RENAME",    0xfe2f},
+       {"linux/lvm.h", "LV_BMAP",      0xfe30},
+       {"linux/lvm.h", "PV_STATUS",    0xfe40},
+       {"linux/lvm.h", "PV_CHANGE",    0xfe41},
+       {"linux/lvm.h", "PV_FLUSH",     0xfe42},
+       {"linux/lvm.h", "PE_LOCK_UNLOCK",       0xfe50},
+       {"linux/lvm.h", "LVM_GET_IOP_VERSION",  0xfe98},
+       {"linux/lvm.h", "LVM_RESET",    0xfe99},
+       {"linux/lvm.h", "LVM_LOCK_LVM", 0xff00},
+       {"linux/matroxfb.h",    "MATROXFB_SET_OUTPUT_MODE",     0x6efa},
+       {"linux/matroxfb.h",    "MATROXFB_GET_OUTPUT_MODE",     0x6efa},
+       {"linux/matroxfb.h",    "MATROXFB_SET_OUTPUT_CONNECTION",       0x6ef8},
+       {"linux/matroxfb.h",    "MATROXFB_GET_OUTPUT_CONNECTION",       0x6ef8},
+       {"linux/matroxfb.h",    "MATROXFB_GET_AVAILABLE_OUTPUTS",       0x6ef9},
+       {"linux/matroxfb.h",    "MATROXFB_GET_ALL_OUTPUTS",     0x6efb},
+       {"linux/msdos_fs.h",    "VFAT_IOCTL_READDIR_BOTH",      0x7201},
+       {"linux/msdos_fs.h",    "VFAT_IOCTL_READDIR_SHORT",     0x7202},
+       {"linux/mtio.h",        "MTIOCTOP",     0x6d01},
+       {"linux/mtio.h",        "MTIOCGET",     0x6d02},
+       {"linux/mtio.h",        "MTIOCPOS",     0x6d03},
+       {"linux/mtio.h",        "MTIOCGETCONFIG",       0x6d04},
+       {"linux/mtio.h",        "MTIOCSETCONFIG",       0x6d05},
+       {"linux/mtio.h",        "MTIOCRDFTSEG", 0x6d06},
+       {"linux/mtio.h",        "MTIOCWRFTSEG", 0x6d07},
+       {"linux/mtio.h",        "MTIOCVOLINFO", 0x6d08},
+       {"linux/mtio.h",        "MTIOCGETSIZE", 0x6d09},
+       {"linux/mtio.h",        "MTIOCFTFORMAT",        0x6d0a},
+       {"linux/mtio.h",        "MTIOCFTCMD",   0x6d0b},
+       {"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_DO_IT",    0xab03},
+       {"linux/nbd.h", "NBD_CLEAR_SOCK",       0xab04},
+       {"linux/nbd.h", "NBD_CLEAR_QUE",        0xab05},
+       {"linux/nbd.h", "NBD_PRINT_DEBUG",      0xab06},
+       {"linux/nbd.h", "NBD_SET_SIZE_BLOCKS",  0xab07},
+       {"linux/nbd.h", "NBD_DISCONNECT",       0xab08},
+       {"linux/ncp_fs.h",      "NCP_IOC_NCPREQUEST",   0x6e01},
+       {"linux/ncp_fs.h",      "NCP_IOC_GETMOUNTUID",  0x6e02},
+       {"linux/ncp_fs.h",      "NCP_IOC_GETMOUNTUID2", 0x6e02},
+       {"linux/ncp_fs.h",      "NCP_IOC_CONN_LOGGED_IN",       0x6e03},
+       {"linux/ncp_fs.h",      "NCP_IOC_GET_FS_INFO",  0x6e04},
+       {"linux/ncp_fs.h",      "NCP_IOC_GET_FS_INFO_V2",       0x6e04},
+       {"linux/ncp_fs.h",      "NCP_IOC_SIGN_INIT",    0x6e05},
+       {"linux/ncp_fs.h",      "NCP_IOC_SIGN_WANTED",  0x6e06},
+       {"linux/ncp_fs.h",      "NCP_IOC_SET_SIGN_WANTED",      0x6e06},
+       {"linux/ncp_fs.h",      "NCP_IOC_LOCKUNLOCK",   0x6e07},
+       {"linux/ncp_fs.h",      "NCP_IOC_GETROOT",      0x6e08},
+       {"linux/ncp_fs.h",      "NCP_IOC_SETROOT",      0x6e08},
+       {"linux/ncp_fs.h",      "NCP_IOC_GETOBJECTNAME",        0x6e09},
+       {"linux/ncp_fs.h",      "NCP_IOC_SETOBJECTNAME",        0x6e09},
+       {"linux/ncp_fs.h",      "NCP_IOC_GETPRIVATEDATA",       0x6e0a},
+       {"linux/ncp_fs.h",      "NCP_IOC_SETPRIVATEDATA",       0x6e0a},
+       {"linux/ncp_fs.h",      "NCP_IOC_GETCHARSETS",  0x6e0b},
+       {"linux/ncp_fs.h",      "NCP_IOC_SETCHARSETS",  0x6e0b},
+       {"linux/ncp_fs.h",      "NCP_IOC_GETDENTRYTTL", 0x6e0c},
+       {"linux/ncp_fs.h",      "NCP_IOC_SETDENTRYTTL", 0x6e0c},
+       {"linux/nvram.h",       "NVRAM_INIT",   0x7040},
+       {"linux/nvram.h",       "NVRAM_SETCKS", 0x7041},
+       {"linux/pmu.h", "PMU_IOC_SLEEP",        0x4200},
+       {"linux/pmu.h", "PMU_IOC_GET_BACKLIGHT",        0x4201},
+       {"linux/pmu.h", "PMU_IOC_SET_BACKLIGHT",        0x4202},
+       {"linux/pmu.h", "PMU_IOC_GET_MODEL",    0x4203},
+       {"linux/pmu.h", "PMU_IOC_HAS_ADB",      0x4204},
+       {"linux/ppdev.h",       "PPSETMODE",    0x7080},
+       {"linux/ppdev.h",       "PPRSTATUS",    0x7081},
+       {"linux/ppdev.h",       "PPRCONTROL",   0x7083},
+       {"linux/ppdev.h",       "PPWCONTROL",   0x7084},
+       {"linux/ppdev.h",       "PPFCONTROL",   0x708e},
+       {"linux/ppdev.h",       "PPRDATA",      0x7085},
+       {"linux/ppdev.h",       "PPWDATA",      0x7086},
+       {"linux/ppdev.h",       "PPCLAIM",      0x708b},
+       {"linux/ppdev.h",       "PPRELEASE",    0x708c},
+       {"linux/ppdev.h",       "PPYIELD",      0x708d},
+       {"linux/ppdev.h",       "PPEXCL",       0x708f},
+       {"linux/ppdev.h",       "PPDATADIR",    0x7090},
+       {"linux/ppdev.h",       "PPNEGOT",      0x7091},
+       {"linux/ppdev.h",       "PPWCTLONIRQ",  0x7092},
+       {"linux/ppdev.h",       "PPCLRIRQ",     0x7093},
+       {"linux/ppdev.h",       "PPSETPHASE",   0x7094},
+       {"linux/ppdev.h",       "PPGETTIME",    0x7095},
+       {"linux/ppdev.h",       "PPSETTIME",    0x7096},
+       {"linux/random.h",      "RNDGETENTCNT", 0x5200},
+       {"linux/random.h",      "RNDADDTOENTCNT",       0x5201},
+       {"linux/random.h",      "RNDGETPOOL",   0x5202},
+       {"linux/random.h",      "RNDADDENTROPY",        0x5203},
+       {"linux/random.h",      "RNDZAPENTCNT", 0x5204},
+       {"linux/random.h",      "RNDCLEARPOOL", 0x5206},
+       {"linux/raw.h", "RAW_SETBIND",  0xac00},
+       {"linux/raw.h", "RAW_GETBIND",  0xac01},
+       {"linux/reiserfs_fs.h", "REISERFS_IOC_UNPACK",  0xcd01},
+       {"linux/rtc.h", "RTC_AIE_ON",   0x7001},
+       {"linux/rtc.h", "RTC_AIE_OFF",  0x7002},
+       {"linux/rtc.h", "RTC_UIE_ON",   0x7003},
+       {"linux/rtc.h", "RTC_UIE_OFF",  0x7004},
+       {"linux/rtc.h", "RTC_PIE_ON",   0x7005},
+       {"linux/rtc.h", "RTC_PIE_OFF",  0x7006},
+       {"linux/rtc.h", "RTC_WIE_ON",   0x700f},
+       {"linux/rtc.h", "RTC_WIE_OFF",  0x7010},
+       {"linux/rtc.h", "RTC_ALM_SET",  0x7007},
+       {"linux/rtc.h", "RTC_ALM_READ", 0x7008},
+       {"linux/rtc.h", "RTC_RD_TIME",  0x7009},
+       {"linux/rtc.h", "RTC_SET_TIME", 0x700a},
+       {"linux/rtc.h", "RTC_IRQP_READ",        0x700b},
+       {"linux/rtc.h", "RTC_IRQP_SET", 0x700c},
+       {"linux/rtc.h", "RTC_EPOCH_READ",       0x700d},
+       {"linux/rtc.h", "RTC_EPOCH_SET",        0x700e},
+       {"linux/rtc.h", "RTC_WKALM_SET",        0x700f},
+       {"linux/rtc.h", "RTC_WKALM_RD", 0x7010},
+       {"linux/serio.h",       "SPIOCSTYPE",   0x7101},
+       {"linux/smb_fs.h",      "SMB_IOC_GETMOUNTUID",  0x7501},
+       {"linux/smb_fs.h",      "SMB_IOC_NEWCONN",      0x7502},
+       {"linux/smb_fs.h",      "SMB_IOC_GETMOUNTUID32",        0x7503},
+       {"linux/sonet.h",       "SONET_GETSTAT",        0x6110},
+       {"linux/sonet.h",       "SONET_GETSTATZ",       0x6111},
+       {"linux/sonet.h",       "SONET_SETDIAG",        0x6112},
+       {"linux/sonet.h",       "SONET_CLRDIAG",        0x6113},
+       {"linux/sonet.h",       "SONET_GETDIAG",        0x6114},
+       {"linux/sonet.h",       "SONET_SETFRAMING",     0x6115},
+       {"linux/sonet.h",       "SONET_GETFRAMING",     0x6116},
+       {"linux/sonet.h",       "SONET_GETFRSENSE",     0x6117},
+       {"linux/synclink.h",    "MGSL_IOCSPARAMS",      0x6d00},
+       {"linux/synclink.h",    "MGSL_IOCGPARAMS",      0x6d01},
+       {"linux/synclink.h",    "MGSL_IOCSTXIDLE",      0x6d02},
+       {"linux/synclink.h",    "MGSL_IOCGTXIDLE",      0x6d03},
+       {"linux/synclink.h",    "MGSL_IOCTXENABLE",     0x6d04},
+       {"linux/synclink.h",    "MGSL_IOCRXENABLE",     0x6d05},
+       {"linux/synclink.h",    "MGSL_IOCTXABORT",      0x6d06},
+       {"linux/synclink.h",    "MGSL_IOCGSTATS",       0x6d07},
+       {"linux/synclink.h",    "MGSL_IOCWAITEVENT",    0x6d08},
+       {"linux/synclink.h",    "MGSL_IOCCLRMODCOUNT",  0x6d0f},
+       {"linux/synclink.h",    "MGSL_IOCLOOPTXDONE",   0x6d09},
+       {"linux/telephony.h",   "PHONE_CAPABILITIES",   0x7180},
+       {"linux/telephony.h",   "PHONE_CAPABILITIES_LIST",      0x7181},
+       {"linux/telephony.h",   "PHONE_CAPABILITIES_CHECK",     0x7182},
+       {"linux/telephony.h",   "PHONE_RING",   0x7183},
+       {"linux/telephony.h",   "PHONE_HOOKSTATE",      0x7184},
+       {"linux/telephony.h",   "PHONE_MAXRINGS",       0x7185},
+       {"linux/telephony.h",   "PHONE_RING_CADENCE",   0x7186},
+       {"linux/telephony.h",   "OLD_PHONE_RING_START", 0x7187},
+       {"linux/telephony.h",   "PHONE_RING_START",     0x7187},
+       {"linux/telephony.h",   "PHONE_RING_STOP",      0x7188},
+       {"linux/telephony.h",   "PHONE_REC_CODEC",      0x7189},
+       {"linux/telephony.h",   "PHONE_REC_START",      0x718a},
+       {"linux/telephony.h",   "PHONE_REC_STOP",       0x718b},
+       {"linux/telephony.h",   "PHONE_REC_DEPTH",      0x718c},
+       {"linux/telephony.h",   "PHONE_FRAME",  0x718d},
+       {"linux/telephony.h",   "PHONE_REC_VOLUME",     0x718e},
+       {"linux/telephony.h",   "PHONE_REC_LEVEL",      0x718f},
+       {"linux/telephony.h",   "PHONE_PLAY_CODEC",     0x7190},
+       {"linux/telephony.h",   "PHONE_PLAY_START",     0x7191},
+       {"linux/telephony.h",   "PHONE_PLAY_STOP",      0x7192},
+       {"linux/telephony.h",   "PHONE_PLAY_DEPTH",     0x7193},
+       {"linux/telephony.h",   "PHONE_PLAY_VOLUME",    0x7194},
+       {"linux/telephony.h",   "PHONE_PLAY_LEVEL",     0x7195},
+       {"linux/telephony.h",   "PHONE_DTMF_READY",     0x7196},
+       {"linux/telephony.h",   "PHONE_GET_DTMF",       0x7197},
+       {"linux/telephony.h",   "PHONE_GET_DTMF_ASCII", 0x7198},
+       {"linux/telephony.h",   "PHONE_DTMF_OOB",       0x7199},
+       {"linux/telephony.h",   "PHONE_EXCEPTION",      0x719a},
+       {"linux/telephony.h",   "PHONE_PLAY_TONE",      0x719b},
+       {"linux/telephony.h",   "PHONE_SET_TONE_ON_TIME",       0x719c},
+       {"linux/telephony.h",   "PHONE_SET_TONE_OFF_TIME",      0x719d},
+       {"linux/telephony.h",   "PHONE_GET_TONE_ON_TIME",       0x719e},
+       {"linux/telephony.h",   "PHONE_GET_TONE_OFF_TIME",      0x719f},
+       {"linux/telephony.h",   "PHONE_GET_TONE_STATE", 0x71a0},
+       {"linux/telephony.h",   "PHONE_BUSY",   0x71a1},
+       {"linux/telephony.h",   "PHONE_RINGBACK",       0x71a2},
+       {"linux/telephony.h",   "PHONE_DIALTONE",       0x71a3},
+       {"linux/telephony.h",   "PHONE_CPT_STOP",       0x71a4},
+       {"linux/telephony.h",   "PHONE_PSTN_SET_STATE", 0x71a4},
+       {"linux/telephony.h",   "PHONE_PSTN_GET_STATE", 0x71a5},
+       {"linux/telephony.h",   "PHONE_WINK_DURATION",  0x71a6},
+       {"linux/telephony.h",   "PHONE_QUERY_CODEC",    0x71a7},
+       {"linux/telephony.h",   "PHONE_PSTN_LINETEST",  0x71a8},
+       {"linux/telephony.h",   "PHONE_VAD",    0x71a9},
+       {"linux/toshiba.h",     "TOSH_SMM",     0x7490},
+       {"linux/udf_fs_i.h",    "UDF_GETEASIZE",        0x6c40},
+       {"linux/udf_fs_i.h",    "UDF_GETEABLOCK",       0x6c41},
+       {"linux/udf_fs_i.h",    "UDF_GETVOLIDENT",      0x6c42},
+       {"linux/umsdos_fs.h",   "UMSDOS_READDIR_DOS",   0x4d2},
+       {"linux/umsdos_fs.h",   "UMSDOS_UNLINK_DOS",    0x4d3},
+       {"linux/umsdos_fs.h",   "UMSDOS_RMDIR_DOS",     0x4d4},
+       {"linux/umsdos_fs.h",   "UMSDOS_STAT_DOS",      0x4d5},
+       {"linux/umsdos_fs.h",   "UMSDOS_CREAT_EMD",     0x4d6},
+       {"linux/umsdos_fs.h",   "UMSDOS_UNLINK_EMD",    0x4d7},
+       {"linux/umsdos_fs.h",   "UMSDOS_READDIR_EMD",   0x4d8},
+       {"linux/umsdos_fs.h",   "UMSDOS_GETVERSION",    0x4d9},
+       {"linux/umsdos_fs.h",   "UMSDOS_INIT_EMD",      0x4da},
+       {"linux/umsdos_fs.h",   "UMSDOS_DOS_SETUP",     0x4db},
+       {"linux/umsdos_fs.h",   "UMSDOS_RENAME_DOS",    0x4dc},
+       {"linux/usbdevice_fs.h",        "USBDEVFS_CONTROL",     0x5500},
+       {"linux/usbdevice_fs.h",        "USBDEVFS_BULK",        0x5502},
+       {"linux/usbdevice_fs.h",        "USBDEVFS_RESETEP",     0x5503},
+       {"linux/usbdevice_fs.h",        "USBDEVFS_SETINTERFACE",        0x5504},
+       {"linux/usbdevice_fs.h",        "USBDEVFS_SETCONFIGURATION",    0x5505},
+       {"linux/usbdevice_fs.h",        "USBDEVFS_GETDRIVER",   0x5508},
+       {"linux/usbdevice_fs.h",        "USBDEVFS_SUBMITURB",   0x550a},
+       {"linux/usbdevice_fs.h",        "USBDEVFS_DISCARDURB",  0x550b},
+       {"linux/usbdevice_fs.h",        "USBDEVFS_REAPURB",     0x550c},
+       {"linux/usbdevice_fs.h",        "USBDEVFS_REAPURBNDELAY",       0x550d},
+       {"linux/usbdevice_fs.h",        "USBDEVFS_DISCSIGNAL",  0x550e},
+       {"linux/usbdevice_fs.h",        "USBDEVFS_CLAIMINTERFACE",      0x550f},
+       {"linux/usbdevice_fs.h",        "USBDEVFS_RELEASEINTERFACE",    0x5510},
+       {"linux/usbdevice_fs.h",        "USBDEVFS_CONNECTINFO", 0x5511},
+       {"linux/usbdevice_fs.h",        "USBDEVFS_IOCTL",       0x5512},
+       {"linux/usbdevice_fs.h",        "USBDEVFS_HUB_PORTINFO",        0x5513},
+       {"linux/usbdevice_fs.h",        "USBDEVFS_RESET",       0x5514},
+       {"linux/usbdevice_fs.h",        "USBDEVFS_CLEAR_HALT",  0x5515},
+       {"linux/video_decoder.h",       "DECODER_GET_CAPABILITIES",     0x6401},
+       {"linux/video_decoder.h",       "DECODER_GET_STATUS",   0x6402},
+       {"linux/video_decoder.h",       "DECODER_SET_NORM",     0x6403},
+       {"linux/video_decoder.h",       "DECODER_SET_INPUT",    0x6404},
+       {"linux/video_decoder.h",       "DECODER_SET_OUTPUT",   0x6405},
+       {"linux/video_decoder.h",       "DECODER_ENABLE_OUTPUT",        0x6406},
+       {"linux/video_decoder.h",       "DECODER_SET_PICTURE",  0x6407},
+       {"linux/video_decoder.h",       "DECODER_DUMP", 0x64c0},
+       {"linux/video_encoder.h",       "ENCODER_GET_CAPABILITIES",     0x6501},
+       {"linux/video_encoder.h",       "ENCODER_SET_NORM",     0x6502},
+       {"linux/video_encoder.h",       "ENCODER_SET_INPUT",    0x6503},
+       {"linux/video_encoder.h",       "ENCODER_SET_OUTPUT",   0x6504},
+       {"linux/video_encoder.h",       "ENCODER_ENABLE_OUTPUT",        0x6505},
+       {"linux/videodev.h",    "VIDIOCGCAP",   0x7601},
+       {"linux/videodev.h",    "VIDIOCGCHAN",  0x7602},
+       {"linux/videodev.h",    "VIDIOCSCHAN",  0x7603},
+       {"linux/videodev.h",    "VIDIOCGTUNER", 0x7604},
+       {"linux/videodev.h",    "VIDIOCSTUNER", 0x7605},
+       {"linux/videodev.h",    "VIDIOCGPICT",  0x7606},
+       {"linux/videodev.h",    "VIDIOCSPICT",  0x7607},
+       {"linux/videodev.h",    "VIDIOCCAPTURE",        0x7608},
+       {"linux/videodev.h",    "VIDIOCGWIN",   0x7609},
+       {"linux/videodev.h",    "VIDIOCSWIN",   0x760a},
+       {"linux/videodev.h",    "VIDIOCGFBUF",  0x760b},
+       {"linux/videodev.h",    "VIDIOCSFBUF",  0x760c},
+       {"linux/videodev.h",    "VIDIOCKEY",    0x760d},
+       {"linux/videodev.h",    "VIDIOCGFREQ",  0x760e},
+       {"linux/videodev.h",    "VIDIOCSFREQ",  0x760f},
+       {"linux/videodev.h",    "VIDIOCGAUDIO", 0x7610},
+       {"linux/videodev.h",    "VIDIOCSAUDIO", 0x7611},
+       {"linux/videodev.h",    "VIDIOCSYNC",   0x7612},
+       {"linux/videodev.h",    "VIDIOCMCAPTURE",       0x7613},
+       {"linux/videodev.h",    "VIDIOCGMBUF",  0x7614},
+       {"linux/videodev.h",    "VIDIOCGUNIT",  0x7615},
+       {"linux/videodev.h",    "VIDIOCGCAPTURE",       0x7616},
+       {"linux/videodev.h",    "VIDIOCSCAPTURE",       0x7617},
+       {"linux/videodev.h",    "VIDIOCSPLAYMODE",      0x7618},
+       {"linux/videodev.h",    "VIDIOCSWRITEMODE",     0x7619},
+       {"linux/videodev.h",    "VIDIOCGPLAYINFO",      0x761a},
+       {"linux/videodev.h",    "VIDIOCSMICROCODE",     0x761b},
+       {"linux/videodev.h",    "VIDIOCGVBIFMT",        0x761c},
+       {"linux/videodev.h",    "VIDIOCSVBIFMT",        0x761d},
+       {"linux/watchdog.h",    "WDIOC_GETSUPPORT",     0x5700},
+       {"linux/watchdog.h",    "WDIOC_GETSTATUS",      0x5701},
+       {"linux/watchdog.h",    "WDIOC_GETBOOTSTATUS",  0x5702},
+       {"linux/watchdog.h",    "WDIOC_GETTEMP",        0x5703},
+       {"linux/watchdog.h",    "WDIOC_SETOPTIONS",     0x5704},
+       {"linux/watchdog.h",    "WDIOC_KEEPALIVE",      0x5705},
+       {"linux/zftape.h",      "MTIOC_ZFTAPE_GETBLKSZ",        0x6d68},
+       {"asm/ioctls.h",        "TIOCGPTN",     0x5430},
+       {"asm/ioctls.h",        "TIOCSPTLCK",   0x5431},
+       {"asm/mtrr.h",  "MTRRIOC_ADD_ENTRY",    0x4d00},
+       {"asm/mtrr.h",  "MTRRIOC_SET_ENTRY",    0x4d01},
+       {"asm/mtrr.h",  "MTRRIOC_DEL_ENTRY",    0x4d02},
+       {"asm/mtrr.h",  "MTRRIOC_GET_ENTRY",    0x4d03},
+       {"asm/mtrr.h",  "MTRRIOC_KILL_ENTRY",   0x4d04},
+       {"asm/mtrr.h",  "MTRRIOC_ADD_PAGE_ENTRY",       0x4d05},
+       {"asm/mtrr.h",  "MTRRIOC_SET_PAGE_ENTRY",       0x4d06},
+       {"asm/mtrr.h",  "MTRRIOC_DEL_PAGE_ENTRY",       0x4d07},
+       {"asm/mtrr.h",  "MTRRIOC_GET_PAGE_ENTRY",       0x4d08},
+       {"asm/mtrr.h",  "MTRRIOC_KILL_PAGE_ENTRY",      0x4d09},
+       {"asm/processor.h",     "MICROCODE_IOCFREE",    0x3600},
index dd5fd9da8e2aec087054d8f805b0f9ffd0f8b527..8493e239844597a79348ab324b20c004f8e9fa28 100644 (file)
@@ -1,98 +1,21 @@
-#!/bin/sh
-# Copyright (c) 1993, 1994, 1995 Rick Sladkey <jrs@world.std.com>
-# All rights reserved.
-#
-# Copyright (c) 1995, 1996 Michael Elizabeth Chastain <mec@duracef.shout.net>
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-# 1. Redistributions of source code must retain the above copyright
-#    notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-#    notice, this list of conditions and the following disclaimer in the
-#    documentation and/or other materials provided with the distribution.
-# 3. The name of the author may not be used to endorse or promote products
-#    derived from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#
-#      $Id$
+#! /bin/sh
 
-# Files to find.
-file_find='asm/*.h linux/*.h scsi/*.h'
+files="linux/* asm/* scsi/*"
 
-# Files to stop.
-file_stop='asm/byteorder.h linux/config.h linux/pci.h linux/xd.h'
+# Build the list of all ioctls
+regexp='^[[:space:]]*#[[:space:]]*define[[:space:]]\+[A-Z][A-Z0-9_]*[[:space:]]\+_\(IO\|IOW\|IOR\|IOWR\)\>'
+grep $regexp $files 2>/dev/null | \
+       sed -ne 's/^\(.*\):[[:space:]]*#[[:space:]]*define[[:space:]]*\([A-Z0-9_]*\)[[:space:]]*_I.*(\([^[,]*\),\([^,)]*\).*/   { "\1", "\2",   _IOC(_IOC_NONE,\3,\4,0) },/p' \
+       > ioctls.h
 
-# Defs to find.
-# Work on the kernel source to convert all to df_iowr.
-# Don't know how to find low-numbered ioctls in linux/mc146818rtc.h.
-df_name='^[     ]*#[    ]*define[       ]+[A-Z_][A-Z0-9_]*[     ]+'
-df_iowr='_IO|_IOR|_IOW|_IOWR'
-df_NNNN='0[Xx](03|06|22|46|4B|4C|53|54|56|89|90)[0-9A-Fa-f][0-9A-Fa-f]'
-df_4359='0[Xx]4359[0-9A-Fa-f][0-9A-Fa-f]'      # linux/cyclades.h
-df_470N='470[0-9]'                             # linux/fs.h        (only in 1.2.13)
-df_smix='MIXER_READ|MIXER_WRITE'               # linux/soundcard.h
-df_12NN='12[3-4][0-9]'                         # linux/umsdos_fs.h (only in 1.2.13)
-df_tail='([()   ]|$)'
-def_find="$df_name($df_iowr|$df_NNNN|$df_4359|$df_470N|$df_smix|$df_12NN)$df_tail"
+# Some use a special base to offset their ioctls on. Extract that as well.
+: > ioctldefs.h
 
-# Defs to stop.
-ds_tail='_MAGIC|_PATCH'
-ds_fdmp='FD(DEF|GET|SET)MEDIAPRM'              # linux/fd.h aliases (only in 1.2.13)
-ds_mtio='MTIOC(GET|SET)CONFIG'                 # linux/mtio.h needs config (only in 1.2.13)
-def_stop="$ds_tail|$ds_fdmp|$ds_mtio"
+bases=$(sed -ne 's/.*_IOC_NONE,\([A-Z][A-Z0-9_]\+\),.*/\1/p' ioctls.h | uniq | sort)
+for base in $bases ; do
+       echo "Looking for $base"
+       regexp="^[[:space:]]*#[[:space:]]*define[[:space:]]\+$base"
+       grep -h $regexp 2>/dev/null $files | grep -v '\<_IO' >> ioctldefs.h
+done
 
-# Validate arg count.
-if [ $# -ne 1 ]
-then
-       echo "usage: $0 include-directory" >&2
-       exit 1
-fi
 
-# Grep through the files.
-(
-       # Construct list: find files minus stop files.
-       cd $1 || exit
-       file_list=`(ls $file_find $file_stop $file_stop 2>/dev/null) | sort | uniq -u`
-
-       # Grep matching #define lines.
-       # Transform to C structure form.
-       # Filter out stop list.
-       egrep "$def_find" $file_list |
-               sed -n -e 's/^\(.*\):#[  ]*define[       ]*\([A-Z_][A-Z0-9_]*\).*$/     { "\1", "\2",   \2      },/p' |
-               egrep -v "$def_stop"
-) > ioctlent.tmp
-
-# Generate the output file.
-echo '/* This file is automatically generated by ioctlent.sh */'
-echo
-echo '#include <sys/types.h>'
-echo
-echo '/* Needed for <linux/baycom.h> */'
-echo '#define BAYCOM_DEBUG'
-echo
-echo '/* Needed for <linux/cyclades.h> */'
-echo '#include <linux/termios.h>'
-echo '#include <linux/tqueue.h>'
-echo
-awk '{ print "#include <" substr($2, 2, length($2) - 3) ">" }' ioctlent.tmp | sort -u
-echo
-echo 'struct ioctlent ioctlent [] ='
-echo '{'
-cat ioctlent.tmp
-echo '};'
-
-# Clean up.
-rm -f ioctlent.tmp