[compiler-rt] r184183 - [sanitizer] Symbolic ioctl names.

Evgeniy Stepanov eugeni.stepanov at gmail.com
Tue Jun 18 02:22:24 PDT 2013


Author: eugenis
Date: Tue Jun 18 04:22:24 2013
New Revision: 184183

URL: http://llvm.org/viewvc/llvm-project?rev=184183&view=rev
Log:
[sanitizer] Symbolic ioctl names.

Replace hardcoded ioctl request ids with symbolic names.
Disable certain ioctls on platforms where such names are not found in the
system headers.
Fix a bug in ioctl_lookup.
Reenable ioctl test on Mac.

Modified:
    compiler-rt/trunk/lib/asan/lit_tests/TestCases/ioctl.cc
    compiler-rt/trunk/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
    compiler-rt/trunk/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
    compiler-rt/trunk/lib/sanitizer_common/sanitizer_platform_limits_posix.h

Modified: compiler-rt/trunk/lib/asan/lit_tests/TestCases/ioctl.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/asan/lit_tests/TestCases/ioctl.cc?rev=184183&r1=184182&r2=184183&view=diff
==============================================================================
--- compiler-rt/trunk/lib/asan/lit_tests/TestCases/ioctl.cc (original)
+++ compiler-rt/trunk/lib/asan/lit_tests/TestCases/ioctl.cc Tue Jun 18 04:22:24 2013
@@ -4,9 +4,6 @@
 // RUN: %clangxx_asan -O0 -g %s -o %t && %t
 // RUN: %clangxx_asan -O3 -g %s -o %t && %t
 
-// See https://code.google.com/p/address-sanitizer/issues/detail?id=195
-// XFAIL: darwin
-
 #include <assert.h>
 #include <stdlib.h>
 #include <sys/ioctl.h>
@@ -20,7 +17,7 @@ int main(int argc, char **argv) {
   int res = ioctl(fd, FIONBIO, &nonblock + 1);
   // CHECK: AddressSanitizer: stack-buffer-overflow
   // CHECK: READ of size 4 at
-  // CHECK: #{{.*}} in main {{.*}}/ioctl.cc:[[@LINE-3]]
+  // CHECK: {{#.* in _?main .*ioctl.cc:}}[[@LINE-3]]
   assert(res == 0);
   close(fd);
   return 0;

Modified: compiler-rt/trunk/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc?rev=184183&r1=184182&r2=184183&view=diff
==============================================================================
--- compiler-rt/trunk/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc (original)
+++ compiler-rt/trunk/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc Tue Jun 18 04:22:24 2013
@@ -22,6 +22,7 @@ struct ioctl_desc {
     CUSTOM
   } type : 2;
   unsigned size : 30;
+  const char* name;
 };
 
 const unsigned ioctl_table_max = 500;
@@ -34,424 +35,406 @@ static unsigned ioctl_table_size = 0;
 static void ioctl_table_fill() {
 #define _(rq, tp, sz)                                  \
   CHECK(ioctl_table_size < ioctl_table_max);           \
-  ioctl_table[ioctl_table_size].req = rq;              \
+  ioctl_table[ioctl_table_size].req = IOCTL_##rq;      \
   ioctl_table[ioctl_table_size].type = ioctl_desc::tp; \
   ioctl_table[ioctl_table_size].size = sz;             \
+  ioctl_table[ioctl_table_size].name = #rq;            \
   ++ioctl_table_size;
 
-  _(0x0000540C, NONE, 0);                        // TIOCEXCL
-  _(0x0000540D, NONE, 0);                        // TIOCNXCL
-  _(0x0000540E, NONE, 0);                        // TIOCSCTTY
-  _(0x0000540F, WRITE, pid_t_sz);                // TIOCGPGRP
-  _(0x00005410, READ, pid_t_sz);                 // TIOCSPGRP
-  _(0x00005411, WRITE, sizeof(int));             // TIOCOUTQ
-  _(0x00005412, READ, sizeof(char));             // TIOCSTI
-  _(0x00005413, WRITE, struct_winsize_sz);       // TIOCGWINSZ
-  _(0x00005414, READ, struct_winsize_sz);        // TIOCSWINSZ
-  _(0x00005415, WRITE, sizeof(int));             // TIOCMGET
-  _(0x00005416, READ, sizeof(int));              // TIOCMBIS
-  _(0x00005417, READ, sizeof(int));              // TIOCMBIC
-  _(0x00005418, READ, sizeof(int));              // TIOCMSET
-  _(0x0000541D, NONE, 0);                        // TIOCCONS
-  _(0x00005420, READ, sizeof(int));              // TIOCPKT
-  _(0x00005421, READ, sizeof(int));              // FIONBIO
-  _(0x00005422, NONE, 0);                        // TIOCNOTTY
-  _(0x00005423, READ, sizeof(int));              // TIOCSETD
-  _(0x00005424, WRITE, sizeof(int));             // TIOCGETD
-  _(0x00005450, NONE, 0);                        // FIONCLEX
-  _(0x00005451, NONE, 0);                        // FIOCLEX
-  _(0x00005452, READ, sizeof(int));              // FIOASYNC
-  _(0x00008901, READ, sizeof(int));              // FIOSETOWN
-  _(0x00008902, READ, sizeof(int));              // SIOCSPGRP
-  _(0x00008903, WRITE, sizeof(int));             // FIOGETOWN
-  _(0x00008904, WRITE, sizeof(int));             // SIOCGPGRP
-  _(0x00008905, WRITE, sizeof(int));             // SIOCATMAR
-  _(0x00008912, CUSTOM, 0);                      // SIOCGIFCONF
-  _(0x00008913, WRITE, struct_ifreq_sz);         // SIOCGIFFLAGS
-  _(0x00008914, READ, struct_ifreq_sz);          // SIOCSIFFLAGS
-  _(0x00008915, WRITE, struct_ifreq_sz);         // SIOCGIFADDR
-  _(0x00008916, READ, struct_ifreq_sz);          // SIOCSIFADDR
-  _(0x00008917, WRITE, struct_ifreq_sz);         // SIOCGIFDSTADDR
-  _(0x00008918, READ, struct_ifreq_sz);          // SIOCSIFDSTADDR
-  _(0x00008919, WRITE, struct_ifreq_sz);         // SIOCGIFBRDADDR
-  _(0x0000891A, READ, struct_ifreq_sz);          // SIOCSIFBRDADDR
-  _(0x0000891B, WRITE, struct_ifreq_sz);         // SIOCGIFNETMASK
-  _(0x0000891C, READ, struct_ifreq_sz);          // SIOCSIFNETMASK
-  _(0x0000891D, WRITE, struct_ifreq_sz);         // SIOCGIFMETRIC
-  _(0x0000891E, READ, struct_ifreq_sz);          // SIOCSIFMETRIC
-  _(0x00008921, WRITE, struct_ifreq_sz);         // SIOCGIFMTU
-  _(0x00008922, READ, struct_ifreq_sz);          // SIOCSIFMTU
-  _(0x00008931, READ, struct_ifreq_sz);          // SIOCADDMULTI
-  _(0x00008932, READ, struct_ifreq_sz);          // SIOCDELMULTI
-  _(0x00008940, NONE, 0);                        // SIOCADDRTOLD
-  _(0x00008941, NONE, 0);                        // SIOCDELRTOLD
+  _(FIOASYNC, READ, sizeof(int));
+  _(FIOCLEX, NONE, 0);
+  _(FIOGETOWN, WRITE, sizeof(int));
+  _(FIONBIO, READ, sizeof(int));
+  _(FIONCLEX, NONE, 0);
+  _(FIOSETOWN, READ, sizeof(int));
+  _(SIOCADDMULTI, READ, struct_ifreq_sz);
+  _(SIOCATMARK, WRITE, sizeof(int));
+  _(SIOCDELMULTI, READ, struct_ifreq_sz);
+  _(SIOCGIFADDR, WRITE, struct_ifreq_sz);
+  _(SIOCGIFBRDADDR, WRITE, struct_ifreq_sz);
+  _(SIOCGIFCONF, CUSTOM, 0);
+  _(SIOCGIFDSTADDR, WRITE, struct_ifreq_sz);
+  _(SIOCGIFFLAGS, WRITE, struct_ifreq_sz);
+  _(SIOCGIFMETRIC, WRITE, struct_ifreq_sz);
+  _(SIOCGIFMTU, WRITE, struct_ifreq_sz);
+  _(SIOCGIFNETMASK, WRITE, struct_ifreq_sz);
+  _(SIOCGPGRP, WRITE, sizeof(int));
+  _(SIOCSIFADDR, READ, struct_ifreq_sz);
+  _(SIOCSIFBRDADDR, READ, struct_ifreq_sz);
+  _(SIOCSIFDSTADDR, READ, struct_ifreq_sz);
+  _(SIOCSIFFLAGS, READ, struct_ifreq_sz);
+  _(SIOCSIFMETRIC, READ, struct_ifreq_sz);
+  _(SIOCSIFMTU, READ, struct_ifreq_sz);
+  _(SIOCSIFNETMASK, READ, struct_ifreq_sz);
+  _(SIOCSPGRP, READ, sizeof(int));
+  _(TIOCCONS, NONE, 0);
+  _(TIOCEXCL, NONE, 0);
+  _(TIOCGETD, WRITE, sizeof(int));
+  _(TIOCGPGRP, WRITE, pid_t_sz);
+  _(TIOCGWINSZ, WRITE, struct_winsize_sz);
+  _(TIOCMBIC, READ, sizeof(int));
+  _(TIOCMBIS, READ, sizeof(int));
+  _(TIOCMGET, WRITE, sizeof(int));
+  _(TIOCMSET, READ, sizeof(int));
+  _(TIOCNOTTY, NONE, 0);
+  _(TIOCNXCL, NONE, 0);
+  _(TIOCOUTQ, WRITE, sizeof(int));
+  _(TIOCPKT, READ, sizeof(int));
+  _(TIOCSCTTY, NONE, 0);
+  _(TIOCSETD, READ, sizeof(int));
+  _(TIOCSPGRP, READ, pid_t_sz);
+  _(TIOCSTI, READ, sizeof(char));
+  _(TIOCSWINSZ, READ, struct_winsize_sz);
 
 #if (SANITIZER_LINUX && !SANITIZER_ANDROID) || SANITIZER_MAC
-  _(0x000089E0, WRITE, struct_sioc_vif_req_sz);  // SIOCGETVIFCNT
-  _(0x000089E1, WRITE, struct_sioc_sg_req_sz);   // SIOCGETSGCNT
+  _(SIOCGETSGCNT, WRITE, struct_sioc_sg_req_sz);
+  _(SIOCGETVIFCNT, WRITE, struct_sioc_vif_req_sz);
 #endif
 
 #if SANITIZER_LINUX
-  _(0x00000000, NONE, 0);                               // FDCLRPRM
-  _(0x00000001, READ, struct_floppy_struct_sz);         // FDSETPRM
-  _(0x00000002, READ, struct_floppy_struct_sz);         // FDDEFPRM
-  _(0x00000003, WRITE, struct_floppy_struct_sz);        // FDGETPRM
-  _(0x00000004, NONE, 0);                               // FDMSGON
-  _(0x00000005, NONE, 0);                               // FDMSGOFF
-  _(0x00000006, NONE, 0);                               // FDFMTBEG
-  _(0x00000007, READ, struct_format_descr_sz);          // FDFMTTRK
-  _(0x00000008, NONE, 0);                               // FDFMTEND
-  _(0x0000000A, NONE, 0);                               // FDSETEMSGTRESH
-  _(0x0000000B, NONE, 0);                               // FDFLUSH
-  _(0x0000000C, READ, struct_floppy_max_errors_sz);     // FDSETMAXERRS
-  _(0x0000000E, WRITE, struct_floppy_max_errors_sz);    // FDGETMAXERRS
-  _(0x00000010, WRITE, 16);                             // FDGETDRVTYP
-  _(0x00000014, READ, struct_floppy_drive_params_sz);   // FDSETDRVPRM
-  _(0x00000015, WRITE, struct_floppy_drive_params_sz);  // FDGETDRVPRM
-  _(0x00000016, WRITE, struct_floppy_drive_struct_sz);  // FDGETDRVSTAT
-  _(0x00000017, WRITE, struct_floppy_drive_struct_sz);  // FDPOLLDRVSTAT
-  _(0x00000018, NONE, 0);                               // FDRESET
-  _(0x00000019, WRITE, struct_floppy_fdc_state_sz);     // FDGETFDCSTAT
-  _(0x0000001B, NONE, 0);                               // FDWERRORCLR
-  _(0x0000001C, WRITE, struct_floppy_write_errors_sz);  // FDWERRORGET
-  _(0x0000001E, WRITE, struct_floppy_raw_cmd_sz);       // FDRAWCMD
-  _(0x00000028, NONE, 0);                               // FDTWADDLE
-  _(0x00000301, WRITE, struct_hd_geometry_sz);          // HDIO_GETGEO
-  _(0x00000302, WRITE, sizeof(int));                    // HDIO_GET_UNMASKINTR
-  _(0x00000304, WRITE, sizeof(int));                    // HDIO_GET_MULTCOUNT
-  _(0x00000307, WRITE, struct_hd_driveid_sz);           // HDIO_GET_IDENTITY
-  _(0x00000308, WRITE, sizeof(int));                    // HDIO_GET_KEEPSETTINGS
-  _(0x00000309, WRITE, sizeof(int));                    // HDIO_GET_CHIPSET
-  _(0x0000030A, WRITE, sizeof(int));                    // HDIO_GET_NOWERR
-  _(0x0000030B, WRITE, sizeof(int));                    // HDIO_GET_DMA
-  _(0x0000031F, WRITE, sizeof(int));                    // HDIO_DRIVE_CMD
-  _(0x00000321, NONE, 0);                               // HDIO_SET_MULTCOUNT
-  _(0x00000322, NONE, 0);                               // HDIO_SET_UNMASKINTR
-  _(0x00000323, NONE, 0);                               // HDIO_SET_KEEPSETTINGS
-  _(0x00000324, NONE, 0);                               // HDIO_SET_CHIPSET
-  _(0x00000325, NONE, 0);                               // HDIO_SET_NOWERR
-  _(0x00000326, NONE, 0);                               // HDIO_SET_DMA
-  _(0x00000601, NONE, 0);                               // LPCHAR
-  _(0x00000602, NONE, 0);                               // LPTIME
-  _(0x00000604, NONE, 0);                               // LPABORT
-  _(0x00000605, NONE, 0);                               // LPSETIRQ
-  _(0x00000606, WRITE, sizeof(int));                    // LPGETIRQ
-  _(0x00000608, NONE, 0);                               // LPWAIT
-  _(0x00000609, NONE, 0);                               // LPCAREFUL
-  _(0x0000060A, NONE, 0);                               // LPABORTOPEN
-  _(0x0000060B, WRITE, sizeof(int));                    // LPGETSTATUS
-  _(0x0000060C, NONE, 0);                               // LPRESET
-  _(0x0000125D, READ, sizeof(int));                     // BLKROSET
-  _(0x0000125E, WRITE, sizeof(int));                    // BLKROGET
-  _(0x0000125F, NONE, 0);                               // BLKRRPART
-  _(0x00001260, WRITE, sizeof(uptr));                   // BLKGETSIZE
-  _(0x00001261, NONE, 0);                               // BLKFLSBUF
-  _(0x00001262, NONE, 0);                               // BLKRASET
-  _(0x00001263, WRITE, sizeof(int));                    // BLKRAGET
-  _(0x00004300, NONE, 0);                               // SNDCTL_COPR_RESET
-  _(0x00005000, NONE, 0);                               // SNDCTL_DSP_RESET
-  _(0x00005001, NONE, 0);                               // SNDCTL_DSP_SYNC
-  _(0x00005008, NONE, 0);                               // SNDCTL_DSP_POST
-  _(0x0000500E, NONE, 0);                               // SNDCTL_DSP_NONBLOCK
-  _(0x00005100, NONE, 0);                               // SNDCTL_SEQ_RESET
-  _(0x00005101, NONE, 0);                               // SNDCTL_SEQ_SYNC
-  _(0x00005111, NONE, 0);                               // SNDCTL_SEQ_PANIC
-  _(0x00005301, NONE, 0);                               // CDROMPAUSE
-  _(0x00005302, NONE, 0);                               // CDROMRESUME
-  _(0x00005303, READ, struct_cdrom_msf_sz);             // CDROMPLAYMSF
-  _(0x00005304, READ, struct_cdrom_ti_sz);              // CDROMPLAYTRKIND
-  _(0x00005305, WRITE, struct_cdrom_tochdr_sz);         // CDROMREADTOCHDR
-  _(0x00005306, WRITE, struct_cdrom_tocentry_sz);       // CDROMREADTOCENTRY
-  _(0x00005307, NONE, 0);                               // CDROMSTOP
-  _(0x00005308, NONE, 0);                               // CDROMSTART
-  _(0x00005309, NONE, 0);                               // CDROMEJECT
-  _(0x0000530A, READ, struct_cdrom_volctrl_sz);         // CDROMVOLCTRL
-  _(0x0000530B, WRITE, struct_cdrom_subchnl_sz);        // CDROMSUBCHNL
-  _(0x0000530C, READ, struct_cdrom_msf_sz);             // CDROMREADMODE2
-  _(0x0000530D, READ, struct_cdrom_msf_sz);             // CDROMREADMODE1
-  _(0x0000530E, READ, struct_cdrom_read_audio_sz);      // CDROMREADAUDIO
-  _(0x0000530F, NONE, 0);                               // CDROMEJECT_SW
-  _(0x00005310, WRITE, struct_cdrom_multisession_sz);   // CDROMMULTISESSION
-  _(0x00005311, WRITE, 8);                              // CDROM_GET_UPC
-  _(0x00005312, NONE, 0);                               // CDROMRESET
-  _(0x00005313, WRITE, struct_cdrom_volctrl_sz);        // CDROMVOLREAD
-  _(0x00005314, READ, struct_cdrom_msf_sz);             // CDROMREADRAW
-  _(0x00005315, READ, struct_cdrom_msf_sz);             // CDROMREADCOOKED
-  _(0x00005316, READ, struct_cdrom_msf_sz);             // CDROMSEEK
-  // Conflicting request id.
-  // _(0x00005382, NONE, 0);                      // CDROMAUDIOBUFSIZ
-  // _(0x00005382, WRITE, 2 * sizeof(int));       // SCSI_IOCTL_GET_IDLUN
-  _(0x00005383, NONE, 0);                         // SCSI_IOCTL_TAGGED_ENABLE
-  _(0x00005384, NONE, 0);                         // SCSI_IOCTL_TAGGED_DISABLE
-  _(0x00005385, READ, sizeof(int));               // SCSI_IOCTL_PROBE_HOST
-  _(0x00005401, WRITE, struct_termios_sz);        // TCGETS
-  _(0x00005402, READ, struct_termios_sz);         // TCSETS
-  _(0x00005403, READ, struct_termios_sz);         // TCSETSW
-  _(0x00005404, READ, struct_termios_sz);         // TCSETSF
-  _(0x00005405, WRITE, struct_termio_sz);         // TCGETA
-  _(0x00005406, READ, struct_termio_sz);          // TCSETA
-  _(0x00005407, READ, struct_termio_sz);          // TCSETAW
-  _(0x00005408, READ, struct_termio_sz);          // TCSETAF
-  _(0x00005409, NONE, 0);                         // TCSBRK
-  _(0x0000540A, NONE, 0);                         // TCXONC
-  _(0x0000540B, NONE, 0);                         // TCFLSH
-  // Conflicting request id.
-  // _(0x00005402, NONE, 0);                         // SNDCTL_TMR_START
-  // _(0x00005403, NONE, 0);                         // SNDCTL_TMR_STOP
-  // _(0x00005404, NONE, 0);                         // SNDCTL_TMR_CONTINUE
-  _(0x00005419, WRITE, sizeof(int));              // TIOCGSOFTCAR
-  _(0x0000541A, READ, sizeof(int));               // TIOCSSOFTCAR
-  _(0x0000541B, WRITE, sizeof(int));              // TIOCINQ
-  _(0x0000541C, READ, sizeof(char));              // TIOCLINUX
-  _(0x00005425, NONE, 0);                         // TCSBRKP
-  _(0x00005453, NONE, 0);                         // TIOCSERCONFIG
-  _(0x00005454, WRITE, sizeof(int));              // TIOCSERGWILD
-  _(0x00005455, READ, sizeof(int));               // TIOCSERSWILD
-  _(0x00005456, WRITE, struct_termios_sz);        // TIOCGLCKTRMIOS
-  _(0x00005457, READ, struct_termios_sz);         // TIOCSLCKTRMIOS
-  _(0x00005459, WRITE, sizeof(int));              // TIOCSERGETLSR
-  _(0x00005470, NONE, 0);                         // TIOCSCCINI
-  _(0x00005490, WRITE, sizeof(int));              // PPPIOCGFLAGS
-  _(0x00005491, READ, sizeof(int));               // PPPIOCSFLAGS
-  _(0x00005492, WRITE, sizeof(int));              // PPPIOCGASYNCMAP
-  _(0x00005493, READ, sizeof(int));               // PPPIOCSASYNCMAP
-  _(0x00005494, WRITE, sizeof(int));              // PPPIOCGUNIT
-  _(0x00005495, READ, sizeof(int));               // PPPIOCSINPSIG
-  _(0x00005497, READ, sizeof(int));               // PPPIOCSDEBUG
-  _(0x00005498, WRITE, sizeof(int));              // PPPIOCGDEBUG
-  _(0x0000549B, WRITE, sizeof(int) * 8);          // PPPIOCGXASYNCMAP
-  _(0x0000549C, READ, sizeof(int) * 8);           // PPPIOCSXASYNCMAP
-  _(0x0000549D, READ, sizeof(int));               // PPPIOCSMRU
-  _(0x0000549E, READ, sizeof(int));               // PPPIOCRASYNCMAP
-  _(0x0000549F, READ, sizeof(int));               // PPPIOCSMAXCID
-  _(0x00005600, WRITE, sizeof(int));              // VT_OPENQRY
-  _(0x00005601, WRITE, struct_vt_mode_sz);        // VT_GETMODE
-  _(0x00005602, READ, struct_vt_mode_sz);         // VT_SETMODE
-  _(0x00005603, WRITE, struct_vt_stat_sz);        // VT_GETSTATE
-  _(0x00005604, NONE, 0);                         // VT_SENDSIG
-  _(0x00005605, NONE, 0);                         // VT_RELDISP
-  _(0x00005606, NONE, 0);                         // VT_ACTIVATE
-  _(0x00005607, NONE, 0);                         // VT_WAITACTIVE
-  _(0x00005608, NONE, 0);                         // VT_DISALLOCATE
-  _(0x00005609, READ, struct_vt_sizes_sz);        // VT_RESIZE
-  _(0x0000560A, READ, struct_vt_consize_sz);      // VT_RESIZEX
-  _(0x00007314, NONE, 0);                         // STL_BINTR
-  _(0x00007315, NONE, 0);                         // STL_BSTART
-  _(0x00007316, NONE, 0);                         // STL_BSTOP
-  _(0x00007317, NONE, 0);                         // STL_BRESET
-  _(0x00008906, WRITE, timeval_sz);               // SIOCGSTAMP
-  _(0x0000890B, READ, struct_rtentry_sz);         // SIOCADDRT
-  _(0x0000890C, READ, struct_rtentry_sz);         // SIOCDELRT
-  _(0x00008910, NONE, 0);                         // SIOCGIFNAME
-  _(0x00008911, NONE, 0);                         // SIOCSIFLINK
-  _(0x0000891F, WRITE, struct_ifreq_sz);          // SIOCGIFMEM
-  _(0x00008920, READ, struct_ifreq_sz);           // SIOCSIFMEM
-  _(0x00008923, WRITE, struct_ifreq_sz);          // OLD_SIOCGIFHWADDR
-  _(0x00008924, READ, struct_ifreq_sz);           // SIOCSIFHWADDR
-  _(0x00008925, WRITE, sizeof(int));              // SIOCGIFENCAP
-  _(0x00008926, READ, sizeof(int));               // SIOCSIFENCAP
-  _(0x00008927, WRITE, struct_ifreq_sz);          // SIOCGIFHWADDR
-  _(0x00008929, NONE, 0);                         // SIOCGIFSLAVE
-  _(0x00008930, NONE, 0);                         // SIOCSIFSLAVE
-  _(0x00008950, READ, struct_arpreq_sz);          // SIOCDARP
-  _(0x00008951, WRITE, struct_arpreq_sz);         // SIOCGARP
-  _(0x00008952, READ, struct_arpreq_sz);          // SIOCSARP
-  _(0x00008960, READ, struct_arpreq_sz);          // SIOCDRARP
-  _(0x00008961, WRITE, struct_arpreq_sz);         // SIOCGRARP
-  _(0x00008962, READ, struct_arpreq_sz);          // SIOCSRARP
-  _(0x00008970, WRITE, struct_ifreq_sz);          // SIOCGIFMAP
-  _(0x00008971, READ, struct_ifreq_sz);           // SIOCSIFMAP
-  _(0x000089F0, WRITE, struct_ifreq_sz);          // SIOCDEVPLIP and EQL_ENSLAVE
-  _(0x000089F1, WRITE, struct_ifreq_sz);          // EQL_EMANCIPATE
-  _(0x000089F2, WRITE, struct_ifreq_sz);          // EQL_GETSLAVECFG
-  _(0x000089F3, WRITE, struct_ifreq_sz);          // EQL_SETSLAVECFG
-  _(0x000089F4, WRITE, struct_ifreq_sz);          // EQL_GETMASTRCFG
-  _(0x000089F5, WRITE, struct_ifreq_sz);          // EQL_SETMASTRCFG
-  _(0x00009000, READ, sizeof(int));               // DDIOCSDBG
-  _(0x40045106, NONE, 0);                         // SNDCTL_SEQ_PERCMODE
-  _(0x40045108, READ, sizeof(int));               // SNDCTL_SEQ_TESTMIDI
-  _(0x40045109, READ, sizeof(int));               // SNDCTL_SEQ_RESETSAMPLES
-  _(0x4004510D, READ, sizeof(int));               // SNDCTL_SEQ_THRESHOLD
-  _(0x4004510F, READ, sizeof(int));               // SNDCTL_FM_4OP_ENABLE
-  _(0x40045407, READ, sizeof(int));               // SNDCTL_TMR_METRONOME
-  _(0x40045408, WRITE, sizeof(int));              // SNDCTL_TMR_SELECT
-  _(0x40046602, READ, sizeof(int));               // EXT2_IOC_SETFLAGS
-  _(0x40047602, READ, sizeof(int));               // EXT2_IOC_SETVERSION
-  _(0x40085112, READ, struct_seq_event_rec_sz);   // SNDCTL_SEQ_OUTOFBAND
-  _(0x40086D01, READ, struct_mtop_sz);            // MTIOCTOP
-  _(0x40144304, READ, struct_copr_debug_buf_sz);  // SNDCTL_COPR_WDATA
-  _(0x40144305, READ, struct_copr_debug_buf_sz);  // SNDCTL_COPR_WCODE
-  _(0x40285107, READ, struct_sbi_instrument_sz);  // SNDCTL_FM_LOAD_INSTR
-  _(0x4FA44308, READ, struct_copr_msg_sz);        // SNDCTL_COPR_SENDMSG
-  _(0x80027501, WRITE, uid_t_sz);                 // SMB_IOC_GETMOUNTUID
-  _(0x80044D00, WRITE, sizeof(int));              // SOUND_MIXER_READ_VOLUME
-  _(0x80044D01, WRITE, sizeof(int));              // SOUND_MIXER_READ_BASS
-  _(0x80044D02, WRITE, sizeof(int));              // SOUND_MIXER_READ_TREBLE
-  _(0x80044D03, WRITE, sizeof(int));              // SOUND_MIXER_READ_SYNTH
-  _(0x80044D04, WRITE, sizeof(int));              // SOUND_MIXER_READ_PCM
-  _(0x80044D05, WRITE, sizeof(int));              // SOUND_MIXER_READ_SPEAKER
-  _(0x80044D06, WRITE, sizeof(int));              // SOUND_MIXER_READ_LINE
-  _(0x80044D07, WRITE, sizeof(int));              // SOUND_MIXER_READ_MIC
-  _(0x80044D08, WRITE, sizeof(int));              // SOUND_MIXER_READ_CD
-  _(0x80044D09, WRITE, sizeof(int));              // SOUND_MIXER_READ_IMIX
-  _(0x80044D0A, WRITE, sizeof(int));              // SOUND_MIXER_READ_ALTPCM
-  _(0x80044D0B, WRITE, sizeof(int));              // SOUND_MIXER_READ_RECLEV
-  _(0x80044D0C, WRITE, sizeof(int));              // SOUND_MIXER_READ_IGAIN
-  _(0x80044D0D, WRITE, sizeof(int));              // SOUND_MIXER_READ_OGAIN
-  _(0x80044D0E, WRITE, sizeof(int));              // SOUND_MIXER_READ_LINE1
-  _(0x80044D0F, WRITE, sizeof(int));              // SOUND_MIXER_READ_LINE2
-  _(0x80044D10, WRITE, sizeof(int));              // SOUND_MIXER_READ_LINE3
-  _(0x80044D1C, WRITE, sizeof(int));              // SOUND_MIXER_READ_MUTE
-  _(0x80044D1D, WRITE, sizeof(int));              // SOUND_MIXER_READ_ENHANCE
-  _(0x80044D1E, WRITE, sizeof(int));              // SOUND_MIXER_READ_LOUD
-  _(0x80044DFB, WRITE, sizeof(int));              // SOUND_MIXER_READ_STEREODEVS
-  _(0x80044DFC, WRITE, sizeof(int));              // SOUND_MIXER_READ_CAPS
-  _(0x80044DFD, WRITE, sizeof(int));              // SOUND_MIXER_READ_RECMASK
-  _(0x80044DFE, WRITE, sizeof(int));              // SOUND_MIXER_READ_DEVMASK
-  _(0x80044DFF, WRITE, sizeof(int));              // SOUND_MIXER_READ_RECSRC
-  _(0x80045002, WRITE, sizeof(int));              // SOUND_PCM_READ_RATE
-  _(0x80045005, WRITE, sizeof(int));              // SOUND_PCM_READ_BITS
-  _(0x80045006, WRITE, sizeof(int));              // SOUND_PCM_READ_CHANNELS
-  _(0x80045007, WRITE, sizeof(int));              // SOUND_PCM_READ_FILTER
-  _(0x8004500B, WRITE, sizeof(int));              // SNDCTL_DSP_GETFMTS
-  _(0x80045104, WRITE, sizeof(int));              // SNDCTL_SEQ_GETOUTCOUNT
-  _(0x80045105, WRITE, sizeof(int));              // SNDCTL_SEQ_GETINCOUNT
-  _(0x8004510A, WRITE, sizeof(int));              // SNDCTL_SEQ_NRSYNTHS
-  _(0x8004510B, WRITE, sizeof(int));              // SNDCTL_SEQ_NRMIDIS
-  _(0x80046601, WRITE, sizeof(int));              // EXT2_IOC_GETFLAGS
-  _(0x80046D03, WRITE, struct_mtpos_sz);          // MTIOCPOS
-  _(0x80047601, WRITE, sizeof(int));              // EXT2_IOC_GETVERSION
-  _(0x801C6D02, WRITE, struct_mtget_sz);          // MTIOCGET
-  _(0x8FA44309, WRITE, struct_copr_msg_sz);       // SNDCTL_COPR_RCVMSG
-  _(0xC0044D00, WRITE, sizeof(int));              // SOUND_MIXER_WRITE_VOLUME
-  _(0xC0044D01, WRITE, sizeof(int));              // SOUND_MIXER_WRITE_BASS
-  _(0xC0044D02, WRITE, sizeof(int));              // SOUND_MIXER_WRITE_TREBLE
-  _(0xC0044D03, WRITE, sizeof(int));              // SOUND_MIXER_WRITE_SYNTH
-  _(0xC0044D04, WRITE, sizeof(int));              // SOUND_MIXER_WRITE_PCM
-  _(0xC0044D05, WRITE, sizeof(int));              // SOUND_MIXER_WRITE_SPEAKER
-  _(0xC0044D06, WRITE, sizeof(int));              // SOUND_MIXER_WRITE_LINE
-  _(0xC0044D07, WRITE, sizeof(int));              // SOUND_MIXER_WRITE_MIC
-  _(0xC0044D08, WRITE, sizeof(int));              // SOUND_MIXER_WRITE_CD
-  _(0xC0044D09, WRITE, sizeof(int));              // SOUND_MIXER_WRITE_IMIX
-  _(0xC0044D0A, WRITE, sizeof(int));              // SOUND_MIXER_WRITE_ALTPCM
-  _(0xC0044D0B, WRITE, sizeof(int));              // SOUND_MIXER_WRITE_RECLEV
-  _(0xC0044D0C, WRITE, sizeof(int));              // SOUND_MIXER_WRITE_IGAIN
-  _(0xC0044D0D, WRITE, sizeof(int));              // SOUND_MIXER_WRITE_OGAIN
-  _(0xC0044D0E, WRITE, sizeof(int));              // SOUND_MIXER_WRITE_LINE1
-  _(0xC0044D0F, WRITE, sizeof(int));              // SOUND_MIXER_WRITE_LINE2
-  _(0xC0044D10, WRITE, sizeof(int));              // SOUND_MIXER_WRITE_LINE3
-  _(0xC0044D1C, WRITE, sizeof(int));              // SOUND_MIXER_WRITE_MUTE
-  _(0xC0044D1D, WRITE, sizeof(int));              // SOUND_MIXER_WRITE_ENHANCE
-  _(0xC0044D1E, WRITE, sizeof(int));              // SOUND_MIXER_WRITE_LOUD
-  _(0xC0044DFF, WRITE, sizeof(int));              // SOUND_MIXER_WRITE_RECSRC
-  _(0xC0045002, WRITE, sizeof(int));              // SNDCTL_DSP_SPEED
-  _(0xC0045003, WRITE, sizeof(int));              // SNDCTL_DSP_STEREO
-  _(0xC0045004, WRITE, sizeof(int));              // SNDCTL_DSP_GETBLKSIZE
-  _(0xC0045005, WRITE, sizeof(int));              // SNDCTL_DSP_SETFMT
-  _(0xC0045006, WRITE, sizeof(int));              // SOUND_PCM_WRITE_CHANNELS
-  _(0xC0045007, WRITE, sizeof(int));              // SOUND_PCM_WRITE_FILTER
-  _(0xC0045009, WRITE, sizeof(int));              // SNDCTL_DSP_SUBDIVIDE
-  _(0xC004500A, WRITE, sizeof(int));              // SNDCTL_DSP_SETFRAGMENT
-  _(0xC0045103, WRITE, sizeof(int));              // SNDCTL_SEQ_CTRLRATE
-  _(0xC004510E, WRITE, sizeof(int));              // SNDCTL_SYNTH_MEMAVL
-  _(0xC0045401, WRITE, sizeof(int));              // SNDCTL_TMR_TIMEBASE
-  _(0xC0045405, WRITE, sizeof(int));              // SNDCTL_TMR_TEMPO
-  _(0xC0045406, WRITE, sizeof(int));              // SNDCTL_TMR_SOURCE
-  _(0xC0046D00, WRITE, sizeof(int));              // SNDCTL_MIDI_PRETIME
-  _(0xC0046D01, READ, sizeof(int));               // SNDCTL_MIDI_MPUMODE
-  _(0xC0144302, WRITE, struct_copr_debug_buf_sz);  // SNDCTL_COPR_RDATA
-  _(0xC0144303, WRITE, struct_copr_debug_buf_sz);  // SNDCTL_COPR_RCODE
-  _(0xC0144306, WRITE, struct_copr_debug_buf_sz);  // SNDCTL_COPR_RUN
-  _(0xC0144307, WRITE, struct_copr_debug_buf_sz);  // SNDCTL_COPR_HALT
-  _(0xC074510C, WRITE, struct_midi_info_sz);       // SNDCTL_MIDI_INFO
-  _(0xC08C5102, WRITE, struct_synth_info_sz);      // SNDCTL_SYNTH_INFO
-  _(0xCFB04301, READ, struct_copr_buffer_sz);      // SNDCTL_COPR_LOAD
+  // Conflicting request ids.
+  // _(CDROMAUDIOBUFSIZ, NONE, 0);
+  // _(SNDCTL_TMR_CONTINUE, NONE, 0);
+  // _(SNDCTL_TMR_START, NONE, 0);
+  // _(SNDCTL_TMR_STOP, NONE, 0);
+  // _(SOUND_MIXER_READ_LOUD, WRITE, sizeof(int)); // same as ...READ_ENHANCE
+  // _(SOUND_MIXER_READ_MUTE, WRITE, sizeof(int)); // same as ...READ_ENHANCE
+  // _(SOUND_MIXER_WRITE_LOUD, WRITE, sizeof(int)); // same as ...WRITE_ENHANCE
+  // _(SOUND_MIXER_WRITE_MUTE, WRITE, sizeof(int)); // same as ...WRITE_ENHANCE
+  _(BLKFLSBUF, NONE, 0);
+  _(BLKGETSIZE, WRITE, sizeof(uptr));
+  _(BLKRAGET, WRITE, sizeof(int));
+  _(BLKRASET, NONE, 0);
+  _(BLKROGET, WRITE, sizeof(int));
+  _(BLKROSET, READ, sizeof(int));
+  _(BLKRRPART, NONE, 0);
+  _(CDROMEJECT, NONE, 0);
+  _(CDROMEJECT_SW, NONE, 0);
+  _(CDROMMULTISESSION, WRITE, struct_cdrom_multisession_sz);
+  _(CDROMPAUSE, NONE, 0);
+  _(CDROMPLAYMSF, READ, struct_cdrom_msf_sz);
+  _(CDROMPLAYTRKIND, READ, struct_cdrom_ti_sz);
+  _(CDROMREADAUDIO, READ, struct_cdrom_read_audio_sz);
+  _(CDROMREADCOOKED, READ, struct_cdrom_msf_sz);
+  _(CDROMREADMODE1, READ, struct_cdrom_msf_sz);
+  _(CDROMREADMODE2, READ, struct_cdrom_msf_sz);
+  _(CDROMREADRAW, READ, struct_cdrom_msf_sz);
+  _(CDROMREADTOCENTRY, WRITE, struct_cdrom_tocentry_sz);
+  _(CDROMREADTOCHDR, WRITE, struct_cdrom_tochdr_sz);
+  _(CDROMRESET, NONE, 0);
+  _(CDROMRESUME, NONE, 0);
+  _(CDROMSEEK, READ, struct_cdrom_msf_sz);
+  _(CDROMSTART, NONE, 0);
+  _(CDROMSTOP, NONE, 0);
+  _(CDROMSUBCHNL, WRITE, struct_cdrom_subchnl_sz);
+  _(CDROMVOLCTRL, READ, struct_cdrom_volctrl_sz);
+  _(CDROMVOLREAD, WRITE, struct_cdrom_volctrl_sz);
+  _(CDROM_GET_UPC, WRITE, 8);
+  _(EXT2_IOC_GETFLAGS, WRITE, sizeof(int));
+  _(EXT2_IOC_GETVERSION, WRITE, sizeof(int));
+  _(EXT2_IOC_SETFLAGS, READ, sizeof(int));
+  _(EXT2_IOC_SETVERSION, READ, sizeof(int));
+  _(FDCLRPRM, NONE, 0);
+  _(FDDEFPRM, READ, struct_floppy_struct_sz);
+  _(FDFLUSH, NONE, 0);
+  _(FDFMTBEG, NONE, 0);
+  _(FDFMTEND, NONE, 0);
+  _(FDFMTTRK, READ, struct_format_descr_sz);
+  _(FDGETDRVPRM, WRITE, struct_floppy_drive_params_sz);
+  _(FDGETDRVSTAT, WRITE, struct_floppy_drive_struct_sz);
+  _(FDGETDRVTYP, WRITE, 16);
+  _(FDGETFDCSTAT, WRITE, struct_floppy_fdc_state_sz);
+  _(FDGETMAXERRS, WRITE, struct_floppy_max_errors_sz);
+  _(FDGETPRM, WRITE, struct_floppy_struct_sz);
+  _(FDMSGOFF, NONE, 0);
+  _(FDMSGON, NONE, 0);
+  _(FDPOLLDRVSTAT, WRITE, struct_floppy_drive_struct_sz);
+  _(FDRAWCMD, WRITE, struct_floppy_raw_cmd_sz);
+  _(FDRESET, NONE, 0);
+  _(FDSETDRVPRM, READ, struct_floppy_drive_params_sz);
+  _(FDSETEMSGTRESH, NONE, 0);
+  _(FDSETMAXERRS, READ, struct_floppy_max_errors_sz);
+  _(FDSETPRM, READ, struct_floppy_struct_sz);
+  _(FDTWADDLE, NONE, 0);
+  _(FDWERRORCLR, NONE, 0);
+  _(FDWERRORGET, WRITE, struct_floppy_write_errors_sz);
+  _(HDIO_DRIVE_CMD, WRITE, sizeof(int));
+  _(HDIO_GETGEO, WRITE, struct_hd_geometry_sz);
+  _(HDIO_GET_32BIT, WRITE, sizeof(int));
+  _(HDIO_GET_DMA, WRITE, sizeof(int));
+  _(HDIO_GET_IDENTITY, WRITE, struct_hd_driveid_sz);
+  _(HDIO_GET_KEEPSETTINGS, WRITE, sizeof(int));
+  _(HDIO_GET_MULTCOUNT, WRITE, sizeof(int));
+  _(HDIO_GET_NOWERR, WRITE, sizeof(int));
+  _(HDIO_GET_UNMASKINTR, WRITE, sizeof(int));
+  _(HDIO_SET_32BIT, NONE, 0);
+  _(HDIO_SET_DMA, NONE, 0);
+  _(HDIO_SET_KEEPSETTINGS, NONE, 0);
+  _(HDIO_SET_MULTCOUNT, NONE, 0);
+  _(HDIO_SET_NOWERR, NONE, 0);
+  _(HDIO_SET_UNMASKINTR, NONE, 0);
+  _(MTIOCGET, WRITE, struct_mtget_sz);
+  _(MTIOCPOS, WRITE, struct_mtpos_sz);
+  _(MTIOCTOP, READ, struct_mtop_sz);
+  _(PPPIOCGASYNCMAP, WRITE, sizeof(int));
+  _(PPPIOCGDEBUG, WRITE, sizeof(int));
+  _(PPPIOCGFLAGS, WRITE, sizeof(int));
+  _(PPPIOCGUNIT, WRITE, sizeof(int));
+  _(PPPIOCGXASYNCMAP, WRITE, sizeof(int) * 8);
+  _(PPPIOCSASYNCMAP, READ, sizeof(int));
+  _(PPPIOCSDEBUG, READ, sizeof(int));
+  _(PPPIOCSFLAGS, READ, sizeof(int));
+  _(PPPIOCSMAXCID, READ, sizeof(int));
+  _(PPPIOCSMRU, READ, sizeof(int));
+  _(PPPIOCSXASYNCMAP, READ, sizeof(int) * 8);
+  _(SIOCADDRT, READ, struct_rtentry_sz);
+  _(SIOCDARP, READ, struct_arpreq_sz);
+  _(SIOCDELRT, READ, struct_rtentry_sz);
+  _(SIOCDRARP, READ, struct_arpreq_sz);
+  _(SIOCGARP, WRITE, struct_arpreq_sz);
+  _(SIOCGIFENCAP, WRITE, sizeof(int));
+  _(SIOCGIFHWADDR, WRITE, struct_ifreq_sz);
+  _(SIOCGIFMAP, WRITE, struct_ifreq_sz);
+  _(SIOCGIFMEM, WRITE, struct_ifreq_sz);
+  _(SIOCGIFNAME, NONE, 0);
+  _(SIOCGIFSLAVE, NONE, 0);
+  _(SIOCGRARP, WRITE, struct_arpreq_sz);
+  _(SIOCGSTAMP, WRITE, timeval_sz);
+  _(SIOCSARP, READ, struct_arpreq_sz);
+  _(SIOCSIFENCAP, READ, sizeof(int));
+  _(SIOCSIFHWADDR, READ, struct_ifreq_sz);
+  _(SIOCSIFLINK, NONE, 0);
+  _(SIOCSIFMAP, READ, struct_ifreq_sz);
+  _(SIOCSIFMEM, READ, struct_ifreq_sz);
+  _(SIOCSIFSLAVE, NONE, 0);
+  _(SIOCSRARP, READ, struct_arpreq_sz);
+  _(SNDCTL_COPR_HALT, WRITE, struct_copr_debug_buf_sz);
+  _(SNDCTL_COPR_LOAD, READ, struct_copr_buffer_sz);
+  _(SNDCTL_COPR_RCODE, WRITE, struct_copr_debug_buf_sz);
+  _(SNDCTL_COPR_RCVMSG, WRITE, struct_copr_msg_sz);
+  _(SNDCTL_COPR_RDATA, WRITE, struct_copr_debug_buf_sz);
+  _(SNDCTL_COPR_RESET, NONE, 0);
+  _(SNDCTL_COPR_RUN, WRITE, struct_copr_debug_buf_sz);
+  _(SNDCTL_COPR_SENDMSG, READ, struct_copr_msg_sz);
+  _(SNDCTL_COPR_WCODE, READ, struct_copr_debug_buf_sz);
+  _(SNDCTL_COPR_WDATA, READ, struct_copr_debug_buf_sz);
+  _(SNDCTL_DSP_GETBLKSIZE, WRITE, sizeof(int));
+  _(SNDCTL_DSP_GETFMTS, WRITE, sizeof(int));
+  _(SNDCTL_DSP_NONBLOCK, NONE, 0);
+  _(SNDCTL_DSP_POST, NONE, 0);
+  _(SNDCTL_DSP_RESET, NONE, 0);
+  _(SNDCTL_DSP_SETFMT, WRITE, sizeof(int));
+  _(SNDCTL_DSP_SETFRAGMENT, WRITE, sizeof(int));
+  _(SNDCTL_DSP_SPEED, WRITE, sizeof(int));
+  _(SNDCTL_DSP_STEREO, WRITE, sizeof(int));
+  _(SNDCTL_DSP_SUBDIVIDE, WRITE, sizeof(int));
+  _(SNDCTL_DSP_SYNC, NONE, 0);
+  _(SNDCTL_FM_4OP_ENABLE, READ, sizeof(int));
+  _(SNDCTL_FM_LOAD_INSTR, READ, struct_sbi_instrument_sz);
+  _(SNDCTL_MIDI_INFO, WRITE, struct_midi_info_sz);
+  _(SNDCTL_MIDI_MPUMODE, READ, sizeof(int));
+  _(SNDCTL_MIDI_PRETIME, WRITE, sizeof(int));
+  _(SNDCTL_SEQ_CTRLRATE, WRITE, sizeof(int));
+  _(SNDCTL_SEQ_GETINCOUNT, WRITE, sizeof(int));
+  _(SNDCTL_SEQ_GETOUTCOUNT, WRITE, sizeof(int));
+  _(SNDCTL_SEQ_NRMIDIS, WRITE, sizeof(int));
+  _(SNDCTL_SEQ_NRSYNTHS, WRITE, sizeof(int));
+  _(SNDCTL_SEQ_OUTOFBAND, READ, struct_seq_event_rec_sz);
+  _(SNDCTL_SEQ_PANIC, NONE, 0);
+  _(SNDCTL_SEQ_PERCMODE, NONE, 0);
+  _(SNDCTL_SEQ_RESET, NONE, 0);
+  _(SNDCTL_SEQ_RESETSAMPLES, READ, sizeof(int));
+  _(SNDCTL_SEQ_SYNC, NONE, 0);
+  _(SNDCTL_SEQ_TESTMIDI, READ, sizeof(int));
+  _(SNDCTL_SEQ_THRESHOLD, READ, sizeof(int));
+  _(SNDCTL_SYNTH_INFO, WRITE, struct_synth_info_sz);
+  _(SNDCTL_SYNTH_MEMAVL, WRITE, sizeof(int));
+  _(SNDCTL_TMR_METRONOME, READ, sizeof(int));
+  _(SNDCTL_TMR_SELECT, WRITE, sizeof(int));
+  _(SNDCTL_TMR_SOURCE, WRITE, sizeof(int));
+  _(SNDCTL_TMR_TEMPO, WRITE, sizeof(int));
+  _(SNDCTL_TMR_TIMEBASE, WRITE, sizeof(int));
+  _(SOUND_MIXER_READ_ALTPCM, WRITE, sizeof(int));
+  _(SOUND_MIXER_READ_BASS, WRITE, sizeof(int));
+  _(SOUND_MIXER_READ_CAPS, WRITE, sizeof(int));
+  _(SOUND_MIXER_READ_CD, WRITE, sizeof(int));
+  _(SOUND_MIXER_READ_DEVMASK, WRITE, sizeof(int));
+  _(SOUND_MIXER_READ_ENHANCE, WRITE, sizeof(int));
+  _(SOUND_MIXER_READ_IGAIN, WRITE, sizeof(int));
+  _(SOUND_MIXER_READ_IMIX, WRITE, sizeof(int));
+  _(SOUND_MIXER_READ_LINE, WRITE, sizeof(int));
+  _(SOUND_MIXER_READ_LINE1, WRITE, sizeof(int));
+  _(SOUND_MIXER_READ_LINE2, WRITE, sizeof(int));
+  _(SOUND_MIXER_READ_LINE3, WRITE, sizeof(int));
+  _(SOUND_MIXER_READ_MIC, WRITE, sizeof(int));
+  _(SOUND_MIXER_READ_OGAIN, WRITE, sizeof(int));
+  _(SOUND_MIXER_READ_PCM, WRITE, sizeof(int));
+  _(SOUND_MIXER_READ_RECLEV, WRITE, sizeof(int));
+  _(SOUND_MIXER_READ_RECMASK, WRITE, sizeof(int));
+  _(SOUND_MIXER_READ_RECSRC, WRITE, sizeof(int));
+  _(SOUND_MIXER_READ_SPEAKER, WRITE, sizeof(int));
+  _(SOUND_MIXER_READ_STEREODEVS, WRITE, sizeof(int));
+  _(SOUND_MIXER_READ_SYNTH, WRITE, sizeof(int));
+  _(SOUND_MIXER_READ_TREBLE, WRITE, sizeof(int));
+  _(SOUND_MIXER_READ_VOLUME, WRITE, sizeof(int));
+  _(SOUND_MIXER_WRITE_ALTPCM, WRITE, sizeof(int));
+  _(SOUND_MIXER_WRITE_BASS, WRITE, sizeof(int));
+  _(SOUND_MIXER_WRITE_CD, WRITE, sizeof(int));
+  _(SOUND_MIXER_WRITE_ENHANCE, WRITE, sizeof(int));
+  _(SOUND_MIXER_WRITE_IGAIN, WRITE, sizeof(int));
+  _(SOUND_MIXER_WRITE_IMIX, WRITE, sizeof(int));
+  _(SOUND_MIXER_WRITE_LINE, WRITE, sizeof(int));
+  _(SOUND_MIXER_WRITE_LINE1, WRITE, sizeof(int));
+  _(SOUND_MIXER_WRITE_LINE2, WRITE, sizeof(int));
+  _(SOUND_MIXER_WRITE_LINE3, WRITE, sizeof(int));
+  _(SOUND_MIXER_WRITE_MIC, WRITE, sizeof(int));
+  _(SOUND_MIXER_WRITE_OGAIN, WRITE, sizeof(int));
+  _(SOUND_MIXER_WRITE_PCM, WRITE, sizeof(int));
+  _(SOUND_MIXER_WRITE_RECLEV, WRITE, sizeof(int));
+  _(SOUND_MIXER_WRITE_RECSRC, WRITE, sizeof(int));
+  _(SOUND_MIXER_WRITE_SPEAKER, WRITE, sizeof(int));
+  _(SOUND_MIXER_WRITE_SYNTH, WRITE, sizeof(int));
+  _(SOUND_MIXER_WRITE_TREBLE, WRITE, sizeof(int));
+  _(SOUND_MIXER_WRITE_VOLUME, WRITE, sizeof(int));
+  _(SOUND_PCM_READ_BITS, WRITE, sizeof(int));
+  _(SOUND_PCM_READ_CHANNELS, WRITE, sizeof(int));
+  _(SOUND_PCM_READ_FILTER, WRITE, sizeof(int));
+  _(SOUND_PCM_READ_RATE, WRITE, sizeof(int));
+  _(SOUND_PCM_WRITE_CHANNELS, WRITE, sizeof(int));
+  _(SOUND_PCM_WRITE_FILTER, WRITE, sizeof(int));
+  _(TCFLSH, NONE, 0);
+  _(TCGETA, WRITE, struct_termio_sz);
+  _(TCGETS, WRITE, struct_termios_sz);
+  _(TCSBRK, NONE, 0);
+  _(TCSBRKP, NONE, 0);
+  _(TCSETA, READ, struct_termio_sz);
+  _(TCSETAF, READ, struct_termio_sz);
+  _(TCSETAW, READ, struct_termio_sz);
+  _(TCSETS, READ, struct_termios_sz);
+  _(TCSETSF, READ, struct_termios_sz);
+  _(TCSETSW, READ, struct_termios_sz);
+  _(TCXONC, NONE, 0);
+  _(TIOCGLCKTRMIOS, WRITE, struct_termios_sz);
+  _(TIOCGSOFTCAR, WRITE, sizeof(int));
+  _(TIOCINQ, WRITE, sizeof(int));
+  _(TIOCLINUX, READ, sizeof(char));
+  _(TIOCSERCONFIG, NONE, 0);
+  _(TIOCSERGETLSR, WRITE, sizeof(int));
+  _(TIOCSERGWILD, WRITE, sizeof(int));
+  _(TIOCSERSWILD, READ, sizeof(int));
+  _(TIOCSLCKTRMIOS, READ, struct_termios_sz);
+  _(TIOCSSOFTCAR, READ, sizeof(int));
+  _(VT_ACTIVATE, NONE, 0);
+  _(VT_DISALLOCATE, NONE, 0);
+  _(VT_GETMODE, WRITE, struct_vt_mode_sz);
+  _(VT_GETSTATE, WRITE, struct_vt_stat_sz);
+  _(VT_OPENQRY, WRITE, sizeof(int));
+  _(VT_RELDISP, NONE, 0);
+  _(VT_RESIZE, READ, struct_vt_sizes_sz);
+  _(VT_RESIZEX, READ, struct_vt_consize_sz);
+  _(VT_SENDSIG, NONE, 0);
+  _(VT_SETMODE, READ, struct_vt_mode_sz);
+  _(VT_WAITACTIVE, NONE, 0);
 #endif
 
 #if SANITIZER_LINUX && !SANITIZER_ANDROID
-  _(0x00005499, WRITE, struct_ppp_stats_sz);  // PPPIOCGSTAT
-
-  _(0x00004B2F, NONE, 0);                         // KIOCSOUND
-  _(0x00004B30, NONE, 0);                         // KDMKTONE
-  _(0x00004B31, WRITE, 1);                        // KDGETLED
-  _(0x00004B32, NONE, 0);                         // KDSETLED
-  _(0x00004B33, WRITE, 1);                        // KDGKBTYPE
-  _(0x00004B34, NONE, 0);                         // KDADDIO
-  _(0x00004B35, NONE, 0);                         // KDDELIO
-  _(0x00004B36, NONE, 0);                         // KDENABIO
-  _(0x00004B37, NONE, 0);                         // KDDISABIO
-  _(0x00004B3A, NONE, 0);                         // KDSETMODE
-  _(0x00004B3B, WRITE, sizeof(int));              // KDGETMODE
-  _(0x00004B3C, NONE, 0);                         // KDMAPDISP
-  _(0x00004B3D, NONE, 0);                         // KDUNMAPDISP
-  _(0x00004B40, WRITE, e_tabsz);                  // GIO_SCRNMAP
-  _(0x00004B41, READ, e_tabsz);                   // PIO_SCRNMAP
-  _(0x00004B44, WRITE, sizeof(int));              // KDGKBMODE
-  _(0x00004B45, NONE, 0);                         // KDSKBMODE
-  _(0x00004B46, WRITE, struct_kbentry_sz);        // KDGKBENT
-  _(0x00004B47, READ, struct_kbentry_sz);         // KDSKBENT
-  _(0x00004B48, WRITE, struct_kbsentry_sz);       // KDGKBSENT
-  _(0x00004B49, READ, struct_kbsentry_sz);        // KDSKBSENT
-  _(0x00004B4A, WRITE, struct_kbdiacrs_sz);       // KDGKBDIACR
-  _(0x00004B4B, READ, struct_kbdiacrs_sz);        // KDSKBDIACR
-  _(0x00004B4C, WRITE, struct_kbkeycode_sz);      // KDGETKEYCODE
-  _(0x00004B4D, READ, struct_kbkeycode_sz);       // KDSETKEYCODE
-  _(0x00004B4E, NONE, 0);                         // KDSIGACCEPT
-  _(0x00004B60, WRITE, 8192);                     // GIO_FONT
-  _(0x00004B61, READ, 8192);                      // PIO_FONT
-  _(0x00004B62, WRITE, sizeof(int));              // KDGKBMETA
-  _(0x00004B63, NONE, 0);                         // KDSKBMETA
-  _(0x00004B64, WRITE, sizeof(int));              // KDGKBLED
-  _(0x00004B65, NONE, 0);                         // KDSKBLED
-  _(0x00004B66, WRITE, struct_unimapdesc_sz);     // GIO_UNIMAP
-  _(0x00004B67, READ, struct_unimapdesc_sz);      // PIO_UNIMAP
-  _(0x00004B68, READ, struct_unimapinit_sz);      // PIO_UNIMAPCLR
-  _(0x00004B69, WRITE, sizeof(short) * e_tabsz);  // GIO_UNISCRNMAP
-  _(0x00004B6A, READ, sizeof(short) * e_tabsz);   // PIO_UNISCRNMAP
-  _(0x00004B70, WRITE, 48);                       // GIO_CMAP
-  _(0x00004B71, NONE, 0);                         // PIO_CMAP
-
-  // Missing struct definition on Android.
-  _(0x0000541E, WRITE, struct_serial_struct_sz);            // TIOCGSERIAL
-  _(0x0000541F, READ, struct_serial_struct_sz);             // TIOCSSERIAL
-  _(0x0000545A, WRITE, struct_serial_multiport_struct_sz);  // TIOCSERGETMULTI
-  _(0x0000545B, READ, struct_serial_multiport_struct_sz);   // TIOCSERSETMULTI
-  _(0x00005471, READ, struct_scc_modem_sz);                 // TIOCCHANINI
-  _(0x00005474, WRITE, struct_scc_stat_sz);                 // TIOCSCCSTAT
+  // _(SIOCDEVPLIP, WRITE, struct_ifreq_sz); // the same as EQL_ENSLAVE
+  _(CYGETDEFTHRESH, WRITE, sizeof(int));
+  _(CYGETDEFTIMEOUT, WRITE, sizeof(int));
+  _(CYGETMON, WRITE, struct_cyclades_monitor_sz);
+  _(CYGETTHRESH, WRITE, sizeof(int));
+  _(CYGETTIMEOUT, WRITE, sizeof(int));
+  _(CYSETDEFTHRESH, NONE, 0);
+  _(CYSETDEFTIMEOUT, NONE, 0);
+  _(CYSETTHRESH, NONE, 0);
+  _(CYSETTIMEOUT, NONE, 0);
+  _(EQL_EMANCIPATE, WRITE, struct_ifreq_sz);
+  _(EQL_ENSLAVE, WRITE, struct_ifreq_sz);
+  _(EQL_GETMASTRCFG, WRITE, struct_ifreq_sz);
+  _(EQL_GETSLAVECFG, WRITE, struct_ifreq_sz);
+  _(EQL_SETMASTRCFG, WRITE, struct_ifreq_sz);
+  _(EQL_SETSLAVECFG, WRITE, struct_ifreq_sz);
+  _(GIO_CMAP, WRITE, 48);
+  _(GIO_FONT, WRITE, 8192);
+  _(GIO_SCRNMAP, WRITE, e_tabsz);
+  _(GIO_UNIMAP, WRITE, struct_unimapdesc_sz);
+  _(GIO_UNISCRNMAP, WRITE, sizeof(short) * e_tabsz);
+  _(KDADDIO, NONE, 0);
+  _(KDDELIO, NONE, 0);
+  _(KDDISABIO, NONE, 0);
+  _(KDENABIO, NONE, 0);
+  _(KDGETKEYCODE, WRITE, struct_kbkeycode_sz);
+  _(KDGETLED, WRITE, 1);
+  _(KDGETMODE, WRITE, sizeof(int));
+  _(KDGKBDIACR, WRITE, struct_kbdiacrs_sz);
+  _(KDGKBENT, WRITE, struct_kbentry_sz);
+  _(KDGKBLED, WRITE, sizeof(int));
+  _(KDGKBMETA, WRITE, sizeof(int));
+  _(KDGKBMODE, WRITE, sizeof(int));
+  _(KDGKBSENT, WRITE, struct_kbsentry_sz);
+  _(KDGKBTYPE, WRITE, 1);
+  _(KDMAPDISP, NONE, 0);
+  _(KDMKTONE, NONE, 0);
+  _(KDSETKEYCODE, READ, struct_kbkeycode_sz);
+  _(KDSETLED, NONE, 0);
+  _(KDSETMODE, NONE, 0);
+  _(KDSIGACCEPT, NONE, 0);
+  _(KDSKBDIACR, READ, struct_kbdiacrs_sz);
+  _(KDSKBENT, READ, struct_kbentry_sz);
+  _(KDSKBLED, NONE, 0);
+  _(KDSKBMETA, NONE, 0);
+  _(KDSKBMODE, NONE, 0);
+  _(KDSKBSENT, READ, struct_kbsentry_sz);
+  _(KDUNMAPDISP, NONE, 0);
+  _(KIOCSOUND, NONE, 0);
+  _(LPABORT, NONE, 0);
+  _(LPABORTOPEN, NONE, 0);
+  _(LPCAREFUL, NONE, 0);
+  _(LPCHAR, NONE, 0);
+  _(LPGETIRQ, WRITE, sizeof(int));
+  _(LPGETSTATUS, WRITE, sizeof(int));
+  _(LPRESET, NONE, 0);
+  _(LPSETIRQ, NONE, 0);
+  _(LPTIME, NONE, 0);
+  _(LPWAIT, NONE, 0);
+  _(MTIOCGETCONFIG, WRITE, struct_mtconfiginfo_sz);
+  _(MTIOCSETCONFIG, READ, struct_mtconfiginfo_sz);
+  _(PIO_CMAP, NONE, 0);
+  _(PIO_FONT, READ, 8192);
+  _(PIO_SCRNMAP, READ, e_tabsz);
+  _(PIO_UNIMAP, READ, struct_unimapdesc_sz);
+  _(PIO_UNIMAPCLR, READ, struct_unimapinit_sz);
+  _(PIO_UNISCRNMAP, READ, sizeof(short) * e_tabsz);
+  _(SCSI_IOCTL_PROBE_HOST, READ, sizeof(int));
+  _(SCSI_IOCTL_TAGGED_DISABLE, NONE, 0);
+  _(SCSI_IOCTL_TAGGED_ENABLE, NONE, 0);
+  _(SNDCTL_DSP_GETISPACE, WRITE, struct_audio_buf_info_sz);
+  _(SNDCTL_DSP_GETOSPACE, WRITE, struct_audio_buf_info_sz);
+  _(STL_BINTR, NONE, 0);
+  _(STL_BRESET, NONE, 0);
+  _(STL_BSTART, NONE, 0);
+  _(STL_BSTOP, NONE, 0);
+  _(TIOCGSERIAL, WRITE, struct_serial_struct_sz);
+  _(TIOCSERGETMULTI, WRITE, struct_serial_multiport_struct_sz);
+  _(TIOCSERSETMULTI, READ, struct_serial_multiport_struct_sz);
+  _(TIOCSSERIAL, READ, struct_serial_struct_sz);
 
   // The following ioctl requests are shared between AX25, IPX, netrom and
   // mrouted.
-  // _(0x000089E0, READ, sizeof(char));                  // SIOCAIPXITFCRT
-  // _(0x000089E0, READ, struct_sockaddr_ax25_sz);       // SIOCAX25GETUID
-  // _(0x000089E0, WRITE, struct_nr_parms_struct_sz);    // SIOCNRGETPARMS
-  // _(0x000089E1, READ, sizeof(char));                  // SIOCAIPXPRISLT
-  // _(0x000089E1, READ, struct_nr_parms_struct_sz);     // SIOCNRSETPARMS
-  // _(0x000089E1, READ, struct_sockaddr_ax25_sz);       // SIOCAX25ADDUID
-  // _(0x000089E2, NONE, 0);                             // SIOCNRDECOBS
-  // _(0x000089E2, READ, struct_sockaddr_ax25_sz);       // SIOCAX25DELUID
-  // _(0x000089E2, WRITE, struct_ipx_config_data_sz);    // SIOCIPXCFGDATA
-  // _(0x000089E3, READ, sizeof(int));                   // SIOCAX25NOUID
-  // _(0x000089E3, READ, sizeof(int));                   // SIOCNRRTCTL
-  // _(0x000089E4, READ, sizeof(int));                   // SIOCAX25DIGCTL
-  // _(0x000089E5, WRITE, struct_ax25_parms_struct_sz);  // SIOCAX25GETPARMS
-  // _(0x000089E6, READ, struct_ax25_parms_struct_sz);   // SIOCAX25SETPARMS
-
-  _(0x00435901, WRITE, struct_cyclades_monitor_sz);  // CYGETMON
-  _(0x00435902, WRITE, sizeof(int));                 // CYGETTHRESH
-  _(0x00435903, NONE, 0);                            // CYSETTHRESH
-  _(0x00435904, WRITE, sizeof(int));                 // CYGETDEFTHRESH
-  _(0x00435905, NONE, 0);                            // CYSETDEFTHRESH
-  _(0x00435906, WRITE, sizeof(int));                 // CYGETTIMEOUT
-  _(0x00435907, NONE, 0);                            // CYSETTIMEOUT
-  _(0x00435908, WRITE, sizeof(int));                 // CYGETDEFTIMEOUT
-  _(0x00435909, NONE, 0);                            // CYSETDEFTIMEOUT
-
-  // Missing definition of mtconfiginfo
-  _(0x40206D05, READ, struct_mtconfiginfo_sz);   // MTIOCSETCONFIG
-  _(0x80206D04, WRITE, struct_mtconfiginfo_sz);  // MTIOCGETCONFIG
-
-  _(0x800C500C, WRITE, struct_audio_buf_info_sz);  // SNDCTL_DSP_GETOSPACE
-  _(0x800C500D, WRITE, struct_audio_buf_info_sz);  // SNDCTL_DSP_GETISPACE
+  // _(SIOCAIPXITFCRT, READ, sizeof(char));
+  // _(SIOCAX25GETUID, READ, struct_sockaddr_ax25_sz);
+  // _(SIOCNRGETPARMS, WRITE, struct_nr_parms_struct_sz);
+  // _(SIOCAIPXPRISLT, READ, sizeof(char));
+  // _(SIOCNRSETPARMS, READ, struct_nr_parms_struct_sz);
+  // _(SIOCAX25ADDUID, READ, struct_sockaddr_ax25_sz);
+  // _(SIOCNRDECOBS, NONE, 0);
+  // _(SIOCAX25DELUID, READ, struct_sockaddr_ax25_sz);
+  // _(SIOCIPXCFGDATA, WRITE, struct_ipx_config_data_sz);
+  // _(SIOCAX25NOUID, READ, sizeof(int));
+  // _(SIOCNRRTCTL, READ, sizeof(int));
+  // _(SIOCAX25DIGCTL, READ, sizeof(int));
+  // _(SIOCAX25GETPARMS, WRITE, struct_ax25_parms_struct_sz);
+  // _(SIOCAX25SETPARMS, READ, struct_ax25_parms_struct_sz);
 #endif
 #undef _
   // FIXME: missing USB ioctls (EVIOxx...x).
@@ -469,20 +452,24 @@ static void ioctl_init() {
   ioctl_table_fill();
   InternalSort(&ioctl_table, ioctl_table_size, ioctl_desc_compare());
 
+  bool bad = false;
   for (unsigned i = 0; i < ioctl_table_size - 1; ++i) {
     if (ioctl_table[i].req >= ioctl_table[i + 1].req) {
-      Printf("Duplicate or unsorted ioctl request id %x >= %x\n",
-             ioctl_table[i].req, ioctl_table[i + 1].req);
-      Die();
+      Printf("Duplicate or unsorted ioctl request id %x >= %x (%s vs %s)\n",
+             ioctl_table[i].req, ioctl_table[i + 1].req, ioctl_table[i].name,
+             ioctl_table[i + 1].name);
+      bad = true;
     }
   }
 
+  if (bad) Die();
+
   ioctl_initialized = true;
 }
 
 static const ioctl_desc *ioctl_lookup(unsigned req) {
   int left = 0;
-  int right = sizeof(ioctl_table) / sizeof(*ioctl_table);
+  int right = ioctl_table_size;
   while (left < right) {
     int mid = (left + right) / 2;
     if (ioctl_table[mid].req < req)

Modified: compiler-rt/trunk/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_platform_limits_posix.cc?rev=184183&r1=184182&r2=184183&view=diff
==============================================================================
--- compiler-rt/trunk/lib/sanitizer_common/sanitizer_platform_limits_posix.cc (original)
+++ compiler-rt/trunk/lib/sanitizer_common/sanitizer_platform_limits_posix.cc Tue Jun 18 04:22:24 2013
@@ -32,8 +32,6 @@
 #include <stddef.h>
 #include <sys/resource.h>
 #include <sys/socket.h>
-#include <sys/socket.h>
-#include <sys/socket.h>
 #include <sys/stat.h>
 #include <sys/time.h>
 #include <sys/types.h>
@@ -42,10 +40,14 @@
 #include <time.h>
 
 #if SANITIZER_LINUX
+#include <sys/mount.h>
 #include <sys/vt.h>
 #include <linux/cdrom.h>
+#include <linux/ext2_fs.h>
 #include <linux/fd.h>
 #include <linux/hdreg.h>
+#include <linux/ppp_defs.h>
+#include <linux/if_ppp.h>
 #include <linux/soundcard.h>
 #endif
 
@@ -54,13 +56,16 @@
 #endif
 
 #if SANITIZER_LINUX && !SANITIZER_ANDROID
-#include <net/if_ppp.h>
 #include <netax25/ax25.h>
 #include <netipx/ipx.h>
 #include <netrom/netrom.h>
+#include <scsi/scsi.h>
 #include <sys/mtio.h>
 #include <sys/kd.h>
+#include <linux/cdk.h>
 #include <linux/cyclades.h>
+#include <linux/if_eql.h>
+#include <linux/if_plip.h>
 #include <linux/lp.h>
 #include <linux/mroute.h>
 #include <linux/mroute6.h>
@@ -81,6 +86,8 @@
 
 #if SANITIZER_MAC
 #include <netinet/ip_mroute.h>
+#include <sys/filio.h>
+#include <sys/sockio.h>
 #endif
 
 namespace __sanitizer {
@@ -219,6 +226,395 @@ namespace __sanitizer {
   unsigned struct_sioc_sg_req_sz = sizeof(struct sioc_sg_req);
   unsigned struct_sioc_vif_req_sz = sizeof(struct sioc_vif_req);
 #endif
+
+  unsigned IOCTL_FIOASYNC = FIOASYNC;
+  unsigned IOCTL_FIOCLEX = FIOCLEX;
+  unsigned IOCTL_FIOGETOWN = FIOGETOWN;
+  unsigned IOCTL_FIONBIO = FIONBIO;
+  unsigned IOCTL_FIONCLEX = FIONCLEX;
+  unsigned IOCTL_FIOSETOWN = FIOSETOWN;
+  unsigned IOCTL_SIOCADDMULTI = SIOCADDMULTI;
+  unsigned IOCTL_SIOCATMARK = SIOCATMARK;
+  unsigned IOCTL_SIOCDELMULTI = SIOCDELMULTI;
+  unsigned IOCTL_SIOCGIFADDR = SIOCGIFADDR;
+  unsigned IOCTL_SIOCGIFBRDADDR = SIOCGIFBRDADDR;
+  unsigned IOCTL_SIOCGIFCONF = SIOCGIFCONF;
+  unsigned IOCTL_SIOCGIFDSTADDR = SIOCGIFDSTADDR;
+  unsigned IOCTL_SIOCGIFFLAGS = SIOCGIFFLAGS;
+  unsigned IOCTL_SIOCGIFMETRIC = SIOCGIFMETRIC;
+  unsigned IOCTL_SIOCGIFMTU = SIOCGIFMTU;
+  unsigned IOCTL_SIOCGIFNETMASK = SIOCGIFNETMASK;
+  unsigned IOCTL_SIOCGPGRP = SIOCGPGRP;
+  unsigned IOCTL_SIOCSIFADDR = SIOCSIFADDR;
+  unsigned IOCTL_SIOCSIFBRDADDR = SIOCSIFBRDADDR;
+  unsigned IOCTL_SIOCSIFDSTADDR = SIOCSIFDSTADDR;
+  unsigned IOCTL_SIOCSIFFLAGS = SIOCSIFFLAGS;
+  unsigned IOCTL_SIOCSIFMETRIC = SIOCSIFMETRIC;
+  unsigned IOCTL_SIOCSIFMTU = SIOCSIFMTU;
+  unsigned IOCTL_SIOCSIFNETMASK = SIOCSIFNETMASK;
+  unsigned IOCTL_SIOCSPGRP = SIOCSPGRP;
+  unsigned IOCTL_TIOCCONS = TIOCCONS;
+  unsigned IOCTL_TIOCEXCL = TIOCEXCL;
+  unsigned IOCTL_TIOCGETD = TIOCGETD;
+  unsigned IOCTL_TIOCGPGRP = TIOCGPGRP;
+  unsigned IOCTL_TIOCGWINSZ = TIOCGWINSZ;
+  unsigned IOCTL_TIOCMBIC = TIOCMBIC;
+  unsigned IOCTL_TIOCMBIS = TIOCMBIS;
+  unsigned IOCTL_TIOCMGET = TIOCMGET;
+  unsigned IOCTL_TIOCMSET = TIOCMSET;
+  unsigned IOCTL_TIOCNOTTY = TIOCNOTTY;
+  unsigned IOCTL_TIOCNXCL = TIOCNXCL;
+  unsigned IOCTL_TIOCOUTQ = TIOCOUTQ;
+  unsigned IOCTL_TIOCPKT = TIOCPKT;
+  unsigned IOCTL_TIOCSCTTY = TIOCSCTTY;
+  unsigned IOCTL_TIOCSETD = TIOCSETD;
+  unsigned IOCTL_TIOCSPGRP = TIOCSPGRP;
+  unsigned IOCTL_TIOCSTI = TIOCSTI;
+  unsigned IOCTL_TIOCSWINSZ = TIOCSWINSZ;
+#if (SANITIZER_LINUX && !SANITIZER_ANDROID) || SANITIZER_MAC
+  unsigned IOCTL_SIOCGETSGCNT = SIOCGETSGCNT;
+  unsigned IOCTL_SIOCGETVIFCNT = SIOCGETVIFCNT;
+#endif
+#if SANITIZER_LINUX
+  unsigned IOCTL_BLKFLSBUF = BLKFLSBUF;
+  unsigned IOCTL_BLKGETSIZE = BLKGETSIZE;
+  unsigned IOCTL_BLKRAGET = BLKRAGET;
+  unsigned IOCTL_BLKRASET = BLKRASET;
+  unsigned IOCTL_BLKROGET = BLKROGET;
+  unsigned IOCTL_BLKROSET = BLKROSET;
+  unsigned IOCTL_BLKRRPART = BLKRRPART;
+  unsigned IOCTL_CDROMAUDIOBUFSIZ = CDROMAUDIOBUFSIZ;
+  unsigned IOCTL_CDROMEJECT = CDROMEJECT;
+  unsigned IOCTL_CDROMEJECT_SW = CDROMEJECT_SW;
+  unsigned IOCTL_CDROMMULTISESSION = CDROMMULTISESSION;
+  unsigned IOCTL_CDROMPAUSE = CDROMPAUSE;
+  unsigned IOCTL_CDROMPLAYMSF = CDROMPLAYMSF;
+  unsigned IOCTL_CDROMPLAYTRKIND = CDROMPLAYTRKIND;
+  unsigned IOCTL_CDROMREADAUDIO = CDROMREADAUDIO;
+  unsigned IOCTL_CDROMREADCOOKED = CDROMREADCOOKED;
+  unsigned IOCTL_CDROMREADMODE1 = CDROMREADMODE1;
+  unsigned IOCTL_CDROMREADMODE2 = CDROMREADMODE2;
+  unsigned IOCTL_CDROMREADRAW = CDROMREADRAW;
+  unsigned IOCTL_CDROMREADTOCENTRY = CDROMREADTOCENTRY;
+  unsigned IOCTL_CDROMREADTOCHDR = CDROMREADTOCHDR;
+  unsigned IOCTL_CDROMRESET = CDROMRESET;
+  unsigned IOCTL_CDROMRESUME = CDROMRESUME;
+  unsigned IOCTL_CDROMSEEK = CDROMSEEK;
+  unsigned IOCTL_CDROMSTART = CDROMSTART;
+  unsigned IOCTL_CDROMSTOP = CDROMSTOP;
+  unsigned IOCTL_CDROMSUBCHNL = CDROMSUBCHNL;
+  unsigned IOCTL_CDROMVOLCTRL = CDROMVOLCTRL;
+  unsigned IOCTL_CDROMVOLREAD = CDROMVOLREAD;
+  unsigned IOCTL_CDROM_GET_UPC = CDROM_GET_UPC;
+  unsigned IOCTL_EXT2_IOC_GETFLAGS = EXT2_IOC_GETFLAGS;
+  unsigned IOCTL_EXT2_IOC_GETVERSION = EXT2_IOC_GETVERSION;
+  unsigned IOCTL_EXT2_IOC_SETFLAGS = EXT2_IOC_SETFLAGS;
+  unsigned IOCTL_EXT2_IOC_SETVERSION = EXT2_IOC_SETVERSION;
+  unsigned IOCTL_FDCLRPRM = FDCLRPRM;
+  unsigned IOCTL_FDDEFPRM = FDDEFPRM;
+  unsigned IOCTL_FDFLUSH = FDFLUSH;
+  unsigned IOCTL_FDFMTBEG = FDFMTBEG;
+  unsigned IOCTL_FDFMTEND = FDFMTEND;
+  unsigned IOCTL_FDFMTTRK = FDFMTTRK;
+  unsigned IOCTL_FDGETDRVPRM = FDGETDRVPRM;
+  unsigned IOCTL_FDGETDRVSTAT = FDGETDRVSTAT;
+  unsigned IOCTL_FDGETDRVTYP = FDGETDRVTYP;
+  unsigned IOCTL_FDGETFDCSTAT = FDGETFDCSTAT;
+  unsigned IOCTL_FDGETMAXERRS = FDGETMAXERRS;
+  unsigned IOCTL_FDGETPRM = FDGETPRM;
+  unsigned IOCTL_FDMSGOFF = FDMSGOFF;
+  unsigned IOCTL_FDMSGON = FDMSGON;
+  unsigned IOCTL_FDPOLLDRVSTAT = FDPOLLDRVSTAT;
+  unsigned IOCTL_FDRAWCMD = FDRAWCMD;
+  unsigned IOCTL_FDRESET = FDRESET;
+  unsigned IOCTL_FDSETDRVPRM = FDSETDRVPRM;
+  unsigned IOCTL_FDSETEMSGTRESH = FDSETEMSGTRESH;
+  unsigned IOCTL_FDSETMAXERRS = FDSETMAXERRS;
+  unsigned IOCTL_FDSETPRM = FDSETPRM;
+  unsigned IOCTL_FDTWADDLE = FDTWADDLE;
+  unsigned IOCTL_FDWERRORCLR = FDWERRORCLR;
+  unsigned IOCTL_FDWERRORGET = FDWERRORGET;
+  unsigned IOCTL_HDIO_DRIVE_CMD = HDIO_DRIVE_CMD;
+  unsigned IOCTL_HDIO_GETGEO = HDIO_GETGEO;
+  unsigned IOCTL_HDIO_GET_32BIT = HDIO_GET_32BIT;
+  unsigned IOCTL_HDIO_GET_DMA = HDIO_GET_DMA;
+  unsigned IOCTL_HDIO_GET_IDENTITY = HDIO_GET_IDENTITY;
+  unsigned IOCTL_HDIO_GET_KEEPSETTINGS = HDIO_GET_KEEPSETTINGS;
+  unsigned IOCTL_HDIO_GET_MULTCOUNT = HDIO_GET_MULTCOUNT;
+  unsigned IOCTL_HDIO_GET_NOWERR = HDIO_GET_NOWERR;
+  unsigned IOCTL_HDIO_GET_UNMASKINTR = HDIO_GET_UNMASKINTR;
+  unsigned IOCTL_HDIO_SET_32BIT = HDIO_SET_32BIT;
+  unsigned IOCTL_HDIO_SET_DMA = HDIO_SET_DMA;
+  unsigned IOCTL_HDIO_SET_KEEPSETTINGS = HDIO_SET_KEEPSETTINGS;
+  unsigned IOCTL_HDIO_SET_MULTCOUNT = HDIO_SET_MULTCOUNT;
+  unsigned IOCTL_HDIO_SET_NOWERR = HDIO_SET_NOWERR;
+  unsigned IOCTL_HDIO_SET_UNMASKINTR = HDIO_SET_UNMASKINTR;
+  unsigned IOCTL_MTIOCGET = MTIOCGET;
+  unsigned IOCTL_MTIOCPOS = MTIOCPOS;
+  unsigned IOCTL_MTIOCTOP = MTIOCTOP;
+  unsigned IOCTL_PPPIOCGASYNCMAP = PPPIOCGASYNCMAP;
+  unsigned IOCTL_PPPIOCGDEBUG = PPPIOCGDEBUG;
+  unsigned IOCTL_PPPIOCGFLAGS = PPPIOCGFLAGS;
+  unsigned IOCTL_PPPIOCGUNIT = PPPIOCGUNIT;
+  unsigned IOCTL_PPPIOCGXASYNCMAP = PPPIOCGXASYNCMAP;
+  unsigned IOCTL_PPPIOCSASYNCMAP = PPPIOCSASYNCMAP;
+  unsigned IOCTL_PPPIOCSDEBUG = PPPIOCSDEBUG;
+  unsigned IOCTL_PPPIOCSFLAGS = PPPIOCSFLAGS;
+  unsigned IOCTL_PPPIOCSMAXCID = PPPIOCSMAXCID;
+  unsigned IOCTL_PPPIOCSMRU = PPPIOCSMRU;
+  unsigned IOCTL_PPPIOCSXASYNCMAP = PPPIOCSXASYNCMAP;
+  unsigned IOCTL_SIOCADDRT = SIOCADDRT;
+  unsigned IOCTL_SIOCDARP = SIOCDARP;
+  unsigned IOCTL_SIOCDELRT = SIOCDELRT;
+  unsigned IOCTL_SIOCDRARP = SIOCDRARP;
+  unsigned IOCTL_SIOCGARP = SIOCGARP;
+  unsigned IOCTL_SIOCGIFENCAP = SIOCGIFENCAP;
+  unsigned IOCTL_SIOCGIFHWADDR = SIOCGIFHWADDR;
+  unsigned IOCTL_SIOCGIFMAP = SIOCGIFMAP;
+  unsigned IOCTL_SIOCGIFMEM = SIOCGIFMEM;
+  unsigned IOCTL_SIOCGIFNAME = SIOCGIFNAME;
+  unsigned IOCTL_SIOCGIFSLAVE = SIOCGIFSLAVE;
+  unsigned IOCTL_SIOCGRARP = SIOCGRARP;
+  unsigned IOCTL_SIOCGSTAMP = SIOCGSTAMP;
+  unsigned IOCTL_SIOCSARP = SIOCSARP;
+  unsigned IOCTL_SIOCSIFENCAP = SIOCSIFENCAP;
+  unsigned IOCTL_SIOCSIFHWADDR = SIOCSIFHWADDR;
+  unsigned IOCTL_SIOCSIFLINK = SIOCSIFLINK;
+  unsigned IOCTL_SIOCSIFMAP = SIOCSIFMAP;
+  unsigned IOCTL_SIOCSIFMEM = SIOCSIFMEM;
+  unsigned IOCTL_SIOCSIFSLAVE = SIOCSIFSLAVE;
+  unsigned IOCTL_SIOCSRARP = SIOCSRARP;
+  unsigned IOCTL_SNDCTL_COPR_HALT = SNDCTL_COPR_HALT;
+  unsigned IOCTL_SNDCTL_COPR_LOAD = SNDCTL_COPR_LOAD;
+  unsigned IOCTL_SNDCTL_COPR_RCODE = SNDCTL_COPR_RCODE;
+  unsigned IOCTL_SNDCTL_COPR_RCVMSG = SNDCTL_COPR_RCVMSG;
+  unsigned IOCTL_SNDCTL_COPR_RDATA = SNDCTL_COPR_RDATA;
+  unsigned IOCTL_SNDCTL_COPR_RESET = SNDCTL_COPR_RESET;
+  unsigned IOCTL_SNDCTL_COPR_RUN = SNDCTL_COPR_RUN;
+  unsigned IOCTL_SNDCTL_COPR_SENDMSG = SNDCTL_COPR_SENDMSG;
+  unsigned IOCTL_SNDCTL_COPR_WCODE = SNDCTL_COPR_WCODE;
+  unsigned IOCTL_SNDCTL_COPR_WDATA = SNDCTL_COPR_WDATA;
+  unsigned IOCTL_SNDCTL_DSP_GETBLKSIZE = SNDCTL_DSP_GETBLKSIZE;
+  unsigned IOCTL_SNDCTL_DSP_GETFMTS = SNDCTL_DSP_GETFMTS;
+  unsigned IOCTL_SNDCTL_DSP_NONBLOCK = SNDCTL_DSP_NONBLOCK;
+  unsigned IOCTL_SNDCTL_DSP_POST = SNDCTL_DSP_POST;
+  unsigned IOCTL_SNDCTL_DSP_RESET = SNDCTL_DSP_RESET;
+  unsigned IOCTL_SNDCTL_DSP_SETFMT = SNDCTL_DSP_SETFMT;
+  unsigned IOCTL_SNDCTL_DSP_SETFRAGMENT = SNDCTL_DSP_SETFRAGMENT;
+  unsigned IOCTL_SNDCTL_DSP_SPEED = SNDCTL_DSP_SPEED;
+  unsigned IOCTL_SNDCTL_DSP_STEREO = SNDCTL_DSP_STEREO;
+  unsigned IOCTL_SNDCTL_DSP_SUBDIVIDE = SNDCTL_DSP_SUBDIVIDE;
+  unsigned IOCTL_SNDCTL_DSP_SYNC = SNDCTL_DSP_SYNC;
+  unsigned IOCTL_SNDCTL_FM_4OP_ENABLE = SNDCTL_FM_4OP_ENABLE;
+  unsigned IOCTL_SNDCTL_FM_LOAD_INSTR = SNDCTL_FM_LOAD_INSTR;
+  unsigned IOCTL_SNDCTL_MIDI_INFO = SNDCTL_MIDI_INFO;
+  unsigned IOCTL_SNDCTL_MIDI_MPUMODE = SNDCTL_MIDI_MPUMODE;
+  unsigned IOCTL_SNDCTL_MIDI_PRETIME = SNDCTL_MIDI_PRETIME;
+  unsigned IOCTL_SNDCTL_SEQ_CTRLRATE = SNDCTL_SEQ_CTRLRATE;
+  unsigned IOCTL_SNDCTL_SEQ_GETINCOUNT = SNDCTL_SEQ_GETINCOUNT;
+  unsigned IOCTL_SNDCTL_SEQ_GETOUTCOUNT = SNDCTL_SEQ_GETOUTCOUNT;
+  unsigned IOCTL_SNDCTL_SEQ_NRMIDIS = SNDCTL_SEQ_NRMIDIS;
+  unsigned IOCTL_SNDCTL_SEQ_NRSYNTHS = SNDCTL_SEQ_NRSYNTHS;
+  unsigned IOCTL_SNDCTL_SEQ_OUTOFBAND = SNDCTL_SEQ_OUTOFBAND;
+  unsigned IOCTL_SNDCTL_SEQ_PANIC = SNDCTL_SEQ_PANIC;
+  unsigned IOCTL_SNDCTL_SEQ_PERCMODE = SNDCTL_SEQ_PERCMODE;
+  unsigned IOCTL_SNDCTL_SEQ_RESET = SNDCTL_SEQ_RESET;
+  unsigned IOCTL_SNDCTL_SEQ_RESETSAMPLES = SNDCTL_SEQ_RESETSAMPLES;
+  unsigned IOCTL_SNDCTL_SEQ_SYNC = SNDCTL_SEQ_SYNC;
+  unsigned IOCTL_SNDCTL_SEQ_TESTMIDI = SNDCTL_SEQ_TESTMIDI;
+  unsigned IOCTL_SNDCTL_SEQ_THRESHOLD = SNDCTL_SEQ_THRESHOLD;
+  unsigned IOCTL_SNDCTL_SYNTH_INFO = SNDCTL_SYNTH_INFO;
+  unsigned IOCTL_SNDCTL_SYNTH_MEMAVL = SNDCTL_SYNTH_MEMAVL;
+  unsigned IOCTL_SNDCTL_TMR_CONTINUE = SNDCTL_TMR_CONTINUE;
+  unsigned IOCTL_SNDCTL_TMR_METRONOME = SNDCTL_TMR_METRONOME;
+  unsigned IOCTL_SNDCTL_TMR_SELECT = SNDCTL_TMR_SELECT;
+  unsigned IOCTL_SNDCTL_TMR_SOURCE = SNDCTL_TMR_SOURCE;
+  unsigned IOCTL_SNDCTL_TMR_START = SNDCTL_TMR_START;
+  unsigned IOCTL_SNDCTL_TMR_STOP = SNDCTL_TMR_STOP;
+  unsigned IOCTL_SNDCTL_TMR_TEMPO = SNDCTL_TMR_TEMPO;
+  unsigned IOCTL_SNDCTL_TMR_TIMEBASE = SNDCTL_TMR_TIMEBASE;
+  unsigned IOCTL_SOUND_MIXER_READ_ALTPCM = SOUND_MIXER_READ_ALTPCM;
+  unsigned IOCTL_SOUND_MIXER_READ_BASS = SOUND_MIXER_READ_BASS;
+  unsigned IOCTL_SOUND_MIXER_READ_CAPS = SOUND_MIXER_READ_CAPS;
+  unsigned IOCTL_SOUND_MIXER_READ_CD = SOUND_MIXER_READ_CD;
+  unsigned IOCTL_SOUND_MIXER_READ_DEVMASK = SOUND_MIXER_READ_DEVMASK;
+  unsigned IOCTL_SOUND_MIXER_READ_ENHANCE = SOUND_MIXER_READ_ENHANCE;
+  unsigned IOCTL_SOUND_MIXER_READ_IGAIN = SOUND_MIXER_READ_IGAIN;
+  unsigned IOCTL_SOUND_MIXER_READ_IMIX = SOUND_MIXER_READ_IMIX;
+  unsigned IOCTL_SOUND_MIXER_READ_LINE = SOUND_MIXER_READ_LINE;
+  unsigned IOCTL_SOUND_MIXER_READ_LINE1 = SOUND_MIXER_READ_LINE1;
+  unsigned IOCTL_SOUND_MIXER_READ_LINE2 = SOUND_MIXER_READ_LINE2;
+  unsigned IOCTL_SOUND_MIXER_READ_LINE3 = SOUND_MIXER_READ_LINE3;
+  unsigned IOCTL_SOUND_MIXER_READ_LOUD = SOUND_MIXER_READ_LOUD;
+  unsigned IOCTL_SOUND_MIXER_READ_MIC = SOUND_MIXER_READ_MIC;
+  unsigned IOCTL_SOUND_MIXER_READ_MUTE = SOUND_MIXER_READ_MUTE;
+  unsigned IOCTL_SOUND_MIXER_READ_OGAIN = SOUND_MIXER_READ_OGAIN;
+  unsigned IOCTL_SOUND_MIXER_READ_PCM = SOUND_MIXER_READ_PCM;
+  unsigned IOCTL_SOUND_MIXER_READ_RECLEV = SOUND_MIXER_READ_RECLEV;
+  unsigned IOCTL_SOUND_MIXER_READ_RECMASK = SOUND_MIXER_READ_RECMASK;
+  unsigned IOCTL_SOUND_MIXER_READ_RECSRC = SOUND_MIXER_READ_RECSRC;
+  unsigned IOCTL_SOUND_MIXER_READ_SPEAKER = SOUND_MIXER_READ_SPEAKER;
+  unsigned IOCTL_SOUND_MIXER_READ_STEREODEVS = SOUND_MIXER_READ_STEREODEVS;
+  unsigned IOCTL_SOUND_MIXER_READ_SYNTH = SOUND_MIXER_READ_SYNTH;
+  unsigned IOCTL_SOUND_MIXER_READ_TREBLE = SOUND_MIXER_READ_TREBLE;
+  unsigned IOCTL_SOUND_MIXER_READ_VOLUME = SOUND_MIXER_READ_VOLUME;
+  unsigned IOCTL_SOUND_MIXER_WRITE_ALTPCM = SOUND_MIXER_WRITE_ALTPCM;
+  unsigned IOCTL_SOUND_MIXER_WRITE_BASS = SOUND_MIXER_WRITE_BASS;
+  unsigned IOCTL_SOUND_MIXER_WRITE_CD = SOUND_MIXER_WRITE_CD;
+  unsigned IOCTL_SOUND_MIXER_WRITE_ENHANCE = SOUND_MIXER_WRITE_ENHANCE;
+  unsigned IOCTL_SOUND_MIXER_WRITE_IGAIN = SOUND_MIXER_WRITE_IGAIN;
+  unsigned IOCTL_SOUND_MIXER_WRITE_IMIX = SOUND_MIXER_WRITE_IMIX;
+  unsigned IOCTL_SOUND_MIXER_WRITE_LINE = SOUND_MIXER_WRITE_LINE;
+  unsigned IOCTL_SOUND_MIXER_WRITE_LINE1 = SOUND_MIXER_WRITE_LINE1;
+  unsigned IOCTL_SOUND_MIXER_WRITE_LINE2 = SOUND_MIXER_WRITE_LINE2;
+  unsigned IOCTL_SOUND_MIXER_WRITE_LINE3 = SOUND_MIXER_WRITE_LINE3;
+  unsigned IOCTL_SOUND_MIXER_WRITE_LOUD = SOUND_MIXER_WRITE_LOUD;
+  unsigned IOCTL_SOUND_MIXER_WRITE_MIC = SOUND_MIXER_WRITE_MIC;
+  unsigned IOCTL_SOUND_MIXER_WRITE_MUTE = SOUND_MIXER_WRITE_MUTE;
+  unsigned IOCTL_SOUND_MIXER_WRITE_OGAIN = SOUND_MIXER_WRITE_OGAIN;
+  unsigned IOCTL_SOUND_MIXER_WRITE_PCM = SOUND_MIXER_WRITE_PCM;
+  unsigned IOCTL_SOUND_MIXER_WRITE_RECLEV = SOUND_MIXER_WRITE_RECLEV;
+  unsigned IOCTL_SOUND_MIXER_WRITE_RECSRC = SOUND_MIXER_WRITE_RECSRC;
+  unsigned IOCTL_SOUND_MIXER_WRITE_SPEAKER = SOUND_MIXER_WRITE_SPEAKER;
+  unsigned IOCTL_SOUND_MIXER_WRITE_SYNTH = SOUND_MIXER_WRITE_SYNTH;
+  unsigned IOCTL_SOUND_MIXER_WRITE_TREBLE = SOUND_MIXER_WRITE_TREBLE;
+  unsigned IOCTL_SOUND_MIXER_WRITE_VOLUME = SOUND_MIXER_WRITE_VOLUME;
+  unsigned IOCTL_SOUND_PCM_READ_BITS = SOUND_PCM_READ_BITS;
+  unsigned IOCTL_SOUND_PCM_READ_CHANNELS = SOUND_PCM_READ_CHANNELS;
+  unsigned IOCTL_SOUND_PCM_READ_FILTER = SOUND_PCM_READ_FILTER;
+  unsigned IOCTL_SOUND_PCM_READ_RATE = SOUND_PCM_READ_RATE;
+  unsigned IOCTL_SOUND_PCM_WRITE_CHANNELS = SOUND_PCM_WRITE_CHANNELS;
+  unsigned IOCTL_SOUND_PCM_WRITE_FILTER = SOUND_PCM_WRITE_FILTER;
+  unsigned IOCTL_TCFLSH = TCFLSH;
+  unsigned IOCTL_TCGETA = TCGETA;
+  unsigned IOCTL_TCGETS = TCGETS;
+  unsigned IOCTL_TCSBRK = TCSBRK;
+  unsigned IOCTL_TCSBRKP = TCSBRKP;
+  unsigned IOCTL_TCSETA = TCSETA;
+  unsigned IOCTL_TCSETAF = TCSETAF;
+  unsigned IOCTL_TCSETAW = TCSETAW;
+  unsigned IOCTL_TCSETS = TCSETS;
+  unsigned IOCTL_TCSETSF = TCSETSF;
+  unsigned IOCTL_TCSETSW = TCSETSW;
+  unsigned IOCTL_TCXONC = TCXONC;
+  unsigned IOCTL_TIOCGLCKTRMIOS = TIOCGLCKTRMIOS;
+  unsigned IOCTL_TIOCGSOFTCAR = TIOCGSOFTCAR;
+  unsigned IOCTL_TIOCINQ = TIOCINQ;
+  unsigned IOCTL_TIOCLINUX = TIOCLINUX;
+  unsigned IOCTL_TIOCSERCONFIG = TIOCSERCONFIG;
+  unsigned IOCTL_TIOCSERGETLSR = TIOCSERGETLSR;
+  unsigned IOCTL_TIOCSERGWILD = TIOCSERGWILD;
+  unsigned IOCTL_TIOCSERSWILD = TIOCSERSWILD;
+  unsigned IOCTL_TIOCSLCKTRMIOS = TIOCSLCKTRMIOS;
+  unsigned IOCTL_TIOCSSOFTCAR = TIOCSSOFTCAR;
+  unsigned IOCTL_VT_ACTIVATE = VT_ACTIVATE;
+  unsigned IOCTL_VT_DISALLOCATE = VT_DISALLOCATE;
+  unsigned IOCTL_VT_GETMODE = VT_GETMODE;
+  unsigned IOCTL_VT_GETSTATE = VT_GETSTATE;
+  unsigned IOCTL_VT_OPENQRY = VT_OPENQRY;
+  unsigned IOCTL_VT_RELDISP = VT_RELDISP;
+  unsigned IOCTL_VT_RESIZE = VT_RESIZE;
+  unsigned IOCTL_VT_RESIZEX = VT_RESIZEX;
+  unsigned IOCTL_VT_SENDSIG = VT_SENDSIG;
+  unsigned IOCTL_VT_SETMODE = VT_SETMODE;
+  unsigned IOCTL_VT_WAITACTIVE = VT_WAITACTIVE;
+#endif
+#if SANITIZER_LINUX && !SANITIZER_ANDROID
+  unsigned IOCTL_CYGETDEFTHRESH = CYGETDEFTHRESH;
+  unsigned IOCTL_CYGETDEFTIMEOUT = CYGETDEFTIMEOUT;
+  unsigned IOCTL_CYGETMON = CYGETMON;
+  unsigned IOCTL_CYGETTHRESH = CYGETTHRESH;
+  unsigned IOCTL_CYGETTIMEOUT = CYGETTIMEOUT;
+  unsigned IOCTL_CYSETDEFTHRESH = CYSETDEFTHRESH;
+  unsigned IOCTL_CYSETDEFTIMEOUT = CYSETDEFTIMEOUT;
+  unsigned IOCTL_CYSETTHRESH = CYSETTHRESH;
+  unsigned IOCTL_CYSETTIMEOUT = CYSETTIMEOUT;
+  unsigned IOCTL_EQL_EMANCIPATE = EQL_EMANCIPATE;
+  unsigned IOCTL_EQL_ENSLAVE = EQL_ENSLAVE;
+  unsigned IOCTL_EQL_GETMASTRCFG = EQL_GETMASTRCFG;
+  unsigned IOCTL_EQL_GETSLAVECFG = EQL_GETSLAVECFG;
+  unsigned IOCTL_EQL_SETMASTRCFG = EQL_SETMASTRCFG;
+  unsigned IOCTL_EQL_SETSLAVECFG = EQL_SETSLAVECFG;
+  unsigned IOCTL_GIO_CMAP = GIO_CMAP;
+  unsigned IOCTL_GIO_FONT = GIO_FONT;
+  unsigned IOCTL_GIO_SCRNMAP = GIO_SCRNMAP;
+  unsigned IOCTL_GIO_UNIMAP = GIO_UNIMAP;
+  unsigned IOCTL_GIO_UNISCRNMAP = GIO_UNISCRNMAP;
+  unsigned IOCTL_KDADDIO = KDADDIO;
+  unsigned IOCTL_KDDELIO = KDDELIO;
+  unsigned IOCTL_KDDISABIO = KDDISABIO;
+  unsigned IOCTL_KDENABIO = KDENABIO;
+  unsigned IOCTL_KDGETKEYCODE = KDGETKEYCODE;
+  unsigned IOCTL_KDGETLED = KDGETLED;
+  unsigned IOCTL_KDGETMODE = KDGETMODE;
+  unsigned IOCTL_KDGKBDIACR = KDGKBDIACR;
+  unsigned IOCTL_KDGKBENT = KDGKBENT;
+  unsigned IOCTL_KDGKBLED = KDGKBLED;
+  unsigned IOCTL_KDGKBMETA = KDGKBMETA;
+  unsigned IOCTL_KDGKBMODE = KDGKBMODE;
+  unsigned IOCTL_KDGKBSENT = KDGKBSENT;
+  unsigned IOCTL_KDGKBTYPE = KDGKBTYPE;
+  unsigned IOCTL_KDMAPDISP = KDMAPDISP;
+  unsigned IOCTL_KDMKTONE = KDMKTONE;
+  unsigned IOCTL_KDSETKEYCODE = KDSETKEYCODE;
+  unsigned IOCTL_KDSETLED = KDSETLED;
+  unsigned IOCTL_KDSETMODE = KDSETMODE;
+  unsigned IOCTL_KDSIGACCEPT = KDSIGACCEPT;
+  unsigned IOCTL_KDSKBDIACR = KDSKBDIACR;
+  unsigned IOCTL_KDSKBENT = KDSKBENT;
+  unsigned IOCTL_KDSKBLED = KDSKBLED;
+  unsigned IOCTL_KDSKBMETA = KDSKBMETA;
+  unsigned IOCTL_KDSKBMODE = KDSKBMODE;
+  unsigned IOCTL_KDSKBSENT = KDSKBSENT;
+  unsigned IOCTL_KDUNMAPDISP = KDUNMAPDISP;
+  unsigned IOCTL_KIOCSOUND = KIOCSOUND;
+  unsigned IOCTL_LPABORT = LPABORT;
+  unsigned IOCTL_LPABORTOPEN = LPABORTOPEN;
+  unsigned IOCTL_LPCAREFUL = LPCAREFUL;
+  unsigned IOCTL_LPCHAR = LPCHAR;
+  unsigned IOCTL_LPGETIRQ = LPGETIRQ;
+  unsigned IOCTL_LPGETSTATUS = LPGETSTATUS;
+  unsigned IOCTL_LPRESET = LPRESET;
+  unsigned IOCTL_LPSETIRQ = LPSETIRQ;
+  unsigned IOCTL_LPTIME = LPTIME;
+  unsigned IOCTL_LPWAIT = LPWAIT;
+  unsigned IOCTL_MTIOCGETCONFIG = MTIOCGETCONFIG;
+  unsigned IOCTL_MTIOCSETCONFIG = MTIOCSETCONFIG;
+  unsigned IOCTL_PIO_CMAP = PIO_CMAP;
+  unsigned IOCTL_PIO_FONT = PIO_FONT;
+  unsigned IOCTL_PIO_SCRNMAP = PIO_SCRNMAP;
+  unsigned IOCTL_PIO_UNIMAP = PIO_UNIMAP;
+  unsigned IOCTL_PIO_UNIMAPCLR = PIO_UNIMAPCLR;
+  unsigned IOCTL_PIO_UNISCRNMAP = PIO_UNISCRNMAP;
+  unsigned IOCTL_SCSI_IOCTL_GET_IDLUN = SCSI_IOCTL_GET_IDLUN;
+  unsigned IOCTL_SCSI_IOCTL_PROBE_HOST = SCSI_IOCTL_PROBE_HOST;
+  unsigned IOCTL_SCSI_IOCTL_TAGGED_DISABLE = SCSI_IOCTL_TAGGED_DISABLE;
+  unsigned IOCTL_SCSI_IOCTL_TAGGED_ENABLE = SCSI_IOCTL_TAGGED_ENABLE;
+  unsigned IOCTL_SIOCAIPXITFCRT = SIOCAIPXITFCRT;
+  unsigned IOCTL_SIOCAIPXPRISLT = SIOCAIPXPRISLT;
+  unsigned IOCTL_SIOCAX25ADDUID = SIOCAX25ADDUID;
+  unsigned IOCTL_SIOCAX25DELUID = SIOCAX25DELUID;
+  unsigned IOCTL_SIOCAX25GETPARMS = SIOCAX25GETPARMS;
+  unsigned IOCTL_SIOCAX25GETUID = SIOCAX25GETUID;
+  unsigned IOCTL_SIOCAX25NOUID = SIOCAX25NOUID;
+  unsigned IOCTL_SIOCAX25SETPARMS = SIOCAX25SETPARMS;
+  unsigned IOCTL_SIOCDEVPLIP = SIOCDEVPLIP;
+  unsigned IOCTL_SIOCIPXCFGDATA = SIOCIPXCFGDATA;
+  unsigned IOCTL_SIOCNRDECOBS = SIOCNRDECOBS;
+  unsigned IOCTL_SIOCNRGETPARMS = SIOCNRGETPARMS;
+  unsigned IOCTL_SIOCNRRTCTL = SIOCNRRTCTL;
+  unsigned IOCTL_SIOCNRSETPARMS = SIOCNRSETPARMS;
+  unsigned IOCTL_SNDCTL_DSP_GETISPACE = SNDCTL_DSP_GETISPACE;
+  unsigned IOCTL_SNDCTL_DSP_GETOSPACE = SNDCTL_DSP_GETOSPACE;
+  unsigned IOCTL_STL_BINTR = STL_BINTR;
+  unsigned IOCTL_STL_BRESET = STL_BRESET;
+  unsigned IOCTL_STL_BSTART = STL_BSTART;
+  unsigned IOCTL_STL_BSTOP = STL_BSTOP;
+  unsigned IOCTL_TIOCGSERIAL = TIOCGSERIAL;
+  unsigned IOCTL_TIOCSERGETMULTI = TIOCSERGETMULTI;
+  unsigned IOCTL_TIOCSERSETMULTI = TIOCSERSETMULTI;
+  unsigned IOCTL_TIOCSSERIAL = TIOCSSERIAL;
+#endif
 }  // namespace __sanitizer
 
 #define CHECK_TYPE_SIZE(TYPE) \

Modified: compiler-rt/trunk/lib/sanitizer_common/sanitizer_platform_limits_posix.h
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_platform_limits_posix.h?rev=184183&r1=184182&r2=184183&view=diff
==============================================================================
--- compiler-rt/trunk/lib/sanitizer_common/sanitizer_platform_limits_posix.h (original)
+++ compiler-rt/trunk/lib/sanitizer_common/sanitizer_platform_limits_posix.h Tue Jun 18 04:22:24 2013
@@ -224,6 +224,396 @@ namespace __sanitizer {
   extern unsigned struct_sioc_sg_req_sz;
   extern unsigned struct_sioc_vif_req_sz;
 #endif
+
+  // ioctl request identifiers
+  extern unsigned IOCTL_FIOASYNC;
+  extern unsigned IOCTL_FIOCLEX;
+  extern unsigned IOCTL_FIOGETOWN;
+  extern unsigned IOCTL_FIONBIO;
+  extern unsigned IOCTL_FIONCLEX;
+  extern unsigned IOCTL_FIOSETOWN;
+  extern unsigned IOCTL_SIOCADDMULTI;
+  extern unsigned IOCTL_SIOCATMARK;
+  extern unsigned IOCTL_SIOCDELMULTI;
+  extern unsigned IOCTL_SIOCGIFADDR;
+  extern unsigned IOCTL_SIOCGIFBRDADDR;
+  extern unsigned IOCTL_SIOCGIFCONF;
+  extern unsigned IOCTL_SIOCGIFDSTADDR;
+  extern unsigned IOCTL_SIOCGIFFLAGS;
+  extern unsigned IOCTL_SIOCGIFMETRIC;
+  extern unsigned IOCTL_SIOCGIFMTU;
+  extern unsigned IOCTL_SIOCGIFNETMASK;
+  extern unsigned IOCTL_SIOCGPGRP;
+  extern unsigned IOCTL_SIOCSIFADDR;
+  extern unsigned IOCTL_SIOCSIFBRDADDR;
+  extern unsigned IOCTL_SIOCSIFDSTADDR;
+  extern unsigned IOCTL_SIOCSIFFLAGS;
+  extern unsigned IOCTL_SIOCSIFMETRIC;
+  extern unsigned IOCTL_SIOCSIFMTU;
+  extern unsigned IOCTL_SIOCSIFNETMASK;
+  extern unsigned IOCTL_SIOCSPGRP;
+  extern unsigned IOCTL_TIOCCONS;
+  extern unsigned IOCTL_TIOCEXCL;
+  extern unsigned IOCTL_TIOCGETD;
+  extern unsigned IOCTL_TIOCGPGRP;
+  extern unsigned IOCTL_TIOCGWINSZ;
+  extern unsigned IOCTL_TIOCMBIC;
+  extern unsigned IOCTL_TIOCMBIS;
+  extern unsigned IOCTL_TIOCMGET;
+  extern unsigned IOCTL_TIOCMSET;
+  extern unsigned IOCTL_TIOCNOTTY;
+  extern unsigned IOCTL_TIOCNXCL;
+  extern unsigned IOCTL_TIOCOUTQ;
+  extern unsigned IOCTL_TIOCPKT;
+  extern unsigned IOCTL_TIOCSCTTY;
+  extern unsigned IOCTL_TIOCSETD;
+  extern unsigned IOCTL_TIOCSPGRP;
+  extern unsigned IOCTL_TIOCSTI;
+  extern unsigned IOCTL_TIOCSWINSZ;
+#if (SANITIZER_LINUX && !SANITIZER_ANDROID) || SANITIZER_MAC
+  extern unsigned IOCTL_SIOCGETSGCNT;
+  extern unsigned IOCTL_SIOCGETVIFCNT;
+#endif
+#if SANITIZER_LINUX
+  extern unsigned IOCTL_BLKFLSBUF;
+  extern unsigned IOCTL_BLKGETSIZE;
+  extern unsigned IOCTL_BLKRAGET;
+  extern unsigned IOCTL_BLKRASET;
+  extern unsigned IOCTL_BLKROGET;
+  extern unsigned IOCTL_BLKROSET;
+  extern unsigned IOCTL_BLKRRPART;
+  extern unsigned IOCTL_CDROMAUDIOBUFSIZ;
+  extern unsigned IOCTL_CDROMEJECT;
+  extern unsigned IOCTL_CDROMEJECT_SW;
+  extern unsigned IOCTL_CDROMMULTISESSION;
+  extern unsigned IOCTL_CDROMPAUSE;
+  extern unsigned IOCTL_CDROMPLAYMSF;
+  extern unsigned IOCTL_CDROMPLAYTRKIND;
+  extern unsigned IOCTL_CDROMREADAUDIO;
+  extern unsigned IOCTL_CDROMREADCOOKED;
+  extern unsigned IOCTL_CDROMREADMODE1;
+  extern unsigned IOCTL_CDROMREADMODE2;
+  extern unsigned IOCTL_CDROMREADRAW;
+  extern unsigned IOCTL_CDROMREADTOCENTRY;
+  extern unsigned IOCTL_CDROMREADTOCHDR;
+  extern unsigned IOCTL_CDROMRESET;
+  extern unsigned IOCTL_CDROMRESUME;
+  extern unsigned IOCTL_CDROMSEEK;
+  extern unsigned IOCTL_CDROMSTART;
+  extern unsigned IOCTL_CDROMSTOP;
+  extern unsigned IOCTL_CDROMSUBCHNL;
+  extern unsigned IOCTL_CDROMVOLCTRL;
+  extern unsigned IOCTL_CDROMVOLREAD;
+  extern unsigned IOCTL_CDROM_GET_UPC;
+  extern unsigned IOCTL_EXT2_IOC_GETFLAGS;
+  extern unsigned IOCTL_EXT2_IOC_GETVERSION;
+  extern unsigned IOCTL_EXT2_IOC_SETFLAGS;
+  extern unsigned IOCTL_EXT2_IOC_SETVERSION;
+  extern unsigned IOCTL_FDCLRPRM;
+  extern unsigned IOCTL_FDDEFPRM;
+  extern unsigned IOCTL_FDFLUSH;
+  extern unsigned IOCTL_FDFMTBEG;
+  extern unsigned IOCTL_FDFMTEND;
+  extern unsigned IOCTL_FDFMTTRK;
+  extern unsigned IOCTL_FDGETDRVPRM;
+  extern unsigned IOCTL_FDGETDRVSTAT;
+  extern unsigned IOCTL_FDGETDRVTYP;
+  extern unsigned IOCTL_FDGETFDCSTAT;
+  extern unsigned IOCTL_FDGETMAXERRS;
+  extern unsigned IOCTL_FDGETPRM;
+  extern unsigned IOCTL_FDMSGOFF;
+  extern unsigned IOCTL_FDMSGON;
+  extern unsigned IOCTL_FDPOLLDRVSTAT;
+  extern unsigned IOCTL_FDRAWCMD;
+  extern unsigned IOCTL_FDRESET;
+  extern unsigned IOCTL_FDSETDRVPRM;
+  extern unsigned IOCTL_FDSETEMSGTRESH;
+  extern unsigned IOCTL_FDSETMAXERRS;
+  extern unsigned IOCTL_FDSETPRM;
+  extern unsigned IOCTL_FDTWADDLE;
+  extern unsigned IOCTL_FDWERRORCLR;
+  extern unsigned IOCTL_FDWERRORGET;
+  extern unsigned IOCTL_HDIO_DRIVE_CMD;
+  extern unsigned IOCTL_HDIO_GETGEO;
+  extern unsigned IOCTL_HDIO_GET_32BIT;
+  extern unsigned IOCTL_HDIO_GET_DMA;
+  extern unsigned IOCTL_HDIO_GET_IDENTITY;
+  extern unsigned IOCTL_HDIO_GET_KEEPSETTINGS;
+  extern unsigned IOCTL_HDIO_GET_MULTCOUNT;
+  extern unsigned IOCTL_HDIO_GET_NOWERR;
+  extern unsigned IOCTL_HDIO_GET_UNMASKINTR;
+  extern unsigned IOCTL_HDIO_SET_32BIT;
+  extern unsigned IOCTL_HDIO_SET_DMA;
+  extern unsigned IOCTL_HDIO_SET_KEEPSETTINGS;
+  extern unsigned IOCTL_HDIO_SET_MULTCOUNT;
+  extern unsigned IOCTL_HDIO_SET_NOWERR;
+  extern unsigned IOCTL_HDIO_SET_UNMASKINTR;
+  extern unsigned IOCTL_MTIOCGET;
+  extern unsigned IOCTL_MTIOCPOS;
+  extern unsigned IOCTL_MTIOCTOP;
+  extern unsigned IOCTL_PPPIOCGASYNCMAP;
+  extern unsigned IOCTL_PPPIOCGDEBUG;
+  extern unsigned IOCTL_PPPIOCGFLAGS;
+  extern unsigned IOCTL_PPPIOCGUNIT;
+  extern unsigned IOCTL_PPPIOCGXASYNCMAP;
+  extern unsigned IOCTL_PPPIOCSASYNCMAP;
+  extern unsigned IOCTL_PPPIOCSDEBUG;
+  extern unsigned IOCTL_PPPIOCSFLAGS;
+  extern unsigned IOCTL_PPPIOCSMAXCID;
+  extern unsigned IOCTL_PPPIOCSMRU;
+  extern unsigned IOCTL_PPPIOCSXASYNCMAP;
+  extern unsigned IOCTL_SIOCADDRT;
+  extern unsigned IOCTL_SIOCDARP;
+  extern unsigned IOCTL_SIOCDELRT;
+  extern unsigned IOCTL_SIOCDRARP;
+  extern unsigned IOCTL_SIOCGARP;
+  extern unsigned IOCTL_SIOCGIFENCAP;
+  extern unsigned IOCTL_SIOCGIFHWADDR;
+  extern unsigned IOCTL_SIOCGIFMAP;
+  extern unsigned IOCTL_SIOCGIFMEM;
+  extern unsigned IOCTL_SIOCGIFNAME;
+  extern unsigned IOCTL_SIOCGIFSLAVE;
+  extern unsigned IOCTL_SIOCGRARP;
+  extern unsigned IOCTL_SIOCGSTAMP;
+  extern unsigned IOCTL_SIOCSARP;
+  extern unsigned IOCTL_SIOCSIFENCAP;
+  extern unsigned IOCTL_SIOCSIFHWADDR;
+  extern unsigned IOCTL_SIOCSIFLINK;
+  extern unsigned IOCTL_SIOCSIFMAP;
+  extern unsigned IOCTL_SIOCSIFMEM;
+  extern unsigned IOCTL_SIOCSIFSLAVE;
+  extern unsigned IOCTL_SIOCSRARP;
+  extern unsigned IOCTL_SNDCTL_COPR_HALT;
+  extern unsigned IOCTL_SNDCTL_COPR_LOAD;
+  extern unsigned IOCTL_SNDCTL_COPR_RCODE;
+  extern unsigned IOCTL_SNDCTL_COPR_RCVMSG;
+  extern unsigned IOCTL_SNDCTL_COPR_RDATA;
+  extern unsigned IOCTL_SNDCTL_COPR_RESET;
+  extern unsigned IOCTL_SNDCTL_COPR_RUN;
+  extern unsigned IOCTL_SNDCTL_COPR_SENDMSG;
+  extern unsigned IOCTL_SNDCTL_COPR_WCODE;
+  extern unsigned IOCTL_SNDCTL_COPR_WDATA;
+  extern unsigned IOCTL_SNDCTL_DSP_GETBLKSIZE;
+  extern unsigned IOCTL_SNDCTL_DSP_GETFMTS;
+  extern unsigned IOCTL_SNDCTL_DSP_NONBLOCK;
+  extern unsigned IOCTL_SNDCTL_DSP_POST;
+  extern unsigned IOCTL_SNDCTL_DSP_RESET;
+  extern unsigned IOCTL_SNDCTL_DSP_SETFMT;
+  extern unsigned IOCTL_SNDCTL_DSP_SETFRAGMENT;
+  extern unsigned IOCTL_SNDCTL_DSP_SPEED;
+  extern unsigned IOCTL_SNDCTL_DSP_STEREO;
+  extern unsigned IOCTL_SNDCTL_DSP_SUBDIVIDE;
+  extern unsigned IOCTL_SNDCTL_DSP_SYNC;
+  extern unsigned IOCTL_SNDCTL_FM_4OP_ENABLE;
+  extern unsigned IOCTL_SNDCTL_FM_LOAD_INSTR;
+  extern unsigned IOCTL_SNDCTL_MIDI_INFO;
+  extern unsigned IOCTL_SNDCTL_MIDI_MPUMODE;
+  extern unsigned IOCTL_SNDCTL_MIDI_PRETIME;
+  extern unsigned IOCTL_SNDCTL_SEQ_CTRLRATE;
+  extern unsigned IOCTL_SNDCTL_SEQ_GETINCOUNT;
+  extern unsigned IOCTL_SNDCTL_SEQ_GETOUTCOUNT;
+  extern unsigned IOCTL_SNDCTL_SEQ_NRMIDIS;
+  extern unsigned IOCTL_SNDCTL_SEQ_NRSYNTHS;
+  extern unsigned IOCTL_SNDCTL_SEQ_OUTOFBAND;
+  extern unsigned IOCTL_SNDCTL_SEQ_PANIC;
+  extern unsigned IOCTL_SNDCTL_SEQ_PERCMODE;
+  extern unsigned IOCTL_SNDCTL_SEQ_RESET;
+  extern unsigned IOCTL_SNDCTL_SEQ_RESETSAMPLES;
+  extern unsigned IOCTL_SNDCTL_SEQ_SYNC;
+  extern unsigned IOCTL_SNDCTL_SEQ_TESTMIDI;
+  extern unsigned IOCTL_SNDCTL_SEQ_THRESHOLD;
+  extern unsigned IOCTL_SNDCTL_SYNTH_INFO;
+  extern unsigned IOCTL_SNDCTL_SYNTH_MEMAVL;
+  extern unsigned IOCTL_SNDCTL_TMR_CONTINUE;
+  extern unsigned IOCTL_SNDCTL_TMR_METRONOME;
+  extern unsigned IOCTL_SNDCTL_TMR_SELECT;
+  extern unsigned IOCTL_SNDCTL_TMR_SOURCE;
+  extern unsigned IOCTL_SNDCTL_TMR_START;
+  extern unsigned IOCTL_SNDCTL_TMR_STOP;
+  extern unsigned IOCTL_SNDCTL_TMR_TEMPO;
+  extern unsigned IOCTL_SNDCTL_TMR_TIMEBASE;
+  extern unsigned IOCTL_SOUND_MIXER_READ_ALTPCM;
+  extern unsigned IOCTL_SOUND_MIXER_READ_BASS;
+  extern unsigned IOCTL_SOUND_MIXER_READ_CAPS;
+  extern unsigned IOCTL_SOUND_MIXER_READ_CD;
+  extern unsigned IOCTL_SOUND_MIXER_READ_DEVMASK;
+  extern unsigned IOCTL_SOUND_MIXER_READ_ENHANCE;
+  extern unsigned IOCTL_SOUND_MIXER_READ_IGAIN;
+  extern unsigned IOCTL_SOUND_MIXER_READ_IMIX;
+  extern unsigned IOCTL_SOUND_MIXER_READ_LINE1;
+  extern unsigned IOCTL_SOUND_MIXER_READ_LINE2;
+  extern unsigned IOCTL_SOUND_MIXER_READ_LINE3;
+  extern unsigned IOCTL_SOUND_MIXER_READ_LINE;
+  extern unsigned IOCTL_SOUND_MIXER_READ_LOUD;
+  extern unsigned IOCTL_SOUND_MIXER_READ_MIC;
+  extern unsigned IOCTL_SOUND_MIXER_READ_MUTE;
+  extern unsigned IOCTL_SOUND_MIXER_READ_OGAIN;
+  extern unsigned IOCTL_SOUND_MIXER_READ_PCM;
+  extern unsigned IOCTL_SOUND_MIXER_READ_RECLEV;
+  extern unsigned IOCTL_SOUND_MIXER_READ_RECMASK;
+  extern unsigned IOCTL_SOUND_MIXER_READ_RECSRC;
+  extern unsigned IOCTL_SOUND_MIXER_READ_SPEAKER;
+  extern unsigned IOCTL_SOUND_MIXER_READ_STEREODEVS;
+  extern unsigned IOCTL_SOUND_MIXER_READ_SYNTH;
+  extern unsigned IOCTL_SOUND_MIXER_READ_TREBLE;
+  extern unsigned IOCTL_SOUND_MIXER_READ_VOLUME;
+  extern unsigned IOCTL_SOUND_MIXER_WRITE_ALTPCM;
+  extern unsigned IOCTL_SOUND_MIXER_WRITE_BASS;
+  extern unsigned IOCTL_SOUND_MIXER_WRITE_CD;
+  extern unsigned IOCTL_SOUND_MIXER_WRITE_ENHANCE;
+  extern unsigned IOCTL_SOUND_MIXER_WRITE_IGAIN;
+  extern unsigned IOCTL_SOUND_MIXER_WRITE_IMIX;
+  extern unsigned IOCTL_SOUND_MIXER_WRITE_LINE1;
+  extern unsigned IOCTL_SOUND_MIXER_WRITE_LINE2;
+  extern unsigned IOCTL_SOUND_MIXER_WRITE_LINE3;
+  extern unsigned IOCTL_SOUND_MIXER_WRITE_LINE;
+  extern unsigned IOCTL_SOUND_MIXER_WRITE_LOUD;
+  extern unsigned IOCTL_SOUND_MIXER_WRITE_MIC;
+  extern unsigned IOCTL_SOUND_MIXER_WRITE_MUTE;
+  extern unsigned IOCTL_SOUND_MIXER_WRITE_OGAIN;
+  extern unsigned IOCTL_SOUND_MIXER_WRITE_PCM;
+  extern unsigned IOCTL_SOUND_MIXER_WRITE_RECLEV;
+  extern unsigned IOCTL_SOUND_MIXER_WRITE_RECSRC;
+  extern unsigned IOCTL_SOUND_MIXER_WRITE_SPEAKER;
+  extern unsigned IOCTL_SOUND_MIXER_WRITE_SYNTH;
+  extern unsigned IOCTL_SOUND_MIXER_WRITE_TREBLE;
+  extern unsigned IOCTL_SOUND_MIXER_WRITE_VOLUME;
+  extern unsigned IOCTL_SOUND_PCM_READ_BITS;
+  extern unsigned IOCTL_SOUND_PCM_READ_CHANNELS;
+  extern unsigned IOCTL_SOUND_PCM_READ_FILTER;
+  extern unsigned IOCTL_SOUND_PCM_READ_RATE;
+  extern unsigned IOCTL_SOUND_PCM_WRITE_CHANNELS;
+  extern unsigned IOCTL_SOUND_PCM_WRITE_FILTER;
+  extern unsigned IOCTL_TCFLSH;
+  extern unsigned IOCTL_TCGETA;
+  extern unsigned IOCTL_TCGETS;
+  extern unsigned IOCTL_TCSBRK;
+  extern unsigned IOCTL_TCSBRKP;
+  extern unsigned IOCTL_TCSETA;
+  extern unsigned IOCTL_TCSETAF;
+  extern unsigned IOCTL_TCSETAW;
+  extern unsigned IOCTL_TCSETS;
+  extern unsigned IOCTL_TCSETSF;
+  extern unsigned IOCTL_TCSETSW;
+  extern unsigned IOCTL_TCXONC;
+  extern unsigned IOCTL_TIOCGLCKTRMIOS;
+  extern unsigned IOCTL_TIOCGSOFTCAR;
+  extern unsigned IOCTL_TIOCINQ;
+  extern unsigned IOCTL_TIOCLINUX;
+  extern unsigned IOCTL_TIOCSERCONFIG;
+  extern unsigned IOCTL_TIOCSERGETLSR;
+  extern unsigned IOCTL_TIOCSERGWILD;
+  extern unsigned IOCTL_TIOCSERSWILD;
+  extern unsigned IOCTL_TIOCSLCKTRMIOS;
+  extern unsigned IOCTL_TIOCSSOFTCAR;
+  extern unsigned IOCTL_VT_ACTIVATE;
+  extern unsigned IOCTL_VT_DISALLOCATE;
+  extern unsigned IOCTL_VT_GETMODE;
+  extern unsigned IOCTL_VT_GETSTATE;
+  extern unsigned IOCTL_VT_OPENQRY;
+  extern unsigned IOCTL_VT_RELDISP;
+  extern unsigned IOCTL_VT_RESIZE;
+  extern unsigned IOCTL_VT_RESIZEX;
+  extern unsigned IOCTL_VT_SENDSIG;
+  extern unsigned IOCTL_VT_SETMODE;
+  extern unsigned IOCTL_VT_WAITACTIVE;
+#endif
+#if SANITIZER_LINUX && !SANITIZER_ANDROID
+  extern unsigned IOCTL_CYGETDEFTHRESH;
+  extern unsigned IOCTL_CYGETDEFTIMEOUT;
+  extern unsigned IOCTL_CYGETMON;
+  extern unsigned IOCTL_CYGETTHRESH;
+  extern unsigned IOCTL_CYGETTIMEOUT;
+  extern unsigned IOCTL_CYSETDEFTHRESH;
+  extern unsigned IOCTL_CYSETDEFTIMEOUT;
+  extern unsigned IOCTL_CYSETTHRESH;
+  extern unsigned IOCTL_CYSETTIMEOUT;
+  extern unsigned IOCTL_EQL_EMANCIPATE;
+  extern unsigned IOCTL_EQL_ENSLAVE;
+  extern unsigned IOCTL_EQL_GETMASTRCFG;
+  extern unsigned IOCTL_EQL_GETSLAVECFG;
+  extern unsigned IOCTL_EQL_SETMASTRCFG;
+  extern unsigned IOCTL_EQL_SETSLAVECFG;
+  extern unsigned IOCTL_GIO_CMAP;
+  extern unsigned IOCTL_GIO_FONT;
+  extern unsigned IOCTL_GIO_SCRNMAP;
+  extern unsigned IOCTL_GIO_UNIMAP;
+  extern unsigned IOCTL_GIO_UNISCRNMAP;
+  extern unsigned IOCTL_KDADDIO;
+  extern unsigned IOCTL_KDDELIO;
+  extern unsigned IOCTL_KDDISABIO;
+  extern unsigned IOCTL_KDENABIO;
+  extern unsigned IOCTL_KDGETKEYCODE;
+  extern unsigned IOCTL_KDGETLED;
+  extern unsigned IOCTL_KDGETMODE;
+  extern unsigned IOCTL_KDGKBDIACR;
+  extern unsigned IOCTL_KDGKBENT;
+  extern unsigned IOCTL_KDGKBLED;
+  extern unsigned IOCTL_KDGKBMETA;
+  extern unsigned IOCTL_KDGKBMODE;
+  extern unsigned IOCTL_KDGKBSENT;
+  extern unsigned IOCTL_KDGKBTYPE;
+  extern unsigned IOCTL_KDMAPDISP;
+  extern unsigned IOCTL_KDMKTONE;
+  extern unsigned IOCTL_KDSETKEYCODE;
+  extern unsigned IOCTL_KDSETLED;
+  extern unsigned IOCTL_KDSETMODE;
+  extern unsigned IOCTL_KDSIGACCEPT;
+  extern unsigned IOCTL_KDSKBDIACR;
+  extern unsigned IOCTL_KDSKBENT;
+  extern unsigned IOCTL_KDSKBLED;
+  extern unsigned IOCTL_KDSKBMETA;
+  extern unsigned IOCTL_KDSKBMODE;
+  extern unsigned IOCTL_KDSKBSENT;
+  extern unsigned IOCTL_KDUNMAPDISP;
+  extern unsigned IOCTL_KIOCSOUND;
+  extern unsigned IOCTL_LPABORT;
+  extern unsigned IOCTL_LPABORTOPEN;
+  extern unsigned IOCTL_LPCAREFUL;
+  extern unsigned IOCTL_LPCHAR;
+  extern unsigned IOCTL_LPGETIRQ;
+  extern unsigned IOCTL_LPGETSTATUS;
+  extern unsigned IOCTL_LPRESET;
+  extern unsigned IOCTL_LPSETIRQ;
+  extern unsigned IOCTL_LPTIME;
+  extern unsigned IOCTL_LPWAIT;
+  extern unsigned IOCTL_MTIOCGETCONFIG;
+  extern unsigned IOCTL_MTIOCSETCONFIG;
+  extern unsigned IOCTL_PIO_CMAP;
+  extern unsigned IOCTL_PIO_FONT;
+  extern unsigned IOCTL_PIO_SCRNMAP;
+  extern unsigned IOCTL_PIO_UNIMAP;
+  extern unsigned IOCTL_PIO_UNIMAPCLR;
+  extern unsigned IOCTL_PIO_UNISCRNMAP;
+  extern unsigned IOCTL_SCSI_IOCTL_GET_IDLUN;
+  extern unsigned IOCTL_SCSI_IOCTL_PROBE_HOST;
+  extern unsigned IOCTL_SCSI_IOCTL_TAGGED_DISABLE;
+  extern unsigned IOCTL_SCSI_IOCTL_TAGGED_ENABLE;
+  extern unsigned IOCTL_SIOCAIPXITFCRT;
+  extern unsigned IOCTL_SIOCAIPXPRISLT;
+  extern unsigned IOCTL_SIOCAX25ADDUID;
+  extern unsigned IOCTL_SIOCAX25DELUID;
+  extern unsigned IOCTL_SIOCAX25GETPARMS;
+  extern unsigned IOCTL_SIOCAX25GETUID;
+  extern unsigned IOCTL_SIOCAX25NOUID;
+  extern unsigned IOCTL_SIOCAX25SETPARMS;
+  extern unsigned IOCTL_SIOCDEVPLIP;
+  extern unsigned IOCTL_SIOCIPXCFGDATA;
+  extern unsigned IOCTL_SIOCNRDECOBS;
+  extern unsigned IOCTL_SIOCNRGETPARMS;
+  extern unsigned IOCTL_SIOCNRRTCTL;
+  extern unsigned IOCTL_SIOCNRSETPARMS;
+  extern unsigned IOCTL_SNDCTL_DSP_GETISPACE;
+  extern unsigned IOCTL_SNDCTL_DSP_GETOSPACE;
+  extern unsigned IOCTL_STL_BINTR;
+  extern unsigned IOCTL_STL_BRESET;
+  extern unsigned IOCTL_STL_BSTART;
+  extern unsigned IOCTL_STL_BSTOP;
+  extern unsigned IOCTL_TIOCGSERIAL;
+  extern unsigned IOCTL_TIOCSERGETMULTI;
+  extern unsigned IOCTL_TIOCSERSETMULTI;
+  extern unsigned IOCTL_TIOCSSERIAL;
+#endif
 }  // namespace __sanitizer
 
 #endif





More information about the llvm-commits mailing list