[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.

llvm-svn: 184183
This commit is contained in:
Evgeniy Stepanov 2013-06-18 09:22:24 +00:00
parent eac0bad084
commit 8fa046e288
4 changed files with 1184 additions and 414 deletions

View File

@ -4,9 +4,6 @@
// RUN: %clangxx_asan -O0 -g %s -o %t && %t // RUN: %clangxx_asan -O0 -g %s -o %t && %t
// RUN: %clangxx_asan -O3 -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 <assert.h>
#include <stdlib.h> #include <stdlib.h>
#include <sys/ioctl.h> #include <sys/ioctl.h>
@ -20,7 +17,7 @@ int main(int argc, char **argv) {
int res = ioctl(fd, FIONBIO, &nonblock + 1); int res = ioctl(fd, FIONBIO, &nonblock + 1);
// CHECK: AddressSanitizer: stack-buffer-overflow // CHECK: AddressSanitizer: stack-buffer-overflow
// CHECK: READ of size 4 at // CHECK: READ of size 4 at
// CHECK: #{{.*}} in main {{.*}}/ioctl.cc:[[@LINE-3]] // CHECK: {{#.* in _?main .*ioctl.cc:}}[[@LINE-3]]
assert(res == 0); assert(res == 0);
close(fd); close(fd);
return 0; return 0;

View File

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

View File

@ -32,8 +32,6 @@
#include <stddef.h> #include <stddef.h>
#include <sys/resource.h> #include <sys/resource.h>
#include <sys/socket.h> #include <sys/socket.h>
#include <sys/socket.h>
#include <sys/socket.h>
#include <sys/stat.h> #include <sys/stat.h>
#include <sys/time.h> #include <sys/time.h>
#include <sys/types.h> #include <sys/types.h>
@ -42,10 +40,14 @@
#include <time.h> #include <time.h>
#if SANITIZER_LINUX #if SANITIZER_LINUX
#include <sys/mount.h>
#include <sys/vt.h> #include <sys/vt.h>
#include <linux/cdrom.h> #include <linux/cdrom.h>
#include <linux/ext2_fs.h>
#include <linux/fd.h> #include <linux/fd.h>
#include <linux/hdreg.h> #include <linux/hdreg.h>
#include <linux/ppp_defs.h>
#include <linux/if_ppp.h>
#include <linux/soundcard.h> #include <linux/soundcard.h>
#endif #endif
@ -54,13 +56,16 @@
#endif #endif
#if SANITIZER_LINUX && !SANITIZER_ANDROID #if SANITIZER_LINUX && !SANITIZER_ANDROID
#include <net/if_ppp.h>
#include <netax25/ax25.h> #include <netax25/ax25.h>
#include <netipx/ipx.h> #include <netipx/ipx.h>
#include <netrom/netrom.h> #include <netrom/netrom.h>
#include <scsi/scsi.h>
#include <sys/mtio.h> #include <sys/mtio.h>
#include <sys/kd.h> #include <sys/kd.h>
#include <linux/cdk.h>
#include <linux/cyclades.h> #include <linux/cyclades.h>
#include <linux/if_eql.h>
#include <linux/if_plip.h>
#include <linux/lp.h> #include <linux/lp.h>
#include <linux/mroute.h> #include <linux/mroute.h>
#include <linux/mroute6.h> #include <linux/mroute6.h>
@ -81,6 +86,8 @@
#if SANITIZER_MAC #if SANITIZER_MAC
#include <netinet/ip_mroute.h> #include <netinet/ip_mroute.h>
#include <sys/filio.h>
#include <sys/sockio.h>
#endif #endif
namespace __sanitizer { namespace __sanitizer {
@ -219,6 +226,395 @@ namespace __sanitizer {
unsigned struct_sioc_sg_req_sz = sizeof(struct sioc_sg_req); unsigned struct_sioc_sg_req_sz = sizeof(struct sioc_sg_req);
unsigned struct_sioc_vif_req_sz = sizeof(struct sioc_vif_req); unsigned struct_sioc_vif_req_sz = sizeof(struct sioc_vif_req);
#endif #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 } // namespace __sanitizer
#define CHECK_TYPE_SIZE(TYPE) \ #define CHECK_TYPE_SIZE(TYPE) \

View File

@ -224,6 +224,396 @@ namespace __sanitizer {
extern unsigned struct_sioc_sg_req_sz; extern unsigned struct_sioc_sg_req_sz;
extern unsigned struct_sioc_vif_req_sz; extern unsigned struct_sioc_vif_req_sz;
#endif #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 } // namespace __sanitizer
#endif #endif