unistd_linux_386.go (64158B)
1 // Code generated by 'ccgo unistd/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o unistd/unistd_linux_386.go -pkgname unistd', DO NOT EDIT. 2 3 package unistd 4 5 import ( 6 "math" 7 "reflect" 8 "sync/atomic" 9 "unsafe" 10 ) 11 12 var _ = math.Pi 13 var _ reflect.Kind 14 var _ atomic.Value 15 var _ unsafe.Pointer 16 17 const ( 18 F_LOCK = 1 19 F_OK = 0 20 F_TEST = 3 21 F_TLOCK = 2 22 F_ULOCK = 0 23 L_INCR = 1 24 L_SET = 0 25 L_XTND = 2 26 R_OK = 4 27 SEEK_CUR = 1 28 SEEK_END = 2 29 SEEK_SET = 0 30 STDERR_FILENO = 2 31 STDIN_FILENO = 0 32 STDOUT_FILENO = 1 33 W_OK = 2 34 X_OK = 1 35 X_ATFILE_SOURCE = 1 36 X_BITS_POSIX_OPT_H = 1 37 X_BITS_TIME64_H = 1 38 X_BITS_TYPESIZES_H = 1 39 X_BITS_TYPES_H = 1 40 X_BSD_SIZE_T_ = 0 41 X_BSD_SIZE_T_DEFINED_ = 0 42 X_DEFAULT_SOURCE = 1 43 X_FEATURES_H = 1 44 X_FILE_OFFSET_BITS = 64 45 X_GCC_SIZE_T = 0 46 X_GETOPT_CORE_H = 1 47 X_GETOPT_POSIX_H = 1 48 X_ILP32 = 1 49 X_LFS64_ASYNCHRONOUS_IO = 1 50 X_LFS64_LARGEFILE = 1 51 X_LFS64_STDIO = 1 52 X_LFS_ASYNCHRONOUS_IO = 1 53 X_LFS_LARGEFILE = 1 54 X_POSIX2_CHAR_TERM = 200809 55 X_POSIX2_C_BIND = 200809 56 X_POSIX2_C_DEV = 200809 57 X_POSIX2_C_VERSION = 200809 58 X_POSIX2_LOCALEDEF = 200809 59 X_POSIX2_SW_DEV = 200809 60 X_POSIX2_VERSION = 200809 61 X_POSIX_ADVISORY_INFO = 200809 62 X_POSIX_ASYNCHRONOUS_IO = 200809 63 X_POSIX_ASYNC_IO = 1 64 X_POSIX_BARRIERS = 200809 65 X_POSIX_CHOWN_RESTRICTED = 0 66 X_POSIX_CLOCK_SELECTION = 200809 67 X_POSIX_CPUTIME = 0 68 X_POSIX_C_SOURCE = 200809 69 X_POSIX_FSYNC = 200809 70 X_POSIX_IPV6 = 200809 71 X_POSIX_JOB_CONTROL = 1 72 X_POSIX_MAPPED_FILES = 200809 73 X_POSIX_MEMLOCK = 200809 74 X_POSIX_MEMLOCK_RANGE = 200809 75 X_POSIX_MEMORY_PROTECTION = 200809 76 X_POSIX_MESSAGE_PASSING = 200809 77 X_POSIX_MONOTONIC_CLOCK = 0 78 X_POSIX_NO_TRUNC = 1 79 X_POSIX_PRIORITIZED_IO = 200809 80 X_POSIX_PRIORITY_SCHEDULING = 200809 81 X_POSIX_RAW_SOCKETS = 200809 82 X_POSIX_READER_WRITER_LOCKS = 200809 83 X_POSIX_REALTIME_SIGNALS = 200809 84 X_POSIX_REENTRANT_FUNCTIONS = 1 85 X_POSIX_REGEXP = 1 86 X_POSIX_SAVED_IDS = 1 87 X_POSIX_SEMAPHORES = 200809 88 X_POSIX_SHARED_MEMORY_OBJECTS = 200809 89 X_POSIX_SHELL = 1 90 X_POSIX_SOURCE = 1 91 X_POSIX_SPAWN = 200809 92 X_POSIX_SPIN_LOCKS = 200809 93 X_POSIX_SPORADIC_SERVER = -1 94 X_POSIX_SYNCHRONIZED_IO = 200809 95 X_POSIX_THREADS = 200809 96 X_POSIX_THREAD_ATTR_STACKADDR = 200809 97 X_POSIX_THREAD_ATTR_STACKSIZE = 200809 98 X_POSIX_THREAD_CPUTIME = 0 99 X_POSIX_THREAD_PRIORITY_SCHEDULING = 200809 100 X_POSIX_THREAD_PRIO_INHERIT = 200809 101 X_POSIX_THREAD_PRIO_PROTECT = 200809 102 X_POSIX_THREAD_PROCESS_SHARED = 200809 103 X_POSIX_THREAD_ROBUST_PRIO_INHERIT = 200809 104 X_POSIX_THREAD_ROBUST_PRIO_PROTECT = -1 105 X_POSIX_THREAD_SAFE_FUNCTIONS = 200809 106 X_POSIX_THREAD_SPORADIC_SERVER = -1 107 X_POSIX_TIMEOUTS = 200809 108 X_POSIX_TIMERS = 200809 109 X_POSIX_TRACE = -1 110 X_POSIX_TRACE_EVENT_FILTER = -1 111 X_POSIX_TRACE_INHERIT = -1 112 X_POSIX_TRACE_LOG = -1 113 X_POSIX_TYPED_MEMORY_OBJECTS = -1 114 X_POSIX_V6_ILP32_OFF32 = 1 115 X_POSIX_V6_ILP32_OFFBIG = 1 116 X_POSIX_V7_ILP32_OFF32 = 1 117 X_POSIX_V7_ILP32_OFFBIG = 1 118 X_POSIX_VDISABLE = 0 119 X_POSIX_VERSION = 200809 120 X_SIZET_ = 0 121 X_SIZE_T = 0 122 X_SIZE_T_ = 0 123 X_SIZE_T_DECLARED = 0 124 X_SIZE_T_DEFINED = 0 125 X_SIZE_T_DEFINED_ = 0 126 X_STDC_PREDEF_H = 1 127 X_SYS_CDEFS_H = 1 128 X_SYS_SIZE_T_H = 0 129 X_T_SIZE = 0 130 X_T_SIZE_ = 0 131 X_UNISTD_H = 1 132 X_XBS5_ILP32_OFF32 = 1 133 X_XBS5_ILP32_OFFBIG = 1 134 X_XOPEN_ENH_I18N = 1 135 X_XOPEN_LEGACY = 1 136 X_XOPEN_REALTIME = 1 137 X_XOPEN_REALTIME_THREADS = 1 138 X_XOPEN_SHM = 1 139 X_XOPEN_UNIX = 1 140 X_XOPEN_VERSION = 700 141 X_XOPEN_XCU_VERSION = 4 142 X_XOPEN_XPG2 = 1 143 X_XOPEN_XPG3 = 1 144 X_XOPEN_XPG4 = 1 145 I386 = 1 146 Linux = 1 147 Unix = 1 148 ) 149 150 // Get the `_PC_*' symbols for the NAME argument to `pathconf' and `fpathconf'; 151 // the `_SC_*' symbols for the NAME argument to `sysconf'; 152 // and the `_CS_*' symbols for the NAME argument to `confstr'. 153 // `sysconf', `pathconf', and `confstr' NAME values. Generic version. 154 // Copyright (C) 1993-2020 Free Software Foundation, Inc. 155 // This file is part of the GNU C Library. 156 // 157 // The GNU C Library is free software; you can redistribute it and/or 158 // modify it under the terms of the GNU Lesser General Public 159 // License as published by the Free Software Foundation; either 160 // version 2.1 of the License, or (at your option) any later version. 161 // 162 // The GNU C Library is distributed in the hope that it will be useful, 163 // but WITHOUT ANY WARRANTY; without even the implied warranty of 164 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 165 // Lesser General Public License for more details. 166 // 167 // You should have received a copy of the GNU Lesser General Public 168 // License along with the GNU C Library; if not, see 169 // <https://www.gnu.org/licenses/>. 170 171 // Values for the NAME argument to `pathconf' and `fpathconf'. 172 const ( /* confname.h:24:1: */ 173 X_PC_LINK_MAX = 0 174 X_PC_MAX_CANON = 1 175 X_PC_MAX_INPUT = 2 176 X_PC_NAME_MAX = 3 177 X_PC_PATH_MAX = 4 178 X_PC_PIPE_BUF = 5 179 X_PC_CHOWN_RESTRICTED = 6 180 X_PC_NO_TRUNC = 7 181 X_PC_VDISABLE = 8 182 X_PC_SYNC_IO = 9 183 X_PC_ASYNC_IO = 10 184 X_PC_PRIO_IO = 11 185 X_PC_SOCK_MAXBUF = 12 186 X_PC_FILESIZEBITS = 13 187 X_PC_REC_INCR_XFER_SIZE = 14 188 X_PC_REC_MAX_XFER_SIZE = 15 189 X_PC_REC_MIN_XFER_SIZE = 16 190 X_PC_REC_XFER_ALIGN = 17 191 X_PC_ALLOC_SIZE_MIN = 18 192 X_PC_SYMLINK_MAX = 19 193 X_PC_2_SYMLINKS = 20 194 ) 195 196 // Values for the NAME argument to `confstr'. 197 const ( /* confname.h:533:1: */ 198 X_CS_PATH = 0 // The default search path. 199 200 X_CS_V6_WIDTH_RESTRICTED_ENVS = 1 201 202 X_CS_GNU_LIBC_VERSION = 2 203 X_CS_GNU_LIBPTHREAD_VERSION = 3 204 205 X_CS_V5_WIDTH_RESTRICTED_ENVS = 4 206 207 X_CS_V7_WIDTH_RESTRICTED_ENVS = 5 208 209 X_CS_LFS_CFLAGS = 1000 210 X_CS_LFS_LDFLAGS = 1001 211 X_CS_LFS_LIBS = 1002 212 X_CS_LFS_LINTFLAGS = 1003 213 X_CS_LFS64_CFLAGS = 1004 214 X_CS_LFS64_LDFLAGS = 1005 215 X_CS_LFS64_LIBS = 1006 216 X_CS_LFS64_LINTFLAGS = 1007 217 218 X_CS_XBS5_ILP32_OFF32_CFLAGS = 1100 219 X_CS_XBS5_ILP32_OFF32_LDFLAGS = 1101 220 X_CS_XBS5_ILP32_OFF32_LIBS = 1102 221 X_CS_XBS5_ILP32_OFF32_LINTFLAGS = 1103 222 X_CS_XBS5_ILP32_OFFBIG_CFLAGS = 1104 223 X_CS_XBS5_ILP32_OFFBIG_LDFLAGS = 1105 224 X_CS_XBS5_ILP32_OFFBIG_LIBS = 1106 225 X_CS_XBS5_ILP32_OFFBIG_LINTFLAGS = 1107 226 X_CS_XBS5_LP64_OFF64_CFLAGS = 1108 227 X_CS_XBS5_LP64_OFF64_LDFLAGS = 1109 228 X_CS_XBS5_LP64_OFF64_LIBS = 1110 229 X_CS_XBS5_LP64_OFF64_LINTFLAGS = 1111 230 X_CS_XBS5_LPBIG_OFFBIG_CFLAGS = 1112 231 X_CS_XBS5_LPBIG_OFFBIG_LDFLAGS = 1113 232 X_CS_XBS5_LPBIG_OFFBIG_LIBS = 1114 233 X_CS_XBS5_LPBIG_OFFBIG_LINTFLAGS = 1115 234 235 X_CS_POSIX_V6_ILP32_OFF32_CFLAGS = 1116 236 X_CS_POSIX_V6_ILP32_OFF32_LDFLAGS = 1117 237 X_CS_POSIX_V6_ILP32_OFF32_LIBS = 1118 238 X_CS_POSIX_V6_ILP32_OFF32_LINTFLAGS = 1119 239 X_CS_POSIX_V6_ILP32_OFFBIG_CFLAGS = 1120 240 X_CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS = 1121 241 X_CS_POSIX_V6_ILP32_OFFBIG_LIBS = 1122 242 X_CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS = 1123 243 X_CS_POSIX_V6_LP64_OFF64_CFLAGS = 1124 244 X_CS_POSIX_V6_LP64_OFF64_LDFLAGS = 1125 245 X_CS_POSIX_V6_LP64_OFF64_LIBS = 1126 246 X_CS_POSIX_V6_LP64_OFF64_LINTFLAGS = 1127 247 X_CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS = 1128 248 X_CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS = 1129 249 X_CS_POSIX_V6_LPBIG_OFFBIG_LIBS = 1130 250 X_CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS = 1131 251 252 X_CS_POSIX_V7_ILP32_OFF32_CFLAGS = 1132 253 X_CS_POSIX_V7_ILP32_OFF32_LDFLAGS = 1133 254 X_CS_POSIX_V7_ILP32_OFF32_LIBS = 1134 255 X_CS_POSIX_V7_ILP32_OFF32_LINTFLAGS = 1135 256 X_CS_POSIX_V7_ILP32_OFFBIG_CFLAGS = 1136 257 X_CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS = 1137 258 X_CS_POSIX_V7_ILP32_OFFBIG_LIBS = 1138 259 X_CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS = 1139 260 X_CS_POSIX_V7_LP64_OFF64_CFLAGS = 1140 261 X_CS_POSIX_V7_LP64_OFF64_LDFLAGS = 1141 262 X_CS_POSIX_V7_LP64_OFF64_LIBS = 1142 263 X_CS_POSIX_V7_LP64_OFF64_LINTFLAGS = 1143 264 X_CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS = 1144 265 X_CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS = 1145 266 X_CS_POSIX_V7_LPBIG_OFFBIG_LIBS = 1146 267 X_CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS = 1147 268 269 X_CS_V6_ENV = 1148 270 X_CS_V7_ENV = 1149 271 ) 272 273 // Values for the argument to `sysconf'. 274 const ( /* confname.h:71:1: */ 275 X_SC_ARG_MAX = 0 276 X_SC_CHILD_MAX = 1 277 X_SC_CLK_TCK = 2 278 X_SC_NGROUPS_MAX = 3 279 X_SC_OPEN_MAX = 4 280 X_SC_STREAM_MAX = 5 281 X_SC_TZNAME_MAX = 6 282 X_SC_JOB_CONTROL = 7 283 X_SC_SAVED_IDS = 8 284 X_SC_REALTIME_SIGNALS = 9 285 X_SC_PRIORITY_SCHEDULING = 10 286 X_SC_TIMERS = 11 287 X_SC_ASYNCHRONOUS_IO = 12 288 X_SC_PRIORITIZED_IO = 13 289 X_SC_SYNCHRONIZED_IO = 14 290 X_SC_FSYNC = 15 291 X_SC_MAPPED_FILES = 16 292 X_SC_MEMLOCK = 17 293 X_SC_MEMLOCK_RANGE = 18 294 X_SC_MEMORY_PROTECTION = 19 295 X_SC_MESSAGE_PASSING = 20 296 X_SC_SEMAPHORES = 21 297 X_SC_SHARED_MEMORY_OBJECTS = 22 298 X_SC_AIO_LISTIO_MAX = 23 299 X_SC_AIO_MAX = 24 300 X_SC_AIO_PRIO_DELTA_MAX = 25 301 X_SC_DELAYTIMER_MAX = 26 302 X_SC_MQ_OPEN_MAX = 27 303 X_SC_MQ_PRIO_MAX = 28 304 X_SC_VERSION = 29 305 X_SC_PAGESIZE = 30 306 X_SC_RTSIG_MAX = 31 307 X_SC_SEM_NSEMS_MAX = 32 308 X_SC_SEM_VALUE_MAX = 33 309 X_SC_SIGQUEUE_MAX = 34 310 X_SC_TIMER_MAX = 35 311 312 // Values for the argument to `sysconf' 313 // corresponding to _POSIX2_* symbols. 314 X_SC_BC_BASE_MAX = 36 315 X_SC_BC_DIM_MAX = 37 316 X_SC_BC_SCALE_MAX = 38 317 X_SC_BC_STRING_MAX = 39 318 X_SC_COLL_WEIGHTS_MAX = 40 319 X_SC_EQUIV_CLASS_MAX = 41 320 X_SC_EXPR_NEST_MAX = 42 321 X_SC_LINE_MAX = 43 322 X_SC_RE_DUP_MAX = 44 323 X_SC_CHARCLASS_NAME_MAX = 45 324 325 X_SC_2_VERSION = 46 326 X_SC_2_C_BIND = 47 327 X_SC_2_C_DEV = 48 328 X_SC_2_FORT_DEV = 49 329 X_SC_2_FORT_RUN = 50 330 X_SC_2_SW_DEV = 51 331 X_SC_2_LOCALEDEF = 52 332 333 X_SC_PII = 53 334 X_SC_PII_XTI = 54 335 X_SC_PII_SOCKET = 55 336 X_SC_PII_INTERNET = 56 337 X_SC_PII_OSI = 57 338 X_SC_POLL = 58 339 X_SC_SELECT = 59 340 X_SC_UIO_MAXIOV = 60 341 X_SC_IOV_MAX = 60 342 X_SC_PII_INTERNET_STREAM = 61 343 X_SC_PII_INTERNET_DGRAM = 62 344 X_SC_PII_OSI_COTS = 63 345 X_SC_PII_OSI_CLTS = 64 346 X_SC_PII_OSI_M = 65 347 X_SC_T_IOV_MAX = 66 348 349 // Values according to POSIX 1003.1c (POSIX threads). 350 X_SC_THREADS = 67 351 X_SC_THREAD_SAFE_FUNCTIONS = 68 352 X_SC_GETGR_R_SIZE_MAX = 69 353 X_SC_GETPW_R_SIZE_MAX = 70 354 X_SC_LOGIN_NAME_MAX = 71 355 X_SC_TTY_NAME_MAX = 72 356 X_SC_THREAD_DESTRUCTOR_ITERATIONS = 73 357 X_SC_THREAD_KEYS_MAX = 74 358 X_SC_THREAD_STACK_MIN = 75 359 X_SC_THREAD_THREADS_MAX = 76 360 X_SC_THREAD_ATTR_STACKADDR = 77 361 X_SC_THREAD_ATTR_STACKSIZE = 78 362 X_SC_THREAD_PRIORITY_SCHEDULING = 79 363 X_SC_THREAD_PRIO_INHERIT = 80 364 X_SC_THREAD_PRIO_PROTECT = 81 365 X_SC_THREAD_PROCESS_SHARED = 82 366 367 X_SC_NPROCESSORS_CONF = 83 368 X_SC_NPROCESSORS_ONLN = 84 369 X_SC_PHYS_PAGES = 85 370 X_SC_AVPHYS_PAGES = 86 371 X_SC_ATEXIT_MAX = 87 372 X_SC_PASS_MAX = 88 373 374 X_SC_XOPEN_VERSION = 89 375 X_SC_XOPEN_XCU_VERSION = 90 376 X_SC_XOPEN_UNIX = 91 377 X_SC_XOPEN_CRYPT = 92 378 X_SC_XOPEN_ENH_I18N = 93 379 X_SC_XOPEN_SHM = 94 380 381 X_SC_2_CHAR_TERM = 95 382 X_SC_2_C_VERSION = 96 383 X_SC_2_UPE = 97 384 385 X_SC_XOPEN_XPG2 = 98 386 X_SC_XOPEN_XPG3 = 99 387 X_SC_XOPEN_XPG4 = 100 388 389 X_SC_CHAR_BIT = 101 390 X_SC_CHAR_MAX = 102 391 X_SC_CHAR_MIN = 103 392 X_SC_INT_MAX = 104 393 X_SC_INT_MIN = 105 394 X_SC_LONG_BIT = 106 395 X_SC_WORD_BIT = 107 396 X_SC_MB_LEN_MAX = 108 397 X_SC_NZERO = 109 398 X_SC_SSIZE_MAX = 110 399 X_SC_SCHAR_MAX = 111 400 X_SC_SCHAR_MIN = 112 401 X_SC_SHRT_MAX = 113 402 X_SC_SHRT_MIN = 114 403 X_SC_UCHAR_MAX = 115 404 X_SC_UINT_MAX = 116 405 X_SC_ULONG_MAX = 117 406 X_SC_USHRT_MAX = 118 407 408 X_SC_NL_ARGMAX = 119 409 X_SC_NL_LANGMAX = 120 410 X_SC_NL_MSGMAX = 121 411 X_SC_NL_NMAX = 122 412 X_SC_NL_SETMAX = 123 413 X_SC_NL_TEXTMAX = 124 414 415 X_SC_XBS5_ILP32_OFF32 = 125 416 X_SC_XBS5_ILP32_OFFBIG = 126 417 X_SC_XBS5_LP64_OFF64 = 127 418 X_SC_XBS5_LPBIG_OFFBIG = 128 419 420 X_SC_XOPEN_LEGACY = 129 421 X_SC_XOPEN_REALTIME = 130 422 X_SC_XOPEN_REALTIME_THREADS = 131 423 424 X_SC_ADVISORY_INFO = 132 425 X_SC_BARRIERS = 133 426 X_SC_BASE = 134 427 X_SC_C_LANG_SUPPORT = 135 428 X_SC_C_LANG_SUPPORT_R = 136 429 X_SC_CLOCK_SELECTION = 137 430 X_SC_CPUTIME = 138 431 X_SC_THREAD_CPUTIME = 139 432 X_SC_DEVICE_IO = 140 433 X_SC_DEVICE_SPECIFIC = 141 434 X_SC_DEVICE_SPECIFIC_R = 142 435 X_SC_FD_MGMT = 143 436 X_SC_FIFO = 144 437 X_SC_PIPE = 145 438 X_SC_FILE_ATTRIBUTES = 146 439 X_SC_FILE_LOCKING = 147 440 X_SC_FILE_SYSTEM = 148 441 X_SC_MONOTONIC_CLOCK = 149 442 X_SC_MULTI_PROCESS = 150 443 X_SC_SINGLE_PROCESS = 151 444 X_SC_NETWORKING = 152 445 X_SC_READER_WRITER_LOCKS = 153 446 X_SC_SPIN_LOCKS = 154 447 X_SC_REGEXP = 155 448 X_SC_REGEX_VERSION = 156 449 X_SC_SHELL = 157 450 X_SC_SIGNALS = 158 451 X_SC_SPAWN = 159 452 X_SC_SPORADIC_SERVER = 160 453 X_SC_THREAD_SPORADIC_SERVER = 161 454 X_SC_SYSTEM_DATABASE = 162 455 X_SC_SYSTEM_DATABASE_R = 163 456 X_SC_TIMEOUTS = 164 457 X_SC_TYPED_MEMORY_OBJECTS = 165 458 X_SC_USER_GROUPS = 166 459 X_SC_USER_GROUPS_R = 167 460 X_SC_2_PBS = 168 461 X_SC_2_PBS_ACCOUNTING = 169 462 X_SC_2_PBS_LOCATE = 170 463 X_SC_2_PBS_MESSAGE = 171 464 X_SC_2_PBS_TRACK = 172 465 X_SC_SYMLOOP_MAX = 173 466 X_SC_STREAMS = 174 467 X_SC_2_PBS_CHECKPOINT = 175 468 469 X_SC_V6_ILP32_OFF32 = 176 470 X_SC_V6_ILP32_OFFBIG = 177 471 X_SC_V6_LP64_OFF64 = 178 472 X_SC_V6_LPBIG_OFFBIG = 179 473 474 X_SC_HOST_NAME_MAX = 180 475 X_SC_TRACE = 181 476 X_SC_TRACE_EVENT_FILTER = 182 477 X_SC_TRACE_INHERIT = 183 478 X_SC_TRACE_LOG = 184 479 480 X_SC_LEVEL1_ICACHE_SIZE = 185 481 X_SC_LEVEL1_ICACHE_ASSOC = 186 482 X_SC_LEVEL1_ICACHE_LINESIZE = 187 483 X_SC_LEVEL1_DCACHE_SIZE = 188 484 X_SC_LEVEL1_DCACHE_ASSOC = 189 485 X_SC_LEVEL1_DCACHE_LINESIZE = 190 486 X_SC_LEVEL2_CACHE_SIZE = 191 487 X_SC_LEVEL2_CACHE_ASSOC = 192 488 X_SC_LEVEL2_CACHE_LINESIZE = 193 489 X_SC_LEVEL3_CACHE_SIZE = 194 490 X_SC_LEVEL3_CACHE_ASSOC = 195 491 X_SC_LEVEL3_CACHE_LINESIZE = 196 492 X_SC_LEVEL4_CACHE_SIZE = 197 493 X_SC_LEVEL4_CACHE_ASSOC = 198 494 X_SC_LEVEL4_CACHE_LINESIZE = 199 495 // Leave room here, maybe we need a few more cache levels some day. 496 497 X_SC_IPV6 = 235 498 X_SC_RAW_SOCKETS = 236 499 500 X_SC_V7_ILP32_OFF32 = 237 501 X_SC_V7_ILP32_OFFBIG = 238 502 X_SC_V7_LP64_OFF64 = 239 503 X_SC_V7_LPBIG_OFFBIG = 240 504 505 X_SC_SS_REPL_MAX = 241 506 507 X_SC_TRACE_EVENT_NAME_MAX = 242 508 X_SC_TRACE_NAME_MAX = 243 509 X_SC_TRACE_SYS_MAX = 244 510 X_SC_TRACE_USER_EVENT_MAX = 245 511 512 X_SC_XOPEN_STREAMS = 246 513 514 X_SC_THREAD_ROBUST_PRIO_INHERIT = 247 515 X_SC_THREAD_ROBUST_PRIO_PROTECT = 248 516 ) 517 518 type Ptrdiff_t = int32 /* <builtin>:3:26 */ 519 520 type Size_t = uint32 /* <builtin>:9:23 */ 521 522 type Wchar_t = int32 /* <builtin>:15:24 */ 523 524 type X__builtin_va_list = uintptr /* <builtin>:46:14 */ 525 type X__float128 = float64 /* <builtin>:47:21 */ 526 527 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 528 // This file is part of the GNU C Library. 529 // 530 // The GNU C Library is free software; you can redistribute it and/or 531 // modify it under the terms of the GNU Lesser General Public 532 // License as published by the Free Software Foundation; either 533 // version 2.1 of the License, or (at your option) any later version. 534 // 535 // The GNU C Library is distributed in the hope that it will be useful, 536 // but WITHOUT ANY WARRANTY; without even the implied warranty of 537 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 538 // Lesser General Public License for more details. 539 // 540 // You should have received a copy of the GNU Lesser General Public 541 // License along with the GNU C Library; if not, see 542 // <https://www.gnu.org/licenses/>. 543 544 // POSIX Standard: 2.10 Symbolic Constants <unistd.h> 545 546 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 547 // This file is part of the GNU C Library. 548 // 549 // The GNU C Library is free software; you can redistribute it and/or 550 // modify it under the terms of the GNU Lesser General Public 551 // License as published by the Free Software Foundation; either 552 // version 2.1 of the License, or (at your option) any later version. 553 // 554 // The GNU C Library is distributed in the hope that it will be useful, 555 // but WITHOUT ANY WARRANTY; without even the implied warranty of 556 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 557 // Lesser General Public License for more details. 558 // 559 // You should have received a copy of the GNU Lesser General Public 560 // License along with the GNU C Library; if not, see 561 // <https://www.gnu.org/licenses/>. 562 563 // These are defined by the user (or the compiler) 564 // to specify the desired environment: 565 // 566 // __STRICT_ANSI__ ISO Standard C. 567 // _ISOC99_SOURCE Extensions to ISO C89 from ISO C99. 568 // _ISOC11_SOURCE Extensions to ISO C99 from ISO C11. 569 // _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X. 570 // __STDC_WANT_LIB_EXT2__ 571 // Extensions to ISO C99 from TR 27431-2:2010. 572 // __STDC_WANT_IEC_60559_BFP_EXT__ 573 // Extensions to ISO C11 from TS 18661-1:2014. 574 // __STDC_WANT_IEC_60559_FUNCS_EXT__ 575 // Extensions to ISO C11 from TS 18661-4:2015. 576 // __STDC_WANT_IEC_60559_TYPES_EXT__ 577 // Extensions to ISO C11 from TS 18661-3:2015. 578 // 579 // _POSIX_SOURCE IEEE Std 1003.1. 580 // _POSIX_C_SOURCE If ==1, like _POSIX_SOURCE; if >=2 add IEEE Std 1003.2; 581 // if >=199309L, add IEEE Std 1003.1b-1993; 582 // if >=199506L, add IEEE Std 1003.1c-1995; 583 // if >=200112L, all of IEEE 1003.1-2004 584 // if >=200809L, all of IEEE 1003.1-2008 585 // _XOPEN_SOURCE Includes POSIX and XPG things. Set to 500 if 586 // Single Unix conformance is wanted, to 600 for the 587 // sixth revision, to 700 for the seventh revision. 588 // _XOPEN_SOURCE_EXTENDED XPG things and X/Open Unix extensions. 589 // _LARGEFILE_SOURCE Some more functions for correct standard I/O. 590 // _LARGEFILE64_SOURCE Additional functionality from LFS for large files. 591 // _FILE_OFFSET_BITS=N Select default filesystem interface. 592 // _ATFILE_SOURCE Additional *at interfaces. 593 // _GNU_SOURCE All of the above, plus GNU extensions. 594 // _DEFAULT_SOURCE The default set of features (taking precedence over 595 // __STRICT_ANSI__). 596 // 597 // _FORTIFY_SOURCE Add security hardening to many library functions. 598 // Set to 1 or 2; 2 performs stricter checks than 1. 599 // 600 // _REENTRANT, _THREAD_SAFE 601 // Obsolete; equivalent to _POSIX_C_SOURCE=199506L. 602 // 603 // The `-ansi' switch to the GNU C compiler, and standards conformance 604 // options such as `-std=c99', define __STRICT_ANSI__. If none of 605 // these are defined, or if _DEFAULT_SOURCE is defined, the default is 606 // to have _POSIX_SOURCE set to one and _POSIX_C_SOURCE set to 607 // 200809L, as well as enabling miscellaneous functions from BSD and 608 // SVID. If more than one of these are defined, they accumulate. For 609 // example __STRICT_ANSI__, _POSIX_SOURCE and _POSIX_C_SOURCE together 610 // give you ISO C, 1003.1, and 1003.2, but nothing else. 611 // 612 // These are defined by this file and are used by the 613 // header files to decide what to declare or define: 614 // 615 // __GLIBC_USE (F) Define things from feature set F. This is defined 616 // to 1 or 0; the subsequent macros are either defined 617 // or undefined, and those tests should be moved to 618 // __GLIBC_USE. 619 // __USE_ISOC11 Define ISO C11 things. 620 // __USE_ISOC99 Define ISO C99 things. 621 // __USE_ISOC95 Define ISO C90 AMD1 (C95) things. 622 // __USE_ISOCXX11 Define ISO C++11 things. 623 // __USE_POSIX Define IEEE Std 1003.1 things. 624 // __USE_POSIX2 Define IEEE Std 1003.2 things. 625 // __USE_POSIX199309 Define IEEE Std 1003.1, and .1b things. 626 // __USE_POSIX199506 Define IEEE Std 1003.1, .1b, .1c and .1i things. 627 // __USE_XOPEN Define XPG things. 628 // __USE_XOPEN_EXTENDED Define X/Open Unix things. 629 // __USE_UNIX98 Define Single Unix V2 things. 630 // __USE_XOPEN2K Define XPG6 things. 631 // __USE_XOPEN2KXSI Define XPG6 XSI things. 632 // __USE_XOPEN2K8 Define XPG7 things. 633 // __USE_XOPEN2K8XSI Define XPG7 XSI things. 634 // __USE_LARGEFILE Define correct standard I/O things. 635 // __USE_LARGEFILE64 Define LFS things with separate names. 636 // __USE_FILE_OFFSET64 Define 64bit interface as default. 637 // __USE_MISC Define things from 4.3BSD or System V Unix. 638 // __USE_ATFILE Define *at interfaces and AT_* constants for them. 639 // __USE_GNU Define GNU extensions. 640 // __USE_FORTIFY_LEVEL Additional security measures used, according to level. 641 // 642 // The macros `__GNU_LIBRARY__', `__GLIBC__', and `__GLIBC_MINOR__' are 643 // defined by this file unconditionally. `__GNU_LIBRARY__' is provided 644 // only for compatibility. All new code should use the other symbols 645 // to test for features. 646 // 647 // All macros listed above as possibly being defined by this file are 648 // explicitly undefined if they are not explicitly defined. 649 // Feature-test macros that are not defined by the user or compiler 650 // but are implied by the other feature-test macros defined (or by the 651 // lack of any definitions) are defined by the file. 652 // 653 // ISO C feature test macros depend on the definition of the macro 654 // when an affected header is included, not when the first system 655 // header is included, and so they are handled in 656 // <bits/libc-header-start.h>, which does not have a multiple include 657 // guard. Feature test macros that can be handled from the first 658 // system header included are handled here. 659 660 // Undefine everything, so we get a clean slate. 661 662 // Suppress kernel-name space pollution unless user expressedly asks 663 // for it. 664 665 // Convenience macro to test the version of gcc. 666 // Use like this: 667 // #if __GNUC_PREREQ (2,8) 668 // ... code requiring gcc 2.8 or later ... 669 // #endif 670 // Note: only works for GCC 2.0 and later, because __GNUC_MINOR__ was 671 // added in 2.0. 672 673 // Similarly for clang. Features added to GCC after version 4.2 may 674 // or may not also be available in clang, and clang's definitions of 675 // __GNUC(_MINOR)__ are fixed at 4 and 2 respectively. Not all such 676 // features can be queried via __has_extension/__has_feature. 677 678 // Whether to use feature set F. 679 680 // _BSD_SOURCE and _SVID_SOURCE are deprecated aliases for 681 // _DEFAULT_SOURCE. If _DEFAULT_SOURCE is present we do not 682 // issue a warning; the expectation is that the source is being 683 // transitioned to use the new macro. 684 685 // If _GNU_SOURCE was defined by the user, turn on all the other features. 686 687 // If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined, 688 // define _DEFAULT_SOURCE. 689 690 // This is to enable the ISO C2X extension. 691 692 // This is to enable the ISO C11 extension. 693 694 // This is to enable the ISO C99 extension. 695 696 // This is to enable the ISO C90 Amendment 1:1995 extension. 697 698 // If none of the ANSI/POSIX macros are defined, or if _DEFAULT_SOURCE 699 // is defined, use POSIX.1-2008 (or another version depending on 700 // _XOPEN_SOURCE). 701 702 // Some C libraries once required _REENTRANT and/or _THREAD_SAFE to be 703 // defined in all multithreaded code. GNU libc has not required this 704 // for many years. We now treat them as compatibility synonyms for 705 // _POSIX_C_SOURCE=199506L, which is the earliest level of POSIX with 706 // comprehensive support for multithreaded code. Using them never 707 // lowers the selected level of POSIX conformance, only raises it. 708 709 // The function 'gets' existed in C89, but is impossible to use 710 // safely. It has been removed from ISO C11 and ISO C++14. Note: for 711 // compatibility with various implementations of <cstdio>, this test 712 // must consider only the value of __cplusplus when compiling C++. 713 714 // GNU formerly extended the scanf functions with modified format 715 // specifiers %as, %aS, and %a[...] that allocate a buffer for the 716 // input using malloc. This extension conflicts with ISO C99, which 717 // defines %a as a standalone format specifier that reads a floating- 718 // point number; moreover, POSIX.1-2008 provides the same feature 719 // using the modifier letter 'm' instead (%ms, %mS, %m[...]). 720 // 721 // We now follow C99 unless GNU extensions are active and the compiler 722 // is specifically in C89 or C++98 mode (strict or not). For 723 // instance, with GCC, -std=gnu11 will have C99-compliant scanf with 724 // or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the 725 // old extension. 726 727 // Get definitions of __STDC_* predefined macros, if the compiler has 728 // not preincluded this header automatically. 729 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 730 // This file is part of the GNU C Library. 731 // 732 // The GNU C Library is free software; you can redistribute it and/or 733 // modify it under the terms of the GNU Lesser General Public 734 // License as published by the Free Software Foundation; either 735 // version 2.1 of the License, or (at your option) any later version. 736 // 737 // The GNU C Library is distributed in the hope that it will be useful, 738 // but WITHOUT ANY WARRANTY; without even the implied warranty of 739 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 740 // Lesser General Public License for more details. 741 // 742 // You should have received a copy of the GNU Lesser General Public 743 // License along with the GNU C Library; if not, see 744 // <https://www.gnu.org/licenses/>. 745 746 // This macro indicates that the installed library is the GNU C Library. 747 // For historic reasons the value now is 6 and this will stay from now 748 // on. The use of this variable is deprecated. Use __GLIBC__ and 749 // __GLIBC_MINOR__ now (see below) when you want to test for a specific 750 // GNU C library version and use the values in <gnu/lib-names.h> to get 751 // the sonames of the shared libraries. 752 753 // Major and minor version number of the GNU C library package. Use 754 // these macros to test for features in specific releases. 755 756 // This is here only because every header file already includes this one. 757 // Copyright (C) 1992-2020 Free Software Foundation, Inc. 758 // This file is part of the GNU C Library. 759 // 760 // The GNU C Library is free software; you can redistribute it and/or 761 // modify it under the terms of the GNU Lesser General Public 762 // License as published by the Free Software Foundation; either 763 // version 2.1 of the License, or (at your option) any later version. 764 // 765 // The GNU C Library is distributed in the hope that it will be useful, 766 // but WITHOUT ANY WARRANTY; without even the implied warranty of 767 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 768 // Lesser General Public License for more details. 769 // 770 // You should have received a copy of the GNU Lesser General Public 771 // License along with the GNU C Library; if not, see 772 // <https://www.gnu.org/licenses/>. 773 774 // We are almost always included from features.h. 775 776 // The GNU libc does not support any K&R compilers or the traditional mode 777 // of ISO C compilers anymore. Check for some of the combinations not 778 // anymore supported. 779 780 // Some user header file might have defined this before. 781 782 // All functions, except those with callbacks or those that 783 // synchronize memory, are leaf functions. 784 785 // GCC can always grok prototypes. For C++ programs we add throw() 786 // to help it optimize the function calls. But this works only with 787 // gcc 2.8.x and egcs. For gcc 3.2 and up we even mark C functions 788 // as non-throwing using a function attribute since programs can use 789 // the -fexceptions options for C code as well. 790 791 // Compilers that are not clang may object to 792 // #if defined __clang__ && __has_extension(...) 793 // even though they do not need to evaluate the right-hand side of the &&. 794 795 // These two macros are not used in glibc anymore. They are kept here 796 // only because some other projects expect the macros to be defined. 797 798 // For these things, GCC behaves the ANSI way normally, 799 // and the non-ANSI way under -traditional. 800 801 // This is not a typedef so `const __ptr_t' does the right thing. 802 803 // C++ needs to know that types and declarations are C, not C++. 804 805 // Fortify support. 806 807 // Support for flexible arrays. 808 // Headers that should use flexible arrays only if they're "real" 809 // (e.g. only if they won't affect sizeof()) should test 810 // #if __glibc_c99_flexarr_available. 811 812 // __asm__ ("xyz") is used throughout the headers to rename functions 813 // at the assembly language level. This is wrapped by the __REDIRECT 814 // macro, in order to support compilers that can do this some other 815 // way. When compilers don't support asm-names at all, we have to do 816 // preprocessor tricks instead (which don't have exactly the right 817 // semantics, but it's the best we can do). 818 // 819 // Example: 820 // int __REDIRECT(setpgrp, (__pid_t pid, __pid_t pgrp), setpgid); 821 822 // 823 // #elif __SOME_OTHER_COMPILER__ 824 // 825 // # define __REDIRECT(name, proto, alias) name proto; _Pragma("let " #name " = " #alias) 826 827 // GCC has various useful declarations that can be made with the 828 // `__attribute__' syntax. All of the ways we use this do fine if 829 // they are omitted for compilers that don't understand it. 830 831 // At some point during the gcc 2.96 development the `malloc' attribute 832 // for functions was introduced. We don't want to use it unconditionally 833 // (although this would be possible) since it generates warnings. 834 835 // Tell the compiler which arguments to an allocation function 836 // indicate the size of the allocation. 837 838 // At some point during the gcc 2.96 development the `pure' attribute 839 // for functions was introduced. We don't want to use it unconditionally 840 // (although this would be possible) since it generates warnings. 841 842 // This declaration tells the compiler that the value is constant. 843 844 // At some point during the gcc 3.1 development the `used' attribute 845 // for functions was introduced. We don't want to use it unconditionally 846 // (although this would be possible) since it generates warnings. 847 848 // Since version 3.2, gcc allows marking deprecated functions. 849 850 // Since version 4.5, gcc also allows one to specify the message printed 851 // when a deprecated function is used. clang claims to be gcc 4.2, but 852 // may also support this feature. 853 854 // At some point during the gcc 2.8 development the `format_arg' attribute 855 // for functions was introduced. We don't want to use it unconditionally 856 // (although this would be possible) since it generates warnings. 857 // If several `format_arg' attributes are given for the same function, in 858 // gcc-3.0 and older, all but the last one are ignored. In newer gccs, 859 // all designated arguments are considered. 860 861 // At some point during the gcc 2.97 development the `strfmon' format 862 // attribute for functions was introduced. We don't want to use it 863 // unconditionally (although this would be possible) since it 864 // generates warnings. 865 866 // The nonull function attribute allows to mark pointer parameters which 867 // must not be NULL. 868 869 // If fortification mode, we warn about unused results of certain 870 // function calls which can lead to problems. 871 872 // Forces a function to be always inlined. 873 // The Linux kernel defines __always_inline in stddef.h (283d7573), and 874 // it conflicts with this definition. Therefore undefine it first to 875 // allow either header to be included first. 876 877 // Associate error messages with the source location of the call site rather 878 // than with the source location inside the function. 879 880 // GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99 881 // inline semantics, unless -fgnu89-inline is used. Using __GNUC_STDC_INLINE__ 882 // or __GNUC_GNU_INLINE is not a good enough check for gcc because gcc versions 883 // older than 4.3 may define these macros and still not guarantee GNU inlining 884 // semantics. 885 // 886 // clang++ identifies itself as gcc-4.2, but has support for GNU inlining 887 // semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and 888 // __GNUC_GNU_INLINE__ macro definitions. 889 890 // GCC 4.3 and above allow passing all anonymous arguments of an 891 // __extern_always_inline function to some other vararg function. 892 893 // It is possible to compile containing GCC extensions even if GCC is 894 // run in pedantic mode if the uses are carefully marked using the 895 // `__extension__' keyword. But this is not generally available before 896 // version 2.8. 897 898 // __restrict is known in EGCS 1.2 and above. 899 900 // ISO C99 also allows to declare arrays as non-overlapping. The syntax is 901 // array_name[restrict] 902 // GCC 3.1 supports this. 903 904 // Describes a char array whose address can safely be passed as the first 905 // argument to strncpy and strncat, as the char array is not necessarily 906 // a NUL-terminated string. 907 908 // Undefine (also defined in libc-symbols.h). 909 // Copies attributes from the declaration or type referenced by 910 // the argument. 911 912 // Determine the wordsize from the preprocessor defines. 913 914 // Properties of long double type. ldbl-96 version. 915 // Copyright (C) 2016-2020 Free Software Foundation, Inc. 916 // This file is part of the GNU C Library. 917 // 918 // The GNU C Library is free software; you can redistribute it and/or 919 // modify it under the terms of the GNU Lesser General Public 920 // License published by the Free Software Foundation; either 921 // version 2.1 of the License, or (at your option) any later version. 922 // 923 // The GNU C Library is distributed in the hope that it will be useful, 924 // but WITHOUT ANY WARRANTY; without even the implied warranty of 925 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 926 // Lesser General Public License for more details. 927 // 928 // You should have received a copy of the GNU Lesser General Public 929 // License along with the GNU C Library; if not, see 930 // <https://www.gnu.org/licenses/>. 931 932 // long double is distinct from double, so there is nothing to 933 // define here. 934 935 // __glibc_macro_warning (MESSAGE) issues warning MESSAGE. This is 936 // intended for use in preprocessor macros. 937 // 938 // Note: MESSAGE must be a _single_ string; concatenation of string 939 // literals is not supported. 940 941 // Generic selection (ISO C11) is a C-only feature, available in GCC 942 // since version 4.9. Previous versions do not provide generic 943 // selection, even though they might set __STDC_VERSION__ to 201112L, 944 // when in -std=c11 mode. Thus, we must check for !defined __GNUC__ 945 // when testing __STDC_VERSION__ for generic selection support. 946 // On the other hand, Clang also defines __GNUC__, so a clang-specific 947 // check is required to enable the use of generic selection. 948 949 // If we don't have __REDIRECT, prototypes will be missing if 950 // __USE_FILE_OFFSET64 but not __USE_LARGEFILE[64]. 951 952 // Decide whether we can define 'extern inline' functions in headers. 953 954 // This is here only because every header file already includes this one. 955 // Get the definitions of all the appropriate `__stub_FUNCTION' symbols. 956 // <gnu/stubs.h> contains `#define __stub_FUNCTION' when FUNCTION is a stub 957 // that will always return failure (and set errno to ENOSYS). 958 // This file is automatically generated. 959 // This file selects the right generated file of `__stub_FUNCTION' macros 960 // based on the architecture being compiled for. 961 962 // This file is automatically generated. 963 // It defines a symbol `__stub_FUNCTION' for each function 964 // in the C library which is a stub, meaning it will fail 965 // every time called, usually setting errno to ENOSYS. 966 967 // These may be used to determine what facilities are present at compile time. 968 // Their values can be obtained at run time from `sysconf'. 969 970 // POSIX Standard approved as ISO/IEC 9945-1 as of September 2008. 971 972 // These are not #ifdef __USE_POSIX2 because they are 973 // in the theoretically application-owned namespace. 974 975 // The utilities on GNU systems also correspond to this version. 976 977 // The utilities on GNU systems also correspond to this version. 978 979 // This symbol was required until the 2001 edition of POSIX. 980 981 // If defined, the implementation supports the 982 // C Language Bindings Option. 983 984 // If defined, the implementation supports the 985 // C Language Development Utilities Option. 986 987 // If defined, the implementation supports the 988 // Software Development Utilities Option. 989 990 // If defined, the implementation supports the 991 // creation of locales with the localedef utility. 992 993 // X/Open version number to which the library conforms. It is selectable. 994 995 // Commands and utilities from XPG4 are available. 996 997 // We are compatible with the old published standards as well. 998 999 // The X/Open Unix extensions are available. 1000 1001 // The enhanced internationalization capabilities according to XPG4.2 1002 // are present. 1003 1004 // The legacy interfaces are also available. 1005 1006 // Get values of POSIX options: 1007 // 1008 // If these symbols are defined, the corresponding features are 1009 // always available. If not, they may be available sometimes. 1010 // The current values can be obtained with `sysconf'. 1011 // 1012 // _POSIX_JOB_CONTROL Job control is supported. 1013 // _POSIX_SAVED_IDS Processes have a saved set-user-ID 1014 // and a saved set-group-ID. 1015 // _POSIX_REALTIME_SIGNALS Real-time, queued signals are supported. 1016 // _POSIX_PRIORITY_SCHEDULING Priority scheduling is supported. 1017 // _POSIX_TIMERS POSIX.4 clocks and timers are supported. 1018 // _POSIX_ASYNCHRONOUS_IO Asynchronous I/O is supported. 1019 // _POSIX_PRIORITIZED_IO Prioritized asynchronous I/O is supported. 1020 // _POSIX_SYNCHRONIZED_IO Synchronizing file data is supported. 1021 // _POSIX_FSYNC The fsync function is present. 1022 // _POSIX_MAPPED_FILES Mapping of files to memory is supported. 1023 // _POSIX_MEMLOCK Locking of all memory is supported. 1024 // _POSIX_MEMLOCK_RANGE Locking of ranges of memory is supported. 1025 // _POSIX_MEMORY_PROTECTION Setting of memory protections is supported. 1026 // _POSIX_MESSAGE_PASSING POSIX.4 message queues are supported. 1027 // _POSIX_SEMAPHORES POSIX.4 counting semaphores are supported. 1028 // _POSIX_SHARED_MEMORY_OBJECTS POSIX.4 shared memory objects are supported. 1029 // _POSIX_THREADS POSIX.1c pthreads are supported. 1030 // _POSIX_THREAD_ATTR_STACKADDR Thread stack address attribute option supported. 1031 // _POSIX_THREAD_ATTR_STACKSIZE Thread stack size attribute option supported. 1032 // _POSIX_THREAD_SAFE_FUNCTIONS Thread-safe functions are supported. 1033 // _POSIX_THREAD_PRIORITY_SCHEDULING 1034 // POSIX.1c thread execution scheduling supported. 1035 // _POSIX_THREAD_PRIO_INHERIT Thread priority inheritance option supported. 1036 // _POSIX_THREAD_PRIO_PROTECT Thread priority protection option supported. 1037 // _POSIX_THREAD_PROCESS_SHARED Process-shared synchronization supported. 1038 // _POSIX_PII Protocol-independent interfaces are supported. 1039 // _POSIX_PII_XTI XTI protocol-indep. interfaces are supported. 1040 // _POSIX_PII_SOCKET Socket protocol-indep. interfaces are supported. 1041 // _POSIX_PII_INTERNET Internet family of protocols supported. 1042 // _POSIX_PII_INTERNET_STREAM Connection-mode Internet protocol supported. 1043 // _POSIX_PII_INTERNET_DGRAM Connectionless Internet protocol supported. 1044 // _POSIX_PII_OSI ISO/OSI family of protocols supported. 1045 // _POSIX_PII_OSI_COTS Connection-mode ISO/OSI service supported. 1046 // _POSIX_PII_OSI_CLTS Connectionless ISO/OSI service supported. 1047 // _POSIX_POLL Implementation supports `poll' function. 1048 // _POSIX_SELECT Implementation supports `select' and `pselect'. 1049 // 1050 // _XOPEN_REALTIME X/Open realtime support is available. 1051 // _XOPEN_REALTIME_THREADS X/Open realtime thread support is available. 1052 // _XOPEN_SHM Shared memory interface according to XPG4.2. 1053 // 1054 // _XBS5_ILP32_OFF32 Implementation provides environment with 32-bit 1055 // int, long, pointer, and off_t types. 1056 // _XBS5_ILP32_OFFBIG Implementation provides environment with 32-bit 1057 // int, long, and pointer and off_t with at least 1058 // 64 bits. 1059 // _XBS5_LP64_OFF64 Implementation provides environment with 32-bit 1060 // int, and 64-bit long, pointer, and off_t types. 1061 // _XBS5_LPBIG_OFFBIG Implementation provides environment with at 1062 // least 32 bits int and long, pointer, and off_t 1063 // with at least 64 bits. 1064 // 1065 // If any of these symbols is defined as -1, the corresponding option is not 1066 // true for any file. If any is defined as other than -1, the corresponding 1067 // option is true for all files. If a symbol is not defined at all, the value 1068 // for a specific file can be obtained from `pathconf' and `fpathconf'. 1069 // 1070 // _POSIX_CHOWN_RESTRICTED Only the super user can use `chown' to change 1071 // the owner of a file. `chown' can only be used 1072 // to change the group ID of a file to a group of 1073 // which the calling process is a member. 1074 // _POSIX_NO_TRUNC Pathname components longer than 1075 // NAME_MAX generate an error. 1076 // _POSIX_VDISABLE If defined, if the value of an element of the 1077 // `c_cc' member of `struct termios' is 1078 // _POSIX_VDISABLE, no character will have the 1079 // effect associated with that element. 1080 // _POSIX_SYNC_IO Synchronous I/O may be performed. 1081 // _POSIX_ASYNC_IO Asynchronous I/O may be performed. 1082 // _POSIX_PRIO_IO Prioritized Asynchronous I/O may be performed. 1083 // 1084 // Support for the Large File Support interface is not generally available. 1085 // If it is available the following constants are defined to one. 1086 // _LFS64_LARGEFILE Low-level I/O supports large files. 1087 // _LFS64_STDIO Standard I/O supports large files. 1088 // 1089 1090 // Define POSIX options for Linux. 1091 // Copyright (C) 1996-2020 Free Software Foundation, Inc. 1092 // This file is part of the GNU C Library. 1093 // 1094 // The GNU C Library is free software; you can redistribute it and/or 1095 // modify it under the terms of the GNU Lesser General Public License as 1096 // published by the Free Software Foundation; either version 2.1 of the 1097 // License, or (at your option) any later version. 1098 // 1099 // The GNU C Library is distributed in the hope that it will be useful, 1100 // but WITHOUT ANY WARRANTY; without even the implied warranty of 1101 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 1102 // Lesser General Public License for more details. 1103 // 1104 // You should have received a copy of the GNU Lesser General Public 1105 // License along with the GNU C Library; see the file COPYING.LIB. If 1106 // not, see <https://www.gnu.org/licenses/>. 1107 1108 // Job control is supported. 1109 1110 // Processes have a saved set-user-ID and a saved set-group-ID. 1111 1112 // Priority scheduling is not supported with the correct semantics, 1113 // but GNU/Linux applications expect that the corresponding interfaces 1114 // are available, even though the semantics do not meet the POSIX 1115 // requirements. See glibc bug 14829. 1116 1117 // Synchronizing file data is supported. 1118 1119 // The fsync function is present. 1120 1121 // Mapping of files to memory is supported. 1122 1123 // Locking of all memory is supported. 1124 1125 // Locking of ranges of memory is supported. 1126 1127 // Setting of memory protections is supported. 1128 1129 // Some filesystems allow all users to change file ownership. 1130 1131 // `c_cc' member of 'struct termios' structure can be disabled by 1132 // using the value _POSIX_VDISABLE. 1133 1134 // Filenames are not silently truncated. 1135 1136 // X/Open realtime support is available. 1137 1138 // X/Open thread realtime support is available. 1139 1140 // XPG4.2 shared memory is supported. 1141 1142 // Tell we have POSIX threads. 1143 1144 // We have the reentrant functions described in POSIX. 1145 1146 // We provide priority scheduling for threads. 1147 1148 // We support user-defined stack sizes. 1149 1150 // We support user-defined stacks. 1151 1152 // We support priority inheritence. 1153 1154 // We support priority protection, though only for non-robust 1155 // mutexes. 1156 1157 // We support priority inheritence for robust mutexes. 1158 1159 // We do not support priority protection for robust mutexes. 1160 1161 // We support POSIX.1b semaphores. 1162 1163 // Real-time signals are supported. 1164 1165 // We support asynchronous I/O. 1166 // Alternative name for Unix98. 1167 // Support for prioritization is also available. 1168 1169 // The LFS support in asynchronous I/O is also available. 1170 1171 // The rest of the LFS is also available. 1172 1173 // POSIX shared memory objects are implemented. 1174 1175 // CPU-time clocks support needs to be checked at runtime. 1176 1177 // Clock support in threads must be also checked at runtime. 1178 1179 // GNU libc provides regular expression handling. 1180 1181 // Reader/Writer locks are available. 1182 1183 // We have a POSIX shell. 1184 1185 // We support the Timeouts option. 1186 1187 // We support spinlocks. 1188 1189 // The `spawn' function family is supported. 1190 1191 // We have POSIX timers. 1192 1193 // The barrier functions are available. 1194 1195 // POSIX message queues are available. 1196 1197 // Thread process-shared synchronization is supported. 1198 1199 // The monotonic clock might be available. 1200 1201 // The clock selection interfaces are available. 1202 1203 // Advisory information interfaces are available. 1204 1205 // IPv6 support is available. 1206 1207 // Raw socket support is available. 1208 1209 // We have at least one terminal. 1210 1211 // Neither process nor thread sporadic server interfaces is available. 1212 1213 // trace.h is not available. 1214 1215 // Typed memory objects are not available. 1216 1217 // Get the environment definitions from Unix98. 1218 // Copyright (C) 1999-2020 Free Software Foundation, Inc. 1219 // This file is part of the GNU C Library. 1220 // 1221 // The GNU C Library is free software; you can redistribute it and/or 1222 // modify it under the terms of the GNU Lesser General Public 1223 // License as published by the Free Software Foundation; either 1224 // version 2.1 of the License, or (at your option) any later version. 1225 // 1226 // The GNU C Library is distributed in the hope that it will be useful, 1227 // but WITHOUT ANY WARRANTY; without even the implied warranty of 1228 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 1229 // Lesser General Public License for more details. 1230 // 1231 // You should have received a copy of the GNU Lesser General Public 1232 // License along with the GNU C Library; if not, see 1233 // <https://www.gnu.org/licenses/>. 1234 1235 // Determine the wordsize from the preprocessor defines. 1236 1237 // This header should define the following symbols under the described 1238 // situations. A value `1' means that the model is always supported, 1239 // `-1' means it is never supported. Undefined means it cannot be 1240 // statically decided. 1241 // 1242 // _POSIX_V7_ILP32_OFF32 32bit int, long, pointers, and off_t type 1243 // _POSIX_V7_ILP32_OFFBIG 32bit int, long, and pointers and larger off_t type 1244 // 1245 // _POSIX_V7_LP64_OFF32 64bit long and pointers and 32bit off_t type 1246 // _POSIX_V7_LPBIG_OFFBIG 64bit long and pointers and large off_t type 1247 // 1248 // The macros _POSIX_V6_ILP32_OFF32, _POSIX_V6_ILP32_OFFBIG, 1249 // _POSIX_V6_LP64_OFF32, _POSIX_V6_LPBIG_OFFBIG, _XBS5_ILP32_OFF32, 1250 // _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and _XBS5_LPBIG_OFFBIG were 1251 // used in previous versions of the Unix standard and are available 1252 // only for compatibility. 1253 1254 // We have 32-bit wide `int', `long int' and pointers and all platforms 1255 // support LFS. -mx32 has 64-bit wide `off_t'. 1256 1257 // -m32 has 32-bit wide `off_t'. 1258 1259 // We optionally provide an environment with the above size but an 64-bit 1260 // side `off_t'. Therefore we don't define _POSIX_V7_ILP32_OFFBIG. 1261 1262 // Environments with 64-bit wide pointers can be provided, 1263 // so these macros aren't defined: 1264 // # undef _POSIX_V7_LP64_OFF64 1265 // # undef _POSIX_V7_LPBIG_OFFBIG 1266 // # undef _POSIX_V6_LP64_OFF64 1267 // # undef _POSIX_V6_LPBIG_OFFBIG 1268 // # undef _XBS5_LP64_OFF64 1269 // # undef _XBS5_LPBIG_OFFBIG 1270 // and sysconf tests for it at runtime. 1271 1272 // Standard file descriptors. 1273 1274 // All functions that are not declared anywhere else. 1275 1276 // bits/types.h -- definitions of __*_t types underlying *_t types. 1277 // Copyright (C) 2002-2020 Free Software Foundation, Inc. 1278 // This file is part of the GNU C Library. 1279 // 1280 // The GNU C Library is free software; you can redistribute it and/or 1281 // modify it under the terms of the GNU Lesser General Public 1282 // License as published by the Free Software Foundation; either 1283 // version 2.1 of the License, or (at your option) any later version. 1284 // 1285 // The GNU C Library is distributed in the hope that it will be useful, 1286 // but WITHOUT ANY WARRANTY; without even the implied warranty of 1287 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 1288 // Lesser General Public License for more details. 1289 // 1290 // You should have received a copy of the GNU Lesser General Public 1291 // License along with the GNU C Library; if not, see 1292 // <https://www.gnu.org/licenses/>. 1293 1294 // Never include this file directly; use <sys/types.h> instead. 1295 1296 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 1297 // This file is part of the GNU C Library. 1298 // 1299 // The GNU C Library is free software; you can redistribute it and/or 1300 // modify it under the terms of the GNU Lesser General Public 1301 // License as published by the Free Software Foundation; either 1302 // version 2.1 of the License, or (at your option) any later version. 1303 // 1304 // The GNU C Library is distributed in the hope that it will be useful, 1305 // but WITHOUT ANY WARRANTY; without even the implied warranty of 1306 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 1307 // Lesser General Public License for more details. 1308 // 1309 // You should have received a copy of the GNU Lesser General Public 1310 // License along with the GNU C Library; if not, see 1311 // <https://www.gnu.org/licenses/>. 1312 1313 // Determine the wordsize from the preprocessor defines. 1314 1315 // Bit size of the time_t type at glibc build time, x86-64 and x32 case. 1316 // Copyright (C) 2018-2020 Free Software Foundation, Inc. 1317 // This file is part of the GNU C Library. 1318 // 1319 // The GNU C Library is free software; you can redistribute it and/or 1320 // modify it under the terms of the GNU Lesser General Public 1321 // License as published by the Free Software Foundation; either 1322 // version 2.1 of the License, or (at your option) any later version. 1323 // 1324 // The GNU C Library is distributed in the hope that it will be useful, 1325 // but WITHOUT ANY WARRANTY; without even the implied warranty of 1326 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 1327 // Lesser General Public License for more details. 1328 // 1329 // You should have received a copy of the GNU Lesser General Public 1330 // License along with the GNU C Library; if not, see 1331 // <https://www.gnu.org/licenses/>. 1332 1333 // For others, time size is word size. 1334 1335 // Convenience types. 1336 type X__u_char = uint8 /* types.h:31:23 */ 1337 type X__u_short = uint16 /* types.h:32:28 */ 1338 type X__u_int = uint32 /* types.h:33:22 */ 1339 type X__u_long = uint32 /* types.h:34:27 */ 1340 1341 // Fixed-size types, underlying types depend on word size and compiler. 1342 type X__int8_t = int8 /* types.h:37:21 */ 1343 type X__uint8_t = uint8 /* types.h:38:23 */ 1344 type X__int16_t = int16 /* types.h:39:26 */ 1345 type X__uint16_t = uint16 /* types.h:40:28 */ 1346 type X__int32_t = int32 /* types.h:41:20 */ 1347 type X__uint32_t = uint32 /* types.h:42:22 */ 1348 type X__int64_t = int64 /* types.h:47:44 */ 1349 type X__uint64_t = uint64 /* types.h:48:46 */ 1350 1351 // Smallest types with at least a given width. 1352 type X__int_least8_t = X__int8_t /* types.h:52:18 */ 1353 type X__uint_least8_t = X__uint8_t /* types.h:53:19 */ 1354 type X__int_least16_t = X__int16_t /* types.h:54:19 */ 1355 type X__uint_least16_t = X__uint16_t /* types.h:55:20 */ 1356 type X__int_least32_t = X__int32_t /* types.h:56:19 */ 1357 type X__uint_least32_t = X__uint32_t /* types.h:57:20 */ 1358 type X__int_least64_t = X__int64_t /* types.h:58:19 */ 1359 type X__uint_least64_t = X__uint64_t /* types.h:59:20 */ 1360 1361 // quad_t is also 64 bits. 1362 type X__quad_t = int64 /* types.h:66:37 */ 1363 type X__u_quad_t = uint64 /* types.h:67:46 */ 1364 1365 // Largest integral types. 1366 type X__intmax_t = int64 /* types.h:75:37 */ 1367 type X__uintmax_t = uint64 /* types.h:76:46 */ 1368 1369 // The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE 1370 // macros for each of the OS types we define below. The definitions 1371 // of those macros must use the following macros for underlying types. 1372 // We define __S<SIZE>_TYPE and __U<SIZE>_TYPE for the signed and unsigned 1373 // variants of each of the following integer types on this machine. 1374 // 1375 // 16 -- "natural" 16-bit type (always short) 1376 // 32 -- "natural" 32-bit type (always int) 1377 // 64 -- "natural" 64-bit type (long or long long) 1378 // LONG32 -- 32-bit type, traditionally long 1379 // QUAD -- 64-bit type, traditionally long long 1380 // WORD -- natural type of __WORDSIZE bits (int or long) 1381 // LONGWORD -- type of __WORDSIZE bits, traditionally long 1382 // 1383 // We distinguish WORD/LONGWORD, 32/LONG32, and 64/QUAD so that the 1384 // conventional uses of `long' or `long long' type modifiers match the 1385 // types we define, even when a less-adorned type would be the same size. 1386 // This matters for (somewhat) portably writing printf/scanf formats for 1387 // these types, where using the appropriate l or ll format modifiers can 1388 // make the typedefs and the formats match up across all GNU platforms. If 1389 // we used `long' when it's 64 bits where `long long' is expected, then the 1390 // compiler would warn about the formats not matching the argument types, 1391 // and the programmer changing them to shut up the compiler would break the 1392 // program's portability. 1393 // 1394 // Here we assume what is presently the case in all the GCC configurations 1395 // we support: long long is always 64 bits, long is always word/address size, 1396 // and int is always 32 bits. 1397 1398 // We want __extension__ before typedef's that use nonstandard base types 1399 // such as `long long' in C89 mode. 1400 // bits/typesizes.h -- underlying types for *_t. Linux/x86-64 version. 1401 // Copyright (C) 2012-2020 Free Software Foundation, Inc. 1402 // This file is part of the GNU C Library. 1403 // 1404 // The GNU C Library is free software; you can redistribute it and/or 1405 // modify it under the terms of the GNU Lesser General Public 1406 // License as published by the Free Software Foundation; either 1407 // version 2.1 of the License, or (at your option) any later version. 1408 // 1409 // The GNU C Library is distributed in the hope that it will be useful, 1410 // but WITHOUT ANY WARRANTY; without even the implied warranty of 1411 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 1412 // Lesser General Public License for more details. 1413 // 1414 // You should have received a copy of the GNU Lesser General Public 1415 // License along with the GNU C Library; if not, see 1416 // <https://www.gnu.org/licenses/>. 1417 1418 // See <bits/types.h> for the meaning of these macros. This file exists so 1419 // that <bits/types.h> need not vary across different GNU platforms. 1420 1421 // X32 kernel interface is 64-bit. 1422 1423 // Number of descriptors that can fit in an `fd_set'. 1424 1425 // bits/time64.h -- underlying types for __time64_t. Generic version. 1426 // Copyright (C) 2018-2020 Free Software Foundation, Inc. 1427 // This file is part of the GNU C Library. 1428 // 1429 // The GNU C Library is free software; you can redistribute it and/or 1430 // modify it under the terms of the GNU Lesser General Public 1431 // License as published by the Free Software Foundation; either 1432 // version 2.1 of the License, or (at your option) any later version. 1433 // 1434 // The GNU C Library is distributed in the hope that it will be useful, 1435 // but WITHOUT ANY WARRANTY; without even the implied warranty of 1436 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 1437 // Lesser General Public License for more details. 1438 // 1439 // You should have received a copy of the GNU Lesser General Public 1440 // License along with the GNU C Library; if not, see 1441 // <https://www.gnu.org/licenses/>. 1442 1443 // Define __TIME64_T_TYPE so that it is always a 64-bit type. 1444 1445 // Define a 64-bit time type alongsize the 32-bit one. 1446 1447 type X__dev_t = X__uint64_t /* types.h:145:25 */ // Type of device numbers. 1448 type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications. 1449 type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications. 1450 type X__ino_t = uint32 /* types.h:148:25 */ // Type of file serial numbers. 1451 type X__ino64_t = X__uint64_t /* types.h:149:27 */ // Type of file serial numbers (LFS). 1452 type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks. 1453 type X__nlink_t = uint32 /* types.h:151:27 */ // Type of file link counts. 1454 type X__off_t = int32 /* types.h:152:25 */ // Type of file sizes and offsets. 1455 type X__off64_t = X__int64_t /* types.h:153:27 */ // Type of file sizes and offsets (LFS). 1456 type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications. 1457 type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs. 1458 type X__clock_t = int32 /* types.h:156:27 */ // Type of CPU usage counts. 1459 type X__rlim_t = uint32 /* types.h:157:26 */ // Type for resource measurement. 1460 type X__rlim64_t = X__uint64_t /* types.h:158:28 */ // Type for resource measurement (LFS). 1461 type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs. 1462 type X__time_t = int32 /* types.h:160:26 */ // Seconds since the Epoch. 1463 type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds. 1464 type X__suseconds_t = int32 /* types.h:162:31 */ // Signed count of microseconds. 1465 1466 type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address. 1467 type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key. 1468 1469 // Clock ID used in clock and timer functions. 1470 type X__clockid_t = int32 /* types.h:168:29 */ 1471 1472 // Timer ID returned by `timer_create'. 1473 type X__timer_t = uintptr /* types.h:171:12 */ 1474 1475 // Type to represent block size. 1476 type X__blksize_t = int32 /* types.h:174:29 */ 1477 1478 // Types from the Large File Support interface. 1479 1480 // Type to count number of disk blocks. 1481 type X__blkcnt_t = int32 /* types.h:179:28 */ 1482 type X__blkcnt64_t = X__int64_t /* types.h:180:30 */ 1483 1484 // Type to count file system blocks. 1485 type X__fsblkcnt_t = uint32 /* types.h:183:30 */ 1486 type X__fsblkcnt64_t = X__uint64_t /* types.h:184:32 */ 1487 1488 // Type to count file system nodes. 1489 type X__fsfilcnt_t = uint32 /* types.h:187:30 */ 1490 type X__fsfilcnt64_t = X__uint64_t /* types.h:188:32 */ 1491 1492 // Type of miscellaneous file system fields. 1493 type X__fsword_t = int32 /* types.h:191:28 */ 1494 1495 type X__ssize_t = int32 /* types.h:193:27 */ // Type of a byte count, or error. 1496 1497 // Signed long type used in system calls. 1498 type X__syscall_slong_t = int32 /* types.h:196:33 */ 1499 // Unsigned long type used in system calls. 1500 type X__syscall_ulong_t = uint32 /* types.h:198:33 */ 1501 1502 // These few don't really vary by system, they always correspond 1503 // 1504 // to one of the other defined types. 1505 type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS). 1506 type X__caddr_t = uintptr /* types.h:203:14 */ 1507 1508 // Duplicates info from stdint.h but this is used in unistd.h. 1509 type X__intptr_t = int32 /* types.h:206:25 */ 1510 1511 // Duplicate info from sys/socket.h. 1512 type X__socklen_t = uint32 /* types.h:209:23 */ 1513 1514 // C99: An integer type that can be accessed as an atomic entity, 1515 // 1516 // even in the presence of asynchronous interrupts. 1517 // It is not currently necessary for this to be machine-specific. 1518 type X__sig_atomic_t = int32 /* types.h:214:13 */ 1519 1520 // Seconds since the Epoch, visible to user code when time_t is too 1521 // 1522 // narrow only for consistency with the old way of widening too-narrow 1523 // types. User code should never use __time64_t. 1524 type X__time64_t = X__int64_t /* types.h:222:28 */ 1525 1526 type Ssize_t = X__ssize_t /* unistd.h:220:19 */ 1527 1528 // Wide character type. 1529 // Locale-writers should change this as necessary to 1530 // be big enough to hold unique values not between 0 and 127, 1531 // and not (wchar_t) -1, for each defined multibyte character. 1532 1533 // Define this type if we are doing the whole job, 1534 // or if we want this type in particular. 1535 1536 // A null pointer constant. 1537 1538 // The Single Unix specification says that some more types are 1539 // 1540 // available here. 1541 type Gid_t = X__gid_t /* unistd.h:232:17 */ 1542 1543 type Uid_t = X__uid_t /* unistd.h:237:17 */ 1544 1545 type Off_t = X__off64_t /* unistd.h:245:19 */ 1546 1547 type Useconds_t = X__useconds_t /* unistd.h:255:22 */ 1548 1549 type Pid_t = X__pid_t /* unistd.h:260:17 */ 1550 1551 type Intptr_t = X__intptr_t /* unistd.h:267:20 */ 1552 1553 type Socklen_t = X__socklen_t /* unistd.h:274:21 */ 1554 1555 // Define some macros helping to catch buffer overflows. 1556 1557 // System-specific extensions. 1558 // System-specific extensions of <unistd.h>, Linux version. 1559 // Copyright (C) 2019-2020 Free Software Foundation, Inc. 1560 // This file is part of the GNU C Library. 1561 // 1562 // The GNU C Library is free software; you can redistribute it and/or 1563 // modify it under the terms of the GNU Lesser General Public 1564 // License as published by the Free Software Foundation; either 1565 // version 2.1 of the License, or (at your option) any later version. 1566 // 1567 // The GNU C Library is distributed in the hope that it will be useful, 1568 // but WITHOUT ANY WARRANTY; without even the implied warranty of 1569 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 1570 // Lesser General Public License for more details. 1571 // 1572 // You should have received a copy of the GNU Lesser General Public 1573 // License along with the GNU C Library; if not, see 1574 // <https://www.gnu.org/licenses/>. 1575 1576 var _ int8 /* gen.c:2:13: */