sanitizer_platform_limits_posix.h revision 89d1eee9f468823cc7f01b0d5281a5c9f64a4c31
1//===-- sanitizer_platform_limits_posix.h ---------------------------------===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9// 10// This file is a part of Sanitizer common code. 11// 12// Sizes and layouts of platform-specific POSIX data structures. 13//===----------------------------------------------------------------------===// 14 15#ifndef SANITIZER_PLATFORM_LIMITS_POSIX_H 16#define SANITIZER_PLATFORM_LIMITS_POSIX_H 17 18#include "sanitizer_platform.h" 19 20namespace __sanitizer { 21 extern unsigned struct_utsname_sz; 22 extern unsigned struct_stat_sz; 23 extern unsigned struct_stat64_sz; 24 extern unsigned struct_rusage_sz; 25 extern unsigned struct_tm_sz; 26 extern unsigned struct_passwd_sz; 27 extern unsigned struct_group_sz; 28 extern unsigned struct_sigaction_sz; 29 extern unsigned siginfo_t_sz; 30 extern unsigned struct_itimerval_sz; 31 extern unsigned pthread_t_sz; 32 extern unsigned pid_t_sz; 33 extern unsigned timeval_sz; 34 extern unsigned uid_t_sz; 35 36#if !SANITIZER_ANDROID 37 extern unsigned ucontext_t_sz; 38#endif // !SANITIZER_ANDROID 39 40#if SANITIZER_LINUX 41 extern unsigned struct_rlimit_sz; 42 extern unsigned struct_dirent_sz; 43 extern unsigned struct_statfs_sz; 44 extern unsigned struct_epoll_event_sz; 45 extern unsigned struct_timespec_sz; 46#endif // SANITIZER_LINUX 47 48#if SANITIZER_LINUX && !SANITIZER_ANDROID 49 extern unsigned struct_dirent64_sz; 50 extern unsigned struct_rlimit64_sz; 51 extern unsigned struct_statfs64_sz; 52#endif // SANITIZER_LINUX && !SANITIZER_ANDROID 53 54 struct __sanitizer_iovec { 55 void *iov_base; 56 uptr iov_len; 57 }; 58 59#if SANITIZER_ANDROID || SANITIZER_MAC 60 struct __sanitizer_msghdr { 61 void *msg_name; 62 unsigned msg_namelen; 63 struct __sanitizer_iovec *msg_iov; 64 unsigned msg_iovlen; 65 void *msg_control; 66 unsigned msg_controllen; 67 int msg_flags; 68 }; 69 struct __sanitizer_cmsghdr { 70 unsigned cmsg_len; 71 int cmsg_level; 72 int cmsg_type; 73 }; 74#else 75 struct __sanitizer_msghdr { 76 void *msg_name; 77 unsigned msg_namelen; 78 struct __sanitizer_iovec *msg_iov; 79 uptr msg_iovlen; 80 void *msg_control; 81 uptr msg_controllen; 82 int msg_flags; 83 }; 84 struct __sanitizer_cmsghdr { 85 uptr cmsg_len; 86 int cmsg_level; 87 int cmsg_type; 88 }; 89#endif 90 91 // This thing depends on the platform. We are only interested in the upper 92 // limit. Verified with a compiler assert in .cc. 93 const int pthread_attr_t_max_sz = 128; 94 union __sanitizer_pthread_attr_t { 95 char size[pthread_attr_t_max_sz]; // NOLINT 96 void *align; 97 }; 98 99 uptr __sanitizer_get_sigaction_sa_sigaction(void *act); 100 void __sanitizer_set_sigaction_sa_sigaction(void *act, uptr cb); 101 bool __sanitizer_get_sigaction_sa_siginfo(void *act); 102 103 const unsigned struct_sigaction_max_sz = 256; 104 union __sanitizer_sigaction { 105 char size[struct_sigaction_max_sz]; // NOLINT 106 }; 107 108 extern uptr sig_ign; 109 extern uptr sig_dfl; 110 111#if SANITIZER_LINUX 112 extern int e_tabsz; 113#endif 114 115 uptr __sanitizer_in_addr_sz(int af); 116 117#if SANITIZER_LINUX 118 struct __sanitizer_dl_phdr_info { 119 uptr dlpi_addr; 120 const char *dlpi_name; 121 const void *dlpi_phdr; 122 short dlpi_phnum; 123 }; 124#endif 125 126 struct __sanitizer_addrinfo { 127 int ai_flags; 128 int ai_family; 129 int ai_socktype; 130 int ai_protocol; 131#if SANITIZER_ANDROID || SANITIZER_MAC 132 unsigned ai_addrlen; 133 char *ai_canonname; 134 void *ai_addr; 135#else // LINUX 136 unsigned ai_addrlen; 137 void *ai_addr; 138 char *ai_canonname; 139#endif 140 struct __sanitizer_addrinfo *ai_next; 141 }; 142 143 struct __sanitizer_hostent { 144 char *h_name; 145 char **h_aliases; 146 int h_addrtype; 147 int h_length; 148 char **h_addr_list; 149 }; 150 151 // ioctl arguments 152 struct __sanitizer_ifconf { 153 int ifc_len; 154 union { 155 void *ifcu_req; 156 } ifc_ifcu; 157#if SANITIZER_MAC 158 } __attribute__((packed)); 159#else 160 }; 161#endif 162 163 extern unsigned struct_arpreq_sz; 164 extern unsigned struct_ifreq_sz; 165 extern unsigned struct_termios_sz; 166 extern unsigned struct_winsize_sz; 167 168#if SANITIZER_LINUX 169 extern unsigned struct_cdrom_msf_sz; 170 extern unsigned struct_cdrom_multisession_sz; 171 extern unsigned struct_cdrom_read_audio_sz; 172 extern unsigned struct_cdrom_subchnl_sz; 173 extern unsigned struct_cdrom_ti_sz; 174 extern unsigned struct_cdrom_tocentry_sz; 175 extern unsigned struct_cdrom_tochdr_sz; 176 extern unsigned struct_cdrom_volctrl_sz; 177 extern unsigned struct_copr_buffer_sz; 178 extern unsigned struct_copr_debug_buf_sz; 179 extern unsigned struct_copr_msg_sz; 180 extern unsigned struct_floppy_drive_params_sz; 181 extern unsigned struct_floppy_drive_struct_sz; 182 extern unsigned struct_floppy_fdc_state_sz; 183 extern unsigned struct_floppy_max_errors_sz; 184 extern unsigned struct_floppy_raw_cmd_sz; 185 extern unsigned struct_floppy_struct_sz; 186 extern unsigned struct_floppy_write_errors_sz; 187 extern unsigned struct_format_descr_sz; 188 extern unsigned struct_hd_driveid_sz; 189 extern unsigned struct_hd_geometry_sz; 190 extern unsigned struct_midi_info_sz; 191 extern unsigned struct_mtget_sz; 192 extern unsigned struct_mtop_sz; 193 extern unsigned struct_mtpos_sz; 194 extern unsigned struct_rtentry_sz; 195 extern unsigned struct_sbi_instrument_sz; 196 extern unsigned struct_seq_event_rec_sz; 197 extern unsigned struct_synth_info_sz; 198 extern unsigned struct_termio_sz; 199 extern unsigned struct_vt_consize_sz; 200 extern unsigned struct_vt_mode_sz; 201 extern unsigned struct_vt_sizes_sz; 202 extern unsigned struct_vt_stat_sz; 203#endif 204 205#if SANITIZER_LINUX && !SANITIZER_ANDROID 206 extern unsigned struct_audio_buf_info_sz; 207 extern unsigned struct_ax25_parms_struct_sz; 208 extern unsigned struct_cyclades_monitor_sz; 209 extern unsigned struct_ipx_config_data_sz; 210 extern unsigned struct_kbdiacrs_sz; 211 extern unsigned struct_kbentry_sz; 212 extern unsigned struct_kbkeycode_sz; 213 extern unsigned struct_kbsentry_sz; 214 extern unsigned mpu_command_rec_sz; 215 extern unsigned struct_mtconfiginfo_sz; 216 extern unsigned struct_nr_parms_struct_sz; 217 extern unsigned struct_ppp_stats_sz; 218 extern unsigned struct_scc_modem_sz; 219 extern unsigned struct_scc_stat_sz; 220 extern unsigned struct_serial_multiport_struct_sz; 221 extern unsigned struct_serial_struct_sz; 222 extern unsigned struct_sockaddr_ax25_sz; 223 extern unsigned struct_unimapdesc_sz; 224 extern unsigned struct_unimapinit_sz; 225#endif 226 227#if !SANITIZER_ANDROID 228 extern unsigned struct_sioc_sg_req_sz; 229 extern unsigned struct_sioc_vif_req_sz; 230#endif 231 232 // ioctl request identifiers 233 extern unsigned IOCTL_FIOASYNC; 234 extern unsigned IOCTL_FIOCLEX; 235 extern unsigned IOCTL_FIOGETOWN; 236 extern unsigned IOCTL_FIONBIO; 237 extern unsigned IOCTL_FIONCLEX; 238 extern unsigned IOCTL_FIOSETOWN; 239 extern unsigned IOCTL_SIOCADDMULTI; 240 extern unsigned IOCTL_SIOCATMARK; 241 extern unsigned IOCTL_SIOCDELMULTI; 242 extern unsigned IOCTL_SIOCGIFADDR; 243 extern unsigned IOCTL_SIOCGIFBRDADDR; 244 extern unsigned IOCTL_SIOCGIFCONF; 245 extern unsigned IOCTL_SIOCGIFDSTADDR; 246 extern unsigned IOCTL_SIOCGIFFLAGS; 247 extern unsigned IOCTL_SIOCGIFMETRIC; 248 extern unsigned IOCTL_SIOCGIFMTU; 249 extern unsigned IOCTL_SIOCGIFNETMASK; 250 extern unsigned IOCTL_SIOCGPGRP; 251 extern unsigned IOCTL_SIOCSIFADDR; 252 extern unsigned IOCTL_SIOCSIFBRDADDR; 253 extern unsigned IOCTL_SIOCSIFDSTADDR; 254 extern unsigned IOCTL_SIOCSIFFLAGS; 255 extern unsigned IOCTL_SIOCSIFMETRIC; 256 extern unsigned IOCTL_SIOCSIFMTU; 257 extern unsigned IOCTL_SIOCSIFNETMASK; 258 extern unsigned IOCTL_SIOCSPGRP; 259 extern unsigned IOCTL_TIOCCONS; 260 extern unsigned IOCTL_TIOCEXCL; 261 extern unsigned IOCTL_TIOCGETD; 262 extern unsigned IOCTL_TIOCGPGRP; 263 extern unsigned IOCTL_TIOCGWINSZ; 264 extern unsigned IOCTL_TIOCMBIC; 265 extern unsigned IOCTL_TIOCMBIS; 266 extern unsigned IOCTL_TIOCMGET; 267 extern unsigned IOCTL_TIOCMSET; 268 extern unsigned IOCTL_TIOCNOTTY; 269 extern unsigned IOCTL_TIOCNXCL; 270 extern unsigned IOCTL_TIOCOUTQ; 271 extern unsigned IOCTL_TIOCPKT; 272 extern unsigned IOCTL_TIOCSCTTY; 273 extern unsigned IOCTL_TIOCSETD; 274 extern unsigned IOCTL_TIOCSPGRP; 275 extern unsigned IOCTL_TIOCSTI; 276 extern unsigned IOCTL_TIOCSWINSZ; 277#if (SANITIZER_LINUX && !SANITIZER_ANDROID) || SANITIZER_MAC 278 extern unsigned IOCTL_SIOCGETSGCNT; 279 extern unsigned IOCTL_SIOCGETVIFCNT; 280#endif 281#if SANITIZER_LINUX 282 extern unsigned IOCTL_BLKFLSBUF; 283 extern unsigned IOCTL_BLKGETSIZE; 284 extern unsigned IOCTL_BLKRAGET; 285 extern unsigned IOCTL_BLKRASET; 286 extern unsigned IOCTL_BLKROGET; 287 extern unsigned IOCTL_BLKROSET; 288 extern unsigned IOCTL_BLKRRPART; 289 extern unsigned IOCTL_CDROMAUDIOBUFSIZ; 290 extern unsigned IOCTL_CDROMEJECT; 291 extern unsigned IOCTL_CDROMEJECT_SW; 292 extern unsigned IOCTL_CDROMMULTISESSION; 293 extern unsigned IOCTL_CDROMPAUSE; 294 extern unsigned IOCTL_CDROMPLAYMSF; 295 extern unsigned IOCTL_CDROMPLAYTRKIND; 296 extern unsigned IOCTL_CDROMREADAUDIO; 297 extern unsigned IOCTL_CDROMREADCOOKED; 298 extern unsigned IOCTL_CDROMREADMODE1; 299 extern unsigned IOCTL_CDROMREADMODE2; 300 extern unsigned IOCTL_CDROMREADRAW; 301 extern unsigned IOCTL_CDROMREADTOCENTRY; 302 extern unsigned IOCTL_CDROMREADTOCHDR; 303 extern unsigned IOCTL_CDROMRESET; 304 extern unsigned IOCTL_CDROMRESUME; 305 extern unsigned IOCTL_CDROMSEEK; 306 extern unsigned IOCTL_CDROMSTART; 307 extern unsigned IOCTL_CDROMSTOP; 308 extern unsigned IOCTL_CDROMSUBCHNL; 309 extern unsigned IOCTL_CDROMVOLCTRL; 310 extern unsigned IOCTL_CDROMVOLREAD; 311 extern unsigned IOCTL_CDROM_GET_UPC; 312 extern unsigned IOCTL_FDCLRPRM; 313 extern unsigned IOCTL_FDDEFPRM; 314 extern unsigned IOCTL_FDFLUSH; 315 extern unsigned IOCTL_FDFMTBEG; 316 extern unsigned IOCTL_FDFMTEND; 317 extern unsigned IOCTL_FDFMTTRK; 318 extern unsigned IOCTL_FDGETDRVPRM; 319 extern unsigned IOCTL_FDGETDRVSTAT; 320 extern unsigned IOCTL_FDGETDRVTYP; 321 extern unsigned IOCTL_FDGETFDCSTAT; 322 extern unsigned IOCTL_FDGETMAXERRS; 323 extern unsigned IOCTL_FDGETPRM; 324 extern unsigned IOCTL_FDMSGOFF; 325 extern unsigned IOCTL_FDMSGON; 326 extern unsigned IOCTL_FDPOLLDRVSTAT; 327 extern unsigned IOCTL_FDRAWCMD; 328 extern unsigned IOCTL_FDRESET; 329 extern unsigned IOCTL_FDSETDRVPRM; 330 extern unsigned IOCTL_FDSETEMSGTRESH; 331 extern unsigned IOCTL_FDSETMAXERRS; 332 extern unsigned IOCTL_FDSETPRM; 333 extern unsigned IOCTL_FDTWADDLE; 334 extern unsigned IOCTL_FDWERRORCLR; 335 extern unsigned IOCTL_FDWERRORGET; 336 extern unsigned IOCTL_HDIO_DRIVE_CMD; 337 extern unsigned IOCTL_HDIO_GETGEO; 338 extern unsigned IOCTL_HDIO_GET_32BIT; 339 extern unsigned IOCTL_HDIO_GET_DMA; 340 extern unsigned IOCTL_HDIO_GET_IDENTITY; 341 extern unsigned IOCTL_HDIO_GET_KEEPSETTINGS; 342 extern unsigned IOCTL_HDIO_GET_MULTCOUNT; 343 extern unsigned IOCTL_HDIO_GET_NOWERR; 344 extern unsigned IOCTL_HDIO_GET_UNMASKINTR; 345 extern unsigned IOCTL_HDIO_SET_32BIT; 346 extern unsigned IOCTL_HDIO_SET_DMA; 347 extern unsigned IOCTL_HDIO_SET_KEEPSETTINGS; 348 extern unsigned IOCTL_HDIO_SET_MULTCOUNT; 349 extern unsigned IOCTL_HDIO_SET_NOWERR; 350 extern unsigned IOCTL_HDIO_SET_UNMASKINTR; 351 extern unsigned IOCTL_MTIOCGET; 352 extern unsigned IOCTL_MTIOCPOS; 353 extern unsigned IOCTL_MTIOCTOP; 354 extern unsigned IOCTL_PPPIOCGASYNCMAP; 355 extern unsigned IOCTL_PPPIOCGDEBUG; 356 extern unsigned IOCTL_PPPIOCGFLAGS; 357 extern unsigned IOCTL_PPPIOCGUNIT; 358 extern unsigned IOCTL_PPPIOCGXASYNCMAP; 359 extern unsigned IOCTL_PPPIOCSASYNCMAP; 360 extern unsigned IOCTL_PPPIOCSDEBUG; 361 extern unsigned IOCTL_PPPIOCSFLAGS; 362 extern unsigned IOCTL_PPPIOCSMAXCID; 363 extern unsigned IOCTL_PPPIOCSMRU; 364 extern unsigned IOCTL_PPPIOCSXASYNCMAP; 365 extern unsigned IOCTL_SIOCADDRT; 366 extern unsigned IOCTL_SIOCDARP; 367 extern unsigned IOCTL_SIOCDELRT; 368 extern unsigned IOCTL_SIOCDRARP; 369 extern unsigned IOCTL_SIOCGARP; 370 extern unsigned IOCTL_SIOCGIFENCAP; 371 extern unsigned IOCTL_SIOCGIFHWADDR; 372 extern unsigned IOCTL_SIOCGIFMAP; 373 extern unsigned IOCTL_SIOCGIFMEM; 374 extern unsigned IOCTL_SIOCGIFNAME; 375 extern unsigned IOCTL_SIOCGIFSLAVE; 376 extern unsigned IOCTL_SIOCGRARP; 377 extern unsigned IOCTL_SIOCGSTAMP; 378 extern unsigned IOCTL_SIOCSARP; 379 extern unsigned IOCTL_SIOCSIFENCAP; 380 extern unsigned IOCTL_SIOCSIFHWADDR; 381 extern unsigned IOCTL_SIOCSIFLINK; 382 extern unsigned IOCTL_SIOCSIFMAP; 383 extern unsigned IOCTL_SIOCSIFMEM; 384 extern unsigned IOCTL_SIOCSIFSLAVE; 385 extern unsigned IOCTL_SIOCSRARP; 386 extern unsigned IOCTL_SNDCTL_COPR_HALT; 387 extern unsigned IOCTL_SNDCTL_COPR_LOAD; 388 extern unsigned IOCTL_SNDCTL_COPR_RCODE; 389 extern unsigned IOCTL_SNDCTL_COPR_RCVMSG; 390 extern unsigned IOCTL_SNDCTL_COPR_RDATA; 391 extern unsigned IOCTL_SNDCTL_COPR_RESET; 392 extern unsigned IOCTL_SNDCTL_COPR_RUN; 393 extern unsigned IOCTL_SNDCTL_COPR_SENDMSG; 394 extern unsigned IOCTL_SNDCTL_COPR_WCODE; 395 extern unsigned IOCTL_SNDCTL_COPR_WDATA; 396 extern unsigned IOCTL_SNDCTL_DSP_GETBLKSIZE; 397 extern unsigned IOCTL_SNDCTL_DSP_GETFMTS; 398 extern unsigned IOCTL_SNDCTL_DSP_NONBLOCK; 399 extern unsigned IOCTL_SNDCTL_DSP_POST; 400 extern unsigned IOCTL_SNDCTL_DSP_RESET; 401 extern unsigned IOCTL_SNDCTL_DSP_SETFMT; 402 extern unsigned IOCTL_SNDCTL_DSP_SETFRAGMENT; 403 extern unsigned IOCTL_SNDCTL_DSP_SPEED; 404 extern unsigned IOCTL_SNDCTL_DSP_STEREO; 405 extern unsigned IOCTL_SNDCTL_DSP_SUBDIVIDE; 406 extern unsigned IOCTL_SNDCTL_DSP_SYNC; 407 extern unsigned IOCTL_SNDCTL_FM_4OP_ENABLE; 408 extern unsigned IOCTL_SNDCTL_FM_LOAD_INSTR; 409 extern unsigned IOCTL_SNDCTL_MIDI_INFO; 410 extern unsigned IOCTL_SNDCTL_MIDI_MPUMODE; 411 extern unsigned IOCTL_SNDCTL_MIDI_PRETIME; 412 extern unsigned IOCTL_SNDCTL_SEQ_CTRLRATE; 413 extern unsigned IOCTL_SNDCTL_SEQ_GETINCOUNT; 414 extern unsigned IOCTL_SNDCTL_SEQ_GETOUTCOUNT; 415 extern unsigned IOCTL_SNDCTL_SEQ_NRMIDIS; 416 extern unsigned IOCTL_SNDCTL_SEQ_NRSYNTHS; 417 extern unsigned IOCTL_SNDCTL_SEQ_OUTOFBAND; 418 extern unsigned IOCTL_SNDCTL_SEQ_PANIC; 419 extern unsigned IOCTL_SNDCTL_SEQ_PERCMODE; 420 extern unsigned IOCTL_SNDCTL_SEQ_RESET; 421 extern unsigned IOCTL_SNDCTL_SEQ_RESETSAMPLES; 422 extern unsigned IOCTL_SNDCTL_SEQ_SYNC; 423 extern unsigned IOCTL_SNDCTL_SEQ_TESTMIDI; 424 extern unsigned IOCTL_SNDCTL_SEQ_THRESHOLD; 425 extern unsigned IOCTL_SNDCTL_SYNTH_INFO; 426 extern unsigned IOCTL_SNDCTL_SYNTH_MEMAVL; 427 extern unsigned IOCTL_SNDCTL_TMR_CONTINUE; 428 extern unsigned IOCTL_SNDCTL_TMR_METRONOME; 429 extern unsigned IOCTL_SNDCTL_TMR_SELECT; 430 extern unsigned IOCTL_SNDCTL_TMR_SOURCE; 431 extern unsigned IOCTL_SNDCTL_TMR_START; 432 extern unsigned IOCTL_SNDCTL_TMR_STOP; 433 extern unsigned IOCTL_SNDCTL_TMR_TEMPO; 434 extern unsigned IOCTL_SNDCTL_TMR_TIMEBASE; 435 extern unsigned IOCTL_SOUND_MIXER_READ_ALTPCM; 436 extern unsigned IOCTL_SOUND_MIXER_READ_BASS; 437 extern unsigned IOCTL_SOUND_MIXER_READ_CAPS; 438 extern unsigned IOCTL_SOUND_MIXER_READ_CD; 439 extern unsigned IOCTL_SOUND_MIXER_READ_DEVMASK; 440 extern unsigned IOCTL_SOUND_MIXER_READ_ENHANCE; 441 extern unsigned IOCTL_SOUND_MIXER_READ_IGAIN; 442 extern unsigned IOCTL_SOUND_MIXER_READ_IMIX; 443 extern unsigned IOCTL_SOUND_MIXER_READ_LINE1; 444 extern unsigned IOCTL_SOUND_MIXER_READ_LINE2; 445 extern unsigned IOCTL_SOUND_MIXER_READ_LINE3; 446 extern unsigned IOCTL_SOUND_MIXER_READ_LINE; 447 extern unsigned IOCTL_SOUND_MIXER_READ_LOUD; 448 extern unsigned IOCTL_SOUND_MIXER_READ_MIC; 449 extern unsigned IOCTL_SOUND_MIXER_READ_MUTE; 450 extern unsigned IOCTL_SOUND_MIXER_READ_OGAIN; 451 extern unsigned IOCTL_SOUND_MIXER_READ_PCM; 452 extern unsigned IOCTL_SOUND_MIXER_READ_RECLEV; 453 extern unsigned IOCTL_SOUND_MIXER_READ_RECMASK; 454 extern unsigned IOCTL_SOUND_MIXER_READ_RECSRC; 455 extern unsigned IOCTL_SOUND_MIXER_READ_SPEAKER; 456 extern unsigned IOCTL_SOUND_MIXER_READ_STEREODEVS; 457 extern unsigned IOCTL_SOUND_MIXER_READ_SYNTH; 458 extern unsigned IOCTL_SOUND_MIXER_READ_TREBLE; 459 extern unsigned IOCTL_SOUND_MIXER_READ_VOLUME; 460 extern unsigned IOCTL_SOUND_MIXER_WRITE_ALTPCM; 461 extern unsigned IOCTL_SOUND_MIXER_WRITE_BASS; 462 extern unsigned IOCTL_SOUND_MIXER_WRITE_CD; 463 extern unsigned IOCTL_SOUND_MIXER_WRITE_ENHANCE; 464 extern unsigned IOCTL_SOUND_MIXER_WRITE_IGAIN; 465 extern unsigned IOCTL_SOUND_MIXER_WRITE_IMIX; 466 extern unsigned IOCTL_SOUND_MIXER_WRITE_LINE1; 467 extern unsigned IOCTL_SOUND_MIXER_WRITE_LINE2; 468 extern unsigned IOCTL_SOUND_MIXER_WRITE_LINE3; 469 extern unsigned IOCTL_SOUND_MIXER_WRITE_LINE; 470 extern unsigned IOCTL_SOUND_MIXER_WRITE_LOUD; 471 extern unsigned IOCTL_SOUND_MIXER_WRITE_MIC; 472 extern unsigned IOCTL_SOUND_MIXER_WRITE_MUTE; 473 extern unsigned IOCTL_SOUND_MIXER_WRITE_OGAIN; 474 extern unsigned IOCTL_SOUND_MIXER_WRITE_PCM; 475 extern unsigned IOCTL_SOUND_MIXER_WRITE_RECLEV; 476 extern unsigned IOCTL_SOUND_MIXER_WRITE_RECSRC; 477 extern unsigned IOCTL_SOUND_MIXER_WRITE_SPEAKER; 478 extern unsigned IOCTL_SOUND_MIXER_WRITE_SYNTH; 479 extern unsigned IOCTL_SOUND_MIXER_WRITE_TREBLE; 480 extern unsigned IOCTL_SOUND_MIXER_WRITE_VOLUME; 481 extern unsigned IOCTL_SOUND_PCM_READ_BITS; 482 extern unsigned IOCTL_SOUND_PCM_READ_CHANNELS; 483 extern unsigned IOCTL_SOUND_PCM_READ_FILTER; 484 extern unsigned IOCTL_SOUND_PCM_READ_RATE; 485 extern unsigned IOCTL_SOUND_PCM_WRITE_CHANNELS; 486 extern unsigned IOCTL_SOUND_PCM_WRITE_FILTER; 487 extern unsigned IOCTL_TCFLSH; 488 extern unsigned IOCTL_TCGETA; 489 extern unsigned IOCTL_TCGETS; 490 extern unsigned IOCTL_TCSBRK; 491 extern unsigned IOCTL_TCSBRKP; 492 extern unsigned IOCTL_TCSETA; 493 extern unsigned IOCTL_TCSETAF; 494 extern unsigned IOCTL_TCSETAW; 495 extern unsigned IOCTL_TCSETS; 496 extern unsigned IOCTL_TCSETSF; 497 extern unsigned IOCTL_TCSETSW; 498 extern unsigned IOCTL_TCXONC; 499 extern unsigned IOCTL_TIOCGLCKTRMIOS; 500 extern unsigned IOCTL_TIOCGSOFTCAR; 501 extern unsigned IOCTL_TIOCINQ; 502 extern unsigned IOCTL_TIOCLINUX; 503 extern unsigned IOCTL_TIOCSERCONFIG; 504 extern unsigned IOCTL_TIOCSERGETLSR; 505 extern unsigned IOCTL_TIOCSERGWILD; 506 extern unsigned IOCTL_TIOCSERSWILD; 507 extern unsigned IOCTL_TIOCSLCKTRMIOS; 508 extern unsigned IOCTL_TIOCSSOFTCAR; 509 extern unsigned IOCTL_VT_ACTIVATE; 510 extern unsigned IOCTL_VT_DISALLOCATE; 511 extern unsigned IOCTL_VT_GETMODE; 512 extern unsigned IOCTL_VT_GETSTATE; 513 extern unsigned IOCTL_VT_OPENQRY; 514 extern unsigned IOCTL_VT_RELDISP; 515 extern unsigned IOCTL_VT_RESIZE; 516 extern unsigned IOCTL_VT_RESIZEX; 517 extern unsigned IOCTL_VT_SENDSIG; 518 extern unsigned IOCTL_VT_SETMODE; 519 extern unsigned IOCTL_VT_WAITACTIVE; 520#endif 521#if SANITIZER_LINUX && !SANITIZER_ANDROID 522 extern unsigned IOCTL_CYGETDEFTHRESH; 523 extern unsigned IOCTL_CYGETDEFTIMEOUT; 524 extern unsigned IOCTL_CYGETMON; 525 extern unsigned IOCTL_CYGETTHRESH; 526 extern unsigned IOCTL_CYGETTIMEOUT; 527 extern unsigned IOCTL_CYSETDEFTHRESH; 528 extern unsigned IOCTL_CYSETDEFTIMEOUT; 529 extern unsigned IOCTL_CYSETTHRESH; 530 extern unsigned IOCTL_CYSETTIMEOUT; 531 extern unsigned IOCTL_EQL_EMANCIPATE; 532 extern unsigned IOCTL_EQL_ENSLAVE; 533 extern unsigned IOCTL_EQL_GETMASTRCFG; 534 extern unsigned IOCTL_EQL_GETSLAVECFG; 535 extern unsigned IOCTL_EQL_SETMASTRCFG; 536 extern unsigned IOCTL_EQL_SETSLAVECFG; 537 extern unsigned IOCTL_FS_IOC_GETFLAGS; 538 extern unsigned IOCTL_FS_IOC_GETVERSION; 539 extern unsigned IOCTL_FS_IOC_SETFLAGS; 540 extern unsigned IOCTL_FS_IOC_SETVERSION; 541 extern unsigned IOCTL_GIO_CMAP; 542 extern unsigned IOCTL_GIO_FONT; 543 extern unsigned IOCTL_GIO_SCRNMAP; 544 extern unsigned IOCTL_GIO_UNIMAP; 545 extern unsigned IOCTL_GIO_UNISCRNMAP; 546 extern unsigned IOCTL_KDADDIO; 547 extern unsigned IOCTL_KDDELIO; 548 extern unsigned IOCTL_KDDISABIO; 549 extern unsigned IOCTL_KDENABIO; 550 extern unsigned IOCTL_KDGETKEYCODE; 551 extern unsigned IOCTL_KDGETLED; 552 extern unsigned IOCTL_KDGETMODE; 553 extern unsigned IOCTL_KDGKBDIACR; 554 extern unsigned IOCTL_KDGKBENT; 555 extern unsigned IOCTL_KDGKBLED; 556 extern unsigned IOCTL_KDGKBMETA; 557 extern unsigned IOCTL_KDGKBMODE; 558 extern unsigned IOCTL_KDGKBSENT; 559 extern unsigned IOCTL_KDGKBTYPE; 560 extern unsigned IOCTL_KDMAPDISP; 561 extern unsigned IOCTL_KDMKTONE; 562 extern unsigned IOCTL_KDSETKEYCODE; 563 extern unsigned IOCTL_KDSETLED; 564 extern unsigned IOCTL_KDSETMODE; 565 extern unsigned IOCTL_KDSIGACCEPT; 566 extern unsigned IOCTL_KDSKBDIACR; 567 extern unsigned IOCTL_KDSKBENT; 568 extern unsigned IOCTL_KDSKBLED; 569 extern unsigned IOCTL_KDSKBMETA; 570 extern unsigned IOCTL_KDSKBMODE; 571 extern unsigned IOCTL_KDSKBSENT; 572 extern unsigned IOCTL_KDUNMAPDISP; 573 extern unsigned IOCTL_KIOCSOUND; 574 extern unsigned IOCTL_LPABORT; 575 extern unsigned IOCTL_LPABORTOPEN; 576 extern unsigned IOCTL_LPCAREFUL; 577 extern unsigned IOCTL_LPCHAR; 578 extern unsigned IOCTL_LPGETIRQ; 579 extern unsigned IOCTL_LPGETSTATUS; 580 extern unsigned IOCTL_LPRESET; 581 extern unsigned IOCTL_LPSETIRQ; 582 extern unsigned IOCTL_LPTIME; 583 extern unsigned IOCTL_LPWAIT; 584 extern unsigned IOCTL_MTIOCGETCONFIG; 585 extern unsigned IOCTL_MTIOCSETCONFIG; 586 extern unsigned IOCTL_PIO_CMAP; 587 extern unsigned IOCTL_PIO_FONT; 588 extern unsigned IOCTL_PIO_SCRNMAP; 589 extern unsigned IOCTL_PIO_UNIMAP; 590 extern unsigned IOCTL_PIO_UNIMAPCLR; 591 extern unsigned IOCTL_PIO_UNISCRNMAP; 592 extern unsigned IOCTL_SCSI_IOCTL_GET_IDLUN; 593 extern unsigned IOCTL_SCSI_IOCTL_PROBE_HOST; 594 extern unsigned IOCTL_SCSI_IOCTL_TAGGED_DISABLE; 595 extern unsigned IOCTL_SCSI_IOCTL_TAGGED_ENABLE; 596 extern unsigned IOCTL_SIOCAIPXITFCRT; 597 extern unsigned IOCTL_SIOCAIPXPRISLT; 598 extern unsigned IOCTL_SIOCAX25ADDUID; 599 extern unsigned IOCTL_SIOCAX25DELUID; 600 extern unsigned IOCTL_SIOCAX25GETPARMS; 601 extern unsigned IOCTL_SIOCAX25GETUID; 602 extern unsigned IOCTL_SIOCAX25NOUID; 603 extern unsigned IOCTL_SIOCAX25SETPARMS; 604 extern unsigned IOCTL_SIOCDEVPLIP; 605 extern unsigned IOCTL_SIOCIPXCFGDATA; 606 extern unsigned IOCTL_SIOCNRDECOBS; 607 extern unsigned IOCTL_SIOCNRGETPARMS; 608 extern unsigned IOCTL_SIOCNRRTCTL; 609 extern unsigned IOCTL_SIOCNRSETPARMS; 610 extern unsigned IOCTL_SNDCTL_DSP_GETISPACE; 611 extern unsigned IOCTL_SNDCTL_DSP_GETOSPACE; 612 extern unsigned IOCTL_TIOCGSERIAL; 613 extern unsigned IOCTL_TIOCSERGETMULTI; 614 extern unsigned IOCTL_TIOCSERSETMULTI; 615 extern unsigned IOCTL_TIOCSSERIAL; 616#endif 617} // namespace __sanitizer 618 619#endif 620 621