sanitizer_platform_limits_posix.h revision e6e564d232f95719277476308937856328c63682
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 extern unsigned mbstate_t_sz; 36 extern unsigned sigset_t_sz; 37 38#if !SANITIZER_ANDROID 39 extern unsigned ucontext_t_sz; 40#endif // !SANITIZER_ANDROID 41 42#if SANITIZER_LINUX 43 extern unsigned struct_rlimit_sz; 44 extern unsigned struct_statfs_sz; 45 extern unsigned struct_epoll_event_sz; 46 extern unsigned struct_sysinfo_sz; 47 extern unsigned struct_timespec_sz; 48#endif // SANITIZER_LINUX 49 50#if SANITIZER_LINUX && !SANITIZER_ANDROID 51 extern unsigned struct_rlimit64_sz; 52 extern unsigned struct_statfs64_sz; 53#endif // SANITIZER_LINUX && !SANITIZER_ANDROID 54 55 struct __sanitizer_iovec { 56 void *iov_base; 57 uptr iov_len; 58 }; 59 60#if SANITIZER_MAC 61 typedef unsigned long __sanitizer_pthread_key_t; 62#else 63 typedef unsigned __sanitizer_pthread_key_t; 64#endif 65 66#if SANITIZER_ANDROID || SANITIZER_MAC 67 struct __sanitizer_msghdr { 68 void *msg_name; 69 unsigned msg_namelen; 70 struct __sanitizer_iovec *msg_iov; 71 unsigned msg_iovlen; 72 void *msg_control; 73 unsigned msg_controllen; 74 int msg_flags; 75 }; 76 struct __sanitizer_cmsghdr { 77 unsigned cmsg_len; 78 int cmsg_level; 79 int cmsg_type; 80 }; 81#else 82 struct __sanitizer_msghdr { 83 void *msg_name; 84 unsigned msg_namelen; 85 struct __sanitizer_iovec *msg_iov; 86 uptr msg_iovlen; 87 void *msg_control; 88 uptr msg_controllen; 89 int msg_flags; 90 }; 91 struct __sanitizer_cmsghdr { 92 uptr cmsg_len; 93 int cmsg_level; 94 int cmsg_type; 95 }; 96#endif 97 98#if SANITIZER_MAC 99 struct __sanitizer_dirent { 100 unsigned long long d_ino; 101 unsigned long long d_seekoff; 102 unsigned short d_reclen; 103 // more fields that we don't care about 104 }; 105#elif SANITIZER_ANDROID 106 struct __sanitizer_dirent { 107 unsigned long long d_ino; 108 unsigned long long d_off; 109 unsigned short d_reclen; 110 // more fields that we don't care about 111 }; 112#else 113 struct __sanitizer_dirent { 114 uptr d_ino; 115 uptr d_off; 116 unsigned short d_reclen; 117 // more fields that we don't care about 118 }; 119#endif 120 121#if SANITIZER_LINUX && !SANITIZER_ANDROID 122 struct __sanitizer_dirent64 { 123 unsigned long long d_ino; 124 unsigned long long d_off; 125 unsigned short d_reclen; 126 // more fields that we don't care about 127 }; 128#endif 129 130 // This thing depends on the platform. We are only interested in the upper 131 // limit. Verified with a compiler assert in .cc. 132 const int pthread_attr_t_max_sz = 128; 133 union __sanitizer_pthread_attr_t { 134 char size[pthread_attr_t_max_sz]; // NOLINT 135 void *align; 136 }; 137 138 uptr __sanitizer_get_sigaction_sa_sigaction(void *act); 139 void __sanitizer_set_sigaction_sa_sigaction(void *act, uptr cb); 140 bool __sanitizer_get_sigaction_sa_siginfo(void *act); 141 142 const unsigned struct_sigaction_max_sz = 256; 143 union __sanitizer_sigaction { 144 char size[struct_sigaction_max_sz]; // NOLINT 145 }; 146 147 extern uptr sig_ign; 148 extern uptr sig_dfl; 149 150#if SANITIZER_LINUX 151 extern int e_tabsz; 152#endif 153 154 extern int af_inet; 155 extern int af_inet6; 156 uptr __sanitizer_in_addr_sz(int af); 157 158#if SANITIZER_LINUX 159 struct __sanitizer_dl_phdr_info { 160 uptr dlpi_addr; 161 const char *dlpi_name; 162 const void *dlpi_phdr; 163 short dlpi_phnum; 164 }; 165#endif 166 167 struct __sanitizer_addrinfo { 168 int ai_flags; 169 int ai_family; 170 int ai_socktype; 171 int ai_protocol; 172#if SANITIZER_ANDROID || SANITIZER_MAC 173 unsigned ai_addrlen; 174 char *ai_canonname; 175 void *ai_addr; 176#else // LINUX 177 unsigned ai_addrlen; 178 void *ai_addr; 179 char *ai_canonname; 180#endif 181 struct __sanitizer_addrinfo *ai_next; 182 }; 183 184 struct __sanitizer_hostent { 185 char *h_name; 186 char **h_aliases; 187 int h_addrtype; 188 int h_length; 189 char **h_addr_list; 190 }; 191 192 struct __sanitizer_pollfd { 193 int fd; 194 short events; 195 short revents; 196 }; 197 198#if SANITIZER_ANDROID || SANITIZER_MAC 199 typedef unsigned __sanitizer_nfds_t; 200#else 201 typedef unsigned long __sanitizer_nfds_t; 202#endif 203 204#if SANITIZER_LINUX && !SANITIZER_ANDROID 205 struct __sanitizer_glob_t { 206 uptr gl_pathc; 207 char **gl_pathv; 208 uptr gl_offs; 209 int gl_flags; 210 211 void (*gl_closedir)(void *dirp); 212 void *(*gl_readdir)(void *dirp); 213 void *(*gl_opendir)(const char *); 214 int (*gl_lstat)(const char *, void *); 215 int (*gl_stat)(const char *, void *); 216 }; 217 218 extern int glob_nomatch; 219 extern int glob_altdirfunc; 220#endif 221 222 extern unsigned path_max; 223 224#if SANITIZER_LINUX && !SANITIZER_ANDROID && \ 225 (defined(__i386) || defined (__x86_64)) // NOLINT 226 extern unsigned struct_user_regs_struct_sz; 227 extern unsigned struct_user_fpregs_struct_sz; 228 extern unsigned struct_user_fpxregs_struct_sz; 229 230 extern int ptrace_getregs; 231 extern int ptrace_setregs; 232 extern int ptrace_getfpregs; 233 extern int ptrace_setfpregs; 234 extern int ptrace_getfpxregs; 235 extern int ptrace_setfpxregs; 236 extern int ptrace_getsiginfo; 237 extern int ptrace_setsiginfo; 238 extern int ptrace_getregset; 239 extern int ptrace_setregset; 240#endif 241 242 // ioctl arguments 243 struct __sanitizer_ifconf { 244 int ifc_len; 245 union { 246 void *ifcu_req; 247 } ifc_ifcu; 248#if SANITIZER_MAC 249 } __attribute__((packed)); 250#else 251 }; 252#endif 253 254#define IOC_SIZE(nr) (((nr) >> 16) & 0x3fff) 255 256 extern unsigned struct_arpreq_sz; 257 extern unsigned struct_ifreq_sz; 258 extern unsigned struct_termios_sz; 259 extern unsigned struct_winsize_sz; 260 261#if SANITIZER_LINUX 262 extern unsigned struct_cdrom_msf_sz; 263 extern unsigned struct_cdrom_multisession_sz; 264 extern unsigned struct_cdrom_read_audio_sz; 265 extern unsigned struct_cdrom_subchnl_sz; 266 extern unsigned struct_cdrom_ti_sz; 267 extern unsigned struct_cdrom_tocentry_sz; 268 extern unsigned struct_cdrom_tochdr_sz; 269 extern unsigned struct_cdrom_volctrl_sz; 270 extern unsigned struct_copr_buffer_sz; 271 extern unsigned struct_copr_debug_buf_sz; 272 extern unsigned struct_copr_msg_sz; 273 extern unsigned struct_ff_effect_sz; 274 extern unsigned struct_floppy_drive_params_sz; 275 extern unsigned struct_floppy_drive_struct_sz; 276 extern unsigned struct_floppy_fdc_state_sz; 277 extern unsigned struct_floppy_max_errors_sz; 278 extern unsigned struct_floppy_raw_cmd_sz; 279 extern unsigned struct_floppy_struct_sz; 280 extern unsigned struct_floppy_write_errors_sz; 281 extern unsigned struct_format_descr_sz; 282 extern unsigned struct_hd_driveid_sz; 283 extern unsigned struct_hd_geometry_sz; 284 extern unsigned struct_input_absinfo_sz; 285 extern unsigned struct_input_id_sz; 286 extern unsigned struct_midi_info_sz; 287 extern unsigned struct_mtget_sz; 288 extern unsigned struct_mtop_sz; 289 extern unsigned struct_mtpos_sz; 290 extern unsigned struct_rtentry_sz; 291 extern unsigned struct_sbi_instrument_sz; 292 extern unsigned struct_seq_event_rec_sz; 293 extern unsigned struct_synth_info_sz; 294 extern unsigned struct_termio_sz; 295 extern unsigned struct_vt_consize_sz; 296 extern unsigned struct_vt_mode_sz; 297 extern unsigned struct_vt_sizes_sz; 298 extern unsigned struct_vt_stat_sz; 299#endif 300 301#if SANITIZER_LINUX && !SANITIZER_ANDROID 302 extern unsigned struct_audio_buf_info_sz; 303 extern unsigned struct_ax25_parms_struct_sz; 304 extern unsigned struct_cyclades_monitor_sz; 305 extern unsigned struct_input_keymap_entry_sz; 306 extern unsigned struct_ipx_config_data_sz; 307 extern unsigned struct_kbdiacrs_sz; 308 extern unsigned struct_kbentry_sz; 309 extern unsigned struct_kbkeycode_sz; 310 extern unsigned struct_kbsentry_sz; 311 extern unsigned struct_mtconfiginfo_sz; 312 extern unsigned struct_nr_parms_struct_sz; 313 extern unsigned struct_ppp_stats_sz; 314 extern unsigned struct_scc_modem_sz; 315 extern unsigned struct_scc_stat_sz; 316 extern unsigned struct_serial_multiport_struct_sz; 317 extern unsigned struct_serial_struct_sz; 318 extern unsigned struct_sockaddr_ax25_sz; 319 extern unsigned struct_unimapdesc_sz; 320 extern unsigned struct_unimapinit_sz; 321#endif 322 323#if !SANITIZER_ANDROID 324 extern unsigned struct_sioc_sg_req_sz; 325 extern unsigned struct_sioc_vif_req_sz; 326#endif 327 328 // ioctl request identifiers 329 330 // A special value to mark ioctls that are not present on the target platform, 331 // when it can not be determined without including any system headers. 332 extern unsigned IOCTL_NOT_PRESENT; 333 334 extern unsigned IOCTL_FIOASYNC; 335 extern unsigned IOCTL_FIOCLEX; 336 extern unsigned IOCTL_FIOGETOWN; 337 extern unsigned IOCTL_FIONBIO; 338 extern unsigned IOCTL_FIONCLEX; 339 extern unsigned IOCTL_FIOSETOWN; 340 extern unsigned IOCTL_SIOCADDMULTI; 341 extern unsigned IOCTL_SIOCATMARK; 342 extern unsigned IOCTL_SIOCDELMULTI; 343 extern unsigned IOCTL_SIOCGIFADDR; 344 extern unsigned IOCTL_SIOCGIFBRDADDR; 345 extern unsigned IOCTL_SIOCGIFCONF; 346 extern unsigned IOCTL_SIOCGIFDSTADDR; 347 extern unsigned IOCTL_SIOCGIFFLAGS; 348 extern unsigned IOCTL_SIOCGIFMETRIC; 349 extern unsigned IOCTL_SIOCGIFMTU; 350 extern unsigned IOCTL_SIOCGIFNETMASK; 351 extern unsigned IOCTL_SIOCGPGRP; 352 extern unsigned IOCTL_SIOCSIFADDR; 353 extern unsigned IOCTL_SIOCSIFBRDADDR; 354 extern unsigned IOCTL_SIOCSIFDSTADDR; 355 extern unsigned IOCTL_SIOCSIFFLAGS; 356 extern unsigned IOCTL_SIOCSIFMETRIC; 357 extern unsigned IOCTL_SIOCSIFMTU; 358 extern unsigned IOCTL_SIOCSIFNETMASK; 359 extern unsigned IOCTL_SIOCSPGRP; 360 extern unsigned IOCTL_TIOCCONS; 361 extern unsigned IOCTL_TIOCEXCL; 362 extern unsigned IOCTL_TIOCGETD; 363 extern unsigned IOCTL_TIOCGPGRP; 364 extern unsigned IOCTL_TIOCGWINSZ; 365 extern unsigned IOCTL_TIOCMBIC; 366 extern unsigned IOCTL_TIOCMBIS; 367 extern unsigned IOCTL_TIOCMGET; 368 extern unsigned IOCTL_TIOCMSET; 369 extern unsigned IOCTL_TIOCNOTTY; 370 extern unsigned IOCTL_TIOCNXCL; 371 extern unsigned IOCTL_TIOCOUTQ; 372 extern unsigned IOCTL_TIOCPKT; 373 extern unsigned IOCTL_TIOCSCTTY; 374 extern unsigned IOCTL_TIOCSETD; 375 extern unsigned IOCTL_TIOCSPGRP; 376 extern unsigned IOCTL_TIOCSTI; 377 extern unsigned IOCTL_TIOCSWINSZ; 378#if (SANITIZER_LINUX && !SANITIZER_ANDROID) || SANITIZER_MAC 379 extern unsigned IOCTL_SIOCGETSGCNT; 380 extern unsigned IOCTL_SIOCGETVIFCNT; 381#endif 382#if SANITIZER_LINUX 383 extern unsigned IOCTL_EVIOCGABS; 384 extern unsigned IOCTL_EVIOCGBIT; 385 extern unsigned IOCTL_EVIOCGEFFECTS; 386 extern unsigned IOCTL_EVIOCGID; 387 extern unsigned IOCTL_EVIOCGKEY; 388 extern unsigned IOCTL_EVIOCGKEYCODE; 389 extern unsigned IOCTL_EVIOCGLED; 390 extern unsigned IOCTL_EVIOCGNAME; 391 extern unsigned IOCTL_EVIOCGPHYS; 392 extern unsigned IOCTL_EVIOCGRAB; 393 extern unsigned IOCTL_EVIOCGREP; 394 extern unsigned IOCTL_EVIOCGSND; 395 extern unsigned IOCTL_EVIOCGSW; 396 extern unsigned IOCTL_EVIOCGUNIQ; 397 extern unsigned IOCTL_EVIOCGVERSION; 398 extern unsigned IOCTL_EVIOCRMFF; 399 extern unsigned IOCTL_EVIOCSABS; 400 extern unsigned IOCTL_EVIOCSFF; 401 extern unsigned IOCTL_EVIOCSKEYCODE; 402 extern unsigned IOCTL_EVIOCSREP; 403 extern unsigned IOCTL_BLKFLSBUF; 404 extern unsigned IOCTL_BLKGETSIZE; 405 extern unsigned IOCTL_BLKRAGET; 406 extern unsigned IOCTL_BLKRASET; 407 extern unsigned IOCTL_BLKROGET; 408 extern unsigned IOCTL_BLKROSET; 409 extern unsigned IOCTL_BLKRRPART; 410 extern unsigned IOCTL_CDROMAUDIOBUFSIZ; 411 extern unsigned IOCTL_CDROMEJECT; 412 extern unsigned IOCTL_CDROMEJECT_SW; 413 extern unsigned IOCTL_CDROMMULTISESSION; 414 extern unsigned IOCTL_CDROMPAUSE; 415 extern unsigned IOCTL_CDROMPLAYMSF; 416 extern unsigned IOCTL_CDROMPLAYTRKIND; 417 extern unsigned IOCTL_CDROMREADAUDIO; 418 extern unsigned IOCTL_CDROMREADCOOKED; 419 extern unsigned IOCTL_CDROMREADMODE1; 420 extern unsigned IOCTL_CDROMREADMODE2; 421 extern unsigned IOCTL_CDROMREADRAW; 422 extern unsigned IOCTL_CDROMREADTOCENTRY; 423 extern unsigned IOCTL_CDROMREADTOCHDR; 424 extern unsigned IOCTL_CDROMRESET; 425 extern unsigned IOCTL_CDROMRESUME; 426 extern unsigned IOCTL_CDROMSEEK; 427 extern unsigned IOCTL_CDROMSTART; 428 extern unsigned IOCTL_CDROMSTOP; 429 extern unsigned IOCTL_CDROMSUBCHNL; 430 extern unsigned IOCTL_CDROMVOLCTRL; 431 extern unsigned IOCTL_CDROMVOLREAD; 432 extern unsigned IOCTL_CDROM_GET_UPC; 433 extern unsigned IOCTL_FDCLRPRM; 434 extern unsigned IOCTL_FDDEFPRM; 435 extern unsigned IOCTL_FDFLUSH; 436 extern unsigned IOCTL_FDFMTBEG; 437 extern unsigned IOCTL_FDFMTEND; 438 extern unsigned IOCTL_FDFMTTRK; 439 extern unsigned IOCTL_FDGETDRVPRM; 440 extern unsigned IOCTL_FDGETDRVSTAT; 441 extern unsigned IOCTL_FDGETDRVTYP; 442 extern unsigned IOCTL_FDGETFDCSTAT; 443 extern unsigned IOCTL_FDGETMAXERRS; 444 extern unsigned IOCTL_FDGETPRM; 445 extern unsigned IOCTL_FDMSGOFF; 446 extern unsigned IOCTL_FDMSGON; 447 extern unsigned IOCTL_FDPOLLDRVSTAT; 448 extern unsigned IOCTL_FDRAWCMD; 449 extern unsigned IOCTL_FDRESET; 450 extern unsigned IOCTL_FDSETDRVPRM; 451 extern unsigned IOCTL_FDSETEMSGTRESH; 452 extern unsigned IOCTL_FDSETMAXERRS; 453 extern unsigned IOCTL_FDSETPRM; 454 extern unsigned IOCTL_FDTWADDLE; 455 extern unsigned IOCTL_FDWERRORCLR; 456 extern unsigned IOCTL_FDWERRORGET; 457 extern unsigned IOCTL_HDIO_DRIVE_CMD; 458 extern unsigned IOCTL_HDIO_GETGEO; 459 extern unsigned IOCTL_HDIO_GET_32BIT; 460 extern unsigned IOCTL_HDIO_GET_DMA; 461 extern unsigned IOCTL_HDIO_GET_IDENTITY; 462 extern unsigned IOCTL_HDIO_GET_KEEPSETTINGS; 463 extern unsigned IOCTL_HDIO_GET_MULTCOUNT; 464 extern unsigned IOCTL_HDIO_GET_NOWERR; 465 extern unsigned IOCTL_HDIO_GET_UNMASKINTR; 466 extern unsigned IOCTL_HDIO_SET_32BIT; 467 extern unsigned IOCTL_HDIO_SET_DMA; 468 extern unsigned IOCTL_HDIO_SET_KEEPSETTINGS; 469 extern unsigned IOCTL_HDIO_SET_MULTCOUNT; 470 extern unsigned IOCTL_HDIO_SET_NOWERR; 471 extern unsigned IOCTL_HDIO_SET_UNMASKINTR; 472 extern unsigned IOCTL_MTIOCGET; 473 extern unsigned IOCTL_MTIOCPOS; 474 extern unsigned IOCTL_MTIOCTOP; 475 extern unsigned IOCTL_PPPIOCGASYNCMAP; 476 extern unsigned IOCTL_PPPIOCGDEBUG; 477 extern unsigned IOCTL_PPPIOCGFLAGS; 478 extern unsigned IOCTL_PPPIOCGUNIT; 479 extern unsigned IOCTL_PPPIOCGXASYNCMAP; 480 extern unsigned IOCTL_PPPIOCSASYNCMAP; 481 extern unsigned IOCTL_PPPIOCSDEBUG; 482 extern unsigned IOCTL_PPPIOCSFLAGS; 483 extern unsigned IOCTL_PPPIOCSMAXCID; 484 extern unsigned IOCTL_PPPIOCSMRU; 485 extern unsigned IOCTL_PPPIOCSXASYNCMAP; 486 extern unsigned IOCTL_SIOCADDRT; 487 extern unsigned IOCTL_SIOCDARP; 488 extern unsigned IOCTL_SIOCDELRT; 489 extern unsigned IOCTL_SIOCDRARP; 490 extern unsigned IOCTL_SIOCGARP; 491 extern unsigned IOCTL_SIOCGIFENCAP; 492 extern unsigned IOCTL_SIOCGIFHWADDR; 493 extern unsigned IOCTL_SIOCGIFMAP; 494 extern unsigned IOCTL_SIOCGIFMEM; 495 extern unsigned IOCTL_SIOCGIFNAME; 496 extern unsigned IOCTL_SIOCGIFSLAVE; 497 extern unsigned IOCTL_SIOCGRARP; 498 extern unsigned IOCTL_SIOCGSTAMP; 499 extern unsigned IOCTL_SIOCSARP; 500 extern unsigned IOCTL_SIOCSIFENCAP; 501 extern unsigned IOCTL_SIOCSIFHWADDR; 502 extern unsigned IOCTL_SIOCSIFLINK; 503 extern unsigned IOCTL_SIOCSIFMAP; 504 extern unsigned IOCTL_SIOCSIFMEM; 505 extern unsigned IOCTL_SIOCSIFSLAVE; 506 extern unsigned IOCTL_SIOCSRARP; 507 extern unsigned IOCTL_SNDCTL_COPR_HALT; 508 extern unsigned IOCTL_SNDCTL_COPR_LOAD; 509 extern unsigned IOCTL_SNDCTL_COPR_RCODE; 510 extern unsigned IOCTL_SNDCTL_COPR_RCVMSG; 511 extern unsigned IOCTL_SNDCTL_COPR_RDATA; 512 extern unsigned IOCTL_SNDCTL_COPR_RESET; 513 extern unsigned IOCTL_SNDCTL_COPR_RUN; 514 extern unsigned IOCTL_SNDCTL_COPR_SENDMSG; 515 extern unsigned IOCTL_SNDCTL_COPR_WCODE; 516 extern unsigned IOCTL_SNDCTL_COPR_WDATA; 517 extern unsigned IOCTL_SNDCTL_DSP_GETBLKSIZE; 518 extern unsigned IOCTL_SNDCTL_DSP_GETFMTS; 519 extern unsigned IOCTL_SNDCTL_DSP_NONBLOCK; 520 extern unsigned IOCTL_SNDCTL_DSP_POST; 521 extern unsigned IOCTL_SNDCTL_DSP_RESET; 522 extern unsigned IOCTL_SNDCTL_DSP_SETFMT; 523 extern unsigned IOCTL_SNDCTL_DSP_SETFRAGMENT; 524 extern unsigned IOCTL_SNDCTL_DSP_SPEED; 525 extern unsigned IOCTL_SNDCTL_DSP_STEREO; 526 extern unsigned IOCTL_SNDCTL_DSP_SUBDIVIDE; 527 extern unsigned IOCTL_SNDCTL_DSP_SYNC; 528 extern unsigned IOCTL_SNDCTL_FM_4OP_ENABLE; 529 extern unsigned IOCTL_SNDCTL_FM_LOAD_INSTR; 530 extern unsigned IOCTL_SNDCTL_MIDI_INFO; 531 extern unsigned IOCTL_SNDCTL_MIDI_PRETIME; 532 extern unsigned IOCTL_SNDCTL_SEQ_CTRLRATE; 533 extern unsigned IOCTL_SNDCTL_SEQ_GETINCOUNT; 534 extern unsigned IOCTL_SNDCTL_SEQ_GETOUTCOUNT; 535 extern unsigned IOCTL_SNDCTL_SEQ_NRMIDIS; 536 extern unsigned IOCTL_SNDCTL_SEQ_NRSYNTHS; 537 extern unsigned IOCTL_SNDCTL_SEQ_OUTOFBAND; 538 extern unsigned IOCTL_SNDCTL_SEQ_PANIC; 539 extern unsigned IOCTL_SNDCTL_SEQ_PERCMODE; 540 extern unsigned IOCTL_SNDCTL_SEQ_RESET; 541 extern unsigned IOCTL_SNDCTL_SEQ_RESETSAMPLES; 542 extern unsigned IOCTL_SNDCTL_SEQ_SYNC; 543 extern unsigned IOCTL_SNDCTL_SEQ_TESTMIDI; 544 extern unsigned IOCTL_SNDCTL_SEQ_THRESHOLD; 545 extern unsigned IOCTL_SNDCTL_SYNTH_INFO; 546 extern unsigned IOCTL_SNDCTL_SYNTH_MEMAVL; 547 extern unsigned IOCTL_SNDCTL_TMR_CONTINUE; 548 extern unsigned IOCTL_SNDCTL_TMR_METRONOME; 549 extern unsigned IOCTL_SNDCTL_TMR_SELECT; 550 extern unsigned IOCTL_SNDCTL_TMR_SOURCE; 551 extern unsigned IOCTL_SNDCTL_TMR_START; 552 extern unsigned IOCTL_SNDCTL_TMR_STOP; 553 extern unsigned IOCTL_SNDCTL_TMR_TEMPO; 554 extern unsigned IOCTL_SNDCTL_TMR_TIMEBASE; 555 extern unsigned IOCTL_SOUND_MIXER_READ_ALTPCM; 556 extern unsigned IOCTL_SOUND_MIXER_READ_BASS; 557 extern unsigned IOCTL_SOUND_MIXER_READ_CAPS; 558 extern unsigned IOCTL_SOUND_MIXER_READ_CD; 559 extern unsigned IOCTL_SOUND_MIXER_READ_DEVMASK; 560 extern unsigned IOCTL_SOUND_MIXER_READ_ENHANCE; 561 extern unsigned IOCTL_SOUND_MIXER_READ_IGAIN; 562 extern unsigned IOCTL_SOUND_MIXER_READ_IMIX; 563 extern unsigned IOCTL_SOUND_MIXER_READ_LINE1; 564 extern unsigned IOCTL_SOUND_MIXER_READ_LINE2; 565 extern unsigned IOCTL_SOUND_MIXER_READ_LINE3; 566 extern unsigned IOCTL_SOUND_MIXER_READ_LINE; 567 extern unsigned IOCTL_SOUND_MIXER_READ_LOUD; 568 extern unsigned IOCTL_SOUND_MIXER_READ_MIC; 569 extern unsigned IOCTL_SOUND_MIXER_READ_MUTE; 570 extern unsigned IOCTL_SOUND_MIXER_READ_OGAIN; 571 extern unsigned IOCTL_SOUND_MIXER_READ_PCM; 572 extern unsigned IOCTL_SOUND_MIXER_READ_RECLEV; 573 extern unsigned IOCTL_SOUND_MIXER_READ_RECMASK; 574 extern unsigned IOCTL_SOUND_MIXER_READ_RECSRC; 575 extern unsigned IOCTL_SOUND_MIXER_READ_SPEAKER; 576 extern unsigned IOCTL_SOUND_MIXER_READ_STEREODEVS; 577 extern unsigned IOCTL_SOUND_MIXER_READ_SYNTH; 578 extern unsigned IOCTL_SOUND_MIXER_READ_TREBLE; 579 extern unsigned IOCTL_SOUND_MIXER_READ_VOLUME; 580 extern unsigned IOCTL_SOUND_MIXER_WRITE_ALTPCM; 581 extern unsigned IOCTL_SOUND_MIXER_WRITE_BASS; 582 extern unsigned IOCTL_SOUND_MIXER_WRITE_CD; 583 extern unsigned IOCTL_SOUND_MIXER_WRITE_ENHANCE; 584 extern unsigned IOCTL_SOUND_MIXER_WRITE_IGAIN; 585 extern unsigned IOCTL_SOUND_MIXER_WRITE_IMIX; 586 extern unsigned IOCTL_SOUND_MIXER_WRITE_LINE1; 587 extern unsigned IOCTL_SOUND_MIXER_WRITE_LINE2; 588 extern unsigned IOCTL_SOUND_MIXER_WRITE_LINE3; 589 extern unsigned IOCTL_SOUND_MIXER_WRITE_LINE; 590 extern unsigned IOCTL_SOUND_MIXER_WRITE_LOUD; 591 extern unsigned IOCTL_SOUND_MIXER_WRITE_MIC; 592 extern unsigned IOCTL_SOUND_MIXER_WRITE_MUTE; 593 extern unsigned IOCTL_SOUND_MIXER_WRITE_OGAIN; 594 extern unsigned IOCTL_SOUND_MIXER_WRITE_PCM; 595 extern unsigned IOCTL_SOUND_MIXER_WRITE_RECLEV; 596 extern unsigned IOCTL_SOUND_MIXER_WRITE_RECSRC; 597 extern unsigned IOCTL_SOUND_MIXER_WRITE_SPEAKER; 598 extern unsigned IOCTL_SOUND_MIXER_WRITE_SYNTH; 599 extern unsigned IOCTL_SOUND_MIXER_WRITE_TREBLE; 600 extern unsigned IOCTL_SOUND_MIXER_WRITE_VOLUME; 601 extern unsigned IOCTL_SOUND_PCM_READ_BITS; 602 extern unsigned IOCTL_SOUND_PCM_READ_CHANNELS; 603 extern unsigned IOCTL_SOUND_PCM_READ_FILTER; 604 extern unsigned IOCTL_SOUND_PCM_READ_RATE; 605 extern unsigned IOCTL_SOUND_PCM_WRITE_CHANNELS; 606 extern unsigned IOCTL_SOUND_PCM_WRITE_FILTER; 607 extern unsigned IOCTL_TCFLSH; 608 extern unsigned IOCTL_TCGETA; 609 extern unsigned IOCTL_TCGETS; 610 extern unsigned IOCTL_TCSBRK; 611 extern unsigned IOCTL_TCSBRKP; 612 extern unsigned IOCTL_TCSETA; 613 extern unsigned IOCTL_TCSETAF; 614 extern unsigned IOCTL_TCSETAW; 615 extern unsigned IOCTL_TCSETS; 616 extern unsigned IOCTL_TCSETSF; 617 extern unsigned IOCTL_TCSETSW; 618 extern unsigned IOCTL_TCXONC; 619 extern unsigned IOCTL_TIOCGLCKTRMIOS; 620 extern unsigned IOCTL_TIOCGSOFTCAR; 621 extern unsigned IOCTL_TIOCINQ; 622 extern unsigned IOCTL_TIOCLINUX; 623 extern unsigned IOCTL_TIOCSERCONFIG; 624 extern unsigned IOCTL_TIOCSERGETLSR; 625 extern unsigned IOCTL_TIOCSERGWILD; 626 extern unsigned IOCTL_TIOCSERSWILD; 627 extern unsigned IOCTL_TIOCSLCKTRMIOS; 628 extern unsigned IOCTL_TIOCSSOFTCAR; 629 extern unsigned IOCTL_VT_ACTIVATE; 630 extern unsigned IOCTL_VT_DISALLOCATE; 631 extern unsigned IOCTL_VT_GETMODE; 632 extern unsigned IOCTL_VT_GETSTATE; 633 extern unsigned IOCTL_VT_OPENQRY; 634 extern unsigned IOCTL_VT_RELDISP; 635 extern unsigned IOCTL_VT_RESIZE; 636 extern unsigned IOCTL_VT_RESIZEX; 637 extern unsigned IOCTL_VT_SENDSIG; 638 extern unsigned IOCTL_VT_SETMODE; 639 extern unsigned IOCTL_VT_WAITACTIVE; 640#endif 641#if SANITIZER_LINUX && !SANITIZER_ANDROID 642 extern unsigned IOCTL_CYGETDEFTHRESH; 643 extern unsigned IOCTL_CYGETDEFTIMEOUT; 644 extern unsigned IOCTL_CYGETMON; 645 extern unsigned IOCTL_CYGETTHRESH; 646 extern unsigned IOCTL_CYGETTIMEOUT; 647 extern unsigned IOCTL_CYSETDEFTHRESH; 648 extern unsigned IOCTL_CYSETDEFTIMEOUT; 649 extern unsigned IOCTL_CYSETTHRESH; 650 extern unsigned IOCTL_CYSETTIMEOUT; 651 extern unsigned IOCTL_EQL_EMANCIPATE; 652 extern unsigned IOCTL_EQL_ENSLAVE; 653 extern unsigned IOCTL_EQL_GETMASTRCFG; 654 extern unsigned IOCTL_EQL_GETSLAVECFG; 655 extern unsigned IOCTL_EQL_SETMASTRCFG; 656 extern unsigned IOCTL_EQL_SETSLAVECFG; 657 extern unsigned IOCTL_EVIOCGKEYCODE_V2; 658 extern unsigned IOCTL_EVIOCGPROP; 659 extern unsigned IOCTL_EVIOCSKEYCODE_V2; 660 extern unsigned IOCTL_FS_IOC_GETFLAGS; 661 extern unsigned IOCTL_FS_IOC_GETVERSION; 662 extern unsigned IOCTL_FS_IOC_SETFLAGS; 663 extern unsigned IOCTL_FS_IOC_SETVERSION; 664 extern unsigned IOCTL_GIO_CMAP; 665 extern unsigned IOCTL_GIO_FONT; 666 extern unsigned IOCTL_GIO_SCRNMAP; 667 extern unsigned IOCTL_GIO_UNIMAP; 668 extern unsigned IOCTL_GIO_UNISCRNMAP; 669 extern unsigned IOCTL_KDADDIO; 670 extern unsigned IOCTL_KDDELIO; 671 extern unsigned IOCTL_KDDISABIO; 672 extern unsigned IOCTL_KDENABIO; 673 extern unsigned IOCTL_KDGETKEYCODE; 674 extern unsigned IOCTL_KDGETLED; 675 extern unsigned IOCTL_KDGETMODE; 676 extern unsigned IOCTL_KDGKBDIACR; 677 extern unsigned IOCTL_KDGKBENT; 678 extern unsigned IOCTL_KDGKBLED; 679 extern unsigned IOCTL_KDGKBMETA; 680 extern unsigned IOCTL_KDGKBMODE; 681 extern unsigned IOCTL_KDGKBSENT; 682 extern unsigned IOCTL_KDGKBTYPE; 683 extern unsigned IOCTL_KDMAPDISP; 684 extern unsigned IOCTL_KDMKTONE; 685 extern unsigned IOCTL_KDSETKEYCODE; 686 extern unsigned IOCTL_KDSETLED; 687 extern unsigned IOCTL_KDSETMODE; 688 extern unsigned IOCTL_KDSIGACCEPT; 689 extern unsigned IOCTL_KDSKBDIACR; 690 extern unsigned IOCTL_KDSKBENT; 691 extern unsigned IOCTL_KDSKBLED; 692 extern unsigned IOCTL_KDSKBMETA; 693 extern unsigned IOCTL_KDSKBMODE; 694 extern unsigned IOCTL_KDSKBSENT; 695 extern unsigned IOCTL_KDUNMAPDISP; 696 extern unsigned IOCTL_KIOCSOUND; 697 extern unsigned IOCTL_LPABORT; 698 extern unsigned IOCTL_LPABORTOPEN; 699 extern unsigned IOCTL_LPCAREFUL; 700 extern unsigned IOCTL_LPCHAR; 701 extern unsigned IOCTL_LPGETIRQ; 702 extern unsigned IOCTL_LPGETSTATUS; 703 extern unsigned IOCTL_LPRESET; 704 extern unsigned IOCTL_LPSETIRQ; 705 extern unsigned IOCTL_LPTIME; 706 extern unsigned IOCTL_LPWAIT; 707 extern unsigned IOCTL_PIO_CMAP; 708 extern unsigned IOCTL_PIO_FONT; 709 extern unsigned IOCTL_PIO_SCRNMAP; 710 extern unsigned IOCTL_PIO_UNIMAP; 711 extern unsigned IOCTL_PIO_UNIMAPCLR; 712 extern unsigned IOCTL_PIO_UNISCRNMAP; 713 extern unsigned IOCTL_SCSI_IOCTL_GET_IDLUN; 714 extern unsigned IOCTL_SCSI_IOCTL_PROBE_HOST; 715 extern unsigned IOCTL_SCSI_IOCTL_TAGGED_DISABLE; 716 extern unsigned IOCTL_SCSI_IOCTL_TAGGED_ENABLE; 717 extern unsigned IOCTL_SIOCAIPXITFCRT; 718 extern unsigned IOCTL_SIOCAIPXPRISLT; 719 extern unsigned IOCTL_SIOCDEVPLIP; 720 extern unsigned IOCTL_SIOCIPXCFGDATA; 721 extern unsigned IOCTL_SNDCTL_DSP_GETISPACE; 722 extern unsigned IOCTL_SNDCTL_DSP_GETOSPACE; 723 extern unsigned IOCTL_TIOCGSERIAL; 724 extern unsigned IOCTL_TIOCSERGETMULTI; 725 extern unsigned IOCTL_TIOCSERSETMULTI; 726 extern unsigned IOCTL_TIOCSSERIAL; 727#endif 728} // namespace __sanitizer 729 730#endif 731 732