[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:
		
							parent
							
								
									eac0bad084
								
							
						
					
					
						commit
						8fa046e288
					
				| 
						 | 
				
			
			@ -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;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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) \
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue