sanitizer_platform_limits_posix.h revision b8a141f3783d796eabf45fabff82f3e08244e338
10e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org//===-- sanitizer_platform_limits_posix.h ---------------------------------===// 20e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org// 30e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org// The LLVM Compiler Infrastructure 40e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org// 50e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org// This file is distributed under the University of Illinois Open Source 60e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org// License. See LICENSE.TXT for details. 70e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org// 80e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org//===----------------------------------------------------------------------===// 90e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org// 100e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org// This file is a part of Sanitizer common code. 110e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org// 120e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org// Sizes and layouts of platform-specific POSIX data structures. 130e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org//===----------------------------------------------------------------------===// 140e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org 150e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org#ifndef SANITIZER_PLATFORM_LIMITS_POSIX_H 160e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org#define SANITIZER_PLATFORM_LIMITS_POSIX_H 170e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org 180e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org#include "sanitizer_internal_defs.h" 190e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org#include "sanitizer_platform.h" 200e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org 210e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.orgnamespace __sanitizer { 220e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org extern unsigned struct_utsname_sz; 230e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org extern unsigned struct_stat_sz; 240e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org#if !SANITIZER_IOS 250e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org extern unsigned struct_stat64_sz; 260e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org#endif 270e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org extern unsigned struct_rusage_sz; 280e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org extern unsigned struct_passwd_sz; 290e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org extern unsigned struct_group_sz; 300e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org extern unsigned siginfo_t_sz; 310e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org extern unsigned struct_itimerval_sz; 32cf81adffe15fa8ea0f333432e41f6d504148f18abuildbot@webrtc.org extern unsigned pthread_t_sz; 330e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org extern unsigned pthread_cond_t_sz; 342a86ce22ccc387dfa6f8a98ce3eba5c1e6f9e538buildbot@webrtc.org extern unsigned pid_t_sz; 350e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org extern unsigned timeval_sz; 360e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org extern unsigned uid_t_sz; 370e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org extern unsigned mbstate_t_sz; 380e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org extern unsigned struct_timezone_sz; 390e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org extern unsigned struct_tms_sz; 400e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org extern unsigned struct_itimerspec_sz; 410e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org extern unsigned struct_sigevent_sz; 420e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org extern unsigned struct_sched_param_sz; 430e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org extern unsigned struct_statfs_sz; 440e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org extern unsigned struct_statfs64_sz; 450e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org 460e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org#if !SANITIZER_ANDROID 470e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org extern unsigned ucontext_t_sz; 480e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org#endif // !SANITIZER_ANDROID 492a86ce22ccc387dfa6f8a98ce3eba5c1e6f9e538buildbot@webrtc.org 500e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org#if SANITIZER_LINUX 510e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org extern unsigned struct___old_kernel_stat_sz; 520e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org extern unsigned struct_kernel_stat_sz; 530e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org extern unsigned struct_kernel_stat64_sz; 540e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org extern unsigned struct_io_event_sz; 55e560834da4ee5a5f38a96a8cb9290c5ce1096989mallinath@webrtc.org extern unsigned struct_iocb_sz; 56e560834da4ee5a5f38a96a8cb9290c5ce1096989mallinath@webrtc.org extern unsigned struct_utimbuf_sz; 570e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org extern unsigned struct_new_utsname_sz; 58e560834da4ee5a5f38a96a8cb9290c5ce1096989mallinath@webrtc.org extern unsigned struct_old_utsname_sz; 59e560834da4ee5a5f38a96a8cb9290c5ce1096989mallinath@webrtc.org extern unsigned struct_oldold_utsname_sz; 600e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org extern unsigned struct_msqid_ds_sz; 610e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org extern unsigned struct_mq_attr_sz; 620e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org extern unsigned struct_perf_event_attr_sz; 630e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org extern unsigned struct_timex_sz; 640e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org extern unsigned struct_ustat_sz; 650e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org 660e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org extern unsigned struct_rlimit_sz; 670e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org extern unsigned struct_epoll_event_sz; 682a86ce22ccc387dfa6f8a98ce3eba5c1e6f9e538buildbot@webrtc.org extern unsigned struct_sysinfo_sz; 690e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org extern unsigned struct_timespec_sz; 700e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org extern unsigned __user_cap_header_struct_sz; 712a86ce22ccc387dfa6f8a98ce3eba5c1e6f9e538buildbot@webrtc.org extern unsigned __user_cap_data_struct_sz; 722a86ce22ccc387dfa6f8a98ce3eba5c1e6f9e538buildbot@webrtc.org const unsigned old_sigset_t_sz = sizeof(unsigned long); 73391247d05a663265807c400947ab6eb01ae3d690mallinath@webrtc.org const unsigned struct_kexec_segment_sz = 4 * sizeof(unsigned long); 742a86ce22ccc387dfa6f8a98ce3eba5c1e6f9e538buildbot@webrtc.org 752a86ce22ccc387dfa6f8a98ce3eba5c1e6f9e538buildbot@webrtc.org struct __sanitizer___sysctl_args { 760e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org int *name; 770e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org int nlen; 780e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org void *oldval; 790e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org uptr *oldlenp; 800e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org void *newval; 812a86ce22ccc387dfa6f8a98ce3eba5c1e6f9e538buildbot@webrtc.org uptr newlen; 820e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org unsigned long ___unused[4]; 832a86ce22ccc387dfa6f8a98ce3eba5c1e6f9e538buildbot@webrtc.org }; 840e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org#endif // SANITIZER_LINUX 850e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org 860e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org#if SANITIZER_LINUX && !SANITIZER_ANDROID 870e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org extern unsigned struct_rlimit64_sz; 880e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org extern unsigned struct_statvfs_sz; 890e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org extern unsigned struct_statvfs64_sz; 900e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org 912a86ce22ccc387dfa6f8a98ce3eba5c1e6f9e538buildbot@webrtc.org struct __sanitizer_ipc_perm { 920e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org int __key; 930e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org int uid; 940e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org int gid; 950e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org int cuid; 960e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org int cgid; 970e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org unsigned short mode; 980e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org unsigned short __pad1; 990e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org unsigned short __seq; 1000e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org unsigned short __pad2; 1010e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org uptr __unused1; 1020e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org uptr __unused2; 1030e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org }; 1040e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org 105 struct __sanitizer_shmid_ds { 106 __sanitizer_ipc_perm shm_perm; 107 uptr shm_segsz; 108 uptr shm_atime; 109 #ifndef _LP64 110 uptr __unused1; 111 #endif 112 uptr shm_dtime; 113 #ifndef _LP64 114 uptr __unused2; 115 #endif 116 uptr shm_ctime; 117 #ifndef _LP64 118 uptr __unused3; 119 #endif 120 int shm_cpid; 121 int shm_lpid; 122 uptr shm_nattch; 123 uptr __unused4; 124 uptr __unused5; 125 }; 126 #endif // SANITIZER_LINUX && !SANITIZER_ANDROID 127 128 struct __sanitizer_iovec { 129 void *iov_base; 130 uptr iov_len; 131 }; 132 133#if SANITIZER_MAC 134 typedef unsigned long __sanitizer_pthread_key_t; 135#else 136 typedef unsigned __sanitizer_pthread_key_t; 137#endif 138 139 struct __sanitizer_ether_addr { 140 u8 octet[6]; 141 }; 142 143 struct __sanitizer_tm { 144 int tm_sec; 145 int tm_min; 146 int tm_hour; 147 int tm_mday; 148 int tm_mon; 149 int tm_year; 150 int tm_wday; 151 int tm_yday; 152 int tm_isdst; 153 long int tm_gmtoff; 154 const char *tm_zone; 155 }; 156 157#if SANITIZER_LINUX 158 struct __sanitizer_mntent { 159 char *mnt_fsname; 160 char *mnt_dir; 161 char *mnt_type; 162 char *mnt_opts; 163 int mnt_freq; 164 int mnt_passno; 165 }; 166#endif 167 168#if SANITIZER_ANDROID || SANITIZER_MAC 169 struct __sanitizer_msghdr { 170 void *msg_name; 171 unsigned msg_namelen; 172 struct __sanitizer_iovec *msg_iov; 173 unsigned msg_iovlen; 174 void *msg_control; 175 unsigned msg_controllen; 176 int msg_flags; 177 }; 178 struct __sanitizer_cmsghdr { 179 unsigned cmsg_len; 180 int cmsg_level; 181 int cmsg_type; 182 }; 183#else 184 struct __sanitizer_msghdr { 185 void *msg_name; 186 unsigned msg_namelen; 187 struct __sanitizer_iovec *msg_iov; 188 uptr msg_iovlen; 189 void *msg_control; 190 uptr msg_controllen; 191 int msg_flags; 192 }; 193 struct __sanitizer_cmsghdr { 194 uptr cmsg_len; 195 int cmsg_level; 196 int cmsg_type; 197 }; 198#endif 199 200#if SANITIZER_MAC 201 struct __sanitizer_dirent { 202 unsigned long long d_ino; 203 unsigned long long d_seekoff; 204 unsigned short d_reclen; 205 // more fields that we don't care about 206 }; 207#elif SANITIZER_ANDROID 208 struct __sanitizer_dirent { 209 unsigned long long d_ino; 210 unsigned long long d_off; 211 unsigned short d_reclen; 212 // more fields that we don't care about 213 }; 214#else 215 struct __sanitizer_dirent { 216 uptr d_ino; 217 uptr d_off; 218 unsigned short d_reclen; 219 // more fields that we don't care about 220 }; 221#endif 222 223#if SANITIZER_LINUX && !SANITIZER_ANDROID 224 struct __sanitizer_dirent64 { 225 unsigned long long d_ino; 226 unsigned long long d_off; 227 unsigned short d_reclen; 228 // more fields that we don't care about 229 }; 230#endif 231 232#if SANITIZER_LINUX 233#ifdef _LP64 234 typedef unsigned __sanitizer___kernel_uid_t; 235 typedef unsigned __sanitizer___kernel_gid_t; 236#else 237 typedef unsigned short __sanitizer___kernel_uid_t; 238 typedef unsigned short __sanitizer___kernel_gid_t; 239#endif 240 typedef unsigned short __sanitizer___kernel_old_uid_t; 241 typedef unsigned short __sanitizer___kernel_old_gid_t; 242 typedef long __sanitizer___kernel_off_t; 243 typedef long long __sanitizer___kernel_loff_t; 244 typedef struct { 245 unsigned long fds_bits[1024 / (8 * sizeof(long))]; 246 } __sanitizer___kernel_fd_set; 247#endif 248 249 // This thing depends on the platform. We are only interested in the upper 250 // limit. Verified with a compiler assert in .cc. 251 const int pthread_attr_t_max_sz = 128; 252 union __sanitizer_pthread_attr_t { 253 char size[pthread_attr_t_max_sz]; // NOLINT 254 void *align; 255 }; 256 257#if SANITIZER_ANDROID 258 typedef unsigned long __sanitizer_sigset_t; 259#elif SANITIZER_MAC 260 typedef unsigned __sanitizer_sigset_t; 261#elif SANITIZER_LINUX 262 struct __sanitizer_sigset_t { 263 // The size is determined by looking at sizeof of real sigset_t on linux. 264 uptr val[128 / sizeof(uptr)]; 265 }; 266#endif 267 268 struct __sanitizer_sigaction { 269 union { 270 void (*sa_handler)(int sig); 271 void (*sa_sigaction)(int sig, void *siginfo, void *uctx); 272 }; 273 __sanitizer_sigset_t sa_mask; 274 int sa_flags; 275#if SANITIZER_LINUX 276 void (*sa_restorer)(); 277#endif 278 }; 279 280 struct __sanitizer_kernel_sigset_t { 281 u8 sig[8]; 282 }; 283 284 struct __sanitizer_kernel_sigaction_t { 285 union { 286 void (*sigaction)(int signo, void *info, void *ctx); 287 void (*handler)(int signo); 288 }; 289 unsigned long sa_flags; 290 void (*sa_restorer)(void); 291 __sanitizer_kernel_sigset_t sa_mask; 292 }; 293 294 extern uptr sig_ign; 295 extern uptr sig_dfl; 296 extern uptr sa_siginfo; 297 298#if SANITIZER_LINUX 299 extern int e_tabsz; 300#endif 301 302 extern int af_inet; 303 extern int af_inet6; 304 uptr __sanitizer_in_addr_sz(int af); 305 306#if SANITIZER_LINUX 307 struct __sanitizer_dl_phdr_info { 308 uptr dlpi_addr; 309 const char *dlpi_name; 310 const void *dlpi_phdr; 311 short dlpi_phnum; 312 }; 313#endif 314 315 struct __sanitizer_addrinfo { 316 int ai_flags; 317 int ai_family; 318 int ai_socktype; 319 int ai_protocol; 320#if SANITIZER_ANDROID || SANITIZER_MAC 321 unsigned ai_addrlen; 322 char *ai_canonname; 323 void *ai_addr; 324#else // LINUX 325 unsigned ai_addrlen; 326 void *ai_addr; 327 char *ai_canonname; 328#endif 329 struct __sanitizer_addrinfo *ai_next; 330 }; 331 332 struct __sanitizer_hostent { 333 char *h_name; 334 char **h_aliases; 335 int h_addrtype; 336 int h_length; 337 char **h_addr_list; 338 }; 339 340 struct __sanitizer_pollfd { 341 int fd; 342 short events; 343 short revents; 344 }; 345 346#if SANITIZER_ANDROID || SANITIZER_MAC 347 typedef unsigned __sanitizer_nfds_t; 348#else 349 typedef unsigned long __sanitizer_nfds_t; 350#endif 351 352#if SANITIZER_LINUX && !SANITIZER_ANDROID 353 struct __sanitizer_glob_t { 354 uptr gl_pathc; 355 char **gl_pathv; 356 uptr gl_offs; 357 int gl_flags; 358 359 void (*gl_closedir)(void *dirp); 360 void *(*gl_readdir)(void *dirp); 361 void *(*gl_opendir)(const char *); 362 int (*gl_lstat)(const char *, void *); 363 int (*gl_stat)(const char *, void *); 364 }; 365 366 extern int glob_nomatch; 367 extern int glob_altdirfunc; 368#endif 369 370 extern unsigned path_max; 371 372 struct __sanitizer_wordexp_t { 373 uptr we_wordc; 374 char **we_wordv; 375 uptr we_offs; 376 }; 377 378#if SANITIZER_LINUX && !SANITIZER_ANDROID && \ 379 (defined(__i386) || defined (__x86_64)) // NOLINT 380 extern unsigned struct_user_regs_struct_sz; 381 extern unsigned struct_user_fpregs_struct_sz; 382 extern unsigned struct_user_fpxregs_struct_sz; 383 384 extern int ptrace_peektext; 385 extern int ptrace_peekdata; 386 extern int ptrace_peekuser; 387 extern int ptrace_getregs; 388 extern int ptrace_setregs; 389 extern int ptrace_getfpregs; 390 extern int ptrace_setfpregs; 391 extern int ptrace_getfpxregs; 392 extern int ptrace_setfpxregs; 393 extern int ptrace_getsiginfo; 394 extern int ptrace_setsiginfo; 395 extern int ptrace_getregset; 396 extern int ptrace_setregset; 397#endif 398 399#if SANITIZER_LINUX && !SANITIZER_ANDROID 400 extern unsigned struct_shminfo_sz; 401 extern unsigned struct_shm_info_sz; 402 extern int shmctl_ipc_stat; 403 extern int shmctl_ipc_info; 404 extern int shmctl_shm_info; 405 extern int shmctl_shm_stat; 406#endif 407 408 // ioctl arguments 409 struct __sanitizer_ifconf { 410 int ifc_len; 411 union { 412 void *ifcu_req; 413 } ifc_ifcu; 414#if SANITIZER_MAC 415 } __attribute__((packed)); 416#else 417 }; 418#endif 419 420#define IOC_SIZE(nr) (((nr) >> 16) & 0x3fff) 421 422 extern unsigned struct_arpreq_sz; 423 extern unsigned struct_ifreq_sz; 424 extern unsigned struct_termios_sz; 425 extern unsigned struct_winsize_sz; 426 427#if SANITIZER_LINUX 428 extern unsigned struct_cdrom_msf_sz; 429 extern unsigned struct_cdrom_multisession_sz; 430 extern unsigned struct_cdrom_read_audio_sz; 431 extern unsigned struct_cdrom_subchnl_sz; 432 extern unsigned struct_cdrom_ti_sz; 433 extern unsigned struct_cdrom_tocentry_sz; 434 extern unsigned struct_cdrom_tochdr_sz; 435 extern unsigned struct_cdrom_volctrl_sz; 436 extern unsigned struct_copr_buffer_sz; 437 extern unsigned struct_copr_debug_buf_sz; 438 extern unsigned struct_copr_msg_sz; 439 extern unsigned struct_ff_effect_sz; 440 extern unsigned struct_floppy_drive_params_sz; 441 extern unsigned struct_floppy_drive_struct_sz; 442 extern unsigned struct_floppy_fdc_state_sz; 443 extern unsigned struct_floppy_max_errors_sz; 444 extern unsigned struct_floppy_raw_cmd_sz; 445 extern unsigned struct_floppy_struct_sz; 446 extern unsigned struct_floppy_write_errors_sz; 447 extern unsigned struct_format_descr_sz; 448 extern unsigned struct_hd_driveid_sz; 449 extern unsigned struct_hd_geometry_sz; 450 extern unsigned struct_input_absinfo_sz; 451 extern unsigned struct_input_id_sz; 452 extern unsigned struct_midi_info_sz; 453 extern unsigned struct_mtget_sz; 454 extern unsigned struct_mtop_sz; 455 extern unsigned struct_mtpos_sz; 456 extern unsigned struct_rtentry_sz; 457 extern unsigned struct_sbi_instrument_sz; 458 extern unsigned struct_seq_event_rec_sz; 459 extern unsigned struct_synth_info_sz; 460 extern unsigned struct_termio_sz; 461 extern unsigned struct_vt_consize_sz; 462 extern unsigned struct_vt_mode_sz; 463 extern unsigned struct_vt_sizes_sz; 464 extern unsigned struct_vt_stat_sz; 465#endif 466 467#if SANITIZER_LINUX && !SANITIZER_ANDROID 468 extern unsigned struct_audio_buf_info_sz; 469 extern unsigned struct_ax25_parms_struct_sz; 470 extern unsigned struct_cyclades_monitor_sz; 471 extern unsigned struct_input_keymap_entry_sz; 472 extern unsigned struct_ipx_config_data_sz; 473 extern unsigned struct_kbdiacrs_sz; 474 extern unsigned struct_kbentry_sz; 475 extern unsigned struct_kbkeycode_sz; 476 extern unsigned struct_kbsentry_sz; 477 extern unsigned struct_mtconfiginfo_sz; 478 extern unsigned struct_nr_parms_struct_sz; 479 extern unsigned struct_ppp_stats_sz; 480 extern unsigned struct_scc_modem_sz; 481 extern unsigned struct_scc_stat_sz; 482 extern unsigned struct_serial_multiport_struct_sz; 483 extern unsigned struct_serial_struct_sz; 484 extern unsigned struct_sockaddr_ax25_sz; 485 extern unsigned struct_unimapdesc_sz; 486 extern unsigned struct_unimapinit_sz; 487#endif 488 489#if !SANITIZER_ANDROID 490 extern unsigned struct_sioc_sg_req_sz; 491 extern unsigned struct_sioc_vif_req_sz; 492#endif 493 494 // ioctl request identifiers 495 496 // A special value to mark ioctls that are not present on the target platform, 497 // when it can not be determined without including any system headers. 498 extern unsigned IOCTL_NOT_PRESENT; 499 500 extern unsigned IOCTL_FIOASYNC; 501 extern unsigned IOCTL_FIOCLEX; 502 extern unsigned IOCTL_FIOGETOWN; 503 extern unsigned IOCTL_FIONBIO; 504 extern unsigned IOCTL_FIONCLEX; 505 extern unsigned IOCTL_FIOSETOWN; 506 extern unsigned IOCTL_SIOCADDMULTI; 507 extern unsigned IOCTL_SIOCATMARK; 508 extern unsigned IOCTL_SIOCDELMULTI; 509 extern unsigned IOCTL_SIOCGIFADDR; 510 extern unsigned IOCTL_SIOCGIFBRDADDR; 511 extern unsigned IOCTL_SIOCGIFCONF; 512 extern unsigned IOCTL_SIOCGIFDSTADDR; 513 extern unsigned IOCTL_SIOCGIFFLAGS; 514 extern unsigned IOCTL_SIOCGIFMETRIC; 515 extern unsigned IOCTL_SIOCGIFMTU; 516 extern unsigned IOCTL_SIOCGIFNETMASK; 517 extern unsigned IOCTL_SIOCGPGRP; 518 extern unsigned IOCTL_SIOCSIFADDR; 519 extern unsigned IOCTL_SIOCSIFBRDADDR; 520 extern unsigned IOCTL_SIOCSIFDSTADDR; 521 extern unsigned IOCTL_SIOCSIFFLAGS; 522 extern unsigned IOCTL_SIOCSIFMETRIC; 523 extern unsigned IOCTL_SIOCSIFMTU; 524 extern unsigned IOCTL_SIOCSIFNETMASK; 525 extern unsigned IOCTL_SIOCSPGRP; 526 extern unsigned IOCTL_TIOCCONS; 527 extern unsigned IOCTL_TIOCEXCL; 528 extern unsigned IOCTL_TIOCGETD; 529 extern unsigned IOCTL_TIOCGPGRP; 530 extern unsigned IOCTL_TIOCGWINSZ; 531 extern unsigned IOCTL_TIOCMBIC; 532 extern unsigned IOCTL_TIOCMBIS; 533 extern unsigned IOCTL_TIOCMGET; 534 extern unsigned IOCTL_TIOCMSET; 535 extern unsigned IOCTL_TIOCNOTTY; 536 extern unsigned IOCTL_TIOCNXCL; 537 extern unsigned IOCTL_TIOCOUTQ; 538 extern unsigned IOCTL_TIOCPKT; 539 extern unsigned IOCTL_TIOCSCTTY; 540 extern unsigned IOCTL_TIOCSETD; 541 extern unsigned IOCTL_TIOCSPGRP; 542 extern unsigned IOCTL_TIOCSTI; 543 extern unsigned IOCTL_TIOCSWINSZ; 544#if (SANITIZER_LINUX && !SANITIZER_ANDROID) || SANITIZER_MAC 545 extern unsigned IOCTL_SIOCGETSGCNT; 546 extern unsigned IOCTL_SIOCGETVIFCNT; 547#endif 548#if SANITIZER_LINUX 549 extern unsigned IOCTL_EVIOCGABS; 550 extern unsigned IOCTL_EVIOCGBIT; 551 extern unsigned IOCTL_EVIOCGEFFECTS; 552 extern unsigned IOCTL_EVIOCGID; 553 extern unsigned IOCTL_EVIOCGKEY; 554 extern unsigned IOCTL_EVIOCGKEYCODE; 555 extern unsigned IOCTL_EVIOCGLED; 556 extern unsigned IOCTL_EVIOCGNAME; 557 extern unsigned IOCTL_EVIOCGPHYS; 558 extern unsigned IOCTL_EVIOCGRAB; 559 extern unsigned IOCTL_EVIOCGREP; 560 extern unsigned IOCTL_EVIOCGSND; 561 extern unsigned IOCTL_EVIOCGSW; 562 extern unsigned IOCTL_EVIOCGUNIQ; 563 extern unsigned IOCTL_EVIOCGVERSION; 564 extern unsigned IOCTL_EVIOCRMFF; 565 extern unsigned IOCTL_EVIOCSABS; 566 extern unsigned IOCTL_EVIOCSFF; 567 extern unsigned IOCTL_EVIOCSKEYCODE; 568 extern unsigned IOCTL_EVIOCSREP; 569 extern unsigned IOCTL_BLKFLSBUF; 570 extern unsigned IOCTL_BLKGETSIZE; 571 extern unsigned IOCTL_BLKRAGET; 572 extern unsigned IOCTL_BLKRASET; 573 extern unsigned IOCTL_BLKROGET; 574 extern unsigned IOCTL_BLKROSET; 575 extern unsigned IOCTL_BLKRRPART; 576 extern unsigned IOCTL_CDROMAUDIOBUFSIZ; 577 extern unsigned IOCTL_CDROMEJECT; 578 extern unsigned IOCTL_CDROMEJECT_SW; 579 extern unsigned IOCTL_CDROMMULTISESSION; 580 extern unsigned IOCTL_CDROMPAUSE; 581 extern unsigned IOCTL_CDROMPLAYMSF; 582 extern unsigned IOCTL_CDROMPLAYTRKIND; 583 extern unsigned IOCTL_CDROMREADAUDIO; 584 extern unsigned IOCTL_CDROMREADCOOKED; 585 extern unsigned IOCTL_CDROMREADMODE1; 586 extern unsigned IOCTL_CDROMREADMODE2; 587 extern unsigned IOCTL_CDROMREADRAW; 588 extern unsigned IOCTL_CDROMREADTOCENTRY; 589 extern unsigned IOCTL_CDROMREADTOCHDR; 590 extern unsigned IOCTL_CDROMRESET; 591 extern unsigned IOCTL_CDROMRESUME; 592 extern unsigned IOCTL_CDROMSEEK; 593 extern unsigned IOCTL_CDROMSTART; 594 extern unsigned IOCTL_CDROMSTOP; 595 extern unsigned IOCTL_CDROMSUBCHNL; 596 extern unsigned IOCTL_CDROMVOLCTRL; 597 extern unsigned IOCTL_CDROMVOLREAD; 598 extern unsigned IOCTL_CDROM_GET_UPC; 599 extern unsigned IOCTL_FDCLRPRM; 600 extern unsigned IOCTL_FDDEFPRM; 601 extern unsigned IOCTL_FDFLUSH; 602 extern unsigned IOCTL_FDFMTBEG; 603 extern unsigned IOCTL_FDFMTEND; 604 extern unsigned IOCTL_FDFMTTRK; 605 extern unsigned IOCTL_FDGETDRVPRM; 606 extern unsigned IOCTL_FDGETDRVSTAT; 607 extern unsigned IOCTL_FDGETDRVTYP; 608 extern unsigned IOCTL_FDGETFDCSTAT; 609 extern unsigned IOCTL_FDGETMAXERRS; 610 extern unsigned IOCTL_FDGETPRM; 611 extern unsigned IOCTL_FDMSGOFF; 612 extern unsigned IOCTL_FDMSGON; 613 extern unsigned IOCTL_FDPOLLDRVSTAT; 614 extern unsigned IOCTL_FDRAWCMD; 615 extern unsigned IOCTL_FDRESET; 616 extern unsigned IOCTL_FDSETDRVPRM; 617 extern unsigned IOCTL_FDSETEMSGTRESH; 618 extern unsigned IOCTL_FDSETMAXERRS; 619 extern unsigned IOCTL_FDSETPRM; 620 extern unsigned IOCTL_FDTWADDLE; 621 extern unsigned IOCTL_FDWERRORCLR; 622 extern unsigned IOCTL_FDWERRORGET; 623 extern unsigned IOCTL_HDIO_DRIVE_CMD; 624 extern unsigned IOCTL_HDIO_GETGEO; 625 extern unsigned IOCTL_HDIO_GET_32BIT; 626 extern unsigned IOCTL_HDIO_GET_DMA; 627 extern unsigned IOCTL_HDIO_GET_IDENTITY; 628 extern unsigned IOCTL_HDIO_GET_KEEPSETTINGS; 629 extern unsigned IOCTL_HDIO_GET_MULTCOUNT; 630 extern unsigned IOCTL_HDIO_GET_NOWERR; 631 extern unsigned IOCTL_HDIO_GET_UNMASKINTR; 632 extern unsigned IOCTL_HDIO_SET_32BIT; 633 extern unsigned IOCTL_HDIO_SET_DMA; 634 extern unsigned IOCTL_HDIO_SET_KEEPSETTINGS; 635 extern unsigned IOCTL_HDIO_SET_MULTCOUNT; 636 extern unsigned IOCTL_HDIO_SET_NOWERR; 637 extern unsigned IOCTL_HDIO_SET_UNMASKINTR; 638 extern unsigned IOCTL_MTIOCGET; 639 extern unsigned IOCTL_MTIOCPOS; 640 extern unsigned IOCTL_MTIOCTOP; 641 extern unsigned IOCTL_PPPIOCGASYNCMAP; 642 extern unsigned IOCTL_PPPIOCGDEBUG; 643 extern unsigned IOCTL_PPPIOCGFLAGS; 644 extern unsigned IOCTL_PPPIOCGUNIT; 645 extern unsigned IOCTL_PPPIOCGXASYNCMAP; 646 extern unsigned IOCTL_PPPIOCSASYNCMAP; 647 extern unsigned IOCTL_PPPIOCSDEBUG; 648 extern unsigned IOCTL_PPPIOCSFLAGS; 649 extern unsigned IOCTL_PPPIOCSMAXCID; 650 extern unsigned IOCTL_PPPIOCSMRU; 651 extern unsigned IOCTL_PPPIOCSXASYNCMAP; 652 extern unsigned IOCTL_SIOCADDRT; 653 extern unsigned IOCTL_SIOCDARP; 654 extern unsigned IOCTL_SIOCDELRT; 655 extern unsigned IOCTL_SIOCDRARP; 656 extern unsigned IOCTL_SIOCGARP; 657 extern unsigned IOCTL_SIOCGIFENCAP; 658 extern unsigned IOCTL_SIOCGIFHWADDR; 659 extern unsigned IOCTL_SIOCGIFMAP; 660 extern unsigned IOCTL_SIOCGIFMEM; 661 extern unsigned IOCTL_SIOCGIFNAME; 662 extern unsigned IOCTL_SIOCGIFSLAVE; 663 extern unsigned IOCTL_SIOCGRARP; 664 extern unsigned IOCTL_SIOCGSTAMP; 665 extern unsigned IOCTL_SIOCSARP; 666 extern unsigned IOCTL_SIOCSIFENCAP; 667 extern unsigned IOCTL_SIOCSIFHWADDR; 668 extern unsigned IOCTL_SIOCSIFLINK; 669 extern unsigned IOCTL_SIOCSIFMAP; 670 extern unsigned IOCTL_SIOCSIFMEM; 671 extern unsigned IOCTL_SIOCSIFSLAVE; 672 extern unsigned IOCTL_SIOCSRARP; 673 extern unsigned IOCTL_SNDCTL_COPR_HALT; 674 extern unsigned IOCTL_SNDCTL_COPR_LOAD; 675 extern unsigned IOCTL_SNDCTL_COPR_RCODE; 676 extern unsigned IOCTL_SNDCTL_COPR_RCVMSG; 677 extern unsigned IOCTL_SNDCTL_COPR_RDATA; 678 extern unsigned IOCTL_SNDCTL_COPR_RESET; 679 extern unsigned IOCTL_SNDCTL_COPR_RUN; 680 extern unsigned IOCTL_SNDCTL_COPR_SENDMSG; 681 extern unsigned IOCTL_SNDCTL_COPR_WCODE; 682 extern unsigned IOCTL_SNDCTL_COPR_WDATA; 683 extern unsigned IOCTL_SNDCTL_DSP_GETBLKSIZE; 684 extern unsigned IOCTL_SNDCTL_DSP_GETFMTS; 685 extern unsigned IOCTL_SNDCTL_DSP_NONBLOCK; 686 extern unsigned IOCTL_SNDCTL_DSP_POST; 687 extern unsigned IOCTL_SNDCTL_DSP_RESET; 688 extern unsigned IOCTL_SNDCTL_DSP_SETFMT; 689 extern unsigned IOCTL_SNDCTL_DSP_SETFRAGMENT; 690 extern unsigned IOCTL_SNDCTL_DSP_SPEED; 691 extern unsigned IOCTL_SNDCTL_DSP_STEREO; 692 extern unsigned IOCTL_SNDCTL_DSP_SUBDIVIDE; 693 extern unsigned IOCTL_SNDCTL_DSP_SYNC; 694 extern unsigned IOCTL_SNDCTL_FM_4OP_ENABLE; 695 extern unsigned IOCTL_SNDCTL_FM_LOAD_INSTR; 696 extern unsigned IOCTL_SNDCTL_MIDI_INFO; 697 extern unsigned IOCTL_SNDCTL_MIDI_PRETIME; 698 extern unsigned IOCTL_SNDCTL_SEQ_CTRLRATE; 699 extern unsigned IOCTL_SNDCTL_SEQ_GETINCOUNT; 700 extern unsigned IOCTL_SNDCTL_SEQ_GETOUTCOUNT; 701 extern unsigned IOCTL_SNDCTL_SEQ_NRMIDIS; 702 extern unsigned IOCTL_SNDCTL_SEQ_NRSYNTHS; 703 extern unsigned IOCTL_SNDCTL_SEQ_OUTOFBAND; 704 extern unsigned IOCTL_SNDCTL_SEQ_PANIC; 705 extern unsigned IOCTL_SNDCTL_SEQ_PERCMODE; 706 extern unsigned IOCTL_SNDCTL_SEQ_RESET; 707 extern unsigned IOCTL_SNDCTL_SEQ_RESETSAMPLES; 708 extern unsigned IOCTL_SNDCTL_SEQ_SYNC; 709 extern unsigned IOCTL_SNDCTL_SEQ_TESTMIDI; 710 extern unsigned IOCTL_SNDCTL_SEQ_THRESHOLD; 711 extern unsigned IOCTL_SNDCTL_SYNTH_INFO; 712 extern unsigned IOCTL_SNDCTL_SYNTH_MEMAVL; 713 extern unsigned IOCTL_SNDCTL_TMR_CONTINUE; 714 extern unsigned IOCTL_SNDCTL_TMR_METRONOME; 715 extern unsigned IOCTL_SNDCTL_TMR_SELECT; 716 extern unsigned IOCTL_SNDCTL_TMR_SOURCE; 717 extern unsigned IOCTL_SNDCTL_TMR_START; 718 extern unsigned IOCTL_SNDCTL_TMR_STOP; 719 extern unsigned IOCTL_SNDCTL_TMR_TEMPO; 720 extern unsigned IOCTL_SNDCTL_TMR_TIMEBASE; 721 extern unsigned IOCTL_SOUND_MIXER_READ_ALTPCM; 722 extern unsigned IOCTL_SOUND_MIXER_READ_BASS; 723 extern unsigned IOCTL_SOUND_MIXER_READ_CAPS; 724 extern unsigned IOCTL_SOUND_MIXER_READ_CD; 725 extern unsigned IOCTL_SOUND_MIXER_READ_DEVMASK; 726 extern unsigned IOCTL_SOUND_MIXER_READ_ENHANCE; 727 extern unsigned IOCTL_SOUND_MIXER_READ_IGAIN; 728 extern unsigned IOCTL_SOUND_MIXER_READ_IMIX; 729 extern unsigned IOCTL_SOUND_MIXER_READ_LINE1; 730 extern unsigned IOCTL_SOUND_MIXER_READ_LINE2; 731 extern unsigned IOCTL_SOUND_MIXER_READ_LINE3; 732 extern unsigned IOCTL_SOUND_MIXER_READ_LINE; 733 extern unsigned IOCTL_SOUND_MIXER_READ_LOUD; 734 extern unsigned IOCTL_SOUND_MIXER_READ_MIC; 735 extern unsigned IOCTL_SOUND_MIXER_READ_MUTE; 736 extern unsigned IOCTL_SOUND_MIXER_READ_OGAIN; 737 extern unsigned IOCTL_SOUND_MIXER_READ_PCM; 738 extern unsigned IOCTL_SOUND_MIXER_READ_RECLEV; 739 extern unsigned IOCTL_SOUND_MIXER_READ_RECMASK; 740 extern unsigned IOCTL_SOUND_MIXER_READ_RECSRC; 741 extern unsigned IOCTL_SOUND_MIXER_READ_SPEAKER; 742 extern unsigned IOCTL_SOUND_MIXER_READ_STEREODEVS; 743 extern unsigned IOCTL_SOUND_MIXER_READ_SYNTH; 744 extern unsigned IOCTL_SOUND_MIXER_READ_TREBLE; 745 extern unsigned IOCTL_SOUND_MIXER_READ_VOLUME; 746 extern unsigned IOCTL_SOUND_MIXER_WRITE_ALTPCM; 747 extern unsigned IOCTL_SOUND_MIXER_WRITE_BASS; 748 extern unsigned IOCTL_SOUND_MIXER_WRITE_CD; 749 extern unsigned IOCTL_SOUND_MIXER_WRITE_ENHANCE; 750 extern unsigned IOCTL_SOUND_MIXER_WRITE_IGAIN; 751 extern unsigned IOCTL_SOUND_MIXER_WRITE_IMIX; 752 extern unsigned IOCTL_SOUND_MIXER_WRITE_LINE1; 753 extern unsigned IOCTL_SOUND_MIXER_WRITE_LINE2; 754 extern unsigned IOCTL_SOUND_MIXER_WRITE_LINE3; 755 extern unsigned IOCTL_SOUND_MIXER_WRITE_LINE; 756 extern unsigned IOCTL_SOUND_MIXER_WRITE_LOUD; 757 extern unsigned IOCTL_SOUND_MIXER_WRITE_MIC; 758 extern unsigned IOCTL_SOUND_MIXER_WRITE_MUTE; 759 extern unsigned IOCTL_SOUND_MIXER_WRITE_OGAIN; 760 extern unsigned IOCTL_SOUND_MIXER_WRITE_PCM; 761 extern unsigned IOCTL_SOUND_MIXER_WRITE_RECLEV; 762 extern unsigned IOCTL_SOUND_MIXER_WRITE_RECSRC; 763 extern unsigned IOCTL_SOUND_MIXER_WRITE_SPEAKER; 764 extern unsigned IOCTL_SOUND_MIXER_WRITE_SYNTH; 765 extern unsigned IOCTL_SOUND_MIXER_WRITE_TREBLE; 766 extern unsigned IOCTL_SOUND_MIXER_WRITE_VOLUME; 767 extern unsigned IOCTL_SOUND_PCM_READ_BITS; 768 extern unsigned IOCTL_SOUND_PCM_READ_CHANNELS; 769 extern unsigned IOCTL_SOUND_PCM_READ_FILTER; 770 extern unsigned IOCTL_SOUND_PCM_READ_RATE; 771 extern unsigned IOCTL_SOUND_PCM_WRITE_CHANNELS; 772 extern unsigned IOCTL_SOUND_PCM_WRITE_FILTER; 773 extern unsigned IOCTL_TCFLSH; 774 extern unsigned IOCTL_TCGETA; 775 extern unsigned IOCTL_TCGETS; 776 extern unsigned IOCTL_TCSBRK; 777 extern unsigned IOCTL_TCSBRKP; 778 extern unsigned IOCTL_TCSETA; 779 extern unsigned IOCTL_TCSETAF; 780 extern unsigned IOCTL_TCSETAW; 781 extern unsigned IOCTL_TCSETS; 782 extern unsigned IOCTL_TCSETSF; 783 extern unsigned IOCTL_TCSETSW; 784 extern unsigned IOCTL_TCXONC; 785 extern unsigned IOCTL_TIOCGLCKTRMIOS; 786 extern unsigned IOCTL_TIOCGSOFTCAR; 787 extern unsigned IOCTL_TIOCINQ; 788 extern unsigned IOCTL_TIOCLINUX; 789 extern unsigned IOCTL_TIOCSERCONFIG; 790 extern unsigned IOCTL_TIOCSERGETLSR; 791 extern unsigned IOCTL_TIOCSERGWILD; 792 extern unsigned IOCTL_TIOCSERSWILD; 793 extern unsigned IOCTL_TIOCSLCKTRMIOS; 794 extern unsigned IOCTL_TIOCSSOFTCAR; 795 extern unsigned IOCTL_VT_ACTIVATE; 796 extern unsigned IOCTL_VT_DISALLOCATE; 797 extern unsigned IOCTL_VT_GETMODE; 798 extern unsigned IOCTL_VT_GETSTATE; 799 extern unsigned IOCTL_VT_OPENQRY; 800 extern unsigned IOCTL_VT_RELDISP; 801 extern unsigned IOCTL_VT_RESIZE; 802 extern unsigned IOCTL_VT_RESIZEX; 803 extern unsigned IOCTL_VT_SENDSIG; 804 extern unsigned IOCTL_VT_SETMODE; 805 extern unsigned IOCTL_VT_WAITACTIVE; 806#endif 807#if SANITIZER_LINUX && !SANITIZER_ANDROID 808 extern unsigned IOCTL_CYGETDEFTHRESH; 809 extern unsigned IOCTL_CYGETDEFTIMEOUT; 810 extern unsigned IOCTL_CYGETMON; 811 extern unsigned IOCTL_CYGETTHRESH; 812 extern unsigned IOCTL_CYGETTIMEOUT; 813 extern unsigned IOCTL_CYSETDEFTHRESH; 814 extern unsigned IOCTL_CYSETDEFTIMEOUT; 815 extern unsigned IOCTL_CYSETTHRESH; 816 extern unsigned IOCTL_CYSETTIMEOUT; 817 extern unsigned IOCTL_EQL_EMANCIPATE; 818 extern unsigned IOCTL_EQL_ENSLAVE; 819 extern unsigned IOCTL_EQL_GETMASTRCFG; 820 extern unsigned IOCTL_EQL_GETSLAVECFG; 821 extern unsigned IOCTL_EQL_SETMASTRCFG; 822 extern unsigned IOCTL_EQL_SETSLAVECFG; 823 extern unsigned IOCTL_EVIOCGKEYCODE_V2; 824 extern unsigned IOCTL_EVIOCGPROP; 825 extern unsigned IOCTL_EVIOCSKEYCODE_V2; 826 extern unsigned IOCTL_FS_IOC_GETFLAGS; 827 extern unsigned IOCTL_FS_IOC_GETVERSION; 828 extern unsigned IOCTL_FS_IOC_SETFLAGS; 829 extern unsigned IOCTL_FS_IOC_SETVERSION; 830 extern unsigned IOCTL_GIO_CMAP; 831 extern unsigned IOCTL_GIO_FONT; 832 extern unsigned IOCTL_GIO_SCRNMAP; 833 extern unsigned IOCTL_GIO_UNIMAP; 834 extern unsigned IOCTL_GIO_UNISCRNMAP; 835 extern unsigned IOCTL_KDADDIO; 836 extern unsigned IOCTL_KDDELIO; 837 extern unsigned IOCTL_KDDISABIO; 838 extern unsigned IOCTL_KDENABIO; 839 extern unsigned IOCTL_KDGETKEYCODE; 840 extern unsigned IOCTL_KDGETLED; 841 extern unsigned IOCTL_KDGETMODE; 842 extern unsigned IOCTL_KDGKBDIACR; 843 extern unsigned IOCTL_KDGKBENT; 844 extern unsigned IOCTL_KDGKBLED; 845 extern unsigned IOCTL_KDGKBMETA; 846 extern unsigned IOCTL_KDGKBMODE; 847 extern unsigned IOCTL_KDGKBSENT; 848 extern unsigned IOCTL_KDGKBTYPE; 849 extern unsigned IOCTL_KDMAPDISP; 850 extern unsigned IOCTL_KDMKTONE; 851 extern unsigned IOCTL_KDSETKEYCODE; 852 extern unsigned IOCTL_KDSETLED; 853 extern unsigned IOCTL_KDSETMODE; 854 extern unsigned IOCTL_KDSIGACCEPT; 855 extern unsigned IOCTL_KDSKBDIACR; 856 extern unsigned IOCTL_KDSKBENT; 857 extern unsigned IOCTL_KDSKBLED; 858 extern unsigned IOCTL_KDSKBMETA; 859 extern unsigned IOCTL_KDSKBMODE; 860 extern unsigned IOCTL_KDSKBSENT; 861 extern unsigned IOCTL_KDUNMAPDISP; 862 extern unsigned IOCTL_KIOCSOUND; 863 extern unsigned IOCTL_LPABORT; 864 extern unsigned IOCTL_LPABORTOPEN; 865 extern unsigned IOCTL_LPCAREFUL; 866 extern unsigned IOCTL_LPCHAR; 867 extern unsigned IOCTL_LPGETIRQ; 868 extern unsigned IOCTL_LPGETSTATUS; 869 extern unsigned IOCTL_LPRESET; 870 extern unsigned IOCTL_LPSETIRQ; 871 extern unsigned IOCTL_LPTIME; 872 extern unsigned IOCTL_LPWAIT; 873 extern unsigned IOCTL_MTIOCGETCONFIG; 874 extern unsigned IOCTL_MTIOCSETCONFIG; 875 extern unsigned IOCTL_PIO_CMAP; 876 extern unsigned IOCTL_PIO_FONT; 877 extern unsigned IOCTL_PIO_SCRNMAP; 878 extern unsigned IOCTL_PIO_UNIMAP; 879 extern unsigned IOCTL_PIO_UNIMAPCLR; 880 extern unsigned IOCTL_PIO_UNISCRNMAP; 881 extern unsigned IOCTL_SCSI_IOCTL_GET_IDLUN; 882 extern unsigned IOCTL_SCSI_IOCTL_PROBE_HOST; 883 extern unsigned IOCTL_SCSI_IOCTL_TAGGED_DISABLE; 884 extern unsigned IOCTL_SCSI_IOCTL_TAGGED_ENABLE; 885 extern unsigned IOCTL_SIOCAIPXITFCRT; 886 extern unsigned IOCTL_SIOCAIPXPRISLT; 887 extern unsigned IOCTL_SIOCAX25ADDUID; 888 extern unsigned IOCTL_SIOCAX25DELUID; 889 extern unsigned IOCTL_SIOCAX25GETPARMS; 890 extern unsigned IOCTL_SIOCAX25GETUID; 891 extern unsigned IOCTL_SIOCAX25NOUID; 892 extern unsigned IOCTL_SIOCAX25SETPARMS; 893 extern unsigned IOCTL_SIOCDEVPLIP; 894 extern unsigned IOCTL_SIOCIPXCFGDATA; 895 extern unsigned IOCTL_SIOCNRDECOBS; 896 extern unsigned IOCTL_SIOCNRGETPARMS; 897 extern unsigned IOCTL_SIOCNRRTCTL; 898 extern unsigned IOCTL_SIOCNRSETPARMS; 899 extern unsigned IOCTL_SNDCTL_DSP_GETISPACE; 900 extern unsigned IOCTL_SNDCTL_DSP_GETOSPACE; 901 extern unsigned IOCTL_TIOCGSERIAL; 902 extern unsigned IOCTL_TIOCSERGETMULTI; 903 extern unsigned IOCTL_TIOCSERSETMULTI; 904 extern unsigned IOCTL_TIOCSSERIAL; 905#endif 906 907} // namespace __sanitizer 908 909#endif 910 911