modernc.org/z@v1.7.4/lib/z_darwin_arm64.go (about) 1 // Code generated by 'ccgo -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -o lib/z_darwin_arm64.go -pkgname z -trace-translation-units /var/folders/4f/mc8mts295pqf7gmnfcwh6g8w0000gn/T/go-generate-3712341751/cdb.json libz.a', DO NOT EDIT. 2 3 package z 4 5 import ( 6 "math" 7 "reflect" 8 "sync/atomic" 9 "unsafe" 10 11 "modernc.org/libc" 12 "modernc.org/libc/sys/types" 13 ) 14 15 var _ = math.Pi 16 var _ reflect.Kind 17 var _ atomic.Value 18 var _ unsafe.Pointer 19 var _ *libc.TLS 20 var _ types.Size_t 21 22 const ( 23 ACCESSX_MAX_DESCRIPTORS = 100 24 ACCESSX_MAX_TABLESIZE = 16384 25 ARG_MAX = 1048576 26 BASE = 65521 27 BC_BASE_MAX = 99 28 BC_DIM_MAX = 2048 29 BC_SCALE_MAX = 99 30 BC_STRING_MAX = 1000 31 BIG_ENDIAN = 4321 32 BUS_ADRALN = 1 33 BUS_ADRERR = 2 34 BUS_NOOP = 0 35 BUS_OBJERR = 3 36 BYTE_ORDER = 1234 37 CHARCLASS_NAME_MAX = 14 38 CHAR_BIT = 8 39 CHAR_MAX = 127 40 CHAR_MIN = -128 41 CHILD_MAX = 266 42 CLD_CONTINUED = 6 43 CLD_DUMPED = 3 44 CLD_EXITED = 1 45 CLD_KILLED = 2 46 CLD_NOOP = 0 47 CLD_STOPPED = 5 48 CLD_TRAPPED = 4 49 CLK_TCK = 100 50 COLL_WEIGHTS_MAX = 2 51 CPUMON_MAKE_FATAL = 0x1000 52 DEF_MEM_LEVEL = 8 53 DEF_WBITS = 15 54 DYN_TREES = 2 55 EQUIV_CLASS_MAX = 2 56 EXIT_FAILURE = 1 57 EXIT_SUCCESS = 0 58 EXPR_NEST_MAX = 32 59 FAR = 0 60 FD_SETSIZE = 1024 61 FOOTPRINT_INTERVAL_RESET = 0x1 62 FPE_FLTDIV = 1 63 FPE_FLTINV = 5 64 FPE_FLTOVF = 2 65 FPE_FLTRES = 4 66 FPE_FLTSUB = 6 67 FPE_FLTUND = 3 68 FPE_INTDIV = 7 69 FPE_INTOVF = 8 70 FPE_NOOP = 0 71 F_LOCK = 1 72 F_OK = 0 73 F_TEST = 3 74 F_TLOCK = 2 75 F_ULOCK = 0 76 GID_MAX = 2147483647 77 HAVE_HIDDEN = 1 78 HAVE_MEMCPY = 0 79 ILL_BADSTK = 8 80 ILL_COPROC = 7 81 ILL_ILLADR = 5 82 ILL_ILLOPC = 1 83 ILL_ILLOPN = 4 84 ILL_ILLTRP = 2 85 ILL_NOOP = 0 86 ILL_PRVOPC = 3 87 ILL_PRVREG = 6 88 INT16_MAX = 32767 89 INT16_MIN = -32768 90 INT32_MAX = 2147483647 91 INT32_MIN = -2147483648 92 INT64_MAX = 9223372036854775807 93 INT64_MIN = -9223372036854775808 94 INT8_MAX = 127 95 INT8_MIN = -128 96 INTMAX_MAX = 9223372036854775807 97 INTMAX_MIN = -9223372036854775808 98 INTPTR_MAX = 9223372036854775807 99 INTPTR_MIN = -9223372036854775808 100 INT_FAST16_MAX = 32767 101 INT_FAST16_MIN = -32768 102 INT_FAST32_MAX = 2147483647 103 INT_FAST32_MIN = -2147483648 104 INT_FAST64_MAX = 9223372036854775807 105 INT_FAST64_MIN = -9223372036854775808 106 INT_FAST8_MAX = 127 107 INT_FAST8_MIN = -128 108 INT_LEAST16_MAX = 32767 109 INT_LEAST16_MIN = -32768 110 INT_LEAST32_MAX = 2147483647 111 INT_LEAST32_MIN = -2147483648 112 INT_LEAST64_MAX = 9223372036854775807 113 INT_LEAST64_MIN = -9223372036854775808 114 INT_LEAST8_MAX = 127 115 INT_LEAST8_MIN = -128 116 INT_MAX = 2147483647 117 INT_MIN = -2147483648 118 IOPOL_APPLICATION = 5 119 IOPOL_ATIME_UPDATES_DEFAULT = 0 120 IOPOL_ATIME_UPDATES_OFF = 1 121 IOPOL_DEFAULT = 0 122 IOPOL_IMPORTANT = 1 123 IOPOL_MATERIALIZE_DATALESS_FILES_DEFAULT = 0 124 IOPOL_MATERIALIZE_DATALESS_FILES_OFF = 1 125 IOPOL_MATERIALIZE_DATALESS_FILES_ON = 2 126 IOPOL_NORMAL = 1 127 IOPOL_PASSIVE = 2 128 IOPOL_SCOPE_DARWIN_BG = 2 129 IOPOL_SCOPE_PROCESS = 0 130 IOPOL_SCOPE_THREAD = 1 131 IOPOL_STANDARD = 5 132 IOPOL_THROTTLE = 3 133 IOPOL_TYPE_DISK = 0 134 IOPOL_TYPE_VFS_ALLOW_LOW_SPACE_WRITES = 9 135 IOPOL_TYPE_VFS_ATIME_UPDATES = 2 136 IOPOL_TYPE_VFS_IGNORE_CONTENT_PROTECTION = 6 137 IOPOL_TYPE_VFS_IGNORE_PERMISSIONS = 7 138 IOPOL_TYPE_VFS_MATERIALIZE_DATALESS_FILES = 3 139 IOPOL_TYPE_VFS_SKIP_MTIME_UPDATE = 8 140 IOPOL_TYPE_VFS_STATFS_NO_DATA_VOLUME = 4 141 IOPOL_TYPE_VFS_TRIGGER_RESOLVE = 5 142 IOPOL_UTILITY = 4 143 IOPOL_VFS_ALLOW_LOW_SPACE_WRITES_OFF = 0 144 IOPOL_VFS_ALLOW_LOW_SPACE_WRITES_ON = 1 145 IOPOL_VFS_CONTENT_PROTECTION_DEFAULT = 0 146 IOPOL_VFS_CONTENT_PROTECTION_IGNORE = 1 147 IOPOL_VFS_IGNORE_PERMISSIONS_OFF = 0 148 IOPOL_VFS_IGNORE_PERMISSIONS_ON = 1 149 IOPOL_VFS_SKIP_MTIME_UPDATE_OFF = 0 150 IOPOL_VFS_SKIP_MTIME_UPDATE_ON = 1 151 IOPOL_VFS_STATFS_FORCE_NO_DATA_VOLUME = 1 152 IOPOL_VFS_STATFS_NO_DATA_VOLUME_DEFAULT = 0 153 IOPOL_VFS_TRIGGER_RESOLVE_DEFAULT = 0 154 IOPOL_VFS_TRIGGER_RESOLVE_OFF = 1 155 IOV_MAX = 1024 156 LINE_MAX = 2048 157 LINK_MAX = 32767 158 LITTLE_ENDIAN = 1234 159 LLONG_MAX = 9223372036854775807 160 LLONG_MIN = -9223372036854775808 161 LONG_BIT = 64 162 LONG_LONG_MAX = 9223372036854775807 163 LONG_LONG_MIN = -9223372036854775808 164 LONG_MAX = 9223372036854775807 165 LONG_MIN = -9223372036854775808 166 L_INCR = 1 167 L_SET = 0 168 L_XTND = 2 169 MAC_OS_VERSION_11_0 = 110000 170 MAC_OS_VERSION_12_0 = 120000 171 MAC_OS_X_VERSION_10_0 = 1000 172 MAC_OS_X_VERSION_10_1 = 1010 173 MAC_OS_X_VERSION_10_10 = 101000 174 MAC_OS_X_VERSION_10_10_2 = 101002 175 MAC_OS_X_VERSION_10_10_3 = 101003 176 MAC_OS_X_VERSION_10_11 = 101100 177 MAC_OS_X_VERSION_10_11_2 = 101102 178 MAC_OS_X_VERSION_10_11_3 = 101103 179 MAC_OS_X_VERSION_10_11_4 = 101104 180 MAC_OS_X_VERSION_10_12 = 101200 181 MAC_OS_X_VERSION_10_12_1 = 101201 182 MAC_OS_X_VERSION_10_12_2 = 101202 183 MAC_OS_X_VERSION_10_12_4 = 101204 184 MAC_OS_X_VERSION_10_13 = 101300 185 MAC_OS_X_VERSION_10_13_1 = 101301 186 MAC_OS_X_VERSION_10_13_2 = 101302 187 MAC_OS_X_VERSION_10_13_4 = 101304 188 MAC_OS_X_VERSION_10_14 = 101400 189 MAC_OS_X_VERSION_10_14_1 = 101401 190 MAC_OS_X_VERSION_10_14_4 = 101404 191 MAC_OS_X_VERSION_10_14_6 = 101406 192 MAC_OS_X_VERSION_10_15 = 101500 193 MAC_OS_X_VERSION_10_15_1 = 101501 194 MAC_OS_X_VERSION_10_16 = 101600 195 MAC_OS_X_VERSION_10_2 = 1020 196 MAC_OS_X_VERSION_10_3 = 1030 197 MAC_OS_X_VERSION_10_4 = 1040 198 MAC_OS_X_VERSION_10_5 = 1050 199 MAC_OS_X_VERSION_10_6 = 1060 200 MAC_OS_X_VERSION_10_7 = 1070 201 MAC_OS_X_VERSION_10_8 = 1080 202 MAC_OS_X_VERSION_10_9 = 1090 203 MAX_CANON = 1024 204 MAX_INPUT = 1024 205 MAX_MATCH = 258 206 MAX_MEM_LEVEL = 9 207 MAX_WBITS = 15 208 MB_LEN_MAX = 6 209 MINSIGSTKSZ = 32768 210 MIN_MATCH = 3 211 NAME_MAX = 255 212 NBBY = 8 213 NGROUPS_MAX = 16 214 NL_ARGMAX = 9 215 NL_LANGMAX = 14 216 NL_MSGMAX = 32767 217 NL_NMAX = 1 218 NL_SETMAX = 255 219 NL_TEXTMAX = 2048 220 NMAX = 5552 221 NSIG = 32 222 NZERO = 20 223 OFF_MAX = 9223372036854775807 224 OFF_MIN = -9223372036854775808 225 OPEN_MAX = 10240 226 OS_CODE = 19 227 PASS_MAX = 128 228 PATH_MAX = 1024 229 PDP_ENDIAN = 3412 230 PIPE_BUF = 512 231 POLL_ERR = 4 232 POLL_HUP = 6 233 POLL_IN = 1 234 POLL_MSG = 3 235 POLL_OUT = 2 236 POLL_PRI = 5 237 PRESET_DICT = 0x20 238 PRIO_DARWIN_BG = 0x1000 239 PRIO_DARWIN_NONUI = 0x1001 240 PRIO_DARWIN_PROCESS = 4 241 PRIO_DARWIN_THREAD = 3 242 PRIO_MAX = 20 243 PRIO_MIN = -20 244 PRIO_PGRP = 1 245 PRIO_PROCESS = 0 246 PRIO_USER = 2 247 PTHREAD_DESTRUCTOR_ITERATIONS = 4 248 PTHREAD_KEYS_MAX = 512 249 PTHREAD_STACK_MIN = 16384 250 PTRDIFF_MAX = 9223372036854775807 251 PTRDIFF_MIN = -9223372036854775808 252 QUAD_MAX = 9223372036854775807 253 QUAD_MIN = -9223372036854775808 254 RAND_MAX = 0x7fffffff 255 RE_DUP_MAX = 255 256 RLIMIT_AS = 5 257 RLIMIT_CORE = 4 258 RLIMIT_CPU = 0 259 RLIMIT_CPU_USAGE_MONITOR = 0x2 260 RLIMIT_DATA = 2 261 RLIMIT_FOOTPRINT_INTERVAL = 0x4 262 RLIMIT_FSIZE = 1 263 RLIMIT_MEMLOCK = 6 264 RLIMIT_NOFILE = 8 265 RLIMIT_NPROC = 7 266 RLIMIT_RSS = 5 267 RLIMIT_STACK = 3 268 RLIMIT_THREAD_CPULIMITS = 0x3 269 RLIMIT_WAKEUPS_MONITOR = 0x1 270 RLIM_NLIMITS = 9 271 RSIZE_MAX = 9223372036854775807 272 RUSAGE_CHILDREN = -1 273 RUSAGE_INFO_CURRENT = 5 274 RUSAGE_INFO_V0 = 0 275 RUSAGE_INFO_V1 = 1 276 RUSAGE_INFO_V2 = 2 277 RUSAGE_INFO_V3 = 3 278 RUSAGE_INFO_V4 = 4 279 RUSAGE_INFO_V5 = 5 280 RUSAGE_SELF = 0 281 RU_PROC_RUNS_RESLIDE = 0x00000001 282 R_OK = 4 283 SA_64REGSET = 0x0200 284 SA_NOCLDSTOP = 0x0008 285 SA_NOCLDWAIT = 0x0020 286 SA_NODEFER = 0x0010 287 SA_ONSTACK = 0x0001 288 SA_RESETHAND = 0x0004 289 SA_RESTART = 0x0002 290 SA_SIGINFO = 0x0040 291 SA_USERSPACE_MASK = 127 292 SA_USERTRAMP = 0x0100 293 SCHAR_MAX = 127 294 SCHAR_MIN = -128 295 SEEK_CUR = 1 296 SEEK_DATA = 4 297 SEEK_END = 2 298 SEEK_HOLE = 3 299 SEEK_SET = 0 300 SEGV_ACCERR = 2 301 SEGV_MAPERR = 1 302 SEGV_NOOP = 0 303 SHRT_MAX = 32767 304 SHRT_MIN = -32768 305 SIGABRT = 6 306 SIGALRM = 14 307 SIGBUS = 10 308 SIGCHLD = 20 309 SIGCONT = 19 310 SIGEMT = 7 311 SIGEV_NONE = 0 312 SIGEV_SIGNAL = 1 313 SIGEV_THREAD = 3 314 SIGFPE = 8 315 SIGHUP = 1 316 SIGILL = 4 317 SIGINFO = 29 318 SIGINT = 2 319 SIGIO = 23 320 SIGIOT = 6 321 SIGKILL = 9 322 SIGPIPE = 13 323 SIGPROF = 27 324 SIGQUIT = 3 325 SIGSEGV = 11 326 SIGSTKSZ = 131072 327 SIGSTOP = 17 328 SIGSYS = 12 329 SIGTERM = 15 330 SIGTRAP = 5 331 SIGTSTP = 18 332 SIGTTIN = 21 333 SIGTTOU = 22 334 SIGURG = 16 335 SIGUSR1 = 30 336 SIGUSR2 = 31 337 SIGVTALRM = 26 338 SIGWINCH = 28 339 SIGXCPU = 24 340 SIGXFSZ = 25 341 SIG_ATOMIC_MAX = 2147483647 342 SIG_ATOMIC_MIN = -2147483648 343 SIG_BLOCK = 1 344 SIG_SETMASK = 3 345 SIG_UNBLOCK = 2 346 SIZE_MAX = 18446744073709551615 347 SIZE_T_MAX = 18446744073709551615 348 SI_ASYNCIO = 0x10004 349 SI_MESGQ = 0x10005 350 SI_QUEUE = 0x10002 351 SI_TIMER = 0x10003 352 SI_USER = 0x10001 353 SSIZE_MAX = 9223372036854775807 354 SS_DISABLE = 0x0004 355 SS_ONSTACK = 0x0001 356 STATIC_TREES = 1 357 STDC = 0 358 STDC99 = 0 359 STDERR_FILENO = 2 360 STDIN_FILENO = 0 361 STDOUT_FILENO = 1 362 STORED_BLOCK = 0 363 SV_INTERRUPT = 2 364 SV_NOCLDSTOP = 8 365 SV_NODEFER = 16 366 SV_ONSTACK = 1 367 SV_RESETHAND = 4 368 SV_SIGINFO = 64 369 SYNC_VOLUME_FULLSYNC = 0x01 370 SYNC_VOLUME_WAIT = 0x02 371 TRAP_BRKPT = 1 372 TRAP_TRACE = 2 373 UCHAR_MAX = 255 374 UID_MAX = 2147483647 375 UINT16_MAX = 65535 376 UINT32_MAX = 4294967295 377 UINT64_MAX = 18446744073709551615 378 UINT8_MAX = 255 379 UINTMAX_MAX = 18446744073709551615 380 UINTPTR_MAX = 18446744073709551615 381 UINT_FAST16_MAX = 65535 382 UINT_FAST32_MAX = 4294967295 383 UINT_FAST64_MAX = 18446744073709551615 384 UINT_FAST8_MAX = 255 385 UINT_LEAST16_MAX = 65535 386 UINT_LEAST32_MAX = 4294967295 387 UINT_LEAST64_MAX = 18446744073709551615 388 UINT_LEAST8_MAX = 255 389 UINT_MAX = 4294967295 390 ULLONG_MAX = 18446744073709551615 391 ULONG_LONG_MAX = 18446744073709551615 392 ULONG_MAX = 18446744073709551615 393 UQUAD_MAX = 18446744073709551615 394 USHRT_MAX = 65535 395 WAIT_ANY = -1 396 WAIT_MYPGRP = 0 397 WAKEMON_DISABLE = 0x02 398 WAKEMON_ENABLE = 0x01 399 WAKEMON_GET_PARAMS = 0x04 400 WAKEMON_MAKE_FATAL = 0x10 401 WAKEMON_SET_DEFAULTS = 0x08 402 WCHAR_MAX = 2147483647 403 WCHAR_MIN = -2147483648 404 WCONTINUED = 0x00000010 405 WCOREFLAG = 0200 406 WEXITED = 0x00000004 407 WINT_MAX = 2147483647 408 WINT_MIN = -2147483648 409 WNOHANG = 0x00000001 410 WNOWAIT = 0x00000020 411 WORD_BIT = 32 412 WSTOPPED = 0x00000008 413 WUNTRACED = 0x00000002 414 W_OK = 2 415 X_OK = 1 416 ZCONF_H = 0 417 ZEXPORT = 0 418 ZEXPORTVA = 0 419 ZLIB_H = 0 420 ZLIB_VERNUM = 0x12b0 421 ZLIB_VERSION = "1.2.11" 422 ZLIB_VER_MAJOR = 1 423 ZLIB_VER_MINOR = 2 424 ZLIB_VER_REVISION = 11 425 ZLIB_VER_SUBREVISION = 0 426 ZUTIL_H = 0 427 Z_ASCII = 1 428 Z_BEST_COMPRESSION = 9 429 Z_BEST_SPEED = 1 430 Z_BINARY = 0 431 Z_BLOCK = 5 432 Z_BUF_ERROR = -5 433 Z_DATA_ERROR = -3 434 Z_DEFAULT_COMPRESSION = -1 435 Z_DEFAULT_STRATEGY = 0 436 Z_DEFLATED = 8 437 Z_ERRNO = -1 438 Z_FILTERED = 1 439 Z_FINISH = 4 440 Z_FIXED = 4 441 Z_FULL_FLUSH = 3 442 Z_HAVE_STDARG_H = 0 443 Z_HAVE_UNISTD_H = 0 444 Z_HUFFMAN_ONLY = 2 445 Z_MEM_ERROR = -4 446 Z_NEED_DICT = 2 447 Z_NO_COMPRESSION = 0 448 Z_NO_FLUSH = 0 449 Z_NULL = 0 450 Z_OK = 0 451 Z_PARTIAL_FLUSH = 1 452 Z_RLE = 3 453 Z_STREAM_END = 1 454 Z_STREAM_ERROR = -2 455 Z_SYNC_FLUSH = 2 456 Z_TEXT = 1 457 Z_TREES = 6 458 Z_UNKNOWN = 2 459 Z_VERSION_ERROR = -6 460 X_ACCESS_EXTENDED_MASK = 4193792 461 X_ALLOCA_H_ = 0 462 X_ANSI_STDARG_H_ = 0 463 X_ANSI_STDDEF_H = 0 464 X_APPEND_OK = 8192 465 X_ARM_ARCH_H = 0 466 X_ARM_LIMITS_H_ = 0 467 X_ARM_MACHTYPES_H_ = 0 468 X_ARM_SIGNAL_ = 1 469 X_ARM__ENDIAN_H_ = 0 470 X_ARM__LIMITS_H_ = 0 471 X_BLKCNT_T = 0 472 X_BLKSIZE_T = 0 473 X_BSD_ARM__TYPES_H_ = 0 474 X_BSD_MACHINE_ENDIAN_H_ = 0 475 X_BSD_MACHINE_LIMITS_H_ = 0 476 X_BSD_MACHINE_SIGNAL_H_ = 0 477 X_BSD_MACHINE_TYPES_H_ = 0 478 X_BSD_MACHINE__MCONTEXT_H_ = 0 479 X_BSD_MACHINE__TYPES_H_ = 0 480 X_BSD_PTRDIFF_T_ = 0 481 X_BSD_SIZE_T_ = 0 482 X_BSD_SIZE_T_DEFINED_ = 0 483 X_CADDR_T = 0 484 X_CDEFS_H_ = 0 485 X_CHOWN_OK = 2097152 486 X_CLOCK_T = 0 487 X_CS_DARWIN_USER_CACHE_DIR = 65538 488 X_CS_DARWIN_USER_DIR = 65536 489 X_CS_DARWIN_USER_TEMP_DIR = 65537 490 X_CS_PATH = 1 491 X_CS_POSIX_V6_ILP32_OFF32_CFLAGS = 2 492 X_CS_POSIX_V6_ILP32_OFF32_LDFLAGS = 3 493 X_CS_POSIX_V6_ILP32_OFF32_LIBS = 4 494 X_CS_POSIX_V6_ILP32_OFFBIG_CFLAGS = 5 495 X_CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS = 6 496 X_CS_POSIX_V6_ILP32_OFFBIG_LIBS = 7 497 X_CS_POSIX_V6_LP64_OFF64_CFLAGS = 8 498 X_CS_POSIX_V6_LP64_OFF64_LDFLAGS = 9 499 X_CS_POSIX_V6_LP64_OFF64_LIBS = 10 500 X_CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS = 11 501 X_CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS = 12 502 X_CS_POSIX_V6_LPBIG_OFFBIG_LIBS = 13 503 X_CS_POSIX_V6_WIDTH_RESTRICTED_ENVS = 14 504 X_CS_XBS5_ILP32_OFF32_CFLAGS = 20 505 X_CS_XBS5_ILP32_OFF32_LDFLAGS = 21 506 X_CS_XBS5_ILP32_OFF32_LIBS = 22 507 X_CS_XBS5_ILP32_OFF32_LINTFLAGS = 23 508 X_CS_XBS5_ILP32_OFFBIG_CFLAGS = 24 509 X_CS_XBS5_ILP32_OFFBIG_LDFLAGS = 25 510 X_CS_XBS5_ILP32_OFFBIG_LIBS = 26 511 X_CS_XBS5_ILP32_OFFBIG_LINTFLAGS = 27 512 X_CS_XBS5_LP64_OFF64_CFLAGS = 28 513 X_CS_XBS5_LP64_OFF64_LDFLAGS = 29 514 X_CS_XBS5_LP64_OFF64_LIBS = 30 515 X_CS_XBS5_LP64_OFF64_LINTFLAGS = 31 516 X_CS_XBS5_LPBIG_OFFBIG_CFLAGS = 32 517 X_CS_XBS5_LPBIG_OFFBIG_LDFLAGS = 33 518 X_CS_XBS5_LPBIG_OFFBIG_LIBS = 34 519 X_CS_XBS5_LPBIG_OFFBIG_LINTFLAGS = 35 520 X_CTERMID_H_ = 0 521 X_CT_RUNE_T = 0 522 X_DARWIN_FEATURE_64_BIT_INODE = 1 523 X_DARWIN_FEATURE_ONLY_64_BIT_INODE = 1 524 X_DARWIN_FEATURE_ONLY_UNIX_CONFORMANCE = 1 525 X_DARWIN_FEATURE_ONLY_VERS_1050 = 1 526 X_DARWIN_FEATURE_UNIX_CONFORMANCE = 3 527 X_DELETE_OK = 4096 528 X_DEV_T = 0 529 X_ERRNO_T = 0 530 X_EXECUTE_OK = 2048 531 X_FD_SET = 0 532 X_FILE_OFFSET_BITS = 64 533 X_FORTIFY_SOURCE = 2 534 X_FSBLKCNT_T = 0 535 X_FSFILCNT_T = 0 536 X_GCC_LIMITS_H_ = 0 537 X_GCC_MAX_ALIGN_T = 0 538 X_GCC_PTRDIFF_T = 0 539 X_GCC_SIZE_T = 0 540 X_GCC_WCHAR_T = 0 541 X_GCC_WRAP_STDINT_H = 0 542 X_GID_T = 0 543 X_ID_T = 0 544 X_INO64_T = 0 545 X_INO_T = 0 546 X_INT16_T = 0 547 X_INT32_T = 0 548 X_INT64_T = 0 549 X_INT8_T = 0 550 X_INTMAX_T = 0 551 X_INTPTR_T = 0 552 X_IN_ADDR_T = 0 553 X_IN_PORT_T = 0 554 X_KEY_T = 0 555 X_LIMITS_H_ = 0 556 X_LIMITS_H___ = 0 557 X_LP64 = 1 558 X_MACHTYPES_H_ = 0 559 X_MACH_ARM__STRUCTS_H_ = 0 560 X_MACH_MACHINE__STRUCTS_H_ = 0 561 X_MALLOC_UNDERSCORE_MALLOC_H_ = 0 562 X_MCONTEXT_T = 0 563 X_MODE_T = 0 564 X_NLINK_T = 0 565 X_Nonnull = 0 566 X_Null_unspecified = 0 567 X_Nullable = 0 568 X_OFF_T = 0 569 X_OS_OSBYTEORDERARM_H = 0 570 X_OS__OSBYTEORDER_H = 0 571 X_PC_2_SYMLINKS = 15 572 X_PC_ALLOC_SIZE_MIN = 16 573 X_PC_ASYNC_IO = 17 574 X_PC_AUTH_OPAQUE_NP = 14 575 X_PC_CASE_PRESERVING = 12 576 X_PC_CASE_SENSITIVE = 11 577 X_PC_CHOWN_RESTRICTED = 7 578 X_PC_EXTENDED_SECURITY_NP = 13 579 X_PC_FILESIZEBITS = 18 580 X_PC_LINK_MAX = 1 581 X_PC_MAX_CANON = 2 582 X_PC_MAX_INPUT = 3 583 X_PC_MIN_HOLE_SIZE = 27 584 X_PC_NAME_CHARS_MAX = 10 585 X_PC_NAME_MAX = 4 586 X_PC_NO_TRUNC = 8 587 X_PC_PATH_MAX = 5 588 X_PC_PIPE_BUF = 6 589 X_PC_PRIO_IO = 19 590 X_PC_REC_INCR_XFER_SIZE = 20 591 X_PC_REC_MAX_XFER_SIZE = 21 592 X_PC_REC_MIN_XFER_SIZE = 22 593 X_PC_REC_XFER_ALIGN = 23 594 X_PC_SYMLINK_MAX = 24 595 X_PC_SYNC_IO = 25 596 X_PC_VDISABLE = 9 597 X_PC_XATTR_SIZE_BITS = 26 598 X_PID_T = 0 599 X_POSIX2_BC_BASE_MAX = 99 600 X_POSIX2_BC_DIM_MAX = 2048 601 X_POSIX2_BC_SCALE_MAX = 99 602 X_POSIX2_BC_STRING_MAX = 1000 603 X_POSIX2_CHARCLASS_NAME_MAX = 14 604 X_POSIX2_CHAR_TERM = 200112 605 X_POSIX2_COLL_WEIGHTS_MAX = 2 606 X_POSIX2_C_BIND = 200112 607 X_POSIX2_C_DEV = 200112 608 X_POSIX2_EQUIV_CLASS_MAX = 2 609 X_POSIX2_EXPR_NEST_MAX = 32 610 X_POSIX2_FORT_DEV = -1 611 X_POSIX2_FORT_RUN = 200112 612 X_POSIX2_LINE_MAX = 2048 613 X_POSIX2_LOCALEDEF = 200112 614 X_POSIX2_PBS = -1 615 X_POSIX2_PBS_ACCOUNTING = -1 616 X_POSIX2_PBS_CHECKPOINT = -1 617 X_POSIX2_PBS_LOCATE = -1 618 X_POSIX2_PBS_MESSAGE = -1 619 X_POSIX2_PBS_TRACK = -1 620 X_POSIX2_RE_DUP_MAX = 255 621 X_POSIX2_SW_DEV = 200112 622 X_POSIX2_UPE = 200112 623 X_POSIX2_VERSION = 200112 624 X_POSIX_ADVISORY_INFO = -1 625 X_POSIX_AIO_LISTIO_MAX = 2 626 X_POSIX_AIO_MAX = 1 627 X_POSIX_ARG_MAX = 4096 628 X_POSIX_ASYNCHRONOUS_IO = -1 629 X_POSIX_BARRIERS = -1 630 X_POSIX_CHILD_MAX = 25 631 X_POSIX_CHOWN_RESTRICTED = 200112 632 X_POSIX_CLOCKRES_MIN = 20000000 633 X_POSIX_CLOCK_SELECTION = -1 634 X_POSIX_CPUTIME = -1 635 X_POSIX_DELAYTIMER_MAX = 32 636 X_POSIX_FSYNC = 200112 637 X_POSIX_HOST_NAME_MAX = 255 638 X_POSIX_IPV6 = 200112 639 X_POSIX_JOB_CONTROL = 200112 640 X_POSIX_LINK_MAX = 8 641 X_POSIX_LOGIN_NAME_MAX = 9 642 X_POSIX_MAPPED_FILES = 200112 643 X_POSIX_MAX_CANON = 255 644 X_POSIX_MAX_INPUT = 255 645 X_POSIX_MEMLOCK = -1 646 X_POSIX_MEMLOCK_RANGE = -1 647 X_POSIX_MEMORY_PROTECTION = 200112 648 X_POSIX_MESSAGE_PASSING = -1 649 X_POSIX_MONOTONIC_CLOCK = -1 650 X_POSIX_MQ_OPEN_MAX = 8 651 X_POSIX_MQ_PRIO_MAX = 32 652 X_POSIX_NAME_MAX = 14 653 X_POSIX_NGROUPS_MAX = 8 654 X_POSIX_NO_TRUNC = 200112 655 X_POSIX_OPEN_MAX = 20 656 X_POSIX_PATH_MAX = 256 657 X_POSIX_PIPE_BUF = 512 658 X_POSIX_PRIORITIZED_IO = -1 659 X_POSIX_PRIORITY_SCHEDULING = -1 660 X_POSIX_RAW_SOCKETS = -1 661 X_POSIX_READER_WRITER_LOCKS = 200112 662 X_POSIX_REALTIME_SIGNALS = -1 663 X_POSIX_REGEXP = 200112 664 X_POSIX_RE_DUP_MAX = 255 665 X_POSIX_RTSIG_MAX = 8 666 X_POSIX_SAVED_IDS = 200112 667 X_POSIX_SEMAPHORES = -1 668 X_POSIX_SEM_NSEMS_MAX = 256 669 X_POSIX_SEM_VALUE_MAX = 32767 670 X_POSIX_SHARED_MEMORY_OBJECTS = -1 671 X_POSIX_SHELL = 200112 672 X_POSIX_SIGQUEUE_MAX = 32 673 X_POSIX_SPAWN = -1 674 X_POSIX_SPIN_LOCKS = -1 675 X_POSIX_SPORADIC_SERVER = -1 676 X_POSIX_SSIZE_MAX = 32767 677 X_POSIX_SS_REPL_MAX = 4 678 X_POSIX_STREAM_MAX = 8 679 X_POSIX_SYMLINK_MAX = 255 680 X_POSIX_SYMLOOP_MAX = 8 681 X_POSIX_SYNCHRONIZED_IO = -1 682 X_POSIX_THREADS = 200112 683 X_POSIX_THREAD_ATTR_STACKADDR = 200112 684 X_POSIX_THREAD_ATTR_STACKSIZE = 200112 685 X_POSIX_THREAD_CPUTIME = -1 686 X_POSIX_THREAD_DESTRUCTOR_ITERATIONS = 4 687 X_POSIX_THREAD_KEYS_MAX = 128 688 X_POSIX_THREAD_PRIORITY_SCHEDULING = -1 689 X_POSIX_THREAD_PRIO_INHERIT = -1 690 X_POSIX_THREAD_PRIO_PROTECT = -1 691 X_POSIX_THREAD_PROCESS_SHARED = 200112 692 X_POSIX_THREAD_SAFE_FUNCTIONS = 200112 693 X_POSIX_THREAD_SPORADIC_SERVER = -1 694 X_POSIX_THREAD_THREADS_MAX = 64 695 X_POSIX_TIMEOUTS = -1 696 X_POSIX_TIMERS = -1 697 X_POSIX_TIMER_MAX = 32 698 X_POSIX_TRACE = -1 699 X_POSIX_TRACE_EVENT_FILTER = -1 700 X_POSIX_TRACE_EVENT_NAME_MAX = 30 701 X_POSIX_TRACE_INHERIT = -1 702 X_POSIX_TRACE_LOG = -1 703 X_POSIX_TRACE_NAME_MAX = 8 704 X_POSIX_TRACE_SYS_MAX = 8 705 X_POSIX_TRACE_USER_EVENT_MAX = 32 706 X_POSIX_TTY_NAME_MAX = 9 707 X_POSIX_TYPED_MEMORY_OBJECTS = -1 708 X_POSIX_TZNAME_MAX = 6 709 X_POSIX_V6_ILP32_OFF32 = -1 710 X_POSIX_V6_ILP32_OFFBIG = -1 711 X_POSIX_V6_LP64_OFF64 = 1 712 X_POSIX_V6_LPBIG_OFFBIG = 1 713 X_POSIX_V7_ILP32_OFF32 = -1 714 X_POSIX_V7_ILP32_OFFBIG = -1 715 X_POSIX_V7_LP64_OFF64 = 1 716 X_POSIX_V7_LPBIG_OFFBIG = 1 717 X_POSIX_VERSION = 200112 718 X_PTHREAD_ATTR_T = 0 719 X_PTHREAD_CONDATTR_T = 0 720 X_PTHREAD_COND_T = 0 721 X_PTHREAD_KEY_T = 0 722 X_PTHREAD_MUTEXATTR_T = 0 723 X_PTHREAD_MUTEX_T = 0 724 X_PTHREAD_ONCE_T = 0 725 X_PTHREAD_RWLOCKATTR_T = 0 726 X_PTHREAD_RWLOCK_T = 0 727 X_PTHREAD_T = 0 728 X_PTRDIFF_T = 0 729 X_PTRDIFF_T_ = 0 730 X_PTRDIFF_T_DECLARED = 0 731 X_QUAD_HIGHWORD = 1 732 X_QUAD_LOWWORD = 0 733 X_RATTR_OK = 32768 734 X_READ_OK = 512 735 X_REXT_OK = 131072 736 X_RLIMIT_POSIX_FLAG = 0x1000 737 X_RMFILE_OK = 16384 738 X_RPERM_OK = 524288 739 X_RSIZE_T = 0 740 X_RUNE_T = 0 741 X_SC_2_CHAR_TERM = 20 742 X_SC_2_C_BIND = 18 743 X_SC_2_C_DEV = 19 744 X_SC_2_FORT_DEV = 21 745 X_SC_2_FORT_RUN = 22 746 X_SC_2_LOCALEDEF = 23 747 X_SC_2_PBS = 59 748 X_SC_2_PBS_ACCOUNTING = 60 749 X_SC_2_PBS_CHECKPOINT = 61 750 X_SC_2_PBS_LOCATE = 62 751 X_SC_2_PBS_MESSAGE = 63 752 X_SC_2_PBS_TRACK = 64 753 X_SC_2_SW_DEV = 24 754 X_SC_2_UPE = 25 755 X_SC_2_VERSION = 17 756 X_SC_ADVISORY_INFO = 65 757 X_SC_AIO_LISTIO_MAX = 42 758 X_SC_AIO_MAX = 43 759 X_SC_AIO_PRIO_DELTA_MAX = 44 760 X_SC_ARG_MAX = 1 761 X_SC_ASYNCHRONOUS_IO = 28 762 X_SC_ATEXIT_MAX = 107 763 X_SC_BARRIERS = 66 764 X_SC_BC_BASE_MAX = 9 765 X_SC_BC_DIM_MAX = 10 766 X_SC_BC_SCALE_MAX = 11 767 X_SC_BC_STRING_MAX = 12 768 X_SC_CHILD_MAX = 2 769 X_SC_CLK_TCK = 3 770 X_SC_CLOCK_SELECTION = 67 771 X_SC_COLL_WEIGHTS_MAX = 13 772 X_SC_CPUTIME = 68 773 X_SC_DELAYTIMER_MAX = 45 774 X_SC_EXPR_NEST_MAX = 14 775 X_SC_FILE_LOCKING = 69 776 X_SC_FSYNC = 38 777 X_SC_GETGR_R_SIZE_MAX = 70 778 X_SC_GETPW_R_SIZE_MAX = 71 779 X_SC_HOST_NAME_MAX = 72 780 X_SC_IOV_MAX = 56 781 X_SC_IPV6 = 118 782 X_SC_JOB_CONTROL = 6 783 X_SC_LINE_MAX = 15 784 X_SC_LOGIN_NAME_MAX = 73 785 X_SC_MAPPED_FILES = 47 786 X_SC_MEMLOCK = 30 787 X_SC_MEMLOCK_RANGE = 31 788 X_SC_MEMORY_PROTECTION = 32 789 X_SC_MESSAGE_PASSING = 33 790 X_SC_MONOTONIC_CLOCK = 74 791 X_SC_MQ_OPEN_MAX = 46 792 X_SC_MQ_PRIO_MAX = 75 793 X_SC_NGROUPS_MAX = 4 794 X_SC_NPROCESSORS_CONF = 57 795 X_SC_NPROCESSORS_ONLN = 58 796 X_SC_OPEN_MAX = 5 797 X_SC_PAGESIZE = 29 798 X_SC_PAGE_SIZE = 29 799 X_SC_PASS_MAX = 131 800 X_SC_PHYS_PAGES = 200 801 X_SC_PRIORITIZED_IO = 34 802 X_SC_PRIORITY_SCHEDULING = 35 803 X_SC_RAW_SOCKETS = 119 804 X_SC_READER_WRITER_LOCKS = 76 805 X_SC_REALTIME_SIGNALS = 36 806 X_SC_REGEXP = 77 807 X_SC_RE_DUP_MAX = 16 808 X_SC_RTSIG_MAX = 48 809 X_SC_SAVED_IDS = 7 810 X_SC_SEMAPHORES = 37 811 X_SC_SEM_NSEMS_MAX = 49 812 X_SC_SEM_VALUE_MAX = 50 813 X_SC_SHARED_MEMORY_OBJECTS = 39 814 X_SC_SHELL = 78 815 X_SC_SIGQUEUE_MAX = 51 816 X_SC_SPAWN = 79 817 X_SC_SPIN_LOCKS = 80 818 X_SC_SPORADIC_SERVER = 81 819 X_SC_SS_REPL_MAX = 126 820 X_SC_STREAM_MAX = 26 821 X_SC_SYMLOOP_MAX = 120 822 X_SC_SYNCHRONIZED_IO = 40 823 X_SC_THREADS = 96 824 X_SC_THREAD_ATTR_STACKADDR = 82 825 X_SC_THREAD_ATTR_STACKSIZE = 83 826 X_SC_THREAD_CPUTIME = 84 827 X_SC_THREAD_DESTRUCTOR_ITERATIONS = 85 828 X_SC_THREAD_KEYS_MAX = 86 829 X_SC_THREAD_PRIORITY_SCHEDULING = 89 830 X_SC_THREAD_PRIO_INHERIT = 87 831 X_SC_THREAD_PRIO_PROTECT = 88 832 X_SC_THREAD_PROCESS_SHARED = 90 833 X_SC_THREAD_SAFE_FUNCTIONS = 91 834 X_SC_THREAD_SPORADIC_SERVER = 92 835 X_SC_THREAD_STACK_MIN = 93 836 X_SC_THREAD_THREADS_MAX = 94 837 X_SC_TIMEOUTS = 95 838 X_SC_TIMERS = 41 839 X_SC_TIMER_MAX = 52 840 X_SC_TRACE = 97 841 X_SC_TRACE_EVENT_FILTER = 98 842 X_SC_TRACE_EVENT_NAME_MAX = 127 843 X_SC_TRACE_INHERIT = 99 844 X_SC_TRACE_LOG = 100 845 X_SC_TRACE_NAME_MAX = 128 846 X_SC_TRACE_SYS_MAX = 129 847 X_SC_TRACE_USER_EVENT_MAX = 130 848 X_SC_TTY_NAME_MAX = 101 849 X_SC_TYPED_MEMORY_OBJECTS = 102 850 X_SC_TZNAME_MAX = 27 851 X_SC_V6_ILP32_OFF32 = 103 852 X_SC_V6_ILP32_OFFBIG = 104 853 X_SC_V6_LP64_OFF64 = 105 854 X_SC_V6_LPBIG_OFFBIG = 106 855 X_SC_VERSION = 8 856 X_SC_XBS5_ILP32_OFF32 = 122 857 X_SC_XBS5_ILP32_OFFBIG = 123 858 X_SC_XBS5_LP64_OFF64 = 124 859 X_SC_XBS5_LPBIG_OFFBIG = 125 860 X_SC_XOPEN_CRYPT = 108 861 X_SC_XOPEN_ENH_I18N = 109 862 X_SC_XOPEN_LEGACY = 110 863 X_SC_XOPEN_REALTIME = 111 864 X_SC_XOPEN_REALTIME_THREADS = 112 865 X_SC_XOPEN_SHM = 113 866 X_SC_XOPEN_STREAMS = 114 867 X_SC_XOPEN_UNIX = 115 868 X_SC_XOPEN_VERSION = 116 869 X_SC_XOPEN_XCU_VERSION = 121 870 X_SECURE__COMMON_H_ = 0 871 X_SECURE__STRINGS_H_ = 0 872 X_SECURE__STRING_H_ = 0 873 X_SIGSET_T = 0 874 X_SIZET_ = 0 875 X_SIZE_T = 0 876 X_SIZE_T_ = 0 877 X_SIZE_T_DECLARED = 0 878 X_SIZE_T_DEFINED = 0 879 X_SIZE_T_DEFINED_ = 0 880 X_SSIZE_T = 0 881 X_STDARG_H = 0 882 X_STDDEF_H = 0 883 X_STDDEF_H_ = 0 884 X_STDINT_H_ = 0 885 X_STDLIB_H_ = 0 886 X_STRINGS_H_ = 0 887 X_STRING_H_ = 0 888 X_SUSECONDS_T = 0 889 X_SYS_RESOURCE_H_ = 0 890 X_SYS_SELECT_H_ = 0 891 X_SYS_SIGNAL_H_ = 0 892 X_SYS_SIZE_T_H = 0 893 X_SYS_SYSLIMITS_H_ = 0 894 X_SYS_TYPES_H_ = 0 895 X_SYS_UNISTD_H_ = 0 896 X_SYS_WAIT_H_ = 0 897 X_SYS__ENDIAN_H_ = 0 898 X_SYS__PTHREAD_TYPES_H_ = 0 899 X_SYS__SELECT_H_ = 0 900 X_SYS__TYPES_H_ = 0 901 X_TIME_T = 0 902 X_T_PTRDIFF = 0 903 X_T_PTRDIFF_ = 0 904 X_T_SIZE = 0 905 X_T_SIZE_ = 0 906 X_T_WCHAR = 0 907 X_T_WCHAR_ = 0 908 X_UID_T = 0 909 X_UINT16_T = 0 910 X_UINT32_T = 0 911 X_UINT64_T = 0 912 X_UINT8_T = 0 913 X_UINTMAX_T = 0 914 X_UINTPTR_T = 0 915 X_UNISTD_H_ = 0 916 X_USECONDS_T = 0 917 X_USE_FORTIFY_LEVEL = 2 918 X_UUID_T = 0 919 X_U_CHAR = 0 920 X_U_INT = 0 921 X_U_INT16_T = 0 922 X_U_INT32_T = 0 923 X_U_INT64_T = 0 924 X_U_INT8_T = 0 925 X_U_LONG = 0 926 X_U_SHORT = 0 927 X_V6_ILP32_OFF32 = -1 928 X_V6_ILP32_OFFBIG = -1 929 X_V6_LP64_OFF64 = 1 930 X_V6_LPBIG_OFFBIG = 1 931 X_VA_LIST = 0 932 X_VA_LIST_ = 0 933 X_VA_LIST_DEFINED = 0 934 X_VA_LIST_T_H = 0 935 X_WATTR_OK = 65536 936 X_WCHAR_T = 0 937 X_WCHAR_T_ = 0 938 X_WCHAR_T_DECLARED = 0 939 X_WCHAR_T_DEFINED = 0 940 X_WCHAR_T_DEFINED_ = 0 941 X_WCHAR_T_H = 0 942 X_WEXT_OK = 262144 943 X_WPERM_OK = 1048576 944 X_WRITE_OK = 1024 945 X_WSTOPPED = 0177 946 X_XBS5_ILP32_OFF32 = -1 947 X_XBS5_ILP32_OFFBIG = -1 948 X_XBS5_LP64_OFF64 = 1 949 X_XBS5_LPBIG_OFFBIG = 1 950 X_XOPEN_CRYPT = 1 951 X_XOPEN_ENH_I18N = 1 952 X_XOPEN_IOV_MAX = 16 953 X_XOPEN_LEGACY = -1 954 X_XOPEN_NAME_MAX = 255 955 X_XOPEN_PATH_MAX = 1024 956 X_XOPEN_REALTIME = -1 957 X_XOPEN_REALTIME_THREADS = -1 958 X_XOPEN_SHM = 1 959 X_XOPEN_STREAMS = -1 960 X_XOPEN_UNIX = 1 961 X_XOPEN_VERSION = 600 962 X_XOPEN_XCU_VERSION = 4 963 Z_const = 0 964 BYFOUR = 0 965 GF2_DIM = 32 966 TBLS = 8 967 BL_CODES = 19 968 BUSY_STATE = 113 969 Buf_size = 16 970 COMMENT_STATE = 91 971 DEFLATE_H = 0 972 D_CODES = 30 973 EXTRA_STATE = 69 974 FINISH_STATE = 666 975 GZIP = 0 976 GZIP_STATE = 57 977 HCRC_STATE = 103 978 HEAP_SIZE = 573 979 INIT_STATE = 42 980 LENGTH_CODES = 29 981 LITERALS = 256 982 L_CODES = 286 983 MAX_BITS = 15 984 MAX_STORED = 65535 985 MIN_LOOKAHEAD = 262 986 NAME_STATE = 73 987 NIL = 0 988 TOO_FAR = 4096 989 WIN_INIT = 258 990 AT_EACCESS = 0x0010 991 AT_FDCWD = -2 992 AT_FDONLY = 0x0400 993 AT_REALDEV = 0x0200 994 AT_REMOVEDIR = 0x0080 995 AT_SYMLINK_FOLLOW = 0x0040 996 AT_SYMLINK_NOFOLLOW = 0x0020 997 BUFSIZ = 1024 998 COPY1 = 1 999 CPF_IGNORE_MODE = 0x0002 1000 CPF_MASK = 3 1001 CPF_OVERWRITE = 0x0001 1002 E2BIG = 7 1003 EACCES = 13 1004 EADDRINUSE = 48 1005 EADDRNOTAVAIL = 49 1006 EAFNOSUPPORT = 47 1007 EAGAIN = 35 1008 EALREADY = 37 1009 EAUTH = 80 1010 EBADARCH = 86 1011 EBADEXEC = 85 1012 EBADF = 9 1013 EBADMACHO = 88 1014 EBADMSG = 94 1015 EBADRPC = 72 1016 EBUSY = 16 1017 ECANCELED = 89 1018 ECHILD = 10 1019 ECONNABORTED = 53 1020 ECONNREFUSED = 61 1021 ECONNRESET = 54 1022 EDEADLK = 11 1023 EDESTADDRREQ = 39 1024 EDEVERR = 83 1025 EDOM = 33 1026 EDQUOT = 69 1027 EEXIST = 17 1028 EFAULT = 14 1029 EFBIG = 27 1030 EFTYPE = 79 1031 EHOSTDOWN = 64 1032 EHOSTUNREACH = 65 1033 EIDRM = 90 1034 EILSEQ = 92 1035 EINPROGRESS = 36 1036 EINTR = 4 1037 EINVAL = 22 1038 EIO = 5 1039 EISCONN = 56 1040 EISDIR = 21 1041 ELAST = 106 1042 ELOOP = 62 1043 EMFILE = 24 1044 EMLINK = 31 1045 EMSGSIZE = 40 1046 EMULTIHOP = 95 1047 ENAMETOOLONG = 63 1048 ENEEDAUTH = 81 1049 ENETDOWN = 50 1050 ENETRESET = 52 1051 ENETUNREACH = 51 1052 ENFILE = 23 1053 ENOATTR = 93 1054 ENOBUFS = 55 1055 ENODATA = 96 1056 ENODEV = 19 1057 ENOENT = 2 1058 ENOEXEC = 8 1059 ENOLCK = 77 1060 ENOLINK = 97 1061 ENOMEM = 12 1062 ENOMSG = 91 1063 ENOPOLICY = 103 1064 ENOPROTOOPT = 42 1065 ENOSPC = 28 1066 ENOSR = 98 1067 ENOSTR = 99 1068 ENOSYS = 78 1069 ENOTBLK = 15 1070 ENOTCONN = 57 1071 ENOTDIR = 20 1072 ENOTEMPTY = 66 1073 ENOTRECOVERABLE = 104 1074 ENOTSOCK = 38 1075 ENOTSUP = 45 1076 ENOTTY = 25 1077 ENXIO = 6 1078 EOF = -1 1079 EOPNOTSUPP = 102 1080 EOVERFLOW = 84 1081 EOWNERDEAD = 105 1082 EPERM = 1 1083 EPFNOSUPPORT = 46 1084 EPIPE = 32 1085 EPROCLIM = 67 1086 EPROCUNAVAIL = 76 1087 EPROGMISMATCH = 75 1088 EPROGUNAVAIL = 74 1089 EPROTO = 100 1090 EPROTONOSUPPORT = 43 1091 EPROTOTYPE = 41 1092 EPWROFF = 82 1093 EQFULL = 106 1094 ERANGE = 34 1095 EREMOTE = 71 1096 EROFS = 30 1097 ERPCMISMATCH = 73 1098 ESHLIBVERS = 87 1099 ESHUTDOWN = 58 1100 ESOCKTNOSUPPORT = 44 1101 ESPIPE = 29 1102 ESRCH = 3 1103 ESTALE = 70 1104 ETIME = 101 1105 ETIMEDOUT = 60 1106 ETOOMANYREFS = 59 1107 ETXTBSY = 26 1108 EUSERS = 68 1109 EWOULDBLOCK = 35 1110 EXDEV = 18 1111 FAPPEND = 8 1112 FASYNC = 64 1113 FCNTL_FS_SPECIFIC_BASE = 0x00010000 1114 FD_CLOEXEC = 1 1115 FFDSYNC = 4194304 1116 FFSYNC = 128 1117 FILENAME_MAX = 1024 1118 FIXINC_WRAP_STDIO_H_STDIO_STDARG_H = 1 1119 FNDELAY = 4 1120 FNONBLOCK = 4 1121 FOPEN_MAX = 20 1122 FREAD = 0x00000001 1123 FWRITE = 0x00000002 1124 F_ADDFILESIGS = 61 1125 F_ADDFILESIGS_FOR_DYLD_SIM = 83 1126 F_ADDFILESIGS_INFO = 103 1127 F_ADDFILESIGS_RETURN = 97 1128 F_ADDFILESUPPL = 104 1129 F_ADDSIGS = 59 1130 F_ALLOCATEALL = 0x00000004 1131 F_ALLOCATECONTIG = 0x00000002 1132 F_BARRIERFSYNC = 85 1133 F_CHECK_LV = 98 1134 F_CHKCLEAN = 41 1135 F_DUPFD = 0 1136 F_DUPFD_CLOEXEC = 67 1137 F_FINDSIGS = 78 1138 F_FLUSH_DATA = 40 1139 F_FREEZE_FS = 53 1140 F_FULLFSYNC = 51 1141 F_GETCODEDIR = 72 1142 F_GETFD = 1 1143 F_GETFL = 3 1144 F_GETLK = 7 1145 F_GETLKPID = 66 1146 F_GETNOSIGPIPE = 74 1147 F_GETOWN = 5 1148 F_GETPATH = 50 1149 F_GETPATH_MTMINFO = 71 1150 F_GETPATH_NOFIRMLINK = 102 1151 F_GETPROTECTIONCLASS = 63 1152 F_GETPROTECTIONLEVEL = 77 1153 F_GETSIGSINFO = 105 1154 F_GLOBAL_NOCACHE = 55 1155 F_LOG2PHYS = 49 1156 F_LOG2PHYS_EXT = 65 1157 F_NOCACHE = 48 1158 F_NODIRECT = 62 1159 F_PATHPKG_CHECK = 52 1160 F_PEOFPOSMODE = 3 1161 F_PREALLOCATE = 42 1162 F_PUNCHHOLE = 99 1163 F_RDADVISE = 44 1164 F_RDAHEAD = 45 1165 F_RDLCK = 1 1166 F_SETBACKINGSTORE = 70 1167 F_SETFD = 2 1168 F_SETFL = 4 1169 F_SETLK = 8 1170 F_SETLKW = 9 1171 F_SETLKWTIMEOUT = 10 1172 F_SETNOSIGPIPE = 73 1173 F_SETOWN = 6 1174 F_SETPROTECTIONCLASS = 64 1175 F_SETSIZE = 43 1176 F_SINGLE_WRITER = 76 1177 F_SPECULATIVE_READ = 101 1178 F_THAW_FS = 54 1179 F_TRANSCODEKEY = 75 1180 F_TRIM_ACTIVE_FILE = 100 1181 F_UNLCK = 2 1182 F_VOLPOSMODE = 4 1183 F_WRLCK = 3 1184 GETSIGSINFO_PLATFORM_BINARY = 1 1185 GZBUFSIZE = 8192 1186 GZ_APPEND = 1 1187 GZ_NONE = 0 1188 GZ_READ = 7247 1189 GZ_WRITE = 31153 1190 HAVE_VSNPRINTF = 0 1191 LOCK_EX = 0x02 1192 LOCK_NB = 0x04 1193 LOCK_SH = 0x01 1194 LOCK_UN = 0x08 1195 LOOK = 0 1196 L_ctermid = 1024 1197 L_tmpnam = 1024 1198 O_ACCMODE = 0x0003 1199 O_ALERT = 0x20000000 1200 O_APPEND = 0x00000008 1201 O_ASYNC = 0x00000040 1202 O_CLOEXEC = 0x01000000 1203 O_CREAT = 0x00000200 1204 O_DIRECTORY = 0x00100000 1205 O_DP_GETRAWENCRYPTED = 0x0001 1206 O_DP_GETRAWUNENCRYPTED = 0x0002 1207 O_DSYNC = 0x400000 1208 O_EVTONLY = 0x00008000 1209 O_EXCL = 0x00000800 1210 O_EXLOCK = 0x00000020 1211 O_FSYNC = 128 1212 O_NDELAY = 4 1213 O_NOCTTY = 0x00020000 1214 O_NOFOLLOW = 0x00000100 1215 O_NOFOLLOW_ANY = 0x20000000 1216 O_NONBLOCK = 0x00000004 1217 O_POPUP = 0x80000000 1218 O_RDONLY = 0x0000 1219 O_RDWR = 0x0002 1220 O_SHLOCK = 0x00000010 1221 O_SYMLINK = 0x00200000 1222 O_SYNC = 0x0080 1223 O_TRUNC = 0x00000400 1224 O_WRONLY = 0x0001 1225 P_tmpdir = "/var/tmp/" 1226 RENAME_EXCL = 0x00000004 1227 RENAME_SECLUDE = 0x00000001 1228 RENAME_SWAP = 0x00000002 1229 S_IEXEC = 64 1230 S_IFBLK = 0060000 1231 S_IFCHR = 0020000 1232 S_IFDIR = 0040000 1233 S_IFIFO = 0010000 1234 S_IFLNK = 0120000 1235 S_IFMT = 0170000 1236 S_IFREG = 0100000 1237 S_IFSOCK = 0140000 1238 S_IFWHT = 0160000 1239 S_IREAD = 256 1240 S_IRGRP = 0000040 1241 S_IROTH = 0000004 1242 S_IRUSR = 0000400 1243 S_IRWXG = 0000070 1244 S_IRWXO = 0000007 1245 S_IRWXU = 0000700 1246 S_ISGID = 0002000 1247 S_ISTXT = 512 1248 S_ISUID = 0004000 1249 S_ISVTX = 0001000 1250 S_IWGRP = 0000020 1251 S_IWOTH = 0000002 1252 S_IWRITE = 128 1253 S_IWUSR = 0000200 1254 S_IXGRP = 0000010 1255 S_IXOTH = 0000001 1256 S_IXUSR = 0000100 1257 TMP_MAX = 308915776 1258 USER_FSIGNATURES_CDHASH_LEN = 20 1259 X_FILESEC_T = 0 1260 X_FSTDIO = 0 1261 X_IOFBF = 0 1262 X_IOLBF = 1 1263 X_IONBF = 2 1264 X_POSIX_SOURCE = 0 1265 X_SECURE__STDIO_H_ = 0 1266 X_STDIO_H_ = 0 1267 X_SYS_ERRNO_H_ = 0 1268 X_SYS_FCNTL_H_ = 0 1269 X_SYS_STDIO_H_ = 0 1270 X_VA_LIST_T = 0 1271 ENOUGH = 1444 1272 ENOUGH_DISTS = 592 1273 ENOUGH_LENS = 852 1274 GUNZIP = 0 1275 MAXBITS = 15 1276 DIST_CODE_LEN = 512 1277 END_BLOCK = 256 1278 MAX_BL_BITS = 7 1279 REPZ_11_138 = 18 1280 REPZ_3_10 = 17 1281 REP_3_6 = 16 1282 SMALLEST = 1 1283 ) 1284 1285 const ( /* fcntl.h:545:1: */ 1286 FILESEC_OWNER = 1 1287 FILESEC_GROUP = 2 1288 FILESEC_UUID = 3 1289 FILESEC_MODE = 4 1290 FILESEC_ACL = 5 1291 FILESEC_GRPUUID = 6 1292 1293 // XXX these are private to the implementation 1294 FILESEC_ACL_RAW = 100 1295 FILESEC_ACL_ALLOCSIZE = 101 1296 ) 1297 1298 // Copyright (c) 2000, 2007, 2010 Apple Inc. All rights reserved. 1299 // 1300 // @APPLE_LICENSE_HEADER_START@ 1301 // 1302 // This file contains Original Code and/or Modifications of Original Code 1303 // as defined in and that are subject to the Apple Public Source License 1304 // Version 2.0 (the 'License'). You may not use this file except in 1305 // compliance with the License. Please obtain a copy of the License at 1306 // http://www.opensource.apple.com/apsl/ and read it before using this 1307 // file. 1308 // 1309 // The Original Code and all software distributed under the License are 1310 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 1311 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 1312 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 1313 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 1314 // Please see the License for the specific language governing rights and 1315 // limitations under the License. 1316 // 1317 // @APPLE_LICENSE_HEADER_END@ 1318 // - 1319 // Copyright (c) 1990, 1993 1320 // The Regents of the University of California. All rights reserved. 1321 // 1322 // Redistribution and use in source and binary forms, with or without 1323 // modification, are permitted provided that the following conditions 1324 // are met: 1325 // 1. Redistributions of source code must retain the above copyright 1326 // notice, this list of conditions and the following disclaimer. 1327 // 2. Redistributions in binary form must reproduce the above copyright 1328 // notice, this list of conditions and the following disclaimer in the 1329 // documentation and/or other materials provided with the distribution. 1330 // 3. All advertising materials mentioning features or use of this software 1331 // must display the following acknowledgement: 1332 // This product includes software developed by the University of 1333 // California, Berkeley and its contributors. 1334 // 4. Neither the name of the University nor the names of its contributors 1335 // may be used to endorse or promote products derived from this software 1336 // without specific prior written permission. 1337 // 1338 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 1339 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 1340 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 1341 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 1342 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 1343 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 1344 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 1345 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 1346 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 1347 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 1348 // SUCH DAMAGE. 1349 // 1350 // @(#)string.h 8.1 (Berkeley) 6/2/93 1351 1352 // Security checking functions. 1353 // Copyright (c) 2017 Apple Inc. All rights reserved. 1354 // 1355 // @APPLE_LICENSE_HEADER_START@ 1356 // 1357 // This file contains Original Code and/or Modifications of Original Code 1358 // as defined in and that are subject to the Apple Public Source License 1359 // Version 2.0 (the 'License'). You may not use this file except in 1360 // compliance with the License. Please obtain a copy of the License at 1361 // http://www.opensource.apple.com/apsl/ and read it before using this 1362 // file. 1363 // 1364 // The Original Code and all software distributed under the License are 1365 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 1366 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 1367 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 1368 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 1369 // Please see the License for the specific language governing rights and 1370 // limitations under the License. 1371 // 1372 // @APPLE_LICENSE_HEADER_END@ 1373 1374 // Copyright (c) 2000-2018 Apple Inc. All rights reserved. 1375 // 1376 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 1377 // 1378 // This file contains Original Code and/or Modifications of Original Code 1379 // as defined in and that are subject to the Apple Public Source License 1380 // Version 2.0 (the 'License'). You may not use this file except in 1381 // compliance with the License. The rights granted to you under the License 1382 // may not be used to create, or enable the creation or redistribution of, 1383 // unlawful or unlicensed copies of an Apple operating system, or to 1384 // circumvent, violate, or enable the circumvention or violation of, any 1385 // terms of an Apple operating system software license agreement. 1386 // 1387 // Please obtain a copy of the License at 1388 // http://www.opensource.apple.com/apsl/ and read it before using this file. 1389 // 1390 // The Original Code and all software distributed under the License are 1391 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 1392 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 1393 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 1394 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 1395 // Please see the License for the specific language governing rights and 1396 // limitations under the License. 1397 // 1398 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 1399 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 1400 // Copyright (c) 1991, 1993 1401 // The Regents of the University of California. All rights reserved. 1402 // 1403 // This code is derived from software contributed to Berkeley by 1404 // Berkeley Software Design, Inc. 1405 // 1406 // Redistribution and use in source and binary forms, with or without 1407 // modification, are permitted provided that the following conditions 1408 // are met: 1409 // 1. Redistributions of source code must retain the above copyright 1410 // notice, this list of conditions and the following disclaimer. 1411 // 2. Redistributions in binary form must reproduce the above copyright 1412 // notice, this list of conditions and the following disclaimer in the 1413 // documentation and/or other materials provided with the distribution. 1414 // 3. All advertising materials mentioning features or use of this software 1415 // must display the following acknowledgement: 1416 // This product includes software developed by the University of 1417 // California, Berkeley and its contributors. 1418 // 4. Neither the name of the University nor the names of its contributors 1419 // may be used to endorse or promote products derived from this software 1420 // without specific prior written permission. 1421 // 1422 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 1423 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 1424 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 1425 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 1426 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 1427 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 1428 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 1429 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 1430 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 1431 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 1432 // SUCH DAMAGE. 1433 // 1434 // @(#)cdefs.h 8.8 (Berkeley) 1/9/95 1435 1436 // Copyright (c) 2007-2016 by Apple Inc.. All rights reserved. 1437 // 1438 // @APPLE_LICENSE_HEADER_START@ 1439 // 1440 // This file contains Original Code and/or Modifications of Original Code 1441 // as defined in and that are subject to the Apple Public Source License 1442 // Version 2.0 (the 'License'). You may not use this file except in 1443 // compliance with the License. Please obtain a copy of the License at 1444 // http://www.opensource.apple.com/apsl/ and read it before using this 1445 // file. 1446 // 1447 // The Original Code and all software distributed under the License are 1448 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 1449 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 1450 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 1451 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 1452 // Please see the License for the specific language governing rights and 1453 // limitations under the License. 1454 // 1455 // @APPLE_LICENSE_HEADER_END@ 1456 1457 // Copyright (c) 2007, 2008 Apple Inc. All rights reserved. 1458 // 1459 // @APPLE_LICENSE_HEADER_START@ 1460 // 1461 // This file contains Original Code and/or Modifications of Original Code 1462 // as defined in and that are subject to the Apple Public Source License 1463 // Version 2.0 (the 'License'). You may not use this file except in 1464 // compliance with the License. Please obtain a copy of the License at 1465 // http://www.opensource.apple.com/apsl/ and read it before using this 1466 // file. 1467 // 1468 // The Original Code and all software distributed under the License are 1469 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 1470 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 1471 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 1472 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 1473 // Please see the License for the specific language governing rights and 1474 // limitations under the License. 1475 // 1476 // @APPLE_LICENSE_HEADER_END@ 1477 1478 // bcopy and bzero 1479 1480 // Removed in Issue 7 1481 1482 // void bcopy(const void *src, void *dst, size_t len) 1483 1484 // void bzero(void *s, size_t n) 1485 1486 // Security checking functions. 1487 // Copyright (c) 2007,2017 Apple Inc. All rights reserved. 1488 // 1489 // @APPLE_LICENSE_HEADER_START@ 1490 // 1491 // This file contains Original Code and/or Modifications of Original Code 1492 // as defined in and that are subject to the Apple Public Source License 1493 // Version 2.0 (the 'License'). You may not use this file except in 1494 // compliance with the License. Please obtain a copy of the License at 1495 // http://www.opensource.apple.com/apsl/ and read it before using this 1496 // file. 1497 // 1498 // The Original Code and all software distributed under the License are 1499 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 1500 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 1501 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 1502 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 1503 // Please see the License for the specific language governing rights and 1504 // limitations under the License. 1505 // 1506 // @APPLE_LICENSE_HEADER_END@ 1507 1508 // Copyright (c) 2000-2018 Apple Inc. All rights reserved. 1509 // 1510 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 1511 // 1512 // This file contains Original Code and/or Modifications of Original Code 1513 // as defined in and that are subject to the Apple Public Source License 1514 // Version 2.0 (the 'License'). You may not use this file except in 1515 // compliance with the License. The rights granted to you under the License 1516 // may not be used to create, or enable the creation or redistribution of, 1517 // unlawful or unlicensed copies of an Apple operating system, or to 1518 // circumvent, violate, or enable the circumvention or violation of, any 1519 // terms of an Apple operating system software license agreement. 1520 // 1521 // Please obtain a copy of the License at 1522 // http://www.opensource.apple.com/apsl/ and read it before using this file. 1523 // 1524 // The Original Code and all software distributed under the License are 1525 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 1526 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 1527 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 1528 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 1529 // Please see the License for the specific language governing rights and 1530 // limitations under the License. 1531 // 1532 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 1533 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 1534 // Copyright (c) 1991, 1993 1535 // The Regents of the University of California. All rights reserved. 1536 // 1537 // This code is derived from software contributed to Berkeley by 1538 // Berkeley Software Design, Inc. 1539 // 1540 // Redistribution and use in source and binary forms, with or without 1541 // modification, are permitted provided that the following conditions 1542 // are met: 1543 // 1. Redistributions of source code must retain the above copyright 1544 // notice, this list of conditions and the following disclaimer. 1545 // 2. Redistributions in binary form must reproduce the above copyright 1546 // notice, this list of conditions and the following disclaimer in the 1547 // documentation and/or other materials provided with the distribution. 1548 // 3. All advertising materials mentioning features or use of this software 1549 // must display the following acknowledgement: 1550 // This product includes software developed by the University of 1551 // California, Berkeley and its contributors. 1552 // 4. Neither the name of the University nor the names of its contributors 1553 // may be used to endorse or promote products derived from this software 1554 // without specific prior written permission. 1555 // 1556 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 1557 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 1558 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 1559 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 1560 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 1561 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 1562 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 1563 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 1564 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 1565 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 1566 // SUCH DAMAGE. 1567 // 1568 // @(#)cdefs.h 8.8 (Berkeley) 1/9/95 1569 1570 // Copyright (c) 2007-2016 by Apple Inc.. All rights reserved. 1571 // 1572 // @APPLE_LICENSE_HEADER_START@ 1573 // 1574 // This file contains Original Code and/or Modifications of Original Code 1575 // as defined in and that are subject to the Apple Public Source License 1576 // Version 2.0 (the 'License'). You may not use this file except in 1577 // compliance with the License. Please obtain a copy of the License at 1578 // http://www.opensource.apple.com/apsl/ and read it before using this 1579 // file. 1580 // 1581 // The Original Code and all software distributed under the License are 1582 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 1583 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 1584 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 1585 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 1586 // Please see the License for the specific language governing rights and 1587 // limitations under the License. 1588 // 1589 // @APPLE_LICENSE_HEADER_END@ 1590 1591 // Copyright (c) 2007, 2008 Apple Inc. All rights reserved. 1592 // 1593 // @APPLE_LICENSE_HEADER_START@ 1594 // 1595 // This file contains Original Code and/or Modifications of Original Code 1596 // as defined in and that are subject to the Apple Public Source License 1597 // Version 2.0 (the 'License'). You may not use this file except in 1598 // compliance with the License. Please obtain a copy of the License at 1599 // http://www.opensource.apple.com/apsl/ and read it before using this 1600 // file. 1601 // 1602 // The Original Code and all software distributed under the License are 1603 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 1604 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 1605 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 1606 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 1607 // Please see the License for the specific language governing rights and 1608 // limitations under the License. 1609 // 1610 // @APPLE_LICENSE_HEADER_END@ 1611 1612 // <rdar://problem/12622659> 1613 1614 // memccpy, memcpy, mempcpy, memmove, memset, strcpy, strlcpy, stpcpy, 1615 // strncpy, stpncpy, strcat, strlcat, and strncat 1616 1617 // void *memcpy(void *dst, const void *src, size_t n) 1618 1619 // void *memmove(void *dst, const void *src, size_t len) 1620 1621 // void *memset(void *b, int c, size_t len) 1622 1623 // char *strcpy(char *dst, const char *src) 1624 1625 // char *stpcpy(char *dst, const char *src) 1626 1627 // char *stpncpy(char *dst, const char *src, size_t n) 1628 1629 // char *strncpy(char *dst, const char *src, size_t n) 1630 1631 // char *strcat(char *s1, const char *s2) 1632 1633 // char *strncat(char *s1, const char *s2, size_t n) 1634 1635 // Copyright (c) 2000, 2002 - 2008 Apple Inc. All rights reserved. 1636 // 1637 // @APPLE_LICENSE_HEADER_START@ 1638 // 1639 // This file contains Original Code and/or Modifications of Original Code 1640 // as defined in and that are subject to the Apple Public Source License 1641 // Version 2.0 (the 'License'). You may not use this file except in 1642 // compliance with the License. Please obtain a copy of the License at 1643 // http://www.opensource.apple.com/apsl/ and read it before using this 1644 // file. 1645 // 1646 // The Original Code and all software distributed under the License are 1647 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 1648 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 1649 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 1650 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 1651 // Please see the License for the specific language governing rights and 1652 // limitations under the License. 1653 // 1654 // @APPLE_LICENSE_HEADER_END@ 1655 // - 1656 // Copyright (c) 1990, 1993 1657 // The Regents of the University of California. All rights reserved. 1658 // 1659 // Redistribution and use in source and binary forms, with or without 1660 // modification, are permitted provided that the following conditions 1661 // are met: 1662 // 1. Redistributions of source code must retain the above copyright 1663 // notice, this list of conditions and the following disclaimer. 1664 // 2. Redistributions in binary form must reproduce the above copyright 1665 // notice, this list of conditions and the following disclaimer in the 1666 // documentation and/or other materials provided with the distribution. 1667 // 3. All advertising materials mentioning features or use of this software 1668 // must display the following acknowledgement: 1669 // This product includes software developed by the University of 1670 // California, Berkeley and its contributors. 1671 // 4. Neither the name of the University nor the names of its contributors 1672 // may be used to endorse or promote products derived from this software 1673 // without specific prior written permission. 1674 // 1675 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 1676 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 1677 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 1678 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 1679 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 1680 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 1681 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 1682 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 1683 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 1684 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 1685 // SUCH DAMAGE. 1686 // 1687 // @(#)stdlib.h 8.5 (Berkeley) 5/19/95 1688 1689 // Copyright (c) 2007-2016 by Apple Inc.. All rights reserved. 1690 // 1691 // @APPLE_LICENSE_HEADER_START@ 1692 // 1693 // This file contains Original Code and/or Modifications of Original Code 1694 // as defined in and that are subject to the Apple Public Source License 1695 // Version 2.0 (the 'License'). You may not use this file except in 1696 // compliance with the License. Please obtain a copy of the License at 1697 // http://www.opensource.apple.com/apsl/ and read it before using this 1698 // file. 1699 // 1700 // The Original Code and all software distributed under the License are 1701 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 1702 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 1703 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 1704 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 1705 // Please see the License for the specific language governing rights and 1706 // limitations under the License. 1707 // 1708 // @APPLE_LICENSE_HEADER_END@ 1709 1710 // Copyright (c) 2000-2018 Apple Inc. All rights reserved. 1711 // 1712 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 1713 // 1714 // This file contains Original Code and/or Modifications of Original Code 1715 // as defined in and that are subject to the Apple Public Source License 1716 // Version 2.0 (the 'License'). You may not use this file except in 1717 // compliance with the License. The rights granted to you under the License 1718 // may not be used to create, or enable the creation or redistribution of, 1719 // unlawful or unlicensed copies of an Apple operating system, or to 1720 // circumvent, violate, or enable the circumvention or violation of, any 1721 // terms of an Apple operating system software license agreement. 1722 // 1723 // Please obtain a copy of the License at 1724 // http://www.opensource.apple.com/apsl/ and read it before using this file. 1725 // 1726 // The Original Code and all software distributed under the License are 1727 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 1728 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 1729 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 1730 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 1731 // Please see the License for the specific language governing rights and 1732 // limitations under the License. 1733 // 1734 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 1735 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 1736 // Copyright (c) 1991, 1993 1737 // The Regents of the University of California. All rights reserved. 1738 // 1739 // This code is derived from software contributed to Berkeley by 1740 // Berkeley Software Design, Inc. 1741 // 1742 // Redistribution and use in source and binary forms, with or without 1743 // modification, are permitted provided that the following conditions 1744 // are met: 1745 // 1. Redistributions of source code must retain the above copyright 1746 // notice, this list of conditions and the following disclaimer. 1747 // 2. Redistributions in binary form must reproduce the above copyright 1748 // notice, this list of conditions and the following disclaimer in the 1749 // documentation and/or other materials provided with the distribution. 1750 // 3. All advertising materials mentioning features or use of this software 1751 // must display the following acknowledgement: 1752 // This product includes software developed by the University of 1753 // California, Berkeley and its contributors. 1754 // 4. Neither the name of the University nor the names of its contributors 1755 // may be used to endorse or promote products derived from this software 1756 // without specific prior written permission. 1757 // 1758 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 1759 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 1760 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 1761 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 1762 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 1763 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 1764 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 1765 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 1766 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 1767 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 1768 // SUCH DAMAGE. 1769 // 1770 // @(#)cdefs.h 8.8 (Berkeley) 1/9/95 1771 1772 // Copyright (c) 2004, 2008, 2009 Apple Inc. All rights reserved. 1773 // 1774 // @APPLE_LICENSE_HEADER_START@ 1775 // 1776 // This file contains Original Code and/or Modifications of Original Code 1777 // as defined in and that are subject to the Apple Public Source License 1778 // Version 2.0 (the 'License'). You may not use this file except in 1779 // compliance with the License. Please obtain a copy of the License at 1780 // http://www.opensource.apple.com/apsl/ and read it before using this 1781 // file. 1782 // 1783 // The Original Code and all software distributed under the License are 1784 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 1785 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 1786 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 1787 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 1788 // Please see the License for the specific language governing rights and 1789 // limitations under the License. 1790 // 1791 // @APPLE_LICENSE_HEADER_END@ 1792 1793 // Copyright (c) 2000 Apple Computer, Inc. All rights reserved. 1794 // 1795 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 1796 // 1797 // This file contains Original Code and/or Modifications of Original Code 1798 // as defined in and that are subject to the Apple Public Source License 1799 // Version 2.0 (the 'License'). You may not use this file except in 1800 // compliance with the License. The rights granted to you under the License 1801 // may not be used to create, or enable the creation or redistribution of, 1802 // unlawful or unlicensed copies of an Apple operating system, or to 1803 // circumvent, violate, or enable the circumvention or violation of, any 1804 // terms of an Apple operating system software license agreement. 1805 // 1806 // Please obtain a copy of the License at 1807 // http://www.opensource.apple.com/apsl/ and read it before using this file. 1808 // 1809 // The Original Code and all software distributed under the License are 1810 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 1811 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 1812 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 1813 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 1814 // Please see the License for the specific language governing rights and 1815 // limitations under the License. 1816 // 1817 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 1818 // Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved 1819 // Copyright (c) 1982, 1986, 1989, 1993, 1994 1820 // The Regents of the University of California. All rights reserved. 1821 // 1822 // Redistribution and use in source and binary forms, with or without 1823 // modification, are permitted provided that the following conditions 1824 // are met: 1825 // 1. Redistributions of source code must retain the above copyright 1826 // notice, this list of conditions and the following disclaimer. 1827 // 2. Redistributions in binary form must reproduce the above copyright 1828 // notice, this list of conditions and the following disclaimer in the 1829 // documentation and/or other materials provided with the distribution. 1830 // 3. All advertising materials mentioning features or use of this software 1831 // must display the following acknowledgement: 1832 // This product includes software developed by the University of 1833 // California, Berkeley and its contributors. 1834 // 4. Neither the name of the University nor the names of its contributors 1835 // may be used to endorse or promote products derived from this software 1836 // without specific prior written permission. 1837 // 1838 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 1839 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 1840 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 1841 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 1842 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 1843 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 1844 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 1845 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 1846 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 1847 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 1848 // SUCH DAMAGE. 1849 // 1850 // @(#)wait.h 8.2 (Berkeley) 7/10/94 1851 1852 // Copyright (c) 2000-2018 Apple Inc. All rights reserved. 1853 // 1854 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 1855 // 1856 // This file contains Original Code and/or Modifications of Original Code 1857 // as defined in and that are subject to the Apple Public Source License 1858 // Version 2.0 (the 'License'). You may not use this file except in 1859 // compliance with the License. The rights granted to you under the License 1860 // may not be used to create, or enable the creation or redistribution of, 1861 // unlawful or unlicensed copies of an Apple operating system, or to 1862 // circumvent, violate, or enable the circumvention or violation of, any 1863 // terms of an Apple operating system software license agreement. 1864 // 1865 // Please obtain a copy of the License at 1866 // http://www.opensource.apple.com/apsl/ and read it before using this file. 1867 // 1868 // The Original Code and all software distributed under the License are 1869 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 1870 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 1871 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 1872 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 1873 // Please see the License for the specific language governing rights and 1874 // limitations under the License. 1875 // 1876 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 1877 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 1878 // Copyright (c) 1991, 1993 1879 // The Regents of the University of California. All rights reserved. 1880 // 1881 // This code is derived from software contributed to Berkeley by 1882 // Berkeley Software Design, Inc. 1883 // 1884 // Redistribution and use in source and binary forms, with or without 1885 // modification, are permitted provided that the following conditions 1886 // are met: 1887 // 1. Redistributions of source code must retain the above copyright 1888 // notice, this list of conditions and the following disclaimer. 1889 // 2. Redistributions in binary form must reproduce the above copyright 1890 // notice, this list of conditions and the following disclaimer in the 1891 // documentation and/or other materials provided with the distribution. 1892 // 3. All advertising materials mentioning features or use of this software 1893 // must display the following acknowledgement: 1894 // This product includes software developed by the University of 1895 // California, Berkeley and its contributors. 1896 // 4. Neither the name of the University nor the names of its contributors 1897 // may be used to endorse or promote products derived from this software 1898 // without specific prior written permission. 1899 // 1900 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 1901 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 1902 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 1903 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 1904 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 1905 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 1906 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 1907 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 1908 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 1909 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 1910 // SUCH DAMAGE. 1911 // 1912 // @(#)cdefs.h 8.8 (Berkeley) 1/9/95 1913 1914 // Copyright (c) 2003-2007 Apple Inc. All rights reserved. 1915 // 1916 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 1917 // 1918 // This file contains Original Code and/or Modifications of Original Code 1919 // as defined in and that are subject to the Apple Public Source License 1920 // Version 2.0 (the 'License'). You may not use this file except in 1921 // compliance with the License. The rights granted to you under the License 1922 // may not be used to create, or enable the creation or redistribution of, 1923 // unlawful or unlicensed copies of an Apple operating system, or to 1924 // circumvent, violate, or enable the circumvention or violation of, any 1925 // terms of an Apple operating system software license agreement. 1926 // 1927 // Please obtain a copy of the License at 1928 // http://www.opensource.apple.com/apsl/ and read it before using this file. 1929 // 1930 // The Original Code and all software distributed under the License are 1931 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 1932 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 1933 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 1934 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 1935 // Please see the License for the specific language governing rights and 1936 // limitations under the License. 1937 // 1938 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 1939 1940 // This file holds definitions relevent to the wait4 system call 1941 // and the alternate interfaces that use it (wait, wait3, waitpid). 1942 1943 // [XSI] The type idtype_t shall be defined as an enumeration type whose 1944 // possible values shall include at least P_ALL, P_PID, and P_PGID. 1945 const ( /* wait.h:79:1: */ 1946 P_ALL = 0 1947 P_PID = 1 1948 P_PGID = 2 1949 ) 1950 1951 // 1952 // If you use the zlib library in a product, an acknowledgment is welcome 1953 // in the documentation of your product. If for some reason you cannot 1954 // include such an acknowledgment, I would appreciate that you keep this 1955 // copyright string in the executable of your product. 1956 // 1957 1958 // =========================================================================== 1959 // Function prototypes. 1960 const ( /* deflate.c:66:1: */ 1961 Need_more = 0 // block not completed, need more input or more output 1962 Block_done = 1 // block flush performed 1963 Finish_started = 2 // finish started, need only more output at next deflate 1964 Finish_done = 3 1965 ) 1966 1967 // inflate.h -- internal inflate state definition 1968 // Copyright (C) 1995-2016 Mark Adler 1969 // For conditions of distribution and use, see copyright notice in zlib.h 1970 1971 // WARNING: this file should *not* be used by applications. It is 1972 // part of the implementation of the compression library and is 1973 // subject to change. Applications should only use zlib.h. 1974 // 1975 1976 // define NO_GZIP when compiling if you want to disable gzip header and 1977 // trailer decoding by inflate(). NO_GZIP would be used to avoid linking in 1978 // the crc code when it is not needed. For shared libraries, gzip decoding 1979 // should be left enabled. 1980 1981 // Possible inflate modes between inflate() calls 1982 const ( /* inflate.h:20:1: */ 1983 HEAD = 16180 // i: waiting for magic header 1984 FLAGS = 16181 // i: waiting for method and flags (gzip) 1985 TIME = 16182 // i: waiting for modification time (gzip) 1986 OS = 16183 // i: waiting for extra flags and operating system (gzip) 1987 EXLEN = 16184 // i: waiting for extra length (gzip) 1988 EXTRA = 16185 // i: waiting for extra bytes (gzip) 1989 NAME = 16186 // i: waiting for end of file name (gzip) 1990 COMMENT = 16187 // i: waiting for end of comment (gzip) 1991 HCRC = 16188 // i: waiting for header crc (gzip) 1992 DICTID = 16189 // i: waiting for dictionary check value 1993 DICT = 16190 // waiting for inflateSetDictionary() call 1994 TYPE = 16191 // i: waiting for type bits, including last-flag bit 1995 TYPEDO = 16192 // i: same, but skip check to exit inflate on new block 1996 STORED = 16193 // i: waiting for stored size (length and complement) 1997 COPY_ = 16194 // i/o: same as COPY below, but only first time in 1998 COPY = 16195 // i/o: waiting for input or output to copy stored block 1999 TABLE = 16196 // i: waiting for dynamic block table lengths 2000 LENLENS = 16197 // i: waiting for code length code lengths 2001 CODELENS = 16198 // i: waiting for length/lit and distance code lengths 2002 LEN_ = 16199 // i: same as LEN below, but only first time in 2003 LEN = 16200 // i: waiting for length/lit/eob code 2004 LENEXT = 16201 // i: waiting for length extra bits 2005 DIST = 16202 // i: waiting for distance code 2006 DISTEXT = 16203 // i: waiting for distance extra bits 2007 MATCH = 16204 // o: waiting for output space to copy string 2008 LIT = 16205 // o: waiting for output space to write literal 2009 CHECK = 16206 // i: waiting for 32-bit check value 2010 LENGTH = 16207 // i: waiting for 32-bit length (gzip) 2011 DONE = 16208 // finished check, done -- remain here until reset 2012 BAD = 16209 // got a data error -- remain here until reset 2013 MEM = 16210 // got an inflate() memory error -- remain here until reset 2014 SYNC = 16211 2015 ) 2016 2017 // op values as set by inflate_table(): 2018 // 00000000 - literal 2019 // 0000tttt - table link, tttt != 0 is the number of table index bits 2020 // 0001eeee - length or distance, eeee is the number of extra bits 2021 // 01100000 - end of block 2022 // 01000000 - invalid code 2023 // 2024 2025 // Maximum size of the dynamic table. The maximum number of code structures is 2026 // 1444, which is the sum of 852 for literal/length codes and 592 for distance 2027 // codes. These values were found by exhaustive searches using the program 2028 // examples/enough.c found in the zlib distribtution. The arguments to that 2029 // program are the number of symbols, the initial root table size, and the 2030 // maximum bit length of a code. "enough 286 9 15" for literal/length codes 2031 // returns returns 852, and "enough 30 6 15" for distance codes returns 592. 2032 // The initial root table size (9 or 6) is found in the fifth argument of the 2033 // inflate_table() calls in inflate.c and infback.c. If the root table size is 2034 // changed, then these maximum sizes would be need to be recalculated and 2035 // updated. 2036 2037 // Type of code to build for inflate_table() 2038 const ( /* inftrees.h:54:1: */ 2039 CODES = 0 2040 LENS = 1 2041 DISTS = 2 2042 ) 2043 2044 type Ptrdiff_t = int64 /* <builtin>:3:26 */ 2045 2046 type Size_t = uint64 /* <builtin>:9:23 */ 2047 2048 type Wchar_t = int32 /* <builtin>:15:24 */ 2049 2050 type X__int128_t = struct { 2051 Flo int64 2052 Fhi int64 2053 } /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128 2054 type X__uint128_t = struct { 2055 Flo uint64 2056 Fhi uint64 2057 } /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128 2058 2059 type X__builtin_va_list = uintptr /* <builtin>:46:14 */ 2060 type X__float128 = float64 /* <builtin>:47:21 */ 2061 2062 // A null pointer constant. 2063 2064 // Offset of member MEMBER in a struct of type TYPE. 2065 2066 // Type whose alignment is supported in every context and is at least 2067 // as great as that of any standard type not using alignment 2068 // specifiers. 2069 type Max_align_t = struct { 2070 F__max_align_ll int64 2071 F__max_align_ld float64 2072 } /* stddef.h:426:3 */ 2073 2074 type Z_size_t = Size_t /* zconf.h:248:21 */ 2075 2076 // Maximum value for memLevel in deflateInit2 2077 2078 // Maximum value for windowBits in deflateInit2 and inflateInit2. 2079 // WARNING: reducing MAX_WBITS makes minigzip unable to extract .gz files 2080 // created by gzip. (Files created by minigzip can still be extracted by 2081 // gzip.) 2082 2083 // The memory requirements for deflate are (in bytes): 2084 // (1 << (windowBits+2)) + (1 << (memLevel+9)) 2085 // that is: 128K for windowBits=15 + 128K for memLevel = 8 (default values) 2086 // plus a few kilobytes for small objects. For example, if you want to reduce 2087 // the default memory requirements from 256K to 128K, compile with 2088 // make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7" 2089 // Of course this will generally degrade compression (there's no free lunch). 2090 // 2091 // The memory requirements for inflate are (in bytes) 1 << windowBits 2092 // that is, 32K for windowBits=15 (default value) plus about 7 kilobytes 2093 // for small objects. 2094 2095 // Type declarations 2096 2097 // The following definitions for FAR are needed only for MSDOS mixed 2098 // model programming (small or medium model with some far allocations). 2099 // This was tested only with MSC; for other MSDOS compilers you may have 2100 // to define NO_MEMCPY in zutil.h. If you don't need the mixed model, 2101 // just define FAR to be empty. 2102 2103 type Byte = uint8 /* zconf.h:391:24 */ // 8 bits 2104 type UInt = uint32 /* zconf.h:393:24 */ // 16 bits or more 2105 type ULong = uint64 /* zconf.h:394:24 */ // 32 bits or more 2106 2107 type Bytef = Byte /* zconf.h:400:22 */ 2108 type Charf = int8 /* zconf.h:402:19 */ 2109 type Intf = int32 /* zconf.h:403:19 */ 2110 type UIntf = UInt /* zconf.h:404:19 */ 2111 type ULongf = ULong /* zconf.h:405:19 */ 2112 2113 type Voidpc = uintptr /* zconf.h:408:23 */ 2114 type Voidpf = uintptr /* zconf.h:409:23 */ 2115 type Voidp = uintptr /* zconf.h:410:23 */ 2116 2117 // Copyright (C) 1992-2021 Free Software Foundation, Inc. 2118 // 2119 // This file is part of GCC. 2120 // 2121 // GCC is free software; you can redistribute it and/or modify it under 2122 // the terms of the GNU General Public License as published by the Free 2123 // Software Foundation; either version 3, or (at your option) any later 2124 // version. 2125 // 2126 // GCC is distributed in the hope that it will be useful, but WITHOUT ANY 2127 // WARRANTY; without even the implied warranty of MERCHANTABILITY or 2128 // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 2129 // for more details. 2130 // 2131 // Under Section 7 of GPL version 3, you are granted additional 2132 // permissions described in the GCC Runtime Library Exception, version 2133 // 3.1, as published by the Free Software Foundation. 2134 // 2135 // You should have received a copy of the GNU General Public License and 2136 // a copy of the GCC Runtime Library Exception along with this program; 2137 // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 2138 // <http://www.gnu.org/licenses/>. 2139 2140 // This administrivia gets added to the beginning of limits.h 2141 // if the system has its own version of limits.h. 2142 2143 // We use _GCC_LIMITS_H_ because we want this not to match 2144 // any macros that the system's limits.h uses for its own purposes. 2145 2146 // Use "..." so that we find syslimits.h only in this same directory. 2147 // syslimits.h stands for the system's own limits.h file. 2148 // If we can use it ok unmodified, then we install this text. 2149 // If fixincludes fixes it, then the fixed version is installed 2150 // instead of this text. 2151 2152 // Copyright (c) 2000, 2004-2007, 2009 Apple Inc. All rights reserved. 2153 // 2154 // @APPLE_LICENSE_HEADER_START@ 2155 // 2156 // This file contains Original Code and/or Modifications of Original Code 2157 // as defined in and that are subject to the Apple Public Source License 2158 // Version 2.0 (the 'License'). You may not use this file except in 2159 // compliance with the License. Please obtain a copy of the License at 2160 // http://www.opensource.apple.com/apsl/ and read it before using this 2161 // file. 2162 // 2163 // The Original Code and all software distributed under the License are 2164 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 2165 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 2166 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 2167 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 2168 // Please see the License for the specific language governing rights and 2169 // limitations under the License. 2170 // 2171 // @APPLE_LICENSE_HEADER_END@ 2172 // $NetBSD: limits.h,v 1.8 1996/10/21 05:10:50 jtc Exp $ 2173 2174 // Copyright (c) 1988, 1993 2175 // The Regents of the University of California. All rights reserved. 2176 // 2177 // Redistribution and use in source and binary forms, with or without 2178 // modification, are permitted provided that the following conditions 2179 // are met: 2180 // 1. Redistributions of source code must retain the above copyright 2181 // notice, this list of conditions and the following disclaimer. 2182 // 2. Redistributions in binary form must reproduce the above copyright 2183 // notice, this list of conditions and the following disclaimer in the 2184 // documentation and/or other materials provided with the distribution. 2185 // 3. All advertising materials mentioning features or use of this software 2186 // must display the following acknowledgement: 2187 // This product includes software developed by the University of 2188 // California, Berkeley and its contributors. 2189 // 4. Neither the name of the University nor the names of its contributors 2190 // may be used to endorse or promote products derived from this software 2191 // without specific prior written permission. 2192 // 2193 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 2194 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 2195 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 2196 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 2197 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 2198 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 2199 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 2200 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 2201 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 2202 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 2203 // SUCH DAMAGE. 2204 // 2205 // @(#)limits.h 8.2 (Berkeley) 1/4/94 2206 2207 // Copyright (c) 2000-2018 Apple Inc. All rights reserved. 2208 // 2209 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 2210 // 2211 // This file contains Original Code and/or Modifications of Original Code 2212 // as defined in and that are subject to the Apple Public Source License 2213 // Version 2.0 (the 'License'). You may not use this file except in 2214 // compliance with the License. The rights granted to you under the License 2215 // may not be used to create, or enable the creation or redistribution of, 2216 // unlawful or unlicensed copies of an Apple operating system, or to 2217 // circumvent, violate, or enable the circumvention or violation of, any 2218 // terms of an Apple operating system software license agreement. 2219 // 2220 // Please obtain a copy of the License at 2221 // http://www.opensource.apple.com/apsl/ and read it before using this file. 2222 // 2223 // The Original Code and all software distributed under the License are 2224 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 2225 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 2226 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 2227 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 2228 // Please see the License for the specific language governing rights and 2229 // limitations under the License. 2230 // 2231 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 2232 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 2233 // Copyright (c) 1991, 1993 2234 // The Regents of the University of California. All rights reserved. 2235 // 2236 // This code is derived from software contributed to Berkeley by 2237 // Berkeley Software Design, Inc. 2238 // 2239 // Redistribution and use in source and binary forms, with or without 2240 // modification, are permitted provided that the following conditions 2241 // are met: 2242 // 1. Redistributions of source code must retain the above copyright 2243 // notice, this list of conditions and the following disclaimer. 2244 // 2. Redistributions in binary form must reproduce the above copyright 2245 // notice, this list of conditions and the following disclaimer in the 2246 // documentation and/or other materials provided with the distribution. 2247 // 3. All advertising materials mentioning features or use of this software 2248 // must display the following acknowledgement: 2249 // This product includes software developed by the University of 2250 // California, Berkeley and its contributors. 2251 // 4. Neither the name of the University nor the names of its contributors 2252 // may be used to endorse or promote products derived from this software 2253 // without specific prior written permission. 2254 // 2255 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 2256 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 2257 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 2258 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 2259 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 2260 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 2261 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 2262 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 2263 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 2264 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 2265 // SUCH DAMAGE. 2266 // 2267 // @(#)cdefs.h 8.8 (Berkeley) 1/9/95 2268 2269 // This SDK is designed to work with clang and specific versions of 2270 // gcc >= 4.0 with Apple's patch sets 2271 2272 // Compatibility with compilers and environments that don't support compiler 2273 // feature checking function-like macros. 2274 2275 // The __CONCAT macro is used to concatenate parts of symbol names, e.g. 2276 // with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo. 2277 // The __CONCAT macro is a bit tricky -- make sure you don't put spaces 2278 // in between its arguments. __CONCAT can also concatenate double-quoted 2279 // strings produced by the __STRING macro, but this only works with ANSI C. 2280 2281 // __pure2 can be used for functions that are only a function of their scalar 2282 // arguments (meaning they can't dereference pointers). 2283 // 2284 // __stateful_pure can be used for functions that have no side effects, 2285 // but depend on the state of the memory. 2286 2287 // __unused denotes variables and functions that may not be used, preventing 2288 // the compiler from warning about it if not used. 2289 2290 // __used forces variables and functions to be included even if it appears 2291 // to the compiler that they are not used (and would thust be discarded). 2292 2293 // __cold marks code used for debugging or that is rarely taken 2294 // and tells the compiler to optimize for size and outline code. 2295 2296 // __exported denotes symbols that should be exported even when symbols 2297 // are hidden by default. 2298 // __exported_push/_exported_pop are pragmas used to delimit a range of 2299 // symbols that should be exported even when symbols are hidden by default. 2300 2301 // __deprecated causes the compiler to produce a warning when encountering 2302 // code using the deprecated functionality. 2303 // __deprecated_msg() does the same, and compilers that support it will print 2304 // a message along with the deprecation warning. 2305 // This may require turning on such warning with the -Wdeprecated flag. 2306 // __deprecated_enum_msg() should be used on enums, and compilers that support 2307 // it will print the deprecation warning. 2308 // __kpi_deprecated() specifically indicates deprecation of kernel programming 2309 // interfaces in Kernel.framework used by KEXTs. 2310 2311 // __unavailable causes the compiler to error out when encountering 2312 // code using the tagged function 2313 2314 // Delete pseudo-keywords wherever they are not available or needed. 2315 2316 // We use `__restrict' as a way to define the `restrict' type qualifier 2317 // without disturbing older software that is unaware of C99 keywords. 2318 2319 // Compatibility with compilers and environments that don't support the 2320 // nullability feature. 2321 2322 // __disable_tail_calls causes the compiler to not perform tail call 2323 // optimization inside the marked function. 2324 2325 // __not_tail_called causes the compiler to prevent tail call optimization 2326 // on statically bound calls to the function. It has no effect on indirect 2327 // calls. Virtual functions, objective-c methods, and functions marked as 2328 // "always_inline" cannot be marked as __not_tail_called. 2329 2330 // __result_use_check warns callers of a function that not using the function 2331 // return value is a bug, i.e. dismissing malloc() return value results in a 2332 // memory leak. 2333 2334 // __swift_unavailable causes the compiler to mark a symbol as specifically 2335 // unavailable in Swift, regardless of any other availability in C. 2336 2337 // __abortlike is the attribute to put on functions like abort() that are 2338 // typically used to mark assertions. These optimize the codegen 2339 // for outlining while still maintaining debugability. 2340 2341 // Declaring inline functions within headers is error-prone due to differences 2342 // across various versions of the C language and extensions. __header_inline 2343 // can be used to declare inline functions within system headers. In cases 2344 // where you want to force inlining instead of letting the compiler make 2345 // the decision, you can use __header_always_inline. 2346 // 2347 // Be aware that using inline for functions which compilers may also provide 2348 // builtins can behave differently under various compilers. If you intend to 2349 // provide an inline version of such a function, you may want to use a macro 2350 // instead. 2351 // 2352 // The check for !__GNUC__ || __clang__ is because gcc doesn't correctly 2353 // support c99 inline in some cases: 2354 // http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55965 2355 2356 // Compiler-dependent macros that bracket portions of code where the 2357 // "-Wunreachable-code" warning should be ignored. Please use sparingly. 2358 2359 // Compiler-dependent macros to declare that functions take printf-like 2360 // or scanf-like arguments. They are null except for versions of gcc 2361 // that are known to support the features properly. Functions declared 2362 // with these attributes will cause compilation warnings if there is a 2363 // mismatch between the format string and subsequent function parameter 2364 // types. 2365 2366 // Source compatibility only, ID string not emitted in object file 2367 2368 // __alloc_size can be used to label function arguments that represent the 2369 // size of memory that the function allocates and returns. The one-argument 2370 // form labels a single argument that gives the allocation size (where the 2371 // arguments are numbered from 1): 2372 // 2373 // void *malloc(size_t __size) __alloc_size(1); 2374 // 2375 // The two-argument form handles the case where the size is calculated as the 2376 // product of two arguments: 2377 // 2378 // void *calloc(size_t __count, size_t __size) __alloc_size(1,2); 2379 2380 // COMPILATION ENVIRONMENTS -- see compat(5) for additional detail 2381 // 2382 // DEFAULT By default newly complied code will get POSIX APIs plus 2383 // Apple API extensions in scope. 2384 // 2385 // Most users will use this compilation environment to avoid 2386 // behavioral differences between 32 and 64 bit code. 2387 // 2388 // LEGACY Defining _NONSTD_SOURCE will get pre-POSIX APIs plus Apple 2389 // API extensions in scope. 2390 // 2391 // This is generally equivalent to the Tiger release compilation 2392 // environment, except that it cannot be applied to 64 bit code; 2393 // its use is discouraged. 2394 // 2395 // We expect this environment to be deprecated in the future. 2396 // 2397 // STRICT Defining _POSIX_C_SOURCE or _XOPEN_SOURCE restricts the 2398 // available APIs to exactly the set of APIs defined by the 2399 // corresponding standard, based on the value defined. 2400 // 2401 // A correct, portable definition for _POSIX_C_SOURCE is 200112L. 2402 // A correct, portable definition for _XOPEN_SOURCE is 600L. 2403 // 2404 // Apple API extensions are not visible in this environment, 2405 // which can cause Apple specific code to fail to compile, 2406 // or behave incorrectly if prototypes are not in scope or 2407 // warnings about missing prototypes are not enabled or ignored. 2408 // 2409 // In any compilation environment, for correct symbol resolution to occur, 2410 // function prototypes must be in scope. It is recommended that all Apple 2411 // tools users add either the "-Wall" or "-Wimplicit-function-declaration" 2412 // compiler flags to their projects to be warned when a function is being 2413 // used without a prototype in scope. 2414 2415 // These settings are particular to each product. 2416 // Platform: MacOSX 2417 2418 // The __DARWIN_ALIAS macros are used to do symbol renaming; they allow 2419 // legacy code to use the old symbol, thus maintaining binary compatibility 2420 // while new code can use a standards compliant version of the same function. 2421 // 2422 // __DARWIN_ALIAS is used by itself if the function signature has not 2423 // changed, it is used along with a #ifdef check for __DARWIN_UNIX03 2424 // if the signature has changed. Because the __LP64__ environment 2425 // only supports UNIX03 semantics it causes __DARWIN_UNIX03 to be 2426 // defined, but causes __DARWIN_ALIAS to do no symbol mangling. 2427 // 2428 // As a special case, when XCode is used to target a specific version of the 2429 // OS, the manifest constant __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ 2430 // will be defined by the compiler, with the digits representing major version 2431 // time 100 + minor version times 10 (e.g. 10.5 := 1050). If we are targeting 2432 // pre-10.5, and it is the default compilation environment, revert the 2433 // compilation environment to pre-__DARWIN_UNIX03. 2434 2435 // symbol suffixes used for symbol versioning 2436 2437 // symbol versioning macros 2438 2439 // symbol release macros 2440 // Copyright (c) 2010 Apple Inc. All rights reserved. 2441 // 2442 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 2443 // 2444 // This file contains Original Code and/or Modifications of Original Code 2445 // as defined in and that are subject to the Apple Public Source License 2446 // Version 2.0 (the 'License'). You may not use this file except in 2447 // compliance with the License. The rights granted to you under the License 2448 // may not be used to create, or enable the creation or redistribution of, 2449 // unlawful or unlicensed copies of an Apple operating system, or to 2450 // circumvent, violate, or enable the circumvention or violation of, any 2451 // terms of an Apple operating system software license agreement. 2452 // 2453 // Please obtain a copy of the License at 2454 // http://www.opensource.apple.com/apsl/ and read it before using this file. 2455 // 2456 // The Original Code and all software distributed under the License are 2457 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 2458 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 2459 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 2460 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 2461 // Please see the License for the specific language governing rights and 2462 // limitations under the License. 2463 // 2464 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 2465 2466 // POSIX.1 requires that the macros we test be defined before any standard 2467 // header file is included. This permits us to convert values for feature 2468 // testing, as necessary, using only _POSIX_C_SOURCE. 2469 // 2470 // Here's a quick run-down of the versions: 2471 // defined(_POSIX_SOURCE) 1003.1-1988 2472 // _POSIX_C_SOURCE == 1L 1003.1-1990 2473 // _POSIX_C_SOURCE == 2L 1003.2-1992 C Language Binding Option 2474 // _POSIX_C_SOURCE == 199309L 1003.1b-1993 2475 // _POSIX_C_SOURCE == 199506L 1003.1c-1995, 1003.1i-1995, 2476 // and the omnibus ISO/IEC 9945-1: 1996 2477 // _POSIX_C_SOURCE == 200112L 1003.1-2001 2478 // _POSIX_C_SOURCE == 200809L 1003.1-2008 2479 // 2480 // In addition, the X/Open Portability Guide, which is now the Single UNIX 2481 // Specification, defines a feature-test macro which indicates the version of 2482 // that specification, and which subsumes _POSIX_C_SOURCE. 2483 2484 // Deal with IEEE Std. 1003.1-1990, in which _POSIX_C_SOURCE == 1L. 2485 2486 // Deal with IEEE Std. 1003.2-1992, in which _POSIX_C_SOURCE == 2L. 2487 2488 // Deal with various X/Open Portability Guides and Single UNIX Spec. 2489 2490 // Deal with all versions of POSIX. The ordering relative to the tests above is 2491 // important. 2492 2493 // POSIX C deprecation macros 2494 // Copyright (c) 2010 Apple Inc. All rights reserved. 2495 // 2496 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 2497 // 2498 // This file contains Original Code and/or Modifications of Original Code 2499 // as defined in and that are subject to the Apple Public Source License 2500 // Version 2.0 (the 'License'). You may not use this file except in 2501 // compliance with the License. The rights granted to you under the License 2502 // may not be used to create, or enable the creation or redistribution of, 2503 // unlawful or unlicensed copies of an Apple operating system, or to 2504 // circumvent, violate, or enable the circumvention or violation of, any 2505 // terms of an Apple operating system software license agreement. 2506 // 2507 // Please obtain a copy of the License at 2508 // http://www.opensource.apple.com/apsl/ and read it before using this file. 2509 // 2510 // The Original Code and all software distributed under the License are 2511 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 2512 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 2513 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 2514 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 2515 // Please see the License for the specific language governing rights and 2516 // limitations under the License. 2517 // 2518 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 2519 2520 // Set a single macro which will always be defined and can be used to determine 2521 // the appropriate namespace. For POSIX, these values will correspond to 2522 // _POSIX_C_SOURCE value. Currently there are two additional levels corresponding 2523 // to ANSI (_ANSI_SOURCE) and Darwin extensions (_DARWIN_C_SOURCE) 2524 2525 // If the developer has neither requested a strict language mode nor a version 2526 // of POSIX, turn on functionality provided by __STDC_WANT_LIB_EXT1__ as part 2527 // of __DARWIN_C_FULL. 2528 2529 // long long is not supported in c89 (__STRICT_ANSI__), but g++ -ansi and 2530 // c99 still want long longs. While not perfect, we allow long longs for 2531 // g++. 2532 2533 // **************************************** 2534 // 2535 // Public darwin-specific feature macros 2536 // 2537 2538 // _DARWIN_FEATURE_64_BIT_INODE indicates that the ino_t type is 64-bit, and 2539 // structures modified for 64-bit inodes (like struct stat) will be used. 2540 2541 // _DARWIN_FEATURE_64_ONLY_BIT_INODE indicates that the ino_t type may only 2542 // be 64-bit; there is no support for 32-bit ino_t when this macro is defined 2543 // (and non-zero). There is no struct stat64 either, as the regular 2544 // struct stat will already be the 64-bit version. 2545 2546 // _DARWIN_FEATURE_ONLY_VERS_1050 indicates that only those APIs updated 2547 // in 10.5 exists; no pre-10.5 variants are available. 2548 2549 // _DARWIN_FEATURE_ONLY_UNIX_CONFORMANCE indicates only UNIX conforming API 2550 // are available (the legacy BSD APIs are not available) 2551 2552 // _DARWIN_FEATURE_UNIX_CONFORMANCE indicates whether UNIX conformance is on, 2553 // and specifies the conformance level (3 is SUSv3) 2554 2555 // This macro casts away the qualifier from the variable 2556 // 2557 // Note: use at your own risk, removing qualifiers can result in 2558 // catastrophic run-time failures. 2559 2560 // __XNU_PRIVATE_EXTERN is a linkage decoration indicating that a symbol can be 2561 // used from other compilation units, but not other libraries or executables. 2562 2563 // Architecture validation for current SDK 2564 2565 // Similar to OS_ENUM/OS_CLOSED_ENUM/OS_OPTIONS/OS_CLOSED_OPTIONS 2566 // 2567 // This provides more advanced type checking on compilers supporting 2568 // the proper extensions, even in C. 2569 2570 // This is the `system' limits.h, independent of any particular 2571 // compiler. GCC provides its own limits.h which can be found in 2572 // /usr/lib/gcc, although it is not very informative. 2573 // This file is public domain. 2574 2575 // Copyright (c) 2000-2007 Apple Inc. All rights reserved. 2576 // Copyright (c) 1988, 1993 2577 // The Regents of the University of California. All rights reserved. 2578 // 2579 // Redistribution and use in source and binary forms, with or without 2580 // modification, are permitted provided that the following conditions 2581 // are met: 2582 // 1. Redistributions of source code must retain the above copyright 2583 // notice, this list of conditions and the following disclaimer. 2584 // 2. Redistributions in binary form must reproduce the above copyright 2585 // notice, this list of conditions and the following disclaimer in the 2586 // documentation and/or other materials provided with the distribution. 2587 // 3. All advertising materials mentioning features or use of this software 2588 // must display the following acknowledgement: 2589 // This product includes software developed by the University of 2590 // California, Berkeley and its contributors. 2591 // 4. Neither the name of the University nor the names of its contributors 2592 // may be used to endorse or promote products derived from this software 2593 // without specific prior written permission. 2594 // 2595 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 2596 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 2597 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 2598 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 2599 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 2600 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 2601 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 2602 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 2603 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 2604 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 2605 // SUCH DAMAGE. 2606 // 2607 // @(#)limits.h 8.3 (Berkeley) 1/4/94 2608 2609 // Copyright (c) 2000-2018 Apple Inc. All rights reserved. 2610 // 2611 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 2612 // 2613 // This file contains Original Code and/or Modifications of Original Code 2614 // as defined in and that are subject to the Apple Public Source License 2615 // Version 2.0 (the 'License'). You may not use this file except in 2616 // compliance with the License. The rights granted to you under the License 2617 // may not be used to create, or enable the creation or redistribution of, 2618 // unlawful or unlicensed copies of an Apple operating system, or to 2619 // circumvent, violate, or enable the circumvention or violation of, any 2620 // terms of an Apple operating system software license agreement. 2621 // 2622 // Please obtain a copy of the License at 2623 // http://www.opensource.apple.com/apsl/ and read it before using this file. 2624 // 2625 // The Original Code and all software distributed under the License are 2626 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 2627 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 2628 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 2629 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 2630 // Please see the License for the specific language governing rights and 2631 // limitations under the License. 2632 // 2633 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 2634 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 2635 // Copyright (c) 1991, 1993 2636 // The Regents of the University of California. All rights reserved. 2637 // 2638 // This code is derived from software contributed to Berkeley by 2639 // Berkeley Software Design, Inc. 2640 // 2641 // Redistribution and use in source and binary forms, with or without 2642 // modification, are permitted provided that the following conditions 2643 // are met: 2644 // 1. Redistributions of source code must retain the above copyright 2645 // notice, this list of conditions and the following disclaimer. 2646 // 2. Redistributions in binary form must reproduce the above copyright 2647 // notice, this list of conditions and the following disclaimer in the 2648 // documentation and/or other materials provided with the distribution. 2649 // 3. All advertising materials mentioning features or use of this software 2650 // must display the following acknowledgement: 2651 // This product includes software developed by the University of 2652 // California, Berkeley and its contributors. 2653 // 4. Neither the name of the University nor the names of its contributors 2654 // may be used to endorse or promote products derived from this software 2655 // without specific prior written permission. 2656 // 2657 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 2658 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 2659 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 2660 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 2661 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 2662 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 2663 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 2664 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 2665 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 2666 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 2667 // SUCH DAMAGE. 2668 // 2669 // @(#)cdefs.h 8.8 (Berkeley) 1/9/95 2670 2671 // Copyright (c) 2004-2007 Apple Inc. All rights reserved. 2672 2673 // According to ANSI (section 2.2.4.2), the values below must be usable by 2674 // #if preprocessing directives. Additionally, the expression must have the 2675 // same type as would an expression that is an object of the corresponding 2676 // type converted according to the integral promotions. The subtraction for 2677 // INT_MIN and LONG_MIN is so the value is not unsigned; 2147483648 is an 2678 // unsigned int for 32-bit two's complement ANSI compilers (section 3.1.3.2). 2679 // These numbers work for pcc as well. The UINT_MAX and ULONG_MAX values 2680 // are written as hex so that GCC will be quiet about large integer constants. 2681 2682 // Copyright (c) 2000 Apple Computer, Inc. All rights reserved. 2683 // 2684 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 2685 // 2686 // This file contains Original Code and/or Modifications of Original Code 2687 // as defined in and that are subject to the Apple Public Source License 2688 // Version 2.0 (the 'License'). You may not use this file except in 2689 // compliance with the License. The rights granted to you under the License 2690 // may not be used to create, or enable the creation or redistribution of, 2691 // unlawful or unlicensed copies of an Apple operating system, or to 2692 // circumvent, violate, or enable the circumvention or violation of, any 2693 // terms of an Apple operating system software license agreement. 2694 // 2695 // Please obtain a copy of the License at 2696 // http://www.opensource.apple.com/apsl/ and read it before using this file. 2697 // 2698 // The Original Code and all software distributed under the License are 2699 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 2700 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 2701 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 2702 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 2703 // Please see the License for the specific language governing rights and 2704 // limitations under the License. 2705 // 2706 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 2707 // $NetBSD: syslimits.h,v 1.15 1997/06/25 00:48:09 lukem Exp $ 2708 2709 // Copyright (c) 1988, 1993 2710 // The Regents of the University of California. All rights reserved. 2711 // 2712 // Redistribution and use in source and binary forms, with or without 2713 // modification, are permitted provided that the following conditions 2714 // are met: 2715 // 1. Redistributions of source code must retain the above copyright 2716 // notice, this list of conditions and the following disclaimer. 2717 // 2. Redistributions in binary form must reproduce the above copyright 2718 // notice, this list of conditions and the following disclaimer in the 2719 // documentation and/or other materials provided with the distribution. 2720 // 3. All advertising materials mentioning features or use of this software 2721 // must display the following acknowledgement: 2722 // This product includes software developed by the University of 2723 // California, Berkeley and its contributors. 2724 // 4. Neither the name of the University nor the names of its contributors 2725 // may be used to endorse or promote products derived from this software 2726 // without specific prior written permission. 2727 // 2728 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 2729 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 2730 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 2731 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 2732 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 2733 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 2734 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 2735 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 2736 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 2737 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 2738 // SUCH DAMAGE. 2739 // 2740 // @(#)syslimits.h 8.1 (Berkeley) 6/2/93 2741 2742 // Copyright (c) 2000-2018 Apple Inc. All rights reserved. 2743 // 2744 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 2745 // 2746 // This file contains Original Code and/or Modifications of Original Code 2747 // as defined in and that are subject to the Apple Public Source License 2748 // Version 2.0 (the 'License'). You may not use this file except in 2749 // compliance with the License. The rights granted to you under the License 2750 // may not be used to create, or enable the creation or redistribution of, 2751 // unlawful or unlicensed copies of an Apple operating system, or to 2752 // circumvent, violate, or enable the circumvention or violation of, any 2753 // terms of an Apple operating system software license agreement. 2754 // 2755 // Please obtain a copy of the License at 2756 // http://www.opensource.apple.com/apsl/ and read it before using this file. 2757 // 2758 // The Original Code and all software distributed under the License are 2759 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 2760 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 2761 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 2762 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 2763 // Please see the License for the specific language governing rights and 2764 // limitations under the License. 2765 // 2766 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 2767 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 2768 // Copyright (c) 1991, 1993 2769 // The Regents of the University of California. All rights reserved. 2770 // 2771 // This code is derived from software contributed to Berkeley by 2772 // Berkeley Software Design, Inc. 2773 // 2774 // Redistribution and use in source and binary forms, with or without 2775 // modification, are permitted provided that the following conditions 2776 // are met: 2777 // 1. Redistributions of source code must retain the above copyright 2778 // notice, this list of conditions and the following disclaimer. 2779 // 2. Redistributions in binary form must reproduce the above copyright 2780 // notice, this list of conditions and the following disclaimer in the 2781 // documentation and/or other materials provided with the distribution. 2782 // 3. All advertising materials mentioning features or use of this software 2783 // must display the following acknowledgement: 2784 // This product includes software developed by the University of 2785 // California, Berkeley and its contributors. 2786 // 4. Neither the name of the University nor the names of its contributors 2787 // may be used to endorse or promote products derived from this software 2788 // without specific prior written permission. 2789 // 2790 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 2791 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 2792 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 2793 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 2794 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 2795 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 2796 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 2797 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 2798 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 2799 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 2800 // SUCH DAMAGE. 2801 // 2802 // @(#)cdefs.h 8.8 (Berkeley) 1/9/95 2803 2804 // max bytes for an exec function 2805 2806 // Note: CHILD_MAX *must* be less than hard_maxproc, which is set at 2807 // compile time; you *cannot* set it higher than the hard limit!! 2808 2809 // = ((PRIO_MAX - PRIO_MIN) / 2) + 1 2810 // range: 0 - 39 [(2 * NZERO) - 1] 2811 // 0 is not actually used 2812 2813 // Actually for XSI Visible 2814 2815 // Removed in Issue 6 2816 2817 // NZERO to be defined here. TBD. See also sys/param.h 2818 2819 // Copyright (C) 1991-2021 Free Software Foundation, Inc. 2820 // 2821 // This file is part of GCC. 2822 // 2823 // GCC is free software; you can redistribute it and/or modify it under 2824 // the terms of the GNU General Public License as published by the Free 2825 // Software Foundation; either version 3, or (at your option) any later 2826 // version. 2827 // 2828 // GCC is distributed in the hope that it will be useful, but WITHOUT ANY 2829 // WARRANTY; without even the implied warranty of MERCHANTABILITY or 2830 // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 2831 // for more details. 2832 // 2833 // Under Section 7 of GPL version 3, you are granted additional 2834 // permissions described in the GCC Runtime Library Exception, version 2835 // 3.1, as published by the Free Software Foundation. 2836 // 2837 // You should have received a copy of the GNU General Public License and 2838 // a copy of the GCC Runtime Library Exception along with this program; 2839 // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 2840 // <http://www.gnu.org/licenses/>. 2841 2842 // Number of bits in a `char'. 2843 2844 // Maximum length of a multibyte character. 2845 2846 // Minimum and maximum values a `signed char' can hold. 2847 2848 // Maximum value an `unsigned char' can hold. (Minimum is 0). 2849 2850 // Minimum and maximum values a `char' can hold. 2851 2852 // Minimum and maximum values a `signed short int' can hold. 2853 2854 // Maximum value an `unsigned short int' can hold. (Minimum is 0). 2855 2856 // Minimum and maximum values a `signed int' can hold. 2857 2858 // Maximum value an `unsigned int' can hold. (Minimum is 0). 2859 2860 // Minimum and maximum values a `signed long int' can hold. 2861 // (Same as `int'). 2862 2863 // Maximum value an `unsigned long int' can hold. (Minimum is 0). 2864 2865 // Minimum and maximum values a `signed long long int' can hold. 2866 2867 // Maximum value an `unsigned long long int' can hold. (Minimum is 0). 2868 2869 // Minimum and maximum values a `signed long long int' can hold. 2870 2871 // Maximum value an `unsigned long long int' can hold. (Minimum is 0). 2872 2873 // This administrivia gets added to the end of limits.h 2874 // if the system has its own version of limits.h. 2875 2876 type Z_crc_t = uint32 /* zconf.h:429:17 */ 2877 2878 // Copyright (c) 2000-2008 Apple Inc. All rights reserved. 2879 // 2880 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 2881 // 2882 // This file contains Original Code and/or Modifications of Original Code 2883 // as defined in and that are subject to the Apple Public Source License 2884 // Version 2.0 (the 'License'). You may not use this file except in 2885 // compliance with the License. The rights granted to you under the License 2886 // may not be used to create, or enable the creation or redistribution of, 2887 // unlawful or unlicensed copies of an Apple operating system, or to 2888 // circumvent, violate, or enable the circumvention or violation of, any 2889 // terms of an Apple operating system software license agreement. 2890 // 2891 // Please obtain a copy of the License at 2892 // http://www.opensource.apple.com/apsl/ and read it before using this file. 2893 // 2894 // The Original Code and all software distributed under the License are 2895 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 2896 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 2897 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 2898 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 2899 // Please see the License for the specific language governing rights and 2900 // limitations under the License. 2901 // 2902 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 2903 // Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved 2904 // Copyright (c) 1982, 1986, 1991, 1993, 1994 2905 // The Regents of the University of California. All rights reserved. 2906 // (c) UNIX System Laboratories, Inc. 2907 // All or some portions of this file are derived from material licensed 2908 // to the University of California by American Telephone and Telegraph 2909 // Co. or Unix System Laboratories, Inc. and are reproduced herein with 2910 // the permission of UNIX System Laboratories, Inc. 2911 // 2912 // Redistribution and use in source and binary forms, with or without 2913 // modification, are permitted provided that the following conditions 2914 // are met: 2915 // 1. Redistributions of source code must retain the above copyright 2916 // notice, this list of conditions and the following disclaimer. 2917 // 2. Redistributions in binary form must reproduce the above copyright 2918 // notice, this list of conditions and the following disclaimer in the 2919 // documentation and/or other materials provided with the distribution. 2920 // 3. All advertising materials mentioning features or use of this software 2921 // must display the following acknowledgement: 2922 // This product includes software developed by the University of 2923 // California, Berkeley and its contributors. 2924 // 4. Neither the name of the University nor the names of its contributors 2925 // may be used to endorse or promote products derived from this software 2926 // without specific prior written permission. 2927 // 2928 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 2929 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 2930 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 2931 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 2932 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 2933 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 2934 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 2935 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 2936 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 2937 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 2938 // SUCH DAMAGE. 2939 // 2940 // @(#)types.h 8.4 (Berkeley) 1/21/94 2941 2942 // Copyright (c) 2002 Apple Computer, Inc. All rights reserved. 2943 // 2944 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 2945 // 2946 // This file contains Original Code and/or Modifications of Original Code 2947 // as defined in and that are subject to the Apple Public Source License 2948 // Version 2.0 (the 'License'). You may not use this file except in 2949 // compliance with the License. The rights granted to you under the License 2950 // may not be used to create, or enable the creation or redistribution of, 2951 // unlawful or unlicensed copies of an Apple operating system, or to 2952 // circumvent, violate, or enable the circumvention or violation of, any 2953 // terms of an Apple operating system software license agreement. 2954 // 2955 // Please obtain a copy of the License at 2956 // http://www.opensource.apple.com/apsl/ and read it before using this file. 2957 // 2958 // The Original Code and all software distributed under the License are 2959 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 2960 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 2961 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 2962 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 2963 // Please see the License for the specific language governing rights and 2964 // limitations under the License. 2965 // 2966 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 2967 2968 // Copyright (c) 2000-2018 Apple Inc. All rights reserved. 2969 // 2970 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 2971 // 2972 // This file contains Original Code and/or Modifications of Original Code 2973 // as defined in and that are subject to the Apple Public Source License 2974 // Version 2.0 (the 'License'). You may not use this file except in 2975 // compliance with the License. The rights granted to you under the License 2976 // may not be used to create, or enable the creation or redistribution of, 2977 // unlawful or unlicensed copies of an Apple operating system, or to 2978 // circumvent, violate, or enable the circumvention or violation of, any 2979 // terms of an Apple operating system software license agreement. 2980 // 2981 // Please obtain a copy of the License at 2982 // http://www.opensource.apple.com/apsl/ and read it before using this file. 2983 // 2984 // The Original Code and all software distributed under the License are 2985 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 2986 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 2987 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 2988 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 2989 // Please see the License for the specific language governing rights and 2990 // limitations under the License. 2991 // 2992 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 2993 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 2994 // Copyright (c) 1991, 1993 2995 // The Regents of the University of California. All rights reserved. 2996 // 2997 // This code is derived from software contributed to Berkeley by 2998 // Berkeley Software Design, Inc. 2999 // 3000 // Redistribution and use in source and binary forms, with or without 3001 // modification, are permitted provided that the following conditions 3002 // are met: 3003 // 1. Redistributions of source code must retain the above copyright 3004 // notice, this list of conditions and the following disclaimer. 3005 // 2. Redistributions in binary form must reproduce the above copyright 3006 // notice, this list of conditions and the following disclaimer in the 3007 // documentation and/or other materials provided with the distribution. 3008 // 3. All advertising materials mentioning features or use of this software 3009 // must display the following acknowledgement: 3010 // This product includes software developed by the University of 3011 // California, Berkeley and its contributors. 3012 // 4. Neither the name of the University nor the names of its contributors 3013 // may be used to endorse or promote products derived from this software 3014 // without specific prior written permission. 3015 // 3016 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 3017 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 3018 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 3019 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 3020 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 3021 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 3022 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 3023 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 3024 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 3025 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 3026 // SUCH DAMAGE. 3027 // 3028 // @(#)cdefs.h 8.8 (Berkeley) 1/9/95 3029 3030 // Machine type dependent parameters. 3031 // Copyright (c) 2000-2007 Apple Inc. All rights reserved. 3032 // 3033 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 3034 // 3035 // This file contains Original Code and/or Modifications of Original Code 3036 // as defined in and that are subject to the Apple Public Source License 3037 // Version 2.0 (the 'License'). You may not use this file except in 3038 // compliance with the License. The rights granted to you under the License 3039 // may not be used to create, or enable the creation or redistribution of, 3040 // unlawful or unlicensed copies of an Apple operating system, or to 3041 // circumvent, violate, or enable the circumvention or violation of, any 3042 // terms of an Apple operating system software license agreement. 3043 // 3044 // Please obtain a copy of the License at 3045 // http://www.opensource.apple.com/apsl/ and read it before using this file. 3046 // 3047 // The Original Code and all software distributed under the License are 3048 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 3049 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 3050 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 3051 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 3052 // Please see the License for the specific language governing rights and 3053 // limitations under the License. 3054 // 3055 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 3056 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 3057 3058 // Copyright (c) 2000-2008 Apple Inc. All rights reserved. 3059 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 3060 // Copyright (c) 1990, 1993 3061 // The Regents of the University of California. All rights reserved. 3062 // 3063 // Redistribution and use in source and binary forms, with or without 3064 // modification, are permitted provided that the following conditions 3065 // are met: 3066 // 1. Redistributions of source code must retain the above copyright 3067 // notice, this list of conditions and the following disclaimer. 3068 // 2. Redistributions in binary form must reproduce the above copyright 3069 // notice, this list of conditions and the following disclaimer in the 3070 // documentation and/or other materials provided with the distribution. 3071 // 3. All advertising materials mentioning features or use of this software 3072 // must display the following acknowledgement: 3073 // This product includes software developed by the University of 3074 // California, Berkeley and its contributors. 3075 // 4. Neither the name of the University nor the names of its contributors 3076 // may be used to endorse or promote products derived from this software 3077 // without specific prior written permission. 3078 // 3079 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 3080 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 3081 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 3082 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 3083 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 3084 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 3085 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 3086 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 3087 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 3088 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 3089 // SUCH DAMAGE. 3090 // 3091 // @(#)types.h 8.3 (Berkeley) 1/5/94 3092 3093 // Copyright (c) 2000-2007 Apple Inc. All rights reserved. 3094 3095 // This header file contains integer types. It's intended to also contain 3096 // flotaing point and other arithmetic types, as needed, later. 3097 3098 type X__int8_t = int8 /* _types.h:15:33 */ 3099 type X__uint8_t = uint8 /* _types.h:19:33 */ 3100 type X__int16_t = int16 /* _types.h:20:33 */ 3101 type X__uint16_t = uint16 /* _types.h:21:33 */ 3102 type X__int32_t = int32 /* _types.h:22:33 */ 3103 type X__uint32_t = uint32 /* _types.h:23:33 */ 3104 type X__int64_t = int64 /* _types.h:24:33 */ 3105 type X__uint64_t = uint64 /* _types.h:25:33 */ 3106 3107 type X__darwin_intptr_t = int64 /* _types.h:27:33 */ 3108 type X__darwin_natural_t = uint32 /* _types.h:28:33 */ 3109 3110 // The rune type below is declared to be an ``int'' instead of the more natural 3111 // ``unsigned long'' or ``long''. Two things are happening here. It is not 3112 // unsigned so that EOF (-1) can be naturally assigned to it and used. Also, 3113 // it looks like 10646 will be a 31 bit standard. This means that if your 3114 // ints cannot hold 32 bits, you will be in trouble. The reason an int was 3115 // chosen over a long is that the is*() and to*() routines take ints (says 3116 // ANSI C), but they use __darwin_ct_rune_t instead of int. By changing it 3117 // here, you lose a bit of ANSI conformance, but your programs will still 3118 // work. 3119 // 3120 // NOTE: rune_t is not covered by ANSI nor other standards, and should not 3121 // be instantiated outside of lib/libc/locale. Use wchar_t. wchar_t and 3122 // rune_t must be the same type. Also wint_t must be no narrower than 3123 // wchar_t, and should also be able to hold all members of the largest 3124 // character set plus one extra value (WEOF). wint_t must be at least 16 bits. 3125 3126 type X__darwin_ct_rune_t = int32 /* _types.h:48:33 */ // ct_rune_t 3127 3128 // mbstate_t is an opaque object to keep conversion state, during multibyte 3129 // stream conversions. The content must not be referenced by user programs. 3130 type X__mbstate_t = struct { 3131 F__ccgo_pad1 [0]uint64 3132 F__mbstate8 [128]int8 3133 } /* _types.h:57:3 */ 3134 3135 type X__darwin_mbstate_t = X__mbstate_t /* _types.h:59:33 */ // mbstate_t 3136 3137 type X__darwin_ptrdiff_t = int64 /* _types.h:62:33 */ // ptr1 - ptr2 3138 3139 type X__darwin_size_t = uint64 /* _types.h:70:33 */ // sizeof() 3140 3141 type X__darwin_va_list = X__builtin_va_list /* _types.h:76:33 */ // va_list 3142 3143 type X__darwin_wchar_t = int32 /* _types.h:82:33 */ // wchar_t 3144 3145 type X__darwin_rune_t = X__darwin_wchar_t /* _types.h:87:33 */ // rune_t 3146 3147 type X__darwin_wint_t = int32 /* _types.h:90:33 */ // wint_t 3148 3149 type X__darwin_clock_t = uint64 /* _types.h:95:33 */ // clock() 3150 type X__darwin_socklen_t = X__uint32_t /* _types.h:96:33 */ // socklen_t (duh) 3151 type X__darwin_ssize_t = int64 /* _types.h:97:33 */ // byte count or error 3152 type X__darwin_time_t = int64 /* _types.h:98:33 */ // time() 3153 3154 // Copyright (c) 2000-2018 Apple Inc. All rights reserved. 3155 // 3156 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 3157 // 3158 // This file contains Original Code and/or Modifications of Original Code 3159 // as defined in and that are subject to the Apple Public Source License 3160 // Version 2.0 (the 'License'). You may not use this file except in 3161 // compliance with the License. The rights granted to you under the License 3162 // may not be used to create, or enable the creation or redistribution of, 3163 // unlawful or unlicensed copies of an Apple operating system, or to 3164 // circumvent, violate, or enable the circumvention or violation of, any 3165 // terms of an Apple operating system software license agreement. 3166 // 3167 // Please obtain a copy of the License at 3168 // http://www.opensource.apple.com/apsl/ and read it before using this file. 3169 // 3170 // The Original Code and all software distributed under the License are 3171 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 3172 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 3173 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 3174 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 3175 // Please see the License for the specific language governing rights and 3176 // limitations under the License. 3177 // 3178 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 3179 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 3180 // Copyright (c) 1991, 1993 3181 // The Regents of the University of California. All rights reserved. 3182 // 3183 // This code is derived from software contributed to Berkeley by 3184 // Berkeley Software Design, Inc. 3185 // 3186 // Redistribution and use in source and binary forms, with or without 3187 // modification, are permitted provided that the following conditions 3188 // are met: 3189 // 1. Redistributions of source code must retain the above copyright 3190 // notice, this list of conditions and the following disclaimer. 3191 // 2. Redistributions in binary form must reproduce the above copyright 3192 // notice, this list of conditions and the following disclaimer in the 3193 // documentation and/or other materials provided with the distribution. 3194 // 3. All advertising materials mentioning features or use of this software 3195 // must display the following acknowledgement: 3196 // This product includes software developed by the University of 3197 // California, Berkeley and its contributors. 3198 // 4. Neither the name of the University nor the names of its contributors 3199 // may be used to endorse or promote products derived from this software 3200 // without specific prior written permission. 3201 // 3202 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 3203 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 3204 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 3205 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 3206 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 3207 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 3208 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 3209 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 3210 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 3211 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 3212 // SUCH DAMAGE. 3213 // 3214 // @(#)cdefs.h 8.8 (Berkeley) 1/9/95 3215 3216 // Basic integral types. Omit the typedef if 3217 // not possible for a machine/compiler combination. 3218 // Copyright (c) 2012 Apple Inc. All rights reserved. 3219 // 3220 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 3221 // 3222 // This file contains Original Code and/or Modifications of Original Code 3223 // as defined in and that are subject to the Apple Public Source License 3224 // Version 2.0 (the 'License'). You may not use this file except in 3225 // compliance with the License. The rights granted to you under the License 3226 // may not be used to create, or enable the creation or redistribution of, 3227 // unlawful or unlicensed copies of an Apple operating system, or to 3228 // circumvent, violate, or enable the circumvention or violation of, any 3229 // terms of an Apple operating system software license agreement. 3230 // 3231 // Please obtain a copy of the License at 3232 // http://www.opensource.apple.com/apsl/ and read it before using this file. 3233 // 3234 // The Original Code and all software distributed under the License are 3235 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 3236 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 3237 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 3238 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 3239 // Please see the License for the specific language governing rights and 3240 // limitations under the License. 3241 // 3242 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 3243 type Int8_t = int8 /* _int8_t.h:30:31 */ 3244 // Copyright (c) 2012 Apple Inc. All rights reserved. 3245 // 3246 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 3247 // 3248 // This file contains Original Code and/or Modifications of Original Code 3249 // as defined in and that are subject to the Apple Public Source License 3250 // Version 2.0 (the 'License'). You may not use this file except in 3251 // compliance with the License. The rights granted to you under the License 3252 // may not be used to create, or enable the creation or redistribution of, 3253 // unlawful or unlicensed copies of an Apple operating system, or to 3254 // circumvent, violate, or enable the circumvention or violation of, any 3255 // terms of an Apple operating system software license agreement. 3256 // 3257 // Please obtain a copy of the License at 3258 // http://www.opensource.apple.com/apsl/ and read it before using this file. 3259 // 3260 // The Original Code and all software distributed under the License are 3261 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 3262 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 3263 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 3264 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 3265 // Please see the License for the specific language governing rights and 3266 // limitations under the License. 3267 // 3268 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 3269 type Int16_t = int16 /* _int16_t.h:30:33 */ 3270 // Copyright (c) 2012 Apple Inc. All rights reserved. 3271 // 3272 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 3273 // 3274 // This file contains Original Code and/or Modifications of Original Code 3275 // as defined in and that are subject to the Apple Public Source License 3276 // Version 2.0 (the 'License'). You may not use this file except in 3277 // compliance with the License. The rights granted to you under the License 3278 // may not be used to create, or enable the creation or redistribution of, 3279 // unlawful or unlicensed copies of an Apple operating system, or to 3280 // circumvent, violate, or enable the circumvention or violation of, any 3281 // terms of an Apple operating system software license agreement. 3282 // 3283 // Please obtain a copy of the License at 3284 // http://www.opensource.apple.com/apsl/ and read it before using this file. 3285 // 3286 // The Original Code and all software distributed under the License are 3287 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 3288 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 3289 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 3290 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 3291 // Please see the License for the specific language governing rights and 3292 // limitations under the License. 3293 // 3294 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 3295 type Int32_t = int32 /* _int32_t.h:30:33 */ 3296 // Copyright (c) 2012 Apple Inc. All rights reserved. 3297 // 3298 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 3299 // 3300 // This file contains Original Code and/or Modifications of Original Code 3301 // as defined in and that are subject to the Apple Public Source License 3302 // Version 2.0 (the 'License'). You may not use this file except in 3303 // compliance with the License. The rights granted to you under the License 3304 // may not be used to create, or enable the creation or redistribution of, 3305 // unlawful or unlicensed copies of an Apple operating system, or to 3306 // circumvent, violate, or enable the circumvention or violation of, any 3307 // terms of an Apple operating system software license agreement. 3308 // 3309 // Please obtain a copy of the License at 3310 // http://www.opensource.apple.com/apsl/ and read it before using this file. 3311 // 3312 // The Original Code and all software distributed under the License are 3313 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 3314 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 3315 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 3316 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 3317 // Please see the License for the specific language governing rights and 3318 // limitations under the License. 3319 // 3320 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 3321 type Int64_t = int64 /* _int64_t.h:30:33 */ 3322 3323 // Copyright (c) 2016 Apple Inc. All rights reserved. 3324 // 3325 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 3326 // 3327 // This file contains Original Code and/or Modifications of Original Code 3328 // as defined in and that are subject to the Apple Public Source License 3329 // Version 2.0 (the 'License'). You may not use this file except in 3330 // compliance with the License. The rights granted to you under the License 3331 // may not be used to create, or enable the creation or redistribution of, 3332 // unlawful or unlicensed copies of an Apple operating system, or to 3333 // circumvent, violate, or enable the circumvention or violation of, any 3334 // terms of an Apple operating system software license agreement. 3335 // 3336 // Please obtain a copy of the License at 3337 // http://www.opensource.apple.com/apsl/ and read it before using this file. 3338 // 3339 // The Original Code and all software distributed under the License are 3340 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 3341 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 3342 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 3343 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 3344 // Please see the License for the specific language governing rights and 3345 // limitations under the License. 3346 // 3347 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 3348 type U_int8_t = uint8 /* _u_int8_t.h:30:33 */ 3349 // Copyright (c) 2012 Apple Inc. All rights reserved. 3350 // 3351 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 3352 // 3353 // This file contains Original Code and/or Modifications of Original Code 3354 // as defined in and that are subject to the Apple Public Source License 3355 // Version 2.0 (the 'License'). You may not use this file except in 3356 // compliance with the License. The rights granted to you under the License 3357 // may not be used to create, or enable the creation or redistribution of, 3358 // unlawful or unlicensed copies of an Apple operating system, or to 3359 // circumvent, violate, or enable the circumvention or violation of, any 3360 // terms of an Apple operating system software license agreement. 3361 // 3362 // Please obtain a copy of the License at 3363 // http://www.opensource.apple.com/apsl/ and read it before using this file. 3364 // 3365 // The Original Code and all software distributed under the License are 3366 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 3367 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 3368 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 3369 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 3370 // Please see the License for the specific language governing rights and 3371 // limitations under the License. 3372 // 3373 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 3374 type U_int16_t = uint16 /* _u_int16_t.h:30:41 */ 3375 // Copyright (c) 2012 Apple Inc. All rights reserved. 3376 // 3377 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 3378 // 3379 // This file contains Original Code and/or Modifications of Original Code 3380 // as defined in and that are subject to the Apple Public Source License 3381 // Version 2.0 (the 'License'). You may not use this file except in 3382 // compliance with the License. The rights granted to you under the License 3383 // may not be used to create, or enable the creation or redistribution of, 3384 // unlawful or unlicensed copies of an Apple operating system, or to 3385 // circumvent, violate, or enable the circumvention or violation of, any 3386 // terms of an Apple operating system software license agreement. 3387 // 3388 // Please obtain a copy of the License at 3389 // http://www.opensource.apple.com/apsl/ and read it before using this file. 3390 // 3391 // The Original Code and all software distributed under the License are 3392 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 3393 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 3394 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 3395 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 3396 // Please see the License for the specific language governing rights and 3397 // limitations under the License. 3398 // 3399 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 3400 type U_int32_t = uint32 /* _u_int32_t.h:30:33 */ 3401 // Copyright (c) 2012 Apple Inc. All rights reserved. 3402 // 3403 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 3404 // 3405 // This file contains Original Code and/or Modifications of Original Code 3406 // as defined in and that are subject to the Apple Public Source License 3407 // Version 2.0 (the 'License'). You may not use this file except in 3408 // compliance with the License. The rights granted to you under the License 3409 // may not be used to create, or enable the creation or redistribution of, 3410 // unlawful or unlicensed copies of an Apple operating system, or to 3411 // circumvent, violate, or enable the circumvention or violation of, any 3412 // terms of an Apple operating system software license agreement. 3413 // 3414 // Please obtain a copy of the License at 3415 // http://www.opensource.apple.com/apsl/ and read it before using this file. 3416 // 3417 // The Original Code and all software distributed under the License are 3418 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 3419 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 3420 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 3421 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 3422 // Please see the License for the specific language governing rights and 3423 // limitations under the License. 3424 // 3425 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 3426 type U_int64_t = uint64 /* _u_int64_t.h:30:33 */ 3427 3428 type Register_t = Int64_t /* types.h:66:33 */ 3429 3430 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 3431 // 3432 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 3433 // 3434 // This file contains Original Code and/or Modifications of Original Code 3435 // as defined in and that are subject to the Apple Public Source License 3436 // Version 2.0 (the 'License'). You may not use this file except in 3437 // compliance with the License. The rights granted to you under the License 3438 // may not be used to create, or enable the creation or redistribution of, 3439 // unlawful or unlicensed copies of an Apple operating system, or to 3440 // circumvent, violate, or enable the circumvention or violation of, any 3441 // terms of an Apple operating system software license agreement. 3442 // 3443 // Please obtain a copy of the License at 3444 // http://www.opensource.apple.com/apsl/ and read it before using this file. 3445 // 3446 // The Original Code and all software distributed under the License are 3447 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 3448 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 3449 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 3450 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 3451 // Please see the License for the specific language governing rights and 3452 // limitations under the License. 3453 // 3454 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 3455 // Copyright (c) 2000-2007 Apple Inc. All rights reserved. 3456 // 3457 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 3458 // 3459 // This file contains Original Code and/or Modifications of Original Code 3460 // as defined in and that are subject to the Apple Public Source License 3461 // Version 2.0 (the 'License'). You may not use this file except in 3462 // compliance with the License. The rights granted to you under the License 3463 // may not be used to create, or enable the creation or redistribution of, 3464 // unlawful or unlicensed copies of an Apple operating system, or to 3465 // circumvent, violate, or enable the circumvention or violation of, any 3466 // terms of an Apple operating system software license agreement. 3467 // 3468 // Please obtain a copy of the License at 3469 // http://www.opensource.apple.com/apsl/ and read it before using this file. 3470 // 3471 // The Original Code and all software distributed under the License are 3472 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 3473 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 3474 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 3475 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 3476 // Please see the License for the specific language governing rights and 3477 // limitations under the License. 3478 // 3479 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 3480 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 3481 3482 type Intptr_t = X__darwin_intptr_t /* _intptr_t.h:32:33 */ 3483 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 3484 // 3485 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 3486 // 3487 // This file contains Original Code and/or Modifications of Original Code 3488 // as defined in and that are subject to the Apple Public Source License 3489 // Version 2.0 (the 'License'). You may not use this file except in 3490 // compliance with the License. The rights granted to you under the License 3491 // may not be used to create, or enable the creation or redistribution of, 3492 // unlawful or unlicensed copies of an Apple operating system, or to 3493 // circumvent, violate, or enable the circumvention or violation of, any 3494 // terms of an Apple operating system software license agreement. 3495 // 3496 // Please obtain a copy of the License at 3497 // http://www.opensource.apple.com/apsl/ and read it before using this file. 3498 // 3499 // The Original Code and all software distributed under the License are 3500 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 3501 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 3502 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 3503 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 3504 // Please see the License for the specific language governing rights and 3505 // limitations under the License. 3506 // 3507 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 3508 3509 type Uintptr_t = uint64 /* _uintptr_t.h:34:33 */ 3510 3511 // These types are used for reserving the largest possible size. 3512 type User_addr_t = U_int64_t /* types.h:77:33 */ 3513 type User_size_t = U_int64_t /* types.h:78:33 */ 3514 type User_ssize_t = Int64_t /* types.h:79:33 */ 3515 type User_long_t = Int64_t /* types.h:80:33 */ 3516 type User_ulong_t = U_int64_t /* types.h:81:33 */ 3517 type User_time_t = Int64_t /* types.h:82:33 */ 3518 type User_off_t = Int64_t /* types.h:83:33 */ 3519 3520 // This defines the size of syscall arguments after copying into the kernel: 3521 type Syscall_arg_t = U_int64_t /* types.h:104:33 */ 3522 3523 // Copyright (c) 2003-2007 Apple Inc. All rights reserved. 3524 // 3525 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 3526 // 3527 // This file contains Original Code and/or Modifications of Original Code 3528 // as defined in and that are subject to the Apple Public Source License 3529 // Version 2.0 (the 'License'). You may not use this file except in 3530 // compliance with the License. The rights granted to you under the License 3531 // may not be used to create, or enable the creation or redistribution of, 3532 // unlawful or unlicensed copies of an Apple operating system, or to 3533 // circumvent, violate, or enable the circumvention or violation of, any 3534 // terms of an Apple operating system software license agreement. 3535 // 3536 // Please obtain a copy of the License at 3537 // http://www.opensource.apple.com/apsl/ and read it before using this file. 3538 // 3539 // The Original Code and all software distributed under the License are 3540 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 3541 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 3542 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 3543 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 3544 // Please see the License for the specific language governing rights and 3545 // limitations under the License. 3546 // 3547 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 3548 3549 // Copyright (c) 2000-2018 Apple Inc. All rights reserved. 3550 // 3551 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 3552 // 3553 // This file contains Original Code and/or Modifications of Original Code 3554 // as defined in and that are subject to the Apple Public Source License 3555 // Version 2.0 (the 'License'). You may not use this file except in 3556 // compliance with the License. The rights granted to you under the License 3557 // may not be used to create, or enable the creation or redistribution of, 3558 // unlawful or unlicensed copies of an Apple operating system, or to 3559 // circumvent, violate, or enable the circumvention or violation of, any 3560 // terms of an Apple operating system software license agreement. 3561 // 3562 // Please obtain a copy of the License at 3563 // http://www.opensource.apple.com/apsl/ and read it before using this file. 3564 // 3565 // The Original Code and all software distributed under the License are 3566 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 3567 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 3568 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 3569 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 3570 // Please see the License for the specific language governing rights and 3571 // limitations under the License. 3572 // 3573 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 3574 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 3575 // Copyright (c) 1991, 1993 3576 // The Regents of the University of California. All rights reserved. 3577 // 3578 // This code is derived from software contributed to Berkeley by 3579 // Berkeley Software Design, Inc. 3580 // 3581 // Redistribution and use in source and binary forms, with or without 3582 // modification, are permitted provided that the following conditions 3583 // are met: 3584 // 1. Redistributions of source code must retain the above copyright 3585 // notice, this list of conditions and the following disclaimer. 3586 // 2. Redistributions in binary form must reproduce the above copyright 3587 // notice, this list of conditions and the following disclaimer in the 3588 // documentation and/or other materials provided with the distribution. 3589 // 3. All advertising materials mentioning features or use of this software 3590 // must display the following acknowledgement: 3591 // This product includes software developed by the University of 3592 // California, Berkeley and its contributors. 3593 // 4. Neither the name of the University nor the names of its contributors 3594 // may be used to endorse or promote products derived from this software 3595 // without specific prior written permission. 3596 // 3597 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 3598 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 3599 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 3600 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 3601 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 3602 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 3603 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 3604 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 3605 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 3606 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 3607 // SUCH DAMAGE. 3608 // 3609 // @(#)cdefs.h 8.8 (Berkeley) 1/9/95 3610 3611 // Copyright (c) 2003-2007 Apple Inc. All rights reserved. 3612 // 3613 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 3614 // 3615 // This file contains Original Code and/or Modifications of Original Code 3616 // as defined in and that are subject to the Apple Public Source License 3617 // Version 2.0 (the 'License'). You may not use this file except in 3618 // compliance with the License. The rights granted to you under the License 3619 // may not be used to create, or enable the creation or redistribution of, 3620 // unlawful or unlicensed copies of an Apple operating system, or to 3621 // circumvent, violate, or enable the circumvention or violation of, any 3622 // terms of an Apple operating system software license agreement. 3623 // 3624 // Please obtain a copy of the License at 3625 // http://www.opensource.apple.com/apsl/ and read it before using this file. 3626 // 3627 // The Original Code and all software distributed under the License are 3628 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 3629 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 3630 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 3631 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 3632 // Please see the License for the specific language governing rights and 3633 // limitations under the License. 3634 // 3635 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 3636 3637 // Copyright (c) 2000-2007 Apple Inc. All rights reserved. 3638 3639 // Type definitions; takes common type definitions that must be used 3640 // in multiple header files due to [XSI], removes them from the system 3641 // space, and puts them in the implementation space. 3642 3643 type X__darwin_blkcnt_t = X__int64_t /* _types.h:55:25 */ // total blocks 3644 type X__darwin_blksize_t = X__int32_t /* _types.h:56:25 */ // preferred block size 3645 type X__darwin_dev_t = X__int32_t /* _types.h:57:25 */ // dev_t 3646 type X__darwin_fsblkcnt_t = uint32 /* _types.h:58:25 */ // Used by statvfs and fstatvfs 3647 type X__darwin_fsfilcnt_t = uint32 /* _types.h:59:25 */ // Used by statvfs and fstatvfs 3648 type X__darwin_gid_t = X__uint32_t /* _types.h:60:25 */ // [???] process and group IDs 3649 type X__darwin_id_t = X__uint32_t /* _types.h:61:25 */ // [XSI] pid_t, uid_t, or gid_t 3650 type X__darwin_ino64_t = X__uint64_t /* _types.h:62:25 */ // [???] Used for 64 bit inodes 3651 type X__darwin_ino_t = X__darwin_ino64_t /* _types.h:64:26 */ // [???] Used for inodes 3652 type X__darwin_mach_port_name_t = X__darwin_natural_t /* _types.h:68:28 */ // Used by mach 3653 type X__darwin_mach_port_t = X__darwin_mach_port_name_t /* _types.h:69:35 */ // Used by mach 3654 type X__darwin_mode_t = X__uint16_t /* _types.h:70:25 */ // [???] Some file attributes 3655 type X__darwin_off_t = X__int64_t /* _types.h:71:25 */ // [???] Used for file sizes 3656 type X__darwin_pid_t = X__int32_t /* _types.h:72:25 */ // [???] process and group IDs 3657 type X__darwin_sigset_t = X__uint32_t /* _types.h:73:25 */ // [???] signal set 3658 type X__darwin_suseconds_t = X__int32_t /* _types.h:74:25 */ // [???] microseconds 3659 type X__darwin_uid_t = X__uint32_t /* _types.h:75:25 */ // [???] user IDs 3660 type X__darwin_useconds_t = X__uint32_t /* _types.h:76:25 */ // [???] microseconds 3661 type X__darwin_uuid_t = [16]uint8 /* _types.h:77:25 */ 3662 type X__darwin_uuid_string_t = [37]int8 /* _types.h:78:17 */ 3663 3664 // Copyright (c) 2003-2013 Apple Inc. All rights reserved. 3665 // 3666 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 3667 // 3668 // This file contains Original Code and/or Modifications of Original Code 3669 // as defined in and that are subject to the Apple Public Source License 3670 // Version 2.0 (the 'License'). You may not use this file except in 3671 // compliance with the License. The rights granted to you under the License 3672 // may not be used to create, or enable the creation or redistribution of, 3673 // unlawful or unlicensed copies of an Apple operating system, or to 3674 // circumvent, violate, or enable the circumvention or violation of, any 3675 // terms of an Apple operating system software license agreement. 3676 // 3677 // Please obtain a copy of the License at 3678 // http://www.opensource.apple.com/apsl/ and read it before using this file. 3679 // 3680 // The Original Code and all software distributed under the License are 3681 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 3682 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 3683 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 3684 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 3685 // Please see the License for the specific language governing rights and 3686 // limitations under the License. 3687 // 3688 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 3689 3690 // Copyright (c) 2000-2018 Apple Inc. All rights reserved. 3691 // 3692 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 3693 // 3694 // This file contains Original Code and/or Modifications of Original Code 3695 // as defined in and that are subject to the Apple Public Source License 3696 // Version 2.0 (the 'License'). You may not use this file except in 3697 // compliance with the License. The rights granted to you under the License 3698 // may not be used to create, or enable the creation or redistribution of, 3699 // unlawful or unlicensed copies of an Apple operating system, or to 3700 // circumvent, violate, or enable the circumvention or violation of, any 3701 // terms of an Apple operating system software license agreement. 3702 // 3703 // Please obtain a copy of the License at 3704 // http://www.opensource.apple.com/apsl/ and read it before using this file. 3705 // 3706 // The Original Code and all software distributed under the License are 3707 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 3708 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 3709 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 3710 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 3711 // Please see the License for the specific language governing rights and 3712 // limitations under the License. 3713 // 3714 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 3715 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 3716 // Copyright (c) 1991, 1993 3717 // The Regents of the University of California. All rights reserved. 3718 // 3719 // This code is derived from software contributed to Berkeley by 3720 // Berkeley Software Design, Inc. 3721 // 3722 // Redistribution and use in source and binary forms, with or without 3723 // modification, are permitted provided that the following conditions 3724 // are met: 3725 // 1. Redistributions of source code must retain the above copyright 3726 // notice, this list of conditions and the following disclaimer. 3727 // 2. Redistributions in binary form must reproduce the above copyright 3728 // notice, this list of conditions and the following disclaimer in the 3729 // documentation and/or other materials provided with the distribution. 3730 // 3. All advertising materials mentioning features or use of this software 3731 // must display the following acknowledgement: 3732 // This product includes software developed by the University of 3733 // California, Berkeley and its contributors. 3734 // 4. Neither the name of the University nor the names of its contributors 3735 // may be used to endorse or promote products derived from this software 3736 // without specific prior written permission. 3737 // 3738 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 3739 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 3740 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 3741 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 3742 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 3743 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 3744 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 3745 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 3746 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 3747 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 3748 // SUCH DAMAGE. 3749 // 3750 // @(#)cdefs.h 8.8 (Berkeley) 1/9/95 3751 3752 // pthread opaque structures 3753 3754 type X__darwin_pthread_handler_rec = struct { 3755 F__routine uintptr 3756 F__arg uintptr 3757 F__next uintptr 3758 } /* _pthread_types.h:57:1 */ 3759 3760 type X_opaque_pthread_attr_t = struct { 3761 F__sig int64 3762 F__opaque [56]int8 3763 } /* _pthread_types.h:63:1 */ 3764 3765 type X_opaque_pthread_cond_t = struct { 3766 F__sig int64 3767 F__opaque [40]int8 3768 } /* _pthread_types.h:68:1 */ 3769 3770 type X_opaque_pthread_condattr_t = struct { 3771 F__sig int64 3772 F__opaque [8]int8 3773 } /* _pthread_types.h:73:1 */ 3774 3775 type X_opaque_pthread_mutex_t = struct { 3776 F__sig int64 3777 F__opaque [56]int8 3778 } /* _pthread_types.h:78:1 */ 3779 3780 type X_opaque_pthread_mutexattr_t = struct { 3781 F__sig int64 3782 F__opaque [8]int8 3783 } /* _pthread_types.h:83:1 */ 3784 3785 type X_opaque_pthread_once_t = struct { 3786 F__sig int64 3787 F__opaque [8]int8 3788 } /* _pthread_types.h:88:1 */ 3789 3790 type X_opaque_pthread_rwlock_t = struct { 3791 F__sig int64 3792 F__opaque [192]int8 3793 } /* _pthread_types.h:93:1 */ 3794 3795 type X_opaque_pthread_rwlockattr_t = struct { 3796 F__sig int64 3797 F__opaque [16]int8 3798 } /* _pthread_types.h:98:1 */ 3799 3800 type X_opaque_pthread_t = struct { 3801 F__sig int64 3802 F__cleanup_stack uintptr 3803 F__opaque [8176]int8 3804 } /* _pthread_types.h:103:1 */ 3805 3806 type X__darwin_pthread_attr_t = X_opaque_pthread_attr_t /* _pthread_types.h:109:39 */ 3807 type X__darwin_pthread_cond_t = X_opaque_pthread_cond_t /* _pthread_types.h:110:39 */ 3808 type X__darwin_pthread_condattr_t = X_opaque_pthread_condattr_t /* _pthread_types.h:111:43 */ 3809 type X__darwin_pthread_key_t = uint64 /* _pthread_types.h:112:23 */ 3810 type X__darwin_pthread_mutex_t = X_opaque_pthread_mutex_t /* _pthread_types.h:113:40 */ 3811 type X__darwin_pthread_mutexattr_t = X_opaque_pthread_mutexattr_t /* _pthread_types.h:114:44 */ 3812 type X__darwin_pthread_once_t = X_opaque_pthread_once_t /* _pthread_types.h:115:39 */ 3813 type X__darwin_pthread_rwlock_t = X_opaque_pthread_rwlock_t /* _pthread_types.h:116:41 */ 3814 type X__darwin_pthread_rwlockattr_t = X_opaque_pthread_rwlockattr_t /* _pthread_types.h:117:45 */ 3815 type X__darwin_pthread_t = uintptr /* _pthread_types.h:118:34 */ 3816 3817 // Copyright (c) 2000-2007 Apple Inc. All rights reserved. 3818 // 3819 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 3820 // 3821 // This file contains Original Code and/or Modifications of Original Code 3822 // as defined in and that are subject to the Apple Public Source License 3823 // Version 2.0 (the 'License'). You may not use this file except in 3824 // compliance with the License. The rights granted to you under the License 3825 // may not be used to create, or enable the creation or redistribution of, 3826 // unlawful or unlicensed copies of an Apple operating system, or to 3827 // circumvent, violate, or enable the circumvention or violation of, any 3828 // terms of an Apple operating system software license agreement. 3829 // 3830 // Please obtain a copy of the License at 3831 // http://www.opensource.apple.com/apsl/ and read it before using this file. 3832 // 3833 // The Original Code and all software distributed under the License are 3834 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 3835 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 3836 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 3837 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 3838 // Please see the License for the specific language governing rights and 3839 // limitations under the License. 3840 // 3841 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 3842 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 3843 3844 // Copyright (c) 2000-2007 Apple Inc. All rights reserved. 3845 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 3846 // Copyright (c) 1987, 1991, 1993 3847 // The Regents of the University of California. All rights reserved. 3848 // 3849 // Redistribution and use in source and binary forms, with or without 3850 // modification, are permitted provided that the following conditions 3851 // are met: 3852 // 1. Redistributions of source code must retain the above copyright 3853 // notice, this list of conditions and the following disclaimer. 3854 // 2. Redistributions in binary form must reproduce the above copyright 3855 // notice, this list of conditions and the following disclaimer in the 3856 // documentation and/or other materials provided with the distribution. 3857 // 3. All advertising materials mentioning features or use of this software 3858 // must display the following acknowledgement: 3859 // This product includes software developed by the University of 3860 // California, Berkeley and its contributors. 3861 // 4. Neither the name of the University nor the names of its contributors 3862 // may be used to endorse or promote products derived from this software 3863 // without specific prior written permission. 3864 // 3865 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 3866 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 3867 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 3868 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 3869 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 3870 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 3871 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 3872 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 3873 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 3874 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 3875 // SUCH DAMAGE. 3876 // 3877 // @(#)endian.h 8.1 (Berkeley) 6/11/93 3878 3879 // Copyright (c) 2000-2018 Apple Inc. All rights reserved. 3880 // 3881 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 3882 // 3883 // This file contains Original Code and/or Modifications of Original Code 3884 // as defined in and that are subject to the Apple Public Source License 3885 // Version 2.0 (the 'License'). You may not use this file except in 3886 // compliance with the License. The rights granted to you under the License 3887 // may not be used to create, or enable the creation or redistribution of, 3888 // unlawful or unlicensed copies of an Apple operating system, or to 3889 // circumvent, violate, or enable the circumvention or violation of, any 3890 // terms of an Apple operating system software license agreement. 3891 // 3892 // Please obtain a copy of the License at 3893 // http://www.opensource.apple.com/apsl/ and read it before using this file. 3894 // 3895 // The Original Code and all software distributed under the License are 3896 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 3897 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 3898 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 3899 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 3900 // Please see the License for the specific language governing rights and 3901 // limitations under the License. 3902 // 3903 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 3904 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 3905 // Copyright (c) 1991, 1993 3906 // The Regents of the University of California. All rights reserved. 3907 // 3908 // This code is derived from software contributed to Berkeley by 3909 // Berkeley Software Design, Inc. 3910 // 3911 // Redistribution and use in source and binary forms, with or without 3912 // modification, are permitted provided that the following conditions 3913 // are met: 3914 // 1. Redistributions of source code must retain the above copyright 3915 // notice, this list of conditions and the following disclaimer. 3916 // 2. Redistributions in binary form must reproduce the above copyright 3917 // notice, this list of conditions and the following disclaimer in the 3918 // documentation and/or other materials provided with the distribution. 3919 // 3. All advertising materials mentioning features or use of this software 3920 // must display the following acknowledgement: 3921 // This product includes software developed by the University of 3922 // California, Berkeley and its contributors. 3923 // 4. Neither the name of the University nor the names of its contributors 3924 // may be used to endorse or promote products derived from this software 3925 // without specific prior written permission. 3926 // 3927 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 3928 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 3929 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 3930 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 3931 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 3932 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 3933 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 3934 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 3935 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 3936 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 3937 // SUCH DAMAGE. 3938 // 3939 // @(#)cdefs.h 8.8 (Berkeley) 1/9/95 3940 3941 // Define _NOQUAD if the compiler does NOT support 64-bit integers. 3942 // #define _NOQUAD 3943 3944 // Define the order of 32-bit words in 64-bit words. 3945 3946 // Definitions for byte order, according to byte significance from low 3947 // address to high. 3948 3949 // Copyright (c) 2004, 2006 Apple Computer, Inc. All rights reserved. 3950 // 3951 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 3952 // 3953 // This file contains Original Code and/or Modifications of Original Code 3954 // as defined in and that are subject to the Apple Public Source License 3955 // Version 2.0 (the 'License'). You may not use this file except in 3956 // compliance with the License. The rights granted to you under the License 3957 // may not be used to create, or enable the creation or redistribution of, 3958 // unlawful or unlicensed copies of an Apple operating system, or to 3959 // circumvent, violate, or enable the circumvention or violation of, any 3960 // terms of an Apple operating system software license agreement. 3961 // 3962 // Please obtain a copy of the License at 3963 // http://www.opensource.apple.com/apsl/ and read it before using this file. 3964 // 3965 // The Original Code and all software distributed under the License are 3966 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 3967 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 3968 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 3969 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 3970 // Please see the License for the specific language governing rights and 3971 // limitations under the License. 3972 // 3973 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 3974 3975 // Copyright (c) 1995 NeXT Computer, Inc. All rights reserved. 3976 // Copyright (c) 2000-2002 Apple Computer, Inc. All rights reserved. 3977 // 3978 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 3979 // 3980 // This file contains Original Code and/or Modifications of Original Code 3981 // as defined in and that are subject to the Apple Public Source License 3982 // Version 2.0 (the 'License'). You may not use this file except in 3983 // compliance with the License. The rights granted to you under the License 3984 // may not be used to create, or enable the creation or redistribution of, 3985 // unlawful or unlicensed copies of an Apple operating system, or to 3986 // circumvent, violate, or enable the circumvention or violation of, any 3987 // terms of an Apple operating system software license agreement. 3988 // 3989 // Please obtain a copy of the License at 3990 // http://www.opensource.apple.com/apsl/ and read it before using this file. 3991 // 3992 // The Original Code and all software distributed under the License are 3993 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 3994 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 3995 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 3996 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 3997 // Please see the License for the specific language governing rights and 3998 // limitations under the License. 3999 // 4000 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 4001 // Copyright (c) 1987, 1991, 1993 4002 // The Regents of the University of California. All rights reserved. 4003 // 4004 // Redistribution and use in source and binary forms, with or without 4005 // modification, are permitted provided that the following conditions 4006 // are met: 4007 // 1. Redistributions of source code must retain the above copyright 4008 // notice, this list of conditions and the following disclaimer. 4009 // 2. Redistributions in binary form must reproduce the above copyright 4010 // notice, this list of conditions and the following disclaimer in the 4011 // documentation and/or other materials provided with the distribution. 4012 // 3. All advertising materials mentioning features or use of this software 4013 // must display the following acknowledgement: 4014 // This product includes software developed by the University of 4015 // California, Berkeley and its contributors. 4016 // 4. Neither the name of the University nor the names of its contributors 4017 // may be used to endorse or promote products derived from this software 4018 // without specific prior written permission. 4019 // 4020 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 4021 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 4022 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 4023 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 4024 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 4025 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 4026 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 4027 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 4028 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 4029 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 4030 // SUCH DAMAGE. 4031 4032 // Copyright (c) 2000-2018 Apple Inc. All rights reserved. 4033 // 4034 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 4035 // 4036 // This file contains Original Code and/or Modifications of Original Code 4037 // as defined in and that are subject to the Apple Public Source License 4038 // Version 2.0 (the 'License'). You may not use this file except in 4039 // compliance with the License. The rights granted to you under the License 4040 // may not be used to create, or enable the creation or redistribution of, 4041 // unlawful or unlicensed copies of an Apple operating system, or to 4042 // circumvent, violate, or enable the circumvention or violation of, any 4043 // terms of an Apple operating system software license agreement. 4044 // 4045 // Please obtain a copy of the License at 4046 // http://www.opensource.apple.com/apsl/ and read it before using this file. 4047 // 4048 // The Original Code and all software distributed under the License are 4049 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 4050 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 4051 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 4052 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 4053 // Please see the License for the specific language governing rights and 4054 // limitations under the License. 4055 // 4056 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 4057 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 4058 // Copyright (c) 1991, 1993 4059 // The Regents of the University of California. All rights reserved. 4060 // 4061 // This code is derived from software contributed to Berkeley by 4062 // Berkeley Software Design, Inc. 4063 // 4064 // Redistribution and use in source and binary forms, with or without 4065 // modification, are permitted provided that the following conditions 4066 // are met: 4067 // 1. Redistributions of source code must retain the above copyright 4068 // notice, this list of conditions and the following disclaimer. 4069 // 2. Redistributions in binary form must reproduce the above copyright 4070 // notice, this list of conditions and the following disclaimer in the 4071 // documentation and/or other materials provided with the distribution. 4072 // 3. All advertising materials mentioning features or use of this software 4073 // must display the following acknowledgement: 4074 // This product includes software developed by the University of 4075 // California, Berkeley and its contributors. 4076 // 4. Neither the name of the University nor the names of its contributors 4077 // may be used to endorse or promote products derived from this software 4078 // without specific prior written permission. 4079 // 4080 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 4081 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 4082 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 4083 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 4084 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 4085 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 4086 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 4087 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 4088 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 4089 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 4090 // SUCH DAMAGE. 4091 // 4092 // @(#)cdefs.h 8.8 (Berkeley) 1/9/95 4093 4094 // Macros for network/external number representation conversion. 4095 4096 // Copyright (c) 2006 Apple Computer, Inc. All rights reserved. 4097 // 4098 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 4099 // 4100 // This file contains Original Code and/or Modifications of Original Code 4101 // as defined in and that are subject to the Apple Public Source License 4102 // Version 2.0 (the 'License'). You may not use this file except in 4103 // compliance with the License. The rights granted to you under the License 4104 // may not be used to create, or enable the creation or redistribution of, 4105 // unlawful or unlicensed copies of an Apple operating system, or to 4106 // circumvent, violate, or enable the circumvention or violation of, any 4107 // terms of an Apple operating system software license agreement. 4108 // 4109 // Please obtain a copy of the License at 4110 // http://www.opensource.apple.com/apsl/ and read it before using this file. 4111 // 4112 // The Original Code and all software distributed under the License are 4113 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 4114 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 4115 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 4116 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 4117 // Please see the License for the specific language governing rights and 4118 // limitations under the License. 4119 // 4120 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 4121 4122 // This header is normally included from <libkern/OSByteOrder.h>. However, 4123 // <sys/_endian.h> also includes this in the case of little-endian 4124 // architectures, so that we can map OSByteOrder routines to the hton* and ntoh* 4125 // macros. This results in the asymmetry below; we only include 4126 // <libkern/arch/_OSByteOrder.h> for little-endian architectures. 4127 4128 // Copyright (c) 2003-2007 Apple Inc. All rights reserved. 4129 // 4130 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 4131 // 4132 // This file contains Original Code and/or Modifications of Original Code 4133 // as defined in and that are subject to the Apple Public Source License 4134 // Version 2.0 (the 'License'). You may not use this file except in 4135 // compliance with the License. The rights granted to you under the License 4136 // may not be used to create, or enable the creation or redistribution of, 4137 // unlawful or unlicensed copies of an Apple operating system, or to 4138 // circumvent, violate, or enable the circumvention or violation of, any 4139 // terms of an Apple operating system software license agreement. 4140 // 4141 // Please obtain a copy of the License at 4142 // http://www.opensource.apple.com/apsl/ and read it before using this file. 4143 // 4144 // The Original Code and all software distributed under the License are 4145 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 4146 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 4147 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 4148 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 4149 // Please see the License for the specific language governing rights and 4150 // limitations under the License. 4151 // 4152 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 4153 4154 // Macros for swapping constant values in the preprocessing stage. 4155 4156 // Copyright (c) 1999-2007 Apple Inc. All rights reserved. 4157 4158 // DO NOT EDIT THIS FILE. 4159 // 4160 // It has been auto-edited by fixincludes from: 4161 // 4162 // "/Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk/usr/include/stdint.h" 4163 // 4164 // This had to be done to correct non-standard usages in the 4165 // original, manufacturer supplied header file. 4166 4167 // Copyright (c) 2000-2010 Apple Inc. 4168 // All rights reserved. 4169 4170 // from ISO/IEC 988:1999 spec 4171 4172 // 7.18.1.1 Exact-width integer types 4173 // Copyright (c) 2012 Apple Inc. All rights reserved. 4174 // 4175 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 4176 // 4177 // This file contains Original Code and/or Modifications of Original Code 4178 // as defined in and that are subject to the Apple Public Source License 4179 // Version 2.0 (the 'License'). You may not use this file except in 4180 // compliance with the License. The rights granted to you under the License 4181 // may not be used to create, or enable the creation or redistribution of, 4182 // unlawful or unlicensed copies of an Apple operating system, or to 4183 // circumvent, violate, or enable the circumvention or violation of, any 4184 // terms of an Apple operating system software license agreement. 4185 // 4186 // Please obtain a copy of the License at 4187 // http://www.opensource.apple.com/apsl/ and read it before using this file. 4188 // 4189 // The Original Code and all software distributed under the License are 4190 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 4191 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 4192 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 4193 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 4194 // Please see the License for the specific language governing rights and 4195 // limitations under the License. 4196 // 4197 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 4198 // Copyright (c) 2012 Apple Inc. All rights reserved. 4199 // 4200 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 4201 // 4202 // This file contains Original Code and/or Modifications of Original Code 4203 // as defined in and that are subject to the Apple Public Source License 4204 // Version 2.0 (the 'License'). You may not use this file except in 4205 // compliance with the License. The rights granted to you under the License 4206 // may not be used to create, or enable the creation or redistribution of, 4207 // unlawful or unlicensed copies of an Apple operating system, or to 4208 // circumvent, violate, or enable the circumvention or violation of, any 4209 // terms of an Apple operating system software license agreement. 4210 // 4211 // Please obtain a copy of the License at 4212 // http://www.opensource.apple.com/apsl/ and read it before using this file. 4213 // 4214 // The Original Code and all software distributed under the License are 4215 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 4216 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 4217 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 4218 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 4219 // Please see the License for the specific language governing rights and 4220 // limitations under the License. 4221 // 4222 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 4223 // Copyright (c) 2012 Apple Inc. All rights reserved. 4224 // 4225 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 4226 // 4227 // This file contains Original Code and/or Modifications of Original Code 4228 // as defined in and that are subject to the Apple Public Source License 4229 // Version 2.0 (the 'License'). You may not use this file except in 4230 // compliance with the License. The rights granted to you under the License 4231 // may not be used to create, or enable the creation or redistribution of, 4232 // unlawful or unlicensed copies of an Apple operating system, or to 4233 // circumvent, violate, or enable the circumvention or violation of, any 4234 // terms of an Apple operating system software license agreement. 4235 // 4236 // Please obtain a copy of the License at 4237 // http://www.opensource.apple.com/apsl/ and read it before using this file. 4238 // 4239 // The Original Code and all software distributed under the License are 4240 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 4241 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 4242 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 4243 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 4244 // Please see the License for the specific language governing rights and 4245 // limitations under the License. 4246 // 4247 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 4248 // Copyright (c) 2012 Apple Inc. All rights reserved. 4249 // 4250 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 4251 // 4252 // This file contains Original Code and/or Modifications of Original Code 4253 // as defined in and that are subject to the Apple Public Source License 4254 // Version 2.0 (the 'License'). You may not use this file except in 4255 // compliance with the License. The rights granted to you under the License 4256 // may not be used to create, or enable the creation or redistribution of, 4257 // unlawful or unlicensed copies of an Apple operating system, or to 4258 // circumvent, violate, or enable the circumvention or violation of, any 4259 // terms of an Apple operating system software license agreement. 4260 // 4261 // Please obtain a copy of the License at 4262 // http://www.opensource.apple.com/apsl/ and read it before using this file. 4263 // 4264 // The Original Code and all software distributed under the License are 4265 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 4266 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 4267 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 4268 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 4269 // Please see the License for the specific language governing rights and 4270 // limitations under the License. 4271 // 4272 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 4273 4274 // Copyright (c) 2012 Apple Inc. All rights reserved. 4275 // 4276 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 4277 // 4278 // This file contains Original Code and/or Modifications of Original Code 4279 // as defined in and that are subject to the Apple Public Source License 4280 // Version 2.0 (the 'License'). You may not use this file except in 4281 // compliance with the License. The rights granted to you under the License 4282 // may not be used to create, or enable the creation or redistribution of, 4283 // unlawful or unlicensed copies of an Apple operating system, or to 4284 // circumvent, violate, or enable the circumvention or violation of, any 4285 // terms of an Apple operating system software license agreement. 4286 // 4287 // Please obtain a copy of the License at 4288 // http://www.opensource.apple.com/apsl/ and read it before using this file. 4289 // 4290 // The Original Code and all software distributed under the License are 4291 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 4292 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 4293 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 4294 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 4295 // Please see the License for the specific language governing rights and 4296 // limitations under the License. 4297 // 4298 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 4299 4300 type Uint8_t = uint8 /* _uint8_t.h:31:23 */ 4301 // Copyright (c) 2012 Apple Inc. All rights reserved. 4302 // 4303 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 4304 // 4305 // This file contains Original Code and/or Modifications of Original Code 4306 // as defined in and that are subject to the Apple Public Source License 4307 // Version 2.0 (the 'License'). You may not use this file except in 4308 // compliance with the License. The rights granted to you under the License 4309 // may not be used to create, or enable the creation or redistribution of, 4310 // unlawful or unlicensed copies of an Apple operating system, or to 4311 // circumvent, violate, or enable the circumvention or violation of, any 4312 // terms of an Apple operating system software license agreement. 4313 // 4314 // Please obtain a copy of the License at 4315 // http://www.opensource.apple.com/apsl/ and read it before using this file. 4316 // 4317 // The Original Code and all software distributed under the License are 4318 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 4319 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 4320 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 4321 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 4322 // Please see the License for the specific language governing rights and 4323 // limitations under the License. 4324 // 4325 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 4326 4327 type Uint16_t = uint16 /* _uint16_t.h:31:24 */ 4328 // Copyright (c) 2012 Apple Inc. All rights reserved. 4329 // 4330 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 4331 // 4332 // This file contains Original Code and/or Modifications of Original Code 4333 // as defined in and that are subject to the Apple Public Source License 4334 // Version 2.0 (the 'License'). You may not use this file except in 4335 // compliance with the License. The rights granted to you under the License 4336 // may not be used to create, or enable the creation or redistribution of, 4337 // unlawful or unlicensed copies of an Apple operating system, or to 4338 // circumvent, violate, or enable the circumvention or violation of, any 4339 // terms of an Apple operating system software license agreement. 4340 // 4341 // Please obtain a copy of the License at 4342 // http://www.opensource.apple.com/apsl/ and read it before using this file. 4343 // 4344 // The Original Code and all software distributed under the License are 4345 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 4346 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 4347 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 4348 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 4349 // Please see the License for the specific language governing rights and 4350 // limitations under the License. 4351 // 4352 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 4353 4354 type Uint32_t = uint32 /* _uint32_t.h:31:22 */ 4355 // Copyright (c) 2012 Apple Inc. All rights reserved. 4356 // 4357 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 4358 // 4359 // This file contains Original Code and/or Modifications of Original Code 4360 // as defined in and that are subject to the Apple Public Source License 4361 // Version 2.0 (the 'License'). You may not use this file except in 4362 // compliance with the License. The rights granted to you under the License 4363 // may not be used to create, or enable the creation or redistribution of, 4364 // unlawful or unlicensed copies of an Apple operating system, or to 4365 // circumvent, violate, or enable the circumvention or violation of, any 4366 // terms of an Apple operating system software license agreement. 4367 // 4368 // Please obtain a copy of the License at 4369 // http://www.opensource.apple.com/apsl/ and read it before using this file. 4370 // 4371 // The Original Code and all software distributed under the License are 4372 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 4373 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 4374 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 4375 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 4376 // Please see the License for the specific language governing rights and 4377 // limitations under the License. 4378 // 4379 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 4380 4381 type Uint64_t = uint64 /* _uint64_t.h:31:28 */ 4382 4383 // 7.18.1.2 Minimum-width integer types 4384 type Int_least8_t = Int8_t /* stdint.h:38:26 */ 4385 type Int_least16_t = Int16_t /* stdint.h:39:25 */ 4386 type Int_least32_t = Int32_t /* stdint.h:40:25 */ 4387 type Int_least64_t = Int64_t /* stdint.h:41:25 */ 4388 type Uint_least8_t = Uint8_t /* stdint.h:42:25 */ 4389 type Uint_least16_t = Uint16_t /* stdint.h:43:24 */ 4390 type Uint_least32_t = Uint32_t /* stdint.h:44:24 */ 4391 type Uint_least64_t = Uint64_t /* stdint.h:45:24 */ 4392 4393 // 7.18.1.3 Fastest-width integer types 4394 type Int_fast8_t = Int8_t /* stdint.h:49:27 */ 4395 type Int_fast16_t = Int16_t /* stdint.h:50:26 */ 4396 type Int_fast32_t = Int32_t /* stdint.h:51:26 */ 4397 type Int_fast64_t = Int64_t /* stdint.h:52:26 */ 4398 type Uint_fast8_t = Uint8_t /* stdint.h:53:26 */ 4399 type Uint_fast16_t = Uint16_t /* stdint.h:54:25 */ 4400 type Uint_fast32_t = Uint32_t /* stdint.h:55:25 */ 4401 type Uint_fast64_t = Uint64_t /* stdint.h:56:25 */ 4402 4403 // 7.18.1.4 Integer types capable of holding object pointers 4404 4405 // Copyright (c) 2003-2007 Apple Inc. All rights reserved. 4406 // 4407 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 4408 // 4409 // This file contains Original Code and/or Modifications of Original Code 4410 // as defined in and that are subject to the Apple Public Source License 4411 // Version 2.0 (the 'License'). You may not use this file except in 4412 // compliance with the License. The rights granted to you under the License 4413 // may not be used to create, or enable the creation or redistribution of, 4414 // unlawful or unlicensed copies of an Apple operating system, or to 4415 // circumvent, violate, or enable the circumvention or violation of, any 4416 // terms of an Apple operating system software license agreement. 4417 // 4418 // Please obtain a copy of the License at 4419 // http://www.opensource.apple.com/apsl/ and read it before using this file. 4420 // 4421 // The Original Code and all software distributed under the License are 4422 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 4423 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 4424 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 4425 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 4426 // Please see the License for the specific language governing rights and 4427 // limitations under the License. 4428 // 4429 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 4430 4431 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 4432 // 4433 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 4434 // 4435 // This file contains Original Code and/or Modifications of Original Code 4436 // as defined in and that are subject to the Apple Public Source License 4437 // Version 2.0 (the 'License'). You may not use this file except in 4438 // compliance with the License. The rights granted to you under the License 4439 // may not be used to create, or enable the creation or redistribution of, 4440 // unlawful or unlicensed copies of an Apple operating system, or to 4441 // circumvent, violate, or enable the circumvention or violation of, any 4442 // terms of an Apple operating system software license agreement. 4443 // 4444 // Please obtain a copy of the License at 4445 // http://www.opensource.apple.com/apsl/ and read it before using this file. 4446 // 4447 // The Original Code and all software distributed under the License are 4448 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 4449 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 4450 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 4451 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 4452 // Please see the License for the specific language governing rights and 4453 // limitations under the License. 4454 // 4455 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 4456 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 4457 // 4458 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 4459 // 4460 // This file contains Original Code and/or Modifications of Original Code 4461 // as defined in and that are subject to the Apple Public Source License 4462 // Version 2.0 (the 'License'). You may not use this file except in 4463 // compliance with the License. The rights granted to you under the License 4464 // may not be used to create, or enable the creation or redistribution of, 4465 // unlawful or unlicensed copies of an Apple operating system, or to 4466 // circumvent, violate, or enable the circumvention or violation of, any 4467 // terms of an Apple operating system software license agreement. 4468 // 4469 // Please obtain a copy of the License at 4470 // http://www.opensource.apple.com/apsl/ and read it before using this file. 4471 // 4472 // The Original Code and all software distributed under the License are 4473 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 4474 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 4475 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 4476 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 4477 // Please see the License for the specific language governing rights and 4478 // limitations under the License. 4479 // 4480 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 4481 4482 // 7.18.1.5 Greatest-width integer types 4483 // Copyright (c) 2012 Apple Inc. All rights reserved. 4484 // 4485 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 4486 // 4487 // This file contains Original Code and/or Modifications of Original Code 4488 // as defined in and that are subject to the Apple Public Source License 4489 // Version 2.0 (the 'License'). You may not use this file except in 4490 // compliance with the License. The rights granted to you under the License 4491 // may not be used to create, or enable the creation or redistribution of, 4492 // unlawful or unlicensed copies of an Apple operating system, or to 4493 // circumvent, violate, or enable the circumvention or violation of, any 4494 // terms of an Apple operating system software license agreement. 4495 // 4496 // Please obtain a copy of the License at 4497 // http://www.opensource.apple.com/apsl/ and read it before using this file. 4498 // 4499 // The Original Code and all software distributed under the License are 4500 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 4501 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 4502 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 4503 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 4504 // Please see the License for the specific language governing rights and 4505 // limitations under the License. 4506 // 4507 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 4508 4509 type Intmax_t = int64 /* _intmax_t.h:32:25 */ 4510 // Copyright (c) 2012 Apple Inc. All rights reserved. 4511 // 4512 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 4513 // 4514 // This file contains Original Code and/or Modifications of Original Code 4515 // as defined in and that are subject to the Apple Public Source License 4516 // Version 2.0 (the 'License'). You may not use this file except in 4517 // compliance with the License. The rights granted to you under the License 4518 // may not be used to create, or enable the creation or redistribution of, 4519 // unlawful or unlicensed copies of an Apple operating system, or to 4520 // circumvent, violate, or enable the circumvention or violation of, any 4521 // terms of an Apple operating system software license agreement. 4522 // 4523 // Please obtain a copy of the License at 4524 // http://www.opensource.apple.com/apsl/ and read it before using this file. 4525 // 4526 // The Original Code and all software distributed under the License are 4527 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 4528 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 4529 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 4530 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 4531 // Please see the License for the specific language governing rights and 4532 // limitations under the License. 4533 // 4534 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 4535 4536 type Uintmax_t = uint64 /* _uintmax_t.h:32:26 */ 4537 4538 // 7.18.4 Macros for integer constants 4539 4540 // 7.18.2 Limits of specified-width integer types: 4541 // These #defines specify the minimum and maximum limits 4542 // of each of the types declared above. 4543 // 4544 // They must have "the same type as would an expression that is an 4545 // object of the corresponding type converted according to the integer 4546 // promotion". 4547 4548 // 7.18.2.1 Limits of exact-width integer types 4549 4550 // 4551 // Note: the literal "most negative int" cannot be written in C -- 4552 // the rules in the standard (section 6.4.4.1 in C99) will give it 4553 // an unsigned type, so INT32_MIN (and the most negative member of 4554 // any larger signed type) must be written via a constant expression. 4555 // 4556 4557 // 7.18.2.2 Limits of minimum-width integer types 4558 4559 // 7.18.2.3 Limits of fastest minimum-width integer types 4560 4561 // 7.18.2.4 Limits of integer types capable of holding object pointers 4562 4563 // 7.18.2.5 Limits of greatest-width integer types 4564 4565 // 7.18.3 "Other" 4566 4567 // WCHAR_MIN should be 0 if wchar_t is an unsigned type and 4568 // (-WCHAR_MAX-1) if wchar_t is a signed type. Unfortunately, 4569 // it turns out that -fshort-wchar changes the signedness of 4570 // the type. 4571 4572 // Copyright (c) 2007 Apple Inc. All rights reserved. 4573 // 4574 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 4575 // 4576 // This file contains Original Code and/or Modifications of Original Code 4577 // as defined in and that are subject to the Apple Public Source License 4578 // Version 2.0 (the 'License'). You may not use this file except in 4579 // compliance with the License. The rights granted to you under the License 4580 // may not be used to create, or enable the creation or redistribution of, 4581 // unlawful or unlicensed copies of an Apple operating system, or to 4582 // circumvent, violate, or enable the circumvention or violation of, any 4583 // terms of an Apple operating system software license agreement. 4584 // 4585 // Please obtain a copy of the License at 4586 // http://www.opensource.apple.com/apsl/ and read it before using this file. 4587 // 4588 // The Original Code and all software distributed under the License are 4589 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 4590 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 4591 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 4592 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 4593 // Please see the License for the specific language governing rights and 4594 // limitations under the License. 4595 // 4596 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 4597 4598 // Collect the __ARM_ARCH_*__ compiler flags into something easier to use. 4599 4600 // Generic byte swapping functions. 4601 4602 func _OSSwapInt16(tls *libc.TLS, _data Uint16_t) Uint16_t { /* OSByteOrder.h:15:1: */ 4603 // Reduces to 'rev16' with clang 4604 return Uint16_t(int32(_data)<<8 | int32(_data)>>8) 4605 } 4606 4607 func _OSSwapInt32(tls *libc.TLS, _data Uint32_t) Uint32_t { /* OSByteOrder.h:25:1: */ 4608 // This actually generates the best code 4609 _data = (_data^(_data>>16|_data<<16))&0xFF00FFFF>>8 ^ (_data>>8 | _data<<24) 4610 4611 return _data 4612 } 4613 4614 func _OSSwapInt64(tls *libc.TLS, _data Uint64_t) Uint64_t { /* OSByteOrder.h:41:1: */ 4615 bp := tls.Alloc(8) 4616 defer tls.Free(8) 4617 4618 // var _u struct {F_ull Uint64_t;} at bp, 8 4619 4620 // This actually generates the best code 4621 *(*Uint32_t)(unsafe.Pointer(bp)) = Uint32_t(_data >> 32) 4622 *(*Uint32_t)(unsafe.Pointer(bp + 1*4)) = Uint32_t(_data & uint64(0xffffffff)) 4623 *(*Uint32_t)(unsafe.Pointer(bp)) = _OSSwapInt32(tls, *(*Uint32_t)(unsafe.Pointer(bp))) 4624 *(*Uint32_t)(unsafe.Pointer(bp + 1*4)) = _OSSwapInt32(tls, *(*Uint32_t)(unsafe.Pointer(bp + 1*4))) 4625 return *(*Uint64_t)(unsafe.Pointer(bp)) 4626 } 4627 4628 // Functions for byte reversed loads. 4629 4630 type X_OSUnalignedU16 = struct{ F__val Uint16_t } /* OSByteOrder.h:64:1 */ 4631 4632 type X_OSUnalignedU32 = struct{ F__val Uint32_t } /* OSByteOrder.h:68:1 */ 4633 4634 type X_OSUnalignedU64 = struct{ F__val Uint64_t } /* OSByteOrder.h:72:1 */ 4635 4636 // Copyright (c) 2017 Apple Inc. All rights reserved. 4637 // 4638 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 4639 // 4640 // This file contains Original Code and/or Modifications of Original Code 4641 // as defined in and that are subject to the Apple Public Source License 4642 // Version 2.0 (the 'License'). You may not use this file except in 4643 // compliance with the License. The rights granted to you under the License 4644 // may not be used to create, or enable the creation or redistribution of, 4645 // unlawful or unlicensed copies of an Apple operating system, or to 4646 // circumvent, violate, or enable the circumvention or violation of, any 4647 // terms of an Apple operating system software license agreement. 4648 // 4649 // Please obtain a copy of the License at 4650 // http://www.opensource.apple.com/apsl/ and read it before using this file. 4651 // 4652 // The Original Code and all software distributed under the License are 4653 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 4654 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 4655 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 4656 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 4657 // Please see the License for the specific language governing rights and 4658 // limitations under the License. 4659 // 4660 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 4661 type U_char = uint8 /* _u_char.h:30:25 */ 4662 // Copyright (c) 2017 Apple Inc. All rights reserved. 4663 // 4664 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 4665 // 4666 // This file contains Original Code and/or Modifications of Original Code 4667 // as defined in and that are subject to the Apple Public Source License 4668 // Version 2.0 (the 'License'). You may not use this file except in 4669 // compliance with the License. The rights granted to you under the License 4670 // may not be used to create, or enable the creation or redistribution of, 4671 // unlawful or unlicensed copies of an Apple operating system, or to 4672 // circumvent, violate, or enable the circumvention or violation of, any 4673 // terms of an Apple operating system software license agreement. 4674 // 4675 // Please obtain a copy of the License at 4676 // http://www.opensource.apple.com/apsl/ and read it before using this file. 4677 // 4678 // The Original Code and all software distributed under the License are 4679 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 4680 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 4681 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 4682 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 4683 // Please see the License for the specific language governing rights and 4684 // limitations under the License. 4685 // 4686 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 4687 type U_short = uint16 /* _u_short.h:30:25 */ 4688 // Copyright (c) 2017 Apple Inc. All rights reserved. 4689 // 4690 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 4691 // 4692 // This file contains Original Code and/or Modifications of Original Code 4693 // as defined in and that are subject to the Apple Public Source License 4694 // Version 2.0 (the 'License'). You may not use this file except in 4695 // compliance with the License. The rights granted to you under the License 4696 // may not be used to create, or enable the creation or redistribution of, 4697 // unlawful or unlicensed copies of an Apple operating system, or to 4698 // circumvent, violate, or enable the circumvention or violation of, any 4699 // terms of an Apple operating system software license agreement. 4700 // 4701 // Please obtain a copy of the License at 4702 // http://www.opensource.apple.com/apsl/ and read it before using this file. 4703 // 4704 // The Original Code and all software distributed under the License are 4705 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 4706 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 4707 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 4708 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 4709 // Please see the License for the specific language governing rights and 4710 // limitations under the License. 4711 // 4712 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 4713 type U_int = uint32 /* _u_int.h:30:25 */ 4714 type U_long = uint64 /* types.h:88:33 */ 4715 type Ushort = uint16 /* types.h:91:33 */ // Sys V compatibility 4716 type Uint = uint32 /* types.h:92:33 */ // Sys V compatibility 4717 4718 type U_quad_t = U_int64_t /* types.h:95:33 */ // quads 4719 type Quad_t = Int64_t /* types.h:96:33 */ 4720 type Qaddr_t = uintptr /* types.h:97:16 */ 4721 4722 // Copyright (c) 2017 Apple Inc. All rights reserved. 4723 // 4724 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 4725 // 4726 // This file contains Original Code and/or Modifications of Original Code 4727 // as defined in and that are subject to the Apple Public Source License 4728 // Version 2.0 (the 'License'). You may not use this file except in 4729 // compliance with the License. The rights granted to you under the License 4730 // may not be used to create, or enable the creation or redistribution of, 4731 // unlawful or unlicensed copies of an Apple operating system, or to 4732 // circumvent, violate, or enable the circumvention or violation of, any 4733 // terms of an Apple operating system software license agreement. 4734 // 4735 // Please obtain a copy of the License at 4736 // http://www.opensource.apple.com/apsl/ and read it before using this file. 4737 // 4738 // The Original Code and all software distributed under the License are 4739 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 4740 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 4741 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 4742 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 4743 // Please see the License for the specific language governing rights and 4744 // limitations under the License. 4745 // 4746 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 4747 type Caddr_t = uintptr /* _caddr_t.h:30:14 */ 4748 4749 type Daddr_t = Int32_t /* types.h:101:33 */ // disk address 4750 4751 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 4752 // 4753 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 4754 // 4755 // This file contains Original Code and/or Modifications of Original Code 4756 // as defined in and that are subject to the Apple Public Source License 4757 // Version 2.0 (the 'License'). You may not use this file except in 4758 // compliance with the License. The rights granted to you under the License 4759 // may not be used to create, or enable the creation or redistribution of, 4760 // unlawful or unlicensed copies of an Apple operating system, or to 4761 // circumvent, violate, or enable the circumvention or violation of, any 4762 // terms of an Apple operating system software license agreement. 4763 // 4764 // Please obtain a copy of the License at 4765 // http://www.opensource.apple.com/apsl/ and read it before using this file. 4766 // 4767 // The Original Code and all software distributed under the License are 4768 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 4769 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 4770 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 4771 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 4772 // Please see the License for the specific language governing rights and 4773 // limitations under the License. 4774 // 4775 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 4776 // Copyright (c) 2003-2007 Apple Inc. All rights reserved. 4777 // 4778 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 4779 // 4780 // This file contains Original Code and/or Modifications of Original Code 4781 // as defined in and that are subject to the Apple Public Source License 4782 // Version 2.0 (the 'License'). You may not use this file except in 4783 // compliance with the License. The rights granted to you under the License 4784 // may not be used to create, or enable the creation or redistribution of, 4785 // unlawful or unlicensed copies of an Apple operating system, or to 4786 // circumvent, violate, or enable the circumvention or violation of, any 4787 // terms of an Apple operating system software license agreement. 4788 // 4789 // Please obtain a copy of the License at 4790 // http://www.opensource.apple.com/apsl/ and read it before using this file. 4791 // 4792 // The Original Code and all software distributed under the License are 4793 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 4794 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 4795 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 4796 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 4797 // Please see the License for the specific language governing rights and 4798 // limitations under the License. 4799 // 4800 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 4801 4802 type Dev_t = X__darwin_dev_t /* _dev_t.h:31:31 */ // device number 4803 4804 type Fixpt_t = U_int32_t /* types.h:105:33 */ // fixed point number 4805 4806 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 4807 // 4808 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 4809 // 4810 // This file contains Original Code and/or Modifications of Original Code 4811 // as defined in and that are subject to the Apple Public Source License 4812 // Version 2.0 (the 'License'). You may not use this file except in 4813 // compliance with the License. The rights granted to you under the License 4814 // may not be used to create, or enable the creation or redistribution of, 4815 // unlawful or unlicensed copies of an Apple operating system, or to 4816 // circumvent, violate, or enable the circumvention or violation of, any 4817 // terms of an Apple operating system software license agreement. 4818 // 4819 // Please obtain a copy of the License at 4820 // http://www.opensource.apple.com/apsl/ and read it before using this file. 4821 // 4822 // The Original Code and all software distributed under the License are 4823 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 4824 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 4825 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 4826 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 4827 // Please see the License for the specific language governing rights and 4828 // limitations under the License. 4829 // 4830 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 4831 // Copyright (c) 2003-2007 Apple Inc. All rights reserved. 4832 // 4833 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 4834 // 4835 // This file contains Original Code and/or Modifications of Original Code 4836 // as defined in and that are subject to the Apple Public Source License 4837 // Version 2.0 (the 'License'). You may not use this file except in 4838 // compliance with the License. The rights granted to you under the License 4839 // may not be used to create, or enable the creation or redistribution of, 4840 // unlawful or unlicensed copies of an Apple operating system, or to 4841 // circumvent, violate, or enable the circumvention or violation of, any 4842 // terms of an Apple operating system software license agreement. 4843 // 4844 // Please obtain a copy of the License at 4845 // http://www.opensource.apple.com/apsl/ and read it before using this file. 4846 // 4847 // The Original Code and all software distributed under the License are 4848 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 4849 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 4850 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 4851 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 4852 // Please see the License for the specific language governing rights and 4853 // limitations under the License. 4854 // 4855 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 4856 4857 type Blkcnt_t = X__darwin_blkcnt_t /* _blkcnt_t.h:31:34 */ 4858 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 4859 // 4860 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 4861 // 4862 // This file contains Original Code and/or Modifications of Original Code 4863 // as defined in and that are subject to the Apple Public Source License 4864 // Version 2.0 (the 'License'). You may not use this file except in 4865 // compliance with the License. The rights granted to you under the License 4866 // may not be used to create, or enable the creation or redistribution of, 4867 // unlawful or unlicensed copies of an Apple operating system, or to 4868 // circumvent, violate, or enable the circumvention or violation of, any 4869 // terms of an Apple operating system software license agreement. 4870 // 4871 // Please obtain a copy of the License at 4872 // http://www.opensource.apple.com/apsl/ and read it before using this file. 4873 // 4874 // The Original Code and all software distributed under the License are 4875 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 4876 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 4877 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 4878 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 4879 // Please see the License for the specific language governing rights and 4880 // limitations under the License. 4881 // 4882 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 4883 // Copyright (c) 2003-2007 Apple Inc. All rights reserved. 4884 // 4885 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 4886 // 4887 // This file contains Original Code and/or Modifications of Original Code 4888 // as defined in and that are subject to the Apple Public Source License 4889 // Version 2.0 (the 'License'). You may not use this file except in 4890 // compliance with the License. The rights granted to you under the License 4891 // may not be used to create, or enable the creation or redistribution of, 4892 // unlawful or unlicensed copies of an Apple operating system, or to 4893 // circumvent, violate, or enable the circumvention or violation of, any 4894 // terms of an Apple operating system software license agreement. 4895 // 4896 // Please obtain a copy of the License at 4897 // http://www.opensource.apple.com/apsl/ and read it before using this file. 4898 // 4899 // The Original Code and all software distributed under the License are 4900 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 4901 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 4902 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 4903 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 4904 // Please see the License for the specific language governing rights and 4905 // limitations under the License. 4906 // 4907 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 4908 4909 type Blksize_t = X__darwin_blksize_t /* _blksize_t.h:31:35 */ 4910 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 4911 // 4912 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 4913 // 4914 // This file contains Original Code and/or Modifications of Original Code 4915 // as defined in and that are subject to the Apple Public Source License 4916 // Version 2.0 (the 'License'). You may not use this file except in 4917 // compliance with the License. The rights granted to you under the License 4918 // may not be used to create, or enable the creation or redistribution of, 4919 // unlawful or unlicensed copies of an Apple operating system, or to 4920 // circumvent, violate, or enable the circumvention or violation of, any 4921 // terms of an Apple operating system software license agreement. 4922 // 4923 // Please obtain a copy of the License at 4924 // http://www.opensource.apple.com/apsl/ and read it before using this file. 4925 // 4926 // The Original Code and all software distributed under the License are 4927 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 4928 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 4929 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 4930 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 4931 // Please see the License for the specific language governing rights and 4932 // limitations under the License. 4933 // 4934 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 4935 // Copyright (c) 2003-2007 Apple Inc. All rights reserved. 4936 // 4937 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 4938 // 4939 // This file contains Original Code and/or Modifications of Original Code 4940 // as defined in and that are subject to the Apple Public Source License 4941 // Version 2.0 (the 'License'). You may not use this file except in 4942 // compliance with the License. The rights granted to you under the License 4943 // may not be used to create, or enable the creation or redistribution of, 4944 // unlawful or unlicensed copies of an Apple operating system, or to 4945 // circumvent, violate, or enable the circumvention or violation of, any 4946 // terms of an Apple operating system software license agreement. 4947 // 4948 // Please obtain a copy of the License at 4949 // http://www.opensource.apple.com/apsl/ and read it before using this file. 4950 // 4951 // The Original Code and all software distributed under the License are 4952 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 4953 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 4954 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 4955 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 4956 // Please see the License for the specific language governing rights and 4957 // limitations under the License. 4958 // 4959 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 4960 4961 type Gid_t = X__darwin_gid_t /* _gid_t.h:31:25 */ 4962 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 4963 // 4964 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 4965 // 4966 // This file contains Original Code and/or Modifications of Original Code 4967 // as defined in and that are subject to the Apple Public Source License 4968 // Version 2.0 (the 'License'). You may not use this file except in 4969 // compliance with the License. The rights granted to you under the License 4970 // may not be used to create, or enable the creation or redistribution of, 4971 // unlawful or unlicensed copies of an Apple operating system, or to 4972 // circumvent, violate, or enable the circumvention or violation of, any 4973 // terms of an Apple operating system software license agreement. 4974 // 4975 // Please obtain a copy of the License at 4976 // http://www.opensource.apple.com/apsl/ and read it before using this file. 4977 // 4978 // The Original Code and all software distributed under the License are 4979 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 4980 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 4981 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 4982 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 4983 // Please see the License for the specific language governing rights and 4984 // limitations under the License. 4985 // 4986 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 4987 // Copyright (c) 2000-2007 Apple Inc. All rights reserved. 4988 // 4989 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 4990 // 4991 // This file contains Original Code and/or Modifications of Original Code 4992 // as defined in and that are subject to the Apple Public Source License 4993 // Version 2.0 (the 'License'). You may not use this file except in 4994 // compliance with the License. The rights granted to you under the License 4995 // may not be used to create, or enable the creation or redistribution of, 4996 // unlawful or unlicensed copies of an Apple operating system, or to 4997 // circumvent, violate, or enable the circumvention or violation of, any 4998 // terms of an Apple operating system software license agreement. 4999 // 5000 // Please obtain a copy of the License at 5001 // http://www.opensource.apple.com/apsl/ and read it before using this file. 5002 // 5003 // The Original Code and all software distributed under the License are 5004 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 5005 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 5006 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 5007 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 5008 // Please see the License for the specific language governing rights and 5009 // limitations under the License. 5010 // 5011 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 5012 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 5013 type In_addr_t = X__uint32_t /* _in_addr_t.h:31:25 */ // base type for internet address 5014 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 5015 // 5016 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5017 // 5018 // This file contains Original Code and/or Modifications of Original Code 5019 // as defined in and that are subject to the Apple Public Source License 5020 // Version 2.0 (the 'License'). You may not use this file except in 5021 // compliance with the License. The rights granted to you under the License 5022 // may not be used to create, or enable the creation or redistribution of, 5023 // unlawful or unlicensed copies of an Apple operating system, or to 5024 // circumvent, violate, or enable the circumvention or violation of, any 5025 // terms of an Apple operating system software license agreement. 5026 // 5027 // Please obtain a copy of the License at 5028 // http://www.opensource.apple.com/apsl/ and read it before using this file. 5029 // 5030 // The Original Code and all software distributed under the License are 5031 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 5032 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 5033 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 5034 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 5035 // Please see the License for the specific language governing rights and 5036 // limitations under the License. 5037 // 5038 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 5039 // Copyright (c) 2000-2007 Apple Inc. All rights reserved. 5040 // 5041 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5042 // 5043 // This file contains Original Code and/or Modifications of Original Code 5044 // as defined in and that are subject to the Apple Public Source License 5045 // Version 2.0 (the 'License'). You may not use this file except in 5046 // compliance with the License. The rights granted to you under the License 5047 // may not be used to create, or enable the creation or redistribution of, 5048 // unlawful or unlicensed copies of an Apple operating system, or to 5049 // circumvent, violate, or enable the circumvention or violation of, any 5050 // terms of an Apple operating system software license agreement. 5051 // 5052 // Please obtain a copy of the License at 5053 // http://www.opensource.apple.com/apsl/ and read it before using this file. 5054 // 5055 // The Original Code and all software distributed under the License are 5056 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 5057 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 5058 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 5059 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 5060 // Please see the License for the specific language governing rights and 5061 // limitations under the License. 5062 // 5063 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 5064 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 5065 type In_port_t = X__uint16_t /* _in_port_t.h:31:33 */ 5066 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 5067 // 5068 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5069 // 5070 // This file contains Original Code and/or Modifications of Original Code 5071 // as defined in and that are subject to the Apple Public Source License 5072 // Version 2.0 (the 'License'). You may not use this file except in 5073 // compliance with the License. The rights granted to you under the License 5074 // may not be used to create, or enable the creation or redistribution of, 5075 // unlawful or unlicensed copies of an Apple operating system, or to 5076 // circumvent, violate, or enable the circumvention or violation of, any 5077 // terms of an Apple operating system software license agreement. 5078 // 5079 // Please obtain a copy of the License at 5080 // http://www.opensource.apple.com/apsl/ and read it before using this file. 5081 // 5082 // The Original Code and all software distributed under the License are 5083 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 5084 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 5085 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 5086 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 5087 // Please see the License for the specific language governing rights and 5088 // limitations under the License. 5089 // 5090 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 5091 // Copyright (c) 2003-2007 Apple Inc. All rights reserved. 5092 // 5093 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5094 // 5095 // This file contains Original Code and/or Modifications of Original Code 5096 // as defined in and that are subject to the Apple Public Source License 5097 // Version 2.0 (the 'License'). You may not use this file except in 5098 // compliance with the License. The rights granted to you under the License 5099 // may not be used to create, or enable the creation or redistribution of, 5100 // unlawful or unlicensed copies of an Apple operating system, or to 5101 // circumvent, violate, or enable the circumvention or violation of, any 5102 // terms of an Apple operating system software license agreement. 5103 // 5104 // Please obtain a copy of the License at 5105 // http://www.opensource.apple.com/apsl/ and read it before using this file. 5106 // 5107 // The Original Code and all software distributed under the License are 5108 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 5109 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 5110 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 5111 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 5112 // Please see the License for the specific language governing rights and 5113 // limitations under the License. 5114 // 5115 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 5116 5117 type Ino_t = X__darwin_ino_t /* _ino_t.h:31:33 */ // inode number 5118 5119 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 5120 // 5121 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5122 // 5123 // This file contains Original Code and/or Modifications of Original Code 5124 // as defined in and that are subject to the Apple Public Source License 5125 // Version 2.0 (the 'License'). You may not use this file except in 5126 // compliance with the License. The rights granted to you under the License 5127 // may not be used to create, or enable the creation or redistribution of, 5128 // unlawful or unlicensed copies of an Apple operating system, or to 5129 // circumvent, violate, or enable the circumvention or violation of, any 5130 // terms of an Apple operating system software license agreement. 5131 // 5132 // Please obtain a copy of the License at 5133 // http://www.opensource.apple.com/apsl/ and read it before using this file. 5134 // 5135 // The Original Code and all software distributed under the License are 5136 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 5137 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 5138 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 5139 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 5140 // Please see the License for the specific language governing rights and 5141 // limitations under the License. 5142 // 5143 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 5144 // Copyright (c) 2003-2007 Apple Inc. All rights reserved. 5145 // 5146 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5147 // 5148 // This file contains Original Code and/or Modifications of Original Code 5149 // as defined in and that are subject to the Apple Public Source License 5150 // Version 2.0 (the 'License'). You may not use this file except in 5151 // compliance with the License. The rights granted to you under the License 5152 // may not be used to create, or enable the creation or redistribution of, 5153 // unlawful or unlicensed copies of an Apple operating system, or to 5154 // circumvent, violate, or enable the circumvention or violation of, any 5155 // terms of an Apple operating system software license agreement. 5156 // 5157 // Please obtain a copy of the License at 5158 // http://www.opensource.apple.com/apsl/ and read it before using this file. 5159 // 5160 // The Original Code and all software distributed under the License are 5161 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 5162 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 5163 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 5164 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 5165 // Please see the License for the specific language governing rights and 5166 // limitations under the License. 5167 // 5168 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 5169 5170 type Ino64_t = X__darwin_ino64_t /* _ino64_t.h:31:33 */ // 64bit inode number 5171 5172 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 5173 // 5174 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5175 // 5176 // This file contains Original Code and/or Modifications of Original Code 5177 // as defined in and that are subject to the Apple Public Source License 5178 // Version 2.0 (the 'License'). You may not use this file except in 5179 // compliance with the License. The rights granted to you under the License 5180 // may not be used to create, or enable the creation or redistribution of, 5181 // unlawful or unlicensed copies of an Apple operating system, or to 5182 // circumvent, violate, or enable the circumvention or violation of, any 5183 // terms of an Apple operating system software license agreement. 5184 // 5185 // Please obtain a copy of the License at 5186 // http://www.opensource.apple.com/apsl/ and read it before using this file. 5187 // 5188 // The Original Code and all software distributed under the License are 5189 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 5190 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 5191 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 5192 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 5193 // Please see the License for the specific language governing rights and 5194 // limitations under the License. 5195 // 5196 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 5197 // Copyright (c) 2000-2007 Apple Inc. All rights reserved. 5198 // 5199 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5200 // 5201 // This file contains Original Code and/or Modifications of Original Code 5202 // as defined in and that are subject to the Apple Public Source License 5203 // Version 2.0 (the 'License'). You may not use this file except in 5204 // compliance with the License. The rights granted to you under the License 5205 // may not be used to create, or enable the creation or redistribution of, 5206 // unlawful or unlicensed copies of an Apple operating system, or to 5207 // circumvent, violate, or enable the circumvention or violation of, any 5208 // terms of an Apple operating system software license agreement. 5209 // 5210 // Please obtain a copy of the License at 5211 // http://www.opensource.apple.com/apsl/ and read it before using this file. 5212 // 5213 // The Original Code and all software distributed under the License are 5214 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 5215 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 5216 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 5217 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 5218 // Please see the License for the specific language governing rights and 5219 // limitations under the License. 5220 // 5221 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 5222 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 5223 type Key_t = X__int32_t /* _key_t.h:31:26 */ // IPC key (for Sys V IPC) 5224 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 5225 // 5226 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5227 // 5228 // This file contains Original Code and/or Modifications of Original Code 5229 // as defined in and that are subject to the Apple Public Source License 5230 // Version 2.0 (the 'License'). You may not use this file except in 5231 // compliance with the License. The rights granted to you under the License 5232 // may not be used to create, or enable the creation or redistribution of, 5233 // unlawful or unlicensed copies of an Apple operating system, or to 5234 // circumvent, violate, or enable the circumvention or violation of, any 5235 // terms of an Apple operating system software license agreement. 5236 // 5237 // Please obtain a copy of the License at 5238 // http://www.opensource.apple.com/apsl/ and read it before using this file. 5239 // 5240 // The Original Code and all software distributed under the License are 5241 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 5242 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 5243 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 5244 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 5245 // Please see the License for the specific language governing rights and 5246 // limitations under the License. 5247 // 5248 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 5249 // Copyright (c) 2003-2007 Apple Inc. All rights reserved. 5250 // 5251 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5252 // 5253 // This file contains Original Code and/or Modifications of Original Code 5254 // as defined in and that are subject to the Apple Public Source License 5255 // Version 2.0 (the 'License'). You may not use this file except in 5256 // compliance with the License. The rights granted to you under the License 5257 // may not be used to create, or enable the creation or redistribution of, 5258 // unlawful or unlicensed copies of an Apple operating system, or to 5259 // circumvent, violate, or enable the circumvention or violation of, any 5260 // terms of an Apple operating system software license agreement. 5261 // 5262 // Please obtain a copy of the License at 5263 // http://www.opensource.apple.com/apsl/ and read it before using this file. 5264 // 5265 // The Original Code and all software distributed under the License are 5266 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 5267 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 5268 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 5269 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 5270 // Please see the License for the specific language governing rights and 5271 // limitations under the License. 5272 // 5273 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 5274 5275 type Mode_t = X__darwin_mode_t /* _mode_t.h:31:33 */ 5276 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 5277 // 5278 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5279 // 5280 // This file contains Original Code and/or Modifications of Original Code 5281 // as defined in and that are subject to the Apple Public Source License 5282 // Version 2.0 (the 'License'). You may not use this file except in 5283 // compliance with the License. The rights granted to you under the License 5284 // may not be used to create, or enable the creation or redistribution of, 5285 // unlawful or unlicensed copies of an Apple operating system, or to 5286 // circumvent, violate, or enable the circumvention or violation of, any 5287 // terms of an Apple operating system software license agreement. 5288 // 5289 // Please obtain a copy of the License at 5290 // http://www.opensource.apple.com/apsl/ and read it before using this file. 5291 // 5292 // The Original Code and all software distributed under the License are 5293 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 5294 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 5295 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 5296 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 5297 // Please see the License for the specific language governing rights and 5298 // limitations under the License. 5299 // 5300 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 5301 // Copyright (c) 2000-2007 Apple Inc. All rights reserved. 5302 // 5303 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5304 // 5305 // This file contains Original Code and/or Modifications of Original Code 5306 // as defined in and that are subject to the Apple Public Source License 5307 // Version 2.0 (the 'License'). You may not use this file except in 5308 // compliance with the License. The rights granted to you under the License 5309 // may not be used to create, or enable the creation or redistribution of, 5310 // unlawful or unlicensed copies of an Apple operating system, or to 5311 // circumvent, violate, or enable the circumvention or violation of, any 5312 // terms of an Apple operating system software license agreement. 5313 // 5314 // Please obtain a copy of the License at 5315 // http://www.opensource.apple.com/apsl/ and read it before using this file. 5316 // 5317 // The Original Code and all software distributed under the License are 5318 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 5319 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 5320 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 5321 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 5322 // Please see the License for the specific language governing rights and 5323 // limitations under the License. 5324 // 5325 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 5326 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 5327 type Nlink_t = X__uint16_t /* _nlink_t.h:31:27 */ // link count 5328 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 5329 // 5330 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5331 // 5332 // This file contains Original Code and/or Modifications of Original Code 5333 // as defined in and that are subject to the Apple Public Source License 5334 // Version 2.0 (the 'License'). You may not use this file except in 5335 // compliance with the License. The rights granted to you under the License 5336 // may not be used to create, or enable the creation or redistribution of, 5337 // unlawful or unlicensed copies of an Apple operating system, or to 5338 // circumvent, violate, or enable the circumvention or violation of, any 5339 // terms of an Apple operating system software license agreement. 5340 // 5341 // Please obtain a copy of the License at 5342 // http://www.opensource.apple.com/apsl/ and read it before using this file. 5343 // 5344 // The Original Code and all software distributed under the License are 5345 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 5346 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 5347 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 5348 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 5349 // Please see the License for the specific language governing rights and 5350 // limitations under the License. 5351 // 5352 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 5353 // Copyright (c) 2003-2007 Apple Inc. All rights reserved. 5354 // 5355 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5356 // 5357 // This file contains Original Code and/or Modifications of Original Code 5358 // as defined in and that are subject to the Apple Public Source License 5359 // Version 2.0 (the 'License'). You may not use this file except in 5360 // compliance with the License. The rights granted to you under the License 5361 // may not be used to create, or enable the creation or redistribution of, 5362 // unlawful or unlicensed copies of an Apple operating system, or to 5363 // circumvent, violate, or enable the circumvention or violation of, any 5364 // terms of an Apple operating system software license agreement. 5365 // 5366 // Please obtain a copy of the License at 5367 // http://www.opensource.apple.com/apsl/ and read it before using this file. 5368 // 5369 // The Original Code and all software distributed under the License are 5370 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 5371 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 5372 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 5373 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 5374 // Please see the License for the specific language governing rights and 5375 // limitations under the License. 5376 // 5377 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 5378 5379 type Id_t = X__darwin_id_t /* _id_t.h:31:25 */ // can hold pid_t, gid_t, or uid_t 5380 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 5381 // 5382 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5383 // 5384 // This file contains Original Code and/or Modifications of Original Code 5385 // as defined in and that are subject to the Apple Public Source License 5386 // Version 2.0 (the 'License'). You may not use this file except in 5387 // compliance with the License. The rights granted to you under the License 5388 // may not be used to create, or enable the creation or redistribution of, 5389 // unlawful or unlicensed copies of an Apple operating system, or to 5390 // circumvent, violate, or enable the circumvention or violation of, any 5391 // terms of an Apple operating system software license agreement. 5392 // 5393 // Please obtain a copy of the License at 5394 // http://www.opensource.apple.com/apsl/ and read it before using this file. 5395 // 5396 // The Original Code and all software distributed under the License are 5397 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 5398 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 5399 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 5400 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 5401 // Please see the License for the specific language governing rights and 5402 // limitations under the License. 5403 // 5404 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 5405 // Copyright (c) 2003-2007 Apple Inc. All rights reserved. 5406 // 5407 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5408 // 5409 // This file contains Original Code and/or Modifications of Original Code 5410 // as defined in and that are subject to the Apple Public Source License 5411 // Version 2.0 (the 'License'). You may not use this file except in 5412 // compliance with the License. The rights granted to you under the License 5413 // may not be used to create, or enable the creation or redistribution of, 5414 // unlawful or unlicensed copies of an Apple operating system, or to 5415 // circumvent, violate, or enable the circumvention or violation of, any 5416 // terms of an Apple operating system software license agreement. 5417 // 5418 // Please obtain a copy of the License at 5419 // http://www.opensource.apple.com/apsl/ and read it before using this file. 5420 // 5421 // The Original Code and all software distributed under the License are 5422 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 5423 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 5424 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 5425 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 5426 // Please see the License for the specific language governing rights and 5427 // limitations under the License. 5428 // 5429 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 5430 5431 type Pid_t = X__darwin_pid_t /* _pid_t.h:31:31 */ 5432 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 5433 // 5434 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5435 // 5436 // This file contains Original Code and/or Modifications of Original Code 5437 // as defined in and that are subject to the Apple Public Source License 5438 // Version 2.0 (the 'License'). You may not use this file except in 5439 // compliance with the License. The rights granted to you under the License 5440 // may not be used to create, or enable the creation or redistribution of, 5441 // unlawful or unlicensed copies of an Apple operating system, or to 5442 // circumvent, violate, or enable the circumvention or violation of, any 5443 // terms of an Apple operating system software license agreement. 5444 // 5445 // Please obtain a copy of the License at 5446 // http://www.opensource.apple.com/apsl/ and read it before using this file. 5447 // 5448 // The Original Code and all software distributed under the License are 5449 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 5450 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 5451 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 5452 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 5453 // Please see the License for the specific language governing rights and 5454 // limitations under the License. 5455 // 5456 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 5457 // Copyright (c) 2003-2007 Apple Inc. All rights reserved. 5458 // 5459 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5460 // 5461 // This file contains Original Code and/or Modifications of Original Code 5462 // as defined in and that are subject to the Apple Public Source License 5463 // Version 2.0 (the 'License'). You may not use this file except in 5464 // compliance with the License. The rights granted to you under the License 5465 // may not be used to create, or enable the creation or redistribution of, 5466 // unlawful or unlicensed copies of an Apple operating system, or to 5467 // circumvent, violate, or enable the circumvention or violation of, any 5468 // terms of an Apple operating system software license agreement. 5469 // 5470 // Please obtain a copy of the License at 5471 // http://www.opensource.apple.com/apsl/ and read it before using this file. 5472 // 5473 // The Original Code and all software distributed under the License are 5474 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 5475 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 5476 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 5477 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 5478 // Please see the License for the specific language governing rights and 5479 // limitations under the License. 5480 // 5481 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 5482 5483 type Off_t = X__darwin_off_t /* _off_t.h:31:33 */ 5484 5485 type Segsz_t = Int32_t /* types.h:125:33 */ // segment size 5486 type Swblk_t = Int32_t /* types.h:126:33 */ // swap offset 5487 5488 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 5489 // 5490 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5491 // 5492 // This file contains Original Code and/or Modifications of Original Code 5493 // as defined in and that are subject to the Apple Public Source License 5494 // Version 2.0 (the 'License'). You may not use this file except in 5495 // compliance with the License. The rights granted to you under the License 5496 // may not be used to create, or enable the creation or redistribution of, 5497 // unlawful or unlicensed copies of an Apple operating system, or to 5498 // circumvent, violate, or enable the circumvention or violation of, any 5499 // terms of an Apple operating system software license agreement. 5500 // 5501 // Please obtain a copy of the License at 5502 // http://www.opensource.apple.com/apsl/ and read it before using this file. 5503 // 5504 // The Original Code and all software distributed under the License are 5505 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 5506 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 5507 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 5508 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 5509 // Please see the License for the specific language governing rights and 5510 // limitations under the License. 5511 // 5512 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 5513 // Copyright (c) 2003-2007 Apple Inc. All rights reserved. 5514 // 5515 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5516 // 5517 // This file contains Original Code and/or Modifications of Original Code 5518 // as defined in and that are subject to the Apple Public Source License 5519 // Version 2.0 (the 'License'). You may not use this file except in 5520 // compliance with the License. The rights granted to you under the License 5521 // may not be used to create, or enable the creation or redistribution of, 5522 // unlawful or unlicensed copies of an Apple operating system, or to 5523 // circumvent, violate, or enable the circumvention or violation of, any 5524 // terms of an Apple operating system software license agreement. 5525 // 5526 // Please obtain a copy of the License at 5527 // http://www.opensource.apple.com/apsl/ and read it before using this file. 5528 // 5529 // The Original Code and all software distributed under the License are 5530 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 5531 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 5532 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 5533 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 5534 // Please see the License for the specific language governing rights and 5535 // limitations under the License. 5536 // 5537 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 5538 5539 type Uid_t = X__darwin_uid_t /* _uid_t.h:31:31 */ 5540 5541 // Major, minor numbers, dev_t's. 5542 5543 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 5544 // 5545 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5546 // 5547 // This file contains Original Code and/or Modifications of Original Code 5548 // as defined in and that are subject to the Apple Public Source License 5549 // Version 2.0 (the 'License'). You may not use this file except in 5550 // compliance with the License. The rights granted to you under the License 5551 // may not be used to create, or enable the creation or redistribution of, 5552 // unlawful or unlicensed copies of an Apple operating system, or to 5553 // circumvent, violate, or enable the circumvention or violation of, any 5554 // terms of an Apple operating system software license agreement. 5555 // 5556 // Please obtain a copy of the License at 5557 // http://www.opensource.apple.com/apsl/ and read it before using this file. 5558 // 5559 // The Original Code and all software distributed under the License are 5560 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 5561 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 5562 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 5563 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 5564 // Please see the License for the specific language governing rights and 5565 // limitations under the License. 5566 // 5567 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 5568 // Copyright (c) 2000-2007 Apple Inc. All rights reserved. 5569 // 5570 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5571 // 5572 // This file contains Original Code and/or Modifications of Original Code 5573 // as defined in and that are subject to the Apple Public Source License 5574 // Version 2.0 (the 'License'). You may not use this file except in 5575 // compliance with the License. The rights granted to you under the License 5576 // may not be used to create, or enable the creation or redistribution of, 5577 // unlawful or unlicensed copies of an Apple operating system, or to 5578 // circumvent, violate, or enable the circumvention or violation of, any 5579 // terms of an Apple operating system software license agreement. 5580 // 5581 // Please obtain a copy of the License at 5582 // http://www.opensource.apple.com/apsl/ and read it before using this file. 5583 // 5584 // The Original Code and all software distributed under the License are 5585 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 5586 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 5587 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 5588 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 5589 // Please see the License for the specific language governing rights and 5590 // limitations under the License. 5591 // 5592 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 5593 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 5594 type Clock_t = X__darwin_clock_t /* _clock_t.h:31:33 */ 5595 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 5596 // 5597 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5598 // 5599 // This file contains Original Code and/or Modifications of Original Code 5600 // as defined in and that are subject to the Apple Public Source License 5601 // Version 2.0 (the 'License'). You may not use this file except in 5602 // compliance with the License. The rights granted to you under the License 5603 // may not be used to create, or enable the creation or redistribution of, 5604 // unlawful or unlicensed copies of an Apple operating system, or to 5605 // circumvent, violate, or enable the circumvention or violation of, any 5606 // terms of an Apple operating system software license agreement. 5607 // 5608 // Please obtain a copy of the License at 5609 // http://www.opensource.apple.com/apsl/ and read it before using this file. 5610 // 5611 // The Original Code and all software distributed under the License are 5612 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 5613 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 5614 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 5615 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 5616 // Please see the License for the specific language governing rights and 5617 // limitations under the License. 5618 // 5619 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 5620 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 5621 // 5622 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5623 // 5624 // This file contains Original Code and/or Modifications of Original Code 5625 // as defined in and that are subject to the Apple Public Source License 5626 // Version 2.0 (the 'License'). You may not use this file except in 5627 // compliance with the License. The rights granted to you under the License 5628 // may not be used to create, or enable the creation or redistribution of, 5629 // unlawful or unlicensed copies of an Apple operating system, or to 5630 // circumvent, violate, or enable the circumvention or violation of, any 5631 // terms of an Apple operating system software license agreement. 5632 // 5633 // Please obtain a copy of the License at 5634 // http://www.opensource.apple.com/apsl/ and read it before using this file. 5635 // 5636 // The Original Code and all software distributed under the License are 5637 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 5638 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 5639 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 5640 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 5641 // Please see the License for the specific language governing rights and 5642 // limitations under the License. 5643 // 5644 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 5645 // Copyright (c) 2000-2007 Apple Inc. All rights reserved. 5646 // 5647 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5648 // 5649 // This file contains Original Code and/or Modifications of Original Code 5650 // as defined in and that are subject to the Apple Public Source License 5651 // Version 2.0 (the 'License'). You may not use this file except in 5652 // compliance with the License. The rights granted to you under the License 5653 // may not be used to create, or enable the creation or redistribution of, 5654 // unlawful or unlicensed copies of an Apple operating system, or to 5655 // circumvent, violate, or enable the circumvention or violation of, any 5656 // terms of an Apple operating system software license agreement. 5657 // 5658 // Please obtain a copy of the License at 5659 // http://www.opensource.apple.com/apsl/ and read it before using this file. 5660 // 5661 // The Original Code and all software distributed under the License are 5662 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 5663 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 5664 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 5665 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 5666 // Please see the License for the specific language governing rights and 5667 // limitations under the License. 5668 // 5669 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 5670 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 5671 type Ssize_t = X__darwin_ssize_t /* _ssize_t.h:31:33 */ 5672 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 5673 // 5674 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5675 // 5676 // This file contains Original Code and/or Modifications of Original Code 5677 // as defined in and that are subject to the Apple Public Source License 5678 // Version 2.0 (the 'License'). You may not use this file except in 5679 // compliance with the License. The rights granted to you under the License 5680 // may not be used to create, or enable the creation or redistribution of, 5681 // unlawful or unlicensed copies of an Apple operating system, or to 5682 // circumvent, violate, or enable the circumvention or violation of, any 5683 // terms of an Apple operating system software license agreement. 5684 // 5685 // Please obtain a copy of the License at 5686 // http://www.opensource.apple.com/apsl/ and read it before using this file. 5687 // 5688 // The Original Code and all software distributed under the License are 5689 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 5690 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 5691 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 5692 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 5693 // Please see the License for the specific language governing rights and 5694 // limitations under the License. 5695 // 5696 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 5697 // Copyright (c) 2000-2007 Apple Inc. All rights reserved. 5698 // 5699 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5700 // 5701 // This file contains Original Code and/or Modifications of Original Code 5702 // as defined in and that are subject to the Apple Public Source License 5703 // Version 2.0 (the 'License'). You may not use this file except in 5704 // compliance with the License. The rights granted to you under the License 5705 // may not be used to create, or enable the creation or redistribution of, 5706 // unlawful or unlicensed copies of an Apple operating system, or to 5707 // circumvent, violate, or enable the circumvention or violation of, any 5708 // terms of an Apple operating system software license agreement. 5709 // 5710 // Please obtain a copy of the License at 5711 // http://www.opensource.apple.com/apsl/ and read it before using this file. 5712 // 5713 // The Original Code and all software distributed under the License are 5714 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 5715 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 5716 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 5717 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 5718 // Please see the License for the specific language governing rights and 5719 // limitations under the License. 5720 // 5721 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 5722 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 5723 type Time_t = X__darwin_time_t /* _time_t.h:31:33 */ 5724 5725 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 5726 // 5727 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5728 // 5729 // This file contains Original Code and/or Modifications of Original Code 5730 // as defined in and that are subject to the Apple Public Source License 5731 // Version 2.0 (the 'License'). You may not use this file except in 5732 // compliance with the License. The rights granted to you under the License 5733 // may not be used to create, or enable the creation or redistribution of, 5734 // unlawful or unlicensed copies of an Apple operating system, or to 5735 // circumvent, violate, or enable the circumvention or violation of, any 5736 // terms of an Apple operating system software license agreement. 5737 // 5738 // Please obtain a copy of the License at 5739 // http://www.opensource.apple.com/apsl/ and read it before using this file. 5740 // 5741 // The Original Code and all software distributed under the License are 5742 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 5743 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 5744 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 5745 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 5746 // Please see the License for the specific language governing rights and 5747 // limitations under the License. 5748 // 5749 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 5750 // Copyright (c) 2003-2007 Apple Inc. All rights reserved. 5751 // 5752 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5753 // 5754 // This file contains Original Code and/or Modifications of Original Code 5755 // as defined in and that are subject to the Apple Public Source License 5756 // Version 2.0 (the 'License'). You may not use this file except in 5757 // compliance with the License. The rights granted to you under the License 5758 // may not be used to create, or enable the creation or redistribution of, 5759 // unlawful or unlicensed copies of an Apple operating system, or to 5760 // circumvent, violate, or enable the circumvention or violation of, any 5761 // terms of an Apple operating system software license agreement. 5762 // 5763 // Please obtain a copy of the License at 5764 // http://www.opensource.apple.com/apsl/ and read it before using this file. 5765 // 5766 // The Original Code and all software distributed under the License are 5767 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 5768 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 5769 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 5770 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 5771 // Please see the License for the specific language governing rights and 5772 // limitations under the License. 5773 // 5774 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 5775 5776 type Useconds_t = X__darwin_useconds_t /* _useconds_t.h:31:33 */ 5777 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 5778 // 5779 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5780 // 5781 // This file contains Original Code and/or Modifications of Original Code 5782 // as defined in and that are subject to the Apple Public Source License 5783 // Version 2.0 (the 'License'). You may not use this file except in 5784 // compliance with the License. The rights granted to you under the License 5785 // may not be used to create, or enable the creation or redistribution of, 5786 // unlawful or unlicensed copies of an Apple operating system, or to 5787 // circumvent, violate, or enable the circumvention or violation of, any 5788 // terms of an Apple operating system software license agreement. 5789 // 5790 // Please obtain a copy of the License at 5791 // http://www.opensource.apple.com/apsl/ and read it before using this file. 5792 // 5793 // The Original Code and all software distributed under the License are 5794 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 5795 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 5796 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 5797 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 5798 // Please see the License for the specific language governing rights and 5799 // limitations under the License. 5800 // 5801 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 5802 // Copyright (c) 2003-2007 Apple Inc. All rights reserved. 5803 // 5804 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5805 // 5806 // This file contains Original Code and/or Modifications of Original Code 5807 // as defined in and that are subject to the Apple Public Source License 5808 // Version 2.0 (the 'License'). You may not use this file except in 5809 // compliance with the License. The rights granted to you under the License 5810 // may not be used to create, or enable the creation or redistribution of, 5811 // unlawful or unlicensed copies of an Apple operating system, or to 5812 // circumvent, violate, or enable the circumvention or violation of, any 5813 // terms of an Apple operating system software license agreement. 5814 // 5815 // Please obtain a copy of the License at 5816 // http://www.opensource.apple.com/apsl/ and read it before using this file. 5817 // 5818 // The Original Code and all software distributed under the License are 5819 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 5820 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 5821 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 5822 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 5823 // Please see the License for the specific language governing rights and 5824 // limitations under the License. 5825 // 5826 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 5827 5828 type Suseconds_t = X__darwin_suseconds_t /* _suseconds_t.h:31:33 */ 5829 5830 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 5831 // 5832 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5833 // 5834 // This file contains Original Code and/or Modifications of Original Code 5835 // as defined in and that are subject to the Apple Public Source License 5836 // Version 2.0 (the 'License'). You may not use this file except in 5837 // compliance with the License. The rights granted to you under the License 5838 // may not be used to create, or enable the creation or redistribution of, 5839 // unlawful or unlicensed copies of an Apple operating system, or to 5840 // circumvent, violate, or enable the circumvention or violation of, any 5841 // terms of an Apple operating system software license agreement. 5842 // 5843 // Please obtain a copy of the License at 5844 // http://www.opensource.apple.com/apsl/ and read it before using this file. 5845 // 5846 // The Original Code and all software distributed under the License are 5847 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 5848 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 5849 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 5850 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 5851 // Please see the License for the specific language governing rights and 5852 // limitations under the License. 5853 // 5854 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 5855 // Copyright (c) 2000-2007 Apple Inc. All rights reserved. 5856 // 5857 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5858 // 5859 // This file contains Original Code and/or Modifications of Original Code 5860 // as defined in and that are subject to the Apple Public Source License 5861 // Version 2.0 (the 'License'). You may not use this file except in 5862 // compliance with the License. The rights granted to you under the License 5863 // may not be used to create, or enable the creation or redistribution of, 5864 // unlawful or unlicensed copies of an Apple operating system, or to 5865 // circumvent, violate, or enable the circumvention or violation of, any 5866 // terms of an Apple operating system software license agreement. 5867 // 5868 // Please obtain a copy of the License at 5869 // http://www.opensource.apple.com/apsl/ and read it before using this file. 5870 // 5871 // The Original Code and all software distributed under the License are 5872 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 5873 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 5874 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 5875 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 5876 // Please see the License for the specific language governing rights and 5877 // limitations under the License. 5878 // 5879 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 5880 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 5881 type Rsize_t = X__darwin_size_t /* _rsize_t.h:31:32 */ 5882 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 5883 // 5884 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5885 // 5886 // This file contains Original Code and/or Modifications of Original Code 5887 // as defined in and that are subject to the Apple Public Source License 5888 // Version 2.0 (the 'License'). You may not use this file except in 5889 // compliance with the License. The rights granted to you under the License 5890 // may not be used to create, or enable the creation or redistribution of, 5891 // unlawful or unlicensed copies of an Apple operating system, or to 5892 // circumvent, violate, or enable the circumvention or violation of, any 5893 // terms of an Apple operating system software license agreement. 5894 // 5895 // Please obtain a copy of the License at 5896 // http://www.opensource.apple.com/apsl/ and read it before using this file. 5897 // 5898 // The Original Code and all software distributed under the License are 5899 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 5900 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 5901 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 5902 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 5903 // Please see the License for the specific language governing rights and 5904 // limitations under the License. 5905 // 5906 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 5907 type Errno_t = int32 /* _errno_t.h:30:32 */ 5908 5909 // This code is present here in order to maintain historical backward 5910 // compatability, and is intended to be removed at some point in the 5911 // future; please include <sys/select.h> instead. 5912 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 5913 // 5914 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5915 // 5916 // This file contains Original Code and/or Modifications of Original Code 5917 // as defined in and that are subject to the Apple Public Source License 5918 // Version 2.0 (the 'License'). You may not use this file except in 5919 // compliance with the License. The rights granted to you under the License 5920 // may not be used to create, or enable the creation or redistribution of, 5921 // unlawful or unlicensed copies of an Apple operating system, or to 5922 // circumvent, violate, or enable the circumvention or violation of, any 5923 // terms of an Apple operating system software license agreement. 5924 // 5925 // Please obtain a copy of the License at 5926 // http://www.opensource.apple.com/apsl/ and read it before using this file. 5927 // 5928 // The Original Code and all software distributed under the License are 5929 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 5930 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 5931 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 5932 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 5933 // Please see the License for the specific language governing rights and 5934 // limitations under the License. 5935 // 5936 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 5937 5938 // Copyright (c) 2000-2007 Apple Inc. All rights reserved. 5939 // 5940 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5941 // 5942 // This file contains Original Code and/or Modifications of Original Code 5943 // as defined in and that are subject to the Apple Public Source License 5944 // Version 2.0 (the 'License'). You may not use this file except in 5945 // compliance with the License. The rights granted to you under the License 5946 // may not be used to create, or enable the creation or redistribution of, 5947 // unlawful or unlicensed copies of an Apple operating system, or to 5948 // circumvent, violate, or enable the circumvention or violation of, any 5949 // terms of an Apple operating system software license agreement. 5950 // 5951 // Please obtain a copy of the License at 5952 // http://www.opensource.apple.com/apsl/ and read it before using this file. 5953 // 5954 // The Original Code and all software distributed under the License are 5955 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 5956 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 5957 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 5958 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 5959 // Please see the License for the specific language governing rights and 5960 // limitations under the License. 5961 // 5962 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 5963 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 5964 // Copyright (c) 2007-2016 by Apple Inc.. All rights reserved. 5965 // 5966 // @APPLE_LICENSE_HEADER_START@ 5967 // 5968 // This file contains Original Code and/or Modifications of Original Code 5969 // as defined in and that are subject to the Apple Public Source License 5970 // Version 2.0 (the 'License'). You may not use this file except in 5971 // compliance with the License. Please obtain a copy of the License at 5972 // http://www.opensource.apple.com/apsl/ and read it before using this 5973 // file. 5974 // 5975 // The Original Code and all software distributed under the License are 5976 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 5977 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 5978 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 5979 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 5980 // Please see the License for the specific language governing rights and 5981 // limitations under the License. 5982 // 5983 // @APPLE_LICENSE_HEADER_END@ 5984 5985 // 5986 // These macros are for use in OS header files. They enable function prototypes 5987 // and Objective-C methods to be tagged with the OS version in which they 5988 // were first available; and, if applicable, the OS version in which they 5989 // became deprecated. 5990 // 5991 // The desktop Mac OS X and iOS each have different version numbers. 5992 // The __OSX_AVAILABLE_STARTING() macro allows you to specify both the desktop 5993 // and iOS version numbers. For instance: 5994 // __OSX_AVAILABLE_STARTING(__MAC_10_2,__IPHONE_2_0) 5995 // means the function/method was first available on Mac OS X 10.2 on the desktop 5996 // and first available in iOS 2.0 on the iPhone. 5997 // 5998 // If a function is available on one platform, but not the other a _NA (not 5999 // applicable) parameter is used. For instance: 6000 // __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_NA) 6001 // means that the function/method was first available on Mac OS X 10.3, and it 6002 // currently not implemented on the iPhone. 6003 // 6004 // At some point, a function/method may be deprecated. That means Apple 6005 // recommends applications stop using the function, either because there is a 6006 // better replacement or the functionality is being phased out. Deprecated 6007 // functions/methods can be tagged with a __OSX_AVAILABLE_BUT_DEPRECATED() 6008 // macro which specifies the OS version where the function became available 6009 // as well as the OS version in which it became deprecated. For instance: 6010 // __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0,__MAC_10_5,__IPHONE_NA,__IPHONE_NA) 6011 // means that the function/method was introduced in Mac OS X 10.0, then 6012 // became deprecated beginning in Mac OS X 10.5. On iOS the function 6013 // has never been available. 6014 // 6015 // For these macros to function properly, a program must specify the OS version range 6016 // it is targeting. The min OS version is specified as an option to the compiler: 6017 // -mmacosx-version-min=10.x when building for Mac OS X, and -miphoneos-version-min=y.z 6018 // when building for the iPhone. The upper bound for the OS version is rarely needed, 6019 // but it can be set on the command line via: -D__MAC_OS_X_VERSION_MAX_ALLOWED=10x0 for 6020 // Mac OS X and __IPHONE_OS_VERSION_MAX_ALLOWED = y0z00 for iOS. 6021 // 6022 // Examples: 6023 // 6024 // A function available in Mac OS X 10.5 and later, but not on the phone: 6025 // 6026 // extern void mymacfunc() __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 6027 // 6028 // 6029 // An Objective-C method in Mac OS X 10.5 and later, but not on the phone: 6030 // 6031 // @interface MyClass : NSObject 6032 // -(void) mymacmethod __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 6033 // @end 6034 // 6035 // 6036 // An enum available on the phone, but not available on Mac OS X: 6037 // 6038 // #if __IPHONE_OS_VERSION_MIN_REQUIRED 6039 // enum { myEnum = 1 }; 6040 // #endif 6041 // Note: this works when targeting the Mac OS X platform because 6042 // __IPHONE_OS_VERSION_MIN_REQUIRED is undefined which evaluates to zero. 6043 // 6044 // 6045 // An enum with values added in different iPhoneOS versions: 6046 // 6047 // enum { 6048 // myX = 1, // Usable on iPhoneOS 2.1 and later 6049 // myY = 2, // Usable on iPhoneOS 3.0 and later 6050 // myZ = 3, // Usable on iPhoneOS 3.0 and later 6051 // ... 6052 // Note: you do not want to use #if with enumeration values 6053 // when a client needs to see all values at compile time 6054 // and use runtime logic to only use the viable values. 6055 // 6056 // 6057 // It is also possible to use the *_VERSION_MIN_REQUIRED in source code to make one 6058 // source base that can be compiled to target a range of OS versions. It is best 6059 // to not use the _MAC_* and __IPHONE_* macros for comparisons, but rather their values. 6060 // That is because you might get compiled on an old OS that does not define a later 6061 // OS version macro, and in the C preprocessor undefined values evaluate to zero 6062 // in expresssions, which could cause the #if expression to evaluate in an unexpected 6063 // way. 6064 // 6065 // #ifdef __MAC_OS_X_VERSION_MIN_REQUIRED 6066 // // code only compiled when targeting Mac OS X and not iPhone 6067 // // note use of 1050 instead of __MAC_10_5 6068 // #if __MAC_OS_X_VERSION_MIN_REQUIRED < 1050 6069 // // code in here might run on pre-Leopard OS 6070 // #else 6071 // // code here can assume Leopard or later 6072 // #endif 6073 // #endif 6074 // 6075 // 6076 6077 // __API_TO_BE_DEPRECATED is used as a version number in API that will be deprecated 6078 // in an upcoming release. This soft deprecation is an intermediate step before formal 6079 // deprecation to notify developers about the API before compiler warnings are generated. 6080 // You can find all places in your code that use soft deprecated API by redefining the 6081 // value of this macro to your current minimum deployment target, for example: 6082 // (macOS) 6083 // clang -D__API_TO_BE_DEPRECATED=10.12 <other compiler flags> 6084 // (iOS) 6085 // clang -D__API_TO_BE_DEPRECATED=11.0 <other compiler flags> 6086 6087 // Copyright (c) 2019 by Apple Inc.. All rights reserved. 6088 // 6089 // @APPLE_LICENSE_HEADER_START@ 6090 // 6091 // This file contains Original Code and/or Modifications of Original Code 6092 // as defined in and that are subject to the Apple Public Source License 6093 // Version 2.0 (the 'License'). You may not use this file except in 6094 // compliance with the License. Please obtain a copy of the License at 6095 // http://www.opensource.apple.com/apsl/ and read it before using this 6096 // file. 6097 // 6098 // The Original Code and all software distributed under the License are 6099 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 6100 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 6101 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 6102 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 6103 // Please see the License for the specific language governing rights and 6104 // limitations under the License. 6105 // 6106 // @APPLE_LICENSE_HEADER_END@ 6107 6108 // __MAC_NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable 6109 6110 // __IPHONE_NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable 6111 6112 // Set up standard Mac OS X versions 6113 6114 // DO NOT EDIT THIS FILE. 6115 // 6116 // It has been auto-edited by fixincludes from: 6117 // 6118 // "/Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk/usr/include/AvailabilityInternal.h" 6119 // 6120 // This had to be done to correct non-standard usages in the 6121 // original, manufacturer supplied header file. 6122 6123 // Copyright (c) 2007-2016 by Apple Inc.. All rights reserved. 6124 // 6125 // @APPLE_LICENSE_HEADER_START@ 6126 // 6127 // This file contains Original Code and/or Modifications of Original Code 6128 // as defined in and that are subject to the Apple Public Source License 6129 // Version 2.0 (the 'License'). You may not use this file except in 6130 // compliance with the License. Please obtain a copy of the License at 6131 // http://www.opensource.apple.com/apsl/ and read it before using this 6132 // file. 6133 // 6134 // The Original Code and all software distributed under the License are 6135 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 6136 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 6137 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 6138 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 6139 // Please see the License for the specific language governing rights and 6140 // limitations under the License. 6141 // 6142 // @APPLE_LICENSE_HEADER_END@ 6143 6144 // 6145 // File: AvailabilityInternal.h 6146 // 6147 // Contains: implementation details of __OSX_AVAILABLE_* macros from <Availability.h> 6148 // 6149 6150 // compiler for Mac OS X sets __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ 6151 6152 // make sure a default max version is set 6153 6154 // 6155 // Macros for defining which versions/platform a given symbol can be used. 6156 // 6157 // @see http://clang.llvm.org/docs/AttributeReference.html#availability 6158 // 6159 6160 // Evaluate to nothing for compilers that don't support availability. 6161 6162 // Swift compiler version 6163 // Allows for project-agnostic "epochs" for frameworks imported into Swift via the Clang importer, like #if _compiler_version for Swift 6164 // Example: 6165 // 6166 // #if __swift_compiler_version_at_least(800, 2, 20) 6167 // - (nonnull NSString *)description; 6168 // #else 6169 // - (NSString *)description; 6170 // #endif 6171 6172 // If __SPI_AVAILABLE has not been defined elsewhere, disable it. 6173 6174 // for use to document app extension usage 6175 6176 // for use marking APIs available info for Mac OSX 6177 6178 // for use marking APIs available info for iOS 6179 6180 // for use marking APIs available info for tvOS 6181 6182 // for use marking APIs available info for Watch OS 6183 6184 // for use marking APIs unavailable for swift 6185 6186 // 6187 // Macros for defining which versions/platform a given symbol can be used. 6188 // 6189 // @see http://clang.llvm.org/docs/AttributeReference.html#availability 6190 // 6191 // * Note that these macros are only compatible with clang compilers that 6192 // * support the following target selection options: 6193 // * 6194 // * -mmacosx-version-min 6195 // * -miphoneos-version-min 6196 // * -mwatchos-version-min 6197 // * -mtvos-version-min 6198 // 6199 6200 // Evaluate to nothing for compilers that don't support availability. 6201 6202 // If SPI decorations have not been defined elsewhere, disable them. 6203 6204 // Select uses bit masks of file descriptors in longs. These macros 6205 // manipulate such bit fields (the filesystem macros use chars). The 6206 // extra protection here is to permit application redefinition above 6207 // the default size. 6208 6209 type Fd_set1 = struct{ Ffds_bits [32]X__int32_t } /* _fd_def.h:50:9 */ 6210 6211 // This code is present here in order to maintain historical backward 6212 // compatability, and is intended to be removed at some point in the 6213 // future; please include <sys/select.h> instead. 6214 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 6215 // 6216 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 6217 // 6218 // This file contains Original Code and/or Modifications of Original Code 6219 // as defined in and that are subject to the Apple Public Source License 6220 // Version 2.0 (the 'License'). You may not use this file except in 6221 // compliance with the License. The rights granted to you under the License 6222 // may not be used to create, or enable the creation or redistribution of, 6223 // unlawful or unlicensed copies of an Apple operating system, or to 6224 // circumvent, violate, or enable the circumvention or violation of, any 6225 // terms of an Apple operating system software license agreement. 6226 // 6227 // Please obtain a copy of the License at 6228 // http://www.opensource.apple.com/apsl/ and read it before using this file. 6229 // 6230 // The Original Code and all software distributed under the License are 6231 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 6232 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 6233 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 6234 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 6235 // Please see the License for the specific language governing rights and 6236 // limitations under the License. 6237 // 6238 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 6239 6240 // Copyright (c) 2000-2007 Apple Inc. All rights reserved. 6241 // 6242 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 6243 // 6244 // This file contains Original Code and/or Modifications of Original Code 6245 // as defined in and that are subject to the Apple Public Source License 6246 // Version 2.0 (the 'License'). You may not use this file except in 6247 // compliance with the License. The rights granted to you under the License 6248 // may not be used to create, or enable the creation or redistribution of, 6249 // unlawful or unlicensed copies of an Apple operating system, or to 6250 // circumvent, violate, or enable the circumvention or violation of, any 6251 // terms of an Apple operating system software license agreement. 6252 // 6253 // Please obtain a copy of the License at 6254 // http://www.opensource.apple.com/apsl/ and read it before using this file. 6255 // 6256 // The Original Code and all software distributed under the License are 6257 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 6258 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 6259 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 6260 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 6261 // Please see the License for the specific language governing rights and 6262 // limitations under the License. 6263 // 6264 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 6265 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 6266 // Copyright (c) 2007-2016 by Apple Inc.. All rights reserved. 6267 // 6268 // @APPLE_LICENSE_HEADER_START@ 6269 // 6270 // This file contains Original Code and/or Modifications of Original Code 6271 // as defined in and that are subject to the Apple Public Source License 6272 // Version 2.0 (the 'License'). You may not use this file except in 6273 // compliance with the License. Please obtain a copy of the License at 6274 // http://www.opensource.apple.com/apsl/ and read it before using this 6275 // file. 6276 // 6277 // The Original Code and all software distributed under the License are 6278 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 6279 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 6280 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 6281 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 6282 // Please see the License for the specific language governing rights and 6283 // limitations under the License. 6284 // 6285 // @APPLE_LICENSE_HEADER_END@ 6286 6287 // 6288 // These macros are for use in OS header files. They enable function prototypes 6289 // and Objective-C methods to be tagged with the OS version in which they 6290 // were first available; and, if applicable, the OS version in which they 6291 // became deprecated. 6292 // 6293 // The desktop Mac OS X and iOS each have different version numbers. 6294 // The __OSX_AVAILABLE_STARTING() macro allows you to specify both the desktop 6295 // and iOS version numbers. For instance: 6296 // __OSX_AVAILABLE_STARTING(__MAC_10_2,__IPHONE_2_0) 6297 // means the function/method was first available on Mac OS X 10.2 on the desktop 6298 // and first available in iOS 2.0 on the iPhone. 6299 // 6300 // If a function is available on one platform, but not the other a _NA (not 6301 // applicable) parameter is used. For instance: 6302 // __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_NA) 6303 // means that the function/method was first available on Mac OS X 10.3, and it 6304 // currently not implemented on the iPhone. 6305 // 6306 // At some point, a function/method may be deprecated. That means Apple 6307 // recommends applications stop using the function, either because there is a 6308 // better replacement or the functionality is being phased out. Deprecated 6309 // functions/methods can be tagged with a __OSX_AVAILABLE_BUT_DEPRECATED() 6310 // macro which specifies the OS version where the function became available 6311 // as well as the OS version in which it became deprecated. For instance: 6312 // __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0,__MAC_10_5,__IPHONE_NA,__IPHONE_NA) 6313 // means that the function/method was introduced in Mac OS X 10.0, then 6314 // became deprecated beginning in Mac OS X 10.5. On iOS the function 6315 // has never been available. 6316 // 6317 // For these macros to function properly, a program must specify the OS version range 6318 // it is targeting. The min OS version is specified as an option to the compiler: 6319 // -mmacosx-version-min=10.x when building for Mac OS X, and -miphoneos-version-min=y.z 6320 // when building for the iPhone. The upper bound for the OS version is rarely needed, 6321 // but it can be set on the command line via: -D__MAC_OS_X_VERSION_MAX_ALLOWED=10x0 for 6322 // Mac OS X and __IPHONE_OS_VERSION_MAX_ALLOWED = y0z00 for iOS. 6323 // 6324 // Examples: 6325 // 6326 // A function available in Mac OS X 10.5 and later, but not on the phone: 6327 // 6328 // extern void mymacfunc() __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 6329 // 6330 // 6331 // An Objective-C method in Mac OS X 10.5 and later, but not on the phone: 6332 // 6333 // @interface MyClass : NSObject 6334 // -(void) mymacmethod __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 6335 // @end 6336 // 6337 // 6338 // An enum available on the phone, but not available on Mac OS X: 6339 // 6340 // #if __IPHONE_OS_VERSION_MIN_REQUIRED 6341 // enum { myEnum = 1 }; 6342 // #endif 6343 // Note: this works when targeting the Mac OS X platform because 6344 // __IPHONE_OS_VERSION_MIN_REQUIRED is undefined which evaluates to zero. 6345 // 6346 // 6347 // An enum with values added in different iPhoneOS versions: 6348 // 6349 // enum { 6350 // myX = 1, // Usable on iPhoneOS 2.1 and later 6351 // myY = 2, // Usable on iPhoneOS 3.0 and later 6352 // myZ = 3, // Usable on iPhoneOS 3.0 and later 6353 // ... 6354 // Note: you do not want to use #if with enumeration values 6355 // when a client needs to see all values at compile time 6356 // and use runtime logic to only use the viable values. 6357 // 6358 // 6359 // It is also possible to use the *_VERSION_MIN_REQUIRED in source code to make one 6360 // source base that can be compiled to target a range of OS versions. It is best 6361 // to not use the _MAC_* and __IPHONE_* macros for comparisons, but rather their values. 6362 // That is because you might get compiled on an old OS that does not define a later 6363 // OS version macro, and in the C preprocessor undefined values evaluate to zero 6364 // in expresssions, which could cause the #if expression to evaluate in an unexpected 6365 // way. 6366 // 6367 // #ifdef __MAC_OS_X_VERSION_MIN_REQUIRED 6368 // // code only compiled when targeting Mac OS X and not iPhone 6369 // // note use of 1050 instead of __MAC_10_5 6370 // #if __MAC_OS_X_VERSION_MIN_REQUIRED < 1050 6371 // // code in here might run on pre-Leopard OS 6372 // #else 6373 // // code here can assume Leopard or later 6374 // #endif 6375 // #endif 6376 // 6377 // 6378 6379 // __API_TO_BE_DEPRECATED is used as a version number in API that will be deprecated 6380 // in an upcoming release. This soft deprecation is an intermediate step before formal 6381 // deprecation to notify developers about the API before compiler warnings are generated. 6382 // You can find all places in your code that use soft deprecated API by redefining the 6383 // value of this macro to your current minimum deployment target, for example: 6384 // (macOS) 6385 // clang -D__API_TO_BE_DEPRECATED=10.12 <other compiler flags> 6386 // (iOS) 6387 // clang -D__API_TO_BE_DEPRECATED=11.0 <other compiler flags> 6388 6389 // Copyright (c) 2019 by Apple Inc.. All rights reserved. 6390 // 6391 // @APPLE_LICENSE_HEADER_START@ 6392 // 6393 // This file contains Original Code and/or Modifications of Original Code 6394 // as defined in and that are subject to the Apple Public Source License 6395 // Version 2.0 (the 'License'). You may not use this file except in 6396 // compliance with the License. Please obtain a copy of the License at 6397 // http://www.opensource.apple.com/apsl/ and read it before using this 6398 // file. 6399 // 6400 // The Original Code and all software distributed under the License are 6401 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 6402 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 6403 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 6404 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 6405 // Please see the License for the specific language governing rights and 6406 // limitations under the License. 6407 // 6408 // @APPLE_LICENSE_HEADER_END@ 6409 6410 // __MAC_NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable 6411 6412 // __IPHONE_NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable 6413 6414 // Set up standard Mac OS X versions 6415 6416 // DO NOT EDIT THIS FILE. 6417 // 6418 // It has been auto-edited by fixincludes from: 6419 // 6420 // "/Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk/usr/include/AvailabilityInternal.h" 6421 // 6422 // This had to be done to correct non-standard usages in the 6423 // original, manufacturer supplied header file. 6424 6425 // Copyright (c) 2007-2016 by Apple Inc.. All rights reserved. 6426 // 6427 // @APPLE_LICENSE_HEADER_START@ 6428 // 6429 // This file contains Original Code and/or Modifications of Original Code 6430 // as defined in and that are subject to the Apple Public Source License 6431 // Version 2.0 (the 'License'). You may not use this file except in 6432 // compliance with the License. Please obtain a copy of the License at 6433 // http://www.opensource.apple.com/apsl/ and read it before using this 6434 // file. 6435 // 6436 // The Original Code and all software distributed under the License are 6437 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 6438 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 6439 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 6440 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 6441 // Please see the License for the specific language governing rights and 6442 // limitations under the License. 6443 // 6444 // @APPLE_LICENSE_HEADER_END@ 6445 6446 // 6447 // File: AvailabilityInternal.h 6448 // 6449 // Contains: implementation details of __OSX_AVAILABLE_* macros from <Availability.h> 6450 // 6451 6452 // compiler for Mac OS X sets __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ 6453 6454 // make sure a default max version is set 6455 6456 // 6457 // Macros for defining which versions/platform a given symbol can be used. 6458 // 6459 // @see http://clang.llvm.org/docs/AttributeReference.html#availability 6460 // 6461 6462 // Evaluate to nothing for compilers that don't support availability. 6463 6464 // Swift compiler version 6465 // Allows for project-agnostic "epochs" for frameworks imported into Swift via the Clang importer, like #if _compiler_version for Swift 6466 // Example: 6467 // 6468 // #if __swift_compiler_version_at_least(800, 2, 20) 6469 // - (nonnull NSString *)description; 6470 // #else 6471 // - (NSString *)description; 6472 // #endif 6473 6474 // If __SPI_AVAILABLE has not been defined elsewhere, disable it. 6475 6476 // for use to document app extension usage 6477 6478 // for use marking APIs available info for Mac OSX 6479 6480 // for use marking APIs available info for iOS 6481 6482 // for use marking APIs available info for tvOS 6483 6484 // for use marking APIs available info for Watch OS 6485 6486 // for use marking APIs unavailable for swift 6487 6488 // 6489 // Macros for defining which versions/platform a given symbol can be used. 6490 // 6491 // @see http://clang.llvm.org/docs/AttributeReference.html#availability 6492 // 6493 // * Note that these macros are only compatible with clang compilers that 6494 // * support the following target selection options: 6495 // * 6496 // * -mmacosx-version-min 6497 // * -miphoneos-version-min 6498 // * -mwatchos-version-min 6499 // * -mtvos-version-min 6500 // 6501 6502 // Evaluate to nothing for compilers that don't support availability. 6503 6504 // If SPI decorations have not been defined elsewhere, disable them. 6505 6506 // Select uses bit masks of file descriptors in longs. These macros 6507 // manipulate such bit fields (the filesystem macros use chars). The 6508 // extra protection here is to permit application redefinition above 6509 // the default size. 6510 6511 type Fd_set = Fd_set1 /* _fd_def.h:52:3 */ 6512 6513 // Use the built-in bzero function instead of the library version so that 6514 // we do not pollute the namespace or introduce prototype warnings. 6515 6516 type Fd_mask = X__int32_t /* types.h:189:25 */ 6517 6518 // Select uses bit masks of file descriptors in longs. These macros 6519 // manipulate such bit fields (the filesystem macros use chars). The 6520 // extra protection here is to permit application redefinition above 6521 // the default size. 6522 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 6523 // 6524 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 6525 // 6526 // This file contains Original Code and/or Modifications of Original Code 6527 // as defined in and that are subject to the Apple Public Source License 6528 // Version 2.0 (the 'License'). You may not use this file except in 6529 // compliance with the License. The rights granted to you under the License 6530 // may not be used to create, or enable the creation or redistribution of, 6531 // unlawful or unlicensed copies of an Apple operating system, or to 6532 // circumvent, violate, or enable the circumvention or violation of, any 6533 // terms of an Apple operating system software license agreement. 6534 // 6535 // Please obtain a copy of the License at 6536 // http://www.opensource.apple.com/apsl/ and read it before using this file. 6537 // 6538 // The Original Code and all software distributed under the License are 6539 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 6540 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 6541 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 6542 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 6543 // Please see the License for the specific language governing rights and 6544 // limitations under the License. 6545 // 6546 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 6547 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 6548 // 6549 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 6550 // 6551 // This file contains Original Code and/or Modifications of Original Code 6552 // as defined in and that are subject to the Apple Public Source License 6553 // Version 2.0 (the 'License'). You may not use this file except in 6554 // compliance with the License. The rights granted to you under the License 6555 // may not be used to create, or enable the creation or redistribution of, 6556 // unlawful or unlicensed copies of an Apple operating system, or to 6557 // circumvent, violate, or enable the circumvention or violation of, any 6558 // terms of an Apple operating system software license agreement. 6559 // 6560 // Please obtain a copy of the License at 6561 // http://www.opensource.apple.com/apsl/ and read it before using this file. 6562 // 6563 // The Original Code and all software distributed under the License are 6564 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 6565 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 6566 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 6567 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 6568 // Please see the License for the specific language governing rights and 6569 // limitations under the License. 6570 // 6571 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 6572 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 6573 // 6574 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 6575 // 6576 // This file contains Original Code and/or Modifications of Original Code 6577 // as defined in and that are subject to the Apple Public Source License 6578 // Version 2.0 (the 'License'). You may not use this file except in 6579 // compliance with the License. The rights granted to you under the License 6580 // may not be used to create, or enable the creation or redistribution of, 6581 // unlawful or unlicensed copies of an Apple operating system, or to 6582 // circumvent, violate, or enable the circumvention or violation of, any 6583 // terms of an Apple operating system software license agreement. 6584 // 6585 // Please obtain a copy of the License at 6586 // http://www.opensource.apple.com/apsl/ and read it before using this file. 6587 // 6588 // The Original Code and all software distributed under the License are 6589 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 6590 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 6591 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 6592 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 6593 // Please see the License for the specific language governing rights and 6594 // limitations under the License. 6595 // 6596 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 6597 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 6598 // 6599 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 6600 // 6601 // This file contains Original Code and/or Modifications of Original Code 6602 // as defined in and that are subject to the Apple Public Source License 6603 // Version 2.0 (the 'License'). You may not use this file except in 6604 // compliance with the License. The rights granted to you under the License 6605 // may not be used to create, or enable the creation or redistribution of, 6606 // unlawful or unlicensed copies of an Apple operating system, or to 6607 // circumvent, violate, or enable the circumvention or violation of, any 6608 // terms of an Apple operating system software license agreement. 6609 // 6610 // Please obtain a copy of the License at 6611 // http://www.opensource.apple.com/apsl/ and read it before using this file. 6612 // 6613 // The Original Code and all software distributed under the License are 6614 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 6615 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 6616 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 6617 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 6618 // Please see the License for the specific language governing rights and 6619 // limitations under the License. 6620 // 6621 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 6622 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 6623 // 6624 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 6625 // 6626 // This file contains Original Code and/or Modifications of Original Code 6627 // as defined in and that are subject to the Apple Public Source License 6628 // Version 2.0 (the 'License'). You may not use this file except in 6629 // compliance with the License. The rights granted to you under the License 6630 // may not be used to create, or enable the creation or redistribution of, 6631 // unlawful or unlicensed copies of an Apple operating system, or to 6632 // circumvent, violate, or enable the circumvention or violation of, any 6633 // terms of an Apple operating system software license agreement. 6634 // 6635 // Please obtain a copy of the License at 6636 // http://www.opensource.apple.com/apsl/ and read it before using this file. 6637 // 6638 // The Original Code and all software distributed under the License are 6639 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 6640 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 6641 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 6642 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 6643 // Please see the License for the specific language governing rights and 6644 // limitations under the License. 6645 // 6646 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 6647 6648 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 6649 // 6650 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 6651 // 6652 // This file contains Original Code and/or Modifications of Original Code 6653 // as defined in and that are subject to the Apple Public Source License 6654 // Version 2.0 (the 'License'). You may not use this file except in 6655 // compliance with the License. The rights granted to you under the License 6656 // may not be used to create, or enable the creation or redistribution of, 6657 // unlawful or unlicensed copies of an Apple operating system, or to 6658 // circumvent, violate, or enable the circumvention or violation of, any 6659 // terms of an Apple operating system software license agreement. 6660 // 6661 // Please obtain a copy of the License at 6662 // http://www.opensource.apple.com/apsl/ and read it before using this file. 6663 // 6664 // The Original Code and all software distributed under the License are 6665 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 6666 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 6667 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 6668 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 6669 // Please see the License for the specific language governing rights and 6670 // limitations under the License. 6671 // 6672 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 6673 6674 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 6675 // 6676 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 6677 // 6678 // This file contains Original Code and/or Modifications of Original Code 6679 // as defined in and that are subject to the Apple Public Source License 6680 // Version 2.0 (the 'License'). You may not use this file except in 6681 // compliance with the License. The rights granted to you under the License 6682 // may not be used to create, or enable the creation or redistribution of, 6683 // unlawful or unlicensed copies of an Apple operating system, or to 6684 // circumvent, violate, or enable the circumvention or violation of, any 6685 // terms of an Apple operating system software license agreement. 6686 // 6687 // Please obtain a copy of the License at 6688 // http://www.opensource.apple.com/apsl/ and read it before using this file. 6689 // 6690 // The Original Code and all software distributed under the License are 6691 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 6692 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 6693 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 6694 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 6695 // Please see the License for the specific language governing rights and 6696 // limitations under the License. 6697 // 6698 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 6699 // Copyright (c) 2003-2013 Apple Inc. All rights reserved. 6700 // 6701 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 6702 // 6703 // This file contains Original Code and/or Modifications of Original Code 6704 // as defined in and that are subject to the Apple Public Source License 6705 // Version 2.0 (the 'License'). You may not use this file except in 6706 // compliance with the License. The rights granted to you under the License 6707 // may not be used to create, or enable the creation or redistribution of, 6708 // unlawful or unlicensed copies of an Apple operating system, or to 6709 // circumvent, violate, or enable the circumvention or violation of, any 6710 // terms of an Apple operating system software license agreement. 6711 // 6712 // Please obtain a copy of the License at 6713 // http://www.opensource.apple.com/apsl/ and read it before using this file. 6714 // 6715 // The Original Code and all software distributed under the License are 6716 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 6717 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 6718 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 6719 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 6720 // Please see the License for the specific language governing rights and 6721 // limitations under the License. 6722 // 6723 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 6724 6725 type Pthread_attr_t = X__darwin_pthread_attr_t /* _pthread_attr_t.h:31:33 */ 6726 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 6727 // 6728 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 6729 // 6730 // This file contains Original Code and/or Modifications of Original Code 6731 // as defined in and that are subject to the Apple Public Source License 6732 // Version 2.0 (the 'License'). You may not use this file except in 6733 // compliance with the License. The rights granted to you under the License 6734 // may not be used to create, or enable the creation or redistribution of, 6735 // unlawful or unlicensed copies of an Apple operating system, or to 6736 // circumvent, violate, or enable the circumvention or violation of, any 6737 // terms of an Apple operating system software license agreement. 6738 // 6739 // Please obtain a copy of the License at 6740 // http://www.opensource.apple.com/apsl/ and read it before using this file. 6741 // 6742 // The Original Code and all software distributed under the License are 6743 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 6744 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 6745 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 6746 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 6747 // Please see the License for the specific language governing rights and 6748 // limitations under the License. 6749 // 6750 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 6751 // Copyright (c) 2003-2013 Apple Inc. All rights reserved. 6752 // 6753 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 6754 // 6755 // This file contains Original Code and/or Modifications of Original Code 6756 // as defined in and that are subject to the Apple Public Source License 6757 // Version 2.0 (the 'License'). You may not use this file except in 6758 // compliance with the License. The rights granted to you under the License 6759 // may not be used to create, or enable the creation or redistribution of, 6760 // unlawful or unlicensed copies of an Apple operating system, or to 6761 // circumvent, violate, or enable the circumvention or violation of, any 6762 // terms of an Apple operating system software license agreement. 6763 // 6764 // Please obtain a copy of the License at 6765 // http://www.opensource.apple.com/apsl/ and read it before using this file. 6766 // 6767 // The Original Code and all software distributed under the License are 6768 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 6769 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 6770 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 6771 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 6772 // Please see the License for the specific language governing rights and 6773 // limitations under the License. 6774 // 6775 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 6776 6777 type Pthread_cond_t = X__darwin_pthread_cond_t /* _pthread_cond_t.h:31:33 */ 6778 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 6779 // 6780 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 6781 // 6782 // This file contains Original Code and/or Modifications of Original Code 6783 // as defined in and that are subject to the Apple Public Source License 6784 // Version 2.0 (the 'License'). You may not use this file except in 6785 // compliance with the License. The rights granted to you under the License 6786 // may not be used to create, or enable the creation or redistribution of, 6787 // unlawful or unlicensed copies of an Apple operating system, or to 6788 // circumvent, violate, or enable the circumvention or violation of, any 6789 // terms of an Apple operating system software license agreement. 6790 // 6791 // Please obtain a copy of the License at 6792 // http://www.opensource.apple.com/apsl/ and read it before using this file. 6793 // 6794 // The Original Code and all software distributed under the License are 6795 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 6796 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 6797 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 6798 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 6799 // Please see the License for the specific language governing rights and 6800 // limitations under the License. 6801 // 6802 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 6803 // Copyright (c) 2003-2013 Apple Inc. All rights reserved. 6804 // 6805 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 6806 // 6807 // This file contains Original Code and/or Modifications of Original Code 6808 // as defined in and that are subject to the Apple Public Source License 6809 // Version 2.0 (the 'License'). You may not use this file except in 6810 // compliance with the License. The rights granted to you under the License 6811 // may not be used to create, or enable the creation or redistribution of, 6812 // unlawful or unlicensed copies of an Apple operating system, or to 6813 // circumvent, violate, or enable the circumvention or violation of, any 6814 // terms of an Apple operating system software license agreement. 6815 // 6816 // Please obtain a copy of the License at 6817 // http://www.opensource.apple.com/apsl/ and read it before using this file. 6818 // 6819 // The Original Code and all software distributed under the License are 6820 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 6821 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 6822 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 6823 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 6824 // Please see the License for the specific language governing rights and 6825 // limitations under the License. 6826 // 6827 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 6828 6829 type Pthread_condattr_t = X__darwin_pthread_condattr_t /* _pthread_condattr_t.h:31:37 */ 6830 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 6831 // 6832 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 6833 // 6834 // This file contains Original Code and/or Modifications of Original Code 6835 // as defined in and that are subject to the Apple Public Source License 6836 // Version 2.0 (the 'License'). You may not use this file except in 6837 // compliance with the License. The rights granted to you under the License 6838 // may not be used to create, or enable the creation or redistribution of, 6839 // unlawful or unlicensed copies of an Apple operating system, or to 6840 // circumvent, violate, or enable the circumvention or violation of, any 6841 // terms of an Apple operating system software license agreement. 6842 // 6843 // Please obtain a copy of the License at 6844 // http://www.opensource.apple.com/apsl/ and read it before using this file. 6845 // 6846 // The Original Code and all software distributed under the License are 6847 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 6848 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 6849 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 6850 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 6851 // Please see the License for the specific language governing rights and 6852 // limitations under the License. 6853 // 6854 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 6855 // Copyright (c) 2003-2013 Apple Inc. All rights reserved. 6856 // 6857 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 6858 // 6859 // This file contains Original Code and/or Modifications of Original Code 6860 // as defined in and that are subject to the Apple Public Source License 6861 // Version 2.0 (the 'License'). You may not use this file except in 6862 // compliance with the License. The rights granted to you under the License 6863 // may not be used to create, or enable the creation or redistribution of, 6864 // unlawful or unlicensed copies of an Apple operating system, or to 6865 // circumvent, violate, or enable the circumvention or violation of, any 6866 // terms of an Apple operating system software license agreement. 6867 // 6868 // Please obtain a copy of the License at 6869 // http://www.opensource.apple.com/apsl/ and read it before using this file. 6870 // 6871 // The Original Code and all software distributed under the License are 6872 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 6873 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 6874 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 6875 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 6876 // Please see the License for the specific language governing rights and 6877 // limitations under the License. 6878 // 6879 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 6880 6881 type Pthread_mutex_t = X__darwin_pthread_mutex_t /* _pthread_mutex_t.h:31:34 */ 6882 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 6883 // 6884 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 6885 // 6886 // This file contains Original Code and/or Modifications of Original Code 6887 // as defined in and that are subject to the Apple Public Source License 6888 // Version 2.0 (the 'License'). You may not use this file except in 6889 // compliance with the License. The rights granted to you under the License 6890 // may not be used to create, or enable the creation or redistribution of, 6891 // unlawful or unlicensed copies of an Apple operating system, or to 6892 // circumvent, violate, or enable the circumvention or violation of, any 6893 // terms of an Apple operating system software license agreement. 6894 // 6895 // Please obtain a copy of the License at 6896 // http://www.opensource.apple.com/apsl/ and read it before using this file. 6897 // 6898 // The Original Code and all software distributed under the License are 6899 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 6900 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 6901 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 6902 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 6903 // Please see the License for the specific language governing rights and 6904 // limitations under the License. 6905 // 6906 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 6907 // Copyright (c) 2003-2013 Apple Inc. All rights reserved. 6908 // 6909 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 6910 // 6911 // This file contains Original Code and/or Modifications of Original Code 6912 // as defined in and that are subject to the Apple Public Source License 6913 // Version 2.0 (the 'License'). You may not use this file except in 6914 // compliance with the License. The rights granted to you under the License 6915 // may not be used to create, or enable the creation or redistribution of, 6916 // unlawful or unlicensed copies of an Apple operating system, or to 6917 // circumvent, violate, or enable the circumvention or violation of, any 6918 // terms of an Apple operating system software license agreement. 6919 // 6920 // Please obtain a copy of the License at 6921 // http://www.opensource.apple.com/apsl/ and read it before using this file. 6922 // 6923 // The Original Code and all software distributed under the License are 6924 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 6925 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 6926 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 6927 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 6928 // Please see the License for the specific language governing rights and 6929 // limitations under the License. 6930 // 6931 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 6932 6933 type Pthread_mutexattr_t = X__darwin_pthread_mutexattr_t /* _pthread_mutexattr_t.h:31:38 */ 6934 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 6935 // 6936 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 6937 // 6938 // This file contains Original Code and/or Modifications of Original Code 6939 // as defined in and that are subject to the Apple Public Source License 6940 // Version 2.0 (the 'License'). You may not use this file except in 6941 // compliance with the License. The rights granted to you under the License 6942 // may not be used to create, or enable the creation or redistribution of, 6943 // unlawful or unlicensed copies of an Apple operating system, or to 6944 // circumvent, violate, or enable the circumvention or violation of, any 6945 // terms of an Apple operating system software license agreement. 6946 // 6947 // Please obtain a copy of the License at 6948 // http://www.opensource.apple.com/apsl/ and read it before using this file. 6949 // 6950 // The Original Code and all software distributed under the License are 6951 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 6952 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 6953 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 6954 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 6955 // Please see the License for the specific language governing rights and 6956 // limitations under the License. 6957 // 6958 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 6959 // Copyright (c) 2003-2013 Apple Inc. All rights reserved. 6960 // 6961 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 6962 // 6963 // This file contains Original Code and/or Modifications of Original Code 6964 // as defined in and that are subject to the Apple Public Source License 6965 // Version 2.0 (the 'License'). You may not use this file except in 6966 // compliance with the License. The rights granted to you under the License 6967 // may not be used to create, or enable the creation or redistribution of, 6968 // unlawful or unlicensed copies of an Apple operating system, or to 6969 // circumvent, violate, or enable the circumvention or violation of, any 6970 // terms of an Apple operating system software license agreement. 6971 // 6972 // Please obtain a copy of the License at 6973 // http://www.opensource.apple.com/apsl/ and read it before using this file. 6974 // 6975 // The Original Code and all software distributed under the License are 6976 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 6977 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 6978 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 6979 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 6980 // Please see the License for the specific language governing rights and 6981 // limitations under the License. 6982 // 6983 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 6984 6985 type Pthread_once_t = X__darwin_pthread_once_t /* _pthread_once_t.h:31:33 */ 6986 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 6987 // 6988 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 6989 // 6990 // This file contains Original Code and/or Modifications of Original Code 6991 // as defined in and that are subject to the Apple Public Source License 6992 // Version 2.0 (the 'License'). You may not use this file except in 6993 // compliance with the License. The rights granted to you under the License 6994 // may not be used to create, or enable the creation or redistribution of, 6995 // unlawful or unlicensed copies of an Apple operating system, or to 6996 // circumvent, violate, or enable the circumvention or violation of, any 6997 // terms of an Apple operating system software license agreement. 6998 // 6999 // Please obtain a copy of the License at 7000 // http://www.opensource.apple.com/apsl/ and read it before using this file. 7001 // 7002 // The Original Code and all software distributed under the License are 7003 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 7004 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 7005 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 7006 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 7007 // Please see the License for the specific language governing rights and 7008 // limitations under the License. 7009 // 7010 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 7011 // Copyright (c) 2003-2013 Apple Inc. All rights reserved. 7012 // 7013 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 7014 // 7015 // This file contains Original Code and/or Modifications of Original Code 7016 // as defined in and that are subject to the Apple Public Source License 7017 // Version 2.0 (the 'License'). You may not use this file except in 7018 // compliance with the License. The rights granted to you under the License 7019 // may not be used to create, or enable the creation or redistribution of, 7020 // unlawful or unlicensed copies of an Apple operating system, or to 7021 // circumvent, violate, or enable the circumvention or violation of, any 7022 // terms of an Apple operating system software license agreement. 7023 // 7024 // Please obtain a copy of the License at 7025 // http://www.opensource.apple.com/apsl/ and read it before using this file. 7026 // 7027 // The Original Code and all software distributed under the License are 7028 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 7029 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 7030 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 7031 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 7032 // Please see the License for the specific language governing rights and 7033 // limitations under the License. 7034 // 7035 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 7036 7037 type Pthread_rwlock_t = X__darwin_pthread_rwlock_t /* _pthread_rwlock_t.h:31:35 */ 7038 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 7039 // 7040 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 7041 // 7042 // This file contains Original Code and/or Modifications of Original Code 7043 // as defined in and that are subject to the Apple Public Source License 7044 // Version 2.0 (the 'License'). You may not use this file except in 7045 // compliance with the License. The rights granted to you under the License 7046 // may not be used to create, or enable the creation or redistribution of, 7047 // unlawful or unlicensed copies of an Apple operating system, or to 7048 // circumvent, violate, or enable the circumvention or violation of, any 7049 // terms of an Apple operating system software license agreement. 7050 // 7051 // Please obtain a copy of the License at 7052 // http://www.opensource.apple.com/apsl/ and read it before using this file. 7053 // 7054 // The Original Code and all software distributed under the License are 7055 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 7056 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 7057 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 7058 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 7059 // Please see the License for the specific language governing rights and 7060 // limitations under the License. 7061 // 7062 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 7063 // Copyright (c) 2003-2013 Apple Inc. All rights reserved. 7064 // 7065 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 7066 // 7067 // This file contains Original Code and/or Modifications of Original Code 7068 // as defined in and that are subject to the Apple Public Source License 7069 // Version 2.0 (the 'License'). You may not use this file except in 7070 // compliance with the License. The rights granted to you under the License 7071 // may not be used to create, or enable the creation or redistribution of, 7072 // unlawful or unlicensed copies of an Apple operating system, or to 7073 // circumvent, violate, or enable the circumvention or violation of, any 7074 // terms of an Apple operating system software license agreement. 7075 // 7076 // Please obtain a copy of the License at 7077 // http://www.opensource.apple.com/apsl/ and read it before using this file. 7078 // 7079 // The Original Code and all software distributed under the License are 7080 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 7081 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 7082 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 7083 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 7084 // Please see the License for the specific language governing rights and 7085 // limitations under the License. 7086 // 7087 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 7088 7089 type Pthread_rwlockattr_t = X__darwin_pthread_rwlockattr_t /* _pthread_rwlockattr_t.h:31:39 */ 7090 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 7091 // 7092 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 7093 // 7094 // This file contains Original Code and/or Modifications of Original Code 7095 // as defined in and that are subject to the Apple Public Source License 7096 // Version 2.0 (the 'License'). You may not use this file except in 7097 // compliance with the License. The rights granted to you under the License 7098 // may not be used to create, or enable the creation or redistribution of, 7099 // unlawful or unlicensed copies of an Apple operating system, or to 7100 // circumvent, violate, or enable the circumvention or violation of, any 7101 // terms of an Apple operating system software license agreement. 7102 // 7103 // Please obtain a copy of the License at 7104 // http://www.opensource.apple.com/apsl/ and read it before using this file. 7105 // 7106 // The Original Code and all software distributed under the License are 7107 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 7108 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 7109 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 7110 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 7111 // Please see the License for the specific language governing rights and 7112 // limitations under the License. 7113 // 7114 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 7115 // Copyright (c) 2003-2013 Apple Inc. All rights reserved. 7116 // 7117 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 7118 // 7119 // This file contains Original Code and/or Modifications of Original Code 7120 // as defined in and that are subject to the Apple Public Source License 7121 // Version 2.0 (the 'License'). You may not use this file except in 7122 // compliance with the License. The rights granted to you under the License 7123 // may not be used to create, or enable the creation or redistribution of, 7124 // unlawful or unlicensed copies of an Apple operating system, or to 7125 // circumvent, violate, or enable the circumvention or violation of, any 7126 // terms of an Apple operating system software license agreement. 7127 // 7128 // Please obtain a copy of the License at 7129 // http://www.opensource.apple.com/apsl/ and read it before using this file. 7130 // 7131 // The Original Code and all software distributed under the License are 7132 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 7133 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 7134 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 7135 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 7136 // Please see the License for the specific language governing rights and 7137 // limitations under the License. 7138 // 7139 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 7140 7141 type Pthread_t = X__darwin_pthread_t /* _pthread_t.h:31:28 */ 7142 7143 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 7144 // 7145 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 7146 // 7147 // This file contains Original Code and/or Modifications of Original Code 7148 // as defined in and that are subject to the Apple Public Source License 7149 // Version 2.0 (the 'License'). You may not use this file except in 7150 // compliance with the License. The rights granted to you under the License 7151 // may not be used to create, or enable the creation or redistribution of, 7152 // unlawful or unlicensed copies of an Apple operating system, or to 7153 // circumvent, violate, or enable the circumvention or violation of, any 7154 // terms of an Apple operating system software license agreement. 7155 // 7156 // Please obtain a copy of the License at 7157 // http://www.opensource.apple.com/apsl/ and read it before using this file. 7158 // 7159 // The Original Code and all software distributed under the License are 7160 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 7161 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 7162 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 7163 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 7164 // Please see the License for the specific language governing rights and 7165 // limitations under the License. 7166 // 7167 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 7168 // Copyright (c) 2003-2013 Apple Inc. All rights reserved. 7169 // 7170 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 7171 // 7172 // This file contains Original Code and/or Modifications of Original Code 7173 // as defined in and that are subject to the Apple Public Source License 7174 // Version 2.0 (the 'License'). You may not use this file except in 7175 // compliance with the License. The rights granted to you under the License 7176 // may not be used to create, or enable the creation or redistribution of, 7177 // unlawful or unlicensed copies of an Apple operating system, or to 7178 // circumvent, violate, or enable the circumvention or violation of, any 7179 // terms of an Apple operating system software license agreement. 7180 // 7181 // Please obtain a copy of the License at 7182 // http://www.opensource.apple.com/apsl/ and read it before using this file. 7183 // 7184 // The Original Code and all software distributed under the License are 7185 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 7186 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 7187 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 7188 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 7189 // Please see the License for the specific language governing rights and 7190 // limitations under the License. 7191 // 7192 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 7193 7194 type Pthread_key_t = X__darwin_pthread_key_t /* _pthread_key_t.h:31:32 */ 7195 7196 // statvfs and fstatvfs 7197 7198 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 7199 // 7200 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 7201 // 7202 // This file contains Original Code and/or Modifications of Original Code 7203 // as defined in and that are subject to the Apple Public Source License 7204 // Version 2.0 (the 'License'). You may not use this file except in 7205 // compliance with the License. The rights granted to you under the License 7206 // may not be used to create, or enable the creation or redistribution of, 7207 // unlawful or unlicensed copies of an Apple operating system, or to 7208 // circumvent, violate, or enable the circumvention or violation of, any 7209 // terms of an Apple operating system software license agreement. 7210 // 7211 // Please obtain a copy of the License at 7212 // http://www.opensource.apple.com/apsl/ and read it before using this file. 7213 // 7214 // The Original Code and all software distributed under the License are 7215 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 7216 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 7217 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 7218 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 7219 // Please see the License for the specific language governing rights and 7220 // limitations under the License. 7221 // 7222 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 7223 // Copyright (c) 2003-2007 Apple Inc. All rights reserved. 7224 // 7225 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 7226 // 7227 // This file contains Original Code and/or Modifications of Original Code 7228 // as defined in and that are subject to the Apple Public Source License 7229 // Version 2.0 (the 'License'). You may not use this file except in 7230 // compliance with the License. The rights granted to you under the License 7231 // may not be used to create, or enable the creation or redistribution of, 7232 // unlawful or unlicensed copies of an Apple operating system, or to 7233 // circumvent, violate, or enable the circumvention or violation of, any 7234 // terms of an Apple operating system software license agreement. 7235 // 7236 // Please obtain a copy of the License at 7237 // http://www.opensource.apple.com/apsl/ and read it before using this file. 7238 // 7239 // The Original Code and all software distributed under the License are 7240 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 7241 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 7242 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 7243 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 7244 // Please see the License for the specific language governing rights and 7245 // limitations under the License. 7246 // 7247 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 7248 7249 type Fsblkcnt_t = X__darwin_fsblkcnt_t /* _fsblkcnt_t.h:31:41 */ 7250 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 7251 // 7252 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 7253 // 7254 // This file contains Original Code and/or Modifications of Original Code 7255 // as defined in and that are subject to the Apple Public Source License 7256 // Version 2.0 (the 'License'). You may not use this file except in 7257 // compliance with the License. The rights granted to you under the License 7258 // may not be used to create, or enable the creation or redistribution of, 7259 // unlawful or unlicensed copies of an Apple operating system, or to 7260 // circumvent, violate, or enable the circumvention or violation of, any 7261 // terms of an Apple operating system software license agreement. 7262 // 7263 // Please obtain a copy of the License at 7264 // http://www.opensource.apple.com/apsl/ and read it before using this file. 7265 // 7266 // The Original Code and all software distributed under the License are 7267 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 7268 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 7269 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 7270 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 7271 // Please see the License for the specific language governing rights and 7272 // limitations under the License. 7273 // 7274 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 7275 // Copyright (c) 2003-2007 Apple Inc. All rights reserved. 7276 // 7277 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 7278 // 7279 // This file contains Original Code and/or Modifications of Original Code 7280 // as defined in and that are subject to the Apple Public Source License 7281 // Version 2.0 (the 'License'). You may not use this file except in 7282 // compliance with the License. The rights granted to you under the License 7283 // may not be used to create, or enable the creation or redistribution of, 7284 // unlawful or unlicensed copies of an Apple operating system, or to 7285 // circumvent, violate, or enable the circumvention or violation of, any 7286 // terms of an Apple operating system software license agreement. 7287 // 7288 // Please obtain a copy of the License at 7289 // http://www.opensource.apple.com/apsl/ and read it before using this file. 7290 // 7291 // The Original Code and all software distributed under the License are 7292 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 7293 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 7294 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 7295 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 7296 // Please see the License for the specific language governing rights and 7297 // limitations under the License. 7298 // 7299 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 7300 7301 type Fsfilcnt_t = X__darwin_fsfilcnt_t /* _fsfilcnt_t.h:31:41 */ 7302 7303 // Copyright (C) 1989-2021 Free Software Foundation, Inc. 7304 // 7305 // This file is part of GCC. 7306 // 7307 // GCC is free software; you can redistribute it and/or modify 7308 // it under the terms of the GNU General Public License as published by 7309 // the Free Software Foundation; either version 3, or (at your option) 7310 // any later version. 7311 // 7312 // GCC is distributed in the hope that it will be useful, 7313 // but WITHOUT ANY WARRANTY; without even the implied warranty of 7314 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 7315 // GNU General Public License for more details. 7316 // 7317 // Under Section 7 of GPL version 3, you are granted additional 7318 // permissions described in the GCC Runtime Library Exception, version 7319 // 3.1, as published by the Free Software Foundation. 7320 // 7321 // You should have received a copy of the GNU General Public License and 7322 // a copy of the GCC Runtime Library Exception along with this program; 7323 // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 7324 // <http://www.gnu.org/licenses/>. 7325 7326 // ISO C Standard: 7.15 Variable arguments <stdarg.h> 7327 7328 // Define __gnuc_va_list. 7329 7330 type X__gnuc_va_list = X__builtin_va_list /* stdarg.h:40:27 */ 7331 7332 // Define the standard macros for the user, 7333 // if this invocation was from the user program. 7334 7335 // Define va_list, if desired, from __gnuc_va_list. 7336 // We deliberately do not define va_list when called from 7337 // stdio.h, because ANSI C says that stdio.h is not supposed to define 7338 // va_list. stdio.h needs to have access to that data type, 7339 // but must not use that name. It should use the name __gnuc_va_list, 7340 // which is safe because it is reserved for the implementation. 7341 7342 // The macro _VA_LIST_ is the same thing used by this file in Ultrix. 7343 // But on BSD NET2 we must not test or define or undef it. 7344 // (Note that the comments in NET 2's ansi.h 7345 // are incorrect for _VA_LIST_--see stdio.h!) 7346 // The macro _VA_LIST_DEFINED is used in Windows NT 3.5 7347 // The macro _VA_LIST is used in SCO Unix 3.2. 7348 // The macro _VA_LIST_T_H is used in the Bull dpx2 7349 // The macro __va_list__ is used by BeOS. 7350 type Va_list = X__gnuc_va_list /* stdarg.h:99:24 */ 7351 7352 // a little trick to accommodate both "#define _LARGEFILE64_SOURCE" and 7353 // "#define _LARGEFILE64_SOURCE 1" as requesting 64-bit operations, (even 7354 // though the former does not conform to the LFS document), but considering 7355 // both "#undef _LARGEFILE64_SOURCE" and "#define _LARGEFILE64_SOURCE 0" as 7356 // equivalently requesting no 64-bit operations 7357 7358 // Copyright (c) 2000, 2002-2006, 2008-2010, 2012 Apple Inc. All rights reserved. 7359 // 7360 // @APPLE_LICENSE_HEADER_START@ 7361 // 7362 // This file contains Original Code and/or Modifications of Original Code 7363 // as defined in and that are subject to the Apple Public Source License 7364 // Version 2.0 (the 'License'). You may not use this file except in 7365 // compliance with the License. Please obtain a copy of the License at 7366 // http://www.opensource.apple.com/apsl/ and read it before using this 7367 // file. 7368 // 7369 // The Original Code and all software distributed under the License are 7370 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 7371 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 7372 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 7373 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 7374 // Please see the License for the specific language governing rights and 7375 // limitations under the License. 7376 // 7377 // @APPLE_LICENSE_HEADER_END@ 7378 // - 7379 // Copyright (c) 1998-1999 Apple Computer, Inc. All Rights Reserved 7380 // Copyright (c) 1991, 1993, 1994 7381 // The Regents of the University of California. All rights reserved. 7382 // 7383 // Redistribution and use in source and binary forms, with or without 7384 // modification, are permitted provided that the following conditions 7385 // are met: 7386 // 1. Redistributions of source code must retain the above copyright 7387 // notice, this list of conditions and the following disclaimer. 7388 // 2. Redistributions in binary form must reproduce the above copyright 7389 // notice, this list of conditions and the following disclaimer in the 7390 // documentation and/or other materials provided with the distribution. 7391 // 3. All advertising materials mentioning features or use of this software 7392 // must display the following acknowledgement: 7393 // This product includes software developed by the University of 7394 // California, Berkeley and its contributors. 7395 // 4. Neither the name of the University nor the names of its contributors 7396 // may be used to endorse or promote products derived from this software 7397 // without specific prior written permission. 7398 // 7399 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 7400 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 7401 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 7402 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 7403 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 7404 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 7405 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 7406 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 7407 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 7408 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 7409 // SUCH DAMAGE. 7410 // 7411 // @(#)unistd.h 8.12 (Berkeley) 4/27/95 7412 // 7413 // Copyright (c) 1998 Apple Compter, Inc. 7414 // All Rights Reserved 7415 7416 // History: 7417 // 7/14/99 EKN at Apple fixed getdirentriesattr from getdirentryattr 7418 // 3/26/98 CHW at Apple added real interface to searchfs call 7419 // 3/5/98 CHW at Apple added hfs semantic system calls headers 7420 7421 // Copyright (c) 2004, 2008, 2009 Apple Inc. All rights reserved. 7422 // 7423 // @APPLE_LICENSE_HEADER_START@ 7424 // 7425 // This file contains Original Code and/or Modifications of Original Code 7426 // as defined in and that are subject to the Apple Public Source License 7427 // Version 2.0 (the 'License'). You may not use this file except in 7428 // compliance with the License. Please obtain a copy of the License at 7429 // http://www.opensource.apple.com/apsl/ and read it before using this 7430 // file. 7431 // 7432 // The Original Code and all software distributed under the License are 7433 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 7434 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 7435 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 7436 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 7437 // Please see the License for the specific language governing rights and 7438 // limitations under the License. 7439 // 7440 // @APPLE_LICENSE_HEADER_END@ 7441 7442 // Copyright (c) 2003-2007 Apple Inc. All rights reserved. 7443 // 7444 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 7445 // 7446 // This file contains Original Code and/or Modifications of Original Code 7447 // as defined in and that are subject to the Apple Public Source License 7448 // Version 2.0 (the 'License'). You may not use this file except in 7449 // compliance with the License. The rights granted to you under the License 7450 // may not be used to create, or enable the creation or redistribution of, 7451 // unlawful or unlicensed copies of an Apple operating system, or to 7452 // circumvent, violate, or enable the circumvention or violation of, any 7453 // terms of an Apple operating system software license agreement. 7454 // 7455 // Please obtain a copy of the License at 7456 // http://www.opensource.apple.com/apsl/ and read it before using this file. 7457 // 7458 // The Original Code and all software distributed under the License are 7459 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 7460 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 7461 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 7462 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 7463 // Please see the License for the specific language governing rights and 7464 // limitations under the License. 7465 // 7466 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 7467 7468 // Copyright (c) 2003-2007 Apple Inc. All rights reserved. 7469 // 7470 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 7471 // 7472 // This file contains Original Code and/or Modifications of Original Code 7473 // as defined in and that are subject to the Apple Public Source License 7474 // Version 2.0 (the 'License'). You may not use this file except in 7475 // compliance with the License. The rights granted to you under the License 7476 // may not be used to create, or enable the creation or redistribution of, 7477 // unlawful or unlicensed copies of an Apple operating system, or to 7478 // circumvent, violate, or enable the circumvention or violation of, any 7479 // terms of an Apple operating system software license agreement. 7480 // 7481 // Please obtain a copy of the License at 7482 // http://www.opensource.apple.com/apsl/ and read it before using this file. 7483 // 7484 // The Original Code and all software distributed under the License are 7485 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 7486 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 7487 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 7488 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 7489 // Please see the License for the specific language governing rights and 7490 // limitations under the License. 7491 // 7492 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 7493 7494 type X__darwin_nl_item = int32 /* _types.h:40:14 */ 7495 type X__darwin_wctrans_t = int32 /* _types.h:41:14 */ 7496 type X__darwin_wctype_t = X__uint32_t /* _types.h:43:20 */ 7497 7498 // Copyright (c) 2000-2013 Apple Inc. All rights reserved. 7499 // 7500 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 7501 // 7502 // This file contains Original Code and/or Modifications of Original Code 7503 // as defined in and that are subject to the Apple Public Source License 7504 // Version 2.0 (the 'License'). You may not use this file except in 7505 // compliance with the License. The rights granted to you under the License 7506 // may not be used to create, or enable the creation or redistribution of, 7507 // unlawful or unlicensed copies of an Apple operating system, or to 7508 // circumvent, violate, or enable the circumvention or violation of, any 7509 // terms of an Apple operating system software license agreement. 7510 // 7511 // Please obtain a copy of the License at 7512 // http://www.opensource.apple.com/apsl/ and read it before using this file. 7513 // 7514 // The Original Code and all software distributed under the License are 7515 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 7516 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 7517 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 7518 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 7519 // Please see the License for the specific language governing rights and 7520 // limitations under the License. 7521 // 7522 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 7523 // Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved 7524 // Copyright (c) 1989, 1993 7525 // The Regents of the University of California. All rights reserved. 7526 // 7527 // Redistribution and use in source and binary forms, with or without 7528 // modification, are permitted provided that the following conditions 7529 // are met: 7530 // 1. Redistributions of source code must retain the above copyright 7531 // notice, this list of conditions and the following disclaimer. 7532 // 2. Redistributions in binary form must reproduce the above copyright 7533 // notice, this list of conditions and the following disclaimer in the 7534 // documentation and/or other materials provided with the distribution. 7535 // 3. All advertising materials mentioning features or use of this software 7536 // must display the following acknowledgement: 7537 // This product includes software developed by the University of 7538 // California, Berkeley and its contributors. 7539 // 4. Neither the name of the University nor the names of its contributors 7540 // may be used to endorse or promote products derived from this software 7541 // without specific prior written permission. 7542 // 7543 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 7544 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 7545 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 7546 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 7547 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 7548 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 7549 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 7550 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 7551 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 7552 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 7553 // SUCH DAMAGE. 7554 // 7555 // @(#)unistd.h 8.2 (Berkeley) 1/7/94 7556 7557 // Copyright (c) 2000-2018 Apple Inc. All rights reserved. 7558 // 7559 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 7560 // 7561 // This file contains Original Code and/or Modifications of Original Code 7562 // as defined in and that are subject to the Apple Public Source License 7563 // Version 2.0 (the 'License'). You may not use this file except in 7564 // compliance with the License. The rights granted to you under the License 7565 // may not be used to create, or enable the creation or redistribution of, 7566 // unlawful or unlicensed copies of an Apple operating system, or to 7567 // circumvent, violate, or enable the circumvention or violation of, any 7568 // terms of an Apple operating system software license agreement. 7569 // 7570 // Please obtain a copy of the License at 7571 // http://www.opensource.apple.com/apsl/ and read it before using this file. 7572 // 7573 // The Original Code and all software distributed under the License are 7574 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 7575 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 7576 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 7577 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 7578 // Please see the License for the specific language governing rights and 7579 // limitations under the License. 7580 // 7581 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 7582 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 7583 // Copyright (c) 1991, 1993 7584 // The Regents of the University of California. All rights reserved. 7585 // 7586 // This code is derived from software contributed to Berkeley by 7587 // Berkeley Software Design, Inc. 7588 // 7589 // Redistribution and use in source and binary forms, with or without 7590 // modification, are permitted provided that the following conditions 7591 // are met: 7592 // 1. Redistributions of source code must retain the above copyright 7593 // notice, this list of conditions and the following disclaimer. 7594 // 2. Redistributions in binary form must reproduce the above copyright 7595 // notice, this list of conditions and the following disclaimer in the 7596 // documentation and/or other materials provided with the distribution. 7597 // 3. All advertising materials mentioning features or use of this software 7598 // must display the following acknowledgement: 7599 // This product includes software developed by the University of 7600 // California, Berkeley and its contributors. 7601 // 4. Neither the name of the University nor the names of its contributors 7602 // may be used to endorse or promote products derived from this software 7603 // without specific prior written permission. 7604 // 7605 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 7606 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 7607 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 7608 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 7609 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 7610 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 7611 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 7612 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 7613 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 7614 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 7615 // SUCH DAMAGE. 7616 // 7617 // @(#)cdefs.h 8.8 (Berkeley) 1/9/95 7618 7619 // Although we have saved user/group IDs, we do not use them in setuid 7620 // as described in POSIX 1003.1, because the feature does not work for 7621 // root. We use the saved IDs in seteuid/setegid, which are not currently 7622 // part of the POSIX 1003.1 specification. 7623 7624 // execution-time symbolic constants 7625 // may disable terminal special characters 7626 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 7627 // 7628 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 7629 // 7630 // This file contains Original Code and/or Modifications of Original Code 7631 // as defined in and that are subject to the Apple Public Source License 7632 // Version 2.0 (the 'License'). You may not use this file except in 7633 // compliance with the License. The rights granted to you under the License 7634 // may not be used to create, or enable the creation or redistribution of, 7635 // unlawful or unlicensed copies of an Apple operating system, or to 7636 // circumvent, violate, or enable the circumvention or violation of, any 7637 // terms of an Apple operating system software license agreement. 7638 // 7639 // Please obtain a copy of the License at 7640 // http://www.opensource.apple.com/apsl/ and read it before using this file. 7641 // 7642 // The Original Code and all software distributed under the License are 7643 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 7644 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 7645 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 7646 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 7647 // Please see the License for the specific language governing rights and 7648 // limitations under the License. 7649 // 7650 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 7651 7652 // access function 7653 7654 // Extended access functions. 7655 // Note that we depend on these matching the definitions in sys/kauth.h, 7656 // but with the bits shifted left by 8. 7657 7658 // whence values for lseek(2) 7659 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 7660 // 7661 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 7662 // 7663 // This file contains Original Code and/or Modifications of Original Code 7664 // as defined in and that are subject to the Apple Public Source License 7665 // Version 2.0 (the 'License'). You may not use this file except in 7666 // compliance with the License. The rights granted to you under the License 7667 // may not be used to create, or enable the creation or redistribution of, 7668 // unlawful or unlicensed copies of an Apple operating system, or to 7669 // circumvent, violate, or enable the circumvention or violation of, any 7670 // terms of an Apple operating system software license agreement. 7671 // 7672 // Please obtain a copy of the License at 7673 // http://www.opensource.apple.com/apsl/ and read it before using this file. 7674 // 7675 // The Original Code and all software distributed under the License are 7676 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 7677 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 7678 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 7679 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 7680 // Please see the License for the specific language governing rights and 7681 // limitations under the License. 7682 // 7683 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 7684 7685 // Copyright (c) 2000-2018 Apple Inc. All rights reserved. 7686 // 7687 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 7688 // 7689 // This file contains Original Code and/or Modifications of Original Code 7690 // as defined in and that are subject to the Apple Public Source License 7691 // Version 2.0 (the 'License'). You may not use this file except in 7692 // compliance with the License. The rights granted to you under the License 7693 // may not be used to create, or enable the creation or redistribution of, 7694 // unlawful or unlicensed copies of an Apple operating system, or to 7695 // circumvent, violate, or enable the circumvention or violation of, any 7696 // terms of an Apple operating system software license agreement. 7697 // 7698 // Please obtain a copy of the License at 7699 // http://www.opensource.apple.com/apsl/ and read it before using this file. 7700 // 7701 // The Original Code and all software distributed under the License are 7702 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 7703 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 7704 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 7705 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 7706 // Please see the License for the specific language governing rights and 7707 // limitations under the License. 7708 // 7709 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 7710 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 7711 // Copyright (c) 1991, 1993 7712 // The Regents of the University of California. All rights reserved. 7713 // 7714 // This code is derived from software contributed to Berkeley by 7715 // Berkeley Software Design, Inc. 7716 // 7717 // Redistribution and use in source and binary forms, with or without 7718 // modification, are permitted provided that the following conditions 7719 // are met: 7720 // 1. Redistributions of source code must retain the above copyright 7721 // notice, this list of conditions and the following disclaimer. 7722 // 2. Redistributions in binary form must reproduce the above copyright 7723 // notice, this list of conditions and the following disclaimer in the 7724 // documentation and/or other materials provided with the distribution. 7725 // 3. All advertising materials mentioning features or use of this software 7726 // must display the following acknowledgement: 7727 // This product includes software developed by the University of 7728 // California, Berkeley and its contributors. 7729 // 4. Neither the name of the University nor the names of its contributors 7730 // may be used to endorse or promote products derived from this software 7731 // without specific prior written permission. 7732 // 7733 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 7734 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 7735 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 7736 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 7737 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 7738 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 7739 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 7740 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 7741 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 7742 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 7743 // SUCH DAMAGE. 7744 // 7745 // @(#)cdefs.h 8.8 (Berkeley) 1/9/95 7746 7747 // whence values for lseek(2) 7748 7749 // whence values for lseek(2); renamed by POSIX 1003.1 7750 7751 type Accessx_descriptor = struct { 7752 Fad_name_offset uint32 7753 Fad_flags int32 7754 Fad_pad [2]int32 7755 } /* unistd.h:132:1 */ 7756 7757 // Darwin extensions 7758 7759 // Copyright (c) 2000-2005 Apple Computer, Inc. All rights reserved. 7760 // 7761 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 7762 // 7763 // This file contains Original Code and/or Modifications of Original Code 7764 // as defined in and that are subject to the Apple Public Source License 7765 // Version 2.0 (the 'License'). You may not use this file except in 7766 // compliance with the License. The rights granted to you under the License 7767 // may not be used to create, or enable the creation or redistribution of, 7768 // unlawful or unlicensed copies of an Apple operating system, or to 7769 // circumvent, violate, or enable the circumvention or violation of, any 7770 // terms of an Apple operating system software license agreement. 7771 // 7772 // Please obtain a copy of the License at 7773 // http://www.opensource.apple.com/apsl/ and read it before using this file. 7774 // 7775 // The Original Code and all software distributed under the License are 7776 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 7777 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 7778 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 7779 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 7780 // Please see the License for the specific language governing rights and 7781 // limitations under the License. 7782 // 7783 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 7784 // Copyright (c) 1992, 1993 7785 // The Regents of the University of California. All rights reserved. 7786 // 7787 // Redistribution and use in source and binary forms, with or without 7788 // modification, are permitted provided that the following conditions 7789 // are met: 7790 // 1. Redistributions of source code must retain the above copyright 7791 // notice, this list of conditions and the following disclaimer. 7792 // 2. Redistributions in binary form must reproduce the above copyright 7793 // notice, this list of conditions and the following disclaimer in the 7794 // documentation and/or other materials provided with the distribution. 7795 // 3. All advertising materials mentioning features or use of this software 7796 // must display the following acknowledgement: 7797 // This product includes software developed by the University of 7798 // California, Berkeley and its contributors. 7799 // 4. Neither the name of the University nor the names of its contributors 7800 // may be used to endorse or promote products derived from this software 7801 // without specific prior written permission. 7802 // 7803 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 7804 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 7805 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 7806 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 7807 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 7808 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 7809 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 7810 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 7811 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 7812 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 7813 // SUCH DAMAGE. 7814 // 7815 // @(#)select.h 8.2 (Berkeley) 1/4/94 7816 7817 // Copyright (c) 2002 Apple Computer, Inc. All rights reserved. 7818 // 7819 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 7820 // 7821 // This file contains Original Code and/or Modifications of Original Code 7822 // as defined in and that are subject to the Apple Public Source License 7823 // Version 2.0 (the 'License'). You may not use this file except in 7824 // compliance with the License. The rights granted to you under the License 7825 // may not be used to create, or enable the creation or redistribution of, 7826 // unlawful or unlicensed copies of an Apple operating system, or to 7827 // circumvent, violate, or enable the circumvention or violation of, any 7828 // terms of an Apple operating system software license agreement. 7829 // 7830 // Please obtain a copy of the License at 7831 // http://www.opensource.apple.com/apsl/ and read it before using this file. 7832 // 7833 // The Original Code and all software distributed under the License are 7834 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 7835 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 7836 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 7837 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 7838 // Please see the License for the specific language governing rights and 7839 // limitations under the License. 7840 // 7841 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 7842 7843 // Copyright (c) 2000-2018 Apple Inc. All rights reserved. 7844 // 7845 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 7846 // 7847 // This file contains Original Code and/or Modifications of Original Code 7848 // as defined in and that are subject to the Apple Public Source License 7849 // Version 2.0 (the 'License'). You may not use this file except in 7850 // compliance with the License. The rights granted to you under the License 7851 // may not be used to create, or enable the creation or redistribution of, 7852 // unlawful or unlicensed copies of an Apple operating system, or to 7853 // circumvent, violate, or enable the circumvention or violation of, any 7854 // terms of an Apple operating system software license agreement. 7855 // 7856 // Please obtain a copy of the License at 7857 // http://www.opensource.apple.com/apsl/ and read it before using this file. 7858 // 7859 // The Original Code and all software distributed under the License are 7860 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 7861 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 7862 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 7863 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 7864 // Please see the License for the specific language governing rights and 7865 // limitations under the License. 7866 // 7867 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 7868 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 7869 // Copyright (c) 1991, 1993 7870 // The Regents of the University of California. All rights reserved. 7871 // 7872 // This code is derived from software contributed to Berkeley by 7873 // Berkeley Software Design, Inc. 7874 // 7875 // Redistribution and use in source and binary forms, with or without 7876 // modification, are permitted provided that the following conditions 7877 // are met: 7878 // 1. Redistributions of source code must retain the above copyright 7879 // notice, this list of conditions and the following disclaimer. 7880 // 2. Redistributions in binary form must reproduce the above copyright 7881 // notice, this list of conditions and the following disclaimer in the 7882 // documentation and/or other materials provided with the distribution. 7883 // 3. All advertising materials mentioning features or use of this software 7884 // must display the following acknowledgement: 7885 // This product includes software developed by the University of 7886 // California, Berkeley and its contributors. 7887 // 4. Neither the name of the University nor the names of its contributors 7888 // may be used to endorse or promote products derived from this software 7889 // without specific prior written permission. 7890 // 7891 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 7892 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 7893 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 7894 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 7895 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 7896 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 7897 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 7898 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 7899 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 7900 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 7901 // SUCH DAMAGE. 7902 // 7903 // @(#)cdefs.h 8.8 (Berkeley) 1/9/95 7904 7905 // Copyright (c) 2003-2007 Apple Inc. All rights reserved. 7906 // 7907 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 7908 // 7909 // This file contains Original Code and/or Modifications of Original Code 7910 // as defined in and that are subject to the Apple Public Source License 7911 // Version 2.0 (the 'License'). You may not use this file except in 7912 // compliance with the License. The rights granted to you under the License 7913 // may not be used to create, or enable the creation or redistribution of, 7914 // unlawful or unlicensed copies of an Apple operating system, or to 7915 // circumvent, violate, or enable the circumvention or violation of, any 7916 // terms of an Apple operating system software license agreement. 7917 // 7918 // Please obtain a copy of the License at 7919 // http://www.opensource.apple.com/apsl/ and read it before using this file. 7920 // 7921 // The Original Code and all software distributed under the License are 7922 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 7923 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 7924 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 7925 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 7926 // Please see the License for the specific language governing rights and 7927 // limitations under the License. 7928 // 7929 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 7930 7931 // [XSI] The <sys/select.h> header shall define the fd_set type as a structure. 7932 // The timespec structure shall be defined as described in <time.h> 7933 // The <sys/select.h> header shall define the timeval structure. 7934 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 7935 // 7936 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 7937 // 7938 // This file contains Original Code and/or Modifications of Original Code 7939 // as defined in and that are subject to the Apple Public Source License 7940 // Version 2.0 (the 'License'). You may not use this file except in 7941 // compliance with the License. The rights granted to you under the License 7942 // may not be used to create, or enable the creation or redistribution of, 7943 // unlawful or unlicensed copies of an Apple operating system, or to 7944 // circumvent, violate, or enable the circumvention or violation of, any 7945 // terms of an Apple operating system software license agreement. 7946 // 7947 // Please obtain a copy of the License at 7948 // http://www.opensource.apple.com/apsl/ and read it before using this file. 7949 // 7950 // The Original Code and all software distributed under the License are 7951 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 7952 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 7953 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 7954 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 7955 // Please see the License for the specific language governing rights and 7956 // limitations under the License. 7957 // 7958 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 7959 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 7960 // 7961 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 7962 // 7963 // This file contains Original Code and/or Modifications of Original Code 7964 // as defined in and that are subject to the Apple Public Source License 7965 // Version 2.0 (the 'License'). You may not use this file except in 7966 // compliance with the License. The rights granted to you under the License 7967 // may not be used to create, or enable the creation or redistribution of, 7968 // unlawful or unlicensed copies of an Apple operating system, or to 7969 // circumvent, violate, or enable the circumvention or violation of, any 7970 // terms of an Apple operating system software license agreement. 7971 // 7972 // Please obtain a copy of the License at 7973 // http://www.opensource.apple.com/apsl/ and read it before using this file. 7974 // 7975 // The Original Code and all software distributed under the License are 7976 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 7977 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 7978 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 7979 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 7980 // Please see the License for the specific language governing rights and 7981 // limitations under the License. 7982 // 7983 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 7984 7985 // Copyright (c) 2000-2007 Apple Inc. All rights reserved. 7986 // 7987 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 7988 // 7989 // This file contains Original Code and/or Modifications of Original Code 7990 // as defined in and that are subject to the Apple Public Source License 7991 // Version 2.0 (the 'License'). You may not use this file except in 7992 // compliance with the License. The rights granted to you under the License 7993 // may not be used to create, or enable the creation or redistribution of, 7994 // unlawful or unlicensed copies of an Apple operating system, or to 7995 // circumvent, violate, or enable the circumvention or violation of, any 7996 // terms of an Apple operating system software license agreement. 7997 // 7998 // Please obtain a copy of the License at 7999 // http://www.opensource.apple.com/apsl/ and read it before using this file. 8000 // 8001 // The Original Code and all software distributed under the License are 8002 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 8003 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 8004 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 8005 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 8006 // Please see the License for the specific language governing rights and 8007 // limitations under the License. 8008 // 8009 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 8010 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 8011 8012 type Timespec = struct { 8013 Ftv_sec X__darwin_time_t 8014 Ftv_nsec int64 8015 } /* _timespec.h:33:1 */ 8016 8017 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 8018 // 8019 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 8020 // 8021 // This file contains Original Code and/or Modifications of Original Code 8022 // as defined in and that are subject to the Apple Public Source License 8023 // Version 2.0 (the 'License'). You may not use this file except in 8024 // compliance with the License. The rights granted to you under the License 8025 // may not be used to create, or enable the creation or redistribution of, 8026 // unlawful or unlicensed copies of an Apple operating system, or to 8027 // circumvent, violate, or enable the circumvention or violation of, any 8028 // terms of an Apple operating system software license agreement. 8029 // 8030 // Please obtain a copy of the License at 8031 // http://www.opensource.apple.com/apsl/ and read it before using this file. 8032 // 8033 // The Original Code and all software distributed under the License are 8034 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 8035 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 8036 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 8037 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 8038 // Please see the License for the specific language governing rights and 8039 // limitations under the License. 8040 // 8041 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 8042 8043 // Copyright (c) 2000-2007 Apple Inc. All rights reserved. 8044 // 8045 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 8046 // 8047 // This file contains Original Code and/or Modifications of Original Code 8048 // as defined in and that are subject to the Apple Public Source License 8049 // Version 2.0 (the 'License'). You may not use this file except in 8050 // compliance with the License. The rights granted to you under the License 8051 // may not be used to create, or enable the creation or redistribution of, 8052 // unlawful or unlicensed copies of an Apple operating system, or to 8053 // circumvent, violate, or enable the circumvention or violation of, any 8054 // terms of an Apple operating system software license agreement. 8055 // 8056 // Please obtain a copy of the License at 8057 // http://www.opensource.apple.com/apsl/ and read it before using this file. 8058 // 8059 // The Original Code and all software distributed under the License are 8060 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 8061 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 8062 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 8063 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 8064 // Please see the License for the specific language governing rights and 8065 // limitations under the License. 8066 // 8067 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 8068 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 8069 // Copyright (c) 2003-2007 Apple Inc. All rights reserved. 8070 // 8071 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 8072 // 8073 // This file contains Original Code and/or Modifications of Original Code 8074 // as defined in and that are subject to the Apple Public Source License 8075 // Version 2.0 (the 'License'). You may not use this file except in 8076 // compliance with the License. The rights granted to you under the License 8077 // may not be used to create, or enable the creation or redistribution of, 8078 // unlawful or unlicensed copies of an Apple operating system, or to 8079 // circumvent, violate, or enable the circumvention or violation of, any 8080 // terms of an Apple operating system software license agreement. 8081 // 8082 // Please obtain a copy of the License at 8083 // http://www.opensource.apple.com/apsl/ and read it before using this file. 8084 // 8085 // The Original Code and all software distributed under the License are 8086 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 8087 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 8088 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 8089 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 8090 // Please see the License for the specific language governing rights and 8091 // limitations under the License. 8092 // 8093 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 8094 8095 type Timeval = struct { 8096 Ftv_sec X__darwin_time_t 8097 Ftv_usec X__darwin_suseconds_t 8098 F__ccgo_pad1 [4]byte 8099 } /* _timeval.h:34:1 */ 8100 8101 // The time_t and suseconds_t types shall be defined as described in 8102 // <sys/types.h> 8103 // The sigset_t type shall be defined as described in <signal.h> 8104 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 8105 // 8106 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 8107 // 8108 // This file contains Original Code and/or Modifications of Original Code 8109 // as defined in and that are subject to the Apple Public Source License 8110 // Version 2.0 (the 'License'). You may not use this file except in 8111 // compliance with the License. The rights granted to you under the License 8112 // may not be used to create, or enable the creation or redistribution of, 8113 // unlawful or unlicensed copies of an Apple operating system, or to 8114 // circumvent, violate, or enable the circumvention or violation of, any 8115 // terms of an Apple operating system software license agreement. 8116 // 8117 // Please obtain a copy of the License at 8118 // http://www.opensource.apple.com/apsl/ and read it before using this file. 8119 // 8120 // The Original Code and all software distributed under the License are 8121 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 8122 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 8123 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 8124 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 8125 // Please see the License for the specific language governing rights and 8126 // limitations under the License. 8127 // 8128 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 8129 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 8130 // 8131 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 8132 // 8133 // This file contains Original Code and/or Modifications of Original Code 8134 // as defined in and that are subject to the Apple Public Source License 8135 // Version 2.0 (the 'License'). You may not use this file except in 8136 // compliance with the License. The rights granted to you under the License 8137 // may not be used to create, or enable the creation or redistribution of, 8138 // unlawful or unlicensed copies of an Apple operating system, or to 8139 // circumvent, violate, or enable the circumvention or violation of, any 8140 // terms of an Apple operating system software license agreement. 8141 // 8142 // Please obtain a copy of the License at 8143 // http://www.opensource.apple.com/apsl/ and read it before using this file. 8144 // 8145 // The Original Code and all software distributed under the License are 8146 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 8147 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 8148 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 8149 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 8150 // Please see the License for the specific language governing rights and 8151 // limitations under the License. 8152 // 8153 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 8154 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 8155 // 8156 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 8157 // 8158 // This file contains Original Code and/or Modifications of Original Code 8159 // as defined in and that are subject to the Apple Public Source License 8160 // Version 2.0 (the 'License'). You may not use this file except in 8161 // compliance with the License. The rights granted to you under the License 8162 // may not be used to create, or enable the creation or redistribution of, 8163 // unlawful or unlicensed copies of an Apple operating system, or to 8164 // circumvent, violate, or enable the circumvention or violation of, any 8165 // terms of an Apple operating system software license agreement. 8166 // 8167 // Please obtain a copy of the License at 8168 // http://www.opensource.apple.com/apsl/ and read it before using this file. 8169 // 8170 // The Original Code and all software distributed under the License are 8171 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 8172 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 8173 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 8174 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 8175 // Please see the License for the specific language governing rights and 8176 // limitations under the License. 8177 // 8178 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 8179 // Copyright (c) 2003-2007 Apple Inc. All rights reserved. 8180 // 8181 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 8182 // 8183 // This file contains Original Code and/or Modifications of Original Code 8184 // as defined in and that are subject to the Apple Public Source License 8185 // Version 2.0 (the 'License'). You may not use this file except in 8186 // compliance with the License. The rights granted to you under the License 8187 // may not be used to create, or enable the creation or redistribution of, 8188 // unlawful or unlicensed copies of an Apple operating system, or to 8189 // circumvent, violate, or enable the circumvention or violation of, any 8190 // terms of an Apple operating system software license agreement. 8191 // 8192 // Please obtain a copy of the License at 8193 // http://www.opensource.apple.com/apsl/ and read it before using this file. 8194 // 8195 // The Original Code and all software distributed under the License are 8196 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 8197 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 8198 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 8199 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 8200 // Please see the License for the specific language governing rights and 8201 // limitations under the License. 8202 // 8203 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 8204 8205 type Sigset_t = X__darwin_sigset_t /* _sigset_t.h:31:41 */ 8206 8207 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 8208 // 8209 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 8210 // 8211 // This file contains Original Code and/or Modifications of Original Code 8212 // as defined in and that are subject to the Apple Public Source License 8213 // Version 2.0 (the 'License'). You may not use this file except in 8214 // compliance with the License. The rights granted to you under the License 8215 // may not be used to create, or enable the creation or redistribution of, 8216 // unlawful or unlicensed copies of an Apple operating system, or to 8217 // circumvent, violate, or enable the circumvention or violation of, any 8218 // terms of an Apple operating system software license agreement. 8219 // 8220 // Please obtain a copy of the License at 8221 // http://www.opensource.apple.com/apsl/ and read it before using this file. 8222 // 8223 // The Original Code and all software distributed under the License are 8224 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 8225 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 8226 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 8227 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 8228 // Please see the License for the specific language governing rights and 8229 // limitations under the License. 8230 // 8231 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 8232 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 8233 // 8234 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 8235 // 8236 // This file contains Original Code and/or Modifications of Original Code 8237 // as defined in and that are subject to the Apple Public Source License 8238 // Version 2.0 (the 'License'). You may not use this file except in 8239 // compliance with the License. The rights granted to you under the License 8240 // may not be used to create, or enable the creation or redistribution of, 8241 // unlawful or unlicensed copies of an Apple operating system, or to 8242 // circumvent, violate, or enable the circumvention or violation of, any 8243 // terms of an Apple operating system software license agreement. 8244 // 8245 // Please obtain a copy of the License at 8246 // http://www.opensource.apple.com/apsl/ and read it before using this file. 8247 // 8248 // The Original Code and all software distributed under the License are 8249 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 8250 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 8251 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 8252 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 8253 // Please see the License for the specific language governing rights and 8254 // limitations under the License. 8255 // 8256 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 8257 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 8258 // 8259 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 8260 // 8261 // This file contains Original Code and/or Modifications of Original Code 8262 // as defined in and that are subject to the Apple Public Source License 8263 // Version 2.0 (the 'License'). You may not use this file except in 8264 // compliance with the License. The rights granted to you under the License 8265 // may not be used to create, or enable the creation or redistribution of, 8266 // unlawful or unlicensed copies of an Apple operating system, or to 8267 // circumvent, violate, or enable the circumvention or violation of, any 8268 // terms of an Apple operating system software license agreement. 8269 // 8270 // Please obtain a copy of the License at 8271 // http://www.opensource.apple.com/apsl/ and read it before using this file. 8272 // 8273 // The Original Code and all software distributed under the License are 8274 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 8275 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 8276 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 8277 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 8278 // Please see the License for the specific language governing rights and 8279 // limitations under the License. 8280 // 8281 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 8282 // Copyright (c) 2003-2007 Apple Inc. All rights reserved. 8283 // 8284 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 8285 // 8286 // This file contains Original Code and/or Modifications of Original Code 8287 // as defined in and that are subject to the Apple Public Source License 8288 // Version 2.0 (the 'License'). You may not use this file except in 8289 // compliance with the License. The rights granted to you under the License 8290 // may not be used to create, or enable the creation or redistribution of, 8291 // unlawful or unlicensed copies of an Apple operating system, or to 8292 // circumvent, violate, or enable the circumvention or violation of, any 8293 // terms of an Apple operating system software license agreement. 8294 // 8295 // Please obtain a copy of the License at 8296 // http://www.opensource.apple.com/apsl/ and read it before using this file. 8297 // 8298 // The Original Code and all software distributed under the License are 8299 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 8300 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 8301 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 8302 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 8303 // Please see the License for the specific language governing rights and 8304 // limitations under the License. 8305 // 8306 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 8307 8308 type Uuid_t = X__darwin_uuid_t /* _uuid_t.h:31:25 */ 8309 8310 // MVS linker does not support external names larger than 8 bytes 8311 8312 // 8313 // The 'zlib' compression library provides in-memory compression and 8314 // decompression functions, including integrity checks of the uncompressed data. 8315 // This version of the library supports only one compression method (deflation) 8316 // but other algorithms will be added later and will have the same stream 8317 // interface. 8318 // 8319 // Compression can be done in a single step if the buffers are large enough, 8320 // or can be done by repeated calls of the compression function. In the latter 8321 // case, the application must provide more input and/or consume the output 8322 // (providing more output space) before each call. 8323 // 8324 // The compressed data format used by default by the in-memory functions is 8325 // the zlib format, which is a zlib wrapper documented in RFC 1950, wrapped 8326 // around a deflate stream, which is itself documented in RFC 1951. 8327 // 8328 // The library also supports reading and writing files in gzip (.gz) format 8329 // with an interface similar to that of stdio using the functions that start 8330 // with "gz". The gzip format is different from the zlib format. gzip is a 8331 // gzip wrapper, documented in RFC 1952, wrapped around a deflate stream. 8332 // 8333 // This library can optionally read and write gzip and raw deflate streams in 8334 // memory as well. 8335 // 8336 // The zlib format was designed to be compact and fast for use in memory 8337 // and on communications channels. The gzip format was designed for single- 8338 // file compression on file systems, has a larger header than zlib to maintain 8339 // directory information, and uses a different, slower check method than zlib. 8340 // 8341 // The library does not install any signal handler. The decoder checks 8342 // the consistency of the compressed data, so the library should never crash 8343 // even in the case of corrupted input. 8344 8345 type Alloc_func = uintptr /* zlib.h:81:16 */ 8346 type Free_func = uintptr /* zlib.h:82:16 */ 8347 8348 type Internal_state = struct { 8349 Fstrm Z_streamp 8350 Fstatus int32 8351 F__ccgo_pad1 [4]byte 8352 Fpending_buf uintptr 8353 Fpending_buf_size Ulg 8354 Fpending_out uintptr 8355 Fpending Ulg 8356 Fwrap int32 8357 F__ccgo_pad2 [4]byte 8358 Fgzhead Gz_headerp 8359 Fgzindex Ulg 8360 Fmethod Byte 8361 F__ccgo_pad3 [3]byte 8362 Flast_flush int32 8363 Fw_size UInt 8364 Fw_bits UInt 8365 Fw_mask UInt 8366 F__ccgo_pad4 [4]byte 8367 Fwindow uintptr 8368 Fwindow_size Ulg 8369 Fprev uintptr 8370 Fhead uintptr 8371 Fins_h UInt 8372 Fhash_size UInt 8373 Fhash_bits UInt 8374 Fhash_mask UInt 8375 Fhash_shift UInt 8376 F__ccgo_pad5 [4]byte 8377 Fblock_start int64 8378 Fmatch_length UInt 8379 Fprev_match IPos 8380 Fmatch_available int32 8381 Fstrstart UInt 8382 Fmatch_start UInt 8383 Flookahead UInt 8384 Fprev_length UInt 8385 Fmax_chain_length UInt 8386 Fmax_lazy_match UInt 8387 Flevel int32 8388 Fstrategy int32 8389 Fgood_match UInt 8390 Fnice_match int32 8391 Fdyn_ltree [573]struct { 8392 Ffc struct{ Ffreq Ush } 8393 Fdl struct{ Fdad Ush } 8394 } 8395 Fdyn_dtree [61]struct { 8396 Ffc struct{ Ffreq Ush } 8397 Fdl struct{ Fdad Ush } 8398 } 8399 Fbl_tree [39]struct { 8400 Ffc struct{ Ffreq Ush } 8401 Fdl struct{ Fdad Ush } 8402 } 8403 Fl_desc struct { 8404 Fdyn_tree uintptr 8405 Fmax_code int32 8406 F__ccgo_pad1 [4]byte 8407 Fstat_desc uintptr 8408 } 8409 Fd_desc struct { 8410 Fdyn_tree uintptr 8411 Fmax_code int32 8412 F__ccgo_pad1 [4]byte 8413 Fstat_desc uintptr 8414 } 8415 Fbl_desc struct { 8416 Fdyn_tree uintptr 8417 Fmax_code int32 8418 F__ccgo_pad1 [4]byte 8419 Fstat_desc uintptr 8420 } 8421 Fbl_count [16]Ush 8422 Fheap [573]int32 8423 Fheap_len int32 8424 Fheap_max int32 8425 Fdepth [573]Uch 8426 F__ccgo_pad6 [7]byte 8427 Fl_buf uintptr 8428 Flit_bufsize UInt 8429 Flast_lit UInt 8430 Fd_buf uintptr 8431 Fopt_len Ulg 8432 Fstatic_len Ulg 8433 Fmatches UInt 8434 Finsert UInt 8435 Fbi_buf Ush 8436 F__ccgo_pad7 [2]byte 8437 Fbi_valid int32 8438 Fhigh_water Ulg 8439 } /* zlib.h:84:1 */ 8440 8441 type Z_stream_s = struct { 8442 Fnext_in uintptr 8443 Favail_in UInt 8444 F__ccgo_pad1 [4]byte 8445 Ftotal_in ULong 8446 Fnext_out uintptr 8447 Favail_out UInt 8448 F__ccgo_pad2 [4]byte 8449 Ftotal_out ULong 8450 Fmsg uintptr 8451 Fstate uintptr 8452 Fzalloc Alloc_func 8453 Fzfree Free_func 8454 Fopaque Voidpf 8455 Fdata_type int32 8456 F__ccgo_pad3 [4]byte 8457 Fadler ULong 8458 Freserved ULong 8459 } /* zlib.h:86:9 */ 8460 8461 type Z_stream = Z_stream_s /* zlib.h:106:3 */ 8462 8463 type Z_streamp = uintptr /* zlib.h:108:22 */ 8464 8465 // 8466 // gzip header information passed to and from zlib routines. See RFC 1952 8467 // for more details on the meanings of these fields. 8468 type Gz_header_s = struct { 8469 Ftext int32 8470 F__ccgo_pad1 [4]byte 8471 Ftime ULong 8472 Fxflags int32 8473 Fos int32 8474 Fextra uintptr 8475 Fextra_len UInt 8476 Fextra_max UInt 8477 Fname uintptr 8478 Fname_max UInt 8479 F__ccgo_pad2 [4]byte 8480 Fcomment uintptr 8481 Fcomm_max UInt 8482 Fhcrc int32 8483 Fdone int32 8484 F__ccgo_pad3 [4]byte 8485 } /* zlib.h:114:9 */ 8486 8487 // 8488 // gzip header information passed to and from zlib routines. See RFC 1952 8489 // for more details on the meanings of these fields. 8490 type Gz_header = Gz_header_s /* zlib.h:129:3 */ 8491 8492 type Gz_headerp = uintptr /* zlib.h:131:23 */ 8493 // 8494 // inflateGetHeader() requests that gzip header information be stored in the 8495 // provided gz_header structure. inflateGetHeader() may be called after 8496 // inflateInit2() or inflateReset(), and before the first call of inflate(). 8497 // As inflate() processes the gzip stream, head->done is zero until the header 8498 // is completed, at which time head->done is set to one. If a zlib stream is 8499 // being decoded, then head->done is set to -1 to indicate that there will be 8500 // no gzip header information forthcoming. Note that Z_BLOCK or Z_TREES can be 8501 // used to force inflate() to return immediately after header processing is 8502 // complete and before any actual data is decompressed. 8503 // 8504 // The text, time, xflags, and os fields are filled in with the gzip header 8505 // contents. hcrc is set to true if there is a header CRC. (The header CRC 8506 // was valid if done is set to one.) If extra is not Z_NULL, then extra_max 8507 // contains the maximum number of bytes to write to extra. Once done is true, 8508 // extra_len contains the actual extra field length, and extra contains the 8509 // extra field, or that field truncated if extra_max is less than extra_len. 8510 // If name is not Z_NULL, then up to name_max characters are written there, 8511 // terminated with a zero unless the length is greater than name_max. If 8512 // comment is not Z_NULL, then up to comm_max characters are written there, 8513 // terminated with a zero unless the length is greater than comm_max. When any 8514 // of extra, name, or comment are not Z_NULL and the respective field is not 8515 // present in the header, then that field is set to Z_NULL to signal its 8516 // absence. This allows the use of deflateSetHeader() with the returned 8517 // structure to duplicate the header. However if those fields are set to 8518 // allocated memory, then the application will need to save those pointers 8519 // elsewhere so that they can be eventually freed. 8520 // 8521 // If inflateGetHeader is not used, then the header information is simply 8522 // discarded. The header is always checked for validity, including the header 8523 // CRC if present. inflateReset() will reset the process to discard the header 8524 // information. The application would need to call inflateGetHeader() again to 8525 // retrieve the header from the next gzip stream. 8526 // 8527 // inflateGetHeader returns Z_OK if success, or Z_STREAM_ERROR if the source 8528 // stream state was inconsistent. 8529 8530 // 8531 // ZEXTERN int ZEXPORT inflateBackInit OF((z_streamp strm, int windowBits, 8532 // unsigned char FAR *window)); 8533 // 8534 // Initialize the internal stream state for decompression using inflateBack() 8535 // calls. The fields zalloc, zfree and opaque in strm must be initialized 8536 // before the call. If zalloc and zfree are Z_NULL, then the default library- 8537 // derived memory allocation routines are used. windowBits is the base two 8538 // logarithm of the window size, in the range 8..15. window is a caller 8539 // supplied buffer of that size. Except for special applications where it is 8540 // assured that deflate was used with small window sizes, windowBits must be 15 8541 // and a 32K byte window must be supplied to be able to decompress general 8542 // deflate streams. 8543 // 8544 // See inflateBack() for the usage of these routines. 8545 // 8546 // inflateBackInit will return Z_OK on success, Z_STREAM_ERROR if any of 8547 // the parameters are invalid, Z_MEM_ERROR if the internal state could not be 8548 // allocated, or Z_VERSION_ERROR if the version of the library does not match 8549 // the version of the header file. 8550 8551 type In_func = uintptr /* zlib.h:1092:18 */ 8552 type Out_func = uintptr /* zlib.h:1094:13 */ 8553 // 8554 // Same as uncompress, except that sourceLen is a pointer, where the 8555 // length of the source is *sourceLen. On return, *sourceLen is the number of 8556 // source bytes consumed. 8557 8558 // gzip file access functions 8559 8560 // 8561 // This library supports reading and writing files in gzip (.gz) format with 8562 // an interface similar to that of stdio, using the functions that start with 8563 // "gz". The gzip format is different from the zlib format. gzip is a gzip 8564 // wrapper, documented in RFC 1952, wrapped around a deflate stream. 8565 8566 type GzFile_s = struct { 8567 Fhave uint32 8568 F__ccgo_pad1 [4]byte 8569 Fnext uintptr 8570 Fpos Off_t 8571 } /* zlib.h:1300:9 */ 8572 8573 // 8574 // Same as uncompress, except that sourceLen is a pointer, where the 8575 // length of the source is *sourceLen. On return, *sourceLen is the number of 8576 // source bytes consumed. 8577 8578 // gzip file access functions 8579 8580 // 8581 // This library supports reading and writing files in gzip (.gz) format with 8582 // an interface similar to that of stdio, using the functions that start with 8583 // "gz". The gzip format is different from the zlib format. gzip is a gzip 8584 // wrapper, documented in RFC 1952, wrapped around a deflate stream. 8585 8586 type GzFile = uintptr /* zlib.h:1300:25 */ 8587 8588 // Copyright (c) 2000, 2007, 2010 Apple Inc. All rights reserved. 8589 // 8590 // @APPLE_LICENSE_HEADER_START@ 8591 // 8592 // This file contains Original Code and/or Modifications of Original Code 8593 // as defined in and that are subject to the Apple Public Source License 8594 // Version 2.0 (the 'License'). You may not use this file except in 8595 // compliance with the License. Please obtain a copy of the License at 8596 // http://www.opensource.apple.com/apsl/ and read it before using this 8597 // file. 8598 // 8599 // The Original Code and all software distributed under the License are 8600 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 8601 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 8602 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 8603 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 8604 // Please see the License for the specific language governing rights and 8605 // limitations under the License. 8606 // 8607 // @APPLE_LICENSE_HEADER_END@ 8608 // - 8609 // Copyright (c) 1990, 1993 8610 // The Regents of the University of California. All rights reserved. 8611 // 8612 // Redistribution and use in source and binary forms, with or without 8613 // modification, are permitted provided that the following conditions 8614 // are met: 8615 // 1. Redistributions of source code must retain the above copyright 8616 // notice, this list of conditions and the following disclaimer. 8617 // 2. Redistributions in binary form must reproduce the above copyright 8618 // notice, this list of conditions and the following disclaimer in the 8619 // documentation and/or other materials provided with the distribution. 8620 // 3. All advertising materials mentioning features or use of this software 8621 // must display the following acknowledgement: 8622 // This product includes software developed by the University of 8623 // California, Berkeley and its contributors. 8624 // 4. Neither the name of the University nor the names of its contributors 8625 // may be used to endorse or promote products derived from this software 8626 // without specific prior written permission. 8627 // 8628 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 8629 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 8630 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 8631 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 8632 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 8633 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 8634 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 8635 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 8636 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 8637 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 8638 // SUCH DAMAGE. 8639 // 8640 // @(#)string.h 8.1 (Berkeley) 6/2/93 8641 8642 // Security checking functions. 8643 // Copyright (c) 2017 Apple Inc. All rights reserved. 8644 // 8645 // @APPLE_LICENSE_HEADER_START@ 8646 // 8647 // This file contains Original Code and/or Modifications of Original Code 8648 // as defined in and that are subject to the Apple Public Source License 8649 // Version 2.0 (the 'License'). You may not use this file except in 8650 // compliance with the License. Please obtain a copy of the License at 8651 // http://www.opensource.apple.com/apsl/ and read it before using this 8652 // file. 8653 // 8654 // The Original Code and all software distributed under the License are 8655 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 8656 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 8657 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 8658 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 8659 // Please see the License for the specific language governing rights and 8660 // limitations under the License. 8661 // 8662 // @APPLE_LICENSE_HEADER_END@ 8663 8664 // Copyright (c) 2000-2018 Apple Inc. All rights reserved. 8665 // 8666 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 8667 // 8668 // This file contains Original Code and/or Modifications of Original Code 8669 // as defined in and that are subject to the Apple Public Source License 8670 // Version 2.0 (the 'License'). You may not use this file except in 8671 // compliance with the License. The rights granted to you under the License 8672 // may not be used to create, or enable the creation or redistribution of, 8673 // unlawful or unlicensed copies of an Apple operating system, or to 8674 // circumvent, violate, or enable the circumvention or violation of, any 8675 // terms of an Apple operating system software license agreement. 8676 // 8677 // Please obtain a copy of the License at 8678 // http://www.opensource.apple.com/apsl/ and read it before using this file. 8679 // 8680 // The Original Code and all software distributed under the License are 8681 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 8682 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 8683 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 8684 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 8685 // Please see the License for the specific language governing rights and 8686 // limitations under the License. 8687 // 8688 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 8689 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 8690 // Copyright (c) 1991, 1993 8691 // The Regents of the University of California. All rights reserved. 8692 // 8693 // This code is derived from software contributed to Berkeley by 8694 // Berkeley Software Design, Inc. 8695 // 8696 // Redistribution and use in source and binary forms, with or without 8697 // modification, are permitted provided that the following conditions 8698 // are met: 8699 // 1. Redistributions of source code must retain the above copyright 8700 // notice, this list of conditions and the following disclaimer. 8701 // 2. Redistributions in binary form must reproduce the above copyright 8702 // notice, this list of conditions and the following disclaimer in the 8703 // documentation and/or other materials provided with the distribution. 8704 // 3. All advertising materials mentioning features or use of this software 8705 // must display the following acknowledgement: 8706 // This product includes software developed by the University of 8707 // California, Berkeley and its contributors. 8708 // 4. Neither the name of the University nor the names of its contributors 8709 // may be used to endorse or promote products derived from this software 8710 // without specific prior written permission. 8711 // 8712 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 8713 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 8714 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 8715 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 8716 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 8717 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 8718 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 8719 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 8720 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 8721 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 8722 // SUCH DAMAGE. 8723 // 8724 // @(#)cdefs.h 8.8 (Berkeley) 1/9/95 8725 8726 // Copyright (c) 2007-2016 by Apple Inc.. All rights reserved. 8727 // 8728 // @APPLE_LICENSE_HEADER_START@ 8729 // 8730 // This file contains Original Code and/or Modifications of Original Code 8731 // as defined in and that are subject to the Apple Public Source License 8732 // Version 2.0 (the 'License'). You may not use this file except in 8733 // compliance with the License. Please obtain a copy of the License at 8734 // http://www.opensource.apple.com/apsl/ and read it before using this 8735 // file. 8736 // 8737 // The Original Code and all software distributed under the License are 8738 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 8739 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 8740 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 8741 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 8742 // Please see the License for the specific language governing rights and 8743 // limitations under the License. 8744 // 8745 // @APPLE_LICENSE_HEADER_END@ 8746 8747 // Copyright (c) 2007, 2008 Apple Inc. All rights reserved. 8748 // 8749 // @APPLE_LICENSE_HEADER_START@ 8750 // 8751 // This file contains Original Code and/or Modifications of Original Code 8752 // as defined in and that are subject to the Apple Public Source License 8753 // Version 2.0 (the 'License'). You may not use this file except in 8754 // compliance with the License. Please obtain a copy of the License at 8755 // http://www.opensource.apple.com/apsl/ and read it before using this 8756 // file. 8757 // 8758 // The Original Code and all software distributed under the License are 8759 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 8760 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 8761 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 8762 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 8763 // Please see the License for the specific language governing rights and 8764 // limitations under the License. 8765 // 8766 // @APPLE_LICENSE_HEADER_END@ 8767 8768 // bcopy and bzero 8769 8770 // Removed in Issue 7 8771 8772 // void bcopy(const void *src, void *dst, size_t len) 8773 8774 // void bzero(void *s, size_t n) 8775 8776 // Security checking functions. 8777 // Copyright (c) 2007,2017 Apple Inc. All rights reserved. 8778 // 8779 // @APPLE_LICENSE_HEADER_START@ 8780 // 8781 // This file contains Original Code and/or Modifications of Original Code 8782 // as defined in and that are subject to the Apple Public Source License 8783 // Version 2.0 (the 'License'). You may not use this file except in 8784 // compliance with the License. Please obtain a copy of the License at 8785 // http://www.opensource.apple.com/apsl/ and read it before using this 8786 // file. 8787 // 8788 // The Original Code and all software distributed under the License are 8789 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 8790 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 8791 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 8792 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 8793 // Please see the License for the specific language governing rights and 8794 // limitations under the License. 8795 // 8796 // @APPLE_LICENSE_HEADER_END@ 8797 8798 // Copyright (c) 2000-2018 Apple Inc. All rights reserved. 8799 // 8800 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 8801 // 8802 // This file contains Original Code and/or Modifications of Original Code 8803 // as defined in and that are subject to the Apple Public Source License 8804 // Version 2.0 (the 'License'). You may not use this file except in 8805 // compliance with the License. The rights granted to you under the License 8806 // may not be used to create, or enable the creation or redistribution of, 8807 // unlawful or unlicensed copies of an Apple operating system, or to 8808 // circumvent, violate, or enable the circumvention or violation of, any 8809 // terms of an Apple operating system software license agreement. 8810 // 8811 // Please obtain a copy of the License at 8812 // http://www.opensource.apple.com/apsl/ and read it before using this file. 8813 // 8814 // The Original Code and all software distributed under the License are 8815 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 8816 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 8817 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 8818 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 8819 // Please see the License for the specific language governing rights and 8820 // limitations under the License. 8821 // 8822 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 8823 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 8824 // Copyright (c) 1991, 1993 8825 // The Regents of the University of California. All rights reserved. 8826 // 8827 // This code is derived from software contributed to Berkeley by 8828 // Berkeley Software Design, Inc. 8829 // 8830 // Redistribution and use in source and binary forms, with or without 8831 // modification, are permitted provided that the following conditions 8832 // are met: 8833 // 1. Redistributions of source code must retain the above copyright 8834 // notice, this list of conditions and the following disclaimer. 8835 // 2. Redistributions in binary form must reproduce the above copyright 8836 // notice, this list of conditions and the following disclaimer in the 8837 // documentation and/or other materials provided with the distribution. 8838 // 3. All advertising materials mentioning features or use of this software 8839 // must display the following acknowledgement: 8840 // This product includes software developed by the University of 8841 // California, Berkeley and its contributors. 8842 // 4. Neither the name of the University nor the names of its contributors 8843 // may be used to endorse or promote products derived from this software 8844 // without specific prior written permission. 8845 // 8846 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 8847 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 8848 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 8849 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 8850 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 8851 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 8852 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 8853 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 8854 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 8855 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 8856 // SUCH DAMAGE. 8857 // 8858 // @(#)cdefs.h 8.8 (Berkeley) 1/9/95 8859 8860 // Copyright (c) 2007-2016 by Apple Inc.. All rights reserved. 8861 // 8862 // @APPLE_LICENSE_HEADER_START@ 8863 // 8864 // This file contains Original Code and/or Modifications of Original Code 8865 // as defined in and that are subject to the Apple Public Source License 8866 // Version 2.0 (the 'License'). You may not use this file except in 8867 // compliance with the License. Please obtain a copy of the License at 8868 // http://www.opensource.apple.com/apsl/ and read it before using this 8869 // file. 8870 // 8871 // The Original Code and all software distributed under the License are 8872 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 8873 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 8874 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 8875 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 8876 // Please see the License for the specific language governing rights and 8877 // limitations under the License. 8878 // 8879 // @APPLE_LICENSE_HEADER_END@ 8880 8881 // Copyright (c) 2007, 2008 Apple Inc. All rights reserved. 8882 // 8883 // @APPLE_LICENSE_HEADER_START@ 8884 // 8885 // This file contains Original Code and/or Modifications of Original Code 8886 // as defined in and that are subject to the Apple Public Source License 8887 // Version 2.0 (the 'License'). You may not use this file except in 8888 // compliance with the License. Please obtain a copy of the License at 8889 // http://www.opensource.apple.com/apsl/ and read it before using this 8890 // file. 8891 // 8892 // The Original Code and all software distributed under the License are 8893 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 8894 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 8895 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 8896 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 8897 // Please see the License for the specific language governing rights and 8898 // limitations under the License. 8899 // 8900 // @APPLE_LICENSE_HEADER_END@ 8901 8902 // <rdar://problem/12622659> 8903 8904 // memccpy, memcpy, mempcpy, memmove, memset, strcpy, strlcpy, stpcpy, 8905 // strncpy, stpncpy, strcat, strlcat, and strncat 8906 8907 // void *memcpy(void *dst, const void *src, size_t n) 8908 8909 // void *memmove(void *dst, const void *src, size_t len) 8910 8911 // void *memset(void *b, int c, size_t len) 8912 8913 // char *strcpy(char *dst, const char *src) 8914 8915 // char *stpcpy(char *dst, const char *src) 8916 8917 // char *stpncpy(char *dst, const char *src, size_t n) 8918 8919 // char *strncpy(char *dst, const char *src, size_t n) 8920 8921 // char *strcat(char *s1, const char *s2) 8922 8923 // char *strncat(char *s1, const char *s2, size_t n) 8924 8925 // Copyright (c) 2000, 2002 - 2008 Apple Inc. All rights reserved. 8926 // 8927 // @APPLE_LICENSE_HEADER_START@ 8928 // 8929 // This file contains Original Code and/or Modifications of Original Code 8930 // as defined in and that are subject to the Apple Public Source License 8931 // Version 2.0 (the 'License'). You may not use this file except in 8932 // compliance with the License. Please obtain a copy of the License at 8933 // http://www.opensource.apple.com/apsl/ and read it before using this 8934 // file. 8935 // 8936 // The Original Code and all software distributed under the License are 8937 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 8938 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 8939 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 8940 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 8941 // Please see the License for the specific language governing rights and 8942 // limitations under the License. 8943 // 8944 // @APPLE_LICENSE_HEADER_END@ 8945 // - 8946 // Copyright (c) 1990, 1993 8947 // The Regents of the University of California. All rights reserved. 8948 // 8949 // Redistribution and use in source and binary forms, with or without 8950 // modification, are permitted provided that the following conditions 8951 // are met: 8952 // 1. Redistributions of source code must retain the above copyright 8953 // notice, this list of conditions and the following disclaimer. 8954 // 2. Redistributions in binary form must reproduce the above copyright 8955 // notice, this list of conditions and the following disclaimer in the 8956 // documentation and/or other materials provided with the distribution. 8957 // 3. All advertising materials mentioning features or use of this software 8958 // must display the following acknowledgement: 8959 // This product includes software developed by the University of 8960 // California, Berkeley and its contributors. 8961 // 4. Neither the name of the University nor the names of its contributors 8962 // may be used to endorse or promote products derived from this software 8963 // without specific prior written permission. 8964 // 8965 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 8966 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 8967 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 8968 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 8969 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 8970 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 8971 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 8972 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 8973 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 8974 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 8975 // SUCH DAMAGE. 8976 // 8977 // @(#)stdlib.h 8.5 (Berkeley) 5/19/95 8978 8979 // Copyright (c) 2007-2016 by Apple Inc.. All rights reserved. 8980 // 8981 // @APPLE_LICENSE_HEADER_START@ 8982 // 8983 // This file contains Original Code and/or Modifications of Original Code 8984 // as defined in and that are subject to the Apple Public Source License 8985 // Version 2.0 (the 'License'). You may not use this file except in 8986 // compliance with the License. Please obtain a copy of the License at 8987 // http://www.opensource.apple.com/apsl/ and read it before using this 8988 // file. 8989 // 8990 // The Original Code and all software distributed under the License are 8991 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 8992 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 8993 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 8994 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 8995 // Please see the License for the specific language governing rights and 8996 // limitations under the License. 8997 // 8998 // @APPLE_LICENSE_HEADER_END@ 8999 9000 // Copyright (c) 2000-2018 Apple Inc. All rights reserved. 9001 // 9002 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 9003 // 9004 // This file contains Original Code and/or Modifications of Original Code 9005 // as defined in and that are subject to the Apple Public Source License 9006 // Version 2.0 (the 'License'). You may not use this file except in 9007 // compliance with the License. The rights granted to you under the License 9008 // may not be used to create, or enable the creation or redistribution of, 9009 // unlawful or unlicensed copies of an Apple operating system, or to 9010 // circumvent, violate, or enable the circumvention or violation of, any 9011 // terms of an Apple operating system software license agreement. 9012 // 9013 // Please obtain a copy of the License at 9014 // http://www.opensource.apple.com/apsl/ and read it before using this file. 9015 // 9016 // The Original Code and all software distributed under the License are 9017 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 9018 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 9019 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 9020 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 9021 // Please see the License for the specific language governing rights and 9022 // limitations under the License. 9023 // 9024 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 9025 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 9026 // Copyright (c) 1991, 1993 9027 // The Regents of the University of California. All rights reserved. 9028 // 9029 // This code is derived from software contributed to Berkeley by 9030 // Berkeley Software Design, Inc. 9031 // 9032 // Redistribution and use in source and binary forms, with or without 9033 // modification, are permitted provided that the following conditions 9034 // are met: 9035 // 1. Redistributions of source code must retain the above copyright 9036 // notice, this list of conditions and the following disclaimer. 9037 // 2. Redistributions in binary form must reproduce the above copyright 9038 // notice, this list of conditions and the following disclaimer in the 9039 // documentation and/or other materials provided with the distribution. 9040 // 3. All advertising materials mentioning features or use of this software 9041 // must display the following acknowledgement: 9042 // This product includes software developed by the University of 9043 // California, Berkeley and its contributors. 9044 // 4. Neither the name of the University nor the names of its contributors 9045 // may be used to endorse or promote products derived from this software 9046 // without specific prior written permission. 9047 // 9048 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 9049 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 9050 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 9051 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 9052 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 9053 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 9054 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 9055 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 9056 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 9057 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 9058 // SUCH DAMAGE. 9059 // 9060 // @(#)cdefs.h 8.8 (Berkeley) 1/9/95 9061 9062 // Copyright (c) 2004, 2008, 2009 Apple Inc. All rights reserved. 9063 // 9064 // @APPLE_LICENSE_HEADER_START@ 9065 // 9066 // This file contains Original Code and/or Modifications of Original Code 9067 // as defined in and that are subject to the Apple Public Source License 9068 // Version 2.0 (the 'License'). You may not use this file except in 9069 // compliance with the License. Please obtain a copy of the License at 9070 // http://www.opensource.apple.com/apsl/ and read it before using this 9071 // file. 9072 // 9073 // The Original Code and all software distributed under the License are 9074 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 9075 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 9076 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 9077 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 9078 // Please see the License for the specific language governing rights and 9079 // limitations under the License. 9080 // 9081 // @APPLE_LICENSE_HEADER_END@ 9082 9083 // Copyright (c) 2000 Apple Computer, Inc. All rights reserved. 9084 // 9085 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 9086 // 9087 // This file contains Original Code and/or Modifications of Original Code 9088 // as defined in and that are subject to the Apple Public Source License 9089 // Version 2.0 (the 'License'). You may not use this file except in 9090 // compliance with the License. The rights granted to you under the License 9091 // may not be used to create, or enable the creation or redistribution of, 9092 // unlawful or unlicensed copies of an Apple operating system, or to 9093 // circumvent, violate, or enable the circumvention or violation of, any 9094 // terms of an Apple operating system software license agreement. 9095 // 9096 // Please obtain a copy of the License at 9097 // http://www.opensource.apple.com/apsl/ and read it before using this file. 9098 // 9099 // The Original Code and all software distributed under the License are 9100 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 9101 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 9102 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 9103 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 9104 // Please see the License for the specific language governing rights and 9105 // limitations under the License. 9106 // 9107 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 9108 // Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved 9109 // Copyright (c) 1982, 1986, 1989, 1993, 1994 9110 // The Regents of the University of California. All rights reserved. 9111 // 9112 // Redistribution and use in source and binary forms, with or without 9113 // modification, are permitted provided that the following conditions 9114 // are met: 9115 // 1. Redistributions of source code must retain the above copyright 9116 // notice, this list of conditions and the following disclaimer. 9117 // 2. Redistributions in binary form must reproduce the above copyright 9118 // notice, this list of conditions and the following disclaimer in the 9119 // documentation and/or other materials provided with the distribution. 9120 // 3. All advertising materials mentioning features or use of this software 9121 // must display the following acknowledgement: 9122 // This product includes software developed by the University of 9123 // California, Berkeley and its contributors. 9124 // 4. Neither the name of the University nor the names of its contributors 9125 // may be used to endorse or promote products derived from this software 9126 // without specific prior written permission. 9127 // 9128 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 9129 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 9130 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 9131 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 9132 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 9133 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 9134 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 9135 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 9136 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 9137 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 9138 // SUCH DAMAGE. 9139 // 9140 // @(#)wait.h 8.2 (Berkeley) 7/10/94 9141 9142 // Copyright (c) 2000-2018 Apple Inc. All rights reserved. 9143 // 9144 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 9145 // 9146 // This file contains Original Code and/or Modifications of Original Code 9147 // as defined in and that are subject to the Apple Public Source License 9148 // Version 2.0 (the 'License'). You may not use this file except in 9149 // compliance with the License. The rights granted to you under the License 9150 // may not be used to create, or enable the creation or redistribution of, 9151 // unlawful or unlicensed copies of an Apple operating system, or to 9152 // circumvent, violate, or enable the circumvention or violation of, any 9153 // terms of an Apple operating system software license agreement. 9154 // 9155 // Please obtain a copy of the License at 9156 // http://www.opensource.apple.com/apsl/ and read it before using this file. 9157 // 9158 // The Original Code and all software distributed under the License are 9159 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 9160 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 9161 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 9162 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 9163 // Please see the License for the specific language governing rights and 9164 // limitations under the License. 9165 // 9166 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 9167 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 9168 // Copyright (c) 1991, 1993 9169 // The Regents of the University of California. All rights reserved. 9170 // 9171 // This code is derived from software contributed to Berkeley by 9172 // Berkeley Software Design, Inc. 9173 // 9174 // Redistribution and use in source and binary forms, with or without 9175 // modification, are permitted provided that the following conditions 9176 // are met: 9177 // 1. Redistributions of source code must retain the above copyright 9178 // notice, this list of conditions and the following disclaimer. 9179 // 2. Redistributions in binary form must reproduce the above copyright 9180 // notice, this list of conditions and the following disclaimer in the 9181 // documentation and/or other materials provided with the distribution. 9182 // 3. All advertising materials mentioning features or use of this software 9183 // must display the following acknowledgement: 9184 // This product includes software developed by the University of 9185 // California, Berkeley and its contributors. 9186 // 4. Neither the name of the University nor the names of its contributors 9187 // may be used to endorse or promote products derived from this software 9188 // without specific prior written permission. 9189 // 9190 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 9191 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 9192 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 9193 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 9194 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 9195 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 9196 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 9197 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 9198 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 9199 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 9200 // SUCH DAMAGE. 9201 // 9202 // @(#)cdefs.h 8.8 (Berkeley) 1/9/95 9203 9204 // Copyright (c) 2003-2007 Apple Inc. All rights reserved. 9205 // 9206 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 9207 // 9208 // This file contains Original Code and/or Modifications of Original Code 9209 // as defined in and that are subject to the Apple Public Source License 9210 // Version 2.0 (the 'License'). You may not use this file except in 9211 // compliance with the License. The rights granted to you under the License 9212 // may not be used to create, or enable the creation or redistribution of, 9213 // unlawful or unlicensed copies of an Apple operating system, or to 9214 // circumvent, violate, or enable the circumvention or violation of, any 9215 // terms of an Apple operating system software license agreement. 9216 // 9217 // Please obtain a copy of the License at 9218 // http://www.opensource.apple.com/apsl/ and read it before using this file. 9219 // 9220 // The Original Code and all software distributed under the License are 9221 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 9222 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 9223 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 9224 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 9225 // Please see the License for the specific language governing rights and 9226 // limitations under the License. 9227 // 9228 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 9229 9230 // This file holds definitions relevent to the wait4 system call 9231 // and the alternate interfaces that use it (wait, wait3, waitpid). 9232 9233 // [XSI] The type idtype_t shall be defined as an enumeration type whose 9234 // possible values shall include at least P_ALL, P_PID, and P_PGID. 9235 type Idtype_t = uint32 /* wait.h:83:3 */ 9236 9237 // [XSI] The id_t and pid_t types shall be defined as described 9238 // in <sys/types.h> 9239 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 9240 // 9241 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 9242 // 9243 // This file contains Original Code and/or Modifications of Original Code 9244 // as defined in and that are subject to the Apple Public Source License 9245 // Version 2.0 (the 'License'). You may not use this file except in 9246 // compliance with the License. The rights granted to you under the License 9247 // may not be used to create, or enable the creation or redistribution of, 9248 // unlawful or unlicensed copies of an Apple operating system, or to 9249 // circumvent, violate, or enable the circumvention or violation of, any 9250 // terms of an Apple operating system software license agreement. 9251 // 9252 // Please obtain a copy of the License at 9253 // http://www.opensource.apple.com/apsl/ and read it before using this file. 9254 // 9255 // The Original Code and all software distributed under the License are 9256 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 9257 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 9258 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 9259 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 9260 // Please see the License for the specific language governing rights and 9261 // limitations under the License. 9262 // 9263 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 9264 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 9265 // 9266 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 9267 // 9268 // This file contains Original Code and/or Modifications of Original Code 9269 // as defined in and that are subject to the Apple Public Source License 9270 // Version 2.0 (the 'License'). You may not use this file except in 9271 // compliance with the License. The rights granted to you under the License 9272 // may not be used to create, or enable the creation or redistribution of, 9273 // unlawful or unlicensed copies of an Apple operating system, or to 9274 // circumvent, violate, or enable the circumvention or violation of, any 9275 // terms of an Apple operating system software license agreement. 9276 // 9277 // Please obtain a copy of the License at 9278 // http://www.opensource.apple.com/apsl/ and read it before using this file. 9279 // 9280 // The Original Code and all software distributed under the License are 9281 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 9282 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 9283 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 9284 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 9285 // Please see the License for the specific language governing rights and 9286 // limitations under the License. 9287 // 9288 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 9289 9290 // [XSI] The siginfo_t type shall be defined as described in <signal.h> 9291 // [XSI] The rusage structure shall be defined as described in <sys/resource.h> 9292 // [XSI] Inclusion of the <sys/wait.h> header may also make visible all 9293 // symbols from <signal.h> and <sys/resource.h> 9294 // 9295 // NOTE: This requirement is currently being satisfied by the direct 9296 // inclusion of <sys/signal.h> and <sys/resource.h>, below. 9297 // 9298 // Software should not depend on the exposure of anything other 9299 // than the types siginfo_t and struct rusage as a result of 9300 // this inclusion. If you depend on any types or manifest 9301 // values othe than siginfo_t and struct rusage from either of 9302 // those files, you should explicitly include them yourself, as 9303 // well, or in future releases your stware may not compile 9304 // without modification. 9305 // Copyright (c) 2000-2006 Apple Computer, Inc. All rights reserved. 9306 // 9307 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 9308 // 9309 // This file contains Original Code and/or Modifications of Original Code 9310 // as defined in and that are subject to the Apple Public Source License 9311 // Version 2.0 (the 'License'). You may not use this file except in 9312 // compliance with the License. The rights granted to you under the License 9313 // may not be used to create, or enable the creation or redistribution of, 9314 // unlawful or unlicensed copies of an Apple operating system, or to 9315 // circumvent, violate, or enable the circumvention or violation of, any 9316 // terms of an Apple operating system software license agreement. 9317 // 9318 // Please obtain a copy of the License at 9319 // http://www.opensource.apple.com/apsl/ and read it before using this file. 9320 // 9321 // The Original Code and all software distributed under the License are 9322 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 9323 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 9324 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 9325 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 9326 // Please see the License for the specific language governing rights and 9327 // limitations under the License. 9328 // 9329 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 9330 // Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved 9331 // Copyright (c) 1982, 1986, 1989, 1991, 1993 9332 // The Regents of the University of California. All rights reserved. 9333 // (c) UNIX System Laboratories, Inc. 9334 // All or some portions of this file are derived from material licensed 9335 // to the University of California by American Telephone and Telegraph 9336 // Co. or Unix System Laboratories, Inc. and are reproduced herein with 9337 // the permission of UNIX System Laboratories, Inc. 9338 // 9339 // Redistribution and use in source and binary forms, with or without 9340 // modification, are permitted provided that the following conditions 9341 // are met: 9342 // 1. Redistributions of source code must retain the above copyright 9343 // notice, this list of conditions and the following disclaimer. 9344 // 2. Redistributions in binary form must reproduce the above copyright 9345 // notice, this list of conditions and the following disclaimer in the 9346 // documentation and/or other materials provided with the distribution. 9347 // 3. All advertising materials mentioning features or use of this software 9348 // must display the following acknowledgement: 9349 // This product includes software developed by the University of 9350 // California, Berkeley and its contributors. 9351 // 4. Neither the name of the University nor the names of its contributors 9352 // may be used to endorse or promote products derived from this software 9353 // without specific prior written permission. 9354 // 9355 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 9356 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 9357 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 9358 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 9359 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 9360 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 9361 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 9362 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 9363 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 9364 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 9365 // SUCH DAMAGE. 9366 // 9367 // @(#)signal.h 8.2 (Berkeley) 1/21/94 9368 9369 // Copyright (c) 2000-2018 Apple Inc. All rights reserved. 9370 // 9371 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 9372 // 9373 // This file contains Original Code and/or Modifications of Original Code 9374 // as defined in and that are subject to the Apple Public Source License 9375 // Version 2.0 (the 'License'). You may not use this file except in 9376 // compliance with the License. The rights granted to you under the License 9377 // may not be used to create, or enable the creation or redistribution of, 9378 // unlawful or unlicensed copies of an Apple operating system, or to 9379 // circumvent, violate, or enable the circumvention or violation of, any 9380 // terms of an Apple operating system software license agreement. 9381 // 9382 // Please obtain a copy of the License at 9383 // http://www.opensource.apple.com/apsl/ and read it before using this file. 9384 // 9385 // The Original Code and all software distributed under the License are 9386 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 9387 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 9388 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 9389 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 9390 // Please see the License for the specific language governing rights and 9391 // limitations under the License. 9392 // 9393 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 9394 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 9395 // Copyright (c) 1991, 1993 9396 // The Regents of the University of California. All rights reserved. 9397 // 9398 // This code is derived from software contributed to Berkeley by 9399 // Berkeley Software Design, Inc. 9400 // 9401 // Redistribution and use in source and binary forms, with or without 9402 // modification, are permitted provided that the following conditions 9403 // are met: 9404 // 1. Redistributions of source code must retain the above copyright 9405 // notice, this list of conditions and the following disclaimer. 9406 // 2. Redistributions in binary form must reproduce the above copyright 9407 // notice, this list of conditions and the following disclaimer in the 9408 // documentation and/or other materials provided with the distribution. 9409 // 3. All advertising materials mentioning features or use of this software 9410 // must display the following acknowledgement: 9411 // This product includes software developed by the University of 9412 // California, Berkeley and its contributors. 9413 // 4. Neither the name of the University nor the names of its contributors 9414 // may be used to endorse or promote products derived from this software 9415 // without specific prior written permission. 9416 // 9417 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 9418 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 9419 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 9420 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 9421 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 9422 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 9423 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 9424 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 9425 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 9426 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 9427 // SUCH DAMAGE. 9428 // 9429 // @(#)cdefs.h 8.8 (Berkeley) 1/9/95 9430 9431 // Copyright (c) 2002 Apple Computer, Inc. All rights reserved. 9432 // 9433 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 9434 // 9435 // This file contains Original Code and/or Modifications of Original Code 9436 // as defined in and that are subject to the Apple Public Source License 9437 // Version 2.0 (the 'License'). You may not use this file except in 9438 // compliance with the License. The rights granted to you under the License 9439 // may not be used to create, or enable the creation or redistribution of, 9440 // unlawful or unlicensed copies of an Apple operating system, or to 9441 // circumvent, violate, or enable the circumvention or violation of, any 9442 // terms of an Apple operating system software license agreement. 9443 // 9444 // Please obtain a copy of the License at 9445 // http://www.opensource.apple.com/apsl/ and read it before using this file. 9446 // 9447 // The Original Code and all software distributed under the License are 9448 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 9449 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 9450 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 9451 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 9452 // Please see the License for the specific language governing rights and 9453 // limitations under the License. 9454 // 9455 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 9456 9457 // Copyright (c) 2007-2016 by Apple Inc.. All rights reserved. 9458 // 9459 // @APPLE_LICENSE_HEADER_START@ 9460 // 9461 // This file contains Original Code and/or Modifications of Original Code 9462 // as defined in and that are subject to the Apple Public Source License 9463 // Version 2.0 (the 'License'). You may not use this file except in 9464 // compliance with the License. Please obtain a copy of the License at 9465 // http://www.opensource.apple.com/apsl/ and read it before using this 9466 // file. 9467 // 9468 // The Original Code and all software distributed under the License are 9469 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 9470 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 9471 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 9472 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 9473 // Please see the License for the specific language governing rights and 9474 // limitations under the License. 9475 // 9476 // @APPLE_LICENSE_HEADER_END@ 9477 9478 // Copyright (c) 2000-2007 Apple Inc. All rights reserved. 9479 // 9480 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 9481 // 9482 // This file contains Original Code and/or Modifications of Original Code 9483 // as defined in and that are subject to the Apple Public Source License 9484 // Version 2.0 (the 'License'). You may not use this file except in 9485 // compliance with the License. The rights granted to you under the License 9486 // may not be used to create, or enable the creation or redistribution of, 9487 // unlawful or unlicensed copies of an Apple operating system, or to 9488 // circumvent, violate, or enable the circumvention or violation of, any 9489 // terms of an Apple operating system software license agreement. 9490 // 9491 // Please obtain a copy of the License at 9492 // http://www.opensource.apple.com/apsl/ and read it before using this file. 9493 // 9494 // The Original Code and all software distributed under the License are 9495 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 9496 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 9497 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 9498 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 9499 // Please see the License for the specific language governing rights and 9500 // limitations under the License. 9501 // 9502 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 9503 9504 // Copyright (c) 2000-2009 Apple, Inc. All rights reserved. 9505 // Copyright (c) 1992 NeXT Computer, Inc. 9506 // 9507 9508 // Copyright (c) 2000-2018 Apple Inc. All rights reserved. 9509 // 9510 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 9511 // 9512 // This file contains Original Code and/or Modifications of Original Code 9513 // as defined in and that are subject to the Apple Public Source License 9514 // Version 2.0 (the 'License'). You may not use this file except in 9515 // compliance with the License. The rights granted to you under the License 9516 // may not be used to create, or enable the creation or redistribution of, 9517 // unlawful or unlicensed copies of an Apple operating system, or to 9518 // circumvent, violate, or enable the circumvention or violation of, any 9519 // terms of an Apple operating system software license agreement. 9520 // 9521 // Please obtain a copy of the License at 9522 // http://www.opensource.apple.com/apsl/ and read it before using this file. 9523 // 9524 // The Original Code and all software distributed under the License are 9525 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 9526 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 9527 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 9528 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 9529 // Please see the License for the specific language governing rights and 9530 // limitations under the License. 9531 // 9532 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 9533 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 9534 // Copyright (c) 1991, 1993 9535 // The Regents of the University of California. All rights reserved. 9536 // 9537 // This code is derived from software contributed to Berkeley by 9538 // Berkeley Software Design, Inc. 9539 // 9540 // Redistribution and use in source and binary forms, with or without 9541 // modification, are permitted provided that the following conditions 9542 // are met: 9543 // 1. Redistributions of source code must retain the above copyright 9544 // notice, this list of conditions and the following disclaimer. 9545 // 2. Redistributions in binary form must reproduce the above copyright 9546 // notice, this list of conditions and the following disclaimer in the 9547 // documentation and/or other materials provided with the distribution. 9548 // 3. All advertising materials mentioning features or use of this software 9549 // must display the following acknowledgement: 9550 // This product includes software developed by the University of 9551 // California, Berkeley and its contributors. 9552 // 4. Neither the name of the University nor the names of its contributors 9553 // may be used to endorse or promote products derived from this software 9554 // without specific prior written permission. 9555 // 9556 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 9557 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 9558 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 9559 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 9560 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 9561 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 9562 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 9563 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 9564 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 9565 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 9566 // SUCH DAMAGE. 9567 // 9568 // @(#)cdefs.h 8.8 (Berkeley) 1/9/95 9569 9570 type Sig_atomic_t = int32 /* signal.h:17:13 */ 9571 9572 // Language spec sez we must list exactly one parameter, even though we 9573 // actually supply three. Ugh! 9574 // SIG_HOLD is chosen to avoid KERN_SIG_* values in <sys/signalvar.h> 9575 9576 // Copyright (c) 2003-2007 Apple Inc. All rights reserved. 9577 // 9578 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 9579 // 9580 // This file contains Original Code and/or Modifications of Original Code 9581 // as defined in and that are subject to the Apple Public Source License 9582 // Version 2.0 (the 'License'). You may not use this file except in 9583 // compliance with the License. The rights granted to you under the License 9584 // may not be used to create, or enable the creation or redistribution of, 9585 // unlawful or unlicensed copies of an Apple operating system, or to 9586 // circumvent, violate, or enable the circumvention or violation of, any 9587 // terms of an Apple operating system software license agreement. 9588 // 9589 // Please obtain a copy of the License at 9590 // http://www.opensource.apple.com/apsl/ and read it before using this file. 9591 // 9592 // The Original Code and all software distributed under the License are 9593 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 9594 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 9595 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 9596 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 9597 // Please see the License for the specific language governing rights and 9598 // limitations under the License. 9599 // 9600 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 9601 9602 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 9603 // 9604 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 9605 // 9606 // This file contains Original Code and/or Modifications of Original Code 9607 // as defined in and that are subject to the Apple Public Source License 9608 // Version 2.0 (the 'License'). You may not use this file except in 9609 // compliance with the License. The rights granted to you under the License 9610 // may not be used to create, or enable the creation or redistribution of, 9611 // unlawful or unlicensed copies of an Apple operating system, or to 9612 // circumvent, violate, or enable the circumvention or violation of, any 9613 // terms of an Apple operating system software license agreement. 9614 // 9615 // Please obtain a copy of the License at 9616 // http://www.opensource.apple.com/apsl/ and read it before using this file. 9617 // 9618 // The Original Code and all software distributed under the License are 9619 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 9620 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 9621 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 9622 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 9623 // Please see the License for the specific language governing rights and 9624 // limitations under the License. 9625 // 9626 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 9627 9628 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 9629 // 9630 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 9631 // 9632 // This file contains Original Code and/or Modifications of Original Code 9633 // as defined in and that are subject to the Apple Public Source License 9634 // Version 2.0 (the 'License'). You may not use this file except in 9635 // compliance with the License. The rights granted to you under the License 9636 // may not be used to create, or enable the creation or redistribution of, 9637 // unlawful or unlicensed copies of an Apple operating system, or to 9638 // circumvent, violate, or enable the circumvention or violation of, any 9639 // terms of an Apple operating system software license agreement. 9640 // 9641 // Please obtain a copy of the License at 9642 // http://www.opensource.apple.com/apsl/ and read it before using this file. 9643 // 9644 // The Original Code and all software distributed under the License are 9645 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 9646 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 9647 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 9648 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 9649 // Please see the License for the specific language governing rights and 9650 // limitations under the License. 9651 // 9652 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 9653 9654 // Copyright (c) 2000-2018 Apple Inc. All rights reserved. 9655 // 9656 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 9657 // 9658 // This file contains Original Code and/or Modifications of Original Code 9659 // as defined in and that are subject to the Apple Public Source License 9660 // Version 2.0 (the 'License'). You may not use this file except in 9661 // compliance with the License. The rights granted to you under the License 9662 // may not be used to create, or enable the creation or redistribution of, 9663 // unlawful or unlicensed copies of an Apple operating system, or to 9664 // circumvent, violate, or enable the circumvention or violation of, any 9665 // terms of an Apple operating system software license agreement. 9666 // 9667 // Please obtain a copy of the License at 9668 // http://www.opensource.apple.com/apsl/ and read it before using this file. 9669 // 9670 // The Original Code and all software distributed under the License are 9671 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 9672 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 9673 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 9674 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 9675 // Please see the License for the specific language governing rights and 9676 // limitations under the License. 9677 // 9678 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 9679 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 9680 // Copyright (c) 1991, 1993 9681 // The Regents of the University of California. All rights reserved. 9682 // 9683 // This code is derived from software contributed to Berkeley by 9684 // Berkeley Software Design, Inc. 9685 // 9686 // Redistribution and use in source and binary forms, with or without 9687 // modification, are permitted provided that the following conditions 9688 // are met: 9689 // 1. Redistributions of source code must retain the above copyright 9690 // notice, this list of conditions and the following disclaimer. 9691 // 2. Redistributions in binary form must reproduce the above copyright 9692 // notice, this list of conditions and the following disclaimer in the 9693 // documentation and/or other materials provided with the distribution. 9694 // 3. All advertising materials mentioning features or use of this software 9695 // must display the following acknowledgement: 9696 // This product includes software developed by the University of 9697 // California, Berkeley and its contributors. 9698 // 4. Neither the name of the University nor the names of its contributors 9699 // may be used to endorse or promote products derived from this software 9700 // without specific prior written permission. 9701 // 9702 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 9703 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 9704 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 9705 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 9706 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 9707 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 9708 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 9709 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 9710 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 9711 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 9712 // SUCH DAMAGE. 9713 // 9714 // @(#)cdefs.h 8.8 (Berkeley) 1/9/95 9715 9716 // Copyright (c) 2002 Apple Computer, Inc. All rights reserved. 9717 // 9718 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 9719 // 9720 // This file contains Original Code and/or Modifications of Original Code 9721 // as defined in and that are subject to the Apple Public Source License 9722 // Version 2.0 (the 'License'). You may not use this file except in 9723 // compliance with the License. The rights granted to you under the License 9724 // may not be used to create, or enable the creation or redistribution of, 9725 // unlawful or unlicensed copies of an Apple operating system, or to 9726 // circumvent, violate, or enable the circumvention or violation of, any 9727 // terms of an Apple operating system software license agreement. 9728 // 9729 // Please obtain a copy of the License at 9730 // http://www.opensource.apple.com/apsl/ and read it before using this file. 9731 // 9732 // The Original Code and all software distributed under the License are 9733 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 9734 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 9735 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 9736 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 9737 // Please see the License for the specific language governing rights and 9738 // limitations under the License. 9739 // 9740 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 9741 9742 // Copyright (c) 2017 Apple Inc. All rights reserved. 9743 // 9744 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 9745 // 9746 // This file contains Original Code and/or Modifications of Original Code 9747 // as defined in and that are subject to the Apple Public Source License 9748 // Version 2.0 (the 'License'). You may not use this file except in 9749 // compliance with the License. The rights granted to you under the License 9750 // may not be used to create, or enable the creation or redistribution of, 9751 // unlawful or unlicensed copies of an Apple operating system, or to 9752 // circumvent, violate, or enable the circumvention or violation of, any 9753 // terms of an Apple operating system software license agreement. 9754 // 9755 // Please obtain a copy of the License at 9756 // http://www.opensource.apple.com/apsl/ and read it before using this file. 9757 // 9758 // The Original Code and all software distributed under the License are 9759 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 9760 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 9761 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 9762 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 9763 // Please see the License for the specific language governing rights and 9764 // limitations under the License. 9765 // 9766 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 9767 9768 // Copyright (c) 2004-2007 Apple Inc. All rights reserved. 9769 // 9770 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 9771 // 9772 // This file contains Original Code and/or Modifications of Original Code 9773 // as defined in and that are subject to the Apple Public Source License 9774 // Version 2.0 (the 'License'). You may not use this file except in 9775 // compliance with the License. The rights granted to you under the License 9776 // may not be used to create, or enable the creation or redistribution of, 9777 // unlawful or unlicensed copies of an Apple operating system, or to 9778 // circumvent, violate, or enable the circumvention or violation of, any 9779 // terms of an Apple operating system software license agreement. 9780 // 9781 // Please obtain a copy of the License at 9782 // http://www.opensource.apple.com/apsl/ and read it before using this file. 9783 // 9784 // The Original Code and all software distributed under the License are 9785 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 9786 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 9787 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 9788 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 9789 // Please see the License for the specific language governing rights and 9790 // limitations under the License. 9791 // 9792 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 9793 // @OSF_COPYRIGHT@ 9794 9795 // Copyright (c) 2000-2018 Apple Inc. All rights reserved. 9796 // 9797 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 9798 // 9799 // This file contains Original Code and/or Modifications of Original Code 9800 // as defined in and that are subject to the Apple Public Source License 9801 // Version 2.0 (the 'License'). You may not use this file except in 9802 // compliance with the License. The rights granted to you under the License 9803 // may not be used to create, or enable the creation or redistribution of, 9804 // unlawful or unlicensed copies of an Apple operating system, or to 9805 // circumvent, violate, or enable the circumvention or violation of, any 9806 // terms of an Apple operating system software license agreement. 9807 // 9808 // Please obtain a copy of the License at 9809 // http://www.opensource.apple.com/apsl/ and read it before using this file. 9810 // 9811 // The Original Code and all software distributed under the License are 9812 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 9813 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 9814 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 9815 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 9816 // Please see the License for the specific language governing rights and 9817 // limitations under the License. 9818 // 9819 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 9820 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 9821 // Copyright (c) 1991, 1993 9822 // The Regents of the University of California. All rights reserved. 9823 // 9824 // This code is derived from software contributed to Berkeley by 9825 // Berkeley Software Design, Inc. 9826 // 9827 // Redistribution and use in source and binary forms, with or without 9828 // modification, are permitted provided that the following conditions 9829 // are met: 9830 // 1. Redistributions of source code must retain the above copyright 9831 // notice, this list of conditions and the following disclaimer. 9832 // 2. Redistributions in binary form must reproduce the above copyright 9833 // notice, this list of conditions and the following disclaimer in the 9834 // documentation and/or other materials provided with the distribution. 9835 // 3. All advertising materials mentioning features or use of this software 9836 // must display the following acknowledgement: 9837 // This product includes software developed by the University of 9838 // California, Berkeley and its contributors. 9839 // 4. Neither the name of the University nor the names of its contributors 9840 // may be used to endorse or promote products derived from this software 9841 // without specific prior written permission. 9842 // 9843 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 9844 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 9845 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 9846 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 9847 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 9848 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 9849 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 9850 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 9851 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 9852 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 9853 // SUCH DAMAGE. 9854 // 9855 // @(#)cdefs.h 8.8 (Berkeley) 1/9/95 9856 9857 // Copyright (c) 2000-2007 Apple Inc. All rights reserved. 9858 // 9859 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 9860 // 9861 // This file contains Original Code and/or Modifications of Original Code 9862 // as defined in and that are subject to the Apple Public Source License 9863 // Version 2.0 (the 'License'). You may not use this file except in 9864 // compliance with the License. The rights granted to you under the License 9865 // may not be used to create, or enable the creation or redistribution of, 9866 // unlawful or unlicensed copies of an Apple operating system, or to 9867 // circumvent, violate, or enable the circumvention or violation of, any 9868 // terms of an Apple operating system software license agreement. 9869 // 9870 // Please obtain a copy of the License at 9871 // http://www.opensource.apple.com/apsl/ and read it before using this file. 9872 // 9873 // The Original Code and all software distributed under the License are 9874 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 9875 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 9876 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 9877 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 9878 // Please see the License for the specific language governing rights and 9879 // limitations under the License. 9880 // 9881 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 9882 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 9883 9884 type X__darwin_arm_exception_state = struct { 9885 F__exception X__uint32_t 9886 F__fsr X__uint32_t 9887 F__far X__uint32_t 9888 } /* _structs.h:41:1 */ 9889 9890 type X__darwin_arm_exception_state64 = struct { 9891 F__far X__uint64_t 9892 F__esr X__uint32_t 9893 F__exception X__uint32_t 9894 } /* _structs.h:59:1 */ 9895 9896 type X__darwin_arm_thread_state = struct { 9897 F__r [13]X__uint32_t 9898 F__sp X__uint32_t 9899 F__lr X__uint32_t 9900 F__pc X__uint32_t 9901 F__cpsr X__uint32_t 9902 } /* _structs.h:77:1 */ 9903 9904 // By default, the pointer fields in the arm_thread_state64_t structure are 9905 // opaque on the arm64e architecture and require the use of accessor macros. 9906 // This mode can also be enabled on the arm64 architecture by building with 9907 // -D__DARWIN_OPAQUE_ARM_THREAD_STATE64=1. 9908 9909 type X__darwin_arm_thread_state64 = struct { 9910 F__x [29]X__uint64_t 9911 F__fp X__uint64_t 9912 F__lr X__uint64_t 9913 F__sp X__uint64_t 9914 F__pc X__uint64_t 9915 F__cpsr X__uint32_t 9916 F__pad X__uint32_t 9917 } /* _structs.h:136:1 */ 9918 9919 // Accessor macros for arm_thread_state64_t pointer fields 9920 9921 // Return pc field of arm_thread_state64_t as a data pointer value 9922 // Return pc field of arm_thread_state64_t as a function pointer 9923 // Set pc field of arm_thread_state64_t to a function pointer 9924 // Return lr field of arm_thread_state64_t as a data pointer value 9925 // Return lr field of arm_thread_state64_t as a function pointer 9926 // Set lr field of arm_thread_state64_t to a function pointer 9927 // Return sp field of arm_thread_state64_t as a data pointer value 9928 // Set sp field of arm_thread_state64_t to a data pointer value 9929 // Return fp field of arm_thread_state64_t as a data pointer value 9930 // Set fp field of arm_thread_state64_t to a data pointer value 9931 // Strip ptr auth bits from pc, lr, sp and fp field of arm_thread_state64_t 9932 9933 type X__darwin_arm_vfp_state = struct { 9934 F__r [64]X__uint32_t 9935 F__fpscr X__uint32_t 9936 } /* _structs.h:424:1 */ 9937 9938 type X__darwin_arm_neon_state64 = struct { 9939 F__v [32]X__uint128_t 9940 F__fpsr X__uint32_t 9941 F__fpcr X__uint32_t 9942 } /* _structs.h:443:1 */ 9943 9944 type X__darwin_arm_neon_state = struct { 9945 F__v [16]X__uint128_t 9946 F__fpsr X__uint32_t 9947 F__fpcr X__uint32_t 9948 } /* _structs.h:450:1 */ 9949 9950 type X__arm_pagein_state = struct{ F__pagein_error int32 } /* _structs.h:514:1 */ 9951 9952 // Debug State 9953 9954 // ARM's arm_debug_state is ARM64's arm_legacy_debug_state 9955 9956 type X__arm_legacy_debug_state = struct { 9957 F__bvr [16]X__uint32_t 9958 F__bcr [16]X__uint32_t 9959 F__wvr [16]X__uint32_t 9960 F__wcr [16]X__uint32_t 9961 } /* _structs.h:551:1 */ 9962 9963 type X__darwin_arm_debug_state32 = struct { 9964 F__bvr [16]X__uint32_t 9965 F__bcr [16]X__uint32_t 9966 F__wvr [16]X__uint32_t 9967 F__wcr [16]X__uint32_t 9968 F__mdscr_el1 X__uint64_t 9969 } /* _structs.h:574:1 */ 9970 9971 type X__darwin_arm_debug_state64 = struct { 9972 F__bvr [16]X__uint64_t 9973 F__bcr [16]X__uint64_t 9974 F__wvr [16]X__uint64_t 9975 F__wcr [16]X__uint64_t 9976 F__mdscr_el1 X__uint64_t 9977 } /* _structs.h:584:1 */ 9978 9979 type X__darwin_arm_cpmu_state64 = struct{ F__ctrs [16]X__uint64_t } /* _structs.h:616:1 */ 9980 9981 type X__darwin_mcontext32 = struct { 9982 F__es struct { 9983 F__exception X__uint32_t 9984 F__fsr X__uint32_t 9985 F__far X__uint32_t 9986 } 9987 F__ss struct { 9988 F__r [13]X__uint32_t 9989 F__sp X__uint32_t 9990 F__lr X__uint32_t 9991 F__pc X__uint32_t 9992 F__cpsr X__uint32_t 9993 } 9994 F__fs struct { 9995 F__r [64]X__uint32_t 9996 F__fpscr X__uint32_t 9997 } 9998 } /* _mcontext.h:41:1 */ 9999 10000 type X__darwin_mcontext64 = struct { 10001 F__es struct { 10002 F__far X__uint64_t 10003 F__esr X__uint32_t 10004 F__exception X__uint32_t 10005 } 10006 F__ss struct { 10007 F__x [29]X__uint64_t 10008 F__fp X__uint64_t 10009 F__lr X__uint64_t 10010 F__sp X__uint64_t 10011 F__pc X__uint64_t 10012 F__cpsr X__uint32_t 10013 F__pad X__uint32_t 10014 } 10015 F__ns struct { 10016 F__v [32]X__uint128_t 10017 F__fpsr X__uint32_t 10018 F__fpcr X__uint32_t 10019 } 10020 } /* _mcontext.h:64:1 */ 10021 10022 type Mcontext_t = uintptr /* _mcontext.h:85:33 */ 10023 10024 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 10025 // 10026 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 10027 // 10028 // This file contains Original Code and/or Modifications of Original Code 10029 // as defined in and that are subject to the Apple Public Source License 10030 // Version 2.0 (the 'License'). You may not use this file except in 10031 // compliance with the License. The rights granted to you under the License 10032 // may not be used to create, or enable the creation or redistribution of, 10033 // unlawful or unlicensed copies of an Apple operating system, or to 10034 // circumvent, violate, or enable the circumvention or violation of, any 10035 // terms of an Apple operating system software license agreement. 10036 // 10037 // Please obtain a copy of the License at 10038 // http://www.opensource.apple.com/apsl/ and read it before using this file. 10039 // 10040 // The Original Code and all software distributed under the License are 10041 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 10042 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 10043 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 10044 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 10045 // Please see the License for the specific language governing rights and 10046 // limitations under the License. 10047 // 10048 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 10049 10050 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 10051 // 10052 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 10053 // 10054 // This file contains Original Code and/or Modifications of Original Code 10055 // as defined in and that are subject to the Apple Public Source License 10056 // Version 2.0 (the 'License'). You may not use this file except in 10057 // compliance with the License. The rights granted to you under the License 10058 // may not be used to create, or enable the creation or redistribution of, 10059 // unlawful or unlicensed copies of an Apple operating system, or to 10060 // circumvent, violate, or enable the circumvention or violation of, any 10061 // terms of an Apple operating system software license agreement. 10062 // 10063 // Please obtain a copy of the License at 10064 // http://www.opensource.apple.com/apsl/ and read it before using this file. 10065 // 10066 // The Original Code and all software distributed under the License are 10067 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 10068 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 10069 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 10070 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 10071 // Please see the License for the specific language governing rights and 10072 // limitations under the License. 10073 // 10074 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 10075 10076 // Structure used in sigaltstack call. 10077 10078 // Copyright (c) 2000-2018 Apple Inc. All rights reserved. 10079 // 10080 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 10081 // 10082 // This file contains Original Code and/or Modifications of Original Code 10083 // as defined in and that are subject to the Apple Public Source License 10084 // Version 2.0 (the 'License'). You may not use this file except in 10085 // compliance with the License. The rights granted to you under the License 10086 // may not be used to create, or enable the creation or redistribution of, 10087 // unlawful or unlicensed copies of an Apple operating system, or to 10088 // circumvent, violate, or enable the circumvention or violation of, any 10089 // terms of an Apple operating system software license agreement. 10090 // 10091 // Please obtain a copy of the License at 10092 // http://www.opensource.apple.com/apsl/ and read it before using this file. 10093 // 10094 // The Original Code and all software distributed under the License are 10095 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 10096 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 10097 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 10098 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 10099 // Please see the License for the specific language governing rights and 10100 // limitations under the License. 10101 // 10102 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 10103 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 10104 // Copyright (c) 1991, 1993 10105 // The Regents of the University of California. All rights reserved. 10106 // 10107 // This code is derived from software contributed to Berkeley by 10108 // Berkeley Software Design, Inc. 10109 // 10110 // Redistribution and use in source and binary forms, with or without 10111 // modification, are permitted provided that the following conditions 10112 // are met: 10113 // 1. Redistributions of source code must retain the above copyright 10114 // notice, this list of conditions and the following disclaimer. 10115 // 2. Redistributions in binary form must reproduce the above copyright 10116 // notice, this list of conditions and the following disclaimer in the 10117 // documentation and/or other materials provided with the distribution. 10118 // 3. All advertising materials mentioning features or use of this software 10119 // must display the following acknowledgement: 10120 // This product includes software developed by the University of 10121 // California, Berkeley and its contributors. 10122 // 4. Neither the name of the University nor the names of its contributors 10123 // may be used to endorse or promote products derived from this software 10124 // without specific prior written permission. 10125 // 10126 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 10127 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 10128 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 10129 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 10130 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 10131 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 10132 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 10133 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 10134 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 10135 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 10136 // SUCH DAMAGE. 10137 // 10138 // @(#)cdefs.h 8.8 (Berkeley) 1/9/95 10139 10140 // Copyright (c) 2000-2007 Apple Inc. All rights reserved. 10141 // 10142 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 10143 // 10144 // This file contains Original Code and/or Modifications of Original Code 10145 // as defined in and that are subject to the Apple Public Source License 10146 // Version 2.0 (the 'License'). You may not use this file except in 10147 // compliance with the License. The rights granted to you under the License 10148 // may not be used to create, or enable the creation or redistribution of, 10149 // unlawful or unlicensed copies of an Apple operating system, or to 10150 // circumvent, violate, or enable the circumvention or violation of, any 10151 // terms of an Apple operating system software license agreement. 10152 // 10153 // Please obtain a copy of the License at 10154 // http://www.opensource.apple.com/apsl/ and read it before using this file. 10155 // 10156 // The Original Code and all software distributed under the License are 10157 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 10158 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 10159 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 10160 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 10161 // Please see the License for the specific language governing rights and 10162 // limitations under the License. 10163 // 10164 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 10165 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 10166 10167 type X__darwin_sigaltstack = struct { 10168 Fss_sp uintptr 10169 Fss_size X__darwin_size_t 10170 Fss_flags int32 10171 F__ccgo_pad1 [4]byte 10172 } /* _sigaltstack.h:42:1 */ 10173 10174 type Stack_t = X__darwin_sigaltstack /* _sigaltstack.h:48:33 */ // [???] signal stack 10175 10176 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 10177 // 10178 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 10179 // 10180 // This file contains Original Code and/or Modifications of Original Code 10181 // as defined in and that are subject to the Apple Public Source License 10182 // Version 2.0 (the 'License'). You may not use this file except in 10183 // compliance with the License. The rights granted to you under the License 10184 // may not be used to create, or enable the creation or redistribution of, 10185 // unlawful or unlicensed copies of an Apple operating system, or to 10186 // circumvent, violate, or enable the circumvention or violation of, any 10187 // terms of an Apple operating system software license agreement. 10188 // 10189 // Please obtain a copy of the License at 10190 // http://www.opensource.apple.com/apsl/ and read it before using this file. 10191 // 10192 // The Original Code and all software distributed under the License are 10193 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 10194 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 10195 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 10196 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 10197 // Please see the License for the specific language governing rights and 10198 // limitations under the License. 10199 // 10200 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 10201 10202 // Copyright (c) 2000-2018 Apple Inc. All rights reserved. 10203 // 10204 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 10205 // 10206 // This file contains Original Code and/or Modifications of Original Code 10207 // as defined in and that are subject to the Apple Public Source License 10208 // Version 2.0 (the 'License'). You may not use this file except in 10209 // compliance with the License. The rights granted to you under the License 10210 // may not be used to create, or enable the creation or redistribution of, 10211 // unlawful or unlicensed copies of an Apple operating system, or to 10212 // circumvent, violate, or enable the circumvention or violation of, any 10213 // terms of an Apple operating system software license agreement. 10214 // 10215 // Please obtain a copy of the License at 10216 // http://www.opensource.apple.com/apsl/ and read it before using this file. 10217 // 10218 // The Original Code and all software distributed under the License are 10219 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 10220 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 10221 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 10222 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 10223 // Please see the License for the specific language governing rights and 10224 // limitations under the License. 10225 // 10226 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 10227 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 10228 // Copyright (c) 1991, 1993 10229 // The Regents of the University of California. All rights reserved. 10230 // 10231 // This code is derived from software contributed to Berkeley by 10232 // Berkeley Software Design, Inc. 10233 // 10234 // Redistribution and use in source and binary forms, with or without 10235 // modification, are permitted provided that the following conditions 10236 // are met: 10237 // 1. Redistributions of source code must retain the above copyright 10238 // notice, this list of conditions and the following disclaimer. 10239 // 2. Redistributions in binary form must reproduce the above copyright 10240 // notice, this list of conditions and the following disclaimer in the 10241 // documentation and/or other materials provided with the distribution. 10242 // 3. All advertising materials mentioning features or use of this software 10243 // must display the following acknowledgement: 10244 // This product includes software developed by the University of 10245 // California, Berkeley and its contributors. 10246 // 4. Neither the name of the University nor the names of its contributors 10247 // may be used to endorse or promote products derived from this software 10248 // without specific prior written permission. 10249 // 10250 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 10251 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 10252 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 10253 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 10254 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 10255 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 10256 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 10257 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 10258 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 10259 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 10260 // SUCH DAMAGE. 10261 // 10262 // @(#)cdefs.h 8.8 (Berkeley) 1/9/95 10263 10264 // Copyright (c) 2000-2007 Apple Inc. All rights reserved. 10265 // 10266 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 10267 // 10268 // This file contains Original Code and/or Modifications of Original Code 10269 // as defined in and that are subject to the Apple Public Source License 10270 // Version 2.0 (the 'License'). You may not use this file except in 10271 // compliance with the License. The rights granted to you under the License 10272 // may not be used to create, or enable the creation or redistribution of, 10273 // unlawful or unlicensed copies of an Apple operating system, or to 10274 // circumvent, violate, or enable the circumvention or violation of, any 10275 // terms of an Apple operating system software license agreement. 10276 // 10277 // Please obtain a copy of the License at 10278 // http://www.opensource.apple.com/apsl/ and read it before using this file. 10279 // 10280 // The Original Code and all software distributed under the License are 10281 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 10282 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 10283 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 10284 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 10285 // Please see the License for the specific language governing rights and 10286 // limitations under the License. 10287 // 10288 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 10289 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 10290 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 10291 // 10292 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 10293 // 10294 // This file contains Original Code and/or Modifications of Original Code 10295 // as defined in and that are subject to the Apple Public Source License 10296 // Version 2.0 (the 'License'). You may not use this file except in 10297 // compliance with the License. The rights granted to you under the License 10298 // may not be used to create, or enable the creation or redistribution of, 10299 // unlawful or unlicensed copies of an Apple operating system, or to 10300 // circumvent, violate, or enable the circumvention or violation of, any 10301 // terms of an Apple operating system software license agreement. 10302 // 10303 // Please obtain a copy of the License at 10304 // http://www.opensource.apple.com/apsl/ and read it before using this file. 10305 // 10306 // The Original Code and all software distributed under the License are 10307 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 10308 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 10309 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 10310 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 10311 // Please see the License for the specific language governing rights and 10312 // limitations under the License. 10313 // 10314 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 10315 // Copyright (c) 2003-2007 Apple Inc. All rights reserved. 10316 // 10317 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 10318 // 10319 // This file contains Original Code and/or Modifications of Original Code 10320 // as defined in and that are subject to the Apple Public Source License 10321 // Version 2.0 (the 'License'). You may not use this file except in 10322 // compliance with the License. The rights granted to you under the License 10323 // may not be used to create, or enable the creation or redistribution of, 10324 // unlawful or unlicensed copies of an Apple operating system, or to 10325 // circumvent, violate, or enable the circumvention or violation of, any 10326 // terms of an Apple operating system software license agreement. 10327 // 10328 // Please obtain a copy of the License at 10329 // http://www.opensource.apple.com/apsl/ and read it before using this file. 10330 // 10331 // The Original Code and all software distributed under the License are 10332 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 10333 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 10334 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 10335 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 10336 // Please see the License for the specific language governing rights and 10337 // limitations under the License. 10338 // 10339 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 10340 10341 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 10342 // 10343 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 10344 // 10345 // This file contains Original Code and/or Modifications of Original Code 10346 // as defined in and that are subject to the Apple Public Source License 10347 // Version 2.0 (the 'License'). You may not use this file except in 10348 // compliance with the License. The rights granted to you under the License 10349 // may not be used to create, or enable the creation or redistribution of, 10350 // unlawful or unlicensed copies of an Apple operating system, or to 10351 // circumvent, violate, or enable the circumvention or violation of, any 10352 // terms of an Apple operating system software license agreement. 10353 // 10354 // Please obtain a copy of the License at 10355 // http://www.opensource.apple.com/apsl/ and read it before using this file. 10356 // 10357 // The Original Code and all software distributed under the License are 10358 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 10359 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 10360 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 10361 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 10362 // Please see the License for the specific language governing rights and 10363 // limitations under the License. 10364 // 10365 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 10366 10367 // Structure used in sigaltstack call. 10368 10369 type X__darwin_ucontext = struct { 10370 Fuc_onstack int32 10371 Fuc_sigmask X__darwin_sigset_t 10372 Fuc_stack struct { 10373 Fss_sp uintptr 10374 Fss_size X__darwin_size_t 10375 Fss_flags int32 10376 F__ccgo_pad1 [4]byte 10377 } 10378 Fuc_link uintptr 10379 Fuc_mcsize X__darwin_size_t 10380 Fuc_mcontext uintptr 10381 } /* _ucontext.h:43:1 */ 10382 10383 // user context 10384 type Ucontext_t = X__darwin_ucontext /* _ucontext.h:57:33 */ // [???] user context 10385 10386 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 10387 // 10388 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 10389 // 10390 // This file contains Original Code and/or Modifications of Original Code 10391 // as defined in and that are subject to the Apple Public Source License 10392 // Version 2.0 (the 'License'). You may not use this file except in 10393 // compliance with the License. The rights granted to you under the License 10394 // may not be used to create, or enable the creation or redistribution of, 10395 // unlawful or unlicensed copies of an Apple operating system, or to 10396 // circumvent, violate, or enable the circumvention or violation of, any 10397 // terms of an Apple operating system software license agreement. 10398 // 10399 // Please obtain a copy of the License at 10400 // http://www.opensource.apple.com/apsl/ and read it before using this file. 10401 // 10402 // The Original Code and all software distributed under the License are 10403 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 10404 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 10405 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 10406 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 10407 // Please see the License for the specific language governing rights and 10408 // limitations under the License. 10409 // 10410 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 10411 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 10412 // 10413 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 10414 // 10415 // This file contains Original Code and/or Modifications of Original Code 10416 // as defined in and that are subject to the Apple Public Source License 10417 // Version 2.0 (the 'License'). You may not use this file except in 10418 // compliance with the License. The rights granted to you under the License 10419 // may not be used to create, or enable the creation or redistribution of, 10420 // unlawful or unlicensed copies of an Apple operating system, or to 10421 // circumvent, violate, or enable the circumvention or violation of, any 10422 // terms of an Apple operating system software license agreement. 10423 // 10424 // Please obtain a copy of the License at 10425 // http://www.opensource.apple.com/apsl/ and read it before using this file. 10426 // 10427 // The Original Code and all software distributed under the License are 10428 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 10429 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 10430 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 10431 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 10432 // Please see the License for the specific language governing rights and 10433 // limitations under the License. 10434 // 10435 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 10436 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 10437 // 10438 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 10439 // 10440 // This file contains Original Code and/or Modifications of Original Code 10441 // as defined in and that are subject to the Apple Public Source License 10442 // Version 2.0 (the 'License'). You may not use this file except in 10443 // compliance with the License. The rights granted to you under the License 10444 // may not be used to create, or enable the creation or redistribution of, 10445 // unlawful or unlicensed copies of an Apple operating system, or to 10446 // circumvent, violate, or enable the circumvention or violation of, any 10447 // terms of an Apple operating system software license agreement. 10448 // 10449 // Please obtain a copy of the License at 10450 // http://www.opensource.apple.com/apsl/ and read it before using this file. 10451 // 10452 // The Original Code and all software distributed under the License are 10453 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 10454 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 10455 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 10456 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 10457 // Please see the License for the specific language governing rights and 10458 // limitations under the License. 10459 // 10460 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 10461 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 10462 // 10463 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 10464 // 10465 // This file contains Original Code and/or Modifications of Original Code 10466 // as defined in and that are subject to the Apple Public Source License 10467 // Version 2.0 (the 'License'). You may not use this file except in 10468 // compliance with the License. The rights granted to you under the License 10469 // may not be used to create, or enable the creation or redistribution of, 10470 // unlawful or unlicensed copies of an Apple operating system, or to 10471 // circumvent, violate, or enable the circumvention or violation of, any 10472 // terms of an Apple operating system software license agreement. 10473 // 10474 // Please obtain a copy of the License at 10475 // http://www.opensource.apple.com/apsl/ and read it before using this file. 10476 // 10477 // The Original Code and all software distributed under the License are 10478 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 10479 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 10480 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 10481 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 10482 // Please see the License for the specific language governing rights and 10483 // limitations under the License. 10484 // 10485 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 10486 10487 type Sigval = struct { 10488 F__ccgo_pad1 [0]uint64 10489 Fsival_int int32 10490 F__ccgo_pad2 [4]byte 10491 } /* signal.h:158:1 */ 10492 10493 type Sigevent = struct { 10494 Fsigev_notify int32 10495 Fsigev_signo int32 10496 Fsigev_value struct { 10497 F__ccgo_pad1 [0]uint64 10498 Fsival_int int32 10499 F__ccgo_pad2 [4]byte 10500 } 10501 Fsigev_notify_function uintptr 10502 Fsigev_notify_attributes uintptr 10503 } /* signal.h:168:1 */ 10504 10505 type X__siginfo = struct { 10506 Fsi_signo int32 10507 Fsi_errno int32 10508 Fsi_code int32 10509 Fsi_pid Pid_t 10510 Fsi_uid Uid_t 10511 Fsi_status int32 10512 Fsi_addr uintptr 10513 Fsi_value struct { 10514 F__ccgo_pad1 [0]uint64 10515 Fsival_int int32 10516 F__ccgo_pad2 [4]byte 10517 } 10518 Fsi_band int64 10519 F__pad [7]uint64 10520 } /* signal.h:177:9 */ 10521 10522 type Siginfo_t = X__siginfo /* signal.h:188:3 */ 10523 10524 // When the signal is SIGILL or SIGFPE, si_addr contains the address of 10525 // the faulting instruction. 10526 // When the signal is SIGSEGV or SIGBUS, si_addr contains the address of 10527 // the faulting memory reference. Although for x86 there are cases of SIGSEGV 10528 // for which si_addr cannot be determined and is NULL. 10529 // If the signal is SIGCHLD, the si_pid field will contain the child process ID, 10530 // si_status contains the exit value or signal and 10531 // si_uid contains the real user ID of the process that sent the signal. 10532 10533 // Values for si_code 10534 10535 // Codes for SIGILL 10536 10537 // Codes for SIGFPE 10538 10539 // Codes for SIGSEGV 10540 10541 // Codes for SIGBUS 10542 10543 // Codes for SIGTRAP 10544 10545 // Codes for SIGCHLD 10546 10547 // Codes for SIGPOLL 10548 10549 // union for signal handlers 10550 type X__sigaction_u = struct{ F__sa_handler uintptr } /* signal.h:269:1 */ 10551 10552 // Signal vector template for Kernel user boundary 10553 type X__sigaction = struct { 10554 F__sigaction_u struct{ F__sa_handler uintptr } 10555 Fsa_tramp uintptr 10556 Fsa_mask Sigset_t 10557 Fsa_flags int32 10558 } /* signal.h:276:1 */ 10559 10560 // Signal vector "template" used in sigaction call. 10561 type Sigaction = struct { 10562 F__sigaction_u struct{ F__sa_handler uintptr } 10563 Fsa_mask Sigset_t 10564 Fsa_flags int32 10565 } /* signal.h:286:1 */ 10566 10567 // if SA_SIGINFO is set, sa_sigaction is to be used instead of sa_handler. 10568 10569 // This will provide 64bit register set in a 32bit user address space 10570 10571 // the following are the only bits we support from user space, the 10572 // rest are for kernel use only. 10573 10574 // Flags for sigprocmask: 10575 10576 // POSIX 1003.1b required values. 10577 10578 type Sig_t = uintptr /* signal.h:331:14 */ // type of signal function 10579 10580 // Structure used in sigaltstack call. 10581 10582 // 4.3 compatibility: 10583 // Signal vector "template" used in sigvec call. 10584 type Sigvec = struct { 10585 Fsv_handler uintptr 10586 Fsv_mask int32 10587 Fsv_flags int32 10588 } /* signal.h:348:1 */ 10589 10590 // Structure used in sigstack call. 10591 type Sigstack = struct { 10592 Fss_sp uintptr 10593 Fss_onstack int32 10594 F__ccgo_pad1 [4]byte 10595 } /* signal.h:367:1 */ 10596 10597 // Copyright (c) 2000-2018 Apple Inc. All rights reserved. 10598 // 10599 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 10600 // 10601 // This file contains Original Code and/or Modifications of Original Code 10602 // as defined in and that are subject to the Apple Public Source License 10603 // Version 2.0 (the 'License'). You may not use this file except in 10604 // compliance with the License. The rights granted to you under the License 10605 // may not be used to create, or enable the creation or redistribution of, 10606 // unlawful or unlicensed copies of an Apple operating system, or to 10607 // circumvent, violate, or enable the circumvention or violation of, any 10608 // terms of an Apple operating system software license agreement. 10609 // 10610 // Please obtain a copy of the License at 10611 // http://www.opensource.apple.com/apsl/ and read it before using this file. 10612 // 10613 // The Original Code and all software distributed under the License are 10614 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 10615 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 10616 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 10617 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 10618 // Please see the License for the specific language governing rights and 10619 // limitations under the License. 10620 // 10621 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 10622 // Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved 10623 // Copyright (c) 1982, 1986, 1993 10624 // The Regents of the University of California. All rights reserved. 10625 // 10626 // Redistribution and use in source and binary forms, with or without 10627 // modification, are permitted provided that the following conditions 10628 // are met: 10629 // 1. Redistributions of source code must retain the above copyright 10630 // notice, this list of conditions and the following disclaimer. 10631 // 2. Redistributions in binary form must reproduce the above copyright 10632 // notice, this list of conditions and the following disclaimer in the 10633 // documentation and/or other materials provided with the distribution. 10634 // 3. All advertising materials mentioning features or use of this software 10635 // must display the following acknowledgement: 10636 // This product includes software developed by the University of 10637 // California, Berkeley and its contributors. 10638 // 4. Neither the name of the University nor the names of its contributors 10639 // may be used to endorse or promote products derived from this software 10640 // without specific prior written permission. 10641 // 10642 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 10643 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 10644 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 10645 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 10646 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 10647 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 10648 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 10649 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 10650 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 10651 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 10652 // SUCH DAMAGE. 10653 // 10654 // @(#)resource.h 8.2 (Berkeley) 1/4/94 10655 10656 // Copyright (c) 2002 Apple Computer, Inc. All rights reserved. 10657 // 10658 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 10659 // 10660 // This file contains Original Code and/or Modifications of Original Code 10661 // as defined in and that are subject to the Apple Public Source License 10662 // Version 2.0 (the 'License'). You may not use this file except in 10663 // compliance with the License. The rights granted to you under the License 10664 // may not be used to create, or enable the creation or redistribution of, 10665 // unlawful or unlicensed copies of an Apple operating system, or to 10666 // circumvent, violate, or enable the circumvention or violation of, any 10667 // terms of an Apple operating system software license agreement. 10668 // 10669 // Please obtain a copy of the License at 10670 // http://www.opensource.apple.com/apsl/ and read it before using this file. 10671 // 10672 // The Original Code and all software distributed under the License are 10673 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 10674 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 10675 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 10676 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 10677 // Please see the License for the specific language governing rights and 10678 // limitations under the License. 10679 // 10680 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 10681 10682 // Copyright (c) 2000-2018 Apple Inc. All rights reserved. 10683 // 10684 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 10685 // 10686 // This file contains Original Code and/or Modifications of Original Code 10687 // as defined in and that are subject to the Apple Public Source License 10688 // Version 2.0 (the 'License'). You may not use this file except in 10689 // compliance with the License. The rights granted to you under the License 10690 // may not be used to create, or enable the creation or redistribution of, 10691 // unlawful or unlicensed copies of an Apple operating system, or to 10692 // circumvent, violate, or enable the circumvention or violation of, any 10693 // terms of an Apple operating system software license agreement. 10694 // 10695 // Please obtain a copy of the License at 10696 // http://www.opensource.apple.com/apsl/ and read it before using this file. 10697 // 10698 // The Original Code and all software distributed under the License are 10699 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 10700 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 10701 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 10702 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 10703 // Please see the License for the specific language governing rights and 10704 // limitations under the License. 10705 // 10706 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 10707 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 10708 // Copyright (c) 1991, 1993 10709 // The Regents of the University of California. All rights reserved. 10710 // 10711 // This code is derived from software contributed to Berkeley by 10712 // Berkeley Software Design, Inc. 10713 // 10714 // Redistribution and use in source and binary forms, with or without 10715 // modification, are permitted provided that the following conditions 10716 // are met: 10717 // 1. Redistributions of source code must retain the above copyright 10718 // notice, this list of conditions and the following disclaimer. 10719 // 2. Redistributions in binary form must reproduce the above copyright 10720 // notice, this list of conditions and the following disclaimer in the 10721 // documentation and/or other materials provided with the distribution. 10722 // 3. All advertising materials mentioning features or use of this software 10723 // must display the following acknowledgement: 10724 // This product includes software developed by the University of 10725 // California, Berkeley and its contributors. 10726 // 4. Neither the name of the University nor the names of its contributors 10727 // may be used to endorse or promote products derived from this software 10728 // without specific prior written permission. 10729 // 10730 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 10731 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 10732 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 10733 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 10734 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 10735 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 10736 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 10737 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 10738 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 10739 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 10740 // SUCH DAMAGE. 10741 // 10742 // @(#)cdefs.h 8.8 (Berkeley) 1/9/95 10743 10744 // Copyright (c) 2003-2007 Apple Inc. All rights reserved. 10745 // 10746 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 10747 // 10748 // This file contains Original Code and/or Modifications of Original Code 10749 // as defined in and that are subject to the Apple Public Source License 10750 // Version 2.0 (the 'License'). You may not use this file except in 10751 // compliance with the License. The rights granted to you under the License 10752 // may not be used to create, or enable the creation or redistribution of, 10753 // unlawful or unlicensed copies of an Apple operating system, or to 10754 // circumvent, violate, or enable the circumvention or violation of, any 10755 // terms of an Apple operating system software license agreement. 10756 // 10757 // Please obtain a copy of the License at 10758 // http://www.opensource.apple.com/apsl/ and read it before using this file. 10759 // 10760 // The Original Code and all software distributed under the License are 10761 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 10762 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 10763 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 10764 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 10765 // Please see the License for the specific language governing rights and 10766 // limitations under the License. 10767 // 10768 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 10769 10770 // Copyright (c) 2007-2016 by Apple Inc.. All rights reserved. 10771 // 10772 // @APPLE_LICENSE_HEADER_START@ 10773 // 10774 // This file contains Original Code and/or Modifications of Original Code 10775 // as defined in and that are subject to the Apple Public Source License 10776 // Version 2.0 (the 'License'). You may not use this file except in 10777 // compliance with the License. Please obtain a copy of the License at 10778 // http://www.opensource.apple.com/apsl/ and read it before using this 10779 // file. 10780 // 10781 // The Original Code and all software distributed under the License are 10782 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 10783 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 10784 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 10785 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 10786 // Please see the License for the specific language governing rights and 10787 // limitations under the License. 10788 // 10789 // @APPLE_LICENSE_HEADER_END@ 10790 10791 // [XSI] The timeval structure shall be defined as described in 10792 // <sys/time.h> 10793 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 10794 // 10795 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 10796 // 10797 // This file contains Original Code and/or Modifications of Original Code 10798 // as defined in and that are subject to the Apple Public Source License 10799 // Version 2.0 (the 'License'). You may not use this file except in 10800 // compliance with the License. The rights granted to you under the License 10801 // may not be used to create, or enable the creation or redistribution of, 10802 // unlawful or unlicensed copies of an Apple operating system, or to 10803 // circumvent, violate, or enable the circumvention or violation of, any 10804 // terms of an Apple operating system software license agreement. 10805 // 10806 // Please obtain a copy of the License at 10807 // http://www.opensource.apple.com/apsl/ and read it before using this file. 10808 // 10809 // The Original Code and all software distributed under the License are 10810 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 10811 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 10812 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 10813 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 10814 // Please see the License for the specific language governing rights and 10815 // limitations under the License. 10816 // 10817 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 10818 10819 // The id_t type shall be defined as described in <sys/types.h> 10820 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 10821 // 10822 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 10823 // 10824 // This file contains Original Code and/or Modifications of Original Code 10825 // as defined in and that are subject to the Apple Public Source License 10826 // Version 2.0 (the 'License'). You may not use this file except in 10827 // compliance with the License. The rights granted to you under the License 10828 // may not be used to create, or enable the creation or redistribution of, 10829 // unlawful or unlicensed copies of an Apple operating system, or to 10830 // circumvent, violate, or enable the circumvention or violation of, any 10831 // terms of an Apple operating system software license agreement. 10832 // 10833 // Please obtain a copy of the License at 10834 // http://www.opensource.apple.com/apsl/ and read it before using this file. 10835 // 10836 // The Original Code and all software distributed under the License are 10837 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 10838 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 10839 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 10840 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 10841 // Please see the License for the specific language governing rights and 10842 // limitations under the License. 10843 // 10844 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 10845 10846 // Resource limit type (low 63 bits, excluding the sign bit) 10847 type Rlim_t = X__uint64_t /* resource.h:89:25 */ 10848 10849 // **** 10850 // 10851 // PRIORITY 10852 10853 // Possible values of the first parameter to getpriority()/setpriority(), 10854 // used to indicate the type of the second parameter. 10855 10856 // Range limitations for the value of the third parameter to setpriority(). 10857 10858 // use PRIO_DARWIN_BG to set the current thread into "background" state 10859 // which lowers CPU, disk IO, and networking priorites until thread terminates 10860 // or "background" state is revoked 10861 10862 // use PRIO_DARWIN_NONUI to restrict a process's ability to make calls to 10863 // the GPU. (deprecated) 10864 10865 // **** 10866 // 10867 // RESOURCE USAGE 10868 10869 // Possible values of the first parameter to getrusage(), used to indicate 10870 // the scope of the information to be returned. 10871 10872 // A structure representing an accounting of resource utilization. The 10873 // address of an instance of this structure is the second parameter to 10874 // getrusage(). 10875 // 10876 // Note: All values other than ru_utime and ru_stime are implementaiton 10877 // defined and subject to change in a future release. Their use 10878 // is discouraged for standards compliant programs. 10879 type Rusage = struct { 10880 Fru_utime struct { 10881 Ftv_sec X__darwin_time_t 10882 Ftv_usec X__darwin_suseconds_t 10883 F__ccgo_pad1 [4]byte 10884 } 10885 Fru_stime struct { 10886 Ftv_sec X__darwin_time_t 10887 Ftv_usec X__darwin_suseconds_t 10888 F__ccgo_pad1 [4]byte 10889 } 10890 Fru_maxrss int64 10891 Fru_ixrss int64 10892 Fru_idrss int64 10893 Fru_isrss int64 10894 Fru_minflt int64 10895 Fru_majflt int64 10896 Fru_nswap int64 10897 Fru_inblock int64 10898 Fru_oublock int64 10899 Fru_msgsnd int64 10900 Fru_msgrcv int64 10901 Fru_nsignals int64 10902 Fru_nvcsw int64 10903 Fru_nivcsw int64 10904 } /* resource.h:152:1 */ 10905 10906 // Flavors for proc_pid_rusage(). 10907 10908 // Flags for RUSAGE_INFO_V5 10909 10910 type Rusage_info_t = uintptr /* resource.h:199:14 */ 10911 10912 type Rusage_info_v0 = struct { 10913 Fri_uuid [16]Uint8_t 10914 Fri_user_time Uint64_t 10915 Fri_system_time Uint64_t 10916 Fri_pkg_idle_wkups Uint64_t 10917 Fri_interrupt_wkups Uint64_t 10918 Fri_pageins Uint64_t 10919 Fri_wired_size Uint64_t 10920 Fri_resident_size Uint64_t 10921 Fri_phys_footprint Uint64_t 10922 Fri_proc_start_abstime Uint64_t 10923 Fri_proc_exit_abstime Uint64_t 10924 } /* resource.h:201:1 */ 10925 10926 type Rusage_info_v1 = struct { 10927 Fri_uuid [16]Uint8_t 10928 Fri_user_time Uint64_t 10929 Fri_system_time Uint64_t 10930 Fri_pkg_idle_wkups Uint64_t 10931 Fri_interrupt_wkups Uint64_t 10932 Fri_pageins Uint64_t 10933 Fri_wired_size Uint64_t 10934 Fri_resident_size Uint64_t 10935 Fri_phys_footprint Uint64_t 10936 Fri_proc_start_abstime Uint64_t 10937 Fri_proc_exit_abstime Uint64_t 10938 Fri_child_user_time Uint64_t 10939 Fri_child_system_time Uint64_t 10940 Fri_child_pkg_idle_wkups Uint64_t 10941 Fri_child_interrupt_wkups Uint64_t 10942 Fri_child_pageins Uint64_t 10943 Fri_child_elapsed_abstime Uint64_t 10944 } /* resource.h:215:1 */ 10945 10946 type Rusage_info_v2 = struct { 10947 Fri_uuid [16]Uint8_t 10948 Fri_user_time Uint64_t 10949 Fri_system_time Uint64_t 10950 Fri_pkg_idle_wkups Uint64_t 10951 Fri_interrupt_wkups Uint64_t 10952 Fri_pageins Uint64_t 10953 Fri_wired_size Uint64_t 10954 Fri_resident_size Uint64_t 10955 Fri_phys_footprint Uint64_t 10956 Fri_proc_start_abstime Uint64_t 10957 Fri_proc_exit_abstime Uint64_t 10958 Fri_child_user_time Uint64_t 10959 Fri_child_system_time Uint64_t 10960 Fri_child_pkg_idle_wkups Uint64_t 10961 Fri_child_interrupt_wkups Uint64_t 10962 Fri_child_pageins Uint64_t 10963 Fri_child_elapsed_abstime Uint64_t 10964 Fri_diskio_bytesread Uint64_t 10965 Fri_diskio_byteswritten Uint64_t 10966 } /* resource.h:235:1 */ 10967 10968 type Rusage_info_v3 = struct { 10969 Fri_uuid [16]Uint8_t 10970 Fri_user_time Uint64_t 10971 Fri_system_time Uint64_t 10972 Fri_pkg_idle_wkups Uint64_t 10973 Fri_interrupt_wkups Uint64_t 10974 Fri_pageins Uint64_t 10975 Fri_wired_size Uint64_t 10976 Fri_resident_size Uint64_t 10977 Fri_phys_footprint Uint64_t 10978 Fri_proc_start_abstime Uint64_t 10979 Fri_proc_exit_abstime Uint64_t 10980 Fri_child_user_time Uint64_t 10981 Fri_child_system_time Uint64_t 10982 Fri_child_pkg_idle_wkups Uint64_t 10983 Fri_child_interrupt_wkups Uint64_t 10984 Fri_child_pageins Uint64_t 10985 Fri_child_elapsed_abstime Uint64_t 10986 Fri_diskio_bytesread Uint64_t 10987 Fri_diskio_byteswritten Uint64_t 10988 Fri_cpu_time_qos_default Uint64_t 10989 Fri_cpu_time_qos_maintenance Uint64_t 10990 Fri_cpu_time_qos_background Uint64_t 10991 Fri_cpu_time_qos_utility Uint64_t 10992 Fri_cpu_time_qos_legacy Uint64_t 10993 Fri_cpu_time_qos_user_initiated Uint64_t 10994 Fri_cpu_time_qos_user_interactive Uint64_t 10995 Fri_billed_system_time Uint64_t 10996 Fri_serviced_system_time Uint64_t 10997 } /* resource.h:257:1 */ 10998 10999 type Rusage_info_v4 = struct { 11000 Fri_uuid [16]Uint8_t 11001 Fri_user_time Uint64_t 11002 Fri_system_time Uint64_t 11003 Fri_pkg_idle_wkups Uint64_t 11004 Fri_interrupt_wkups Uint64_t 11005 Fri_pageins Uint64_t 11006 Fri_wired_size Uint64_t 11007 Fri_resident_size Uint64_t 11008 Fri_phys_footprint Uint64_t 11009 Fri_proc_start_abstime Uint64_t 11010 Fri_proc_exit_abstime Uint64_t 11011 Fri_child_user_time Uint64_t 11012 Fri_child_system_time Uint64_t 11013 Fri_child_pkg_idle_wkups Uint64_t 11014 Fri_child_interrupt_wkups Uint64_t 11015 Fri_child_pageins Uint64_t 11016 Fri_child_elapsed_abstime Uint64_t 11017 Fri_diskio_bytesread Uint64_t 11018 Fri_diskio_byteswritten Uint64_t 11019 Fri_cpu_time_qos_default Uint64_t 11020 Fri_cpu_time_qos_maintenance Uint64_t 11021 Fri_cpu_time_qos_background Uint64_t 11022 Fri_cpu_time_qos_utility Uint64_t 11023 Fri_cpu_time_qos_legacy Uint64_t 11024 Fri_cpu_time_qos_user_initiated Uint64_t 11025 Fri_cpu_time_qos_user_interactive Uint64_t 11026 Fri_billed_system_time Uint64_t 11027 Fri_serviced_system_time Uint64_t 11028 Fri_logical_writes Uint64_t 11029 Fri_lifetime_max_phys_footprint Uint64_t 11030 Fri_instructions Uint64_t 11031 Fri_cycles Uint64_t 11032 Fri_billed_energy Uint64_t 11033 Fri_serviced_energy Uint64_t 11034 Fri_interval_max_phys_footprint Uint64_t 11035 Fri_runnable_time Uint64_t 11036 } /* resource.h:288:1 */ 11037 11038 type Rusage_info_v5 = struct { 11039 Fri_uuid [16]Uint8_t 11040 Fri_user_time Uint64_t 11041 Fri_system_time Uint64_t 11042 Fri_pkg_idle_wkups Uint64_t 11043 Fri_interrupt_wkups Uint64_t 11044 Fri_pageins Uint64_t 11045 Fri_wired_size Uint64_t 11046 Fri_resident_size Uint64_t 11047 Fri_phys_footprint Uint64_t 11048 Fri_proc_start_abstime Uint64_t 11049 Fri_proc_exit_abstime Uint64_t 11050 Fri_child_user_time Uint64_t 11051 Fri_child_system_time Uint64_t 11052 Fri_child_pkg_idle_wkups Uint64_t 11053 Fri_child_interrupt_wkups Uint64_t 11054 Fri_child_pageins Uint64_t 11055 Fri_child_elapsed_abstime Uint64_t 11056 Fri_diskio_bytesread Uint64_t 11057 Fri_diskio_byteswritten Uint64_t 11058 Fri_cpu_time_qos_default Uint64_t 11059 Fri_cpu_time_qos_maintenance Uint64_t 11060 Fri_cpu_time_qos_background Uint64_t 11061 Fri_cpu_time_qos_utility Uint64_t 11062 Fri_cpu_time_qos_legacy Uint64_t 11063 Fri_cpu_time_qos_user_initiated Uint64_t 11064 Fri_cpu_time_qos_user_interactive Uint64_t 11065 Fri_billed_system_time Uint64_t 11066 Fri_serviced_system_time Uint64_t 11067 Fri_logical_writes Uint64_t 11068 Fri_lifetime_max_phys_footprint Uint64_t 11069 Fri_instructions Uint64_t 11070 Fri_cycles Uint64_t 11071 Fri_billed_energy Uint64_t 11072 Fri_serviced_energy Uint64_t 11073 Fri_interval_max_phys_footprint Uint64_t 11074 Fri_runnable_time Uint64_t 11075 Fri_flags Uint64_t 11076 } /* resource.h:327:1 */ 11077 11078 type Rusage_info_current = Rusage_info_v5 /* resource.h:367:31 */ 11079 11080 // **** 11081 // 11082 // RESOURCE LIMITS 11083 11084 // Symbolic constants for resource limits; since all limits are representable 11085 // as a type rlim_t, we are permitted to define RLIM_SAVED_* in terms of 11086 // RLIM_INFINITY. 11087 11088 // Possible values of the first parameter to getrlimit()/setrlimit(), to 11089 // indicate for which resource the operation is being performed. 11090 11091 // A structure representing a resource limit. The address of an instance 11092 // of this structure is the second parameter to getrlimit()/setrlimit(). 11093 type Rlimit = struct { 11094 Frlim_cur Rlim_t 11095 Frlim_max Rlim_t 11096 } /* resource.h:411:1 */ 11097 11098 // proc_rlimit_control() 11099 // 11100 // Resource limit flavors 11101 11102 // Flags for wakeups monitor control. 11103 11104 // Flags for CPU usage monitor control. 11105 11106 // Flags for memory footprint interval tracking. 11107 11108 type Proc_rlimit_control_wakeupmon = struct { 11109 Fwm_flags Uint32_t 11110 Fwm_rate Int32_t 11111 } /* resource.h:446:1 */ 11112 11113 // Option bits for the third argument of wait4. WNOHANG causes the 11114 // wait to not hang if there are no stopped or terminated processes, rather 11115 // returning an error indication in this case (pid==0). WUNTRACED 11116 // indicates that the caller should receive status about untraced children 11117 // which stop due to signals. If children are stopped and a wait without 11118 // this option is done, it is as though they were still running... nothing 11119 // about them is returned. 11120 11121 // Macros to test the exit status returned by wait 11122 // and extract the relevant values. 11123 11124 // These macros are permited, as they are in the implementation namespace 11125 11126 // [XSI] The <sys/wait.h> header shall define the following macros for 11127 // analysis of process status values 11128 // 0x13 == SIGCONT 11129 11130 // [XSI] The following symbolic constants shall be defined as possible 11131 // values for the fourth argument to waitid(). 11132 // WNOHANG already defined for wait4() 11133 // WUNTRACED defined for wait4() but not for waitid() 11134 // waitid() parameter 11135 11136 // POSIX extensions and 4.2/4.3 compatability: 11137 11138 // Tokens for special values of the "pid" parameter to wait4. 11139 11140 // Copyright (c) 2000-2007 Apple Inc. All rights reserved. 11141 // 11142 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 11143 // 11144 // This file contains Original Code and/or Modifications of Original Code 11145 // as defined in and that are subject to the Apple Public Source License 11146 // Version 2.0 (the 'License'). You may not use this file except in 11147 // compliance with the License. The rights granted to you under the License 11148 // may not be used to create, or enable the creation or redistribution of, 11149 // unlawful or unlicensed copies of an Apple operating system, or to 11150 // circumvent, violate, or enable the circumvention or violation of, any 11151 // terms of an Apple operating system software license agreement. 11152 // 11153 // Please obtain a copy of the License at 11154 // http://www.opensource.apple.com/apsl/ and read it before using this file. 11155 // 11156 // The Original Code and all software distributed under the License are 11157 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 11158 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 11159 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 11160 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 11161 // Please see the License for the specific language governing rights and 11162 // limitations under the License. 11163 // 11164 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 11165 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 11166 11167 // Deprecated: 11168 // Structure of the information in the status word returned by wait4. 11169 // If w_stopval==_WSTOPPED, then the second structure describes 11170 // the information returned, else the first. 11171 type Wait = struct{ Fw_status int32 } /* wait.h:194:1 */ 11172 11173 // built-in for gcc 11174 11175 // built-in for gcc 3 11176 11177 // DO NOT REMOVE THIS COMMENT: fixincludes needs to see: 11178 // _GCC_SIZE_T 11179 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 11180 // 11181 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 11182 // 11183 // This file contains Original Code and/or Modifications of Original Code 11184 // as defined in and that are subject to the Apple Public Source License 11185 // Version 2.0 (the 'License'). You may not use this file except in 11186 // compliance with the License. The rights granted to you under the License 11187 // may not be used to create, or enable the creation or redistribution of, 11188 // unlawful or unlicensed copies of an Apple operating system, or to 11189 // circumvent, violate, or enable the circumvention or violation of, any 11190 // terms of an Apple operating system software license agreement. 11191 // 11192 // Please obtain a copy of the License at 11193 // http://www.opensource.apple.com/apsl/ and read it before using this file. 11194 // 11195 // The Original Code and all software distributed under the License are 11196 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 11197 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 11198 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 11199 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 11200 // Please see the License for the specific language governing rights and 11201 // limitations under the License. 11202 // 11203 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 11204 11205 // Copyright (c) 2012 Apple Inc. All rights reserved. 11206 // 11207 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 11208 // 11209 // This file contains Original Code and/or Modifications of Original Code 11210 // as defined in and that are subject to the Apple Public Source License 11211 // Version 2.0 (the 'License'). You may not use this file except in 11212 // compliance with the License. The rights granted to you under the License 11213 // may not be used to create, or enable the creation or redistribution of, 11214 // unlawful or unlicensed copies of an Apple operating system, or to 11215 // circumvent, violate, or enable the circumvention or violation of, any 11216 // terms of an Apple operating system software license agreement. 11217 // 11218 // Please obtain a copy of the License at 11219 // http://www.opensource.apple.com/apsl/ and read it before using this file. 11220 // 11221 // The Original Code and all software distributed under the License are 11222 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 11223 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 11224 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 11225 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 11226 // Please see the License for the specific language governing rights and 11227 // limitations under the License. 11228 // 11229 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 11230 11231 // Copyright (c) 2003-2007 Apple Inc. All rights reserved. 11232 // 11233 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 11234 // 11235 // This file contains Original Code and/or Modifications of Original Code 11236 // as defined in and that are subject to the Apple Public Source License 11237 // Version 2.0 (the 'License'). You may not use this file except in 11238 // compliance with the License. The rights granted to you under the License 11239 // may not be used to create, or enable the creation or redistribution of, 11240 // unlawful or unlicensed copies of an Apple operating system, or to 11241 // circumvent, violate, or enable the circumvention or violation of, any 11242 // terms of an Apple operating system software license agreement. 11243 // 11244 // Please obtain a copy of the License at 11245 // http://www.opensource.apple.com/apsl/ and read it before using this file. 11246 // 11247 // The Original Code and all software distributed under the License are 11248 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 11249 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 11250 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 11251 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 11252 // Please see the License for the specific language governing rights and 11253 // limitations under the License. 11254 // 11255 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 11256 type Ct_rune_t = X__darwin_ct_rune_t /* _ct_rune_t.h:32:28 */ 11257 // Copyright (c) 2012 Apple Inc. All rights reserved. 11258 // 11259 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 11260 // 11261 // This file contains Original Code and/or Modifications of Original Code 11262 // as defined in and that are subject to the Apple Public Source License 11263 // Version 2.0 (the 'License'). You may not use this file except in 11264 // compliance with the License. The rights granted to you under the License 11265 // may not be used to create, or enable the creation or redistribution of, 11266 // unlawful or unlicensed copies of an Apple operating system, or to 11267 // circumvent, violate, or enable the circumvention or violation of, any 11268 // terms of an Apple operating system software license agreement. 11269 // 11270 // Please obtain a copy of the License at 11271 // http://www.opensource.apple.com/apsl/ and read it before using this file. 11272 // 11273 // The Original Code and all software distributed under the License are 11274 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 11275 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 11276 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 11277 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 11278 // Please see the License for the specific language governing rights and 11279 // limitations under the License. 11280 // 11281 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 11282 // Copyright (c) 2003-2007 Apple Inc. All rights reserved. 11283 // 11284 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 11285 // 11286 // This file contains Original Code and/or Modifications of Original Code 11287 // as defined in and that are subject to the Apple Public Source License 11288 // Version 2.0 (the 'License'). You may not use this file except in 11289 // compliance with the License. The rights granted to you under the License 11290 // may not be used to create, or enable the creation or redistribution of, 11291 // unlawful or unlicensed copies of an Apple operating system, or to 11292 // circumvent, violate, or enable the circumvention or violation of, any 11293 // terms of an Apple operating system software license agreement. 11294 // 11295 // Please obtain a copy of the License at 11296 // http://www.opensource.apple.com/apsl/ and read it before using this file. 11297 // 11298 // The Original Code and all software distributed under the License are 11299 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 11300 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 11301 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 11302 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 11303 // Please see the License for the specific language governing rights and 11304 // limitations under the License. 11305 // 11306 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 11307 type Rune_t = X__darwin_rune_t /* _rune_t.h:31:25 */ 11308 11309 // Copyright (c) 2012 Apple Inc. All rights reserved. 11310 // 11311 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 11312 // 11313 // This file contains Original Code and/or Modifications of Original Code 11314 // as defined in and that are subject to the Apple Public Source License 11315 // Version 2.0 (the 'License'). You may not use this file except in 11316 // compliance with the License. The rights granted to you under the License 11317 // may not be used to create, or enable the creation or redistribution of, 11318 // unlawful or unlicensed copies of an Apple operating system, or to 11319 // circumvent, violate, or enable the circumvention or violation of, any 11320 // terms of an Apple operating system software license agreement. 11321 // 11322 // Please obtain a copy of the License at 11323 // http://www.opensource.apple.com/apsl/ and read it before using this file. 11324 // 11325 // The Original Code and all software distributed under the License are 11326 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 11327 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 11328 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 11329 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 11330 // Please see the License for the specific language governing rights and 11331 // limitations under the License. 11332 // 11333 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 11334 11335 // wchar_t is a built-in type in C++ 11336 11337 type Div_t = struct { 11338 Fquot int32 11339 Frem int32 11340 } /* stdlib.h:86:3 */ 11341 11342 type Ldiv_t = struct { 11343 Fquot int64 11344 Frem int64 11345 } /* stdlib.h:91:3 */ 11346 11347 type Lldiv_t = struct { 11348 Fquot int64 11349 Frem int64 11350 } /* stdlib.h:97:3 */ // getsubopt(3) external variable 11351 // valloc is now declared in _malloc.h 11352 11353 // Poison the following routines if -fshort-wchar is set 11354 11355 // since "static" is used to mean two completely different things in C, we 11356 // define "local" for the non-static meaning of "static", for readability 11357 // (compile with -Dlocal if your debugger can't find static symbols) 11358 11359 type Uch = uint8 /* zutil.h:43:24 */ 11360 type Uchf = Uch /* zutil.h:44:17 */ 11361 type Ush = uint16 /* zutil.h:45:24 */ 11362 type Ushf = Ush /* zutil.h:46:17 */ 11363 type Ulg = uint64 /* zutil.h:47:24 */ 11364 11365 // NMAX is the largest n such that 255n(n+1)/2 + (n+1)(BASE-1) <= 2^32-1 11366 11367 // use NO_DIVIDE if your processor does not do division in hardware -- 11368 // try it both ways to see which is faster 11369 11370 // ========================================================================= 11371 func Xadler32_z(tls *libc.TLS, adler ULong, buf uintptr, len Z_size_t) ULong { /* adler32.c:63:15: */ 11372 var sum2 uint64 11373 var n uint32 11374 11375 // split Adler-32 into component sums 11376 sum2 = adler >> 16 & uint64(0xffff) 11377 adler = adler & uint64(0xffff) 11378 11379 // in case user likes doing a byte at a time, keep it fast 11380 if len == uint64(1) { 11381 adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf))) 11382 if adler >= uint64(BASE) { 11383 adler = adler - uint64(BASE) 11384 } 11385 sum2 = sum2 + adler 11386 if sum2 >= uint64(BASE) { 11387 sum2 = sum2 - uint64(BASE) 11388 } 11389 return adler | sum2<<16 11390 } 11391 11392 // initial Adler-32 value (deferred check for len == 1 speed) 11393 if buf == uintptr(Z_NULL) { 11394 return uint64(1) 11395 } 11396 11397 // in case short lengths are provided, keep it somewhat fast 11398 if len < uint64(16) { 11399 for libc.PostDecUint64(&len, 1) != 0 { 11400 adler = adler + ULong(*(*Bytef)(unsafe.Pointer(libc.PostIncUintptr(&buf, 1)))) 11401 sum2 = sum2 + adler 11402 } 11403 if adler >= uint64(BASE) { 11404 adler = adler - uint64(BASE) 11405 } 11406 sum2 = sum2 % uint64(BASE) // only added so many BASE's 11407 return adler | sum2<<16 11408 } 11409 11410 // do length NMAX blocks -- requires just one modulo operation 11411 for len >= uint64(NMAX) { 11412 len = len - uint64(NMAX) 11413 n = uint32(NMAX / 16) // NMAX is divisible by 16 11414 for ok := true; ok; ok = libc.PreDecUint32(&n, 1) != 0 { 11415 { 11416 adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf))) 11417 sum2 = sum2 + adler 11418 } 11419 { 11420 adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf + 1))) 11421 sum2 = sum2 + adler 11422 } 11423 11424 { 11425 adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf + 2))) 11426 sum2 = sum2 + adler 11427 } 11428 { 11429 adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf + 3))) 11430 sum2 = sum2 + adler 11431 } 11432 11433 { 11434 adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf + 4))) 11435 sum2 = sum2 + adler 11436 } 11437 { 11438 adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf + 5))) 11439 sum2 = sum2 + adler 11440 } 11441 11442 { 11443 adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf + 6))) 11444 sum2 = sum2 + adler 11445 } 11446 { 11447 adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf + 7))) 11448 sum2 = sum2 + adler 11449 } 11450 11451 { 11452 adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf + 8))) 11453 sum2 = sum2 + adler 11454 } 11455 { 11456 adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf + 9))) 11457 sum2 = sum2 + adler 11458 } 11459 11460 { 11461 adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf + 10))) 11462 sum2 = sum2 + adler 11463 } 11464 { 11465 adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf + 11))) 11466 sum2 = sum2 + adler 11467 } 11468 11469 { 11470 adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf + 12))) 11471 sum2 = sum2 + adler 11472 } 11473 { 11474 adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf + 13))) 11475 sum2 = sum2 + adler 11476 } 11477 11478 { 11479 adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf + 14))) 11480 sum2 = sum2 + adler 11481 } 11482 { 11483 adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf + 15))) 11484 sum2 = sum2 + adler 11485 } 11486 11487 // 16 sums unrolled 11488 buf += uintptr(16) 11489 } 11490 adler = adler % uint64(BASE) 11491 sum2 = sum2 % uint64(BASE) 11492 } 11493 11494 // do remaining bytes (less than NMAX, still just one modulo) 11495 if len != 0 { // avoid modulos if none remaining 11496 for len >= uint64(16) { 11497 len = len - uint64(16) 11498 { 11499 adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf))) 11500 sum2 = sum2 + adler 11501 } 11502 { 11503 adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf + 1))) 11504 sum2 = sum2 + adler 11505 } 11506 11507 { 11508 adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf + 2))) 11509 sum2 = sum2 + adler 11510 } 11511 { 11512 adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf + 3))) 11513 sum2 = sum2 + adler 11514 } 11515 11516 { 11517 adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf + 4))) 11518 sum2 = sum2 + adler 11519 } 11520 { 11521 adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf + 5))) 11522 sum2 = sum2 + adler 11523 } 11524 11525 { 11526 adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf + 6))) 11527 sum2 = sum2 + adler 11528 } 11529 { 11530 adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf + 7))) 11531 sum2 = sum2 + adler 11532 } 11533 11534 { 11535 adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf + 8))) 11536 sum2 = sum2 + adler 11537 } 11538 { 11539 adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf + 9))) 11540 sum2 = sum2 + adler 11541 } 11542 11543 { 11544 adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf + 10))) 11545 sum2 = sum2 + adler 11546 } 11547 { 11548 adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf + 11))) 11549 sum2 = sum2 + adler 11550 } 11551 11552 { 11553 adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf + 12))) 11554 sum2 = sum2 + adler 11555 } 11556 { 11557 adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf + 13))) 11558 sum2 = sum2 + adler 11559 } 11560 11561 { 11562 adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf + 14))) 11563 sum2 = sum2 + adler 11564 } 11565 { 11566 adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf + 15))) 11567 sum2 = sum2 + adler 11568 } 11569 11570 buf += uintptr(16) 11571 } 11572 for libc.PostDecUint64(&len, 1) != 0 { 11573 adler = adler + ULong(*(*Bytef)(unsafe.Pointer(libc.PostIncUintptr(&buf, 1)))) 11574 sum2 = sum2 + adler 11575 } 11576 adler = adler % uint64(BASE) 11577 sum2 = sum2 % uint64(BASE) 11578 } 11579 11580 // return recombined sums 11581 return adler | sum2<<16 11582 } 11583 11584 // ========================================================================= 11585 func Xadler32(tls *libc.TLS, adler ULong, buf uintptr, len UInt) ULong { /* adler32.c:134:15: */ 11586 return Xadler32_z(tls, adler, buf, uint64(len)) 11587 } 11588 11589 // ========================================================================= 11590 func adler32_combine_(tls *libc.TLS, adler1 ULong, adler2 ULong, len2 Off_t) ULong { /* adler32.c:143:13: */ 11591 var sum1 uint64 11592 var sum2 uint64 11593 var rem uint32 11594 11595 // for negative len, return invalid adler32 as a clue for debugging 11596 if len2 < int64(0) { 11597 return 0xffffffff 11598 } 11599 11600 // the derivation of this formula is left as an exercise for the reader 11601 len2 = len2 % int64(BASE) // assumes len2 >= 0 11602 rem = uint32(len2) 11603 sum1 = adler1 & uint64(0xffff) 11604 sum2 = uint64(rem) * sum1 11605 sum2 = sum2 % uint64(BASE) 11606 sum1 = sum1 + (adler2&uint64(0xffff) + uint64(BASE) - uint64(1)) 11607 sum2 = sum2 + (adler1>>16&uint64(0xffff) + adler2>>16&uint64(0xffff) + uint64(BASE) - ULong(rem)) 11608 if sum1 >= uint64(BASE) { 11609 sum1 = sum1 - uint64(BASE) 11610 } 11611 if sum1 >= uint64(BASE) { 11612 sum1 = sum1 - uint64(BASE) 11613 } 11614 if sum2 >= uint64(uint64(BASE))<<1 { 11615 sum2 = sum2 - uint64(uint64(BASE))<<1 11616 } 11617 if sum2 >= uint64(BASE) { 11618 sum2 = sum2 - uint64(BASE) 11619 } 11620 return sum1 | sum2<<16 11621 } 11622 11623 // ========================================================================= 11624 func Xadler32_combine(tls *libc.TLS, adler1 ULong, adler2 ULong, len2 Off_t) ULong { /* adler32.c:172:15: */ 11625 return adler32_combine_(tls, adler1, adler2, len2) 11626 } 11627 11628 func Xadler32_combine64(tls *libc.TLS, adler1 ULong, adler2 ULong, len2 Off_t) ULong { /* adler32.c:180:15: */ 11629 return adler32_combine_(tls, adler1, adler2, len2) 11630 } 11631 11632 // =========================================================================== 11633 // Compresses the source buffer into the destination buffer. The level 11634 // parameter has the same meaning as in deflateInit. sourceLen is the byte 11635 // length of the source buffer. Upon entry, destLen is the total size of the 11636 // destination buffer, which must be at least 0.1% larger than sourceLen plus 11637 // 12 bytes. Upon exit, destLen is the actual size of the compressed buffer. 11638 // 11639 // compress2 returns Z_OK if success, Z_MEM_ERROR if there was not enough 11640 // memory, Z_BUF_ERROR if there was not enough room in the output buffer, 11641 // Z_STREAM_ERROR if the level parameter is invalid. 11642 func Xcompress2(tls *libc.TLS, dest uintptr, destLen uintptr, source uintptr, sourceLen ULong, level int32) int32 { /* compress.c:22:13: */ 11643 bp := tls.Alloc(112) 11644 defer tls.Free(112) 11645 11646 // var stream Z_stream at bp, 112 11647 11648 var err int32 11649 var max UInt = libc.Uint32(libc.Uint32FromInt32(-1)) 11650 var left ULong 11651 11652 left = *(*ULongf)(unsafe.Pointer(destLen)) 11653 *(*ULongf)(unsafe.Pointer(destLen)) = uint64(0) 11654 11655 (*Z_stream)(unsafe.Pointer(bp /* &stream */)).Fzalloc = uintptr(0) 11656 (*Z_stream)(unsafe.Pointer(bp /* &stream */)).Fzfree = uintptr(0) 11657 (*Z_stream)(unsafe.Pointer(bp /* &stream */)).Fopaque = uintptr(0) 11658 11659 err = XdeflateInit_(tls, bp, level, ts, int32(unsafe.Sizeof(Z_stream{}))) 11660 if err != Z_OK { 11661 return err 11662 } 11663 11664 (*Z_stream)(unsafe.Pointer(bp /* &stream */)).Fnext_out = dest 11665 (*Z_stream)(unsafe.Pointer(bp /* &stream */)).Favail_out = UInt(0) 11666 (*Z_stream)(unsafe.Pointer(bp /* &stream */)).Fnext_in = source 11667 (*Z_stream)(unsafe.Pointer(bp /* &stream */)).Favail_in = UInt(0) 11668 11669 for ok := true; ok; ok = err == Z_OK { 11670 if (*Z_stream)(unsafe.Pointer(bp)).Favail_out == UInt(0) { 11671 (*Z_stream)(unsafe.Pointer(bp /* &stream */)).Favail_out = func() uint32 { 11672 if left > ULong(max) { 11673 return max 11674 } 11675 return UInt(left) 11676 }() 11677 left = left - ULong((*Z_stream)(unsafe.Pointer(bp)).Favail_out) 11678 } 11679 if (*Z_stream)(unsafe.Pointer(bp)).Favail_in == UInt(0) { 11680 (*Z_stream)(unsafe.Pointer(bp /* &stream */)).Favail_in = func() uint32 { 11681 if sourceLen > ULong(max) { 11682 return max 11683 } 11684 return UInt(sourceLen) 11685 }() 11686 sourceLen = sourceLen - ULong((*Z_stream)(unsafe.Pointer(bp)).Favail_in) 11687 } 11688 err = Xdeflate(tls, bp, func() int32 { 11689 if sourceLen != 0 { 11690 return Z_NO_FLUSH 11691 } 11692 return Z_FINISH 11693 }()) 11694 } 11695 11696 *(*ULongf)(unsafe.Pointer(destLen)) = (*Z_stream)(unsafe.Pointer(bp /* &stream */)).Ftotal_out 11697 XdeflateEnd(tls, bp) 11698 if err == Z_STREAM_END { 11699 return Z_OK 11700 } 11701 return err 11702 } 11703 11704 // =========================================================================== 11705 func Xcompress(tls *libc.TLS, dest uintptr, destLen uintptr, source uintptr, sourceLen ULong) int32 { /* compress.c:68:13: */ 11706 return Xcompress2(tls, dest, destLen, source, sourceLen, -1) 11707 } 11708 11709 // =========================================================================== 11710 // If the default memLevel or windowBits for deflateInit() is changed, then 11711 // this function needs to be updated. 11712 // 11713 func XcompressBound(tls *libc.TLS, sourceLen ULong) ULong { /* compress.c:81:15: */ 11714 return sourceLen + sourceLen>>12 + sourceLen>>14 + sourceLen>>25 + uint64(13) 11715 } 11716 11717 // ======================================================================== 11718 // Tables of CRC-32s of all single-byte values, made by make_crc_table(). 11719 // crc32.h -- tables for rapid CRC calculation 11720 // Generated automatically by crc32.c 11721 11722 var crc_table = [8][256]Z_crc_t{ 11723 { 11724 uint32(0x00000000), uint32(0x77073096), uint32(0xee0e612c), uint32(0x990951ba), uint32(0x076dc419), 11725 uint32(0x706af48f), uint32(0xe963a535), uint32(0x9e6495a3), uint32(0x0edb8832), uint32(0x79dcb8a4), 11726 uint32(0xe0d5e91e), uint32(0x97d2d988), uint32(0x09b64c2b), uint32(0x7eb17cbd), uint32(0xe7b82d07), 11727 uint32(0x90bf1d91), uint32(0x1db71064), uint32(0x6ab020f2), uint32(0xf3b97148), uint32(0x84be41de), 11728 uint32(0x1adad47d), uint32(0x6ddde4eb), uint32(0xf4d4b551), uint32(0x83d385c7), uint32(0x136c9856), 11729 uint32(0x646ba8c0), uint32(0xfd62f97a), uint32(0x8a65c9ec), uint32(0x14015c4f), uint32(0x63066cd9), 11730 uint32(0xfa0f3d63), uint32(0x8d080df5), uint32(0x3b6e20c8), uint32(0x4c69105e), uint32(0xd56041e4), 11731 uint32(0xa2677172), uint32(0x3c03e4d1), uint32(0x4b04d447), uint32(0xd20d85fd), uint32(0xa50ab56b), 11732 uint32(0x35b5a8fa), uint32(0x42b2986c), uint32(0xdbbbc9d6), uint32(0xacbcf940), uint32(0x32d86ce3), 11733 uint32(0x45df5c75), uint32(0xdcd60dcf), uint32(0xabd13d59), uint32(0x26d930ac), uint32(0x51de003a), 11734 uint32(0xc8d75180), uint32(0xbfd06116), uint32(0x21b4f4b5), uint32(0x56b3c423), uint32(0xcfba9599), 11735 uint32(0xb8bda50f), uint32(0x2802b89e), uint32(0x5f058808), uint32(0xc60cd9b2), uint32(0xb10be924), 11736 uint32(0x2f6f7c87), uint32(0x58684c11), uint32(0xc1611dab), uint32(0xb6662d3d), uint32(0x76dc4190), 11737 uint32(0x01db7106), uint32(0x98d220bc), uint32(0xefd5102a), uint32(0x71b18589), uint32(0x06b6b51f), 11738 uint32(0x9fbfe4a5), uint32(0xe8b8d433), uint32(0x7807c9a2), uint32(0x0f00f934), uint32(0x9609a88e), 11739 uint32(0xe10e9818), uint32(0x7f6a0dbb), uint32(0x086d3d2d), uint32(0x91646c97), uint32(0xe6635c01), 11740 uint32(0x6b6b51f4), uint32(0x1c6c6162), uint32(0x856530d8), uint32(0xf262004e), uint32(0x6c0695ed), 11741 uint32(0x1b01a57b), uint32(0x8208f4c1), uint32(0xf50fc457), uint32(0x65b0d9c6), uint32(0x12b7e950), 11742 uint32(0x8bbeb8ea), uint32(0xfcb9887c), uint32(0x62dd1ddf), uint32(0x15da2d49), uint32(0x8cd37cf3), 11743 uint32(0xfbd44c65), uint32(0x4db26158), uint32(0x3ab551ce), uint32(0xa3bc0074), uint32(0xd4bb30e2), 11744 uint32(0x4adfa541), uint32(0x3dd895d7), uint32(0xa4d1c46d), uint32(0xd3d6f4fb), uint32(0x4369e96a), 11745 uint32(0x346ed9fc), uint32(0xad678846), uint32(0xda60b8d0), uint32(0x44042d73), uint32(0x33031de5), 11746 uint32(0xaa0a4c5f), uint32(0xdd0d7cc9), uint32(0x5005713c), uint32(0x270241aa), uint32(0xbe0b1010), 11747 uint32(0xc90c2086), uint32(0x5768b525), uint32(0x206f85b3), uint32(0xb966d409), uint32(0xce61e49f), 11748 uint32(0x5edef90e), uint32(0x29d9c998), uint32(0xb0d09822), uint32(0xc7d7a8b4), uint32(0x59b33d17), 11749 uint32(0x2eb40d81), uint32(0xb7bd5c3b), uint32(0xc0ba6cad), uint32(0xedb88320), uint32(0x9abfb3b6), 11750 uint32(0x03b6e20c), uint32(0x74b1d29a), uint32(0xead54739), uint32(0x9dd277af), uint32(0x04db2615), 11751 uint32(0x73dc1683), uint32(0xe3630b12), uint32(0x94643b84), uint32(0x0d6d6a3e), uint32(0x7a6a5aa8), 11752 uint32(0xe40ecf0b), uint32(0x9309ff9d), uint32(0x0a00ae27), uint32(0x7d079eb1), uint32(0xf00f9344), 11753 uint32(0x8708a3d2), uint32(0x1e01f268), uint32(0x6906c2fe), uint32(0xf762575d), uint32(0x806567cb), 11754 uint32(0x196c3671), uint32(0x6e6b06e7), uint32(0xfed41b76), uint32(0x89d32be0), uint32(0x10da7a5a), 11755 uint32(0x67dd4acc), uint32(0xf9b9df6f), uint32(0x8ebeeff9), uint32(0x17b7be43), uint32(0x60b08ed5), 11756 uint32(0xd6d6a3e8), uint32(0xa1d1937e), uint32(0x38d8c2c4), uint32(0x4fdff252), uint32(0xd1bb67f1), 11757 uint32(0xa6bc5767), uint32(0x3fb506dd), uint32(0x48b2364b), uint32(0xd80d2bda), uint32(0xaf0a1b4c), 11758 uint32(0x36034af6), uint32(0x41047a60), uint32(0xdf60efc3), uint32(0xa867df55), uint32(0x316e8eef), 11759 uint32(0x4669be79), uint32(0xcb61b38c), uint32(0xbc66831a), uint32(0x256fd2a0), uint32(0x5268e236), 11760 uint32(0xcc0c7795), uint32(0xbb0b4703), uint32(0x220216b9), uint32(0x5505262f), uint32(0xc5ba3bbe), 11761 uint32(0xb2bd0b28), uint32(0x2bb45a92), uint32(0x5cb36a04), uint32(0xc2d7ffa7), uint32(0xb5d0cf31), 11762 uint32(0x2cd99e8b), uint32(0x5bdeae1d), uint32(0x9b64c2b0), uint32(0xec63f226), uint32(0x756aa39c), 11763 uint32(0x026d930a), uint32(0x9c0906a9), uint32(0xeb0e363f), uint32(0x72076785), uint32(0x05005713), 11764 uint32(0x95bf4a82), uint32(0xe2b87a14), uint32(0x7bb12bae), uint32(0x0cb61b38), uint32(0x92d28e9b), 11765 uint32(0xe5d5be0d), uint32(0x7cdcefb7), uint32(0x0bdbdf21), uint32(0x86d3d2d4), uint32(0xf1d4e242), 11766 uint32(0x68ddb3f8), uint32(0x1fda836e), uint32(0x81be16cd), uint32(0xf6b9265b), uint32(0x6fb077e1), 11767 uint32(0x18b74777), uint32(0x88085ae6), uint32(0xff0f6a70), uint32(0x66063bca), uint32(0x11010b5c), 11768 uint32(0x8f659eff), uint32(0xf862ae69), uint32(0x616bffd3), uint32(0x166ccf45), uint32(0xa00ae278), 11769 uint32(0xd70dd2ee), uint32(0x4e048354), uint32(0x3903b3c2), uint32(0xa7672661), uint32(0xd06016f7), 11770 uint32(0x4969474d), uint32(0x3e6e77db), uint32(0xaed16a4a), uint32(0xd9d65adc), uint32(0x40df0b66), 11771 uint32(0x37d83bf0), uint32(0xa9bcae53), uint32(0xdebb9ec5), uint32(0x47b2cf7f), uint32(0x30b5ffe9), 11772 uint32(0xbdbdf21c), uint32(0xcabac28a), uint32(0x53b39330), uint32(0x24b4a3a6), uint32(0xbad03605), 11773 uint32(0xcdd70693), uint32(0x54de5729), uint32(0x23d967bf), uint32(0xb3667a2e), uint32(0xc4614ab8), 11774 uint32(0x5d681b02), uint32(0x2a6f2b94), uint32(0xb40bbe37), uint32(0xc30c8ea1), uint32(0x5a05df1b), 11775 uint32(0x2d02ef8d), 11776 }, 11777 { 11778 uint32(0x00000000), uint32(0x191b3141), uint32(0x32366282), uint32(0x2b2d53c3), uint32(0x646cc504), 11779 uint32(0x7d77f445), uint32(0x565aa786), uint32(0x4f4196c7), uint32(0xc8d98a08), uint32(0xd1c2bb49), 11780 uint32(0xfaefe88a), uint32(0xe3f4d9cb), uint32(0xacb54f0c), uint32(0xb5ae7e4d), uint32(0x9e832d8e), 11781 uint32(0x87981ccf), uint32(0x4ac21251), uint32(0x53d92310), uint32(0x78f470d3), uint32(0x61ef4192), 11782 uint32(0x2eaed755), uint32(0x37b5e614), uint32(0x1c98b5d7), uint32(0x05838496), uint32(0x821b9859), 11783 uint32(0x9b00a918), uint32(0xb02dfadb), uint32(0xa936cb9a), uint32(0xe6775d5d), uint32(0xff6c6c1c), 11784 uint32(0xd4413fdf), uint32(0xcd5a0e9e), uint32(0x958424a2), uint32(0x8c9f15e3), uint32(0xa7b24620), 11785 uint32(0xbea97761), uint32(0xf1e8e1a6), uint32(0xe8f3d0e7), uint32(0xc3de8324), uint32(0xdac5b265), 11786 uint32(0x5d5daeaa), uint32(0x44469feb), uint32(0x6f6bcc28), uint32(0x7670fd69), uint32(0x39316bae), 11787 uint32(0x202a5aef), uint32(0x0b07092c), uint32(0x121c386d), uint32(0xdf4636f3), uint32(0xc65d07b2), 11788 uint32(0xed705471), uint32(0xf46b6530), uint32(0xbb2af3f7), uint32(0xa231c2b6), uint32(0x891c9175), 11789 uint32(0x9007a034), uint32(0x179fbcfb), uint32(0x0e848dba), uint32(0x25a9de79), uint32(0x3cb2ef38), 11790 uint32(0x73f379ff), uint32(0x6ae848be), uint32(0x41c51b7d), uint32(0x58de2a3c), uint32(0xf0794f05), 11791 uint32(0xe9627e44), uint32(0xc24f2d87), uint32(0xdb541cc6), uint32(0x94158a01), uint32(0x8d0ebb40), 11792 uint32(0xa623e883), uint32(0xbf38d9c2), uint32(0x38a0c50d), uint32(0x21bbf44c), uint32(0x0a96a78f), 11793 uint32(0x138d96ce), uint32(0x5ccc0009), uint32(0x45d73148), uint32(0x6efa628b), uint32(0x77e153ca), 11794 uint32(0xbabb5d54), uint32(0xa3a06c15), uint32(0x888d3fd6), uint32(0x91960e97), uint32(0xded79850), 11795 uint32(0xc7cca911), uint32(0xece1fad2), uint32(0xf5facb93), uint32(0x7262d75c), uint32(0x6b79e61d), 11796 uint32(0x4054b5de), uint32(0x594f849f), uint32(0x160e1258), uint32(0x0f152319), uint32(0x243870da), 11797 uint32(0x3d23419b), uint32(0x65fd6ba7), uint32(0x7ce65ae6), uint32(0x57cb0925), uint32(0x4ed03864), 11798 uint32(0x0191aea3), uint32(0x188a9fe2), uint32(0x33a7cc21), uint32(0x2abcfd60), uint32(0xad24e1af), 11799 uint32(0xb43fd0ee), uint32(0x9f12832d), uint32(0x8609b26c), uint32(0xc94824ab), uint32(0xd05315ea), 11800 uint32(0xfb7e4629), uint32(0xe2657768), uint32(0x2f3f79f6), uint32(0x362448b7), uint32(0x1d091b74), 11801 uint32(0x04122a35), uint32(0x4b53bcf2), uint32(0x52488db3), uint32(0x7965de70), uint32(0x607eef31), 11802 uint32(0xe7e6f3fe), uint32(0xfefdc2bf), uint32(0xd5d0917c), uint32(0xcccba03d), uint32(0x838a36fa), 11803 uint32(0x9a9107bb), uint32(0xb1bc5478), uint32(0xa8a76539), uint32(0x3b83984b), uint32(0x2298a90a), 11804 uint32(0x09b5fac9), uint32(0x10aecb88), uint32(0x5fef5d4f), uint32(0x46f46c0e), uint32(0x6dd93fcd), 11805 uint32(0x74c20e8c), uint32(0xf35a1243), uint32(0xea412302), uint32(0xc16c70c1), uint32(0xd8774180), 11806 uint32(0x9736d747), uint32(0x8e2de606), uint32(0xa500b5c5), uint32(0xbc1b8484), uint32(0x71418a1a), 11807 uint32(0x685abb5b), uint32(0x4377e898), uint32(0x5a6cd9d9), uint32(0x152d4f1e), uint32(0x0c367e5f), 11808 uint32(0x271b2d9c), uint32(0x3e001cdd), uint32(0xb9980012), uint32(0xa0833153), uint32(0x8bae6290), 11809 uint32(0x92b553d1), uint32(0xddf4c516), uint32(0xc4eff457), uint32(0xefc2a794), uint32(0xf6d996d5), 11810 uint32(0xae07bce9), uint32(0xb71c8da8), uint32(0x9c31de6b), uint32(0x852aef2a), uint32(0xca6b79ed), 11811 uint32(0xd37048ac), uint32(0xf85d1b6f), uint32(0xe1462a2e), uint32(0x66de36e1), uint32(0x7fc507a0), 11812 uint32(0x54e85463), uint32(0x4df36522), uint32(0x02b2f3e5), uint32(0x1ba9c2a4), uint32(0x30849167), 11813 uint32(0x299fa026), uint32(0xe4c5aeb8), uint32(0xfdde9ff9), uint32(0xd6f3cc3a), uint32(0xcfe8fd7b), 11814 uint32(0x80a96bbc), uint32(0x99b25afd), uint32(0xb29f093e), uint32(0xab84387f), uint32(0x2c1c24b0), 11815 uint32(0x350715f1), uint32(0x1e2a4632), uint32(0x07317773), uint32(0x4870e1b4), uint32(0x516bd0f5), 11816 uint32(0x7a468336), uint32(0x635db277), uint32(0xcbfad74e), uint32(0xd2e1e60f), uint32(0xf9ccb5cc), 11817 uint32(0xe0d7848d), uint32(0xaf96124a), uint32(0xb68d230b), uint32(0x9da070c8), uint32(0x84bb4189), 11818 uint32(0x03235d46), uint32(0x1a386c07), uint32(0x31153fc4), uint32(0x280e0e85), uint32(0x674f9842), 11819 uint32(0x7e54a903), uint32(0x5579fac0), uint32(0x4c62cb81), uint32(0x8138c51f), uint32(0x9823f45e), 11820 uint32(0xb30ea79d), uint32(0xaa1596dc), uint32(0xe554001b), uint32(0xfc4f315a), uint32(0xd7626299), 11821 uint32(0xce7953d8), uint32(0x49e14f17), uint32(0x50fa7e56), uint32(0x7bd72d95), uint32(0x62cc1cd4), 11822 uint32(0x2d8d8a13), uint32(0x3496bb52), uint32(0x1fbbe891), uint32(0x06a0d9d0), uint32(0x5e7ef3ec), 11823 uint32(0x4765c2ad), uint32(0x6c48916e), uint32(0x7553a02f), uint32(0x3a1236e8), uint32(0x230907a9), 11824 uint32(0x0824546a), uint32(0x113f652b), uint32(0x96a779e4), uint32(0x8fbc48a5), uint32(0xa4911b66), 11825 uint32(0xbd8a2a27), uint32(0xf2cbbce0), uint32(0xebd08da1), uint32(0xc0fdde62), uint32(0xd9e6ef23), 11826 uint32(0x14bce1bd), uint32(0x0da7d0fc), uint32(0x268a833f), uint32(0x3f91b27e), uint32(0x70d024b9), 11827 uint32(0x69cb15f8), uint32(0x42e6463b), uint32(0x5bfd777a), uint32(0xdc656bb5), uint32(0xc57e5af4), 11828 uint32(0xee530937), uint32(0xf7483876), uint32(0xb809aeb1), uint32(0xa1129ff0), uint32(0x8a3fcc33), 11829 uint32(0x9324fd72), 11830 }, 11831 { 11832 uint32(0x00000000), uint32(0x01c26a37), uint32(0x0384d46e), uint32(0x0246be59), uint32(0x0709a8dc), 11833 uint32(0x06cbc2eb), uint32(0x048d7cb2), uint32(0x054f1685), uint32(0x0e1351b8), uint32(0x0fd13b8f), 11834 uint32(0x0d9785d6), uint32(0x0c55efe1), uint32(0x091af964), uint32(0x08d89353), uint32(0x0a9e2d0a), 11835 uint32(0x0b5c473d), uint32(0x1c26a370), uint32(0x1de4c947), uint32(0x1fa2771e), uint32(0x1e601d29), 11836 uint32(0x1b2f0bac), uint32(0x1aed619b), uint32(0x18abdfc2), uint32(0x1969b5f5), uint32(0x1235f2c8), 11837 uint32(0x13f798ff), uint32(0x11b126a6), uint32(0x10734c91), uint32(0x153c5a14), uint32(0x14fe3023), 11838 uint32(0x16b88e7a), uint32(0x177ae44d), uint32(0x384d46e0), uint32(0x398f2cd7), uint32(0x3bc9928e), 11839 uint32(0x3a0bf8b9), uint32(0x3f44ee3c), uint32(0x3e86840b), uint32(0x3cc03a52), uint32(0x3d025065), 11840 uint32(0x365e1758), uint32(0x379c7d6f), uint32(0x35dac336), uint32(0x3418a901), uint32(0x3157bf84), 11841 uint32(0x3095d5b3), uint32(0x32d36bea), uint32(0x331101dd), uint32(0x246be590), uint32(0x25a98fa7), 11842 uint32(0x27ef31fe), uint32(0x262d5bc9), uint32(0x23624d4c), uint32(0x22a0277b), uint32(0x20e69922), 11843 uint32(0x2124f315), uint32(0x2a78b428), uint32(0x2bbade1f), uint32(0x29fc6046), uint32(0x283e0a71), 11844 uint32(0x2d711cf4), uint32(0x2cb376c3), uint32(0x2ef5c89a), uint32(0x2f37a2ad), uint32(0x709a8dc0), 11845 uint32(0x7158e7f7), uint32(0x731e59ae), uint32(0x72dc3399), uint32(0x7793251c), uint32(0x76514f2b), 11846 uint32(0x7417f172), uint32(0x75d59b45), uint32(0x7e89dc78), uint32(0x7f4bb64f), uint32(0x7d0d0816), 11847 uint32(0x7ccf6221), uint32(0x798074a4), uint32(0x78421e93), uint32(0x7a04a0ca), uint32(0x7bc6cafd), 11848 uint32(0x6cbc2eb0), uint32(0x6d7e4487), uint32(0x6f38fade), uint32(0x6efa90e9), uint32(0x6bb5866c), 11849 uint32(0x6a77ec5b), uint32(0x68315202), uint32(0x69f33835), uint32(0x62af7f08), uint32(0x636d153f), 11850 uint32(0x612bab66), uint32(0x60e9c151), uint32(0x65a6d7d4), uint32(0x6464bde3), uint32(0x662203ba), 11851 uint32(0x67e0698d), uint32(0x48d7cb20), uint32(0x4915a117), uint32(0x4b531f4e), uint32(0x4a917579), 11852 uint32(0x4fde63fc), uint32(0x4e1c09cb), uint32(0x4c5ab792), uint32(0x4d98dda5), uint32(0x46c49a98), 11853 uint32(0x4706f0af), uint32(0x45404ef6), uint32(0x448224c1), uint32(0x41cd3244), uint32(0x400f5873), 11854 uint32(0x4249e62a), uint32(0x438b8c1d), uint32(0x54f16850), uint32(0x55330267), uint32(0x5775bc3e), 11855 uint32(0x56b7d609), uint32(0x53f8c08c), uint32(0x523aaabb), uint32(0x507c14e2), uint32(0x51be7ed5), 11856 uint32(0x5ae239e8), uint32(0x5b2053df), uint32(0x5966ed86), uint32(0x58a487b1), uint32(0x5deb9134), 11857 uint32(0x5c29fb03), uint32(0x5e6f455a), uint32(0x5fad2f6d), uint32(0xe1351b80), uint32(0xe0f771b7), 11858 uint32(0xe2b1cfee), uint32(0xe373a5d9), uint32(0xe63cb35c), uint32(0xe7fed96b), uint32(0xe5b86732), 11859 uint32(0xe47a0d05), uint32(0xef264a38), uint32(0xeee4200f), uint32(0xeca29e56), uint32(0xed60f461), 11860 uint32(0xe82fe2e4), uint32(0xe9ed88d3), uint32(0xebab368a), uint32(0xea695cbd), uint32(0xfd13b8f0), 11861 uint32(0xfcd1d2c7), uint32(0xfe976c9e), uint32(0xff5506a9), uint32(0xfa1a102c), uint32(0xfbd87a1b), 11862 uint32(0xf99ec442), uint32(0xf85cae75), uint32(0xf300e948), uint32(0xf2c2837f), uint32(0xf0843d26), 11863 uint32(0xf1465711), uint32(0xf4094194), uint32(0xf5cb2ba3), uint32(0xf78d95fa), uint32(0xf64fffcd), 11864 uint32(0xd9785d60), uint32(0xd8ba3757), uint32(0xdafc890e), uint32(0xdb3ee339), uint32(0xde71f5bc), 11865 uint32(0xdfb39f8b), uint32(0xddf521d2), uint32(0xdc374be5), uint32(0xd76b0cd8), uint32(0xd6a966ef), 11866 uint32(0xd4efd8b6), uint32(0xd52db281), uint32(0xd062a404), uint32(0xd1a0ce33), uint32(0xd3e6706a), 11867 uint32(0xd2241a5d), uint32(0xc55efe10), uint32(0xc49c9427), uint32(0xc6da2a7e), uint32(0xc7184049), 11868 uint32(0xc25756cc), uint32(0xc3953cfb), uint32(0xc1d382a2), uint32(0xc011e895), uint32(0xcb4dafa8), 11869 uint32(0xca8fc59f), uint32(0xc8c97bc6), uint32(0xc90b11f1), uint32(0xcc440774), uint32(0xcd866d43), 11870 uint32(0xcfc0d31a), uint32(0xce02b92d), uint32(0x91af9640), uint32(0x906dfc77), uint32(0x922b422e), 11871 uint32(0x93e92819), uint32(0x96a63e9c), uint32(0x976454ab), uint32(0x9522eaf2), uint32(0x94e080c5), 11872 uint32(0x9fbcc7f8), uint32(0x9e7eadcf), uint32(0x9c381396), uint32(0x9dfa79a1), uint32(0x98b56f24), 11873 uint32(0x99770513), uint32(0x9b31bb4a), uint32(0x9af3d17d), uint32(0x8d893530), uint32(0x8c4b5f07), 11874 uint32(0x8e0de15e), uint32(0x8fcf8b69), uint32(0x8a809dec), uint32(0x8b42f7db), uint32(0x89044982), 11875 uint32(0x88c623b5), uint32(0x839a6488), uint32(0x82580ebf), uint32(0x801eb0e6), uint32(0x81dcdad1), 11876 uint32(0x8493cc54), uint32(0x8551a663), uint32(0x8717183a), uint32(0x86d5720d), uint32(0xa9e2d0a0), 11877 uint32(0xa820ba97), uint32(0xaa6604ce), uint32(0xaba46ef9), uint32(0xaeeb787c), uint32(0xaf29124b), 11878 uint32(0xad6fac12), uint32(0xacadc625), uint32(0xa7f18118), uint32(0xa633eb2f), uint32(0xa4755576), 11879 uint32(0xa5b73f41), uint32(0xa0f829c4), uint32(0xa13a43f3), uint32(0xa37cfdaa), uint32(0xa2be979d), 11880 uint32(0xb5c473d0), uint32(0xb40619e7), uint32(0xb640a7be), uint32(0xb782cd89), uint32(0xb2cddb0c), 11881 uint32(0xb30fb13b), uint32(0xb1490f62), uint32(0xb08b6555), uint32(0xbbd72268), uint32(0xba15485f), 11882 uint32(0xb853f606), uint32(0xb9919c31), uint32(0xbcde8ab4), uint32(0xbd1ce083), uint32(0xbf5a5eda), 11883 uint32(0xbe9834ed), 11884 }, 11885 { 11886 uint32(0x00000000), uint32(0xb8bc6765), uint32(0xaa09c88b), uint32(0x12b5afee), uint32(0x8f629757), 11887 uint32(0x37def032), uint32(0x256b5fdc), uint32(0x9dd738b9), uint32(0xc5b428ef), uint32(0x7d084f8a), 11888 uint32(0x6fbde064), uint32(0xd7018701), uint32(0x4ad6bfb8), uint32(0xf26ad8dd), uint32(0xe0df7733), 11889 uint32(0x58631056), uint32(0x5019579f), uint32(0xe8a530fa), uint32(0xfa109f14), uint32(0x42acf871), 11890 uint32(0xdf7bc0c8), uint32(0x67c7a7ad), uint32(0x75720843), uint32(0xcdce6f26), uint32(0x95ad7f70), 11891 uint32(0x2d111815), uint32(0x3fa4b7fb), uint32(0x8718d09e), uint32(0x1acfe827), uint32(0xa2738f42), 11892 uint32(0xb0c620ac), uint32(0x087a47c9), uint32(0xa032af3e), uint32(0x188ec85b), uint32(0x0a3b67b5), 11893 uint32(0xb28700d0), uint32(0x2f503869), uint32(0x97ec5f0c), uint32(0x8559f0e2), uint32(0x3de59787), 11894 uint32(0x658687d1), uint32(0xdd3ae0b4), uint32(0xcf8f4f5a), uint32(0x7733283f), uint32(0xeae41086), 11895 uint32(0x525877e3), uint32(0x40edd80d), uint32(0xf851bf68), uint32(0xf02bf8a1), uint32(0x48979fc4), 11896 uint32(0x5a22302a), uint32(0xe29e574f), uint32(0x7f496ff6), uint32(0xc7f50893), uint32(0xd540a77d), 11897 uint32(0x6dfcc018), uint32(0x359fd04e), uint32(0x8d23b72b), uint32(0x9f9618c5), uint32(0x272a7fa0), 11898 uint32(0xbafd4719), uint32(0x0241207c), uint32(0x10f48f92), uint32(0xa848e8f7), uint32(0x9b14583d), 11899 uint32(0x23a83f58), uint32(0x311d90b6), uint32(0x89a1f7d3), uint32(0x1476cf6a), uint32(0xaccaa80f), 11900 uint32(0xbe7f07e1), uint32(0x06c36084), uint32(0x5ea070d2), uint32(0xe61c17b7), uint32(0xf4a9b859), 11901 uint32(0x4c15df3c), uint32(0xd1c2e785), uint32(0x697e80e0), uint32(0x7bcb2f0e), uint32(0xc377486b), 11902 uint32(0xcb0d0fa2), uint32(0x73b168c7), uint32(0x6104c729), uint32(0xd9b8a04c), uint32(0x446f98f5), 11903 uint32(0xfcd3ff90), uint32(0xee66507e), uint32(0x56da371b), uint32(0x0eb9274d), uint32(0xb6054028), 11904 uint32(0xa4b0efc6), uint32(0x1c0c88a3), uint32(0x81dbb01a), uint32(0x3967d77f), uint32(0x2bd27891), 11905 uint32(0x936e1ff4), uint32(0x3b26f703), uint32(0x839a9066), uint32(0x912f3f88), uint32(0x299358ed), 11906 uint32(0xb4446054), uint32(0x0cf80731), uint32(0x1e4da8df), uint32(0xa6f1cfba), uint32(0xfe92dfec), 11907 uint32(0x462eb889), uint32(0x549b1767), uint32(0xec277002), uint32(0x71f048bb), uint32(0xc94c2fde), 11908 uint32(0xdbf98030), uint32(0x6345e755), uint32(0x6b3fa09c), uint32(0xd383c7f9), uint32(0xc1366817), 11909 uint32(0x798a0f72), uint32(0xe45d37cb), uint32(0x5ce150ae), uint32(0x4e54ff40), uint32(0xf6e89825), 11910 uint32(0xae8b8873), uint32(0x1637ef16), uint32(0x048240f8), uint32(0xbc3e279d), uint32(0x21e91f24), 11911 uint32(0x99557841), uint32(0x8be0d7af), uint32(0x335cb0ca), uint32(0xed59b63b), uint32(0x55e5d15e), 11912 uint32(0x47507eb0), uint32(0xffec19d5), uint32(0x623b216c), uint32(0xda874609), uint32(0xc832e9e7), 11913 uint32(0x708e8e82), uint32(0x28ed9ed4), uint32(0x9051f9b1), uint32(0x82e4565f), uint32(0x3a58313a), 11914 uint32(0xa78f0983), uint32(0x1f336ee6), uint32(0x0d86c108), uint32(0xb53aa66d), uint32(0xbd40e1a4), 11915 uint32(0x05fc86c1), uint32(0x1749292f), uint32(0xaff54e4a), uint32(0x322276f3), uint32(0x8a9e1196), 11916 uint32(0x982bbe78), uint32(0x2097d91d), uint32(0x78f4c94b), uint32(0xc048ae2e), uint32(0xd2fd01c0), 11917 uint32(0x6a4166a5), uint32(0xf7965e1c), uint32(0x4f2a3979), uint32(0x5d9f9697), uint32(0xe523f1f2), 11918 uint32(0x4d6b1905), uint32(0xf5d77e60), uint32(0xe762d18e), uint32(0x5fdeb6eb), uint32(0xc2098e52), 11919 uint32(0x7ab5e937), uint32(0x680046d9), uint32(0xd0bc21bc), uint32(0x88df31ea), uint32(0x3063568f), 11920 uint32(0x22d6f961), uint32(0x9a6a9e04), uint32(0x07bda6bd), uint32(0xbf01c1d8), uint32(0xadb46e36), 11921 uint32(0x15080953), uint32(0x1d724e9a), uint32(0xa5ce29ff), uint32(0xb77b8611), uint32(0x0fc7e174), 11922 uint32(0x9210d9cd), uint32(0x2aacbea8), uint32(0x38191146), uint32(0x80a57623), uint32(0xd8c66675), 11923 uint32(0x607a0110), uint32(0x72cfaefe), uint32(0xca73c99b), uint32(0x57a4f122), uint32(0xef189647), 11924 uint32(0xfdad39a9), uint32(0x45115ecc), uint32(0x764dee06), uint32(0xcef18963), uint32(0xdc44268d), 11925 uint32(0x64f841e8), uint32(0xf92f7951), uint32(0x41931e34), uint32(0x5326b1da), uint32(0xeb9ad6bf), 11926 uint32(0xb3f9c6e9), uint32(0x0b45a18c), uint32(0x19f00e62), uint32(0xa14c6907), uint32(0x3c9b51be), 11927 uint32(0x842736db), uint32(0x96929935), uint32(0x2e2efe50), uint32(0x2654b999), uint32(0x9ee8defc), 11928 uint32(0x8c5d7112), uint32(0x34e11677), uint32(0xa9362ece), uint32(0x118a49ab), uint32(0x033fe645), 11929 uint32(0xbb838120), uint32(0xe3e09176), uint32(0x5b5cf613), uint32(0x49e959fd), uint32(0xf1553e98), 11930 uint32(0x6c820621), uint32(0xd43e6144), uint32(0xc68bceaa), uint32(0x7e37a9cf), uint32(0xd67f4138), 11931 uint32(0x6ec3265d), uint32(0x7c7689b3), uint32(0xc4caeed6), uint32(0x591dd66f), uint32(0xe1a1b10a), 11932 uint32(0xf3141ee4), uint32(0x4ba87981), uint32(0x13cb69d7), uint32(0xab770eb2), uint32(0xb9c2a15c), 11933 uint32(0x017ec639), uint32(0x9ca9fe80), uint32(0x241599e5), uint32(0x36a0360b), uint32(0x8e1c516e), 11934 uint32(0x866616a7), uint32(0x3eda71c2), uint32(0x2c6fde2c), uint32(0x94d3b949), uint32(0x090481f0), 11935 uint32(0xb1b8e695), uint32(0xa30d497b), uint32(0x1bb12e1e), uint32(0x43d23e48), uint32(0xfb6e592d), 11936 uint32(0xe9dbf6c3), uint32(0x516791a6), uint32(0xccb0a91f), uint32(0x740cce7a), uint32(0x66b96194), 11937 uint32(0xde0506f1), 11938 }, 11939 { 11940 uint32(0x00000000), uint32(0x96300777), uint32(0x2c610eee), uint32(0xba510999), uint32(0x19c46d07), 11941 uint32(0x8ff46a70), uint32(0x35a563e9), uint32(0xa395649e), uint32(0x3288db0e), uint32(0xa4b8dc79), 11942 uint32(0x1ee9d5e0), uint32(0x88d9d297), uint32(0x2b4cb609), uint32(0xbd7cb17e), uint32(0x072db8e7), 11943 uint32(0x911dbf90), uint32(0x6410b71d), uint32(0xf220b06a), uint32(0x4871b9f3), uint32(0xde41be84), 11944 uint32(0x7dd4da1a), uint32(0xebe4dd6d), uint32(0x51b5d4f4), uint32(0xc785d383), uint32(0x56986c13), 11945 uint32(0xc0a86b64), uint32(0x7af962fd), uint32(0xecc9658a), uint32(0x4f5c0114), uint32(0xd96c0663), 11946 uint32(0x633d0ffa), uint32(0xf50d088d), uint32(0xc8206e3b), uint32(0x5e10694c), uint32(0xe44160d5), 11947 uint32(0x727167a2), uint32(0xd1e4033c), uint32(0x47d4044b), uint32(0xfd850dd2), uint32(0x6bb50aa5), 11948 uint32(0xfaa8b535), uint32(0x6c98b242), uint32(0xd6c9bbdb), uint32(0x40f9bcac), uint32(0xe36cd832), 11949 uint32(0x755cdf45), uint32(0xcf0dd6dc), uint32(0x593dd1ab), uint32(0xac30d926), uint32(0x3a00de51), 11950 uint32(0x8051d7c8), uint32(0x1661d0bf), uint32(0xb5f4b421), uint32(0x23c4b356), uint32(0x9995bacf), 11951 uint32(0x0fa5bdb8), uint32(0x9eb80228), uint32(0x0888055f), uint32(0xb2d90cc6), uint32(0x24e90bb1), 11952 uint32(0x877c6f2f), uint32(0x114c6858), uint32(0xab1d61c1), uint32(0x3d2d66b6), uint32(0x9041dc76), 11953 uint32(0x0671db01), uint32(0xbc20d298), uint32(0x2a10d5ef), uint32(0x8985b171), uint32(0x1fb5b606), 11954 uint32(0xa5e4bf9f), uint32(0x33d4b8e8), uint32(0xa2c90778), uint32(0x34f9000f), uint32(0x8ea80996), 11955 uint32(0x18980ee1), uint32(0xbb0d6a7f), uint32(0x2d3d6d08), uint32(0x976c6491), uint32(0x015c63e6), 11956 uint32(0xf4516b6b), uint32(0x62616c1c), uint32(0xd8306585), uint32(0x4e0062f2), uint32(0xed95066c), 11957 uint32(0x7ba5011b), uint32(0xc1f40882), uint32(0x57c40ff5), uint32(0xc6d9b065), uint32(0x50e9b712), 11958 uint32(0xeab8be8b), uint32(0x7c88b9fc), uint32(0xdf1ddd62), uint32(0x492dda15), uint32(0xf37cd38c), 11959 uint32(0x654cd4fb), uint32(0x5861b24d), uint32(0xce51b53a), uint32(0x7400bca3), uint32(0xe230bbd4), 11960 uint32(0x41a5df4a), uint32(0xd795d83d), uint32(0x6dc4d1a4), uint32(0xfbf4d6d3), uint32(0x6ae96943), 11961 uint32(0xfcd96e34), uint32(0x468867ad), uint32(0xd0b860da), uint32(0x732d0444), uint32(0xe51d0333), 11962 uint32(0x5f4c0aaa), uint32(0xc97c0ddd), uint32(0x3c710550), uint32(0xaa410227), uint32(0x10100bbe), 11963 uint32(0x86200cc9), uint32(0x25b56857), uint32(0xb3856f20), uint32(0x09d466b9), uint32(0x9fe461ce), 11964 uint32(0x0ef9de5e), uint32(0x98c9d929), uint32(0x2298d0b0), uint32(0xb4a8d7c7), uint32(0x173db359), 11965 uint32(0x810db42e), uint32(0x3b5cbdb7), uint32(0xad6cbac0), uint32(0x2083b8ed), uint32(0xb6b3bf9a), 11966 uint32(0x0ce2b603), uint32(0x9ad2b174), uint32(0x3947d5ea), uint32(0xaf77d29d), uint32(0x1526db04), 11967 uint32(0x8316dc73), uint32(0x120b63e3), uint32(0x843b6494), uint32(0x3e6a6d0d), uint32(0xa85a6a7a), 11968 uint32(0x0bcf0ee4), uint32(0x9dff0993), uint32(0x27ae000a), uint32(0xb19e077d), uint32(0x44930ff0), 11969 uint32(0xd2a30887), uint32(0x68f2011e), uint32(0xfec20669), uint32(0x5d5762f7), uint32(0xcb676580), 11970 uint32(0x71366c19), uint32(0xe7066b6e), uint32(0x761bd4fe), uint32(0xe02bd389), uint32(0x5a7ada10), 11971 uint32(0xcc4add67), uint32(0x6fdfb9f9), uint32(0xf9efbe8e), uint32(0x43beb717), uint32(0xd58eb060), 11972 uint32(0xe8a3d6d6), uint32(0x7e93d1a1), uint32(0xc4c2d838), uint32(0x52f2df4f), uint32(0xf167bbd1), 11973 uint32(0x6757bca6), uint32(0xdd06b53f), uint32(0x4b36b248), uint32(0xda2b0dd8), uint32(0x4c1b0aaf), 11974 uint32(0xf64a0336), uint32(0x607a0441), uint32(0xc3ef60df), uint32(0x55df67a8), uint32(0xef8e6e31), 11975 uint32(0x79be6946), uint32(0x8cb361cb), uint32(0x1a8366bc), uint32(0xa0d26f25), uint32(0x36e26852), 11976 uint32(0x95770ccc), uint32(0x03470bbb), uint32(0xb9160222), uint32(0x2f260555), uint32(0xbe3bbac5), 11977 uint32(0x280bbdb2), uint32(0x925ab42b), uint32(0x046ab35c), uint32(0xa7ffd7c2), uint32(0x31cfd0b5), 11978 uint32(0x8b9ed92c), uint32(0x1daede5b), uint32(0xb0c2649b), uint32(0x26f263ec), uint32(0x9ca36a75), 11979 uint32(0x0a936d02), uint32(0xa906099c), uint32(0x3f360eeb), uint32(0x85670772), uint32(0x13570005), 11980 uint32(0x824abf95), uint32(0x147ab8e2), uint32(0xae2bb17b), uint32(0x381bb60c), uint32(0x9b8ed292), 11981 uint32(0x0dbed5e5), uint32(0xb7efdc7c), uint32(0x21dfdb0b), uint32(0xd4d2d386), uint32(0x42e2d4f1), 11982 uint32(0xf8b3dd68), uint32(0x6e83da1f), uint32(0xcd16be81), uint32(0x5b26b9f6), uint32(0xe177b06f), 11983 uint32(0x7747b718), uint32(0xe65a0888), uint32(0x706a0fff), uint32(0xca3b0666), uint32(0x5c0b0111), 11984 uint32(0xff9e658f), uint32(0x69ae62f8), uint32(0xd3ff6b61), uint32(0x45cf6c16), uint32(0x78e20aa0), 11985 uint32(0xeed20dd7), uint32(0x5483044e), uint32(0xc2b30339), uint32(0x612667a7), uint32(0xf71660d0), 11986 uint32(0x4d476949), uint32(0xdb776e3e), uint32(0x4a6ad1ae), uint32(0xdc5ad6d9), uint32(0x660bdf40), 11987 uint32(0xf03bd837), uint32(0x53aebca9), uint32(0xc59ebbde), uint32(0x7fcfb247), uint32(0xe9ffb530), 11988 uint32(0x1cf2bdbd), uint32(0x8ac2baca), uint32(0x3093b353), uint32(0xa6a3b424), uint32(0x0536d0ba), 11989 uint32(0x9306d7cd), uint32(0x2957de54), uint32(0xbf67d923), uint32(0x2e7a66b3), uint32(0xb84a61c4), 11990 uint32(0x021b685d), uint32(0x942b6f2a), uint32(0x37be0bb4), uint32(0xa18e0cc3), uint32(0x1bdf055a), 11991 uint32(0x8def022d), 11992 }, 11993 { 11994 uint32(0x00000000), uint32(0x41311b19), uint32(0x82623632), uint32(0xc3532d2b), uint32(0x04c56c64), 11995 uint32(0x45f4777d), uint32(0x86a75a56), uint32(0xc796414f), uint32(0x088ad9c8), uint32(0x49bbc2d1), 11996 uint32(0x8ae8effa), uint32(0xcbd9f4e3), uint32(0x0c4fb5ac), uint32(0x4d7eaeb5), uint32(0x8e2d839e), 11997 uint32(0xcf1c9887), uint32(0x5112c24a), uint32(0x1023d953), uint32(0xd370f478), uint32(0x9241ef61), 11998 uint32(0x55d7ae2e), uint32(0x14e6b537), uint32(0xd7b5981c), uint32(0x96848305), uint32(0x59981b82), 11999 uint32(0x18a9009b), uint32(0xdbfa2db0), uint32(0x9acb36a9), uint32(0x5d5d77e6), uint32(0x1c6c6cff), 12000 uint32(0xdf3f41d4), uint32(0x9e0e5acd), uint32(0xa2248495), uint32(0xe3159f8c), uint32(0x2046b2a7), 12001 uint32(0x6177a9be), uint32(0xa6e1e8f1), uint32(0xe7d0f3e8), uint32(0x2483dec3), uint32(0x65b2c5da), 12002 uint32(0xaaae5d5d), uint32(0xeb9f4644), uint32(0x28cc6b6f), uint32(0x69fd7076), uint32(0xae6b3139), 12003 uint32(0xef5a2a20), uint32(0x2c09070b), uint32(0x6d381c12), uint32(0xf33646df), uint32(0xb2075dc6), 12004 uint32(0x715470ed), uint32(0x30656bf4), uint32(0xf7f32abb), uint32(0xb6c231a2), uint32(0x75911c89), 12005 uint32(0x34a00790), uint32(0xfbbc9f17), uint32(0xba8d840e), uint32(0x79dea925), uint32(0x38efb23c), 12006 uint32(0xff79f373), uint32(0xbe48e86a), uint32(0x7d1bc541), uint32(0x3c2ade58), uint32(0x054f79f0), 12007 uint32(0x447e62e9), uint32(0x872d4fc2), uint32(0xc61c54db), uint32(0x018a1594), uint32(0x40bb0e8d), 12008 uint32(0x83e823a6), uint32(0xc2d938bf), uint32(0x0dc5a038), uint32(0x4cf4bb21), uint32(0x8fa7960a), 12009 uint32(0xce968d13), uint32(0x0900cc5c), uint32(0x4831d745), uint32(0x8b62fa6e), uint32(0xca53e177), 12010 uint32(0x545dbbba), uint32(0x156ca0a3), uint32(0xd63f8d88), uint32(0x970e9691), uint32(0x5098d7de), 12011 uint32(0x11a9ccc7), uint32(0xd2fae1ec), uint32(0x93cbfaf5), uint32(0x5cd76272), uint32(0x1de6796b), 12012 uint32(0xdeb55440), uint32(0x9f844f59), uint32(0x58120e16), uint32(0x1923150f), uint32(0xda703824), 12013 uint32(0x9b41233d), uint32(0xa76bfd65), uint32(0xe65ae67c), uint32(0x2509cb57), uint32(0x6438d04e), 12014 uint32(0xa3ae9101), uint32(0xe29f8a18), uint32(0x21cca733), uint32(0x60fdbc2a), uint32(0xafe124ad), 12015 uint32(0xeed03fb4), uint32(0x2d83129f), uint32(0x6cb20986), uint32(0xab2448c9), uint32(0xea1553d0), 12016 uint32(0x29467efb), uint32(0x687765e2), uint32(0xf6793f2f), uint32(0xb7482436), uint32(0x741b091d), 12017 uint32(0x352a1204), uint32(0xf2bc534b), uint32(0xb38d4852), uint32(0x70de6579), uint32(0x31ef7e60), 12018 uint32(0xfef3e6e7), uint32(0xbfc2fdfe), uint32(0x7c91d0d5), uint32(0x3da0cbcc), uint32(0xfa368a83), 12019 uint32(0xbb07919a), uint32(0x7854bcb1), uint32(0x3965a7a8), uint32(0x4b98833b), uint32(0x0aa99822), 12020 uint32(0xc9fab509), uint32(0x88cbae10), uint32(0x4f5def5f), uint32(0x0e6cf446), uint32(0xcd3fd96d), 12021 uint32(0x8c0ec274), uint32(0x43125af3), uint32(0x022341ea), uint32(0xc1706cc1), uint32(0x804177d8), 12022 uint32(0x47d73697), uint32(0x06e62d8e), uint32(0xc5b500a5), uint32(0x84841bbc), uint32(0x1a8a4171), 12023 uint32(0x5bbb5a68), uint32(0x98e87743), uint32(0xd9d96c5a), uint32(0x1e4f2d15), uint32(0x5f7e360c), 12024 uint32(0x9c2d1b27), uint32(0xdd1c003e), uint32(0x120098b9), uint32(0x533183a0), uint32(0x9062ae8b), 12025 uint32(0xd153b592), uint32(0x16c5f4dd), uint32(0x57f4efc4), uint32(0x94a7c2ef), uint32(0xd596d9f6), 12026 uint32(0xe9bc07ae), uint32(0xa88d1cb7), uint32(0x6bde319c), uint32(0x2aef2a85), uint32(0xed796bca), 12027 uint32(0xac4870d3), uint32(0x6f1b5df8), uint32(0x2e2a46e1), uint32(0xe136de66), uint32(0xa007c57f), 12028 uint32(0x6354e854), uint32(0x2265f34d), uint32(0xe5f3b202), uint32(0xa4c2a91b), uint32(0x67918430), 12029 uint32(0x26a09f29), uint32(0xb8aec5e4), uint32(0xf99fdefd), uint32(0x3accf3d6), uint32(0x7bfde8cf), 12030 uint32(0xbc6ba980), uint32(0xfd5ab299), uint32(0x3e099fb2), uint32(0x7f3884ab), uint32(0xb0241c2c), 12031 uint32(0xf1150735), uint32(0x32462a1e), uint32(0x73773107), uint32(0xb4e17048), uint32(0xf5d06b51), 12032 uint32(0x3683467a), uint32(0x77b25d63), uint32(0x4ed7facb), uint32(0x0fe6e1d2), uint32(0xccb5ccf9), 12033 uint32(0x8d84d7e0), uint32(0x4a1296af), uint32(0x0b238db6), uint32(0xc870a09d), uint32(0x8941bb84), 12034 uint32(0x465d2303), uint32(0x076c381a), uint32(0xc43f1531), uint32(0x850e0e28), uint32(0x42984f67), 12035 uint32(0x03a9547e), uint32(0xc0fa7955), uint32(0x81cb624c), uint32(0x1fc53881), uint32(0x5ef42398), 12036 uint32(0x9da70eb3), uint32(0xdc9615aa), uint32(0x1b0054e5), uint32(0x5a314ffc), uint32(0x996262d7), 12037 uint32(0xd85379ce), uint32(0x174fe149), uint32(0x567efa50), uint32(0x952dd77b), uint32(0xd41ccc62), 12038 uint32(0x138a8d2d), uint32(0x52bb9634), uint32(0x91e8bb1f), uint32(0xd0d9a006), uint32(0xecf37e5e), 12039 uint32(0xadc26547), uint32(0x6e91486c), uint32(0x2fa05375), uint32(0xe836123a), uint32(0xa9070923), 12040 uint32(0x6a542408), uint32(0x2b653f11), uint32(0xe479a796), uint32(0xa548bc8f), uint32(0x661b91a4), 12041 uint32(0x272a8abd), uint32(0xe0bccbf2), uint32(0xa18dd0eb), uint32(0x62defdc0), uint32(0x23efe6d9), 12042 uint32(0xbde1bc14), uint32(0xfcd0a70d), uint32(0x3f838a26), uint32(0x7eb2913f), uint32(0xb924d070), 12043 uint32(0xf815cb69), uint32(0x3b46e642), uint32(0x7a77fd5b), uint32(0xb56b65dc), uint32(0xf45a7ec5), 12044 uint32(0x370953ee), uint32(0x763848f7), uint32(0xb1ae09b8), uint32(0xf09f12a1), uint32(0x33cc3f8a), 12045 uint32(0x72fd2493), 12046 }, 12047 { 12048 uint32(0x00000000), uint32(0x376ac201), uint32(0x6ed48403), uint32(0x59be4602), uint32(0xdca80907), 12049 uint32(0xebc2cb06), uint32(0xb27c8d04), uint32(0x85164f05), uint32(0xb851130e), uint32(0x8f3bd10f), 12050 uint32(0xd685970d), uint32(0xe1ef550c), uint32(0x64f91a09), uint32(0x5393d808), uint32(0x0a2d9e0a), 12051 uint32(0x3d475c0b), uint32(0x70a3261c), uint32(0x47c9e41d), uint32(0x1e77a21f), uint32(0x291d601e), 12052 uint32(0xac0b2f1b), uint32(0x9b61ed1a), uint32(0xc2dfab18), uint32(0xf5b56919), uint32(0xc8f23512), 12053 uint32(0xff98f713), uint32(0xa626b111), uint32(0x914c7310), uint32(0x145a3c15), uint32(0x2330fe14), 12054 uint32(0x7a8eb816), uint32(0x4de47a17), uint32(0xe0464d38), uint32(0xd72c8f39), uint32(0x8e92c93b), 12055 uint32(0xb9f80b3a), uint32(0x3cee443f), uint32(0x0b84863e), uint32(0x523ac03c), uint32(0x6550023d), 12056 uint32(0x58175e36), uint32(0x6f7d9c37), uint32(0x36c3da35), uint32(0x01a91834), uint32(0x84bf5731), 12057 uint32(0xb3d59530), uint32(0xea6bd332), uint32(0xdd011133), uint32(0x90e56b24), uint32(0xa78fa925), 12058 uint32(0xfe31ef27), uint32(0xc95b2d26), uint32(0x4c4d6223), uint32(0x7b27a022), uint32(0x2299e620), 12059 uint32(0x15f32421), uint32(0x28b4782a), uint32(0x1fdeba2b), uint32(0x4660fc29), uint32(0x710a3e28), 12060 uint32(0xf41c712d), uint32(0xc376b32c), uint32(0x9ac8f52e), uint32(0xada2372f), uint32(0xc08d9a70), 12061 uint32(0xf7e75871), uint32(0xae591e73), uint32(0x9933dc72), uint32(0x1c259377), uint32(0x2b4f5176), 12062 uint32(0x72f11774), uint32(0x459bd575), uint32(0x78dc897e), uint32(0x4fb64b7f), uint32(0x16080d7d), 12063 uint32(0x2162cf7c), uint32(0xa4748079), uint32(0x931e4278), uint32(0xcaa0047a), uint32(0xfdcac67b), 12064 uint32(0xb02ebc6c), uint32(0x87447e6d), uint32(0xdefa386f), uint32(0xe990fa6e), uint32(0x6c86b56b), 12065 uint32(0x5bec776a), uint32(0x02523168), uint32(0x3538f369), uint32(0x087faf62), uint32(0x3f156d63), 12066 uint32(0x66ab2b61), uint32(0x51c1e960), uint32(0xd4d7a665), uint32(0xe3bd6464), uint32(0xba032266), 12067 uint32(0x8d69e067), uint32(0x20cbd748), uint32(0x17a11549), uint32(0x4e1f534b), uint32(0x7975914a), 12068 uint32(0xfc63de4f), uint32(0xcb091c4e), uint32(0x92b75a4c), uint32(0xa5dd984d), uint32(0x989ac446), 12069 uint32(0xaff00647), uint32(0xf64e4045), uint32(0xc1248244), uint32(0x4432cd41), uint32(0x73580f40), 12070 uint32(0x2ae64942), uint32(0x1d8c8b43), uint32(0x5068f154), uint32(0x67023355), uint32(0x3ebc7557), 12071 uint32(0x09d6b756), uint32(0x8cc0f853), uint32(0xbbaa3a52), uint32(0xe2147c50), uint32(0xd57ebe51), 12072 uint32(0xe839e25a), uint32(0xdf53205b), uint32(0x86ed6659), uint32(0xb187a458), uint32(0x3491eb5d), 12073 uint32(0x03fb295c), uint32(0x5a456f5e), uint32(0x6d2fad5f), uint32(0x801b35e1), uint32(0xb771f7e0), 12074 uint32(0xeecfb1e2), uint32(0xd9a573e3), uint32(0x5cb33ce6), uint32(0x6bd9fee7), uint32(0x3267b8e5), 12075 uint32(0x050d7ae4), uint32(0x384a26ef), uint32(0x0f20e4ee), uint32(0x569ea2ec), uint32(0x61f460ed), 12076 uint32(0xe4e22fe8), uint32(0xd388ede9), uint32(0x8a36abeb), uint32(0xbd5c69ea), uint32(0xf0b813fd), 12077 uint32(0xc7d2d1fc), uint32(0x9e6c97fe), uint32(0xa90655ff), uint32(0x2c101afa), uint32(0x1b7ad8fb), 12078 uint32(0x42c49ef9), uint32(0x75ae5cf8), uint32(0x48e900f3), uint32(0x7f83c2f2), uint32(0x263d84f0), 12079 uint32(0x115746f1), uint32(0x944109f4), uint32(0xa32bcbf5), uint32(0xfa958df7), uint32(0xcdff4ff6), 12080 uint32(0x605d78d9), uint32(0x5737bad8), uint32(0x0e89fcda), uint32(0x39e33edb), uint32(0xbcf571de), 12081 uint32(0x8b9fb3df), uint32(0xd221f5dd), uint32(0xe54b37dc), uint32(0xd80c6bd7), uint32(0xef66a9d6), 12082 uint32(0xb6d8efd4), uint32(0x81b22dd5), uint32(0x04a462d0), uint32(0x33cea0d1), uint32(0x6a70e6d3), 12083 uint32(0x5d1a24d2), uint32(0x10fe5ec5), uint32(0x27949cc4), uint32(0x7e2adac6), uint32(0x494018c7), 12084 uint32(0xcc5657c2), uint32(0xfb3c95c3), uint32(0xa282d3c1), uint32(0x95e811c0), uint32(0xa8af4dcb), 12085 uint32(0x9fc58fca), uint32(0xc67bc9c8), uint32(0xf1110bc9), uint32(0x740744cc), uint32(0x436d86cd), 12086 uint32(0x1ad3c0cf), uint32(0x2db902ce), uint32(0x4096af91), uint32(0x77fc6d90), uint32(0x2e422b92), 12087 uint32(0x1928e993), uint32(0x9c3ea696), uint32(0xab546497), uint32(0xf2ea2295), uint32(0xc580e094), 12088 uint32(0xf8c7bc9f), uint32(0xcfad7e9e), uint32(0x9613389c), uint32(0xa179fa9d), uint32(0x246fb598), 12089 uint32(0x13057799), uint32(0x4abb319b), uint32(0x7dd1f39a), uint32(0x3035898d), uint32(0x075f4b8c), 12090 uint32(0x5ee10d8e), uint32(0x698bcf8f), uint32(0xec9d808a), uint32(0xdbf7428b), uint32(0x82490489), 12091 uint32(0xb523c688), uint32(0x88649a83), uint32(0xbf0e5882), uint32(0xe6b01e80), uint32(0xd1dadc81), 12092 uint32(0x54cc9384), uint32(0x63a65185), uint32(0x3a181787), uint32(0x0d72d586), uint32(0xa0d0e2a9), 12093 uint32(0x97ba20a8), uint32(0xce0466aa), uint32(0xf96ea4ab), uint32(0x7c78ebae), uint32(0x4b1229af), 12094 uint32(0x12ac6fad), uint32(0x25c6adac), uint32(0x1881f1a7), uint32(0x2feb33a6), uint32(0x765575a4), 12095 uint32(0x413fb7a5), uint32(0xc429f8a0), uint32(0xf3433aa1), uint32(0xaafd7ca3), uint32(0x9d97bea2), 12096 uint32(0xd073c4b5), uint32(0xe71906b4), uint32(0xbea740b6), uint32(0x89cd82b7), uint32(0x0cdbcdb2), 12097 uint32(0x3bb10fb3), uint32(0x620f49b1), uint32(0x55658bb0), uint32(0x6822d7bb), uint32(0x5f4815ba), 12098 uint32(0x06f653b8), uint32(0x319c91b9), uint32(0xb48adebc), uint32(0x83e01cbd), uint32(0xda5e5abf), 12099 uint32(0xed3498be), 12100 }, 12101 { 12102 uint32(0x00000000), uint32(0x6567bcb8), uint32(0x8bc809aa), uint32(0xeeafb512), uint32(0x5797628f), 12103 uint32(0x32f0de37), uint32(0xdc5f6b25), uint32(0xb938d79d), uint32(0xef28b4c5), uint32(0x8a4f087d), 12104 uint32(0x64e0bd6f), uint32(0x018701d7), uint32(0xb8bfd64a), uint32(0xddd86af2), uint32(0x3377dfe0), 12105 uint32(0x56106358), uint32(0x9f571950), uint32(0xfa30a5e8), uint32(0x149f10fa), uint32(0x71f8ac42), 12106 uint32(0xc8c07bdf), uint32(0xada7c767), uint32(0x43087275), uint32(0x266fcecd), uint32(0x707fad95), 12107 uint32(0x1518112d), uint32(0xfbb7a43f), uint32(0x9ed01887), uint32(0x27e8cf1a), uint32(0x428f73a2), 12108 uint32(0xac20c6b0), uint32(0xc9477a08), uint32(0x3eaf32a0), uint32(0x5bc88e18), uint32(0xb5673b0a), 12109 uint32(0xd00087b2), uint32(0x6938502f), uint32(0x0c5fec97), uint32(0xe2f05985), uint32(0x8797e53d), 12110 uint32(0xd1878665), uint32(0xb4e03add), uint32(0x5a4f8fcf), uint32(0x3f283377), uint32(0x8610e4ea), 12111 uint32(0xe3775852), uint32(0x0dd8ed40), uint32(0x68bf51f8), uint32(0xa1f82bf0), uint32(0xc49f9748), 12112 uint32(0x2a30225a), uint32(0x4f579ee2), uint32(0xf66f497f), uint32(0x9308f5c7), uint32(0x7da740d5), 12113 uint32(0x18c0fc6d), uint32(0x4ed09f35), uint32(0x2bb7238d), uint32(0xc518969f), uint32(0xa07f2a27), 12114 uint32(0x1947fdba), uint32(0x7c204102), uint32(0x928ff410), uint32(0xf7e848a8), uint32(0x3d58149b), 12115 uint32(0x583fa823), uint32(0xb6901d31), uint32(0xd3f7a189), uint32(0x6acf7614), uint32(0x0fa8caac), 12116 uint32(0xe1077fbe), uint32(0x8460c306), uint32(0xd270a05e), uint32(0xb7171ce6), uint32(0x59b8a9f4), 12117 uint32(0x3cdf154c), uint32(0x85e7c2d1), uint32(0xe0807e69), uint32(0x0e2fcb7b), uint32(0x6b4877c3), 12118 uint32(0xa20f0dcb), uint32(0xc768b173), uint32(0x29c70461), uint32(0x4ca0b8d9), uint32(0xf5986f44), 12119 uint32(0x90ffd3fc), uint32(0x7e5066ee), uint32(0x1b37da56), uint32(0x4d27b90e), uint32(0x284005b6), 12120 uint32(0xc6efb0a4), uint32(0xa3880c1c), uint32(0x1ab0db81), uint32(0x7fd76739), uint32(0x9178d22b), 12121 uint32(0xf41f6e93), uint32(0x03f7263b), uint32(0x66909a83), uint32(0x883f2f91), uint32(0xed589329), 12122 uint32(0x546044b4), uint32(0x3107f80c), uint32(0xdfa84d1e), uint32(0xbacff1a6), uint32(0xecdf92fe), 12123 uint32(0x89b82e46), uint32(0x67179b54), uint32(0x027027ec), uint32(0xbb48f071), uint32(0xde2f4cc9), 12124 uint32(0x3080f9db), uint32(0x55e74563), uint32(0x9ca03f6b), uint32(0xf9c783d3), uint32(0x176836c1), 12125 uint32(0x720f8a79), uint32(0xcb375de4), uint32(0xae50e15c), uint32(0x40ff544e), uint32(0x2598e8f6), 12126 uint32(0x73888bae), uint32(0x16ef3716), uint32(0xf8408204), uint32(0x9d273ebc), uint32(0x241fe921), 12127 uint32(0x41785599), uint32(0xafd7e08b), uint32(0xcab05c33), uint32(0x3bb659ed), uint32(0x5ed1e555), 12128 uint32(0xb07e5047), uint32(0xd519ecff), uint32(0x6c213b62), uint32(0x094687da), uint32(0xe7e932c8), 12129 uint32(0x828e8e70), uint32(0xd49eed28), uint32(0xb1f95190), uint32(0x5f56e482), uint32(0x3a31583a), 12130 uint32(0x83098fa7), uint32(0xe66e331f), uint32(0x08c1860d), uint32(0x6da63ab5), uint32(0xa4e140bd), 12131 uint32(0xc186fc05), uint32(0x2f294917), uint32(0x4a4ef5af), uint32(0xf3762232), uint32(0x96119e8a), 12132 uint32(0x78be2b98), uint32(0x1dd99720), uint32(0x4bc9f478), uint32(0x2eae48c0), uint32(0xc001fdd2), 12133 uint32(0xa566416a), uint32(0x1c5e96f7), uint32(0x79392a4f), uint32(0x97969f5d), uint32(0xf2f123e5), 12134 uint32(0x05196b4d), uint32(0x607ed7f5), uint32(0x8ed162e7), uint32(0xebb6de5f), uint32(0x528e09c2), 12135 uint32(0x37e9b57a), uint32(0xd9460068), uint32(0xbc21bcd0), uint32(0xea31df88), uint32(0x8f566330), 12136 uint32(0x61f9d622), uint32(0x049e6a9a), uint32(0xbda6bd07), uint32(0xd8c101bf), uint32(0x366eb4ad), 12137 uint32(0x53090815), uint32(0x9a4e721d), uint32(0xff29cea5), uint32(0x11867bb7), uint32(0x74e1c70f), 12138 uint32(0xcdd91092), uint32(0xa8beac2a), uint32(0x46111938), uint32(0x2376a580), uint32(0x7566c6d8), 12139 uint32(0x10017a60), uint32(0xfeaecf72), uint32(0x9bc973ca), uint32(0x22f1a457), uint32(0x479618ef), 12140 uint32(0xa939adfd), uint32(0xcc5e1145), uint32(0x06ee4d76), uint32(0x6389f1ce), uint32(0x8d2644dc), 12141 uint32(0xe841f864), uint32(0x51792ff9), uint32(0x341e9341), uint32(0xdab12653), uint32(0xbfd69aeb), 12142 uint32(0xe9c6f9b3), uint32(0x8ca1450b), uint32(0x620ef019), uint32(0x07694ca1), uint32(0xbe519b3c), 12143 uint32(0xdb362784), uint32(0x35999296), uint32(0x50fe2e2e), uint32(0x99b95426), uint32(0xfcdee89e), 12144 uint32(0x12715d8c), uint32(0x7716e134), uint32(0xce2e36a9), uint32(0xab498a11), uint32(0x45e63f03), 12145 uint32(0x208183bb), uint32(0x7691e0e3), uint32(0x13f65c5b), uint32(0xfd59e949), uint32(0x983e55f1), 12146 uint32(0x2106826c), uint32(0x44613ed4), uint32(0xaace8bc6), uint32(0xcfa9377e), uint32(0x38417fd6), 12147 uint32(0x5d26c36e), uint32(0xb389767c), uint32(0xd6eecac4), uint32(0x6fd61d59), uint32(0x0ab1a1e1), 12148 uint32(0xe41e14f3), uint32(0x8179a84b), uint32(0xd769cb13), uint32(0xb20e77ab), uint32(0x5ca1c2b9), 12149 uint32(0x39c67e01), uint32(0x80fea99c), uint32(0xe5991524), uint32(0x0b36a036), uint32(0x6e511c8e), 12150 uint32(0xa7166686), uint32(0xc271da3e), uint32(0x2cde6f2c), uint32(0x49b9d394), uint32(0xf0810409), 12151 uint32(0x95e6b8b1), uint32(0x7b490da3), uint32(0x1e2eb11b), uint32(0x483ed243), uint32(0x2d596efb), 12152 uint32(0xc3f6dbe9), uint32(0xa6916751), uint32(0x1fa9b0cc), uint32(0x7ace0c74), uint32(0x9461b966), 12153 uint32(0xf10605de), 12154 }, 12155 } /* crc32.h:5:25 */ 12156 12157 // ========================================================================= 12158 // This function can be used by asm versions of crc32() 12159 func Xget_crc_table(tls *libc.TLS) uintptr { /* crc32.c:188:19: */ 12160 return uintptr(uintptr(unsafe.Pointer(&crc_table))) 12161 } 12162 12163 // ========================================================================= 12164 12165 // ========================================================================= 12166 func Xcrc32_z(tls *libc.TLS, crc uint64, buf uintptr, len Z_size_t) uint64 { /* crc32.c:202:23: */ 12167 bp := tls.Alloc(4) 12168 defer tls.Free(4) 12169 12170 if buf == uintptr(Z_NULL) { 12171 return 0 12172 } 12173 12174 if uint64(unsafe.Sizeof(uintptr(0))) == uint64(unsafe.Sizeof(Ptrdiff_t(0))) { 12175 // var endian Z_crc_t at bp, 4 12176 12177 *(*Z_crc_t)(unsafe.Pointer(bp /* endian */)) = Z_crc_t(1) 12178 if *(*uint8)(unsafe.Pointer(bp)) != 0 { 12179 return crc32_little(tls, crc, buf, len) 12180 } else { 12181 return crc32_big(tls, crc, buf, len) 12182 } 12183 } 12184 crc = crc ^ 0xffffffff 12185 for len >= uint64(8) { 12186 crc = uint64(*(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + uintptr((int32(crc)^int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&buf, 1)))))&0xff)*4))) ^ crc>>8 12187 crc = uint64(*(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + uintptr((int32(crc)^int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&buf, 1)))))&0xff)*4))) ^ crc>>8 12188 crc = uint64(*(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + uintptr((int32(crc)^int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&buf, 1)))))&0xff)*4))) ^ crc>>8 12189 crc = uint64(*(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + uintptr((int32(crc)^int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&buf, 1)))))&0xff)*4))) ^ crc>>8 12190 crc = uint64(*(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + uintptr((int32(crc)^int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&buf, 1)))))&0xff)*4))) ^ crc>>8 12191 crc = uint64(*(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + uintptr((int32(crc)^int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&buf, 1)))))&0xff)*4))) ^ crc>>8 12192 crc = uint64(*(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + uintptr((int32(crc)^int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&buf, 1)))))&0xff)*4))) ^ crc>>8 12193 crc = uint64(*(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + uintptr((int32(crc)^int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&buf, 1)))))&0xff)*4))) ^ crc>>8 12194 len = len - uint64(8) 12195 } 12196 if len != 0 { 12197 for ok := true; ok; ok = libc.PreDecUint64(&len, 1) != 0 { 12198 crc = uint64(*(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + uintptr((int32(crc)^int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&buf, 1)))))&0xff)*4))) ^ crc>>8 12199 } 12200 } 12201 return crc ^ 0xffffffff 12202 } 12203 12204 // ========================================================================= 12205 func Xcrc32(tls *libc.TLS, crc uint64, buf uintptr, len UInt) uint64 { /* crc32.c:237:23: */ 12206 return Xcrc32_z(tls, crc, buf, uint64(len)) 12207 } 12208 12209 // 12210 // This BYFOUR code accesses the passed unsigned char * buffer with a 32-bit 12211 // integer pointer type. This violates the strict aliasing rule, where a 12212 // compiler can assume, for optimization purposes, that two pointers to 12213 // fundamentally different types won't ever point to the same memory. This can 12214 // manifest as a problem only if one of the pointers is written to. This code 12215 // only reads from those pointers. So long as this code remains isolated in 12216 // this compilation unit, there won't be a problem. For this reason, this code 12217 // should not be copied and pasted into a compilation unit in which other code 12218 // writes to the buffer that is passed to these routines. 12219 // 12220 12221 // ========================================================================= 12222 12223 // ========================================================================= 12224 func crc32_little(tls *libc.TLS, crc uint64, buf uintptr, len Z_size_t) uint64 { /* crc32.c:266:21: */ 12225 var c Z_crc_t 12226 var buf4 uintptr 12227 12228 c = Z_crc_t(crc) 12229 c = ^c 12230 for len != 0 && Ptrdiff_t(buf)&int64(3) != 0 { 12231 c = *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + uintptr((c^Z_crc_t(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&buf, 1)))))&Z_crc_t(0xff))*4)) ^ c>>8 12232 len-- 12233 } 12234 12235 buf4 = buf 12236 for len >= uint64(32) { 12237 c = c ^ *(*Z_crc_t)(unsafe.Pointer(libc.PostIncUintptr(&buf4, 4))) 12238 c = *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 3*1024 + uintptr(c&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 2*1024 + uintptr(c>>8&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 1*1024 + uintptr(c>>16&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + uintptr(c>>24)*4)) 12239 c = c ^ *(*Z_crc_t)(unsafe.Pointer(libc.PostIncUintptr(&buf4, 4))) 12240 c = *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 3*1024 + uintptr(c&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 2*1024 + uintptr(c>>8&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 1*1024 + uintptr(c>>16&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + uintptr(c>>24)*4)) 12241 c = c ^ *(*Z_crc_t)(unsafe.Pointer(libc.PostIncUintptr(&buf4, 4))) 12242 c = *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 3*1024 + uintptr(c&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 2*1024 + uintptr(c>>8&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 1*1024 + uintptr(c>>16&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + uintptr(c>>24)*4)) 12243 c = c ^ *(*Z_crc_t)(unsafe.Pointer(libc.PostIncUintptr(&buf4, 4))) 12244 c = *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 3*1024 + uintptr(c&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 2*1024 + uintptr(c>>8&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 1*1024 + uintptr(c>>16&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + uintptr(c>>24)*4)) 12245 c = c ^ *(*Z_crc_t)(unsafe.Pointer(libc.PostIncUintptr(&buf4, 4))) 12246 c = *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 3*1024 + uintptr(c&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 2*1024 + uintptr(c>>8&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 1*1024 + uintptr(c>>16&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + uintptr(c>>24)*4)) 12247 c = c ^ *(*Z_crc_t)(unsafe.Pointer(libc.PostIncUintptr(&buf4, 4))) 12248 c = *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 3*1024 + uintptr(c&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 2*1024 + uintptr(c>>8&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 1*1024 + uintptr(c>>16&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + uintptr(c>>24)*4)) 12249 c = c ^ *(*Z_crc_t)(unsafe.Pointer(libc.PostIncUintptr(&buf4, 4))) 12250 c = *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 3*1024 + uintptr(c&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 2*1024 + uintptr(c>>8&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 1*1024 + uintptr(c>>16&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + uintptr(c>>24)*4)) 12251 c = c ^ *(*Z_crc_t)(unsafe.Pointer(libc.PostIncUintptr(&buf4, 4))) 12252 c = *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 3*1024 + uintptr(c&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 2*1024 + uintptr(c>>8&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 1*1024 + uintptr(c>>16&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + uintptr(c>>24)*4)) 12253 len = len - uint64(32) 12254 } 12255 for len >= uint64(4) { 12256 c = c ^ *(*Z_crc_t)(unsafe.Pointer(libc.PostIncUintptr(&buf4, 4))) 12257 c = *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 3*1024 + uintptr(c&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 2*1024 + uintptr(c>>8&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 1*1024 + uintptr(c>>16&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + uintptr(c>>24)*4)) 12258 len = len - uint64(4) 12259 } 12260 buf = buf4 12261 12262 if len != 0 { 12263 for ok := true; ok; ok = libc.PreDecUint64(&len, 1) != 0 { 12264 c = *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + uintptr((c^Z_crc_t(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&buf, 1)))))&Z_crc_t(0xff))*4)) ^ c>>8 12265 } 12266 } 12267 c = ^c 12268 return uint64(c) 12269 } 12270 12271 // ========================================================================= 12272 12273 // ========================================================================= 12274 func crc32_big(tls *libc.TLS, crc uint64, buf uintptr, len Z_size_t) uint64 { /* crc32.c:306:21: */ 12275 var c Z_crc_t 12276 var buf4 uintptr 12277 12278 c = Z_crc_t(crc)>>24&Z_crc_t(0xff) + Z_crc_t(crc)>>8&Z_crc_t(0xff00) + Z_crc_t(crc)&Z_crc_t(0xff00)<<8 + Z_crc_t(crc)&Z_crc_t(0xff)<<24 12279 c = ^c 12280 for len != 0 && Ptrdiff_t(buf)&int64(3) != 0 { 12281 c = *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 4*1024 + uintptr(c>>24^Z_crc_t(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&buf, 1)))))*4)) ^ c<<8 12282 len-- 12283 } 12284 12285 buf4 = buf 12286 for len >= uint64(32) { 12287 c = c ^ *(*Z_crc_t)(unsafe.Pointer(libc.PostIncUintptr(&buf4, 4))) 12288 c = *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 4*1024 + uintptr(c&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 5*1024 + uintptr(c>>8&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 6*1024 + uintptr(c>>16&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 7*1024 + uintptr(c>>24)*4)) 12289 c = c ^ *(*Z_crc_t)(unsafe.Pointer(libc.PostIncUintptr(&buf4, 4))) 12290 c = *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 4*1024 + uintptr(c&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 5*1024 + uintptr(c>>8&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 6*1024 + uintptr(c>>16&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 7*1024 + uintptr(c>>24)*4)) 12291 c = c ^ *(*Z_crc_t)(unsafe.Pointer(libc.PostIncUintptr(&buf4, 4))) 12292 c = *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 4*1024 + uintptr(c&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 5*1024 + uintptr(c>>8&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 6*1024 + uintptr(c>>16&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 7*1024 + uintptr(c>>24)*4)) 12293 c = c ^ *(*Z_crc_t)(unsafe.Pointer(libc.PostIncUintptr(&buf4, 4))) 12294 c = *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 4*1024 + uintptr(c&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 5*1024 + uintptr(c>>8&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 6*1024 + uintptr(c>>16&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 7*1024 + uintptr(c>>24)*4)) 12295 c = c ^ *(*Z_crc_t)(unsafe.Pointer(libc.PostIncUintptr(&buf4, 4))) 12296 c = *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 4*1024 + uintptr(c&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 5*1024 + uintptr(c>>8&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 6*1024 + uintptr(c>>16&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 7*1024 + uintptr(c>>24)*4)) 12297 c = c ^ *(*Z_crc_t)(unsafe.Pointer(libc.PostIncUintptr(&buf4, 4))) 12298 c = *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 4*1024 + uintptr(c&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 5*1024 + uintptr(c>>8&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 6*1024 + uintptr(c>>16&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 7*1024 + uintptr(c>>24)*4)) 12299 c = c ^ *(*Z_crc_t)(unsafe.Pointer(libc.PostIncUintptr(&buf4, 4))) 12300 c = *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 4*1024 + uintptr(c&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 5*1024 + uintptr(c>>8&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 6*1024 + uintptr(c>>16&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 7*1024 + uintptr(c>>24)*4)) 12301 c = c ^ *(*Z_crc_t)(unsafe.Pointer(libc.PostIncUintptr(&buf4, 4))) 12302 c = *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 4*1024 + uintptr(c&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 5*1024 + uintptr(c>>8&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 6*1024 + uintptr(c>>16&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 7*1024 + uintptr(c>>24)*4)) 12303 len = len - uint64(32) 12304 } 12305 for len >= uint64(4) { 12306 c = c ^ *(*Z_crc_t)(unsafe.Pointer(libc.PostIncUintptr(&buf4, 4))) 12307 c = *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 4*1024 + uintptr(c&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 5*1024 + uintptr(c>>8&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 6*1024 + uintptr(c>>16&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 7*1024 + uintptr(c>>24)*4)) 12308 len = len - uint64(4) 12309 } 12310 buf = buf4 12311 12312 if len != 0 { 12313 for ok := true; ok; ok = libc.PreDecUint64(&len, 1) != 0 { 12314 c = *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 4*1024 + uintptr(c>>24^Z_crc_t(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&buf, 1)))))*4)) ^ c<<8 12315 } 12316 } 12317 c = ^c 12318 return uint64(c>>24&Z_crc_t(0xff) + c>>8&Z_crc_t(0xff00) + c&Z_crc_t(0xff00)<<8 + c&Z_crc_t(0xff)<<24) 12319 } 12320 12321 // ========================================================================= 12322 func gf2_matrix_times(tls *libc.TLS, mat uintptr, vec uint64) uint64 { /* crc32.c:344:21: */ 12323 var sum uint64 12324 12325 sum = uint64(0) 12326 for vec != 0 { 12327 if vec&uint64(1) != 0 { 12328 sum = sum ^ *(*uint64)(unsafe.Pointer(mat)) 12329 } 12330 vec >>= 1 12331 mat += 8 12332 } 12333 return sum 12334 } 12335 12336 // ========================================================================= 12337 func gf2_matrix_square(tls *libc.TLS, square uintptr, mat uintptr) { /* crc32.c:361:12: */ 12338 var n int32 12339 12340 for n = 0; n < GF2_DIM; n++ { 12341 *(*uint64)(unsafe.Pointer(square + uintptr(n)*8)) = gf2_matrix_times(tls, mat, *(*uint64)(unsafe.Pointer(mat + uintptr(n)*8))) 12342 } 12343 } 12344 12345 // ========================================================================= 12346 func crc32_combine_(tls *libc.TLS, crc1 ULong, crc2 ULong, len2 Off_t) ULong { /* crc32.c:372:13: */ 12347 bp := tls.Alloc(512) 12348 defer tls.Free(512) 12349 12350 var n int32 12351 var row uint64 12352 // var even [32]uint64 at bp+256, 256 12353 // even-power-of-two zeros operator 12354 // var odd [32]uint64 at bp, 256 12355 // odd-power-of-two zeros operator 12356 12357 // degenerate case (also disallow negative lengths) 12358 if len2 <= int64(0) { 12359 return crc1 12360 } 12361 12362 // put operator for one zero bit in odd 12363 *(*uint64)(unsafe.Pointer(bp)) = 0xedb88320 // CRC-32 polynomial 12364 row = uint64(1) 12365 for n = 1; n < GF2_DIM; n++ { 12366 *(*uint64)(unsafe.Pointer(bp + uintptr(n)*8)) = row 12367 row <<= 1 12368 } 12369 12370 // put operator for two zero bits in even 12371 gf2_matrix_square(tls, bp+256, bp) 12372 12373 // put operator for four zero bits in odd 12374 gf2_matrix_square(tls, bp, bp+256) 12375 12376 // apply len2 zeros to crc1 (first square will put the operator for one 12377 // zero byte, eight zero bits, in even) 12378 for ok := true; ok; ok = len2 != int64(0) { 12379 // apply zeros operator for this bit of len2 12380 gf2_matrix_square(tls, bp+256, bp) 12381 if len2&int64(1) != 0 { 12382 crc1 = gf2_matrix_times(tls, bp+256, crc1) 12383 } 12384 len2 >>= 1 12385 12386 // if no more bits set, then done 12387 if len2 == int64(0) { 12388 break 12389 } 12390 12391 // another iteration of the loop with odd and even swapped 12392 gf2_matrix_square(tls, bp, bp+256) 12393 if len2&int64(1) != 0 { 12394 crc1 = gf2_matrix_times(tls, bp, crc1) 12395 } 12396 len2 >>= 1 12397 12398 // if no more bits set, then done 12399 } 12400 12401 // return combined crc 12402 crc1 = crc1 ^ crc2 12403 return crc1 12404 } 12405 12406 // ========================================================================= 12407 func Xcrc32_combine(tls *libc.TLS, crc1 ULong, crc2 ULong, len2 Off_t) ULong { /* crc32.c:428:15: */ 12408 return crc32_combine_(tls, crc1, crc2, len2) 12409 } 12410 12411 func Xcrc32_combine64(tls *libc.TLS, crc1 ULong, crc2 ULong, len2 Off_t) ULong { /* crc32.c:436:15: */ 12412 return crc32_combine_(tls, crc1, crc2, len2) 12413 } 12414 12415 // Reverse the bytes in a 32-bit value 12416 12417 // define NO_GZIP when compiling if you want to disable gzip header and 12418 // trailer creation by deflate(). NO_GZIP would be used to avoid linking in 12419 // the crc code when it is not needed. For shared libraries, gzip encoding 12420 // should be left enabled. 12421 12422 // =========================================================================== 12423 // Internal compression state. 12424 12425 // number of length codes, not counting the special END_BLOCK code 12426 12427 // number of literal bytes 0..255 12428 12429 // number of Literal or Length codes, including the END_BLOCK code 12430 12431 // number of distance codes 12432 12433 // number of codes used to transfer the bit lengths 12434 12435 // maximum heap size 12436 12437 // All codes must not exceed MAX_BITS bits 12438 12439 // size of bit buffer in bi_buf 12440 12441 // Stream status 12442 12443 // Data structure describing a single value and its code string. 12444 type Ct_data_s = struct { 12445 Ffc struct{ Ffreq Ush } 12446 Fdl struct{ Fdad Ush } 12447 } /* zlib.h:84:1 */ 12448 12449 // Reverse the bytes in a 32-bit value 12450 12451 // define NO_GZIP when compiling if you want to disable gzip header and 12452 // trailer creation by deflate(). NO_GZIP would be used to avoid linking in 12453 // the crc code when it is not needed. For shared libraries, gzip encoding 12454 // should be left enabled. 12455 12456 // =========================================================================== 12457 // Internal compression state. 12458 12459 // number of length codes, not counting the special END_BLOCK code 12460 12461 // number of literal bytes 0..255 12462 12463 // number of Literal or Length codes, including the END_BLOCK code 12464 12465 // number of distance codes 12466 12467 // number of codes used to transfer the bit lengths 12468 12469 // maximum heap size 12470 12471 // All codes must not exceed MAX_BITS bits 12472 12473 // size of bit buffer in bi_buf 12474 12475 // Stream status 12476 12477 // Data structure describing a single value and its code string. 12478 type Ct_data = Ct_data_s /* deflate.h:77:7 */ 12479 12480 type Static_tree_desc_s = struct { 12481 Fstatic_tree uintptr 12482 Fextra_bits uintptr 12483 Fextra_base int32 12484 Felems int32 12485 Fmax_length int32 12486 F__ccgo_pad1 [4]byte 12487 } /* deflate.h:84:9 */ 12488 12489 type Tree_desc_s = struct { 12490 Fdyn_tree uintptr 12491 Fmax_code int32 12492 F__ccgo_pad1 [4]byte 12493 Fstat_desc uintptr 12494 } /* zlib.h:84:1 */ 12495 12496 type Tree_desc = Tree_desc_s /* deflate.h:90:7 */ 12497 12498 type Pos = Ush /* deflate.h:92:13 */ 12499 type Posf = Pos /* deflate.h:93:17 */ 12500 type IPos = uint32 /* deflate.h:94:18 */ 12501 12502 // A Pos is an index in the character window. We use short instead of int to 12503 // save space in the various tables. IPos is used only for parameter passing. 12504 12505 type Deflate_state = Internal_state /* deflate.h:276:7 */ 12506 12507 var Xdeflate_copyright = *(*[69]int8)(unsafe.Pointer(ts + 7)) /* deflate.c:54:12 */ 12508 // 12509 // If you use the zlib library in a product, an acknowledgment is welcome 12510 // in the documentation of your product. If for some reason you cannot 12511 // include such an acknowledgment, I would appreciate that you keep this 12512 // copyright string in the executable of your product. 12513 // 12514 12515 // =========================================================================== 12516 // Function prototypes. 12517 type Block_state = uint32 /* deflate.c:71:3 */ 12518 12519 type Compress_func = uintptr /* deflate.c:73:21 */ 12520 12521 // =========================================================================== 12522 // Local data 12523 12524 // Tail of hash chains 12525 12526 // Matches of length 3 are discarded if their distance exceeds TOO_FAR 12527 12528 // Values for max_lazy_match, good_match and max_chain_length, depending on 12529 // the desired pack level (0..9). The values given below have been tuned to 12530 // exclude worst case performance for pathological files. Better values may be 12531 // found for specific files. 12532 type Config_s = struct { 12533 Fgood_length Ush 12534 Fmax_lazy Ush 12535 Fnice_length Ush 12536 Fmax_chain Ush 12537 Ffunc Compress_func 12538 } /* deflate.c:120:9 */ 12539 12540 // =========================================================================== 12541 // Local data 12542 12543 // Tail of hash chains 12544 12545 // Matches of length 3 are discarded if their distance exceeds TOO_FAR 12546 12547 // Values for max_lazy_match, good_match and max_chain_length, depending on 12548 // the desired pack level (0..9). The values given below have been tuned to 12549 // exclude worst case performance for pathological files. Better values may be 12550 // found for specific files. 12551 type Config = Config_s /* deflate.c:126:3 */ 12552 12553 var configuration_table = [10]Config{ 12554 // good lazy nice chain 12555 /* 0 */ {Ffunc: 0}, // store only 12556 /* 1 */ {Fgood_length: Ush(4), Fmax_lazy: Ush(4), Fnice_length: Ush(8), Fmax_chain: Ush(4), Ffunc: 0}, // max speed, no lazy matches 12557 /* 2 */ {Fgood_length: Ush(4), Fmax_lazy: Ush(5), Fnice_length: Ush(16), Fmax_chain: Ush(8), Ffunc: 0}, 12558 /* 3 */ {Fgood_length: Ush(4), Fmax_lazy: Ush(6), Fnice_length: Ush(32), Fmax_chain: Ush(32), Ffunc: 0}, 12559 12560 /* 4 */ {Fgood_length: Ush(4), Fmax_lazy: Ush(4), Fnice_length: Ush(16), Fmax_chain: Ush(16), Ffunc: 0}, // lazy matches 12561 /* 5 */ {Fgood_length: Ush(8), Fmax_lazy: Ush(16), Fnice_length: Ush(32), Fmax_chain: Ush(32), Ffunc: 0}, 12562 /* 6 */ {Fgood_length: Ush(8), Fmax_lazy: Ush(16), Fnice_length: Ush(128), Fmax_chain: Ush(128), Ffunc: 0}, 12563 /* 7 */ {Fgood_length: Ush(8), Fmax_lazy: Ush(32), Fnice_length: Ush(128), Fmax_chain: Ush(256), Ffunc: 0}, 12564 /* 8 */ {Fgood_length: Ush(32), Fmax_lazy: Ush(128), Fnice_length: Ush(258), Fmax_chain: Ush(1024), Ffunc: 0}, 12565 /* 9 */ {Fgood_length: Ush(32), Fmax_lazy: Ush(258), Fnice_length: Ush(258), Fmax_chain: Ush(4096), Ffunc: 0}} /* deflate.c:134:20 */ 12566 12567 // max compression 12568 12569 // Note: the deflate() code requires max_lazy >= MIN_MATCH and max_chain >= 4 12570 // For deflate_fast() (levels <= 3) good is ignored and lazy has a different 12571 // meaning. 12572 12573 // rank Z_BLOCK between Z_NO_FLUSH and Z_PARTIAL_FLUSH 12574 12575 // =========================================================================== 12576 // Update a hash value with the given input byte 12577 // IN assertion: all calls to UPDATE_HASH are made with consecutive input 12578 // characters, so that a running hash key can be computed from the previous 12579 // key instead of complete recalculation each time. 12580 12581 // =========================================================================== 12582 // Insert string str in the dictionary and set match_head to the previous head 12583 // of the hash chain (the most recent string with same hash key). Return 12584 // the previous length of the hash chain. 12585 // If this file is compiled with -DFASTEST, the compression level is forced 12586 // to 1, and no hash chains are maintained. 12587 // IN assertion: all calls to INSERT_STRING are made with consecutive input 12588 // characters and the first MIN_MATCH bytes of str are valid (except for 12589 // the last MIN_MATCH-1 bytes of the input file). 12590 12591 // =========================================================================== 12592 // Initialize the hash table (avoiding 64K overflow for 16 bit systems). 12593 // prev[] will be initialized on the fly. 12594 12595 // =========================================================================== 12596 // Slide the hash table when sliding the window down (could be avoided with 32 12597 // bit values at the expense of memory usage). We slide even when level == 0 to 12598 // keep the hash table consistent if we switch back to level > 0 later. 12599 func slide_hash(tls *libc.TLS, s uintptr) { /* deflate.c:201:12: */ 12600 var n uint32 12601 var m uint32 12602 var p uintptr 12603 var wsize UInt = (*Deflate_state)(unsafe.Pointer(s)).Fw_size 12604 12605 n = (*Deflate_state)(unsafe.Pointer(s)).Fhash_size 12606 p = (*Deflate_state)(unsafe.Pointer(s)).Fhead + uintptr(n)*2 12607 for ok := true; ok; ok = libc.PreDecUint32(&n, 1) != 0 { 12608 m = uint32(*(*Posf)(unsafe.Pointer(libc.PreDecUintptr(&p, 2)))) 12609 *(*Posf)(unsafe.Pointer(p)) = func() uint16 { 12610 if m >= wsize { 12611 return uint16(m - wsize) 12612 } 12613 return uint16(NIL) 12614 }() 12615 } 12616 n = wsize 12617 p = (*Deflate_state)(unsafe.Pointer(s)).Fprev + uintptr(n)*2 12618 for ok1 := true; ok1; ok1 = libc.PreDecUint32(&n, 1) != 0 { 12619 m = uint32(*(*Posf)(unsafe.Pointer(libc.PreDecUintptr(&p, 2)))) 12620 *(*Posf)(unsafe.Pointer(p)) = func() uint16 { 12621 if m >= wsize { 12622 return uint16(m - wsize) 12623 } 12624 return uint16(NIL) 12625 }() 12626 // If n is not on any hash chain, prev[n] is garbage but 12627 // its value will never be used. 12628 } 12629 } 12630 12631 // ========================================================================= 12632 func XdeflateInit_(tls *libc.TLS, strm Z_streamp, level int32, version uintptr, stream_size int32) int32 { /* deflate.c:228:13: */ 12633 return XdeflateInit2_(tls, strm, level, Z_DEFLATED, MAX_WBITS, DEF_MEM_LEVEL, 12634 Z_DEFAULT_STRATEGY, version, stream_size) 12635 // To do: ignore strm->next_in if we use it as window 12636 } 12637 12638 // ========================================================================= 12639 func XdeflateInit2_(tls *libc.TLS, strm Z_streamp, level int32, method int32, windowBits int32, memLevel int32, strategy int32, version uintptr, stream_size int32) int32 { /* deflate.c:240:13: */ 12640 var s uintptr 12641 var wrap int32 = 1 12642 var overlay uintptr 12643 // We overlay pending_buf and d_buf+l_buf. This works since the average 12644 // output size for (length,distance) codes is <= 24 bits. 12645 12646 if version == uintptr(Z_NULL) || int32(*(*int8)(unsafe.Pointer(version))) != int32(my_version[0]) || uint64(stream_size) != uint64(unsafe.Sizeof(Z_stream{})) { 12647 return -6 12648 } 12649 if strm == uintptr(Z_NULL) { 12650 return -2 12651 } 12652 12653 (*Z_stream)(unsafe.Pointer(strm)).Fmsg = uintptr(Z_NULL) 12654 if (*Z_stream)(unsafe.Pointer(strm)).Fzalloc == uintptr(0) { 12655 (*Z_stream)(unsafe.Pointer(strm)).Fzalloc = *(*uintptr)(unsafe.Pointer(&struct { 12656 f func(*libc.TLS, Voidpf, uint32, uint32) Voidpf 12657 }{Xzcalloc})) 12658 (*Z_stream)(unsafe.Pointer(strm)).Fopaque = uintptr(0) 12659 } 12660 if (*Z_stream)(unsafe.Pointer(strm)).Fzfree == uintptr(0) { 12661 (*Z_stream)(unsafe.Pointer(strm)).Fzfree = *(*uintptr)(unsafe.Pointer(&struct { 12662 f func(*libc.TLS, Voidpf, Voidpf) 12663 }{Xzcfree})) 12664 } 12665 12666 if level == -1 { 12667 level = 6 12668 } 12669 12670 if windowBits < 0 { // suppress zlib wrapper 12671 wrap = 0 12672 windowBits = -windowBits 12673 } else if windowBits > 15 { 12674 wrap = 2 // write gzip wrapper instead 12675 windowBits = windowBits - 16 12676 } 12677 if memLevel < 1 || memLevel > MAX_MEM_LEVEL || method != Z_DEFLATED || windowBits < 8 || windowBits > 15 || level < 0 || level > 9 || strategy < 0 || strategy > Z_FIXED || windowBits == 8 && wrap != 1 { 12678 return -2 12679 } 12680 if windowBits == 8 { 12681 windowBits = 9 12682 } // until 256-byte window bug fixed 12683 s = (*struct { 12684 f func(*libc.TLS, Voidpf, UInt, UInt) Voidpf 12685 })(unsafe.Pointer(&struct{ uintptr }{(*Z_stream)(unsafe.Pointer(strm)).Fzalloc})).f(tls, (*Z_stream)(unsafe.Pointer(strm)).Fopaque, uint32(1), uint32(unsafe.Sizeof(Deflate_state{}))) 12686 if s == uintptr(Z_NULL) { 12687 return -4 12688 } 12689 (*Z_stream)(unsafe.Pointer(strm)).Fstate = s 12690 (*Deflate_state)(unsafe.Pointer(s)).Fstrm = strm 12691 (*Deflate_state)(unsafe.Pointer(s)).Fstatus = INIT_STATE // to pass state test in deflateReset() 12692 12693 (*Deflate_state)(unsafe.Pointer(s)).Fwrap = wrap 12694 (*Deflate_state)(unsafe.Pointer(s)).Fgzhead = Gz_headerp(Z_NULL) 12695 (*Deflate_state)(unsafe.Pointer(s)).Fw_bits = UInt(windowBits) 12696 (*Deflate_state)(unsafe.Pointer(s)).Fw_size = UInt(int32(1) << (*Deflate_state)(unsafe.Pointer(s)).Fw_bits) 12697 (*Deflate_state)(unsafe.Pointer(s)).Fw_mask = (*Deflate_state)(unsafe.Pointer(s)).Fw_size - UInt(1) 12698 12699 (*Deflate_state)(unsafe.Pointer(s)).Fhash_bits = UInt(memLevel) + UInt(7) 12700 (*Deflate_state)(unsafe.Pointer(s)).Fhash_size = UInt(int32(1) << (*Deflate_state)(unsafe.Pointer(s)).Fhash_bits) 12701 (*Deflate_state)(unsafe.Pointer(s)).Fhash_mask = (*Deflate_state)(unsafe.Pointer(s)).Fhash_size - UInt(1) 12702 (*Deflate_state)(unsafe.Pointer(s)).Fhash_shift = ((*Deflate_state)(unsafe.Pointer(s)).Fhash_bits + UInt(MIN_MATCH) - UInt(1)) / UInt(MIN_MATCH) 12703 12704 (*Deflate_state)(unsafe.Pointer(s)).Fwindow = (*struct { 12705 f func(*libc.TLS, Voidpf, UInt, UInt) Voidpf 12706 })(unsafe.Pointer(&struct{ uintptr }{(*Z_stream)(unsafe.Pointer(strm)).Fzalloc})).f(tls, (*Z_stream)(unsafe.Pointer(strm)).Fopaque, (*Deflate_state)(unsafe.Pointer(s)).Fw_size, uint32(uint64(2)*uint64(unsafe.Sizeof(Byte(0))))) 12707 (*Deflate_state)(unsafe.Pointer(s)).Fprev = (*struct { 12708 f func(*libc.TLS, Voidpf, UInt, UInt) Voidpf 12709 })(unsafe.Pointer(&struct{ uintptr }{(*Z_stream)(unsafe.Pointer(strm)).Fzalloc})).f(tls, (*Z_stream)(unsafe.Pointer(strm)).Fopaque, (*Deflate_state)(unsafe.Pointer(s)).Fw_size, uint32(unsafe.Sizeof(Pos(0)))) 12710 (*Deflate_state)(unsafe.Pointer(s)).Fhead = (*struct { 12711 f func(*libc.TLS, Voidpf, UInt, UInt) Voidpf 12712 })(unsafe.Pointer(&struct{ uintptr }{(*Z_stream)(unsafe.Pointer(strm)).Fzalloc})).f(tls, (*Z_stream)(unsafe.Pointer(strm)).Fopaque, (*Deflate_state)(unsafe.Pointer(s)).Fhash_size, uint32(unsafe.Sizeof(Pos(0)))) 12713 12714 (*Deflate_state)(unsafe.Pointer(s)).Fhigh_water = uint64(0) // nothing written to s->window yet 12715 12716 (*Deflate_state)(unsafe.Pointer(s)).Flit_bufsize = UInt(int32(1) << (memLevel + 6)) // 16K elements by default 12717 12718 overlay = (*struct { 12719 f func(*libc.TLS, Voidpf, UInt, UInt) Voidpf 12720 })(unsafe.Pointer(&struct{ uintptr }{(*Z_stream)(unsafe.Pointer(strm)).Fzalloc})).f(tls, (*Z_stream)(unsafe.Pointer(strm)).Fopaque, (*Deflate_state)(unsafe.Pointer(s)).Flit_bufsize, uint32(uint64(unsafe.Sizeof(Ush(0)))+uint64(2))) 12721 (*Deflate_state)(unsafe.Pointer(s)).Fpending_buf = overlay 12722 (*Deflate_state)(unsafe.Pointer(s)).Fpending_buf_size = Ulg((*Deflate_state)(unsafe.Pointer(s)).Flit_bufsize) * (uint64(unsafe.Sizeof(Ush(0))) + uint64(2)) 12723 12724 if (*Deflate_state)(unsafe.Pointer(s)).Fwindow == uintptr(Z_NULL) || (*Deflate_state)(unsafe.Pointer(s)).Fprev == uintptr(Z_NULL) || (*Deflate_state)(unsafe.Pointer(s)).Fhead == uintptr(Z_NULL) || (*Deflate_state)(unsafe.Pointer(s)).Fpending_buf == uintptr(Z_NULL) { 12725 (*Deflate_state)(unsafe.Pointer(s)).Fstatus = FINISH_STATE 12726 (*Z_stream)(unsafe.Pointer(strm)).Fmsg = Xz_errmsg[Z_NEED_DICT - -4] 12727 XdeflateEnd(tls, strm) 12728 return -4 12729 } 12730 (*Deflate_state)(unsafe.Pointer(s)).Fd_buf = overlay + uintptr(uint64((*Deflate_state)(unsafe.Pointer(s)).Flit_bufsize)/uint64(unsafe.Sizeof(Ush(0))))*2 12731 (*Deflate_state)(unsafe.Pointer(s)).Fl_buf = (*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr((uint64(1)+uint64(unsafe.Sizeof(Ush(0))))*uint64((*Deflate_state)(unsafe.Pointer(s)).Flit_bufsize)) 12732 12733 (*Deflate_state)(unsafe.Pointer(s)).Flevel = level 12734 (*Deflate_state)(unsafe.Pointer(s)).Fstrategy = strategy 12735 (*Deflate_state)(unsafe.Pointer(s)).Fmethod = Byte(method) 12736 12737 return XdeflateReset(tls, strm) 12738 } 12739 12740 var my_version = *(*[7]int8)(unsafe.Pointer(ts)) /* deflate.c:253:23 */ 12741 12742 // ========================================================================= 12743 // Check for a valid deflate stream state. Return 0 if ok, 1 if not. 12744 func deflateStateCheck(tls *libc.TLS, strm Z_streamp) int32 { /* deflate.c:353:11: */ 12745 var s uintptr 12746 if strm == uintptr(Z_NULL) || (*Z_stream)(unsafe.Pointer(strm)).Fzalloc == uintptr(0) || (*Z_stream)(unsafe.Pointer(strm)).Fzfree == uintptr(0) { 12747 return 1 12748 } 12749 s = (*Z_stream)(unsafe.Pointer(strm)).Fstate 12750 if s == uintptr(Z_NULL) || (*Deflate_state)(unsafe.Pointer(s)).Fstrm != strm || (*Deflate_state)(unsafe.Pointer(s)).Fstatus != INIT_STATE && (*Deflate_state)(unsafe.Pointer(s)).Fstatus != GZIP_STATE && (*Deflate_state)(unsafe.Pointer(s)).Fstatus != EXTRA_STATE && (*Deflate_state)(unsafe.Pointer(s)).Fstatus != NAME_STATE && (*Deflate_state)(unsafe.Pointer(s)).Fstatus != COMMENT_STATE && (*Deflate_state)(unsafe.Pointer(s)).Fstatus != HCRC_STATE && (*Deflate_state)(unsafe.Pointer(s)).Fstatus != BUSY_STATE && (*Deflate_state)(unsafe.Pointer(s)).Fstatus != FINISH_STATE { 12751 return 1 12752 } 12753 return 0 12754 } 12755 12756 // ========================================================================= 12757 func XdeflateSetDictionary(tls *libc.TLS, strm Z_streamp, dictionary uintptr, dictLength UInt) int32 { /* deflate.c:376:13: */ 12758 var s uintptr 12759 var str UInt 12760 var n UInt 12761 var wrap int32 12762 var avail uint32 12763 var next uintptr 12764 12765 if deflateStateCheck(tls, strm) != 0 || dictionary == uintptr(Z_NULL) { 12766 return -2 12767 } 12768 s = (*Z_stream)(unsafe.Pointer(strm)).Fstate 12769 wrap = (*Deflate_state)(unsafe.Pointer(s)).Fwrap 12770 if wrap == 2 || wrap == 1 && (*Deflate_state)(unsafe.Pointer(s)).Fstatus != INIT_STATE || (*Deflate_state)(unsafe.Pointer(s)).Flookahead != 0 { 12771 return -2 12772 } 12773 12774 // when using zlib wrappers, compute Adler-32 for provided dictionary 12775 if wrap == 1 { 12776 (*Z_stream)(unsafe.Pointer(strm)).Fadler = Xadler32(tls, (*Z_stream)(unsafe.Pointer(strm)).Fadler, dictionary, dictLength) 12777 } 12778 (*Deflate_state)(unsafe.Pointer(s)).Fwrap = 0 // avoid computing Adler-32 in read_buf 12779 12780 // if dictionary would fill window, just replace the history 12781 if dictLength >= (*Deflate_state)(unsafe.Pointer(s)).Fw_size { 12782 if wrap == 0 { // already empty otherwise 12783 *(*Posf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fhash_size-UInt(1))*2)) = Posf(NIL) 12784 libc.X__builtin___memset_chk(tls, (*Deflate_state)(unsafe.Pointer(s)).Fhead, 0, uint64((*Deflate_state)(unsafe.Pointer(s)).Fhash_size-UInt(1))*uint64(unsafe.Sizeof(Posf(0))), libc.X__builtin_object_size(tls, (*Deflate_state)(unsafe.Pointer(s)).Fhead, 0)) 12785 12786 (*Deflate_state)(unsafe.Pointer(s)).Fstrstart = UInt(0) 12787 (*Deflate_state)(unsafe.Pointer(s)).Fblock_start = 0 12788 (*Deflate_state)(unsafe.Pointer(s)).Finsert = UInt(0) 12789 } 12790 dictionary += uintptr(dictLength - (*Deflate_state)(unsafe.Pointer(s)).Fw_size) // use the tail 12791 dictLength = (*Deflate_state)(unsafe.Pointer(s)).Fw_size 12792 } 12793 12794 // insert dictionary into window and hash 12795 avail = (*Z_stream)(unsafe.Pointer(strm)).Favail_in 12796 next = (*Z_stream)(unsafe.Pointer(strm)).Fnext_in 12797 (*Z_stream)(unsafe.Pointer(strm)).Favail_in = dictLength 12798 (*Z_stream)(unsafe.Pointer(strm)).Fnext_in = dictionary 12799 fill_window(tls, s) 12800 for (*Deflate_state)(unsafe.Pointer(s)).Flookahead >= UInt(MIN_MATCH) { 12801 str = (*Deflate_state)(unsafe.Pointer(s)).Fstrstart 12802 n = (*Deflate_state)(unsafe.Pointer(s)).Flookahead - UInt(MIN_MATCH-1) 12803 for ok := true; ok; ok = libc.PreDecUint32(&n, 1) != 0 { 12804 (*Deflate_state)(unsafe.Pointer(s)).Fins_h = ((*Deflate_state)(unsafe.Pointer(s)).Fins_h<<(*Deflate_state)(unsafe.Pointer(s)).Fhash_shift ^ UInt(*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(str+UInt(MIN_MATCH)-UInt(1)))))) & (*Deflate_state)(unsafe.Pointer(s)).Fhash_mask 12805 *(*Posf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fprev + uintptr(str&(*Deflate_state)(unsafe.Pointer(s)).Fw_mask)*2)) = *(*Posf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fins_h)*2)) 12806 *(*Posf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fins_h)*2)) = Pos(str) 12807 str++ 12808 } 12809 (*Deflate_state)(unsafe.Pointer(s)).Fstrstart = str 12810 (*Deflate_state)(unsafe.Pointer(s)).Flookahead = UInt(MIN_MATCH - 1) 12811 fill_window(tls, s) 12812 } 12813 *(*UInt)(unsafe.Pointer(s + 172)) += (*Deflate_state)(unsafe.Pointer(s)).Flookahead 12814 (*Deflate_state)(unsafe.Pointer(s)).Fblock_start = int64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart) 12815 (*Deflate_state)(unsafe.Pointer(s)).Finsert = (*Deflate_state)(unsafe.Pointer(s)).Flookahead 12816 (*Deflate_state)(unsafe.Pointer(s)).Flookahead = UInt(0) 12817 (*Deflate_state)(unsafe.Pointer(s)).Fmatch_length = libc.AssignPtrUint32(s+184, UInt(MIN_MATCH-1)) 12818 (*Deflate_state)(unsafe.Pointer(s)).Fmatch_available = 0 12819 (*Z_stream)(unsafe.Pointer(strm)).Fnext_in = next 12820 (*Z_stream)(unsafe.Pointer(strm)).Favail_in = avail 12821 (*Deflate_state)(unsafe.Pointer(s)).Fwrap = wrap 12822 return Z_OK 12823 } 12824 12825 // ========================================================================= 12826 func XdeflateGetDictionary(tls *libc.TLS, strm Z_streamp, dictionary uintptr, dictLength uintptr) int32 { /* deflate.c:445:13: */ 12827 var s uintptr 12828 var len UInt 12829 12830 if deflateStateCheck(tls, strm) != 0 { 12831 return -2 12832 } 12833 s = (*Z_stream)(unsafe.Pointer(strm)).Fstate 12834 len = (*Deflate_state)(unsafe.Pointer(s)).Fstrstart + (*Deflate_state)(unsafe.Pointer(s)).Flookahead 12835 if len > (*Deflate_state)(unsafe.Pointer(s)).Fw_size { 12836 len = (*Deflate_state)(unsafe.Pointer(s)).Fw_size 12837 } 12838 if dictionary != uintptr(Z_NULL) && len != 0 { 12839 libc.X__builtin___memcpy_chk(tls, dictionary, (*Deflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Deflate_state)(unsafe.Pointer(s)).Fstrstart)+uintptr((*Deflate_state)(unsafe.Pointer(s)).Flookahead)-uintptr(len), uint64(len), libc.X__builtin_object_size(tls, dictionary, 0)) 12840 } 12841 if dictLength != uintptr(Z_NULL) { 12842 *(*UInt)(unsafe.Pointer(dictLength)) = len 12843 } 12844 return Z_OK 12845 } 12846 12847 // ========================================================================= 12848 func XdeflateResetKeep(tls *libc.TLS, strm Z_streamp) int32 { /* deflate.c:467:13: */ 12849 var s uintptr 12850 12851 if deflateStateCheck(tls, strm) != 0 { 12852 return -2 12853 } 12854 12855 (*Z_stream)(unsafe.Pointer(strm)).Ftotal_in = libc.AssignPtrUint64(strm+40, uint64(0)) 12856 (*Z_stream)(unsafe.Pointer(strm)).Fmsg = uintptr(Z_NULL) // use zfree if we ever allocate msg dynamically 12857 (*Z_stream)(unsafe.Pointer(strm)).Fdata_type = Z_UNKNOWN 12858 12859 s = (*Z_stream)(unsafe.Pointer(strm)).Fstate 12860 (*Deflate_state)(unsafe.Pointer(s)).Fpending = uint64(0) 12861 (*Deflate_state)(unsafe.Pointer(s)).Fpending_out = (*Deflate_state)(unsafe.Pointer(s)).Fpending_buf 12862 12863 if (*Deflate_state)(unsafe.Pointer(s)).Fwrap < 0 { 12864 (*Deflate_state)(unsafe.Pointer(s)).Fwrap = -(*Deflate_state)(unsafe.Pointer(s)).Fwrap // was made negative by deflate(..., Z_FINISH); 12865 } 12866 (*Deflate_state)(unsafe.Pointer(s)).Fstatus = func() int32 { 12867 if (*Deflate_state)(unsafe.Pointer(s)).Fwrap == 2 { 12868 return GZIP_STATE 12869 } 12870 return func() int32 { 12871 if (*Deflate_state)(unsafe.Pointer(s)).Fwrap != 0 { 12872 return INIT_STATE 12873 } 12874 return BUSY_STATE 12875 }() 12876 }() 12877 (*Z_stream)(unsafe.Pointer(strm)).Fadler = func() uint64 { 12878 if (*Deflate_state)(unsafe.Pointer(s)).Fwrap == 2 { 12879 return Xcrc32(tls, uint64(0), uintptr(Z_NULL), uint32(0)) 12880 } 12881 return Xadler32(tls, uint64(0), uintptr(Z_NULL), uint32(0)) 12882 }() 12883 (*Deflate_state)(unsafe.Pointer(s)).Flast_flush = Z_NO_FLUSH 12884 12885 X_tr_init(tls, s) 12886 12887 return Z_OK 12888 } 12889 12890 // ========================================================================= 12891 func XdeflateReset(tls *libc.TLS, strm Z_streamp) int32 { /* deflate.c:505:13: */ 12892 var ret int32 12893 12894 ret = XdeflateResetKeep(tls, strm) 12895 if ret == Z_OK { 12896 lm_init(tls, (*Z_stream)(unsafe.Pointer(strm)).Fstate) 12897 } 12898 return ret 12899 } 12900 12901 // ========================================================================= 12902 func XdeflateSetHeader(tls *libc.TLS, strm Z_streamp, head Gz_headerp) int32 { /* deflate.c:517:13: */ 12903 if deflateStateCheck(tls, strm) != 0 || (*Internal_state)(unsafe.Pointer((*Z_stream)(unsafe.Pointer(strm)).Fstate)).Fwrap != 2 { 12904 return -2 12905 } 12906 (*Internal_state)(unsafe.Pointer((*Z_stream)(unsafe.Pointer(strm)).Fstate)).Fgzhead = head 12907 return Z_OK 12908 } 12909 12910 // ========================================================================= 12911 func XdeflatePending(tls *libc.TLS, strm Z_streamp, pending uintptr, bits uintptr) int32 { /* deflate.c:528:13: */ 12912 if deflateStateCheck(tls, strm) != 0 { 12913 return -2 12914 } 12915 if pending != uintptr(Z_NULL) { 12916 *(*uint32)(unsafe.Pointer(pending)) = uint32((*Internal_state)(unsafe.Pointer((*Z_stream)(unsafe.Pointer(strm)).Fstate)).Fpending) 12917 } 12918 if bits != uintptr(Z_NULL) { 12919 *(*int32)(unsafe.Pointer(bits)) = (*Internal_state)(unsafe.Pointer((*Z_stream)(unsafe.Pointer(strm)).Fstate)).Fbi_valid 12920 } 12921 return Z_OK 12922 } 12923 12924 // ========================================================================= 12925 func XdeflatePrime(tls *libc.TLS, strm Z_streamp, bits int32, value int32) int32 { /* deflate.c:542:13: */ 12926 var s uintptr 12927 var put int32 12928 12929 if deflateStateCheck(tls, strm) != 0 { 12930 return -2 12931 } 12932 s = (*Z_stream)(unsafe.Pointer(strm)).Fstate 12933 if (*Deflate_state)(unsafe.Pointer(s)).Fd_buf < (*Deflate_state)(unsafe.Pointer(s)).Fpending_out+uintptr(int32(Buf_size+7)>>3) { 12934 return -5 12935 } 12936 for ok := true; ok; ok = bits != 0 { 12937 put = Buf_size - (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid 12938 if put > bits { 12939 put = bits 12940 } 12941 *(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(value & (int32(1)<<put - 1) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid))) 12942 *(*int32)(unsafe.Pointer(s + 5940)) += put 12943 X_tr_flush_bits(tls, s) 12944 value >>= put 12945 bits = bits - put 12946 } 12947 return Z_OK 12948 } 12949 12950 // ========================================================================= 12951 func XdeflateParams(tls *libc.TLS, strm Z_streamp, level int32, strategy int32) int32 { /* deflate.c:568:13: */ 12952 var s uintptr 12953 var func1 Compress_func 12954 12955 if deflateStateCheck(tls, strm) != 0 { 12956 return -2 12957 } 12958 s = (*Z_stream)(unsafe.Pointer(strm)).Fstate 12959 12960 if level == -1 { 12961 level = 6 12962 } 12963 if level < 0 || level > 9 || strategy < 0 || strategy > Z_FIXED { 12964 return -2 12965 } 12966 func1 = configuration_table[(*Deflate_state)(unsafe.Pointer(s)).Flevel].Ffunc 12967 12968 if (strategy != (*Deflate_state)(unsafe.Pointer(s)).Fstrategy || func1 != configuration_table[level].Ffunc) && (*Deflate_state)(unsafe.Pointer(s)).Fhigh_water != 0 { 12969 // Flush the last buffer: 12970 var err int32 = Xdeflate(tls, strm, Z_BLOCK) 12971 if err == -2 { 12972 return err 12973 } 12974 if (*Z_stream)(unsafe.Pointer(strm)).Favail_out == UInt(0) { 12975 return -5 12976 } 12977 } 12978 if (*Deflate_state)(unsafe.Pointer(s)).Flevel != level { 12979 if (*Deflate_state)(unsafe.Pointer(s)).Flevel == 0 && (*Deflate_state)(unsafe.Pointer(s)).Fmatches != UInt(0) { 12980 if (*Deflate_state)(unsafe.Pointer(s)).Fmatches == UInt(1) { 12981 slide_hash(tls, s) 12982 } else { 12983 *(*Posf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fhash_size-UInt(1))*2)) = Posf(NIL) 12984 } 12985 libc.X__builtin___memset_chk(tls, (*Deflate_state)(unsafe.Pointer(s)).Fhead, 0, uint64((*Deflate_state)(unsafe.Pointer(s)).Fhash_size-UInt(1))*uint64(unsafe.Sizeof(Posf(0))), libc.X__builtin_object_size(tls, (*Deflate_state)(unsafe.Pointer(s)).Fhead, 0)) 12986 12987 (*Deflate_state)(unsafe.Pointer(s)).Fmatches = UInt(0) 12988 } 12989 (*Deflate_state)(unsafe.Pointer(s)).Flevel = level 12990 (*Deflate_state)(unsafe.Pointer(s)).Fmax_lazy_match = UInt(configuration_table[level].Fmax_lazy) 12991 (*Deflate_state)(unsafe.Pointer(s)).Fgood_match = UInt(configuration_table[level].Fgood_length) 12992 (*Deflate_state)(unsafe.Pointer(s)).Fnice_match = int32(configuration_table[level].Fnice_length) 12993 (*Deflate_state)(unsafe.Pointer(s)).Fmax_chain_length = UInt(configuration_table[level].Fmax_chain) 12994 } 12995 (*Deflate_state)(unsafe.Pointer(s)).Fstrategy = strategy 12996 return Z_OK 12997 } 12998 12999 // ========================================================================= 13000 func XdeflateTune(tls *libc.TLS, strm Z_streamp, good_length int32, max_lazy int32, nice_length int32, max_chain int32) int32 { /* deflate.c:617:13: */ 13001 var s uintptr 13002 13003 if deflateStateCheck(tls, strm) != 0 { 13004 return -2 13005 } 13006 s = (*Z_stream)(unsafe.Pointer(strm)).Fstate 13007 (*Deflate_state)(unsafe.Pointer(s)).Fgood_match = UInt(good_length) 13008 (*Deflate_state)(unsafe.Pointer(s)).Fmax_lazy_match = UInt(max_lazy) 13009 (*Deflate_state)(unsafe.Pointer(s)).Fnice_match = nice_length 13010 (*Deflate_state)(unsafe.Pointer(s)).Fmax_chain_length = UInt(max_chain) 13011 return Z_OK 13012 } 13013 13014 // ========================================================================= 13015 // For the default windowBits of 15 and memLevel of 8, this function returns 13016 // a close to exact, as well as small, upper bound on the compressed size. 13017 // They are coded as constants here for a reason--if the #define's are 13018 // changed, then this function needs to be changed as well. The return 13019 // value for 15 and 8 only works for those exact settings. 13020 // 13021 // For any setting other than those defaults for windowBits and memLevel, 13022 // the value returned is a conservative worst case for the maximum expansion 13023 // resulting from using fixed blocks instead of stored blocks, which deflate 13024 // can emit on compressed data for some combinations of the parameters. 13025 // 13026 // This function could be more sophisticated to provide closer upper bounds for 13027 // every combination of windowBits and memLevel. But even the conservative 13028 // upper bound of about 14% expansion does not seem onerous for output buffer 13029 // allocation. 13030 func XdeflateBound(tls *libc.TLS, strm Z_streamp, sourceLen ULong) ULong { /* deflate.c:652:15: */ 13031 var s uintptr 13032 var complen ULong 13033 var wraplen ULong 13034 13035 // conservative upper bound for compressed data 13036 complen = sourceLen + (sourceLen+uint64(7))>>3 + (sourceLen+uint64(63))>>6 + uint64(5) 13037 13038 // if can't get parameters, return conservative bound plus zlib wrapper 13039 if deflateStateCheck(tls, strm) != 0 { 13040 return complen + uint64(6) 13041 } 13042 13043 // compute wrapper length 13044 s = (*Z_stream)(unsafe.Pointer(strm)).Fstate 13045 switch (*Deflate_state)(unsafe.Pointer(s)).Fwrap { 13046 case 0: // raw deflate 13047 wraplen = uint64(0) 13048 break 13049 case 1: // zlib wrapper 13050 wraplen = ULong(6 + func() int32 { 13051 if (*Deflate_state)(unsafe.Pointer(s)).Fstrstart != 0 { 13052 return 4 13053 } 13054 return 0 13055 }()) 13056 break 13057 case 2: // gzip wrapper 13058 wraplen = uint64(18) 13059 if (*Deflate_state)(unsafe.Pointer(s)).Fgzhead != uintptr(Z_NULL) { // user-supplied gzip header 13060 var str uintptr 13061 if (*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra != uintptr(Z_NULL) { 13062 wraplen = wraplen + ULong(UInt(2)+(*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra_len) 13063 } 13064 str = (*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Fname 13065 if str != uintptr(Z_NULL) { 13066 for ok := true; ok; ok = *(*Bytef)(unsafe.Pointer(libc.PostIncUintptr(&str, 1))) != 0 { 13067 wraplen++ 13068 } 13069 } 13070 str = (*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Fcomment 13071 if str != uintptr(Z_NULL) { 13072 for ok1 := true; ok1; ok1 = *(*Bytef)(unsafe.Pointer(libc.PostIncUintptr(&str, 1))) != 0 { 13073 wraplen++ 13074 } 13075 } 13076 if (*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 { 13077 wraplen = wraplen + uint64(2) 13078 } 13079 } 13080 break 13081 default: // for compiler happiness 13082 wraplen = uint64(6) 13083 } 13084 13085 // if not default parameters, return conservative bound 13086 if (*Deflate_state)(unsafe.Pointer(s)).Fw_bits != UInt(15) || (*Deflate_state)(unsafe.Pointer(s)).Fhash_bits != UInt(8+7) { 13087 return complen + wraplen 13088 } 13089 13090 // default settings: return tight bound for that case 13091 return sourceLen + sourceLen>>12 + sourceLen>>14 + sourceLen>>25 + uint64(13) - uint64(6) + wraplen 13092 } 13093 13094 // ========================================================================= 13095 // Put a short in the pending buffer. The 16-bit value is put in MSB order. 13096 // IN assertion: the stream state is correct and there is enough room in 13097 // pending_buf. 13098 func putShortMSB(tls *libc.TLS, s uintptr, b UInt) { /* deflate.c:716:12: */ 13099 { 13100 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Byte(b >> 8) 13101 } 13102 13103 { 13104 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Byte(b & UInt(0xff)) 13105 } 13106 13107 } 13108 13109 // ========================================================================= 13110 // Flush as much pending output as possible. All deflate() output, except for 13111 // some deflate_stored() output, goes through this function so some 13112 // applications may wish to modify it to avoid allocating a large 13113 // strm->next_out buffer and copying into it. (See also read_buf()). 13114 func flush_pending(tls *libc.TLS, strm Z_streamp) { /* deflate.c:730:12: */ 13115 var len uint32 13116 var s uintptr = (*Z_stream)(unsafe.Pointer(strm)).Fstate 13117 13118 X_tr_flush_bits(tls, s) 13119 len = uint32((*Deflate_state)(unsafe.Pointer(s)).Fpending) 13120 if len > (*Z_stream)(unsafe.Pointer(strm)).Favail_out { 13121 len = (*Z_stream)(unsafe.Pointer(strm)).Favail_out 13122 } 13123 if len == uint32(0) { 13124 return 13125 } 13126 13127 libc.X__builtin___memcpy_chk(tls, (*Z_stream)(unsafe.Pointer(strm)).Fnext_out, (*Deflate_state)(unsafe.Pointer(s)).Fpending_out, uint64(len), libc.X__builtin_object_size(tls, (*Z_stream)(unsafe.Pointer(strm)).Fnext_out, 0)) 13128 *(*uintptr)(unsafe.Pointer(strm + 24)) += uintptr(len) 13129 *(*uintptr)(unsafe.Pointer(s + 32)) += uintptr(len) 13130 *(*ULong)(unsafe.Pointer(strm + 40)) += ULong(len) 13131 *(*UInt)(unsafe.Pointer(strm + 32)) -= len 13132 *(*Ulg)(unsafe.Pointer(s + 40)) -= Ulg(len) 13133 if (*Deflate_state)(unsafe.Pointer(s)).Fpending == uint64(0) { 13134 (*Deflate_state)(unsafe.Pointer(s)).Fpending_out = (*Deflate_state)(unsafe.Pointer(s)).Fpending_buf 13135 } 13136 } 13137 13138 // =========================================================================== 13139 // Update the header CRC with the bytes s->pending_buf[beg..s->pending - 1]. 13140 13141 // ========================================================================= 13142 func Xdeflate(tls *libc.TLS, strm Z_streamp, flush int32) int32 { /* deflate.c:763:13: */ 13143 var old_flush int32 // value of flush param for previous deflate call 13144 var s uintptr 13145 13146 if deflateStateCheck(tls, strm) != 0 || flush > Z_BLOCK || flush < 0 { 13147 return -2 13148 } 13149 s = (*Z_stream)(unsafe.Pointer(strm)).Fstate 13150 13151 if (*Z_stream)(unsafe.Pointer(strm)).Fnext_out == uintptr(Z_NULL) || (*Z_stream)(unsafe.Pointer(strm)).Favail_in != UInt(0) && (*Z_stream)(unsafe.Pointer(strm)).Fnext_in == uintptr(Z_NULL) || (*Deflate_state)(unsafe.Pointer(s)).Fstatus == FINISH_STATE && flush != Z_FINISH { 13152 return func() int32 { (*Z_stream)(unsafe.Pointer(strm)).Fmsg = Xz_errmsg[Z_NEED_DICT - -2]; return -2 }() 13153 } 13154 if (*Z_stream)(unsafe.Pointer(strm)).Favail_out == UInt(0) { 13155 return func() int32 { (*Z_stream)(unsafe.Pointer(strm)).Fmsg = Xz_errmsg[Z_NEED_DICT - -5]; return -5 }() 13156 } 13157 13158 old_flush = (*Deflate_state)(unsafe.Pointer(s)).Flast_flush 13159 (*Deflate_state)(unsafe.Pointer(s)).Flast_flush = flush 13160 13161 // Flush as much pending output as possible 13162 if (*Deflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) { 13163 flush_pending(tls, strm) 13164 if (*Z_stream)(unsafe.Pointer(strm)).Favail_out == UInt(0) { 13165 // Since avail_out is 0, deflate will be called again with 13166 // more output space, but possibly with both pending and 13167 // avail_in equal to zero. There won't be anything to do, 13168 // but this is not an error situation so make sure we 13169 // return OK instead of BUF_ERROR at next call of deflate: 13170 (*Deflate_state)(unsafe.Pointer(s)).Flast_flush = -1 13171 return Z_OK 13172 } 13173 13174 // Make sure there is something to do and avoid duplicate consecutive 13175 // flushes. For repeated and useless calls with Z_FINISH, we keep 13176 // returning Z_STREAM_END instead of Z_BUF_ERROR. 13177 } else if (*Z_stream)(unsafe.Pointer(strm)).Favail_in == UInt(0) && flush*2-func() int32 { 13178 if flush > 4 { 13179 return 9 13180 } 13181 return 0 13182 }() <= old_flush*2-func() int32 { 13183 if old_flush > 4 { 13184 return 9 13185 } 13186 return 0 13187 }() && flush != Z_FINISH { 13188 return func() int32 { (*Z_stream)(unsafe.Pointer(strm)).Fmsg = Xz_errmsg[Z_NEED_DICT - -5]; return -5 }() 13189 } 13190 13191 // User must not provide more input after the first FINISH: 13192 if (*Deflate_state)(unsafe.Pointer(s)).Fstatus == FINISH_STATE && (*Z_stream)(unsafe.Pointer(strm)).Favail_in != UInt(0) { 13193 return func() int32 { (*Z_stream)(unsafe.Pointer(strm)).Fmsg = Xz_errmsg[Z_NEED_DICT - -5]; return -5 }() 13194 } 13195 13196 // Write the header 13197 if (*Deflate_state)(unsafe.Pointer(s)).Fstatus == INIT_STATE { 13198 // zlib header 13199 var header UInt = (UInt(Z_DEFLATED) + ((*Deflate_state)(unsafe.Pointer(s)).Fw_bits-UInt(8))<<4) << 8 13200 var level_flags UInt 13201 13202 if (*Deflate_state)(unsafe.Pointer(s)).Fstrategy >= Z_HUFFMAN_ONLY || (*Deflate_state)(unsafe.Pointer(s)).Flevel < 2 { 13203 level_flags = UInt(0) 13204 } else if (*Deflate_state)(unsafe.Pointer(s)).Flevel < 6 { 13205 level_flags = UInt(1) 13206 } else if (*Deflate_state)(unsafe.Pointer(s)).Flevel == 6 { 13207 level_flags = UInt(2) 13208 } else { 13209 level_flags = UInt(3) 13210 } 13211 header = header | level_flags<<6 13212 if (*Deflate_state)(unsafe.Pointer(s)).Fstrstart != UInt(0) { 13213 header = header | UInt(PRESET_DICT) 13214 } 13215 header = header + (UInt(31) - header%UInt(31)) 13216 13217 putShortMSB(tls, s, header) 13218 13219 // Save the adler32 of the preset dictionary: 13220 if (*Deflate_state)(unsafe.Pointer(s)).Fstrstart != UInt(0) { 13221 putShortMSB(tls, s, UInt((*Z_stream)(unsafe.Pointer(strm)).Fadler>>16)) 13222 putShortMSB(tls, s, UInt((*Z_stream)(unsafe.Pointer(strm)).Fadler&uint64(0xffff))) 13223 } 13224 (*Z_stream)(unsafe.Pointer(strm)).Fadler = Xadler32(tls, uint64(0), uintptr(Z_NULL), uint32(0)) 13225 (*Deflate_state)(unsafe.Pointer(s)).Fstatus = BUSY_STATE 13226 13227 // Compression must start with an empty pending buffer 13228 flush_pending(tls, strm) 13229 if (*Deflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) { 13230 (*Deflate_state)(unsafe.Pointer(s)).Flast_flush = -1 13231 return Z_OK 13232 } 13233 } 13234 if (*Deflate_state)(unsafe.Pointer(s)).Fstatus == GZIP_STATE { 13235 // gzip header 13236 (*Z_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, uint64(0), uintptr(Z_NULL), uint32(0)) 13237 { 13238 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Bytef(31) 13239 } 13240 13241 { 13242 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Bytef(139) 13243 } 13244 13245 { 13246 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Bytef(8) 13247 } 13248 13249 if (*Deflate_state)(unsafe.Pointer(s)).Fgzhead == uintptr(Z_NULL) { 13250 { 13251 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Bytef(0) 13252 } 13253 13254 { 13255 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Bytef(0) 13256 } 13257 13258 { 13259 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Bytef(0) 13260 } 13261 13262 { 13263 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Bytef(0) 13264 } 13265 13266 { 13267 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Bytef(0) 13268 } 13269 13270 { 13271 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = func() uint8 { 13272 if (*Deflate_state)(unsafe.Pointer(s)).Flevel == 9 { 13273 return uint8(2) 13274 } 13275 return func() uint8 { 13276 if (*Deflate_state)(unsafe.Pointer(s)).Fstrategy >= Z_HUFFMAN_ONLY || (*Deflate_state)(unsafe.Pointer(s)).Flevel < 2 { 13277 return uint8(4) 13278 } 13279 return uint8(0) 13280 }() 13281 }() 13282 } 13283 13284 { 13285 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Bytef(OS_CODE) 13286 } 13287 13288 (*Deflate_state)(unsafe.Pointer(s)).Fstatus = BUSY_STATE 13289 13290 // Compression must start with an empty pending buffer 13291 flush_pending(tls, strm) 13292 if (*Deflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) { 13293 (*Deflate_state)(unsafe.Pointer(s)).Flast_flush = -1 13294 return Z_OK 13295 } 13296 } else { 13297 { 13298 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Bytef(func() int32 { 13299 if (*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Ftext != 0 { 13300 return 1 13301 } 13302 return 0 13303 }() + func() int32 { 13304 if (*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 { 13305 return 2 13306 } 13307 return 0 13308 }() + func() int32 { 13309 if (*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra == uintptr(Z_NULL) { 13310 return 0 13311 } 13312 return 4 13313 }() + func() int32 { 13314 if (*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Fname == uintptr(Z_NULL) { 13315 return 0 13316 } 13317 return 8 13318 }() + func() int32 { 13319 if (*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Fcomment == uintptr(Z_NULL) { 13320 return 0 13321 } 13322 return 16 13323 }()) 13324 } 13325 13326 { 13327 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Byte((*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Ftime & uint64(0xff)) 13328 } 13329 13330 { 13331 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Byte((*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Ftime >> 8 & uint64(0xff)) 13332 } 13333 13334 { 13335 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Byte((*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Ftime >> 16 & uint64(0xff)) 13336 } 13337 13338 { 13339 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Byte((*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Ftime >> 24 & uint64(0xff)) 13340 } 13341 13342 { 13343 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = func() uint8 { 13344 if (*Deflate_state)(unsafe.Pointer(s)).Flevel == 9 { 13345 return uint8(2) 13346 } 13347 return func() uint8 { 13348 if (*Deflate_state)(unsafe.Pointer(s)).Fstrategy >= Z_HUFFMAN_ONLY || (*Deflate_state)(unsafe.Pointer(s)).Flevel < 2 { 13349 return uint8(4) 13350 } 13351 return uint8(0) 13352 }() 13353 }() 13354 } 13355 13356 { 13357 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Bytef((*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Fos & 0xff) 13358 } 13359 13360 if (*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra != uintptr(Z_NULL) { 13361 { 13362 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Bytef((*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra_len & UInt(0xff)) 13363 } 13364 13365 { 13366 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Bytef((*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra_len >> 8 & UInt(0xff)) 13367 } 13368 13369 } 13370 if (*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 { 13371 (*Z_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, (*Z_stream)(unsafe.Pointer(strm)).Fadler, (*Deflate_state)(unsafe.Pointer(s)).Fpending_buf, 13372 uint32((*Deflate_state)(unsafe.Pointer(s)).Fpending)) 13373 } 13374 (*Deflate_state)(unsafe.Pointer(s)).Fgzindex = uint64(0) 13375 (*Deflate_state)(unsafe.Pointer(s)).Fstatus = EXTRA_STATE 13376 } 13377 } 13378 if (*Deflate_state)(unsafe.Pointer(s)).Fstatus == EXTRA_STATE { 13379 if (*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra != uintptr(Z_NULL) { 13380 var beg Ulg = (*Deflate_state)(unsafe.Pointer(s)).Fpending // start of bytes to update crc 13381 var left UInt = UInt(Ulg((*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra_len&UInt(0xffff)) - (*Deflate_state)(unsafe.Pointer(s)).Fgzindex) 13382 for (*Deflate_state)(unsafe.Pointer(s)).Fpending+Ulg(left) > (*Deflate_state)(unsafe.Pointer(s)).Fpending_buf_size { 13383 var copy UInt = UInt((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf_size - (*Deflate_state)(unsafe.Pointer(s)).Fpending) 13384 libc.X__builtin___memcpy_chk(tls, (*Deflate_state)(unsafe.Pointer(s)).Fpending_buf+uintptr((*Deflate_state)(unsafe.Pointer(s)).Fpending), (*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra+uintptr((*Deflate_state)(unsafe.Pointer(s)).Fgzindex), uint64(copy), libc.X__builtin_object_size(tls, (*Deflate_state)(unsafe.Pointer(s)).Fpending_buf+uintptr((*Deflate_state)(unsafe.Pointer(s)).Fpending), 0)) 13385 (*Deflate_state)(unsafe.Pointer(s)).Fpending = (*Deflate_state)(unsafe.Pointer(s)).Fpending_buf_size 13386 for ok := true; ok; ok = 0 != 0 { 13387 if (*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 && (*Deflate_state)(unsafe.Pointer(s)).Fpending > beg { 13388 (*Z_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, (*Z_stream)(unsafe.Pointer(strm)).Fadler, (*Deflate_state)(unsafe.Pointer(s)).Fpending_buf+uintptr(beg), uint32((*Deflate_state)(unsafe.Pointer(s)).Fpending-beg)) 13389 } 13390 } 13391 *(*Ulg)(unsafe.Pointer(s + 64)) += Ulg(copy) 13392 flush_pending(tls, strm) 13393 if (*Deflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) { 13394 (*Deflate_state)(unsafe.Pointer(s)).Flast_flush = -1 13395 return Z_OK 13396 } 13397 beg = uint64(0) 13398 left = left - copy 13399 } 13400 libc.X__builtin___memcpy_chk(tls, (*Deflate_state)(unsafe.Pointer(s)).Fpending_buf+uintptr((*Deflate_state)(unsafe.Pointer(s)).Fpending), (*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra+uintptr((*Deflate_state)(unsafe.Pointer(s)).Fgzindex), uint64(left), libc.X__builtin_object_size(tls, (*Deflate_state)(unsafe.Pointer(s)).Fpending_buf+uintptr((*Deflate_state)(unsafe.Pointer(s)).Fpending), 0)) 13401 *(*Ulg)(unsafe.Pointer(s + 40)) += Ulg(left) 13402 for ok1 := true; ok1; ok1 = 0 != 0 { 13403 if (*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 && (*Deflate_state)(unsafe.Pointer(s)).Fpending > beg { 13404 (*Z_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, (*Z_stream)(unsafe.Pointer(strm)).Fadler, (*Deflate_state)(unsafe.Pointer(s)).Fpending_buf+uintptr(beg), uint32((*Deflate_state)(unsafe.Pointer(s)).Fpending-beg)) 13405 } 13406 } 13407 (*Deflate_state)(unsafe.Pointer(s)).Fgzindex = uint64(0) 13408 } 13409 (*Deflate_state)(unsafe.Pointer(s)).Fstatus = NAME_STATE 13410 } 13411 if (*Deflate_state)(unsafe.Pointer(s)).Fstatus == NAME_STATE { 13412 if (*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Fname != uintptr(Z_NULL) { 13413 var beg Ulg = (*Deflate_state)(unsafe.Pointer(s)).Fpending // start of bytes to update crc 13414 var val int32 13415 for ok2 := true; ok2; ok2 = val != 0 { 13416 if (*Deflate_state)(unsafe.Pointer(s)).Fpending == (*Deflate_state)(unsafe.Pointer(s)).Fpending_buf_size { 13417 for ok3 := true; ok3; ok3 = 0 != 0 { 13418 if (*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 && (*Deflate_state)(unsafe.Pointer(s)).Fpending > beg { 13419 (*Z_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, (*Z_stream)(unsafe.Pointer(strm)).Fadler, (*Deflate_state)(unsafe.Pointer(s)).Fpending_buf+uintptr(beg), uint32((*Deflate_state)(unsafe.Pointer(s)).Fpending-beg)) 13420 } 13421 } 13422 flush_pending(tls, strm) 13423 if (*Deflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) { 13424 (*Deflate_state)(unsafe.Pointer(s)).Flast_flush = -1 13425 return Z_OK 13426 } 13427 beg = uint64(0) 13428 } 13429 val = int32(*(*Bytef)(unsafe.Pointer((*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Fname + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fgzindex, 1))))) 13430 { 13431 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Bytef(val) 13432 } 13433 13434 } 13435 for ok4 := true; ok4; ok4 = 0 != 0 { 13436 if (*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 && (*Deflate_state)(unsafe.Pointer(s)).Fpending > beg { 13437 (*Z_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, (*Z_stream)(unsafe.Pointer(strm)).Fadler, (*Deflate_state)(unsafe.Pointer(s)).Fpending_buf+uintptr(beg), uint32((*Deflate_state)(unsafe.Pointer(s)).Fpending-beg)) 13438 } 13439 } 13440 (*Deflate_state)(unsafe.Pointer(s)).Fgzindex = uint64(0) 13441 } 13442 (*Deflate_state)(unsafe.Pointer(s)).Fstatus = COMMENT_STATE 13443 } 13444 if (*Deflate_state)(unsafe.Pointer(s)).Fstatus == COMMENT_STATE { 13445 if (*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Fcomment != uintptr(Z_NULL) { 13446 var beg Ulg = (*Deflate_state)(unsafe.Pointer(s)).Fpending // start of bytes to update crc 13447 var val int32 13448 for ok5 := true; ok5; ok5 = val != 0 { 13449 if (*Deflate_state)(unsafe.Pointer(s)).Fpending == (*Deflate_state)(unsafe.Pointer(s)).Fpending_buf_size { 13450 for ok6 := true; ok6; ok6 = 0 != 0 { 13451 if (*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 && (*Deflate_state)(unsafe.Pointer(s)).Fpending > beg { 13452 (*Z_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, (*Z_stream)(unsafe.Pointer(strm)).Fadler, (*Deflate_state)(unsafe.Pointer(s)).Fpending_buf+uintptr(beg), uint32((*Deflate_state)(unsafe.Pointer(s)).Fpending-beg)) 13453 } 13454 } 13455 flush_pending(tls, strm) 13456 if (*Deflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) { 13457 (*Deflate_state)(unsafe.Pointer(s)).Flast_flush = -1 13458 return Z_OK 13459 } 13460 beg = uint64(0) 13461 } 13462 val = int32(*(*Bytef)(unsafe.Pointer((*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Fcomment + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fgzindex, 1))))) 13463 { 13464 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Bytef(val) 13465 } 13466 13467 } 13468 for ok7 := true; ok7; ok7 = 0 != 0 { 13469 if (*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 && (*Deflate_state)(unsafe.Pointer(s)).Fpending > beg { 13470 (*Z_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, (*Z_stream)(unsafe.Pointer(strm)).Fadler, (*Deflate_state)(unsafe.Pointer(s)).Fpending_buf+uintptr(beg), uint32((*Deflate_state)(unsafe.Pointer(s)).Fpending-beg)) 13471 } 13472 } 13473 } 13474 (*Deflate_state)(unsafe.Pointer(s)).Fstatus = HCRC_STATE 13475 } 13476 if (*Deflate_state)(unsafe.Pointer(s)).Fstatus == HCRC_STATE { 13477 if (*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 { 13478 if (*Deflate_state)(unsafe.Pointer(s)).Fpending+uint64(2) > (*Deflate_state)(unsafe.Pointer(s)).Fpending_buf_size { 13479 flush_pending(tls, strm) 13480 if (*Deflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) { 13481 (*Deflate_state)(unsafe.Pointer(s)).Flast_flush = -1 13482 return Z_OK 13483 } 13484 } 13485 { 13486 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Byte((*Z_stream)(unsafe.Pointer(strm)).Fadler & uint64(0xff)) 13487 } 13488 13489 { 13490 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Byte((*Z_stream)(unsafe.Pointer(strm)).Fadler >> 8 & uint64(0xff)) 13491 } 13492 13493 (*Z_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, uint64(0), uintptr(Z_NULL), uint32(0)) 13494 } 13495 (*Deflate_state)(unsafe.Pointer(s)).Fstatus = BUSY_STATE 13496 13497 // Compression must start with an empty pending buffer 13498 flush_pending(tls, strm) 13499 if (*Deflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) { 13500 (*Deflate_state)(unsafe.Pointer(s)).Flast_flush = -1 13501 return Z_OK 13502 } 13503 } 13504 13505 // Start a new block or continue the current one. 13506 if (*Z_stream)(unsafe.Pointer(strm)).Favail_in != UInt(0) || (*Deflate_state)(unsafe.Pointer(s)).Flookahead != UInt(0) || flush != Z_NO_FLUSH && (*Deflate_state)(unsafe.Pointer(s)).Fstatus != FINISH_STATE { 13507 var bstate Block_state 13508 13509 if (*Deflate_state)(unsafe.Pointer(s)).Flevel == 0 { 13510 bstate = deflate_stored(tls, s, flush) 13511 } else { 13512 if (*Deflate_state)(unsafe.Pointer(s)).Fstrategy == Z_HUFFMAN_ONLY { 13513 bstate = deflate_huff(tls, s, flush) 13514 } else { 13515 if (*Deflate_state)(unsafe.Pointer(s)).Fstrategy == Z_RLE { 13516 bstate = deflate_rle(tls, s, flush) 13517 } else { 13518 bstate = (*struct { 13519 f func(*libc.TLS, uintptr, int32) Block_state 13520 })(unsafe.Pointer(&struct{ uintptr }{configuration_table[(*Deflate_state)(unsafe.Pointer(s)).Flevel].Ffunc})).f(tls, s, flush) 13521 } 13522 } 13523 } 13524 13525 if bstate == Finish_started || bstate == Finish_done { 13526 (*Deflate_state)(unsafe.Pointer(s)).Fstatus = FINISH_STATE 13527 } 13528 if bstate == Need_more || bstate == Finish_started { 13529 if (*Z_stream)(unsafe.Pointer(strm)).Favail_out == UInt(0) { 13530 (*Deflate_state)(unsafe.Pointer(s)).Flast_flush = -1 // avoid BUF_ERROR next call, see above 13531 } 13532 return Z_OK 13533 // If flush != Z_NO_FLUSH && avail_out == 0, the next call 13534 // of deflate should use the same flush parameter to make sure 13535 // that the flush is complete. So we don't have to output an 13536 // empty block here, this will be done at next call. This also 13537 // ensures that for a very small output buffer, we emit at most 13538 // one empty block. 13539 } 13540 if bstate == Block_done { 13541 if flush == Z_PARTIAL_FLUSH { 13542 X_tr_align(tls, s) 13543 } else if flush != Z_BLOCK { // FULL_FLUSH or SYNC_FLUSH 13544 X_tr_stored_block(tls, s, uintptr(0), uint64(0), 0) 13545 // For a full flush, this empty block will be recognized 13546 // as a special marker by inflate_sync(). 13547 if flush == Z_FULL_FLUSH { 13548 *(*Posf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fhash_size-UInt(1))*2)) = Posf(NIL) 13549 libc.X__builtin___memset_chk(tls, (*Deflate_state)(unsafe.Pointer(s)).Fhead, 0, uint64((*Deflate_state)(unsafe.Pointer(s)).Fhash_size-UInt(1))*uint64(unsafe.Sizeof(Posf(0))), libc.X__builtin_object_size(tls, (*Deflate_state)(unsafe.Pointer(s)).Fhead, 0)) 13550 // forget history 13551 if (*Deflate_state)(unsafe.Pointer(s)).Flookahead == UInt(0) { 13552 (*Deflate_state)(unsafe.Pointer(s)).Fstrstart = UInt(0) 13553 (*Deflate_state)(unsafe.Pointer(s)).Fblock_start = 0 13554 (*Deflate_state)(unsafe.Pointer(s)).Finsert = UInt(0) 13555 } 13556 } 13557 } 13558 flush_pending(tls, strm) 13559 if (*Z_stream)(unsafe.Pointer(strm)).Favail_out == UInt(0) { 13560 (*Deflate_state)(unsafe.Pointer(s)).Flast_flush = -1 // avoid BUF_ERROR at next call, see above 13561 return Z_OK 13562 } 13563 } 13564 } 13565 13566 if flush != Z_FINISH { 13567 return Z_OK 13568 } 13569 if (*Deflate_state)(unsafe.Pointer(s)).Fwrap <= 0 { 13570 return Z_STREAM_END 13571 } 13572 13573 // Write the trailer 13574 if (*Deflate_state)(unsafe.Pointer(s)).Fwrap == 2 { 13575 { 13576 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Byte((*Z_stream)(unsafe.Pointer(strm)).Fadler & uint64(0xff)) 13577 } 13578 13579 { 13580 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Byte((*Z_stream)(unsafe.Pointer(strm)).Fadler >> 8 & uint64(0xff)) 13581 } 13582 13583 { 13584 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Byte((*Z_stream)(unsafe.Pointer(strm)).Fadler >> 16 & uint64(0xff)) 13585 } 13586 13587 { 13588 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Byte((*Z_stream)(unsafe.Pointer(strm)).Fadler >> 24 & uint64(0xff)) 13589 } 13590 13591 { 13592 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Byte((*Z_stream)(unsafe.Pointer(strm)).Ftotal_in & uint64(0xff)) 13593 } 13594 13595 { 13596 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Byte((*Z_stream)(unsafe.Pointer(strm)).Ftotal_in >> 8 & uint64(0xff)) 13597 } 13598 13599 { 13600 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Byte((*Z_stream)(unsafe.Pointer(strm)).Ftotal_in >> 16 & uint64(0xff)) 13601 } 13602 13603 { 13604 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Byte((*Z_stream)(unsafe.Pointer(strm)).Ftotal_in >> 24 & uint64(0xff)) 13605 } 13606 13607 } else { 13608 putShortMSB(tls, s, UInt((*Z_stream)(unsafe.Pointer(strm)).Fadler>>16)) 13609 putShortMSB(tls, s, UInt((*Z_stream)(unsafe.Pointer(strm)).Fadler&uint64(0xffff))) 13610 } 13611 flush_pending(tls, strm) 13612 // If avail_out is zero, the application will call deflate again 13613 // to flush the rest. 13614 if (*Deflate_state)(unsafe.Pointer(s)).Fwrap > 0 { 13615 (*Deflate_state)(unsafe.Pointer(s)).Fwrap = -(*Deflate_state)(unsafe.Pointer(s)).Fwrap 13616 } // write the trailer only once! 13617 if (*Deflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) { 13618 return Z_OK 13619 } 13620 return Z_STREAM_END 13621 } 13622 13623 // ========================================================================= 13624 func XdeflateEnd(tls *libc.TLS, strm Z_streamp) int32 { /* deflate.c:1076:13: */ 13625 var status int32 13626 13627 if deflateStateCheck(tls, strm) != 0 { 13628 return -2 13629 } 13630 13631 status = (*Internal_state)(unsafe.Pointer((*Z_stream)(unsafe.Pointer(strm)).Fstate)).Fstatus 13632 13633 /* Deallocate in reverse order of allocations: */ 13634 { 13635 if (*Internal_state)(unsafe.Pointer((*Z_stream)(unsafe.Pointer(strm)).Fstate)).Fpending_buf != 0 { 13636 (*struct { 13637 f func(*libc.TLS, Voidpf, Voidpf) 13638 })(unsafe.Pointer(&struct{ uintptr }{(*Z_stream)(unsafe.Pointer(strm)).Fzfree})).f(tls, (*Z_stream)(unsafe.Pointer(strm)).Fopaque, (*Internal_state)(unsafe.Pointer((*Z_stream)(unsafe.Pointer(strm)).Fstate)).Fpending_buf) 13639 } 13640 } 13641 13642 { 13643 if (*Internal_state)(unsafe.Pointer((*Z_stream)(unsafe.Pointer(strm)).Fstate)).Fhead != 0 { 13644 (*struct { 13645 f func(*libc.TLS, Voidpf, Voidpf) 13646 })(unsafe.Pointer(&struct{ uintptr }{(*Z_stream)(unsafe.Pointer(strm)).Fzfree})).f(tls, (*Z_stream)(unsafe.Pointer(strm)).Fopaque, (*Internal_state)(unsafe.Pointer((*Z_stream)(unsafe.Pointer(strm)).Fstate)).Fhead) 13647 } 13648 } 13649 13650 { 13651 if (*Internal_state)(unsafe.Pointer((*Z_stream)(unsafe.Pointer(strm)).Fstate)).Fprev != 0 { 13652 (*struct { 13653 f func(*libc.TLS, Voidpf, Voidpf) 13654 })(unsafe.Pointer(&struct{ uintptr }{(*Z_stream)(unsafe.Pointer(strm)).Fzfree})).f(tls, (*Z_stream)(unsafe.Pointer(strm)).Fopaque, (*Internal_state)(unsafe.Pointer((*Z_stream)(unsafe.Pointer(strm)).Fstate)).Fprev) 13655 } 13656 } 13657 13658 { 13659 if (*Internal_state)(unsafe.Pointer((*Z_stream)(unsafe.Pointer(strm)).Fstate)).Fwindow != 0 { 13660 (*struct { 13661 f func(*libc.TLS, Voidpf, Voidpf) 13662 })(unsafe.Pointer(&struct{ uintptr }{(*Z_stream)(unsafe.Pointer(strm)).Fzfree})).f(tls, (*Z_stream)(unsafe.Pointer(strm)).Fopaque, (*Internal_state)(unsafe.Pointer((*Z_stream)(unsafe.Pointer(strm)).Fstate)).Fwindow) 13663 } 13664 } 13665 13666 (*struct { 13667 f func(*libc.TLS, Voidpf, Voidpf) 13668 })(unsafe.Pointer(&struct{ uintptr }{(*Z_stream)(unsafe.Pointer(strm)).Fzfree})).f(tls, (*Z_stream)(unsafe.Pointer(strm)).Fopaque, (*Z_stream)(unsafe.Pointer(strm)).Fstate) 13669 (*Z_stream)(unsafe.Pointer(strm)).Fstate = uintptr(Z_NULL) 13670 13671 if status == BUSY_STATE { 13672 return -3 13673 } 13674 return Z_OK 13675 } 13676 13677 // ========================================================================= 13678 // Copy the source state to the destination state. 13679 // To simplify the source, this is not supported for 16-bit MSDOS (which 13680 // doesn't have enough memory anyway to duplicate compression states). 13681 func XdeflateCopy(tls *libc.TLS, dest Z_streamp, source Z_streamp) int32 { /* deflate.c:1102:13: */ 13682 var ds uintptr 13683 var ss uintptr 13684 var overlay uintptr 13685 13686 if deflateStateCheck(tls, source) != 0 || dest == uintptr(Z_NULL) { 13687 return -2 13688 } 13689 13690 ss = (*Z_stream)(unsafe.Pointer(source)).Fstate 13691 13692 libc.X__builtin___memcpy_chk(tls, dest, source, uint64(unsafe.Sizeof(Z_stream{})), libc.X__builtin_object_size(tls, dest, 0)) 13693 13694 ds = (*struct { 13695 f func(*libc.TLS, Voidpf, UInt, UInt) Voidpf 13696 })(unsafe.Pointer(&struct{ uintptr }{(*Z_stream)(unsafe.Pointer(dest)).Fzalloc})).f(tls, (*Z_stream)(unsafe.Pointer(dest)).Fopaque, uint32(1), uint32(unsafe.Sizeof(Deflate_state{}))) 13697 if ds == uintptr(Z_NULL) { 13698 return -4 13699 } 13700 (*Z_stream)(unsafe.Pointer(dest)).Fstate = ds 13701 libc.X__builtin___memcpy_chk(tls, ds, ss, uint64(unsafe.Sizeof(Deflate_state{})), libc.X__builtin_object_size(tls, ds, 0)) 13702 (*Deflate_state)(unsafe.Pointer(ds)).Fstrm = dest 13703 13704 (*Deflate_state)(unsafe.Pointer(ds)).Fwindow = (*struct { 13705 f func(*libc.TLS, Voidpf, UInt, UInt) Voidpf 13706 })(unsafe.Pointer(&struct{ uintptr }{(*Z_stream)(unsafe.Pointer(dest)).Fzalloc})).f(tls, (*Z_stream)(unsafe.Pointer(dest)).Fopaque, (*Deflate_state)(unsafe.Pointer(ds)).Fw_size, uint32(uint64(2)*uint64(unsafe.Sizeof(Byte(0))))) 13707 (*Deflate_state)(unsafe.Pointer(ds)).Fprev = (*struct { 13708 f func(*libc.TLS, Voidpf, UInt, UInt) Voidpf 13709 })(unsafe.Pointer(&struct{ uintptr }{(*Z_stream)(unsafe.Pointer(dest)).Fzalloc})).f(tls, (*Z_stream)(unsafe.Pointer(dest)).Fopaque, (*Deflate_state)(unsafe.Pointer(ds)).Fw_size, uint32(unsafe.Sizeof(Pos(0)))) 13710 (*Deflate_state)(unsafe.Pointer(ds)).Fhead = (*struct { 13711 f func(*libc.TLS, Voidpf, UInt, UInt) Voidpf 13712 })(unsafe.Pointer(&struct{ uintptr }{(*Z_stream)(unsafe.Pointer(dest)).Fzalloc})).f(tls, (*Z_stream)(unsafe.Pointer(dest)).Fopaque, (*Deflate_state)(unsafe.Pointer(ds)).Fhash_size, uint32(unsafe.Sizeof(Pos(0)))) 13713 overlay = (*struct { 13714 f func(*libc.TLS, Voidpf, UInt, UInt) Voidpf 13715 })(unsafe.Pointer(&struct{ uintptr }{(*Z_stream)(unsafe.Pointer(dest)).Fzalloc})).f(tls, (*Z_stream)(unsafe.Pointer(dest)).Fopaque, (*Deflate_state)(unsafe.Pointer(ds)).Flit_bufsize, uint32(uint64(unsafe.Sizeof(Ush(0)))+uint64(2))) 13716 (*Deflate_state)(unsafe.Pointer(ds)).Fpending_buf = overlay 13717 13718 if (*Deflate_state)(unsafe.Pointer(ds)).Fwindow == uintptr(Z_NULL) || (*Deflate_state)(unsafe.Pointer(ds)).Fprev == uintptr(Z_NULL) || (*Deflate_state)(unsafe.Pointer(ds)).Fhead == uintptr(Z_NULL) || (*Deflate_state)(unsafe.Pointer(ds)).Fpending_buf == uintptr(Z_NULL) { 13719 XdeflateEnd(tls, dest) 13720 return -4 13721 } 13722 // following zmemcpy do not work for 16-bit MSDOS 13723 libc.X__builtin___memcpy_chk(tls, (*Deflate_state)(unsafe.Pointer(ds)).Fwindow, (*Deflate_state)(unsafe.Pointer(ss)).Fwindow, uint64((*Deflate_state)(unsafe.Pointer(ds)).Fw_size*UInt(2))*uint64(unsafe.Sizeof(Byte(0))), libc.X__builtin_object_size(tls, (*Deflate_state)(unsafe.Pointer(ds)).Fwindow, 0)) 13724 libc.X__builtin___memcpy_chk(tls, (*Deflate_state)(unsafe.Pointer(ds)).Fprev, (*Deflate_state)(unsafe.Pointer(ss)).Fprev, uint64((*Deflate_state)(unsafe.Pointer(ds)).Fw_size)*uint64(unsafe.Sizeof(Pos(0))), libc.X__builtin_object_size(tls, (*Deflate_state)(unsafe.Pointer(ds)).Fprev, 0)) 13725 libc.X__builtin___memcpy_chk(tls, (*Deflate_state)(unsafe.Pointer(ds)).Fhead, (*Deflate_state)(unsafe.Pointer(ss)).Fhead, uint64((*Deflate_state)(unsafe.Pointer(ds)).Fhash_size)*uint64(unsafe.Sizeof(Pos(0))), libc.X__builtin_object_size(tls, (*Deflate_state)(unsafe.Pointer(ds)).Fhead, 0)) 13726 libc.X__builtin___memcpy_chk(tls, (*Deflate_state)(unsafe.Pointer(ds)).Fpending_buf, (*Deflate_state)(unsafe.Pointer(ss)).Fpending_buf, uint64(UInt((*Deflate_state)(unsafe.Pointer(ds)).Fpending_buf_size)), libc.X__builtin_object_size(tls, (*Deflate_state)(unsafe.Pointer(ds)).Fpending_buf, 0)) 13727 13728 (*Deflate_state)(unsafe.Pointer(ds)).Fpending_out = (*Deflate_state)(unsafe.Pointer(ds)).Fpending_buf + uintptr((int64((*Deflate_state)(unsafe.Pointer(ss)).Fpending_out)-int64((*Deflate_state)(unsafe.Pointer(ss)).Fpending_buf))/1) 13729 (*Deflate_state)(unsafe.Pointer(ds)).Fd_buf = overlay + uintptr(uint64((*Deflate_state)(unsafe.Pointer(ds)).Flit_bufsize)/uint64(unsafe.Sizeof(Ush(0))))*2 13730 (*Deflate_state)(unsafe.Pointer(ds)).Fl_buf = (*Deflate_state)(unsafe.Pointer(ds)).Fpending_buf + uintptr((uint64(1)+uint64(unsafe.Sizeof(Ush(0))))*uint64((*Deflate_state)(unsafe.Pointer(ds)).Flit_bufsize)) 13731 13732 (*Deflate_state)(unsafe.Pointer(ds)).Fl_desc.Fdyn_tree = ds + 212 /* &.dyn_ltree */ 13733 (*Deflate_state)(unsafe.Pointer(ds)).Fd_desc.Fdyn_tree = ds + 2504 /* &.dyn_dtree */ 13734 (*Deflate_state)(unsafe.Pointer(ds)).Fbl_desc.Fdyn_tree = ds + 2748 /* &.bl_tree */ 13735 13736 return Z_OK 13737 } 13738 13739 // =========================================================================== 13740 // Read a new buffer from the current input stream, update the adler32 13741 // and total number of bytes read. All deflate() input goes through 13742 // this function so some applications may wish to modify it to avoid 13743 // allocating a large strm->next_in buffer and copying from it. 13744 // (See also flush_pending()). 13745 func read_buf(tls *libc.TLS, strm Z_streamp, buf uintptr, size uint32) uint32 { /* deflate.c:1164:16: */ 13746 var len uint32 = (*Z_stream)(unsafe.Pointer(strm)).Favail_in 13747 13748 if len > size { 13749 len = size 13750 } 13751 if len == uint32(0) { 13752 return uint32(0) 13753 } 13754 13755 *(*UInt)(unsafe.Pointer(strm + 8)) -= len 13756 13757 libc.X__builtin___memcpy_chk(tls, buf, (*Z_stream)(unsafe.Pointer(strm)).Fnext_in, uint64(len), libc.X__builtin_object_size(tls, buf, 0)) 13758 if (*Internal_state)(unsafe.Pointer((*Z_stream)(unsafe.Pointer(strm)).Fstate)).Fwrap == 1 { 13759 (*Z_stream)(unsafe.Pointer(strm)).Fadler = Xadler32(tls, (*Z_stream)(unsafe.Pointer(strm)).Fadler, buf, len) 13760 } else if (*Internal_state)(unsafe.Pointer((*Z_stream)(unsafe.Pointer(strm)).Fstate)).Fwrap == 2 { 13761 (*Z_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, (*Z_stream)(unsafe.Pointer(strm)).Fadler, buf, len) 13762 } 13763 *(*uintptr)(unsafe.Pointer(strm)) += uintptr(len) 13764 *(*ULong)(unsafe.Pointer(strm + 16)) += ULong(len) 13765 13766 return len 13767 } 13768 13769 // =========================================================================== 13770 // Initialize the "longest match" routines for a new zlib stream 13771 func lm_init(tls *libc.TLS, s uintptr) { /* deflate.c:1194:12: */ 13772 (*Deflate_state)(unsafe.Pointer(s)).Fwindow_size = uint64(2) * Ulg((*Deflate_state)(unsafe.Pointer(s)).Fw_size) 13773 13774 *(*Posf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fhash_size-UInt(1))*2)) = Posf(NIL) 13775 libc.X__builtin___memset_chk(tls, (*Deflate_state)(unsafe.Pointer(s)).Fhead, 0, uint64((*Deflate_state)(unsafe.Pointer(s)).Fhash_size-UInt(1))*uint64(unsafe.Sizeof(Posf(0))), libc.X__builtin_object_size(tls, (*Deflate_state)(unsafe.Pointer(s)).Fhead, 0)) 13776 13777 // Set the default configuration parameters: 13778 (*Deflate_state)(unsafe.Pointer(s)).Fmax_lazy_match = UInt(configuration_table[(*Deflate_state)(unsafe.Pointer(s)).Flevel].Fmax_lazy) 13779 (*Deflate_state)(unsafe.Pointer(s)).Fgood_match = UInt(configuration_table[(*Deflate_state)(unsafe.Pointer(s)).Flevel].Fgood_length) 13780 (*Deflate_state)(unsafe.Pointer(s)).Fnice_match = int32(configuration_table[(*Deflate_state)(unsafe.Pointer(s)).Flevel].Fnice_length) 13781 (*Deflate_state)(unsafe.Pointer(s)).Fmax_chain_length = UInt(configuration_table[(*Deflate_state)(unsafe.Pointer(s)).Flevel].Fmax_chain) 13782 13783 (*Deflate_state)(unsafe.Pointer(s)).Fstrstart = UInt(0) 13784 (*Deflate_state)(unsafe.Pointer(s)).Fblock_start = 0 13785 (*Deflate_state)(unsafe.Pointer(s)).Flookahead = UInt(0) 13786 (*Deflate_state)(unsafe.Pointer(s)).Finsert = UInt(0) 13787 (*Deflate_state)(unsafe.Pointer(s)).Fmatch_length = libc.AssignPtrUint32(s+184, UInt(MIN_MATCH-1)) 13788 (*Deflate_state)(unsafe.Pointer(s)).Fmatch_available = 0 13789 (*Deflate_state)(unsafe.Pointer(s)).Fins_h = UInt(0) 13790 } 13791 13792 // =========================================================================== 13793 // Set match_start to the longest match starting at the given string and 13794 // return its length. Matches shorter or equal to prev_length are discarded, 13795 // in which case the result is equal to prev_length and match_start is 13796 // garbage. 13797 // IN assertions: cur_match is the head of the hash chain for the current 13798 // string (strstart) and its distance is <= MAX_DIST, and prev_length >= 1 13799 // OUT assertion: the match length is not greater than s->lookahead. 13800 // For 80x86 and 680x0, an optimized version will be provided in match.asm or 13801 // match.S. The code will be functionally equivalent. 13802 func longest_match(tls *libc.TLS, s uintptr, cur_match IPos) UInt { /* deflate.c:1236:12: */ 13803 var chain_length uint32 = (*Deflate_state)(unsafe.Pointer(s)).Fmax_chain_length // max hash chain length 13804 var scan uintptr = (*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fstrstart) // current string 13805 var match uintptr // matched string 13806 var len int32 // length of current match 13807 var best_len int32 = int32((*Deflate_state)(unsafe.Pointer(s)).Fprev_length) // best match length so far 13808 var nice_match int32 = (*Deflate_state)(unsafe.Pointer(s)).Fnice_match // stop if match long enough 13809 var limit IPos 13810 if (*Deflate_state)(unsafe.Pointer(s)).Fstrstart > (*Deflate_state)(unsafe.Pointer(s)).Fw_size-UInt(MAX_MATCH+MIN_MATCH+1) { 13811 limit = (*Deflate_state)(unsafe.Pointer(s)).Fstrstart - ((*Deflate_state)(unsafe.Pointer(s)).Fw_size - UInt(MAX_MATCH+MIN_MATCH+1)) 13812 } else { 13813 limit = uint32(NIL) 13814 } 13815 // Stop when cur_match becomes <= limit. To simplify the code, 13816 // we prevent matches with the string of window index 0. 13817 var prev uintptr = (*Deflate_state)(unsafe.Pointer(s)).Fprev 13818 var wmask UInt = (*Deflate_state)(unsafe.Pointer(s)).Fw_mask 13819 13820 var strend uintptr = (*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fstrstart) + uintptr(MAX_MATCH) 13821 var scan_end1 Byte = *(*Bytef)(unsafe.Pointer(scan + uintptr(best_len-1))) 13822 var scan_end Byte = *(*Bytef)(unsafe.Pointer(scan + uintptr(best_len))) 13823 13824 // The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16. 13825 // It is easy to get rid of this optimization if necessary. 13826 13827 // Do not waste too much time if we already have a good match: 13828 if (*Deflate_state)(unsafe.Pointer(s)).Fprev_length >= (*Deflate_state)(unsafe.Pointer(s)).Fgood_match { 13829 chain_length >>= 2 13830 } 13831 // Do not look for matches beyond the end of the input. This is necessary 13832 // to make deflate deterministic. 13833 if UInt(nice_match) > (*Deflate_state)(unsafe.Pointer(s)).Flookahead { 13834 nice_match = int32((*Deflate_state)(unsafe.Pointer(s)).Flookahead) 13835 } 13836 13837 for ok := true; ok; ok = libc.AssignUint32(&cur_match, IPos(*(*Posf)(unsafe.Pointer(prev + uintptr(cur_match&wmask)*2)))) > limit && 13838 libc.PreDecUint32(&chain_length, 1) != uint32(0) { 13839 13840 match = (*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(cur_match) 13841 13842 // Skip to next match if the match length cannot increase 13843 // or if the match length is less than 2. Note that the checks below 13844 // for insufficient lookahead only occur occasionally for performance 13845 // reasons. Therefore uninitialized memory will be accessed, and 13846 // conditional jumps will be made that depend on those values. 13847 // However the length of the match is limited to the lookahead, so 13848 // the output of deflate is not affected by the uninitialized values. 13849 13850 if int32(*(*Bytef)(unsafe.Pointer(match + uintptr(best_len)))) != int32(scan_end) || int32(*(*Bytef)(unsafe.Pointer(match + uintptr(best_len-1)))) != int32(scan_end1) || int32(*(*Bytef)(unsafe.Pointer(match))) != int32(*(*Bytef)(unsafe.Pointer(scan))) || int32(*(*Bytef)(unsafe.Pointer(libc.PreIncUintptr(&match, 1)))) != int32(*(*Bytef)(unsafe.Pointer(scan + 1))) { 13851 continue 13852 } 13853 13854 // The check at best_len-1 can be removed because it will be made 13855 // again later. (This heuristic is not always a win.) 13856 // It is not necessary to compare scan[2] and match[2] since they 13857 // are always equal when the other bytes match, given that 13858 // the hash keys are equal and that HASH_BITS >= 8. 13859 scan += uintptr(2) 13860 match++ 13861 13862 // We check for insufficient lookahead only every 8th comparison; 13863 // the 256th check will be made at strstart+258. 13864 for ok1 := true; ok1; ok1 = int32(*(*Bytef)(unsafe.Pointer(libc.PreIncUintptr(&scan, 1)))) == int32(*(*Bytef)(unsafe.Pointer(libc.PreIncUintptr(&match, 1)))) && int32(*(*Bytef)(unsafe.Pointer(libc.PreIncUintptr(&scan, 1)))) == int32(*(*Bytef)(unsafe.Pointer(libc.PreIncUintptr(&match, 1)))) && int32(*(*Bytef)(unsafe.Pointer(libc.PreIncUintptr(&scan, 1)))) == int32(*(*Bytef)(unsafe.Pointer(libc.PreIncUintptr(&match, 1)))) && int32(*(*Bytef)(unsafe.Pointer(libc.PreIncUintptr(&scan, 1)))) == int32(*(*Bytef)(unsafe.Pointer(libc.PreIncUintptr(&match, 1)))) && int32(*(*Bytef)(unsafe.Pointer(libc.PreIncUintptr(&scan, 1)))) == int32(*(*Bytef)(unsafe.Pointer(libc.PreIncUintptr(&match, 1)))) && int32(*(*Bytef)(unsafe.Pointer(libc.PreIncUintptr(&scan, 1)))) == int32(*(*Bytef)(unsafe.Pointer(libc.PreIncUintptr(&match, 1)))) && int32(*(*Bytef)(unsafe.Pointer(libc.PreIncUintptr(&scan, 1)))) == int32(*(*Bytef)(unsafe.Pointer(libc.PreIncUintptr(&match, 1)))) && int32(*(*Bytef)(unsafe.Pointer(libc.PreIncUintptr(&scan, 1)))) == int32(*(*Bytef)(unsafe.Pointer(libc.PreIncUintptr(&match, 1)))) && scan < strend { 13865 } 13866 13867 len = MAX_MATCH - int32((int64(strend)-int64(scan))/1) 13868 scan = strend - uintptr(MAX_MATCH) 13869 13870 if len > best_len { 13871 (*Deflate_state)(unsafe.Pointer(s)).Fmatch_start = cur_match 13872 best_len = len 13873 if len >= nice_match { 13874 break 13875 } 13876 scan_end1 = *(*Bytef)(unsafe.Pointer(scan + uintptr(best_len-1))) 13877 scan_end = *(*Bytef)(unsafe.Pointer(scan + uintptr(best_len))) 13878 } 13879 } 13880 13881 if UInt(best_len) <= (*Deflate_state)(unsafe.Pointer(s)).Flookahead { 13882 return UInt(best_len) 13883 } 13884 return (*Deflate_state)(unsafe.Pointer(s)).Flookahead 13885 } 13886 13887 // =========================================================================== 13888 // Fill the window when the lookahead becomes insufficient. 13889 // Updates strstart and lookahead. 13890 // 13891 // IN assertion: lookahead < MIN_LOOKAHEAD 13892 // OUT assertions: strstart <= window_size-MIN_LOOKAHEAD 13893 // At least one byte has been read, or avail_in == 0; reads are 13894 // performed for at least two bytes (required for the zip translate_eol 13895 // option -- not supported here). 13896 func fill_window(tls *libc.TLS, s uintptr) { /* deflate.c:1482:12: */ 13897 var n uint32 13898 var more uint32 // Amount of free space at the end of the window. 13899 var wsize UInt = (*Deflate_state)(unsafe.Pointer(s)).Fw_size 13900 13901 for ok := true; ok; ok = (*Deflate_state)(unsafe.Pointer(s)).Flookahead < UInt(MAX_MATCH+MIN_MATCH+1) && (*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in != UInt(0) { 13902 more = uint32((*Deflate_state)(unsafe.Pointer(s)).Fwindow_size - Ulg((*Deflate_state)(unsafe.Pointer(s)).Flookahead) - Ulg((*Deflate_state)(unsafe.Pointer(s)).Fstrstart)) 13903 13904 // Deal with !@#$% 64K limit: 13905 if uint64(unsafe.Sizeof(int32(0))) <= uint64(2) { 13906 if more == uint32(0) && (*Deflate_state)(unsafe.Pointer(s)).Fstrstart == UInt(0) && (*Deflate_state)(unsafe.Pointer(s)).Flookahead == UInt(0) { 13907 more = wsize 13908 13909 } else if more == libc.Uint32(libc.Uint32FromInt32(-1)) { 13910 // Very unlikely, but possible on 16 bit machine if 13911 // strstart == 0 && lookahead == 1 (input done a byte at time) 13912 more-- 13913 } 13914 } 13915 13916 // If the window is almost full and there is insufficient lookahead, 13917 // move the upper half to the lower one to make room in the upper half. 13918 if (*Deflate_state)(unsafe.Pointer(s)).Fstrstart >= wsize+((*Deflate_state)(unsafe.Pointer(s)).Fw_size-UInt(MAX_MATCH+MIN_MATCH+1)) { 13919 13920 libc.X__builtin___memcpy_chk(tls, (*Deflate_state)(unsafe.Pointer(s)).Fwindow, (*Deflate_state)(unsafe.Pointer(s)).Fwindow+uintptr(wsize), uint64(wsize-more), libc.X__builtin_object_size(tls, (*Deflate_state)(unsafe.Pointer(s)).Fwindow, 0)) 13921 *(*UInt)(unsafe.Pointer(s + 176)) -= wsize 13922 *(*UInt)(unsafe.Pointer(s + 172)) -= wsize // we now have strstart >= MAX_DIST 13923 *(*int64)(unsafe.Pointer(s + 152)) -= int64(wsize) 13924 slide_hash(tls, s) 13925 more = more + wsize 13926 } 13927 if (*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in == UInt(0) { 13928 break 13929 } 13930 13931 // If there was no sliding: 13932 // strstart <= WSIZE+MAX_DIST-1 && lookahead <= MIN_LOOKAHEAD - 1 && 13933 // more == window_size - lookahead - strstart 13934 // => more >= window_size - (MIN_LOOKAHEAD-1 + WSIZE + MAX_DIST-1) 13935 // => more >= window_size - 2*WSIZE + 2 13936 // In the BIG_MEM or MMAP case (not yet supported), 13937 // window_size == input_size + MIN_LOOKAHEAD && 13938 // strstart + s->lookahead <= input_size => more >= MIN_LOOKAHEAD. 13939 // Otherwise, window_size == 2*WSIZE so more >= 2. 13940 // If there was sliding, more >= WSIZE. So in all cases, more >= 2. 13941 13942 n = read_buf(tls, (*Deflate_state)(unsafe.Pointer(s)).Fstrm, (*Deflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Deflate_state)(unsafe.Pointer(s)).Fstrstart)+uintptr((*Deflate_state)(unsafe.Pointer(s)).Flookahead), more) 13943 *(*UInt)(unsafe.Pointer(s + 180)) += n 13944 13945 // Initialize the hash value now that we have some input: 13946 if (*Deflate_state)(unsafe.Pointer(s)).Flookahead+(*Deflate_state)(unsafe.Pointer(s)).Finsert >= UInt(MIN_MATCH) { 13947 var str UInt = (*Deflate_state)(unsafe.Pointer(s)).Fstrstart - (*Deflate_state)(unsafe.Pointer(s)).Finsert 13948 (*Deflate_state)(unsafe.Pointer(s)).Fins_h = UInt(*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(str)))) 13949 (*Deflate_state)(unsafe.Pointer(s)).Fins_h = ((*Deflate_state)(unsafe.Pointer(s)).Fins_h<<(*Deflate_state)(unsafe.Pointer(s)).Fhash_shift ^ UInt(*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(str+UInt(1)))))) & (*Deflate_state)(unsafe.Pointer(s)).Fhash_mask 13950 for (*Deflate_state)(unsafe.Pointer(s)).Finsert != 0 { 13951 (*Deflate_state)(unsafe.Pointer(s)).Fins_h = ((*Deflate_state)(unsafe.Pointer(s)).Fins_h<<(*Deflate_state)(unsafe.Pointer(s)).Fhash_shift ^ UInt(*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(str+UInt(MIN_MATCH)-UInt(1)))))) & (*Deflate_state)(unsafe.Pointer(s)).Fhash_mask 13952 *(*Posf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fprev + uintptr(str&(*Deflate_state)(unsafe.Pointer(s)).Fw_mask)*2)) = *(*Posf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fins_h)*2)) 13953 *(*Posf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fins_h)*2)) = Pos(str) 13954 str++ 13955 (*Deflate_state)(unsafe.Pointer(s)).Finsert-- 13956 if (*Deflate_state)(unsafe.Pointer(s)).Flookahead+(*Deflate_state)(unsafe.Pointer(s)).Finsert < UInt(MIN_MATCH) { 13957 break 13958 } 13959 } 13960 } 13961 // If the whole input has less than MIN_MATCH bytes, ins_h is garbage, 13962 // but this is not important since only literal bytes will be emitted. 13963 13964 } 13965 13966 // If the WIN_INIT bytes after the end of the current data have never been 13967 // written, then zero those bytes in order to avoid memory check reports of 13968 // the use of uninitialized (or uninitialised as Julian writes) bytes by 13969 // the longest match routines. Update the high water mark for the next 13970 // time through here. WIN_INIT is set to MAX_MATCH since the longest match 13971 // routines allow scanning to strstart + MAX_MATCH, ignoring lookahead. 13972 if (*Deflate_state)(unsafe.Pointer(s)).Fhigh_water < (*Deflate_state)(unsafe.Pointer(s)).Fwindow_size { 13973 var curr Ulg = Ulg((*Deflate_state)(unsafe.Pointer(s)).Fstrstart) + Ulg((*Deflate_state)(unsafe.Pointer(s)).Flookahead) 13974 var init1 Ulg 13975 13976 if (*Deflate_state)(unsafe.Pointer(s)).Fhigh_water < curr { 13977 // Previous high water mark below current data -- zero WIN_INIT 13978 // bytes or up to end of window, whichever is less. 13979 init1 = (*Deflate_state)(unsafe.Pointer(s)).Fwindow_size - curr 13980 if init1 > uint64(MAX_MATCH) { 13981 init1 = uint64(MAX_MATCH) 13982 } 13983 libc.X__builtin___memset_chk(tls, (*Deflate_state)(unsafe.Pointer(s)).Fwindow+uintptr(curr), 0, uint64(uint32(init1)), libc.X__builtin_object_size(tls, (*Deflate_state)(unsafe.Pointer(s)).Fwindow+uintptr(curr), 0)) 13984 (*Deflate_state)(unsafe.Pointer(s)).Fhigh_water = curr + init1 13985 } else if (*Deflate_state)(unsafe.Pointer(s)).Fhigh_water < curr+uint64(MAX_MATCH) { 13986 // High water mark at or above current data, but below current data 13987 // plus WIN_INIT -- zero out to current data plus WIN_INIT, or up 13988 // to end of window, whichever is less. 13989 init1 = curr + uint64(MAX_MATCH) - (*Deflate_state)(unsafe.Pointer(s)).Fhigh_water 13990 if init1 > (*Deflate_state)(unsafe.Pointer(s)).Fwindow_size-(*Deflate_state)(unsafe.Pointer(s)).Fhigh_water { 13991 init1 = (*Deflate_state)(unsafe.Pointer(s)).Fwindow_size - (*Deflate_state)(unsafe.Pointer(s)).Fhigh_water 13992 } 13993 libc.X__builtin___memset_chk(tls, (*Deflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Deflate_state)(unsafe.Pointer(s)).Fhigh_water), 0, uint64(uint32(init1)), libc.X__builtin_object_size(tls, (*Deflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Deflate_state)(unsafe.Pointer(s)).Fhigh_water), 0)) 13994 *(*Ulg)(unsafe.Pointer(s + 5944)) += init1 13995 } 13996 } 13997 13998 } 13999 14000 // =========================================================================== 14001 // Flush the current block, with given end-of-file flag. 14002 // IN assertion: strstart is set to the end of the current match. 14003 14004 // Same but force premature exit if necessary. 14005 14006 // Maximum stored block length in deflate format (not including header). 14007 14008 // Minimum of a and b. 14009 14010 // =========================================================================== 14011 // Copy without compression as much as possible from the input stream, return 14012 // the current block state. 14013 // 14014 // In case deflateParams() is used to later switch to a non-zero compression 14015 // level, s->matches (otherwise unused when storing) keeps track of the number 14016 // of hash table slides to perform. If s->matches is 1, then one hash table 14017 // slide will be done when switching. If s->matches is 2, the maximum value 14018 // allowed here, then the hash table will be cleared, since two or more slides 14019 // is the same as a clear. 14020 // 14021 // deflate_stored() is written to minimize the number of times an input byte is 14022 // copied. It is most efficient with large input and output buffers, which 14023 // maximizes the opportunites to have a single copy from next_in to next_out. 14024 func deflate_stored(tls *libc.TLS, s uintptr, flush int32) Block_state { /* deflate.c:1643:19: */ 14025 // Smallest worthy block size when not flushing or finishing. By default 14026 // this is 32K. This can be as small as 507 bytes for memLevel == 1. For 14027 // large input and output buffers, the stored block size will be larger. 14028 var min_block uint32 = func() uint32 { 14029 if (*Deflate_state)(unsafe.Pointer(s)).Fpending_buf_size-uint64(5) > Ulg((*Deflate_state)(unsafe.Pointer(s)).Fw_size) { 14030 return (*Deflate_state)(unsafe.Pointer(s)).Fw_size 14031 } 14032 return uint32((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf_size - uint64(5)) 14033 }() 14034 14035 // Copy as many min_block or larger stored blocks directly to next_out as 14036 // possible. If flushing, copy the remaining available input to next_out as 14037 // stored blocks, if there is enough space. 14038 var len uint32 14039 var left uint32 14040 var have uint32 14041 var last uint32 = uint32(0) 14042 var used uint32 = (*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in 14043 for ok := true; ok; ok = last == uint32(0) { 14044 // Set len to the maximum size block that we can copy directly with the 14045 // available input data and output space. Set left to how much of that 14046 // would be copied from what's left in the window. 14047 len = uint32(MAX_STORED) // maximum deflate stored block length 14048 have = uint32(((*Deflate_state)(unsafe.Pointer(s)).Fbi_valid + 42) >> 3) // number of header bytes 14049 if (*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out < have { // need room for header 14050 break 14051 } 14052 // maximum stored block length that will fit in avail_out: 14053 have = (*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out - have 14054 left = uint32(int64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart) - (*Deflate_state)(unsafe.Pointer(s)).Fblock_start) // bytes left in window 14055 if Ulg(len) > Ulg(left)+Ulg((*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in) { 14056 len = left + (*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in 14057 } // limit len to the input 14058 if len > have { 14059 len = have 14060 } // limit len to the output 14061 14062 // If the stored block would be less than min_block in length, or if 14063 // unable to copy all of the available input when flushing, then try 14064 // copying to the window and the pending buffer instead. Also don't 14065 // write an empty block when flushing -- deflate() does that. 14066 if len < min_block && (len == uint32(0) && flush != Z_FINISH || flush == Z_NO_FLUSH || len != left+(*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in) { 14067 break 14068 } 14069 14070 // Make a dummy stored block in pending to get the header bytes, 14071 // including any pending bits. This also updates the debugging counts. 14072 if flush == Z_FINISH && len == left+(*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in { 14073 last = uint32(1) 14074 } else { 14075 last = uint32(0) 14076 } 14077 X_tr_stored_block(tls, s, uintptr(0), uint64(0), int32(last)) 14078 14079 // Replace the lengths in the dummy stored block with len. 14080 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fpending-uint64(4)))) = Bytef(len) 14081 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fpending-uint64(3)))) = Bytef(len >> 8) 14082 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fpending-uint64(2)))) = Bytef(^len) 14083 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fpending-uint64(1)))) = Bytef(^len >> 8) 14084 14085 // Write the stored block header bytes. 14086 flush_pending(tls, (*Deflate_state)(unsafe.Pointer(s)).Fstrm) 14087 14088 // Copy uncompressed bytes from the window to next_out. 14089 if left != 0 { 14090 if left > len { 14091 left = len 14092 } 14093 libc.X__builtin___memcpy_chk(tls, (*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Fnext_out, (*Deflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Deflate_state)(unsafe.Pointer(s)).Fblock_start), uint64(left), libc.X__builtin_object_size(tls, (*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Fnext_out, 0)) 14094 *(*uintptr)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm + 24)) += uintptr(left) 14095 *(*UInt)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm + 32)) -= left 14096 *(*ULong)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm + 40)) += ULong(left) 14097 *(*int64)(unsafe.Pointer(s + 152)) += int64(left) 14098 len = len - left 14099 } 14100 14101 // Copy uncompressed bytes directly from next_in to next_out, updating 14102 // the check value. 14103 if len != 0 { 14104 read_buf(tls, (*Deflate_state)(unsafe.Pointer(s)).Fstrm, (*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Fnext_out, len) 14105 *(*uintptr)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm + 24)) += uintptr(len) 14106 *(*UInt)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm + 32)) -= len 14107 *(*ULong)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm + 40)) += ULong(len) 14108 } 14109 } 14110 14111 // Update the sliding window with the last s->w_size bytes of the copied 14112 // data, or append all of the copied data to the existing window if less 14113 // than s->w_size bytes were copied. Also update the number of bytes to 14114 // insert in the hash tables, in the event that deflateParams() switches to 14115 // a non-zero compression level. 14116 used = used - (*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in // number of input bytes directly copied 14117 if used != 0 { 14118 // If any input was used, then no unused input remains in the window, 14119 // therefore s->block_start == s->strstart. 14120 if used >= (*Deflate_state)(unsafe.Pointer(s)).Fw_size { // supplant the previous history 14121 (*Deflate_state)(unsafe.Pointer(s)).Fmatches = UInt(2) // clear hash 14122 libc.X__builtin___memcpy_chk(tls, (*Deflate_state)(unsafe.Pointer(s)).Fwindow, (*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Fnext_in-uintptr((*Deflate_state)(unsafe.Pointer(s)).Fw_size), uint64((*Deflate_state)(unsafe.Pointer(s)).Fw_size), libc.X__builtin_object_size(tls, (*Deflate_state)(unsafe.Pointer(s)).Fwindow, 0)) 14123 (*Deflate_state)(unsafe.Pointer(s)).Fstrstart = (*Deflate_state)(unsafe.Pointer(s)).Fw_size 14124 } else { 14125 if (*Deflate_state)(unsafe.Pointer(s)).Fwindow_size-Ulg((*Deflate_state)(unsafe.Pointer(s)).Fstrstart) <= Ulg(used) { 14126 // Slide the window down. 14127 *(*UInt)(unsafe.Pointer(s + 172)) -= (*Deflate_state)(unsafe.Pointer(s)).Fw_size 14128 libc.X__builtin___memcpy_chk(tls, (*Deflate_state)(unsafe.Pointer(s)).Fwindow, (*Deflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Deflate_state)(unsafe.Pointer(s)).Fw_size), uint64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart), libc.X__builtin_object_size(tls, (*Deflate_state)(unsafe.Pointer(s)).Fwindow, 0)) 14129 if (*Deflate_state)(unsafe.Pointer(s)).Fmatches < UInt(2) { 14130 (*Deflate_state)(unsafe.Pointer(s)).Fmatches++ 14131 } // add a pending slide_hash() 14132 } 14133 libc.X__builtin___memcpy_chk(tls, (*Deflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Deflate_state)(unsafe.Pointer(s)).Fstrstart), (*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Fnext_in-uintptr(used), uint64(used), libc.X__builtin_object_size(tls, (*Deflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Deflate_state)(unsafe.Pointer(s)).Fstrstart), 0)) 14134 *(*UInt)(unsafe.Pointer(s + 172)) += used 14135 } 14136 (*Deflate_state)(unsafe.Pointer(s)).Fblock_start = int64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart) 14137 *(*UInt)(unsafe.Pointer(s + 5932)) += func() uint32 { 14138 if used > (*Deflate_state)(unsafe.Pointer(s)).Fw_size-(*Deflate_state)(unsafe.Pointer(s)).Finsert { 14139 return (*Deflate_state)(unsafe.Pointer(s)).Fw_size - (*Deflate_state)(unsafe.Pointer(s)).Finsert 14140 } 14141 return used 14142 }() 14143 } 14144 if (*Deflate_state)(unsafe.Pointer(s)).Fhigh_water < Ulg((*Deflate_state)(unsafe.Pointer(s)).Fstrstart) { 14145 (*Deflate_state)(unsafe.Pointer(s)).Fhigh_water = Ulg((*Deflate_state)(unsafe.Pointer(s)).Fstrstart) 14146 } 14147 14148 // If the last block was written to next_out, then done. 14149 if last != 0 { 14150 return Finish_done 14151 } 14152 14153 // If flushing and all input has been consumed, then done. 14154 if flush != Z_NO_FLUSH && flush != Z_FINISH && (*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in == UInt(0) && int64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart) == (*Deflate_state)(unsafe.Pointer(s)).Fblock_start { 14155 return Block_done 14156 } 14157 14158 // Fill the window with any remaining input. 14159 have = uint32((*Deflate_state)(unsafe.Pointer(s)).Fwindow_size - Ulg((*Deflate_state)(unsafe.Pointer(s)).Fstrstart) - uint64(1)) 14160 if (*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in > have && (*Deflate_state)(unsafe.Pointer(s)).Fblock_start >= int64((*Deflate_state)(unsafe.Pointer(s)).Fw_size) { 14161 // Slide the window down. 14162 *(*int64)(unsafe.Pointer(s + 152)) -= int64((*Deflate_state)(unsafe.Pointer(s)).Fw_size) 14163 *(*UInt)(unsafe.Pointer(s + 172)) -= (*Deflate_state)(unsafe.Pointer(s)).Fw_size 14164 libc.X__builtin___memcpy_chk(tls, (*Deflate_state)(unsafe.Pointer(s)).Fwindow, (*Deflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Deflate_state)(unsafe.Pointer(s)).Fw_size), uint64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart), libc.X__builtin_object_size(tls, (*Deflate_state)(unsafe.Pointer(s)).Fwindow, 0)) 14165 if (*Deflate_state)(unsafe.Pointer(s)).Fmatches < UInt(2) { 14166 (*Deflate_state)(unsafe.Pointer(s)).Fmatches++ 14167 } // add a pending slide_hash() 14168 have = have + (*Deflate_state)(unsafe.Pointer(s)).Fw_size // more space now 14169 } 14170 if have > (*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in { 14171 have = (*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in 14172 } 14173 if have != 0 { 14174 read_buf(tls, (*Deflate_state)(unsafe.Pointer(s)).Fstrm, (*Deflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Deflate_state)(unsafe.Pointer(s)).Fstrstart), have) 14175 *(*UInt)(unsafe.Pointer(s + 172)) += have 14176 } 14177 if (*Deflate_state)(unsafe.Pointer(s)).Fhigh_water < Ulg((*Deflate_state)(unsafe.Pointer(s)).Fstrstart) { 14178 (*Deflate_state)(unsafe.Pointer(s)).Fhigh_water = Ulg((*Deflate_state)(unsafe.Pointer(s)).Fstrstart) 14179 } 14180 14181 // There was not enough avail_out to write a complete worthy or flushed 14182 // stored block to next_out. Write a stored block to pending instead, if we 14183 // have enough input for a worthy block, or if flushing and there is enough 14184 // room for the remaining input as a stored block in the pending buffer. 14185 have = uint32(((*Deflate_state)(unsafe.Pointer(s)).Fbi_valid + 42) >> 3) // number of header bytes 14186 // maximum stored block length that will fit in pending: 14187 have = func() uint32 { 14188 if (*Deflate_state)(unsafe.Pointer(s)).Fpending_buf_size-Ulg(have) > uint64(MAX_STORED) { 14189 return uint32(MAX_STORED) 14190 } 14191 return uint32((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf_size - Ulg(have)) 14192 }() 14193 min_block = func() uint32 { 14194 if have > (*Deflate_state)(unsafe.Pointer(s)).Fw_size { 14195 return (*Deflate_state)(unsafe.Pointer(s)).Fw_size 14196 } 14197 return have 14198 }() 14199 left = uint32(int64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart) - (*Deflate_state)(unsafe.Pointer(s)).Fblock_start) 14200 if left >= min_block || (left != 0 || flush == Z_FINISH) && flush != Z_NO_FLUSH && (*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in == UInt(0) && left <= have { 14201 len = func() uint32 { 14202 if left > have { 14203 return have 14204 } 14205 return left 14206 }() 14207 if flush == Z_FINISH && (*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in == UInt(0) && len == left { 14208 last = uint32(1) 14209 } else { 14210 last = uint32(0) 14211 } 14212 X_tr_stored_block(tls, s, (*Deflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Deflate_state)(unsafe.Pointer(s)).Fblock_start), uint64(len), int32(last)) 14213 *(*int64)(unsafe.Pointer(s + 152)) += int64(len) 14214 flush_pending(tls, (*Deflate_state)(unsafe.Pointer(s)).Fstrm) 14215 } 14216 14217 // We've done all we can with the available input and output. 14218 if last != 0 { 14219 return Finish_started 14220 } 14221 return Need_more 14222 } 14223 14224 // =========================================================================== 14225 // Compress as much as possible from the input stream, return the current 14226 // block state. 14227 // This function does not perform lazy evaluation of matches and inserts 14228 // new strings in the dictionary only for unmatched strings or for short 14229 // matches. It is used only for the fast compression options. 14230 func deflate_fast(tls *libc.TLS, s uintptr, flush int32) Block_state { /* deflate.c:1824:19: */ 14231 var hash_head IPos // head of the hash chain 14232 var bflush int32 // set if current block must be flushed 14233 14234 for { 14235 // Make sure that we always have enough lookahead, except 14236 // at the end of the input file. We need MAX_MATCH bytes 14237 // for the next match, plus MIN_MATCH bytes to insert the 14238 // string following the next match. 14239 if (*Deflate_state)(unsafe.Pointer(s)).Flookahead < UInt(MAX_MATCH+MIN_MATCH+1) { 14240 fill_window(tls, s) 14241 if (*Deflate_state)(unsafe.Pointer(s)).Flookahead < UInt(MAX_MATCH+MIN_MATCH+1) && flush == Z_NO_FLUSH { 14242 return Need_more 14243 } 14244 if (*Deflate_state)(unsafe.Pointer(s)).Flookahead == UInt(0) { 14245 break 14246 } // flush the current block 14247 } 14248 14249 // Insert the string window[strstart .. strstart+2] in the 14250 // dictionary, and set hash_head to the head of the hash chain: 14251 hash_head = IPos(NIL) 14252 if (*Deflate_state)(unsafe.Pointer(s)).Flookahead >= UInt(MIN_MATCH) { 14253 (*Deflate_state)(unsafe.Pointer(s)).Fins_h = ((*Deflate_state)(unsafe.Pointer(s)).Fins_h<<(*Deflate_state)(unsafe.Pointer(s)).Fhash_shift ^ UInt(*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fstrstart+UInt(MIN_MATCH-1)))))) & (*Deflate_state)(unsafe.Pointer(s)).Fhash_mask 14254 hash_head = IPos(libc.AssignPtrUint16((*Deflate_state)(unsafe.Pointer(s)).Fprev+uintptr((*Deflate_state)(unsafe.Pointer(s)).Fstrstart&(*Deflate_state)(unsafe.Pointer(s)).Fw_mask)*2, *(*Posf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fins_h)*2)))) 14255 *(*Posf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fins_h)*2)) = Pos((*Deflate_state)(unsafe.Pointer(s)).Fstrstart) 14256 } 14257 14258 // Find the longest match, discarding those <= prev_length. 14259 // At this point we have always match_length < MIN_MATCH 14260 if hash_head != IPos(NIL) && (*Deflate_state)(unsafe.Pointer(s)).Fstrstart-hash_head <= (*Deflate_state)(unsafe.Pointer(s)).Fw_size-UInt(MAX_MATCH+MIN_MATCH+1) { 14261 // To simplify the code, we prevent matches with the string 14262 // of window index 0 (in particular we have to avoid a match 14263 // of the string with itself at the start of the input file). 14264 (*Deflate_state)(unsafe.Pointer(s)).Fmatch_length = longest_match(tls, s, hash_head) 14265 // longest_match() sets match_start 14266 } 14267 if (*Deflate_state)(unsafe.Pointer(s)).Fmatch_length >= UInt(MIN_MATCH) { 14268 14269 { 14270 var len Uch = Uch((*Deflate_state)(unsafe.Pointer(s)).Fmatch_length - UInt(MIN_MATCH)) 14271 var dist Ush = Ush((*Deflate_state)(unsafe.Pointer(s)).Fstrstart - (*Deflate_state)(unsafe.Pointer(s)).Fmatch_start) 14272 *(*Ushf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fd_buf + uintptr((*Deflate_state)(unsafe.Pointer(s)).Flast_lit)*2)) = dist 14273 *(*Uchf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fl_buf + uintptr(libc.PostIncUint32(&(*Deflate_state)(unsafe.Pointer(s)).Flast_lit, 1)))) = len 14274 dist-- 14275 *(*Ush)(unsafe.Pointer(s + 212 + uintptr(int32(X_length_code[len])+LITERALS+1)*4))++ 14276 *(*Ush)(unsafe.Pointer(s + 2504 + uintptr(func() int32 { 14277 if int32(dist) < 256 { 14278 return int32(X_dist_code[dist]) 14279 } 14280 return int32(X_dist_code[256+int32(dist)>>7]) 14281 }())*4))++ 14282 bflush = libc.Bool32((*Deflate_state)(unsafe.Pointer(s)).Flast_lit == (*Deflate_state)(unsafe.Pointer(s)).Flit_bufsize-UInt(1)) 14283 } 14284 14285 *(*UInt)(unsafe.Pointer(s + 180)) -= (*Deflate_state)(unsafe.Pointer(s)).Fmatch_length 14286 14287 // Insert new strings in the hash table only if the match length 14288 // is not too large. This saves time but degrades compression. 14289 if (*Deflate_state)(unsafe.Pointer(s)).Fmatch_length <= (*Deflate_state)(unsafe.Pointer(s)).Fmax_lazy_match && (*Deflate_state)(unsafe.Pointer(s)).Flookahead >= UInt(MIN_MATCH) { 14290 (*Deflate_state)(unsafe.Pointer(s)).Fmatch_length-- // string at strstart already in table 14291 for ok := true; ok; ok = libc.PreDecUint32(&(*Deflate_state)(unsafe.Pointer(s)).Fmatch_length, 1) != UInt(0) { 14292 (*Deflate_state)(unsafe.Pointer(s)).Fstrstart++ 14293 (*Deflate_state)(unsafe.Pointer(s)).Fins_h = ((*Deflate_state)(unsafe.Pointer(s)).Fins_h<<(*Deflate_state)(unsafe.Pointer(s)).Fhash_shift ^ UInt(*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fstrstart+UInt(MIN_MATCH-1)))))) & (*Deflate_state)(unsafe.Pointer(s)).Fhash_mask 14294 hash_head = IPos(libc.AssignPtrUint16((*Deflate_state)(unsafe.Pointer(s)).Fprev+uintptr((*Deflate_state)(unsafe.Pointer(s)).Fstrstart&(*Deflate_state)(unsafe.Pointer(s)).Fw_mask)*2, *(*Posf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fins_h)*2)))) 14295 *(*Posf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fins_h)*2)) = Pos((*Deflate_state)(unsafe.Pointer(s)).Fstrstart) 14296 // strstart never exceeds WSIZE-MAX_MATCH, so there are 14297 // always MIN_MATCH bytes ahead. 14298 } 14299 (*Deflate_state)(unsafe.Pointer(s)).Fstrstart++ 14300 } else { 14301 *(*UInt)(unsafe.Pointer(s + 172)) += (*Deflate_state)(unsafe.Pointer(s)).Fmatch_length 14302 (*Deflate_state)(unsafe.Pointer(s)).Fmatch_length = UInt(0) 14303 (*Deflate_state)(unsafe.Pointer(s)).Fins_h = UInt(*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fstrstart)))) 14304 (*Deflate_state)(unsafe.Pointer(s)).Fins_h = ((*Deflate_state)(unsafe.Pointer(s)).Fins_h<<(*Deflate_state)(unsafe.Pointer(s)).Fhash_shift ^ UInt(*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fstrstart+UInt(1)))))) & (*Deflate_state)(unsafe.Pointer(s)).Fhash_mask 14305 // If lookahead < MIN_MATCH, ins_h is garbage, but it does not 14306 // matter since it will be recomputed at next deflate call. 14307 } 14308 } else { 14309 // No match, output a literal byte 14310 14311 { 14312 var cc Uch = *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fstrstart))) 14313 *(*Ushf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fd_buf + uintptr((*Deflate_state)(unsafe.Pointer(s)).Flast_lit)*2)) = Ushf(0) 14314 *(*Uchf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fl_buf + uintptr(libc.PostIncUint32(&(*Deflate_state)(unsafe.Pointer(s)).Flast_lit, 1)))) = cc 14315 *(*Ush)(unsafe.Pointer(s + 212 + uintptr(cc)*4))++ 14316 bflush = libc.Bool32((*Deflate_state)(unsafe.Pointer(s)).Flast_lit == (*Deflate_state)(unsafe.Pointer(s)).Flit_bufsize-UInt(1)) 14317 } 14318 14319 (*Deflate_state)(unsafe.Pointer(s)).Flookahead-- 14320 (*Deflate_state)(unsafe.Pointer(s)).Fstrstart++ 14321 } 14322 if bflush != 0 { 14323 { 14324 X_tr_flush_block(tls, s, func() uintptr { 14325 if (*Deflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 { 14326 return (*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(uint32((*Deflate_state)(unsafe.Pointer(s)).Fblock_start)) 14327 } 14328 return uintptr(Z_NULL) 14329 }(), Ulg(int64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Deflate_state)(unsafe.Pointer(s)).Fblock_start), 0) 14330 (*Deflate_state)(unsafe.Pointer(s)).Fblock_start = int64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart) 14331 flush_pending(tls, (*Deflate_state)(unsafe.Pointer(s)).Fstrm) 14332 } 14333 if (*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == UInt(0) { 14334 if 0 != 0 { 14335 return Finish_started 14336 } 14337 return Need_more 14338 } 14339 } 14340 14341 } 14342 (*Deflate_state)(unsafe.Pointer(s)).Finsert = func() uint32 { 14343 if (*Deflate_state)(unsafe.Pointer(s)).Fstrstart < UInt(MIN_MATCH-1) { 14344 return (*Deflate_state)(unsafe.Pointer(s)).Fstrstart 14345 } 14346 return uint32(MIN_MATCH - 1) 14347 }() 14348 if flush == Z_FINISH { 14349 { 14350 { 14351 X_tr_flush_block(tls, s, func() uintptr { 14352 if (*Deflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 { 14353 return (*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(uint32((*Deflate_state)(unsafe.Pointer(s)).Fblock_start)) 14354 } 14355 return uintptr(Z_NULL) 14356 }(), Ulg(int64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Deflate_state)(unsafe.Pointer(s)).Fblock_start), 1) 14357 (*Deflate_state)(unsafe.Pointer(s)).Fblock_start = int64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart) 14358 flush_pending(tls, (*Deflate_state)(unsafe.Pointer(s)).Fstrm) 14359 } 14360 if (*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == UInt(0) { 14361 if 1 != 0 { 14362 return Finish_started 14363 } 14364 return Need_more 14365 } 14366 } 14367 14368 return Finish_done 14369 } 14370 if (*Deflate_state)(unsafe.Pointer(s)).Flast_lit != 0 { 14371 { 14372 X_tr_flush_block(tls, s, func() uintptr { 14373 if (*Deflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 { 14374 return (*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(uint32((*Deflate_state)(unsafe.Pointer(s)).Fblock_start)) 14375 } 14376 return uintptr(Z_NULL) 14377 }(), Ulg(int64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Deflate_state)(unsafe.Pointer(s)).Fblock_start), 0) 14378 (*Deflate_state)(unsafe.Pointer(s)).Fblock_start = int64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart) 14379 flush_pending(tls, (*Deflate_state)(unsafe.Pointer(s)).Fstrm) 14380 } 14381 if (*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == UInt(0) { 14382 if 0 != 0 { 14383 return Finish_started 14384 } 14385 return Need_more 14386 } 14387 } 14388 14389 return Block_done 14390 } 14391 14392 // =========================================================================== 14393 // Same as above, but achieves better compression. We use a lazy 14394 // evaluation for matches: a match is finally adopted only if there is 14395 // no better match at the next window position. 14396 func deflate_slow(tls *libc.TLS, s uintptr, flush int32) Block_state { /* deflate.c:1926:19: */ 14397 var hash_head IPos // head of hash chain 14398 var bflush int32 // set if current block must be flushed 14399 14400 // Process the input block. 14401 for { 14402 // Make sure that we always have enough lookahead, except 14403 // at the end of the input file. We need MAX_MATCH bytes 14404 // for the next match, plus MIN_MATCH bytes to insert the 14405 // string following the next match. 14406 if (*Deflate_state)(unsafe.Pointer(s)).Flookahead < UInt(MAX_MATCH+MIN_MATCH+1) { 14407 fill_window(tls, s) 14408 if (*Deflate_state)(unsafe.Pointer(s)).Flookahead < UInt(MAX_MATCH+MIN_MATCH+1) && flush == Z_NO_FLUSH { 14409 return Need_more 14410 } 14411 if (*Deflate_state)(unsafe.Pointer(s)).Flookahead == UInt(0) { 14412 break 14413 } // flush the current block 14414 } 14415 14416 // Insert the string window[strstart .. strstart+2] in the 14417 // dictionary, and set hash_head to the head of the hash chain: 14418 hash_head = IPos(NIL) 14419 if (*Deflate_state)(unsafe.Pointer(s)).Flookahead >= UInt(MIN_MATCH) { 14420 (*Deflate_state)(unsafe.Pointer(s)).Fins_h = ((*Deflate_state)(unsafe.Pointer(s)).Fins_h<<(*Deflate_state)(unsafe.Pointer(s)).Fhash_shift ^ UInt(*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fstrstart+UInt(MIN_MATCH-1)))))) & (*Deflate_state)(unsafe.Pointer(s)).Fhash_mask 14421 hash_head = IPos(libc.AssignPtrUint16((*Deflate_state)(unsafe.Pointer(s)).Fprev+uintptr((*Deflate_state)(unsafe.Pointer(s)).Fstrstart&(*Deflate_state)(unsafe.Pointer(s)).Fw_mask)*2, *(*Posf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fins_h)*2)))) 14422 *(*Posf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fins_h)*2)) = Pos((*Deflate_state)(unsafe.Pointer(s)).Fstrstart) 14423 } 14424 14425 // Find the longest match, discarding those <= prev_length. 14426 (*Deflate_state)(unsafe.Pointer(s)).Fprev_length = (*Deflate_state)(unsafe.Pointer(s)).Fmatch_length 14427 (*Deflate_state)(unsafe.Pointer(s)).Fprev_match = (*Deflate_state)(unsafe.Pointer(s)).Fmatch_start 14428 (*Deflate_state)(unsafe.Pointer(s)).Fmatch_length = UInt(MIN_MATCH - 1) 14429 14430 if hash_head != IPos(NIL) && (*Deflate_state)(unsafe.Pointer(s)).Fprev_length < (*Deflate_state)(unsafe.Pointer(s)).Fmax_lazy_match && (*Deflate_state)(unsafe.Pointer(s)).Fstrstart-hash_head <= (*Deflate_state)(unsafe.Pointer(s)).Fw_size-UInt(MAX_MATCH+MIN_MATCH+1) { 14431 // To simplify the code, we prevent matches with the string 14432 // of window index 0 (in particular we have to avoid a match 14433 // of the string with itself at the start of the input file). 14434 (*Deflate_state)(unsafe.Pointer(s)).Fmatch_length = longest_match(tls, s, hash_head) 14435 // longest_match() sets match_start 14436 14437 if (*Deflate_state)(unsafe.Pointer(s)).Fmatch_length <= UInt(5) && ((*Deflate_state)(unsafe.Pointer(s)).Fstrategy == Z_FILTERED || 14438 (*Deflate_state)(unsafe.Pointer(s)).Fmatch_length == UInt(MIN_MATCH) && (*Deflate_state)(unsafe.Pointer(s)).Fstrstart-(*Deflate_state)(unsafe.Pointer(s)).Fmatch_start > UInt(TOO_FAR)) { 14439 14440 // If prev_match is also MIN_MATCH, match_start is garbage 14441 // but we will ignore the current match anyway. 14442 (*Deflate_state)(unsafe.Pointer(s)).Fmatch_length = UInt(MIN_MATCH - 1) 14443 } 14444 } 14445 // If there was a match at the previous step and the current 14446 // match is not better, output the previous match: 14447 if (*Deflate_state)(unsafe.Pointer(s)).Fprev_length >= UInt(MIN_MATCH) && (*Deflate_state)(unsafe.Pointer(s)).Fmatch_length <= (*Deflate_state)(unsafe.Pointer(s)).Fprev_length { 14448 var max_insert UInt = (*Deflate_state)(unsafe.Pointer(s)).Fstrstart + (*Deflate_state)(unsafe.Pointer(s)).Flookahead - UInt(MIN_MATCH) 14449 // Do not insert strings in hash table beyond this. 14450 14451 { 14452 var len Uch = Uch((*Deflate_state)(unsafe.Pointer(s)).Fprev_length - UInt(MIN_MATCH)) 14453 var dist Ush = Ush((*Deflate_state)(unsafe.Pointer(s)).Fstrstart - UInt(1) - (*Deflate_state)(unsafe.Pointer(s)).Fprev_match) 14454 *(*Ushf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fd_buf + uintptr((*Deflate_state)(unsafe.Pointer(s)).Flast_lit)*2)) = dist 14455 *(*Uchf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fl_buf + uintptr(libc.PostIncUint32(&(*Deflate_state)(unsafe.Pointer(s)).Flast_lit, 1)))) = len 14456 dist-- 14457 *(*Ush)(unsafe.Pointer(s + 212 + uintptr(int32(X_length_code[len])+LITERALS+1)*4))++ 14458 *(*Ush)(unsafe.Pointer(s + 2504 + uintptr(func() int32 { 14459 if int32(dist) < 256 { 14460 return int32(X_dist_code[dist]) 14461 } 14462 return int32(X_dist_code[256+int32(dist)>>7]) 14463 }())*4))++ 14464 bflush = libc.Bool32((*Deflate_state)(unsafe.Pointer(s)).Flast_lit == (*Deflate_state)(unsafe.Pointer(s)).Flit_bufsize-UInt(1)) 14465 } 14466 14467 // Insert in hash table all strings up to the end of the match. 14468 // strstart-1 and strstart are already inserted. If there is not 14469 // enough lookahead, the last two strings are not inserted in 14470 // the hash table. 14471 *(*UInt)(unsafe.Pointer(s + 180)) -= (*Deflate_state)(unsafe.Pointer(s)).Fprev_length - UInt(1) 14472 *(*UInt)(unsafe.Pointer(s + 184)) -= UInt(2) 14473 for ok := true; ok; ok = libc.PreDecUint32(&(*Deflate_state)(unsafe.Pointer(s)).Fprev_length, 1) != UInt(0) { 14474 if libc.PreIncUint32(&(*Deflate_state)(unsafe.Pointer(s)).Fstrstart, 1) <= max_insert { 14475 (*Deflate_state)(unsafe.Pointer(s)).Fins_h = ((*Deflate_state)(unsafe.Pointer(s)).Fins_h<<(*Deflate_state)(unsafe.Pointer(s)).Fhash_shift ^ UInt(*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fstrstart+UInt(MIN_MATCH-1)))))) & (*Deflate_state)(unsafe.Pointer(s)).Fhash_mask 14476 hash_head = IPos(libc.AssignPtrUint16((*Deflate_state)(unsafe.Pointer(s)).Fprev+uintptr((*Deflate_state)(unsafe.Pointer(s)).Fstrstart&(*Deflate_state)(unsafe.Pointer(s)).Fw_mask)*2, *(*Posf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fins_h)*2)))) 14477 *(*Posf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fins_h)*2)) = Pos((*Deflate_state)(unsafe.Pointer(s)).Fstrstart) 14478 } 14479 } 14480 (*Deflate_state)(unsafe.Pointer(s)).Fmatch_available = 0 14481 (*Deflate_state)(unsafe.Pointer(s)).Fmatch_length = UInt(MIN_MATCH - 1) 14482 (*Deflate_state)(unsafe.Pointer(s)).Fstrstart++ 14483 14484 if bflush != 0 { 14485 { 14486 X_tr_flush_block(tls, s, func() uintptr { 14487 if (*Deflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 { 14488 return (*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(uint32((*Deflate_state)(unsafe.Pointer(s)).Fblock_start)) 14489 } 14490 return uintptr(Z_NULL) 14491 }(), Ulg(int64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Deflate_state)(unsafe.Pointer(s)).Fblock_start), 0) 14492 (*Deflate_state)(unsafe.Pointer(s)).Fblock_start = int64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart) 14493 flush_pending(tls, (*Deflate_state)(unsafe.Pointer(s)).Fstrm) 14494 } 14495 if (*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == UInt(0) { 14496 if 0 != 0 { 14497 return Finish_started 14498 } 14499 return Need_more 14500 } 14501 } 14502 14503 } else if (*Deflate_state)(unsafe.Pointer(s)).Fmatch_available != 0 { 14504 // If there was no match at the previous position, output a 14505 // single literal. If there was a match but the current match 14506 // is longer, truncate the previous match to a single literal. 14507 14508 { 14509 var cc Uch = *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fstrstart-UInt(1)))) 14510 *(*Ushf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fd_buf + uintptr((*Deflate_state)(unsafe.Pointer(s)).Flast_lit)*2)) = Ushf(0) 14511 *(*Uchf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fl_buf + uintptr(libc.PostIncUint32(&(*Deflate_state)(unsafe.Pointer(s)).Flast_lit, 1)))) = cc 14512 *(*Ush)(unsafe.Pointer(s + 212 + uintptr(cc)*4))++ 14513 bflush = libc.Bool32((*Deflate_state)(unsafe.Pointer(s)).Flast_lit == (*Deflate_state)(unsafe.Pointer(s)).Flit_bufsize-UInt(1)) 14514 } 14515 14516 if bflush != 0 { 14517 { 14518 X_tr_flush_block(tls, s, func() uintptr { 14519 if (*Deflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 { 14520 return (*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(uint32((*Deflate_state)(unsafe.Pointer(s)).Fblock_start)) 14521 } 14522 return uintptr(Z_NULL) 14523 }(), Ulg(int64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Deflate_state)(unsafe.Pointer(s)).Fblock_start), 0) 14524 (*Deflate_state)(unsafe.Pointer(s)).Fblock_start = int64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart) 14525 flush_pending(tls, (*Deflate_state)(unsafe.Pointer(s)).Fstrm) 14526 } 14527 14528 } 14529 (*Deflate_state)(unsafe.Pointer(s)).Fstrstart++ 14530 (*Deflate_state)(unsafe.Pointer(s)).Flookahead-- 14531 if (*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == UInt(0) { 14532 return Need_more 14533 } 14534 } else { 14535 // There is no previous match to compare with, wait for 14536 // the next step to decide. 14537 (*Deflate_state)(unsafe.Pointer(s)).Fmatch_available = 1 14538 (*Deflate_state)(unsafe.Pointer(s)).Fstrstart++ 14539 (*Deflate_state)(unsafe.Pointer(s)).Flookahead-- 14540 } 14541 } 14542 14543 if (*Deflate_state)(unsafe.Pointer(s)).Fmatch_available != 0 { 14544 14545 { 14546 var cc Uch = *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fstrstart-UInt(1)))) 14547 *(*Ushf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fd_buf + uintptr((*Deflate_state)(unsafe.Pointer(s)).Flast_lit)*2)) = Ushf(0) 14548 *(*Uchf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fl_buf + uintptr(libc.PostIncUint32(&(*Deflate_state)(unsafe.Pointer(s)).Flast_lit, 1)))) = cc 14549 *(*Ush)(unsafe.Pointer(s + 212 + uintptr(cc)*4))++ 14550 bflush = libc.Bool32((*Deflate_state)(unsafe.Pointer(s)).Flast_lit == (*Deflate_state)(unsafe.Pointer(s)).Flit_bufsize-UInt(1)) 14551 } 14552 14553 (*Deflate_state)(unsafe.Pointer(s)).Fmatch_available = 0 14554 } 14555 (*Deflate_state)(unsafe.Pointer(s)).Finsert = func() uint32 { 14556 if (*Deflate_state)(unsafe.Pointer(s)).Fstrstart < UInt(MIN_MATCH-1) { 14557 return (*Deflate_state)(unsafe.Pointer(s)).Fstrstart 14558 } 14559 return uint32(MIN_MATCH - 1) 14560 }() 14561 if flush == Z_FINISH { 14562 { 14563 { 14564 X_tr_flush_block(tls, s, func() uintptr { 14565 if (*Deflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 { 14566 return (*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(uint32((*Deflate_state)(unsafe.Pointer(s)).Fblock_start)) 14567 } 14568 return uintptr(Z_NULL) 14569 }(), Ulg(int64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Deflate_state)(unsafe.Pointer(s)).Fblock_start), 1) 14570 (*Deflate_state)(unsafe.Pointer(s)).Fblock_start = int64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart) 14571 flush_pending(tls, (*Deflate_state)(unsafe.Pointer(s)).Fstrm) 14572 } 14573 if (*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == UInt(0) { 14574 if 1 != 0 { 14575 return Finish_started 14576 } 14577 return Need_more 14578 } 14579 } 14580 14581 return Finish_done 14582 } 14583 if (*Deflate_state)(unsafe.Pointer(s)).Flast_lit != 0 { 14584 { 14585 X_tr_flush_block(tls, s, func() uintptr { 14586 if (*Deflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 { 14587 return (*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(uint32((*Deflate_state)(unsafe.Pointer(s)).Fblock_start)) 14588 } 14589 return uintptr(Z_NULL) 14590 }(), Ulg(int64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Deflate_state)(unsafe.Pointer(s)).Fblock_start), 0) 14591 (*Deflate_state)(unsafe.Pointer(s)).Fblock_start = int64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart) 14592 flush_pending(tls, (*Deflate_state)(unsafe.Pointer(s)).Fstrm) 14593 } 14594 if (*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == UInt(0) { 14595 if 0 != 0 { 14596 return Finish_started 14597 } 14598 return Need_more 14599 } 14600 } 14601 14602 return Block_done 14603 } 14604 14605 // =========================================================================== 14606 // For Z_RLE, simply look for runs of bytes, generate matches only of distance 14607 // one. Do not maintain a hash table. (It will be regenerated if this run of 14608 // deflate switches away from Z_RLE.) 14609 func deflate_rle(tls *libc.TLS, s uintptr, flush int32) Block_state { /* deflate.c:2057:19: */ 14610 var bflush int32 // set if current block must be flushed 14611 var prev UInt // byte at distance one to match 14612 var scan uintptr 14613 var strend uintptr // scan goes up to strend for length of run 14614 14615 for { 14616 // Make sure that we always have enough lookahead, except 14617 // at the end of the input file. We need MAX_MATCH bytes 14618 // for the longest run, plus one for the unrolled loop. 14619 if (*Deflate_state)(unsafe.Pointer(s)).Flookahead <= UInt(MAX_MATCH) { 14620 fill_window(tls, s) 14621 if (*Deflate_state)(unsafe.Pointer(s)).Flookahead <= UInt(MAX_MATCH) && flush == Z_NO_FLUSH { 14622 return Need_more 14623 } 14624 if (*Deflate_state)(unsafe.Pointer(s)).Flookahead == UInt(0) { 14625 break 14626 } // flush the current block 14627 } 14628 14629 // See how many times the previous byte repeats 14630 (*Deflate_state)(unsafe.Pointer(s)).Fmatch_length = UInt(0) 14631 if (*Deflate_state)(unsafe.Pointer(s)).Flookahead >= UInt(MIN_MATCH) && (*Deflate_state)(unsafe.Pointer(s)).Fstrstart > UInt(0) { 14632 scan = (*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fstrstart) - uintptr(1) 14633 prev = UInt(*(*Bytef)(unsafe.Pointer(scan))) 14634 if prev == UInt(*(*Bytef)(unsafe.Pointer(libc.PreIncUintptr(&scan, 1)))) && prev == UInt(*(*Bytef)(unsafe.Pointer(libc.PreIncUintptr(&scan, 1)))) && prev == UInt(*(*Bytef)(unsafe.Pointer(libc.PreIncUintptr(&scan, 1)))) { 14635 strend = (*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fstrstart) + uintptr(MAX_MATCH) 14636 for ok := true; ok; ok = prev == UInt(*(*Bytef)(unsafe.Pointer(libc.PreIncUintptr(&scan, 1)))) && prev == UInt(*(*Bytef)(unsafe.Pointer(libc.PreIncUintptr(&scan, 1)))) && prev == UInt(*(*Bytef)(unsafe.Pointer(libc.PreIncUintptr(&scan, 1)))) && prev == UInt(*(*Bytef)(unsafe.Pointer(libc.PreIncUintptr(&scan, 1)))) && prev == UInt(*(*Bytef)(unsafe.Pointer(libc.PreIncUintptr(&scan, 1)))) && prev == UInt(*(*Bytef)(unsafe.Pointer(libc.PreIncUintptr(&scan, 1)))) && prev == UInt(*(*Bytef)(unsafe.Pointer(libc.PreIncUintptr(&scan, 1)))) && prev == UInt(*(*Bytef)(unsafe.Pointer(libc.PreIncUintptr(&scan, 1)))) && scan < strend { 14637 } 14638 (*Deflate_state)(unsafe.Pointer(s)).Fmatch_length = UInt(MAX_MATCH) - UInt((int64(strend)-int64(scan))/1) 14639 if (*Deflate_state)(unsafe.Pointer(s)).Fmatch_length > (*Deflate_state)(unsafe.Pointer(s)).Flookahead { 14640 (*Deflate_state)(unsafe.Pointer(s)).Fmatch_length = (*Deflate_state)(unsafe.Pointer(s)).Flookahead 14641 } 14642 } 14643 14644 } 14645 14646 // Emit match if have run of MIN_MATCH or longer, else emit literal 14647 if (*Deflate_state)(unsafe.Pointer(s)).Fmatch_length >= UInt(MIN_MATCH) { 14648 14649 { 14650 var len Uch = Uch((*Deflate_state)(unsafe.Pointer(s)).Fmatch_length - UInt(MIN_MATCH)) 14651 var dist Ush = Ush(1) 14652 *(*Ushf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fd_buf + uintptr((*Deflate_state)(unsafe.Pointer(s)).Flast_lit)*2)) = dist 14653 *(*Uchf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fl_buf + uintptr(libc.PostIncUint32(&(*Deflate_state)(unsafe.Pointer(s)).Flast_lit, 1)))) = len 14654 dist-- 14655 *(*Ush)(unsafe.Pointer(s + 212 + uintptr(int32(X_length_code[len])+LITERALS+1)*4))++ 14656 *(*Ush)(unsafe.Pointer(s + 2504 + uintptr(func() int32 { 14657 if int32(dist) < 256 { 14658 return int32(X_dist_code[dist]) 14659 } 14660 return int32(X_dist_code[256+int32(dist)>>7]) 14661 }())*4))++ 14662 bflush = libc.Bool32((*Deflate_state)(unsafe.Pointer(s)).Flast_lit == (*Deflate_state)(unsafe.Pointer(s)).Flit_bufsize-UInt(1)) 14663 } 14664 14665 *(*UInt)(unsafe.Pointer(s + 180)) -= (*Deflate_state)(unsafe.Pointer(s)).Fmatch_length 14666 *(*UInt)(unsafe.Pointer(s + 172)) += (*Deflate_state)(unsafe.Pointer(s)).Fmatch_length 14667 (*Deflate_state)(unsafe.Pointer(s)).Fmatch_length = UInt(0) 14668 } else { 14669 // No match, output a literal byte 14670 14671 { 14672 var cc Uch = *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fstrstart))) 14673 *(*Ushf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fd_buf + uintptr((*Deflate_state)(unsafe.Pointer(s)).Flast_lit)*2)) = Ushf(0) 14674 *(*Uchf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fl_buf + uintptr(libc.PostIncUint32(&(*Deflate_state)(unsafe.Pointer(s)).Flast_lit, 1)))) = cc 14675 *(*Ush)(unsafe.Pointer(s + 212 + uintptr(cc)*4))++ 14676 bflush = libc.Bool32((*Deflate_state)(unsafe.Pointer(s)).Flast_lit == (*Deflate_state)(unsafe.Pointer(s)).Flit_bufsize-UInt(1)) 14677 } 14678 14679 (*Deflate_state)(unsafe.Pointer(s)).Flookahead-- 14680 (*Deflate_state)(unsafe.Pointer(s)).Fstrstart++ 14681 } 14682 if bflush != 0 { 14683 { 14684 X_tr_flush_block(tls, s, func() uintptr { 14685 if (*Deflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 { 14686 return (*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(uint32((*Deflate_state)(unsafe.Pointer(s)).Fblock_start)) 14687 } 14688 return uintptr(Z_NULL) 14689 }(), Ulg(int64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Deflate_state)(unsafe.Pointer(s)).Fblock_start), 0) 14690 (*Deflate_state)(unsafe.Pointer(s)).Fblock_start = int64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart) 14691 flush_pending(tls, (*Deflate_state)(unsafe.Pointer(s)).Fstrm) 14692 } 14693 if (*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == UInt(0) { 14694 if 0 != 0 { 14695 return Finish_started 14696 } 14697 return Need_more 14698 } 14699 } 14700 14701 } 14702 (*Deflate_state)(unsafe.Pointer(s)).Finsert = UInt(0) 14703 if flush == Z_FINISH { 14704 { 14705 { 14706 X_tr_flush_block(tls, s, func() uintptr { 14707 if (*Deflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 { 14708 return (*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(uint32((*Deflate_state)(unsafe.Pointer(s)).Fblock_start)) 14709 } 14710 return uintptr(Z_NULL) 14711 }(), Ulg(int64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Deflate_state)(unsafe.Pointer(s)).Fblock_start), 1) 14712 (*Deflate_state)(unsafe.Pointer(s)).Fblock_start = int64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart) 14713 flush_pending(tls, (*Deflate_state)(unsafe.Pointer(s)).Fstrm) 14714 } 14715 if (*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == UInt(0) { 14716 if 1 != 0 { 14717 return Finish_started 14718 } 14719 return Need_more 14720 } 14721 } 14722 14723 return Finish_done 14724 } 14725 if (*Deflate_state)(unsafe.Pointer(s)).Flast_lit != 0 { 14726 { 14727 X_tr_flush_block(tls, s, func() uintptr { 14728 if (*Deflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 { 14729 return (*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(uint32((*Deflate_state)(unsafe.Pointer(s)).Fblock_start)) 14730 } 14731 return uintptr(Z_NULL) 14732 }(), Ulg(int64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Deflate_state)(unsafe.Pointer(s)).Fblock_start), 0) 14733 (*Deflate_state)(unsafe.Pointer(s)).Fblock_start = int64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart) 14734 flush_pending(tls, (*Deflate_state)(unsafe.Pointer(s)).Fstrm) 14735 } 14736 if (*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == UInt(0) { 14737 if 0 != 0 { 14738 return Finish_started 14739 } 14740 return Need_more 14741 } 14742 } 14743 14744 return Block_done 14745 } 14746 14747 // =========================================================================== 14748 // For Z_HUFFMAN_ONLY, do not look for matches. Do not maintain a hash table. 14749 // (It will be regenerated if this run of deflate switches away from Huffman.) 14750 func deflate_huff(tls *libc.TLS, s uintptr, flush int32) Block_state { /* deflate.c:2130:19: */ 14751 var bflush int32 // set if current block must be flushed 14752 14753 for { 14754 // Make sure that we have a literal to write. 14755 if (*Deflate_state)(unsafe.Pointer(s)).Flookahead == UInt(0) { 14756 fill_window(tls, s) 14757 if (*Deflate_state)(unsafe.Pointer(s)).Flookahead == UInt(0) { 14758 if flush == Z_NO_FLUSH { 14759 return Need_more 14760 } 14761 break // flush the current block 14762 } 14763 } 14764 14765 // Output a literal byte 14766 (*Deflate_state)(unsafe.Pointer(s)).Fmatch_length = UInt(0) 14767 14768 { 14769 var cc Uch = *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fstrstart))) 14770 *(*Ushf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fd_buf + uintptr((*Deflate_state)(unsafe.Pointer(s)).Flast_lit)*2)) = Ushf(0) 14771 *(*Uchf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fl_buf + uintptr(libc.PostIncUint32(&(*Deflate_state)(unsafe.Pointer(s)).Flast_lit, 1)))) = cc 14772 *(*Ush)(unsafe.Pointer(s + 212 + uintptr(cc)*4))++ 14773 bflush = libc.Bool32((*Deflate_state)(unsafe.Pointer(s)).Flast_lit == (*Deflate_state)(unsafe.Pointer(s)).Flit_bufsize-UInt(1)) 14774 } 14775 14776 (*Deflate_state)(unsafe.Pointer(s)).Flookahead-- 14777 (*Deflate_state)(unsafe.Pointer(s)).Fstrstart++ 14778 if bflush != 0 { 14779 { 14780 X_tr_flush_block(tls, s, func() uintptr { 14781 if (*Deflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 { 14782 return (*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(uint32((*Deflate_state)(unsafe.Pointer(s)).Fblock_start)) 14783 } 14784 return uintptr(Z_NULL) 14785 }(), Ulg(int64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Deflate_state)(unsafe.Pointer(s)).Fblock_start), 0) 14786 (*Deflate_state)(unsafe.Pointer(s)).Fblock_start = int64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart) 14787 flush_pending(tls, (*Deflate_state)(unsafe.Pointer(s)).Fstrm) 14788 } 14789 if (*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == UInt(0) { 14790 if 0 != 0 { 14791 return Finish_started 14792 } 14793 return Need_more 14794 } 14795 } 14796 14797 } 14798 (*Deflate_state)(unsafe.Pointer(s)).Finsert = UInt(0) 14799 if flush == Z_FINISH { 14800 { 14801 { 14802 X_tr_flush_block(tls, s, func() uintptr { 14803 if (*Deflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 { 14804 return (*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(uint32((*Deflate_state)(unsafe.Pointer(s)).Fblock_start)) 14805 } 14806 return uintptr(Z_NULL) 14807 }(), Ulg(int64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Deflate_state)(unsafe.Pointer(s)).Fblock_start), 1) 14808 (*Deflate_state)(unsafe.Pointer(s)).Fblock_start = int64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart) 14809 flush_pending(tls, (*Deflate_state)(unsafe.Pointer(s)).Fstrm) 14810 } 14811 if (*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == UInt(0) { 14812 if 1 != 0 { 14813 return Finish_started 14814 } 14815 return Need_more 14816 } 14817 } 14818 14819 return Finish_done 14820 } 14821 if (*Deflate_state)(unsafe.Pointer(s)).Flast_lit != 0 { 14822 { 14823 X_tr_flush_block(tls, s, func() uintptr { 14824 if (*Deflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 { 14825 return (*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(uint32((*Deflate_state)(unsafe.Pointer(s)).Fblock_start)) 14826 } 14827 return uintptr(Z_NULL) 14828 }(), Ulg(int64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Deflate_state)(unsafe.Pointer(s)).Fblock_start), 0) 14829 (*Deflate_state)(unsafe.Pointer(s)).Fblock_start = int64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart) 14830 flush_pending(tls, (*Deflate_state)(unsafe.Pointer(s)).Fstrm) 14831 } 14832 if (*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == UInt(0) { 14833 if 0 != 0 { 14834 return Finish_started 14835 } 14836 return Need_more 14837 } 14838 } 14839 14840 return Block_done 14841 } 14842 14843 type Fpos_t = X__darwin_off_t /* _stdio.h:81:25 */ 14844 14845 // NB: to fit things in six character monocase externals, the stdio 14846 // code uses the prefix `__s' for stdio objects, typically followed 14847 // by a three-character attempt at a mnemonic. 14848 14849 // stdio buffers 14850 type X__sbuf = struct { 14851 F_base uintptr 14852 F_size int32 14853 F__ccgo_pad1 [4]byte 14854 } /* _stdio.h:92:1 */ 14855 14856 // stdio state variables. 14857 // 14858 // The following always hold: 14859 // 14860 // if (_flags&(__SLBF|__SWR)) == (__SLBF|__SWR), 14861 // _lbfsize is -_bf._size, else _lbfsize is 0 14862 // if _flags&__SRD, _w is 0 14863 // if _flags&__SWR, _r is 0 14864 // 14865 // This ensures that the getc and putc macros (or inline functions) never 14866 // try to write or read from a file that is in `read' or `write' mode. 14867 // (Moreover, they can, and do, automatically switch from read mode to 14868 // write mode, and back, on "r+" and "w+" files.) 14869 // 14870 // _lbfsize is used only to make the inline line-buffered output stream 14871 // code as compact as possible. 14872 // 14873 // _ub, _up, and _ur are used when ungetc() pushes back more characters 14874 // than fit in the current _bf, or when ungetc() pushes back a character 14875 // that does not match the previous one in _bf. When this happens, 14876 // _ub._base becomes non-nil (i.e., a stream has ungetc() data iff 14877 // _ub._base!=NULL) and _up and _ur save the current values of _p and _r. 14878 // 14879 // NB: see WARNING above before changing the layout of this structure! 14880 type X__sFILE = struct { 14881 F_p uintptr 14882 F_r int32 14883 F_w int32 14884 F_flags int16 14885 F_file int16 14886 F__ccgo_pad1 [4]byte 14887 F_bf struct { 14888 F_base uintptr 14889 F_size int32 14890 F__ccgo_pad1 [4]byte 14891 } 14892 F_lbfsize int32 14893 F__ccgo_pad2 [4]byte 14894 F_cookie uintptr 14895 F_close uintptr 14896 F_read uintptr 14897 F_seek uintptr 14898 F_write uintptr 14899 F_ub struct { 14900 F_base uintptr 14901 F_size int32 14902 F__ccgo_pad1 [4]byte 14903 } 14904 F_extra uintptr 14905 F_ur int32 14906 F_ubuf [3]uint8 14907 F_nbuf [1]uint8 14908 F_lb struct { 14909 F_base uintptr 14910 F_size int32 14911 F__ccgo_pad1 [4]byte 14912 } 14913 F_blksize int32 14914 F__ccgo_pad3 [4]byte 14915 F_offset Fpos_t 14916 } /* _stdio.h:126:9 */ 14917 14918 // stdio state variables. 14919 // 14920 // The following always hold: 14921 // 14922 // if (_flags&(__SLBF|__SWR)) == (__SLBF|__SWR), 14923 // _lbfsize is -_bf._size, else _lbfsize is 0 14924 // if _flags&__SRD, _w is 0 14925 // if _flags&__SWR, _r is 0 14926 // 14927 // This ensures that the getc and putc macros (or inline functions) never 14928 // try to write or read from a file that is in `read' or `write' mode. 14929 // (Moreover, they can, and do, automatically switch from read mode to 14930 // write mode, and back, on "r+" and "w+" files.) 14931 // 14932 // _lbfsize is used only to make the inline line-buffered output stream 14933 // code as compact as possible. 14934 // 14935 // _ub, _up, and _ur are used when ungetc() pushes back more characters 14936 // than fit in the current _bf, or when ungetc() pushes back a character 14937 // that does not match the previous one in _bf. When this happens, 14938 // _ub._base becomes non-nil (i.e., a stream has ungetc() data iff 14939 // _ub._base!=NULL) and _up and _ur save the current values of _p and _r. 14940 // 14941 // NB: see WARNING above before changing the layout of this structure! 14942 type FILE = X__sFILE /* _stdio.h:157:3 */ // getsubopt(3) external variable 14943 // valloc is now declared in _malloc.h 14944 14945 // Poison the following routines if -fshort-wchar is set 14946 14947 // Copyright (C) 1992-2021 Free Software Foundation, Inc. 14948 // 14949 // This file is part of GCC. 14950 // 14951 // GCC is free software; you can redistribute it and/or modify it under 14952 // the terms of the GNU General Public License as published by the Free 14953 // Software Foundation; either version 3, or (at your option) any later 14954 // version. 14955 // 14956 // GCC is distributed in the hope that it will be useful, but WITHOUT ANY 14957 // WARRANTY; without even the implied warranty of MERCHANTABILITY or 14958 // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14959 // for more details. 14960 // 14961 // Under Section 7 of GPL version 3, you are granted additional 14962 // permissions described in the GCC Runtime Library Exception, version 14963 // 3.1, as published by the Free Software Foundation. 14964 // 14965 // You should have received a copy of the GNU General Public License and 14966 // a copy of the GCC Runtime Library Exception along with this program; 14967 // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 14968 // <http://www.gnu.org/licenses/>. 14969 14970 // This administrivia gets added to the beginning of limits.h 14971 // if the system has its own version of limits.h. 14972 14973 // We use _GCC_LIMITS_H_ because we want this not to match 14974 // any macros that the system's limits.h uses for its own purposes. 14975 14976 // Copyright (c) 2000 Apple Computer, Inc. All rights reserved. 14977 // 14978 // @APPLE_LICENSE_HEADER_START@ 14979 // 14980 // This file contains Original Code and/or Modifications of Original Code 14981 // as defined in and that are subject to the Apple Public Source License 14982 // Version 2.0 (the 'License'). You may not use this file except in 14983 // compliance with the License. Please obtain a copy of the License at 14984 // http://www.opensource.apple.com/apsl/ and read it before using this 14985 // file. 14986 // 14987 // The Original Code and all software distributed under the License are 14988 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 14989 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 14990 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 14991 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 14992 // Please see the License for the specific language governing rights and 14993 // limitations under the License. 14994 // 14995 // @APPLE_LICENSE_HEADER_END@ 14996 // Copyright (c) 2000-2013 Apple Inc. All rights reserved. 14997 // 14998 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 14999 // 15000 // This file contains Original Code and/or Modifications of Original Code 15001 // as defined in and that are subject to the Apple Public Source License 15002 // Version 2.0 (the 'License'). You may not use this file except in 15003 // compliance with the License. The rights granted to you under the License 15004 // may not be used to create, or enable the creation or redistribution of, 15005 // unlawful or unlicensed copies of an Apple operating system, or to 15006 // circumvent, violate, or enable the circumvention or violation of, any 15007 // terms of an Apple operating system software license agreement. 15008 // 15009 // Please obtain a copy of the License at 15010 // http://www.opensource.apple.com/apsl/ and read it before using this file. 15011 // 15012 // The Original Code and all software distributed under the License are 15013 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 15014 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 15015 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 15016 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 15017 // Please see the License for the specific language governing rights and 15018 // limitations under the License. 15019 // 15020 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 15021 // Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved 15022 // - 15023 // Copyright (c) 1983, 1990, 1993 15024 // The Regents of the University of California. All rights reserved. 15025 // (c) UNIX System Laboratories, Inc. 15026 // All or some portions of this file are derived from material licensed 15027 // to the University of California by American Telephone and Telegraph 15028 // Co. or Unix System Laboratories, Inc. and are reproduced herein with 15029 // the permission of UNIX System Laboratories, Inc. 15030 // 15031 // Redistribution and use in source and binary forms, with or without 15032 // modification, are permitted provided that the following conditions 15033 // are met: 15034 // 1. Redistributions of source code must retain the above copyright 15035 // notice, this list of conditions and the following disclaimer. 15036 // 2. Redistributions in binary form must reproduce the above copyright 15037 // notice, this list of conditions and the following disclaimer in the 15038 // documentation and/or other materials provided with the distribution. 15039 // 3. All advertising materials mentioning features or use of this software 15040 // must display the following acknowledgement: 15041 // This product includes software developed by the University of 15042 // California, Berkeley and its contributors. 15043 // 4. Neither the name of the University nor the names of its contributors 15044 // may be used to endorse or promote products derived from this software 15045 // without specific prior written permission. 15046 // 15047 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 15048 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 15049 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 15050 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 15051 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 15052 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 15053 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 15054 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 15055 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 15056 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 15057 // SUCH DAMAGE. 15058 // 15059 // @(#)fcntl.h 8.3 (Berkeley) 1/21/94 15060 15061 // This file includes the definitions for open and fcntl 15062 // described by POSIX for <fcntl.h>; it also includes 15063 // related kernel definitions. 15064 // Copyright (c) 2003-2007 Apple Inc. All rights reserved. 15065 // 15066 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 15067 // 15068 // This file contains Original Code and/or Modifications of Original Code 15069 // as defined in and that are subject to the Apple Public Source License 15070 // Version 2.0 (the 'License'). You may not use this file except in 15071 // compliance with the License. The rights granted to you under the License 15072 // may not be used to create, or enable the creation or redistribution of, 15073 // unlawful or unlicensed copies of an Apple operating system, or to 15074 // circumvent, violate, or enable the circumvention or violation of, any 15075 // terms of an Apple operating system software license agreement. 15076 // 15077 // Please obtain a copy of the License at 15078 // http://www.opensource.apple.com/apsl/ and read it before using this file. 15079 // 15080 // The Original Code and all software distributed under the License are 15081 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 15082 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 15083 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 15084 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 15085 // Please see the License for the specific language governing rights and 15086 // limitations under the License. 15087 // 15088 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 15089 15090 // Copyright (c) 2000-2018 Apple Inc. All rights reserved. 15091 // 15092 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 15093 // 15094 // This file contains Original Code and/or Modifications of Original Code 15095 // as defined in and that are subject to the Apple Public Source License 15096 // Version 2.0 (the 'License'). You may not use this file except in 15097 // compliance with the License. The rights granted to you under the License 15098 // may not be used to create, or enable the creation or redistribution of, 15099 // unlawful or unlicensed copies of an Apple operating system, or to 15100 // circumvent, violate, or enable the circumvention or violation of, any 15101 // terms of an Apple operating system software license agreement. 15102 // 15103 // Please obtain a copy of the License at 15104 // http://www.opensource.apple.com/apsl/ and read it before using this file. 15105 // 15106 // The Original Code and all software distributed under the License are 15107 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 15108 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 15109 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 15110 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 15111 // Please see the License for the specific language governing rights and 15112 // limitations under the License. 15113 // 15114 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 15115 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 15116 // Copyright (c) 1991, 1993 15117 // The Regents of the University of California. All rights reserved. 15118 // 15119 // This code is derived from software contributed to Berkeley by 15120 // Berkeley Software Design, Inc. 15121 // 15122 // Redistribution and use in source and binary forms, with or without 15123 // modification, are permitted provided that the following conditions 15124 // are met: 15125 // 1. Redistributions of source code must retain the above copyright 15126 // notice, this list of conditions and the following disclaimer. 15127 // 2. Redistributions in binary form must reproduce the above copyright 15128 // notice, this list of conditions and the following disclaimer in the 15129 // documentation and/or other materials provided with the distribution. 15130 // 3. All advertising materials mentioning features or use of this software 15131 // must display the following acknowledgement: 15132 // This product includes software developed by the University of 15133 // California, Berkeley and its contributors. 15134 // 4. Neither the name of the University nor the names of its contributors 15135 // may be used to endorse or promote products derived from this software 15136 // without specific prior written permission. 15137 // 15138 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 15139 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 15140 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 15141 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 15142 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 15143 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 15144 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 15145 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 15146 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 15147 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 15148 // SUCH DAMAGE. 15149 // 15150 // @(#)cdefs.h 8.8 (Berkeley) 1/9/95 15151 15152 // Copyright (c) 2007-2016 by Apple Inc.. All rights reserved. 15153 // 15154 // @APPLE_LICENSE_HEADER_START@ 15155 // 15156 // This file contains Original Code and/or Modifications of Original Code 15157 // as defined in and that are subject to the Apple Public Source License 15158 // Version 2.0 (the 'License'). You may not use this file except in 15159 // compliance with the License. Please obtain a copy of the License at 15160 // http://www.opensource.apple.com/apsl/ and read it before using this 15161 // file. 15162 // 15163 // The Original Code and all software distributed under the License are 15164 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 15165 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 15166 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 15167 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 15168 // Please see the License for the specific language governing rights and 15169 // limitations under the License. 15170 // 15171 // @APPLE_LICENSE_HEADER_END@ 15172 15173 // We should not be exporting size_t here. Temporary for gcc bootstrapping. 15174 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 15175 // 15176 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 15177 // 15178 // This file contains Original Code and/or Modifications of Original Code 15179 // as defined in and that are subject to the Apple Public Source License 15180 // Version 2.0 (the 'License'). You may not use this file except in 15181 // compliance with the License. The rights granted to you under the License 15182 // may not be used to create, or enable the creation or redistribution of, 15183 // unlawful or unlicensed copies of an Apple operating system, or to 15184 // circumvent, violate, or enable the circumvention or violation of, any 15185 // terms of an Apple operating system software license agreement. 15186 // 15187 // Please obtain a copy of the License at 15188 // http://www.opensource.apple.com/apsl/ and read it before using this file. 15189 // 15190 // The Original Code and all software distributed under the License are 15191 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 15192 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 15193 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 15194 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 15195 // Please see the License for the specific language governing rights and 15196 // limitations under the License. 15197 // 15198 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 15199 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 15200 // 15201 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 15202 // 15203 // This file contains Original Code and/or Modifications of Original Code 15204 // as defined in and that are subject to the Apple Public Source License 15205 // Version 2.0 (the 'License'). You may not use this file except in 15206 // compliance with the License. The rights granted to you under the License 15207 // may not be used to create, or enable the creation or redistribution of, 15208 // unlawful or unlicensed copies of an Apple operating system, or to 15209 // circumvent, violate, or enable the circumvention or violation of, any 15210 // terms of an Apple operating system software license agreement. 15211 // 15212 // Please obtain a copy of the License at 15213 // http://www.opensource.apple.com/apsl/ and read it before using this file. 15214 // 15215 // The Original Code and all software distributed under the License are 15216 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 15217 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 15218 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 15219 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 15220 // Please see the License for the specific language governing rights and 15221 // limitations under the License. 15222 // 15223 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 15224 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 15225 // 15226 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 15227 // 15228 // This file contains Original Code and/or Modifications of Original Code 15229 // as defined in and that are subject to the Apple Public Source License 15230 // Version 2.0 (the 'License'). You may not use this file except in 15231 // compliance with the License. The rights granted to you under the License 15232 // may not be used to create, or enable the creation or redistribution of, 15233 // unlawful or unlicensed copies of an Apple operating system, or to 15234 // circumvent, violate, or enable the circumvention or violation of, any 15235 // terms of an Apple operating system software license agreement. 15236 // 15237 // Please obtain a copy of the License at 15238 // http://www.opensource.apple.com/apsl/ and read it before using this file. 15239 // 15240 // The Original Code and all software distributed under the License are 15241 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 15242 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 15243 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 15244 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 15245 // Please see the License for the specific language governing rights and 15246 // limitations under the License. 15247 // 15248 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 15249 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 15250 // 15251 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 15252 // 15253 // This file contains Original Code and/or Modifications of Original Code 15254 // as defined in and that are subject to the Apple Public Source License 15255 // Version 2.0 (the 'License'). You may not use this file except in 15256 // compliance with the License. The rights granted to you under the License 15257 // may not be used to create, or enable the creation or redistribution of, 15258 // unlawful or unlicensed copies of an Apple operating system, or to 15259 // circumvent, violate, or enable the circumvention or violation of, any 15260 // terms of an Apple operating system software license agreement. 15261 // 15262 // Please obtain a copy of the License at 15263 // http://www.opensource.apple.com/apsl/ and read it before using this file. 15264 // 15265 // The Original Code and all software distributed under the License are 15266 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 15267 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 15268 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 15269 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 15270 // Please see the License for the specific language governing rights and 15271 // limitations under the License. 15272 // 15273 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 15274 15275 // File status flags: these are used by open(2), fcntl(2). 15276 // They are also used (indirectly) in the kernel file structure f_flags, 15277 // which is a superset of the open/fcntl flags. Open flags and f_flags 15278 // are inter-convertible using OFLAGS(fflags) and FFLAGS(oflags). 15279 // Open/fcntl flags begin with O_; kernel-internal flags begin with F. 15280 // open-only flags 15281 15282 // Kernel encoding of open mode; separate read and write bits that are 15283 // independently testable: 1 greater than the above. 15284 // 15285 // XXX 15286 // FREAD and FWRITE are excluded from the #ifdef KERNEL so that TIOCFLUSH, 15287 // which was documented to use FREAD/FWRITE, continues to work. 15288 15289 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 15290 // 15291 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 15292 // 15293 // This file contains Original Code and/or Modifications of Original Code 15294 // as defined in and that are subject to the Apple Public Source License 15295 // Version 2.0 (the 'License'). You may not use this file except in 15296 // compliance with the License. The rights granted to you under the License 15297 // may not be used to create, or enable the creation or redistribution of, 15298 // unlawful or unlicensed copies of an Apple operating system, or to 15299 // circumvent, violate, or enable the circumvention or violation of, any 15300 // terms of an Apple operating system software license agreement. 15301 // 15302 // Please obtain a copy of the License at 15303 // http://www.opensource.apple.com/apsl/ and read it before using this file. 15304 // 15305 // The Original Code and all software distributed under the License are 15306 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 15307 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 15308 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 15309 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 15310 // Please see the License for the specific language governing rights and 15311 // limitations under the License. 15312 // 15313 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 15314 15315 // O_DSYNC 0x00400000 /* synch I/O data integrity */ 15316 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 15317 // 15318 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 15319 // 15320 // This file contains Original Code and/or Modifications of Original Code 15321 // as defined in and that are subject to the Apple Public Source License 15322 // Version 2.0 (the 'License'). You may not use this file except in 15323 // compliance with the License. The rights granted to you under the License 15324 // may not be used to create, or enable the creation or redistribution of, 15325 // unlawful or unlicensed copies of an Apple operating system, or to 15326 // circumvent, violate, or enable the circumvention or violation of, any 15327 // terms of an Apple operating system software license agreement. 15328 // 15329 // Please obtain a copy of the License at 15330 // http://www.opensource.apple.com/apsl/ and read it before using this file. 15331 // 15332 // The Original Code and all software distributed under the License are 15333 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 15334 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 15335 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 15336 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 15337 // Please see the License for the specific language governing rights and 15338 // limitations under the License. 15339 // 15340 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 15341 15342 // Descriptor value for the current working directory 15343 15344 // Flags for the at functions 15345 15346 // Data Protection Flags 15347 15348 // The O_* flags used to have only F* names, which were used in the kernel 15349 // and by fcntl. We retain the F* names for the kernel f_flags field 15350 // and for backward compatibility for fcntl. 15351 15352 // Flags used for copyfile(2) 15353 15354 // Constants used for fcntl(2) 15355 15356 // command values 15357 // 46,47 used to be F_READBOOTSTRAP and F_WRITEBOOTSTRAP 15358 15359 // should not be used (i.e. its ok to temporaily create cached pages) 15360 15361 // See F_DUPFD_CLOEXEC below for 67 15362 15363 // may be broken into smaller chunks with throttling in between 15364 15365 // FS-specific fcntl()'s numbers begin at 0x00010000 and go up 15366 15367 // file descriptor flags (F_GETFD, F_SETFD) 15368 15369 // record locking flags (F_GETLK, F_SETLK, F_SETLKW) 15370 15371 // [XSI] The values used for l_whence shall be defined as described 15372 // in <unistd.h> 15373 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 15374 // 15375 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 15376 // 15377 // This file contains Original Code and/or Modifications of Original Code 15378 // as defined in and that are subject to the Apple Public Source License 15379 // Version 2.0 (the 'License'). You may not use this file except in 15380 // compliance with the License. The rights granted to you under the License 15381 // may not be used to create, or enable the creation or redistribution of, 15382 // unlawful or unlicensed copies of an Apple operating system, or to 15383 // circumvent, violate, or enable the circumvention or violation of, any 15384 // terms of an Apple operating system software license agreement. 15385 // 15386 // Please obtain a copy of the License at 15387 // http://www.opensource.apple.com/apsl/ and read it before using this file. 15388 // 15389 // The Original Code and all software distributed under the License are 15390 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 15391 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 15392 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 15393 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 15394 // Please see the License for the specific language governing rights and 15395 // limitations under the License. 15396 // 15397 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 15398 15399 // Copyright (c) 2000-2018 Apple Inc. All rights reserved. 15400 // 15401 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 15402 // 15403 // This file contains Original Code and/or Modifications of Original Code 15404 // as defined in and that are subject to the Apple Public Source License 15405 // Version 2.0 (the 'License'). You may not use this file except in 15406 // compliance with the License. The rights granted to you under the License 15407 // may not be used to create, or enable the creation or redistribution of, 15408 // unlawful or unlicensed copies of an Apple operating system, or to 15409 // circumvent, violate, or enable the circumvention or violation of, any 15410 // terms of an Apple operating system software license agreement. 15411 // 15412 // Please obtain a copy of the License at 15413 // http://www.opensource.apple.com/apsl/ and read it before using this file. 15414 // 15415 // The Original Code and all software distributed under the License are 15416 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 15417 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 15418 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 15419 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 15420 // Please see the License for the specific language governing rights and 15421 // limitations under the License. 15422 // 15423 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 15424 // Copyright 1995 NeXT Computer, Inc. All rights reserved. 15425 // Copyright (c) 1991, 1993 15426 // The Regents of the University of California. All rights reserved. 15427 // 15428 // This code is derived from software contributed to Berkeley by 15429 // Berkeley Software Design, Inc. 15430 // 15431 // Redistribution and use in source and binary forms, with or without 15432 // modification, are permitted provided that the following conditions 15433 // are met: 15434 // 1. Redistributions of source code must retain the above copyright 15435 // notice, this list of conditions and the following disclaimer. 15436 // 2. Redistributions in binary form must reproduce the above copyright 15437 // notice, this list of conditions and the following disclaimer in the 15438 // documentation and/or other materials provided with the distribution. 15439 // 3. All advertising materials mentioning features or use of this software 15440 // must display the following acknowledgement: 15441 // This product includes software developed by the University of 15442 // California, Berkeley and its contributors. 15443 // 4. Neither the name of the University nor the names of its contributors 15444 // may be used to endorse or promote products derived from this software 15445 // without specific prior written permission. 15446 // 15447 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 15448 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 15449 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 15450 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 15451 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 15452 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 15453 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 15454 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 15455 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 15456 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 15457 // SUCH DAMAGE. 15458 // 15459 // @(#)cdefs.h 8.8 (Berkeley) 1/9/95 15460 15461 // whence values for lseek(2) 15462 15463 // [XSI] The symbolic names for file modes for use as values of mode_t 15464 // shall be defined as described in <sys/stat.h> 15465 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 15466 // 15467 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 15468 // 15469 // This file contains Original Code and/or Modifications of Original Code 15470 // as defined in and that are subject to the Apple Public Source License 15471 // Version 2.0 (the 'License'). You may not use this file except in 15472 // compliance with the License. The rights granted to you under the License 15473 // may not be used to create, or enable the creation or redistribution of, 15474 // unlawful or unlicensed copies of an Apple operating system, or to 15475 // circumvent, violate, or enable the circumvention or violation of, any 15476 // terms of an Apple operating system software license agreement. 15477 // 15478 // Please obtain a copy of the License at 15479 // http://www.opensource.apple.com/apsl/ and read it before using this file. 15480 // 15481 // The Original Code and all software distributed under the License are 15482 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 15483 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 15484 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 15485 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 15486 // Please see the License for the specific language governing rights and 15487 // limitations under the License. 15488 // 15489 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 15490 15491 // [XSI] The symbolic names for file modes for use as values of mode_t 15492 // shall be defined as described in <sys/stat.h> 15493 // File type 15494 15495 // File mode 15496 // Read, write, execute/search by owner 15497 // Read, write, execute/search by group 15498 // Read, write, execute/search by others 15499 15500 // allocate flags (F_PREALLOCATE) 15501 15502 // Position Modes (fst_posmode) for F_PREALLOCATE 15503 15504 // we can keep them in sync should we desire 15505 15506 // Advisory file segment locking data type - 15507 // information passed to system by user 15508 type Flock = struct { 15509 Fl_start Off_t 15510 Fl_len Off_t 15511 Fl_pid Pid_t 15512 Fl_type int16 15513 Fl_whence int16 15514 } /* fcntl.h:359:1 */ 15515 15516 // Copyright (c) 2003-2012 Apple Inc. All rights reserved. 15517 // 15518 // @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 15519 // 15520 // This file contains Original Code and/or Modifications of Original Code 15521 // as defined in and that are subject to the Apple Public Source License 15522 // Version 2.0 (the 'License'). You may not use this file except in 15523 // compliance with the License. The rights granted to you under the License 15524 // may not be used to create, or enable the creation or redistribution of, 15525 // unlawful or unlicensed copies of an Apple operating system, or to 15526 // circumvent, violate, or enable the circumvention or violation of, any 15527 // terms of an Apple operating system software license agreement. 15528 // 15529 // Please obtain a copy of the License at 15530 // http://www.opensource.apple.com/apsl/ and read it before using this file. 15531 // 15532 // The Original Code and all software distributed under the License are 15533 // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 15534 // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 15535 // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 15536 // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 15537 // Please see the License for the specific language governing rights and 15538 // limitations under the License. 15539 // 15540 // @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 15541 15542 // Advisory file segment locking with time out - 15543 // Information passed to system by user for F_SETLKWTIMEOUT 15544 type Flocktimeout = struct { 15545 Ffl struct { 15546 Fl_start Off_t 15547 Fl_len Off_t 15548 Fl_pid Pid_t 15549 Fl_type int16 15550 Fl_whence int16 15551 } 15552 Ftimeout struct { 15553 Ftv_sec X__darwin_time_t 15554 Ftv_nsec int64 15555 } 15556 } /* fcntl.h:374:1 */ 15557 15558 // advisory file read data type - 15559 // information passed by user to system 15560 15561 type Radvisory = struct { 15562 Fra_offset Off_t 15563 Fra_count int32 15564 F__ccgo_pad1 [4]byte 15565 } /* fcntl.h:387:1 */ 15566 15567 // detached code signatures data type - 15568 // information passed by user to system used by F_ADDSIGS and F_ADDFILESIGS. 15569 // F_ADDFILESIGS is a shortcut for files that contain their own signature and 15570 // doesn't require mapping of the file in order to load the signature. 15571 type Fsignatures = struct { 15572 Ffs_file_start Off_t 15573 Ffs_blob_start uintptr 15574 Ffs_blob_size Size_t 15575 Ffs_fsignatures_size Size_t 15576 Ffs_cdhash [20]int8 15577 Ffs_hash_type int32 15578 } /* fcntl.h:400:9 */ 15579 15580 // detached code signatures data type - 15581 // information passed by user to system used by F_ADDSIGS and F_ADDFILESIGS. 15582 // F_ADDFILESIGS is a shortcut for files that contain their own signature and 15583 // doesn't require mapping of the file in order to load the signature. 15584 type Fsignatures_t = Fsignatures /* fcntl.h:410:3 */ 15585 15586 type Fsupplement = struct { 15587 Ffs_file_start Off_t 15588 Ffs_blob_start Off_t 15589 Ffs_blob_size Size_t 15590 Ffs_orig_fd int32 15591 F__ccgo_pad1 [4]byte 15592 } /* fcntl.h:412:9 */ 15593 15594 type Fsupplement_t = Fsupplement /* fcntl.h:417:3 */ 15595 15596 // DYLD needs to check if the object is allowed to be combined 15597 // into the main binary. This is done between the code signature 15598 // is loaded and dyld is doing all the work to process the LOAD commands. 15599 // 15600 // While this could be done in F_ADDFILESIGS.* family the hook into 15601 // the MAC module doesn't say no when LV isn't enabled and then that 15602 // is cached on the vnode, and the MAC module never gets change once 15603 // a process that library validation enabled. 15604 type Fchecklv = struct { 15605 Flv_file_start Off_t 15606 Flv_error_message_size Size_t 15607 Flv_error_message uintptr 15608 } /* fcntl.h:431:9 */ 15609 15610 // DYLD needs to check if the object is allowed to be combined 15611 // into the main binary. This is done between the code signature 15612 // is loaded and dyld is doing all the work to process the LOAD commands. 15613 // 15614 // While this could be done in F_ADDFILESIGS.* family the hook into 15615 // the MAC module doesn't say no when LV isn't enabled and then that 15616 // is cached on the vnode, and the MAC module never gets change once 15617 // a process that library validation enabled. 15618 type Fchecklv_t = Fchecklv /* fcntl.h:435:3 */ 15619 15620 // At this time F_GETSIGSINFO can only indicate platformness. 15621 // As additional requestable information is defined, new keys will be added and the 15622 // fgetsigsinfo_t structure will be lengthened to add space for the additional information 15623 15624 // fgetsigsinfo_t used by F_GETSIGSINFO command 15625 type Fgetsigsinfo = struct { 15626 Ffg_file_start Off_t 15627 Ffg_info_request int32 15628 Ffg_sig_is_platform int32 15629 } /* fcntl.h:445:9 */ 15630 15631 // At this time F_GETSIGSINFO can only indicate platformness. 15632 // As additional requestable information is defined, new keys will be added and the 15633 // fgetsigsinfo_t structure will be lengthened to add space for the additional information 15634 15635 // fgetsigsinfo_t used by F_GETSIGSINFO command 15636 type Fgetsigsinfo_t = Fgetsigsinfo /* fcntl.h:449:3 */ 15637 15638 // lock operations for flock(2) 15639 15640 // fstore_t type used by F_PREALLOCATE command 15641 15642 type Fstore = struct { 15643 Ffst_flags uint32 15644 Ffst_posmode int32 15645 Ffst_offset Off_t 15646 Ffst_length Off_t 15647 Ffst_bytesalloc Off_t 15648 } /* fcntl.h:460:9 */ 15649 15650 // lock operations for flock(2) 15651 15652 // fstore_t type used by F_PREALLOCATE command 15653 15654 type Fstore_t = Fstore /* fcntl.h:466:3 */ 15655 15656 // fpunchhole_t used by F_PUNCHHOLE 15657 type Fpunchhole = struct { 15658 Ffp_flags uint32 15659 Freserved uint32 15660 Ffp_offset Off_t 15661 Ffp_length Off_t 15662 } /* fcntl.h:469:9 */ 15663 15664 // fpunchhole_t used by F_PUNCHHOLE 15665 type Fpunchhole_t = Fpunchhole /* fcntl.h:474:3 */ 15666 15667 // factive_file_trim_t used by F_TRIM_ACTIVE_FILE 15668 type Ftrimactivefile = struct { 15669 Ffta_offset Off_t 15670 Ffta_length Off_t 15671 } /* fcntl.h:477:9 */ 15672 15673 // factive_file_trim_t used by F_TRIM_ACTIVE_FILE 15674 type Ftrimactivefile_t = Ftrimactivefile /* fcntl.h:480:3 */ 15675 15676 // fspecread_t used by F_SPECULATIVE_READ 15677 type Fspecread = struct { 15678 Ffsr_flags uint32 15679 Freserved uint32 15680 Ffsr_offset Off_t 15681 Ffsr_length Off_t 15682 } /* fcntl.h:483:9 */ 15683 15684 // fspecread_t used by F_SPECULATIVE_READ 15685 type Fspecread_t = Fspecread /* fcntl.h:488:3 */ 15686 15687 // fbootstraptransfer_t used by F_READBOOTSTRAP and F_WRITEBOOTSTRAP commands 15688 15689 type Fbootstraptransfer = struct { 15690 Ffbt_offset Off_t 15691 Ffbt_length Size_t 15692 Ffbt_buffer uintptr 15693 } /* fcntl.h:492:9 */ 15694 15695 // fbootstraptransfer_t used by F_READBOOTSTRAP and F_WRITEBOOTSTRAP commands 15696 15697 type Fbootstraptransfer_t = Fbootstraptransfer /* fcntl.h:496:3 */ 15698 15699 // For F_LOG2PHYS this information is passed back to user 15700 // Currently only devoffset is returned - that is the VOP_BMAP 15701 // result - the disk device address corresponding to the 15702 // current file offset (likely set with an lseek). 15703 // 15704 // The flags could hold an indication of whether the # of 15705 // contiguous bytes reflects the true extent length on disk, 15706 // or is an advisory value that indicates there is at least that 15707 // many bytes contiguous. For some filesystems it might be too 15708 // inefficient to provide anything beyond the advisory value. 15709 // Flags and contiguous bytes return values are not yet implemented. 15710 // For them the fcntl will nedd to switch from using BMAP to CMAP 15711 // and a per filesystem type flag will be needed to interpret the 15712 // contiguous bytes count result from CMAP. 15713 // 15714 // F_LOG2PHYS_EXT is a variant of F_LOG2PHYS that uses a passed in 15715 // file offset and length instead of the current file offset. 15716 // F_LOG2PHYS_EXT operates on the same structure as F_LOG2PHYS, but 15717 // treats it as an in/out. 15718 15719 type Log2phys = struct { 15720 Fl2p_flags uint32 15721 F__ccgo_pad1 [4]byte 15722 Fl2p_contigbytes Off_t 15723 Fl2p_devoffset Off_t 15724 } /* fcntl.h:522:1 */ 15725 15726 type Filesec_t = uintptr /* _filesec_t.h:31:25 */ 15727 15728 type Filesec_property_t = uint32 /* fcntl.h:556:3 */ 15729 15730 // default memLevel 15731 15732 // default i/o buffer size -- double this for output when reading (this and 15733 // twice this must be able to fit in an unsigned type) 15734 15735 // gzip modes, also provide a little integrity check on the passed structure 15736 15737 // values for gz_state how 15738 15739 // internal gzip file state data structure 15740 type Gz_state = struct { 15741 Fx GzFile_s 15742 Fmode int32 15743 Ffd int32 15744 Fpath uintptr 15745 Fsize uint32 15746 Fwant uint32 15747 Fin uintptr 15748 Fout uintptr 15749 Fdirect int32 15750 Fhow int32 15751 Fstart Off_t 15752 Feof int32 15753 Fpast int32 15754 Flevel int32 15755 Fstrategy int32 15756 Fskip Off_t 15757 Fseek int32 15758 Ferr int32 15759 Fmsg uintptr 15760 Fstrm Z_stream 15761 } /* gzguts.h:201:3 */ 15762 type Gz_statep = uintptr /* gzguts.h:202:22 */ 15763 15764 // GT_OFF(x), where x is an unsigned value, is true if x > maximum z_off64_t 15765 // value -- needed when comparing unsigned to z_off64_t, which is signed 15766 // (possible z_off64_t types off_t, off64_t, and long are all signed) 15767 15768 // gzclose() is in a separate file so that it is linked in only if it is used. 15769 // That way the other gzclose functions can be used instead to avoid linking in 15770 // unneeded compression or decompression routines. 15771 func Xgzclose(tls *libc.TLS, file GzFile) int32 { /* gzclose.c:11:13: */ 15772 var state Gz_statep 15773 15774 if file == uintptr(0) { 15775 return -2 15776 } 15777 state = file 15778 15779 if (*Gz_state)(unsafe.Pointer(state)).Fmode == GZ_READ { 15780 return Xgzclose_r(tls, file) 15781 } 15782 return Xgzclose_w(tls, file) 15783 } 15784 15785 // Reset gzip file state 15786 func gz_reset(tls *libc.TLS, state Gz_statep) { /* gzlib.c:75:12: */ 15787 (*Gz_state)(unsafe.Pointer(state)).Fx.Fhave = uint32(0) // no output data available 15788 if (*Gz_state)(unsafe.Pointer(state)).Fmode == GZ_READ { // for reading ... 15789 (*Gz_state)(unsafe.Pointer(state)).Feof = 0 // not at end of file 15790 (*Gz_state)(unsafe.Pointer(state)).Fpast = 0 // have not read past end yet 15791 (*Gz_state)(unsafe.Pointer(state)).Fhow = LOOK // look for gzip header 15792 } 15793 (*Gz_state)(unsafe.Pointer(state)).Fseek = 0 // no seek request pending 15794 Xgz_error(tls, state, Z_OK, uintptr(0)) // clear error 15795 (*Gz_state)(unsafe.Pointer(state)).Fx.Fpos = int64(0) // no uncompressed data yet 15796 (*Gz_state)(unsafe.Pointer(state)).Fstrm.Favail_in = UInt(0) // no input data yet 15797 } 15798 15799 // Open a gzip file either by name or file descriptor. 15800 func gz_open(tls *libc.TLS, path uintptr, fd int32, mode uintptr) GzFile { /* gzlib.c:91:14: */ 15801 bp := tls.Alloc(16) 15802 defer tls.Free(16) 15803 15804 var state Gz_statep 15805 var len Z_size_t 15806 var oflag int32 15807 var cloexec int32 = 0 15808 var exclusive int32 = 0 15809 15810 // check input 15811 if path == uintptr(0) { 15812 return uintptr(0) 15813 } 15814 15815 // allocate gzFile structure to return 15816 state = libc.Xmalloc(tls, uint64(unsafe.Sizeof(Gz_state{}))) 15817 if state == uintptr(0) { 15818 return uintptr(0) 15819 } 15820 (*Gz_state)(unsafe.Pointer(state)).Fsize = uint32(0) // no buffers allocated yet 15821 (*Gz_state)(unsafe.Pointer(state)).Fwant = uint32(GZBUFSIZE) // requested buffer size 15822 (*Gz_state)(unsafe.Pointer(state)).Fmsg = uintptr(0) // no error message yet 15823 15824 // interpret mode 15825 (*Gz_state)(unsafe.Pointer(state)).Fmode = GZ_NONE 15826 (*Gz_state)(unsafe.Pointer(state)).Flevel = -1 15827 (*Gz_state)(unsafe.Pointer(state)).Fstrategy = Z_DEFAULT_STRATEGY 15828 (*Gz_state)(unsafe.Pointer(state)).Fdirect = 0 15829 for *(*int8)(unsafe.Pointer(mode)) != 0 { 15830 if int32(*(*int8)(unsafe.Pointer(mode))) >= '0' && int32(*(*int8)(unsafe.Pointer(mode))) <= '9' { 15831 (*Gz_state)(unsafe.Pointer(state)).Flevel = int32(*(*int8)(unsafe.Pointer(mode))) - '0' 15832 } else { 15833 switch int32(*(*int8)(unsafe.Pointer(mode))) { 15834 case 'r': 15835 (*Gz_state)(unsafe.Pointer(state)).Fmode = GZ_READ 15836 break 15837 fallthrough 15838 case 'w': 15839 (*Gz_state)(unsafe.Pointer(state)).Fmode = GZ_WRITE 15840 break 15841 fallthrough 15842 case 'a': 15843 (*Gz_state)(unsafe.Pointer(state)).Fmode = GZ_APPEND 15844 break 15845 fallthrough 15846 case '+': // can't read and write at the same time 15847 libc.Xfree(tls, state) 15848 return uintptr(0) 15849 fallthrough 15850 case 'b': // ignore -- will request binary anyway 15851 break 15852 fallthrough 15853 case 'e': 15854 cloexec = 1 15855 break 15856 fallthrough 15857 case 'x': 15858 exclusive = 1 15859 break 15860 fallthrough 15861 case 'f': 15862 (*Gz_state)(unsafe.Pointer(state)).Fstrategy = Z_FILTERED 15863 break 15864 fallthrough 15865 case 'h': 15866 (*Gz_state)(unsafe.Pointer(state)).Fstrategy = Z_HUFFMAN_ONLY 15867 break 15868 fallthrough 15869 case 'R': 15870 (*Gz_state)(unsafe.Pointer(state)).Fstrategy = Z_RLE 15871 break 15872 fallthrough 15873 case 'F': 15874 (*Gz_state)(unsafe.Pointer(state)).Fstrategy = Z_FIXED 15875 break 15876 fallthrough 15877 case 'T': 15878 (*Gz_state)(unsafe.Pointer(state)).Fdirect = 1 15879 break 15880 fallthrough 15881 default: // could consider as an error, but just ignore 15882 15883 } 15884 } 15885 mode++ 15886 } 15887 15888 // must provide an "r", "w", or "a" 15889 if (*Gz_state)(unsafe.Pointer(state)).Fmode == GZ_NONE { 15890 libc.Xfree(tls, state) 15891 return uintptr(0) 15892 } 15893 15894 // can't force transparent read 15895 if (*Gz_state)(unsafe.Pointer(state)).Fmode == GZ_READ { 15896 if (*Gz_state)(unsafe.Pointer(state)).Fdirect != 0 { 15897 libc.Xfree(tls, state) 15898 return uintptr(0) 15899 } 15900 (*Gz_state)(unsafe.Pointer(state)).Fdirect = 1 // for empty file 15901 } 15902 15903 // save the path name for error messages 15904 len = libc.Xstrlen(tls, path) 15905 (*Gz_state)(unsafe.Pointer(state)).Fpath = libc.Xmalloc(tls, len+uint64(1)) 15906 if (*Gz_state)(unsafe.Pointer(state)).Fpath == uintptr(0) { 15907 libc.Xfree(tls, state) 15908 return uintptr(0) 15909 } 15910 libc.X__builtin___snprintf_chk(tls, (*Gz_state)(unsafe.Pointer(state)).Fpath, len+uint64(1), 0, libc.X__builtin_object_size(tls, (*Gz_state)(unsafe.Pointer(state)).Fpath, func() int32 { 15911 if X_USE_FORTIFY_LEVEL > 1 { 15912 return 1 15913 } 15914 return 0 15915 }()), ts+76 /* "%s" */, libc.VaList(bp, path)) 15916 15917 // compute the flags for open() 15918 oflag = func() int32 { 15919 if cloexec != 0 { 15920 return O_CLOEXEC 15921 } 15922 return 0 15923 }() | func() int32 { 15924 if (*Gz_state)(unsafe.Pointer(state)).Fmode == GZ_READ { 15925 return O_RDONLY 15926 } 15927 return O_WRONLY | O_CREAT | func() int32 { 15928 if exclusive != 0 { 15929 return O_EXCL 15930 } 15931 return 0 15932 }() | func() int32 { 15933 if (*Gz_state)(unsafe.Pointer(state)).Fmode == GZ_WRITE { 15934 return O_TRUNC 15935 } 15936 return O_APPEND 15937 }() 15938 }() 15939 15940 // open the file with the appropriate flags (or just use fd) 15941 (*Gz_state)(unsafe.Pointer(state)).Ffd = func() int32 { 15942 if fd > -1 { 15943 return fd 15944 } 15945 return libc.Xopen(tls, path, oflag, libc.VaList(bp+8, 0666)) 15946 }() 15947 if (*Gz_state)(unsafe.Pointer(state)).Ffd == -1 { 15948 libc.Xfree(tls, (*Gz_state)(unsafe.Pointer(state)).Fpath) 15949 libc.Xfree(tls, state) 15950 return uintptr(0) 15951 } 15952 if (*Gz_state)(unsafe.Pointer(state)).Fmode == GZ_APPEND { 15953 libc.Xlseek(tls, (*Gz_state)(unsafe.Pointer(state)).Ffd, int64(0), SEEK_END) // so gzoffset() is correct 15954 (*Gz_state)(unsafe.Pointer(state)).Fmode = GZ_WRITE // simplify later checks 15955 } 15956 15957 // save the current position for rewinding (only if reading) 15958 if (*Gz_state)(unsafe.Pointer(state)).Fmode == GZ_READ { 15959 (*Gz_state)(unsafe.Pointer(state)).Fstart = libc.Xlseek(tls, (*Gz_state)(unsafe.Pointer(state)).Ffd, int64(0), SEEK_CUR) 15960 if (*Gz_state)(unsafe.Pointer(state)).Fstart == int64(-1) { 15961 (*Gz_state)(unsafe.Pointer(state)).Fstart = int64(0) 15962 } 15963 } 15964 15965 // initialize stream 15966 gz_reset(tls, state) 15967 15968 // return stream 15969 return state 15970 } 15971 15972 // -- see zlib.h -- 15973 func Xgzopen(tls *libc.TLS, path uintptr, mode uintptr) GzFile { /* gzlib.c:270:16: */ 15974 return gz_open(tls, path, -1, mode) 15975 } 15976 15977 // -- see zlib.h -- 15978 func Xgzopen64(tls *libc.TLS, path uintptr, mode uintptr) GzFile { /* gzlib.c:278:16: */ 15979 return gz_open(tls, path, -1, mode) 15980 } 15981 15982 // -- see zlib.h -- 15983 func Xgzdopen(tls *libc.TLS, fd int32, mode uintptr) GzFile { /* gzlib.c:286:16: */ 15984 bp := tls.Alloc(8) 15985 defer tls.Free(8) 15986 15987 var path uintptr // identifier for error messages 15988 var gz GzFile 15989 15990 if fd == -1 || libc.AssignUintptr(&path, libc.Xmalloc(tls, uint64(7)+uint64(3)*uint64(unsafe.Sizeof(int32(0))))) == uintptr(0) { 15991 return uintptr(0) 15992 } 15993 libc.X__builtin___snprintf_chk(tls, path, uint64(7)+uint64(3)*uint64(unsafe.Sizeof(int32(0))), 0, libc.X__builtin_object_size(tls, path, func() int32 { 15994 if X_USE_FORTIFY_LEVEL > 1 { 15995 return 1 15996 } 15997 return 0 15998 }()), ts+79 /* "<fd:%d>" */, libc.VaList(bp, fd)) 15999 gz = gz_open(tls, path, fd, mode) 16000 libc.Xfree(tls, path) 16001 return gz 16002 } 16003 16004 // -- see zlib.h -- 16005 16006 // -- see zlib.h -- 16007 func Xgzbuffer(tls *libc.TLS, file GzFile, size uint32) int32 { /* gzlib.c:316:13: */ 16008 var state Gz_statep 16009 16010 // get internal structure and check integrity 16011 if file == uintptr(0) { 16012 return -1 16013 } 16014 state = file 16015 if (*Gz_state)(unsafe.Pointer(state)).Fmode != GZ_READ && (*Gz_state)(unsafe.Pointer(state)).Fmode != GZ_WRITE { 16016 return -1 16017 } 16018 16019 // make sure we haven't already allocated memory 16020 if (*Gz_state)(unsafe.Pointer(state)).Fsize != uint32(0) { 16021 return -1 16022 } 16023 16024 // check and set requested size 16025 if size<<1 < size { 16026 return -1 16027 } // need to be able to double it 16028 if size < uint32(2) { 16029 size = uint32(2) 16030 } // need two bytes to check magic header 16031 (*Gz_state)(unsafe.Pointer(state)).Fwant = size 16032 return 0 16033 } 16034 16035 // -- see zlib.h -- 16036 func Xgzrewind(tls *libc.TLS, file GzFile) int32 { /* gzlib.c:343:13: */ 16037 var state Gz_statep 16038 16039 // get internal structure 16040 if file == uintptr(0) { 16041 return -1 16042 } 16043 state = file 16044 16045 // check that we're reading and that there's no error 16046 if (*Gz_state)(unsafe.Pointer(state)).Fmode != GZ_READ || (*Gz_state)(unsafe.Pointer(state)).Ferr != Z_OK && (*Gz_state)(unsafe.Pointer(state)).Ferr != -5 { 16047 return -1 16048 } 16049 16050 // back up and start over 16051 if libc.Xlseek(tls, (*Gz_state)(unsafe.Pointer(state)).Ffd, (*Gz_state)(unsafe.Pointer(state)).Fstart, SEEK_SET) == int64(-1) { 16052 return -1 16053 } 16054 gz_reset(tls, state) 16055 return 0 16056 } 16057 16058 // -- see zlib.h -- 16059 func Xgzseek64(tls *libc.TLS, file GzFile, offset Off_t, whence int32) Off_t { /* gzlib.c:366:19: */ 16060 var n uint32 16061 var ret Off_t 16062 var state Gz_statep 16063 16064 // get internal structure and check integrity 16065 if file == uintptr(0) { 16066 return int64(-1) 16067 } 16068 state = file 16069 if (*Gz_state)(unsafe.Pointer(state)).Fmode != GZ_READ && (*Gz_state)(unsafe.Pointer(state)).Fmode != GZ_WRITE { 16070 return int64(-1) 16071 } 16072 16073 // check that there's no error 16074 if (*Gz_state)(unsafe.Pointer(state)).Ferr != Z_OK && (*Gz_state)(unsafe.Pointer(state)).Ferr != -5 { 16075 return int64(-1) 16076 } 16077 16078 // can only seek from start or relative to current position 16079 if whence != SEEK_SET && whence != SEEK_CUR { 16080 return int64(-1) 16081 } 16082 16083 // normalize offset to a SEEK_CUR specification 16084 if whence == SEEK_SET { 16085 offset = offset - (*Gz_state)(unsafe.Pointer(state)).Fx.Fpos 16086 } else if (*Gz_state)(unsafe.Pointer(state)).Fseek != 0 { 16087 offset = offset + (*Gz_state)(unsafe.Pointer(state)).Fskip 16088 } 16089 (*Gz_state)(unsafe.Pointer(state)).Fseek = 0 16090 16091 // if within raw area while reading, just go there 16092 if (*Gz_state)(unsafe.Pointer(state)).Fmode == GZ_READ && (*Gz_state)(unsafe.Pointer(state)).Fhow == COPY1 && (*Gz_state)(unsafe.Pointer(state)).Fx.Fpos+offset >= int64(0) { 16093 ret = libc.Xlseek(tls, (*Gz_state)(unsafe.Pointer(state)).Ffd, offset-Off_t((*Gz_state)(unsafe.Pointer(state)).Fx.Fhave), SEEK_CUR) 16094 if ret == int64(-1) { 16095 return int64(-1) 16096 } 16097 (*Gz_state)(unsafe.Pointer(state)).Fx.Fhave = uint32(0) 16098 (*Gz_state)(unsafe.Pointer(state)).Feof = 0 16099 (*Gz_state)(unsafe.Pointer(state)).Fpast = 0 16100 (*Gz_state)(unsafe.Pointer(state)).Fseek = 0 16101 Xgz_error(tls, state, Z_OK, uintptr(0)) 16102 (*Gz_state)(unsafe.Pointer(state)).Fstrm.Favail_in = UInt(0) 16103 *(*Off_t)(unsafe.Pointer(state + 16)) += offset 16104 return (*Gz_state)(unsafe.Pointer(state)).Fx.Fpos 16105 } 16106 16107 // calculate skip amount, rewinding if needed for back seek when reading 16108 if offset < int64(0) { 16109 if (*Gz_state)(unsafe.Pointer(state)).Fmode != GZ_READ { // writing -- can't go backwards 16110 return int64(-1) 16111 } 16112 offset = offset + (*Gz_state)(unsafe.Pointer(state)).Fx.Fpos 16113 if offset < int64(0) { // before start of file! 16114 return int64(-1) 16115 } 16116 if Xgzrewind(tls, file) == -1 { // rewind, then skip to offset 16117 return int64(-1) 16118 } 16119 } 16120 16121 // if reading, skip what's in output buffer (one less gzgetc() check) 16122 if (*Gz_state)(unsafe.Pointer(state)).Fmode == GZ_READ { 16123 if uint64(unsafe.Sizeof(int32(0))) == uint64(unsafe.Sizeof(Off_t(0))) && (*Gz_state)(unsafe.Pointer(state)).Fx.Fhave > uint32(0x7fffffff) || Off_t((*Gz_state)(unsafe.Pointer(state)).Fx.Fhave) > offset { 16124 n = uint32(offset) 16125 } else { 16126 n = (*Gz_state)(unsafe.Pointer(state)).Fx.Fhave 16127 } 16128 *(*uint32)(unsafe.Pointer(state)) -= n 16129 *(*uintptr)(unsafe.Pointer(state + 8)) += uintptr(n) 16130 *(*Off_t)(unsafe.Pointer(state + 16)) += Off_t(n) 16131 offset = offset - Off_t(n) 16132 } 16133 16134 // request skip (if not zero) 16135 if offset != 0 { 16136 (*Gz_state)(unsafe.Pointer(state)).Fseek = 1 16137 (*Gz_state)(unsafe.Pointer(state)).Fskip = offset 16138 } 16139 return (*Gz_state)(unsafe.Pointer(state)).Fx.Fpos + offset 16140 } 16141 16142 // -- see zlib.h -- 16143 func Xgzseek(tls *libc.TLS, file GzFile, offset Off_t, whence int32) Off_t { /* gzlib.c:443:17: */ 16144 var ret Off_t 16145 16146 ret = Xgzseek64(tls, file, offset, whence) 16147 if ret == ret { 16148 return ret 16149 } 16150 return int64(-1) 16151 } 16152 16153 // -- see zlib.h -- 16154 func Xgztell64(tls *libc.TLS, file GzFile) Off_t { /* gzlib.c:455:19: */ 16155 var state Gz_statep 16156 16157 // get internal structure and check integrity 16158 if file == uintptr(0) { 16159 return int64(-1) 16160 } 16161 state = file 16162 if (*Gz_state)(unsafe.Pointer(state)).Fmode != GZ_READ && (*Gz_state)(unsafe.Pointer(state)).Fmode != GZ_WRITE { 16163 return int64(-1) 16164 } 16165 16166 // return position 16167 return (*Gz_state)(unsafe.Pointer(state)).Fx.Fpos + func() int64 { 16168 if (*Gz_state)(unsafe.Pointer(state)).Fseek != 0 { 16169 return (*Gz_state)(unsafe.Pointer(state)).Fskip 16170 } 16171 return int64(0) 16172 }() 16173 } 16174 16175 // -- see zlib.h -- 16176 func Xgztell(tls *libc.TLS, file GzFile) Off_t { /* gzlib.c:472:17: */ 16177 var ret Off_t 16178 16179 ret = Xgztell64(tls, file) 16180 if ret == ret { 16181 return ret 16182 } 16183 return int64(-1) 16184 } 16185 16186 // -- see zlib.h -- 16187 func Xgzoffset64(tls *libc.TLS, file GzFile) Off_t { /* gzlib.c:482:19: */ 16188 var offset Off_t 16189 var state Gz_statep 16190 16191 // get internal structure and check integrity 16192 if file == uintptr(0) { 16193 return int64(-1) 16194 } 16195 state = file 16196 if (*Gz_state)(unsafe.Pointer(state)).Fmode != GZ_READ && (*Gz_state)(unsafe.Pointer(state)).Fmode != GZ_WRITE { 16197 return int64(-1) 16198 } 16199 16200 // compute and return effective offset in file 16201 offset = libc.Xlseek(tls, (*Gz_state)(unsafe.Pointer(state)).Ffd, int64(0), SEEK_CUR) 16202 if offset == int64(-1) { 16203 return int64(-1) 16204 } 16205 if (*Gz_state)(unsafe.Pointer(state)).Fmode == GZ_READ { // reading 16206 offset = offset - Off_t((*Gz_state)(unsafe.Pointer(state)).Fstrm.Favail_in) 16207 } // don't count buffered input 16208 return offset 16209 } 16210 16211 // -- see zlib.h -- 16212 func Xgzoffset(tls *libc.TLS, file GzFile) Off_t { /* gzlib.c:505:17: */ 16213 var ret Off_t 16214 16215 ret = Xgzoffset64(tls, file) 16216 if ret == ret { 16217 return ret 16218 } 16219 return int64(-1) 16220 } 16221 16222 // -- see zlib.h -- 16223 func Xgzeof(tls *libc.TLS, file GzFile) int32 { /* gzlib.c:515:13: */ 16224 var state Gz_statep 16225 16226 // get internal structure and check integrity 16227 if file == uintptr(0) { 16228 return 0 16229 } 16230 state = file 16231 if (*Gz_state)(unsafe.Pointer(state)).Fmode != GZ_READ && (*Gz_state)(unsafe.Pointer(state)).Fmode != GZ_WRITE { 16232 return 0 16233 } 16234 16235 // return end-of-file state 16236 if (*Gz_state)(unsafe.Pointer(state)).Fmode == GZ_READ { 16237 return (*Gz_state)(unsafe.Pointer(state)).Fpast 16238 } 16239 return 0 16240 } 16241 16242 // -- see zlib.h -- 16243 func Xgzerror(tls *libc.TLS, file GzFile, errnum uintptr) uintptr { /* gzlib.c:532:12: */ 16244 var state Gz_statep 16245 16246 // get internal structure and check integrity 16247 if file == uintptr(0) { 16248 return uintptr(0) 16249 } 16250 state = file 16251 if (*Gz_state)(unsafe.Pointer(state)).Fmode != GZ_READ && (*Gz_state)(unsafe.Pointer(state)).Fmode != GZ_WRITE { 16252 return uintptr(0) 16253 } 16254 16255 // return error information 16256 if errnum != uintptr(0) { 16257 *(*int32)(unsafe.Pointer(errnum)) = (*Gz_state)(unsafe.Pointer(state)).Ferr 16258 } 16259 if (*Gz_state)(unsafe.Pointer(state)).Ferr == -4 { 16260 return ts + 87 /* "out of memory" */ 16261 } 16262 return func() uintptr { 16263 if (*Gz_state)(unsafe.Pointer(state)).Fmsg == uintptr(0) { 16264 return ts + 101 16265 } 16266 return (*Gz_state)(unsafe.Pointer(state)).Fmsg 16267 }() 16268 } 16269 16270 // -- see zlib.h -- 16271 func Xgzclearerr(tls *libc.TLS, file GzFile) { /* gzlib.c:553:14: */ 16272 var state Gz_statep 16273 16274 // get internal structure and check integrity 16275 if file == uintptr(0) { 16276 return 16277 } 16278 state = file 16279 if (*Gz_state)(unsafe.Pointer(state)).Fmode != GZ_READ && (*Gz_state)(unsafe.Pointer(state)).Fmode != GZ_WRITE { 16280 return 16281 } 16282 16283 // clear error and end-of-file 16284 if (*Gz_state)(unsafe.Pointer(state)).Fmode == GZ_READ { 16285 (*Gz_state)(unsafe.Pointer(state)).Feof = 0 16286 (*Gz_state)(unsafe.Pointer(state)).Fpast = 0 16287 } 16288 Xgz_error(tls, state, Z_OK, uintptr(0)) 16289 } 16290 16291 // Create an error message in allocated memory and set state->err and 16292 // state->msg accordingly. Free any previous error message already there. Do 16293 // not try to free or allocate space if the error is Z_MEM_ERROR (out of 16294 // memory). Simply save the error message as a static string. If there is an 16295 // allocation failure constructing the error message, then convert the error to 16296 // out of memory. 16297 func Xgz_error(tls *libc.TLS, state Gz_statep, err int32, msg uintptr) { /* gzlib.c:579:20: */ 16298 bp := tls.Alloc(24) 16299 defer tls.Free(24) 16300 16301 // free previously allocated message and clear 16302 if (*Gz_state)(unsafe.Pointer(state)).Fmsg != uintptr(0) { 16303 if (*Gz_state)(unsafe.Pointer(state)).Ferr != -4 { 16304 libc.Xfree(tls, (*Gz_state)(unsafe.Pointer(state)).Fmsg) 16305 } 16306 (*Gz_state)(unsafe.Pointer(state)).Fmsg = uintptr(0) 16307 } 16308 16309 // if fatal, set state->x.have to 0 so that the gzgetc() macro fails 16310 if err != Z_OK && err != -5 { 16311 (*Gz_state)(unsafe.Pointer(state)).Fx.Fhave = uint32(0) 16312 } 16313 16314 // set error code, and if no message, then done 16315 (*Gz_state)(unsafe.Pointer(state)).Ferr = err 16316 if msg == uintptr(0) { 16317 return 16318 } 16319 16320 // for an out of memory error, return literal string when requested 16321 if err == -4 { 16322 return 16323 } 16324 16325 // construct error message with path 16326 if libc.AssignPtrUintptr(state+112, libc.Xmalloc(tls, libc.Xstrlen(tls, (*Gz_state)(unsafe.Pointer(state)).Fpath)+libc.Xstrlen(tls, msg)+uint64(3))) == uintptr(0) { 16327 (*Gz_state)(unsafe.Pointer(state)).Ferr = -4 16328 return 16329 } 16330 libc.X__builtin___snprintf_chk(tls, (*Gz_state)(unsafe.Pointer(state)).Fmsg, libc.Xstrlen(tls, (*Gz_state)(unsafe.Pointer(state)).Fpath)+libc.Xstrlen(tls, msg)+uint64(3), 0, libc.X__builtin_object_size(tls, (*Gz_state)(unsafe.Pointer(state)).Fmsg, func() int32 { 16331 if X_USE_FORTIFY_LEVEL > 1 { 16332 return 1 16333 } 16334 return 0 16335 }()), ts+102 /* "%s%s%s" */, libc.VaList(bp, (*Gz_state)(unsafe.Pointer(state)).Fpath, ts+109 /* ": " */, msg)) 16336 } 16337 16338 // Use read() to load a buffer -- return -1 on error, otherwise 0. Read from 16339 // state->fd, and update state->eof, state->err, and state->msg as appropriate. 16340 // This function needs to loop on read(), since read() is not guaranteed to 16341 // read the number of bytes requested, depending on the type of descriptor. 16342 func gz_load(tls *libc.TLS, state Gz_statep, buf uintptr, len uint32, have uintptr) int32 { /* gzread.c:21:11: */ 16343 var ret int32 16344 var get uint32 16345 var max uint32 = uint32(libc.Uint32(libc.Uint32FromInt32(-1)))>>2 + uint32(1) 16346 16347 *(*uint32)(unsafe.Pointer(have)) = uint32(0) 16348 for ok := true; ok; ok = *(*uint32)(unsafe.Pointer(have)) < len { 16349 get = len - *(*uint32)(unsafe.Pointer(have)) 16350 if get > max { 16351 get = max 16352 } 16353 ret = int32(libc.Xread(tls, (*Gz_state)(unsafe.Pointer(state)).Ffd, buf+uintptr(*(*uint32)(unsafe.Pointer(have))), uint64(get))) 16354 if ret <= 0 { 16355 break 16356 } 16357 *(*uint32)(unsafe.Pointer(have)) += uint32(ret) 16358 } 16359 if ret < 0 { 16360 Xgz_error(tls, state, -1, libc.Xstrerror(tls, *(*int32)(unsafe.Pointer(libc.X__error(tls))))) 16361 return -1 16362 } 16363 if ret == 0 { 16364 (*Gz_state)(unsafe.Pointer(state)).Feof = 1 16365 } 16366 return 0 16367 } 16368 16369 // Load up input buffer and set eof flag if last data loaded -- return -1 on 16370 // error, 0 otherwise. Note that the eof flag is set when the end of the input 16371 // file is reached, even though there may be unused data in the buffer. Once 16372 // that data has been used, no more attempts will be made to read the file. 16373 // If strm->avail_in != 0, then the current data is moved to the beginning of 16374 // the input buffer, and then the remainder of the buffer is loaded with the 16375 // available data from the input file. 16376 func gz_avail(tls *libc.TLS, state Gz_statep) int32 { /* gzread.c:56:11: */ 16377 bp := tls.Alloc(4) 16378 defer tls.Free(4) 16379 16380 // var got uint32 at bp, 4 16381 16382 var strm Z_streamp = state + 120 16383 16384 if (*Gz_state)(unsafe.Pointer(state)).Ferr != Z_OK && (*Gz_state)(unsafe.Pointer(state)).Ferr != -5 { 16385 return -1 16386 } 16387 if (*Gz_state)(unsafe.Pointer(state)).Feof == 0 { 16388 if (*Z_stream)(unsafe.Pointer(strm)).Favail_in != 0 { // copy what's there to the start 16389 var p uintptr = (*Gz_state)(unsafe.Pointer(state)).Fin 16390 var q uintptr = (*Z_stream)(unsafe.Pointer(strm)).Fnext_in 16391 var n uint32 = (*Z_stream)(unsafe.Pointer(strm)).Favail_in 16392 for ok := true; ok; ok = libc.PreDecUint32(&n, 1) != 0 { 16393 *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))) = *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&q, 1))) 16394 } 16395 } 16396 if gz_load(tls, state, (*Gz_state)(unsafe.Pointer(state)).Fin+uintptr((*Z_stream)(unsafe.Pointer(strm)).Favail_in), 16397 (*Gz_state)(unsafe.Pointer(state)).Fsize-(*Z_stream)(unsafe.Pointer(strm)).Favail_in, bp) == -1 { 16398 return -1 16399 } 16400 *(*UInt)(unsafe.Pointer(strm + 8)) += *(*uint32)(unsafe.Pointer(bp)) 16401 (*Z_stream)(unsafe.Pointer(strm)).Fnext_in = (*Gz_state)(unsafe.Pointer(state)).Fin 16402 } 16403 return 0 16404 } 16405 16406 // Look for gzip header, set up for inflate or copy. state->x.have must be 0. 16407 // If this is the first time in, allocate required memory. state->how will be 16408 // left unchanged if there is no more input data available, will be set to COPY 16409 // if there is no gzip header and direct copying will be performed, or it will 16410 // be set to GZIP for decompression. If direct copying, then leftover input 16411 // data from the input buffer will be copied to the output buffer. In that 16412 // case, all further file reads will be directly to either the output buffer or 16413 // a user buffer. If decompressing, the inflate state will be initialized. 16414 // gz_look() will return 0 on success or -1 on failure. 16415 func gz_look(tls *libc.TLS, state Gz_statep) int32 { /* gzread.c:91:11: */ 16416 var strm Z_streamp = state + 120 16417 16418 // allocate read buffers and inflate memory 16419 if (*Gz_state)(unsafe.Pointer(state)).Fsize == uint32(0) { 16420 // allocate buffers 16421 (*Gz_state)(unsafe.Pointer(state)).Fin = libc.Xmalloc(tls, uint64((*Gz_state)(unsafe.Pointer(state)).Fwant)) 16422 (*Gz_state)(unsafe.Pointer(state)).Fout = libc.Xmalloc(tls, uint64((*Gz_state)(unsafe.Pointer(state)).Fwant<<1)) 16423 if (*Gz_state)(unsafe.Pointer(state)).Fin == uintptr(0) || (*Gz_state)(unsafe.Pointer(state)).Fout == uintptr(0) { 16424 libc.Xfree(tls, (*Gz_state)(unsafe.Pointer(state)).Fout) 16425 libc.Xfree(tls, (*Gz_state)(unsafe.Pointer(state)).Fin) 16426 Xgz_error(tls, state, -4, ts+87) 16427 return -1 16428 } 16429 (*Gz_state)(unsafe.Pointer(state)).Fsize = (*Gz_state)(unsafe.Pointer(state)).Fwant 16430 16431 // allocate inflate memory 16432 (*Gz_state)(unsafe.Pointer(state)).Fstrm.Fzalloc = Alloc_func(Z_NULL) 16433 (*Gz_state)(unsafe.Pointer(state)).Fstrm.Fzfree = Free_func(Z_NULL) 16434 (*Gz_state)(unsafe.Pointer(state)).Fstrm.Fopaque = Voidpf(Z_NULL) 16435 (*Gz_state)(unsafe.Pointer(state)).Fstrm.Favail_in = UInt(0) 16436 (*Gz_state)(unsafe.Pointer(state)).Fstrm.Fnext_in = uintptr(Z_NULL) 16437 if XinflateInit2_(tls, state+120, 15+16, ts, int32(unsafe.Sizeof(Z_stream{}))) != Z_OK { // gunzip 16438 libc.Xfree(tls, (*Gz_state)(unsafe.Pointer(state)).Fout) 16439 libc.Xfree(tls, (*Gz_state)(unsafe.Pointer(state)).Fin) 16440 (*Gz_state)(unsafe.Pointer(state)).Fsize = uint32(0) 16441 Xgz_error(tls, state, -4, ts+87) 16442 return -1 16443 } 16444 } 16445 16446 // get at least the magic bytes in the input buffer 16447 if (*Z_stream)(unsafe.Pointer(strm)).Favail_in < UInt(2) { 16448 if gz_avail(tls, state) == -1 { 16449 return -1 16450 } 16451 if (*Z_stream)(unsafe.Pointer(strm)).Favail_in == UInt(0) { 16452 return 0 16453 } 16454 } 16455 16456 // look for gzip magic bytes -- if there, do gzip decoding (note: there is 16457 // a logical dilemma here when considering the case of a partially written 16458 // gzip file, to wit, if a single 31 byte is written, then we cannot tell 16459 // whether this is a single-byte file, or just a partially written gzip 16460 // file -- for here we assume that if a gzip file is being written, then 16461 // the header will be written in a single operation, so that reading a 16462 // single byte is sufficient indication that it is not a gzip file) 16463 if (*Z_stream)(unsafe.Pointer(strm)).Favail_in > UInt(1) && int32(*(*Bytef)(unsafe.Pointer((*Z_stream)(unsafe.Pointer(strm)).Fnext_in))) == 31 && int32(*(*Bytef)(unsafe.Pointer((*Z_stream)(unsafe.Pointer(strm)).Fnext_in + 1))) == 139 { 16464 XinflateReset(tls, strm) 16465 (*Gz_state)(unsafe.Pointer(state)).Fhow = /* GZIP */ 2 16466 (*Gz_state)(unsafe.Pointer(state)).Fdirect = 0 16467 return 0 16468 } 16469 16470 // no gzip header -- if we were decoding gzip before, then this is trailing 16471 // garbage. Ignore the trailing garbage and finish. 16472 if (*Gz_state)(unsafe.Pointer(state)).Fdirect == 0 { 16473 (*Z_stream)(unsafe.Pointer(strm)).Favail_in = UInt(0) 16474 (*Gz_state)(unsafe.Pointer(state)).Feof = 1 16475 (*Gz_state)(unsafe.Pointer(state)).Fx.Fhave = uint32(0) 16476 return 0 16477 } 16478 16479 // doing raw i/o, copy any leftover input to output -- this assumes that 16480 // the output buffer is larger than the input buffer, which also assures 16481 // space for gzungetc() 16482 (*Gz_state)(unsafe.Pointer(state)).Fx.Fnext = (*Gz_state)(unsafe.Pointer(state)).Fout 16483 if (*Z_stream)(unsafe.Pointer(strm)).Favail_in != 0 { 16484 libc.X__builtin___memcpy_chk(tls, (*Gz_state)(unsafe.Pointer(state)).Fx.Fnext, (*Z_stream)(unsafe.Pointer(strm)).Fnext_in, uint64((*Z_stream)(unsafe.Pointer(strm)).Favail_in), libc.X__builtin_object_size(tls, (*Gz_state)(unsafe.Pointer(state)).Fx.Fnext, 0)) 16485 (*Gz_state)(unsafe.Pointer(state)).Fx.Fhave = (*Z_stream)(unsafe.Pointer(strm)).Favail_in 16486 (*Z_stream)(unsafe.Pointer(strm)).Favail_in = UInt(0) 16487 } 16488 (*Gz_state)(unsafe.Pointer(state)).Fhow = COPY1 16489 (*Gz_state)(unsafe.Pointer(state)).Fdirect = 1 16490 return 0 16491 } 16492 16493 // Decompress from input to the provided next_out and avail_out in the state. 16494 // On return, state->x.have and state->x.next point to the just decompressed 16495 // data. If the gzip stream completes, state->how is reset to LOOK to look for 16496 // the next gzip stream or raw data, once state->x.have is depleted. Returns 0 16497 // on success, -1 on failure. 16498 func gz_decomp(tls *libc.TLS, state Gz_statep) int32 { /* gzread.c:175:11: */ 16499 var ret int32 = Z_OK 16500 var had uint32 16501 var strm Z_streamp = state + 120 16502 16503 // fill output buffer up to end of deflate stream 16504 had = (*Z_stream)(unsafe.Pointer(strm)).Favail_out 16505 for ok := true; ok; ok = (*Z_stream)(unsafe.Pointer(strm)).Favail_out != 0 && ret != Z_STREAM_END { 16506 // get more input for inflate() 16507 if (*Z_stream)(unsafe.Pointer(strm)).Favail_in == UInt(0) && gz_avail(tls, state) == -1 { 16508 return -1 16509 } 16510 if (*Z_stream)(unsafe.Pointer(strm)).Favail_in == UInt(0) { 16511 Xgz_error(tls, state, -5, ts+112) 16512 break 16513 } 16514 16515 // decompress and handle errors 16516 ret = Xinflate(tls, strm, Z_NO_FLUSH) 16517 if ret == -2 || ret == Z_NEED_DICT { 16518 Xgz_error(tls, state, -2, 16519 ts+135) 16520 return -1 16521 } 16522 if ret == -4 { 16523 Xgz_error(tls, state, -4, ts+87) 16524 return -1 16525 } 16526 if ret == -3 { // deflate stream invalid 16527 Xgz_error(tls, state, -3, 16528 func() uintptr { 16529 if (*Z_stream)(unsafe.Pointer(strm)).Fmsg == uintptr(0) { 16530 return ts + 174 /* "compressed data ..." */ 16531 } 16532 return (*Z_stream)(unsafe.Pointer(strm)).Fmsg 16533 }()) 16534 return -1 16535 } 16536 } 16537 16538 // update available output 16539 (*Gz_state)(unsafe.Pointer(state)).Fx.Fhave = had - (*Z_stream)(unsafe.Pointer(strm)).Favail_out 16540 (*Gz_state)(unsafe.Pointer(state)).Fx.Fnext = (*Z_stream)(unsafe.Pointer(strm)).Fnext_out - uintptr((*Gz_state)(unsafe.Pointer(state)).Fx.Fhave) 16541 16542 // if the gzip stream completed successfully, look for another 16543 if ret == Z_STREAM_END { 16544 (*Gz_state)(unsafe.Pointer(state)).Fhow = LOOK 16545 } 16546 16547 // good decompression 16548 return 0 16549 } 16550 16551 // Fetch data and put it in the output buffer. Assumes state->x.have is 0. 16552 // Data is either copied from the input file or decompressed from the input 16553 // file depending on state->how. If state->how is LOOK, then a gzip header is 16554 // looked for to determine whether to copy or decompress. Returns -1 on error, 16555 // otherwise 0. gz_fetch() will leave state->how as COPY or GZIP unless the 16556 // end of the input file has been reached and all data has been processed. 16557 func gz_fetch(tls *libc.TLS, state Gz_statep) int32 { /* gzread.c:229:11: */ 16558 var strm Z_streamp = state + 120 16559 16560 for ok := true; ok; ok = (*Gz_state)(unsafe.Pointer(state)).Fx.Fhave == uint32(0) && (!((*Gz_state)(unsafe.Pointer(state)).Feof != 0) || (*Z_stream)(unsafe.Pointer(strm)).Favail_in != 0) { 16561 switch (*Gz_state)(unsafe.Pointer(state)).Fhow { 16562 case LOOK: // -> LOOK, COPY (only if never GZIP), or GZIP 16563 if gz_look(tls, state) == -1 { 16564 return -1 16565 } 16566 if (*Gz_state)(unsafe.Pointer(state)).Fhow == LOOK { 16567 return 0 16568 } 16569 break 16570 case COPY1: // -> COPY 16571 if gz_load(tls, state, (*Gz_state)(unsafe.Pointer(state)).Fout, (*Gz_state)(unsafe.Pointer(state)).Fsize<<1, state) == 16572 -1 { 16573 return -1 16574 } 16575 (*Gz_state)(unsafe.Pointer(state)).Fx.Fnext = (*Gz_state)(unsafe.Pointer(state)).Fout 16576 return 0 16577 case /* GZIP */ 2: // -> GZIP or LOOK (if end of gzip stream) 16578 (*Z_stream)(unsafe.Pointer(strm)).Favail_out = (*Gz_state)(unsafe.Pointer(state)).Fsize << 1 16579 (*Z_stream)(unsafe.Pointer(strm)).Fnext_out = (*Gz_state)(unsafe.Pointer(state)).Fout 16580 if gz_decomp(tls, state) == -1 { 16581 return -1 16582 } 16583 } 16584 } 16585 return 0 16586 } 16587 16588 // Skip len uncompressed bytes of output. Return -1 on error, 0 on success. 16589 func gz_skip(tls *libc.TLS, state Gz_statep, len Off_t) int32 { /* gzread.c:259:11: */ 16590 var n uint32 16591 16592 // skip over len bytes or reach end-of-file, whichever comes first 16593 for len != 0 { 16594 // skip over whatever is in output buffer 16595 if (*Gz_state)(unsafe.Pointer(state)).Fx.Fhave != 0 { 16596 if uint64(unsafe.Sizeof(int32(0))) == uint64(unsafe.Sizeof(Off_t(0))) && (*Gz_state)(unsafe.Pointer(state)).Fx.Fhave > uint32(0x7fffffff) || Off_t((*Gz_state)(unsafe.Pointer(state)).Fx.Fhave) > len { 16597 n = uint32(len) 16598 } else { 16599 n = (*Gz_state)(unsafe.Pointer(state)).Fx.Fhave 16600 } 16601 *(*uint32)(unsafe.Pointer(state)) -= n 16602 *(*uintptr)(unsafe.Pointer(state + 8)) += uintptr(n) 16603 *(*Off_t)(unsafe.Pointer(state + 16)) += Off_t(n) 16604 len = len - Off_t(n) 16605 } else if (*Gz_state)(unsafe.Pointer(state)).Feof != 0 && (*Gz_state)(unsafe.Pointer(state)).Fstrm.Favail_in == UInt(0) { 16606 break 16607 } else { 16608 // get more output, looking for header if required 16609 if gz_fetch(tls, state) == -1 { 16610 return -1 16611 } 16612 } 16613 } 16614 return 0 16615 } 16616 16617 // Read len bytes into buf from file, or less than len up to the end of the 16618 // input. Return the number of bytes read. If zero is returned, either the 16619 // end of file was reached, or there was an error. state->err must be 16620 // consulted in that case to determine which. 16621 func gz_read(tls *libc.TLS, state Gz_statep, buf Voidp, len Z_size_t) Z_size_t { /* gzread.c:294:16: */ 16622 bp := tls.Alloc(4) 16623 defer tls.Free(4) 16624 16625 var got Z_size_t 16626 // var n uint32 at bp, 4 16627 16628 // if len is zero, avoid unnecessary operations 16629 if len == uint64(0) { 16630 return uint64(0) 16631 } 16632 16633 // process a skip request 16634 if (*Gz_state)(unsafe.Pointer(state)).Fseek != 0 { 16635 (*Gz_state)(unsafe.Pointer(state)).Fseek = 0 16636 if gz_skip(tls, state, (*Gz_state)(unsafe.Pointer(state)).Fskip) == -1 { 16637 return uint64(0) 16638 } 16639 } 16640 16641 // get len bytes to buf, or less than len if at the end 16642 got = uint64(0) 16643 for ok := true; ok; ok = len != 0 { 16644 // set n to the maximum amount of len that fits in an unsigned int 16645 *(*uint32)(unsafe.Pointer(bp /* n */)) = libc.Uint32FromInt32(-1) 16646 if Z_size_t(*(*uint32)(unsafe.Pointer(bp))) > len { 16647 *(*uint32)(unsafe.Pointer(bp /* n */)) = uint32(len) 16648 } 16649 16650 // first just try copying data from the output buffer 16651 if (*Gz_state)(unsafe.Pointer(state)).Fx.Fhave != 0 { 16652 if (*Gz_state)(unsafe.Pointer(state)).Fx.Fhave < *(*uint32)(unsafe.Pointer(bp)) { 16653 *(*uint32)(unsafe.Pointer(bp /* n */)) = (*Gz_state)(unsafe.Pointer(state)).Fx.Fhave 16654 } 16655 libc.X__builtin___memcpy_chk(tls, buf, (*Gz_state)(unsafe.Pointer(state)).Fx.Fnext, uint64(*(*uint32)(unsafe.Pointer(bp /* n */))), libc.X__builtin_object_size(tls, buf, 0)) 16656 *(*uintptr)(unsafe.Pointer(state + 8)) += uintptr(*(*uint32)(unsafe.Pointer(bp))) 16657 *(*uint32)(unsafe.Pointer(state)) -= *(*uint32)(unsafe.Pointer(bp)) 16658 } else if (*Gz_state)(unsafe.Pointer(state)).Feof != 0 && (*Gz_state)(unsafe.Pointer(state)).Fstrm.Favail_in == UInt(0) { 16659 (*Gz_state)(unsafe.Pointer(state)).Fpast = 1 // tried to read past end 16660 break 16661 } else if (*Gz_state)(unsafe.Pointer(state)).Fhow == LOOK || *(*uint32)(unsafe.Pointer(bp)) < (*Gz_state)(unsafe.Pointer(state)).Fsize<<1 { 16662 // get more output, looking for header if required 16663 if gz_fetch(tls, state) == -1 { 16664 return uint64(0) 16665 } 16666 continue // no progress yet -- go back to copy above 16667 // the copy above assures that we will leave with space in the 16668 // output buffer, allowing at least one gzungetc() to succeed 16669 } else if (*Gz_state)(unsafe.Pointer(state)).Fhow == COPY1 { // read directly 16670 if gz_load(tls, state, buf, *(*uint32)(unsafe.Pointer(bp)), bp) == -1 { 16671 return uint64(0) 16672 } 16673 } else { // state->how == GZIP 16674 (*Gz_state)(unsafe.Pointer(state)).Fstrm.Favail_out = *(*uint32)(unsafe.Pointer(bp /* n */)) 16675 (*Gz_state)(unsafe.Pointer(state)).Fstrm.Fnext_out = buf 16676 if gz_decomp(tls, state) == -1 { 16677 return uint64(0) 16678 } 16679 *(*uint32)(unsafe.Pointer(bp /* n */)) = (*Gz_state)(unsafe.Pointer(state)).Fx.Fhave 16680 (*Gz_state)(unsafe.Pointer(state)).Fx.Fhave = uint32(0) 16681 } 16682 16683 // update progress 16684 len = len - Z_size_t(*(*uint32)(unsafe.Pointer(bp))) 16685 buf = buf + uintptr(*(*uint32)(unsafe.Pointer(bp))) 16686 got = got + Z_size_t(*(*uint32)(unsafe.Pointer(bp))) 16687 *(*Off_t)(unsafe.Pointer(state + 16)) += Off_t(*(*uint32)(unsafe.Pointer(bp))) 16688 } 16689 16690 // return number of bytes read into user buffer 16691 return got 16692 } 16693 16694 // -- see zlib.h -- 16695 func Xgzread(tls *libc.TLS, file GzFile, buf Voidp, len uint32) int32 { /* gzread.c:375:13: */ 16696 var state Gz_statep 16697 16698 // get internal structure 16699 if file == uintptr(0) { 16700 return -1 16701 } 16702 state = file 16703 16704 // check that we're reading and that there's no (serious) error 16705 if (*Gz_state)(unsafe.Pointer(state)).Fmode != GZ_READ || (*Gz_state)(unsafe.Pointer(state)).Ferr != Z_OK && (*Gz_state)(unsafe.Pointer(state)).Ferr != -5 { 16706 return -1 16707 } 16708 16709 // since an int is returned, make sure len fits in one, otherwise return 16710 // with an error (this avoids a flaw in the interface) 16711 if int32(len) < 0 { 16712 Xgz_error(tls, state, -2, ts+196) 16713 return -1 16714 } 16715 16716 // read len or fewer bytes to buf 16717 len = uint32(gz_read(tls, state, buf, uint64(len))) 16718 16719 // check for an error 16720 if len == uint32(0) && (*Gz_state)(unsafe.Pointer(state)).Ferr != Z_OK && (*Gz_state)(unsafe.Pointer(state)).Ferr != -5 { 16721 return -1 16722 } 16723 16724 // return the number of bytes read (this is assured to fit in an int) 16725 return int32(len) 16726 } 16727 16728 // -- see zlib.h -- 16729 func Xgzfread(tls *libc.TLS, buf Voidp, size Z_size_t, nitems Z_size_t, file GzFile) Z_size_t { /* gzread.c:411:18: */ 16730 var len Z_size_t 16731 var state Gz_statep 16732 16733 // get internal structure 16734 if file == uintptr(0) { 16735 return uint64(0) 16736 } 16737 state = file 16738 16739 // check that we're reading and that there's no (serious) error 16740 if (*Gz_state)(unsafe.Pointer(state)).Fmode != GZ_READ || (*Gz_state)(unsafe.Pointer(state)).Ferr != Z_OK && (*Gz_state)(unsafe.Pointer(state)).Ferr != -5 { 16741 return uint64(0) 16742 } 16743 16744 // compute bytes to read -- error on overflow 16745 len = nitems * size 16746 if size != 0 && len/size != nitems { 16747 Xgz_error(tls, state, -2, ts+227) 16748 return uint64(0) 16749 } 16750 16751 // read len or fewer bytes to buf, return the number of full items read 16752 if len != 0 { 16753 return gz_read(tls, state, buf, len) / size 16754 } 16755 return uint64(0) 16756 } 16757 16758 // -- see zlib.h -- 16759 func Xgzgetc(tls *libc.TLS, file GzFile) int32 { /* gzread.c:447:13: */ 16760 bp := tls.Alloc(1) 16761 defer tls.Free(1) 16762 16763 var ret int32 16764 // var buf [1]uint8 at bp, 1 16765 16766 var state Gz_statep 16767 16768 // get internal structure 16769 if file == uintptr(0) { 16770 return -1 16771 } 16772 state = file 16773 16774 // check that we're reading and that there's no (serious) error 16775 if (*Gz_state)(unsafe.Pointer(state)).Fmode != GZ_READ || (*Gz_state)(unsafe.Pointer(state)).Ferr != Z_OK && (*Gz_state)(unsafe.Pointer(state)).Ferr != -5 { 16776 return -1 16777 } 16778 16779 // try output buffer (no need to check for skip request) 16780 if (*Gz_state)(unsafe.Pointer(state)).Fx.Fhave != 0 { 16781 (*Gz_state)(unsafe.Pointer(state)).Fx.Fhave-- 16782 (*Gz_state)(unsafe.Pointer(state)).Fx.Fpos++ 16783 return int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&(*Gz_state)(unsafe.Pointer(state)).Fx.Fnext, 1)))) 16784 } 16785 16786 // nothing there -- try gz_read() 16787 ret = int32(gz_read(tls, state, bp, uint64(1))) 16788 if ret < 1 { 16789 return -1 16790 } 16791 return int32(*(*uint8)(unsafe.Pointer(bp))) 16792 } 16793 16794 func Xgzgetc_(tls *libc.TLS, file GzFile) int32 { /* gzread.c:476:13: */ 16795 return Xgzgetc(tls, file) 16796 } 16797 16798 // -- see zlib.h -- 16799 func Xgzungetc(tls *libc.TLS, c int32, file GzFile) int32 { /* gzread.c:483:13: */ 16800 var state Gz_statep 16801 16802 // get internal structure 16803 if file == uintptr(0) { 16804 return -1 16805 } 16806 state = file 16807 16808 // check that we're reading and that there's no (serious) error 16809 if (*Gz_state)(unsafe.Pointer(state)).Fmode != GZ_READ || (*Gz_state)(unsafe.Pointer(state)).Ferr != Z_OK && (*Gz_state)(unsafe.Pointer(state)).Ferr != -5 { 16810 return -1 16811 } 16812 16813 // process a skip request 16814 if (*Gz_state)(unsafe.Pointer(state)).Fseek != 0 { 16815 (*Gz_state)(unsafe.Pointer(state)).Fseek = 0 16816 if gz_skip(tls, state, (*Gz_state)(unsafe.Pointer(state)).Fskip) == -1 { 16817 return -1 16818 } 16819 } 16820 16821 // can't push EOF 16822 if c < 0 { 16823 return -1 16824 } 16825 16826 // if output buffer empty, put byte at end (allows more pushing) 16827 if (*Gz_state)(unsafe.Pointer(state)).Fx.Fhave == uint32(0) { 16828 (*Gz_state)(unsafe.Pointer(state)).Fx.Fhave = uint32(1) 16829 (*Gz_state)(unsafe.Pointer(state)).Fx.Fnext = (*Gz_state)(unsafe.Pointer(state)).Fout + uintptr((*Gz_state)(unsafe.Pointer(state)).Fsize<<1) - uintptr(1) 16830 *(*uint8)(unsafe.Pointer((*Gz_state)(unsafe.Pointer(state)).Fx.Fnext)) = uint8(c) 16831 (*Gz_state)(unsafe.Pointer(state)).Fx.Fpos-- 16832 (*Gz_state)(unsafe.Pointer(state)).Fpast = 0 16833 return c 16834 } 16835 16836 // if no room, give up (must have already done a gzungetc()) 16837 if (*Gz_state)(unsafe.Pointer(state)).Fx.Fhave == (*Gz_state)(unsafe.Pointer(state)).Fsize<<1 { 16838 Xgz_error(tls, state, -3, ts+260) 16839 return -1 16840 } 16841 16842 // slide output data if needed and insert byte before existing data 16843 if (*Gz_state)(unsafe.Pointer(state)).Fx.Fnext == (*Gz_state)(unsafe.Pointer(state)).Fout { 16844 var src uintptr = (*Gz_state)(unsafe.Pointer(state)).Fout + uintptr((*Gz_state)(unsafe.Pointer(state)).Fx.Fhave) 16845 var dest uintptr = (*Gz_state)(unsafe.Pointer(state)).Fout + uintptr((*Gz_state)(unsafe.Pointer(state)).Fsize<<1) 16846 for src > (*Gz_state)(unsafe.Pointer(state)).Fout { 16847 *(*uint8)(unsafe.Pointer(libc.PreDecUintptr(&dest, 1))) = *(*uint8)(unsafe.Pointer(libc.PreDecUintptr(&src, 1))) 16848 } 16849 (*Gz_state)(unsafe.Pointer(state)).Fx.Fnext = dest 16850 } 16851 (*Gz_state)(unsafe.Pointer(state)).Fx.Fhave++ 16852 (*Gz_state)(unsafe.Pointer(state)).Fx.Fnext-- 16853 *(*uint8)(unsafe.Pointer((*Gz_state)(unsafe.Pointer(state)).Fx.Fnext)) = uint8(c) 16854 (*Gz_state)(unsafe.Pointer(state)).Fx.Fpos-- 16855 (*Gz_state)(unsafe.Pointer(state)).Fpast = 0 16856 return c 16857 } 16858 16859 // -- see zlib.h -- 16860 func Xgzgets(tls *libc.TLS, file GzFile, buf uintptr, len int32) uintptr { /* gzread.c:543:6: */ 16861 var left uint32 16862 var n uint32 16863 var str uintptr 16864 var eol uintptr 16865 var state Gz_statep 16866 16867 // check parameters and get internal structure 16868 if file == uintptr(0) || buf == uintptr(0) || len < 1 { 16869 return uintptr(0) 16870 } 16871 state = file 16872 16873 // check that we're reading and that there's no (serious) error 16874 if (*Gz_state)(unsafe.Pointer(state)).Fmode != GZ_READ || (*Gz_state)(unsafe.Pointer(state)).Ferr != Z_OK && (*Gz_state)(unsafe.Pointer(state)).Ferr != -5 { 16875 return uintptr(0) 16876 } 16877 16878 // process a skip request 16879 if (*Gz_state)(unsafe.Pointer(state)).Fseek != 0 { 16880 (*Gz_state)(unsafe.Pointer(state)).Fseek = 0 16881 if gz_skip(tls, state, (*Gz_state)(unsafe.Pointer(state)).Fskip) == -1 { 16882 return uintptr(0) 16883 } 16884 } 16885 16886 // copy output bytes up to new line or len - 1, whichever comes first -- 16887 // append a terminating zero to the string (we don't check for a zero in 16888 // the contents, let the user worry about that) 16889 str = buf 16890 left = uint32(len) - uint32(1) 16891 if left != 0 { 16892 for ok := true; ok; ok = left != 0 && eol == uintptr(0) { 16893 // assure that something is in the output buffer 16894 if (*Gz_state)(unsafe.Pointer(state)).Fx.Fhave == uint32(0) && gz_fetch(tls, state) == -1 { 16895 return uintptr(0) 16896 } // error 16897 if (*Gz_state)(unsafe.Pointer(state)).Fx.Fhave == uint32(0) { // end of file 16898 (*Gz_state)(unsafe.Pointer(state)).Fpast = 1 // read past end 16899 break // return what we have 16900 } 16901 16902 // look for end-of-line in current output buffer 16903 if (*Gz_state)(unsafe.Pointer(state)).Fx.Fhave > left { 16904 n = left 16905 } else { 16906 n = (*Gz_state)(unsafe.Pointer(state)).Fx.Fhave 16907 } 16908 eol = libc.Xmemchr(tls, (*Gz_state)(unsafe.Pointer(state)).Fx.Fnext, '\n', uint64(n)) 16909 if eol != uintptr(0) { 16910 n = uint32((int64(eol)-int64((*Gz_state)(unsafe.Pointer(state)).Fx.Fnext))/1) + uint32(1) 16911 } 16912 16913 // copy through end-of-line, or remainder if not found 16914 libc.X__builtin___memcpy_chk(tls, buf, (*Gz_state)(unsafe.Pointer(state)).Fx.Fnext, uint64(n), libc.X__builtin_object_size(tls, buf, 0)) 16915 *(*uint32)(unsafe.Pointer(state)) -= n 16916 *(*uintptr)(unsafe.Pointer(state + 8)) += uintptr(n) 16917 *(*Off_t)(unsafe.Pointer(state + 16)) += Off_t(n) 16918 left = left - n 16919 buf += uintptr(n) 16920 } 16921 } 16922 16923 // return terminated string, or if nothing, end of file 16924 if buf == str { 16925 return uintptr(0) 16926 } 16927 *(*int8)(unsafe.Pointer(buf)) = int8(0) 16928 return str 16929 } 16930 16931 // -- see zlib.h -- 16932 func Xgzdirect(tls *libc.TLS, file GzFile) int32 { /* gzread.c:607:13: */ 16933 var state Gz_statep 16934 16935 // get internal structure 16936 if file == uintptr(0) { 16937 return 0 16938 } 16939 state = file 16940 16941 // if the state is not known, but we can find out, then do so (this is 16942 // mainly for right after a gzopen() or gzdopen()) 16943 if (*Gz_state)(unsafe.Pointer(state)).Fmode == GZ_READ && (*Gz_state)(unsafe.Pointer(state)).Fhow == LOOK && (*Gz_state)(unsafe.Pointer(state)).Fx.Fhave == uint32(0) { 16944 gz_look(tls, state) 16945 } 16946 16947 // return 1 if transparent, 0 if processing a gzip stream 16948 return (*Gz_state)(unsafe.Pointer(state)).Fdirect 16949 } 16950 16951 // -- see zlib.h -- 16952 func Xgzclose_r(tls *libc.TLS, file GzFile) int32 { /* gzread.c:627:13: */ 16953 var ret int32 16954 var err int32 16955 var state Gz_statep 16956 16957 // get internal structure 16958 if file == uintptr(0) { 16959 return -2 16960 } 16961 state = file 16962 16963 // check that we're reading 16964 if (*Gz_state)(unsafe.Pointer(state)).Fmode != GZ_READ { 16965 return -2 16966 } 16967 16968 // free memory and close file 16969 if (*Gz_state)(unsafe.Pointer(state)).Fsize != 0 { 16970 XinflateEnd(tls, state+120) 16971 libc.Xfree(tls, (*Gz_state)(unsafe.Pointer(state)).Fout) 16972 libc.Xfree(tls, (*Gz_state)(unsafe.Pointer(state)).Fin) 16973 } 16974 if (*Gz_state)(unsafe.Pointer(state)).Ferr == -5 { 16975 err = -5 16976 } else { 16977 err = Z_OK 16978 } 16979 Xgz_error(tls, state, Z_OK, uintptr(0)) 16980 libc.Xfree(tls, (*Gz_state)(unsafe.Pointer(state)).Fpath) 16981 ret = libc.Xclose(tls, (*Gz_state)(unsafe.Pointer(state)).Ffd) 16982 libc.Xfree(tls, state) 16983 if ret != 0 { 16984 return -1 16985 } 16986 return err 16987 } 16988 16989 // Initialize state for writing a gzip file. Mark initialization by setting 16990 // state->size to non-zero. Return -1 on a memory allocation failure, or 0 on 16991 // success. 16992 func gz_init(tls *libc.TLS, state Gz_statep) int32 { /* gzwrite.c:17:11: */ 16993 var ret int32 16994 var strm Z_streamp = state + 120 16995 16996 // allocate input buffer (double size for gzprintf) 16997 (*Gz_state)(unsafe.Pointer(state)).Fin = libc.Xmalloc(tls, uint64((*Gz_state)(unsafe.Pointer(state)).Fwant<<1)) 16998 if (*Gz_state)(unsafe.Pointer(state)).Fin == uintptr(0) { 16999 Xgz_error(tls, state, -4, ts+87) 17000 return -1 17001 } 17002 17003 // only need output buffer and deflate state if compressing 17004 if !((*Gz_state)(unsafe.Pointer(state)).Fdirect != 0) { 17005 // allocate output buffer 17006 (*Gz_state)(unsafe.Pointer(state)).Fout = libc.Xmalloc(tls, uint64((*Gz_state)(unsafe.Pointer(state)).Fwant)) 17007 if (*Gz_state)(unsafe.Pointer(state)).Fout == uintptr(0) { 17008 libc.Xfree(tls, (*Gz_state)(unsafe.Pointer(state)).Fin) 17009 Xgz_error(tls, state, -4, ts+87) 17010 return -1 17011 } 17012 17013 // allocate deflate memory, set up for gzip compression 17014 (*Z_stream)(unsafe.Pointer(strm)).Fzalloc = Alloc_func(Z_NULL) 17015 (*Z_stream)(unsafe.Pointer(strm)).Fzfree = Free_func(Z_NULL) 17016 (*Z_stream)(unsafe.Pointer(strm)).Fopaque = Voidpf(Z_NULL) 17017 ret = XdeflateInit2_(tls, strm, (*Gz_state)(unsafe.Pointer(state)).Flevel, Z_DEFLATED, MAX_WBITS+16, DEF_MEM_LEVEL, (*Gz_state)(unsafe.Pointer(state)).Fstrategy, ts, int32(unsafe.Sizeof(Z_stream{}))) 17018 if ret != Z_OK { 17019 libc.Xfree(tls, (*Gz_state)(unsafe.Pointer(state)).Fout) 17020 libc.Xfree(tls, (*Gz_state)(unsafe.Pointer(state)).Fin) 17021 Xgz_error(tls, state, -4, ts+87) 17022 return -1 17023 } 17024 (*Z_stream)(unsafe.Pointer(strm)).Fnext_in = uintptr(0) 17025 } 17026 17027 // mark state as initialized 17028 (*Gz_state)(unsafe.Pointer(state)).Fsize = (*Gz_state)(unsafe.Pointer(state)).Fwant 17029 17030 // initialize write buffer if compressing 17031 if !((*Gz_state)(unsafe.Pointer(state)).Fdirect != 0) { 17032 (*Z_stream)(unsafe.Pointer(strm)).Favail_out = (*Gz_state)(unsafe.Pointer(state)).Fsize 17033 (*Z_stream)(unsafe.Pointer(strm)).Fnext_out = (*Gz_state)(unsafe.Pointer(state)).Fout 17034 (*Gz_state)(unsafe.Pointer(state)).Fx.Fnext = (*Z_stream)(unsafe.Pointer(strm)).Fnext_out 17035 } 17036 return 0 17037 } 17038 17039 // Compress whatever is at avail_in and next_in and write to the output file. 17040 // Return -1 if there is an error writing to the output file or if gz_init() 17041 // fails to allocate memory, otherwise 0. flush is assumed to be a valid 17042 // deflate() flush value. If flush is Z_FINISH, then the deflate() state is 17043 // reset to start a new gzip stream. If gz->direct is true, then simply write 17044 // to the output file without compressing, and ignore flush. 17045 func gz_comp(tls *libc.TLS, state Gz_statep, flush int32) int32 { /* gzwrite.c:73:11: */ 17046 var ret int32 17047 var writ int32 17048 var have uint32 17049 var put uint32 17050 var max uint32 = uint32(libc.Uint32(libc.Uint32FromInt32(-1)))>>2 + uint32(1) 17051 var strm Z_streamp = state + 120 17052 17053 // allocate memory if this is the first time through 17054 if (*Gz_state)(unsafe.Pointer(state)).Fsize == uint32(0) && gz_init(tls, state) == -1 { 17055 return -1 17056 } 17057 17058 // write directly if requested 17059 if (*Gz_state)(unsafe.Pointer(state)).Fdirect != 0 { 17060 for (*Z_stream)(unsafe.Pointer(strm)).Favail_in != 0 { 17061 if (*Z_stream)(unsafe.Pointer(strm)).Favail_in > max { 17062 put = max 17063 } else { 17064 put = (*Z_stream)(unsafe.Pointer(strm)).Favail_in 17065 } 17066 writ = int32(libc.Xwrite(tls, (*Gz_state)(unsafe.Pointer(state)).Ffd, (*Z_stream)(unsafe.Pointer(strm)).Fnext_in, uint64(put))) 17067 if writ < 0 { 17068 Xgz_error(tls, state, -1, libc.Xstrerror(tls, *(*int32)(unsafe.Pointer(libc.X__error(tls))))) 17069 return -1 17070 } 17071 *(*UInt)(unsafe.Pointer(strm + 8)) -= uint32(writ) 17072 *(*uintptr)(unsafe.Pointer(strm)) += uintptr(writ) 17073 } 17074 return 0 17075 } 17076 17077 // run deflate() on provided input until it produces no more output 17078 ret = Z_OK 17079 for ok := true; ok; ok = have != 0 { 17080 // write out current buffer contents if full, or if flushing, but if 17081 // doing Z_FINISH then don't write until we get to Z_STREAM_END 17082 if (*Z_stream)(unsafe.Pointer(strm)).Favail_out == UInt(0) || flush != Z_NO_FLUSH && (flush != Z_FINISH || ret == Z_STREAM_END) { 17083 for (*Z_stream)(unsafe.Pointer(strm)).Fnext_out > (*Gz_state)(unsafe.Pointer(state)).Fx.Fnext { 17084 if (int64((*Z_stream)(unsafe.Pointer(strm)).Fnext_out)-int64((*Gz_state)(unsafe.Pointer(state)).Fx.Fnext))/1 > int64(int32(max)) { 17085 put = max 17086 } else { 17087 put = uint32((int64((*Z_stream)(unsafe.Pointer(strm)).Fnext_out) - int64((*Gz_state)(unsafe.Pointer(state)).Fx.Fnext)) / 1) 17088 } 17089 writ = int32(libc.Xwrite(tls, (*Gz_state)(unsafe.Pointer(state)).Ffd, (*Gz_state)(unsafe.Pointer(state)).Fx.Fnext, uint64(put))) 17090 if writ < 0 { 17091 Xgz_error(tls, state, -1, libc.Xstrerror(tls, *(*int32)(unsafe.Pointer(libc.X__error(tls))))) 17092 return -1 17093 } 17094 *(*uintptr)(unsafe.Pointer(state + 8)) += uintptr(writ) 17095 } 17096 if (*Z_stream)(unsafe.Pointer(strm)).Favail_out == UInt(0) { 17097 (*Z_stream)(unsafe.Pointer(strm)).Favail_out = (*Gz_state)(unsafe.Pointer(state)).Fsize 17098 (*Z_stream)(unsafe.Pointer(strm)).Fnext_out = (*Gz_state)(unsafe.Pointer(state)).Fout 17099 (*Gz_state)(unsafe.Pointer(state)).Fx.Fnext = (*Gz_state)(unsafe.Pointer(state)).Fout 17100 } 17101 } 17102 17103 // compress 17104 have = (*Z_stream)(unsafe.Pointer(strm)).Favail_out 17105 ret = Xdeflate(tls, strm, flush) 17106 if ret == -2 { 17107 Xgz_error(tls, state, -2, 17108 ts+291) 17109 return -1 17110 } 17111 have = have - (*Z_stream)(unsafe.Pointer(strm)).Favail_out 17112 } 17113 17114 // if that completed a deflate stream, allow another to start 17115 if flush == Z_FINISH { 17116 XdeflateReset(tls, strm) 17117 } 17118 17119 // all done, no errors 17120 return 0 17121 } 17122 17123 // Compress len zeros to output. Return -1 on a write error or memory 17124 // allocation failure by gz_comp(), or 0 on success. 17125 func gz_zero(tls *libc.TLS, state Gz_statep, len Off_t) int32 { /* gzwrite.c:145:11: */ 17126 var first int32 17127 var n uint32 17128 var strm Z_streamp = state + 120 17129 17130 // consume whatever's left in the input buffer 17131 if (*Z_stream)(unsafe.Pointer(strm)).Favail_in != 0 && gz_comp(tls, state, Z_NO_FLUSH) == -1 { 17132 return -1 17133 } 17134 17135 // compress len zeros (len guaranteed > 0) 17136 first = 1 17137 for len != 0 { 17138 if uint64(unsafe.Sizeof(int32(0))) == uint64(unsafe.Sizeof(Off_t(0))) && (*Gz_state)(unsafe.Pointer(state)).Fsize > uint32(0x7fffffff) || Off_t((*Gz_state)(unsafe.Pointer(state)).Fsize) > len { 17139 n = uint32(len) 17140 } else { 17141 n = (*Gz_state)(unsafe.Pointer(state)).Fsize 17142 } 17143 if first != 0 { 17144 libc.X__builtin___memset_chk(tls, (*Gz_state)(unsafe.Pointer(state)).Fin, 0, uint64(n), libc.X__builtin_object_size(tls, (*Gz_state)(unsafe.Pointer(state)).Fin, 0)) 17145 first = 0 17146 } 17147 (*Z_stream)(unsafe.Pointer(strm)).Favail_in = n 17148 (*Z_stream)(unsafe.Pointer(strm)).Fnext_in = (*Gz_state)(unsafe.Pointer(state)).Fin 17149 *(*Off_t)(unsafe.Pointer(state + 16)) += Off_t(n) 17150 if gz_comp(tls, state, Z_NO_FLUSH) == -1 { 17151 return -1 17152 } 17153 len = len - Off_t(n) 17154 } 17155 return 0 17156 } 17157 17158 // Write len bytes from buf to file. Return the number of bytes written. If 17159 // the returned value is less than len, then there was an error. 17160 func gz_write(tls *libc.TLS, state Gz_statep, buf Voidpc, len Z_size_t) Z_size_t { /* gzwrite.c:178:16: */ 17161 var put Z_size_t = len 17162 17163 // if len is zero, avoid unnecessary operations 17164 if len == uint64(0) { 17165 return uint64(0) 17166 } 17167 17168 // allocate memory if this is the first time through 17169 if (*Gz_state)(unsafe.Pointer(state)).Fsize == uint32(0) && gz_init(tls, state) == -1 { 17170 return uint64(0) 17171 } 17172 17173 // check for seek request 17174 if (*Gz_state)(unsafe.Pointer(state)).Fseek != 0 { 17175 (*Gz_state)(unsafe.Pointer(state)).Fseek = 0 17176 if gz_zero(tls, state, (*Gz_state)(unsafe.Pointer(state)).Fskip) == -1 { 17177 return uint64(0) 17178 } 17179 } 17180 17181 // for small len, copy to input buffer, otherwise compress directly 17182 if len < Z_size_t((*Gz_state)(unsafe.Pointer(state)).Fsize) { 17183 // copy to input buffer, compress when full 17184 for ok := true; ok; ok = len != 0 { 17185 var have uint32 17186 var copy uint32 17187 17188 if (*Gz_state)(unsafe.Pointer(state)).Fstrm.Favail_in == UInt(0) { 17189 (*Gz_state)(unsafe.Pointer(state)).Fstrm.Fnext_in = (*Gz_state)(unsafe.Pointer(state)).Fin 17190 } 17191 have = uint32((int64((*Gz_state)(unsafe.Pointer(state)).Fstrm.Fnext_in+uintptr((*Gz_state)(unsafe.Pointer(state)).Fstrm.Favail_in)) - int64((*Gz_state)(unsafe.Pointer(state)).Fin)) / 1) 17192 copy = (*Gz_state)(unsafe.Pointer(state)).Fsize - have 17193 if Z_size_t(copy) > len { 17194 copy = uint32(len) 17195 } 17196 libc.X__builtin___memcpy_chk(tls, (*Gz_state)(unsafe.Pointer(state)).Fin+uintptr(have), buf, uint64(copy), libc.X__builtin_object_size(tls, (*Gz_state)(unsafe.Pointer(state)).Fin+uintptr(have), 0)) 17197 *(*UInt)(unsafe.Pointer(state + 120 + 8)) += copy 17198 *(*Off_t)(unsafe.Pointer(state + 16)) += Off_t(copy) 17199 buf = buf + uintptr(copy) 17200 len = len - Z_size_t(copy) 17201 if len != 0 && gz_comp(tls, state, Z_NO_FLUSH) == -1 { 17202 return uint64(0) 17203 } 17204 } 17205 } else { 17206 // consume whatever's left in the input buffer 17207 if (*Gz_state)(unsafe.Pointer(state)).Fstrm.Favail_in != 0 && gz_comp(tls, state, Z_NO_FLUSH) == -1 { 17208 return uint64(0) 17209 } 17210 17211 // directly compress user buffer to file 17212 (*Gz_state)(unsafe.Pointer(state)).Fstrm.Fnext_in = buf 17213 for ok1 := true; ok1; ok1 = len != 0 { 17214 var n uint32 = libc.Uint32(libc.Uint32FromInt32(-1)) 17215 if Z_size_t(n) > len { 17216 n = uint32(len) 17217 } 17218 (*Gz_state)(unsafe.Pointer(state)).Fstrm.Favail_in = n 17219 *(*Off_t)(unsafe.Pointer(state + 16)) += Off_t(n) 17220 if gz_comp(tls, state, Z_NO_FLUSH) == -1 { 17221 return uint64(0) 17222 } 17223 len = len - Z_size_t(n) 17224 } 17225 } 17226 17227 // input was all buffered or compressed 17228 return put 17229 } 17230 17231 // -- see zlib.h -- 17232 func Xgzwrite(tls *libc.TLS, file GzFile, buf Voidpc, len uint32) int32 { /* gzwrite.c:246:13: */ 17233 var state Gz_statep 17234 17235 // get internal structure 17236 if file == uintptr(0) { 17237 return 0 17238 } 17239 state = file 17240 17241 // check that we're writing and that there's no error 17242 if (*Gz_state)(unsafe.Pointer(state)).Fmode != GZ_WRITE || (*Gz_state)(unsafe.Pointer(state)).Ferr != Z_OK { 17243 return 0 17244 } 17245 17246 // since an int is returned, make sure len fits in one, otherwise return 17247 // with an error (this avoids a flaw in the interface) 17248 if int32(len) < 0 { 17249 Xgz_error(tls, state, -3, ts+330) 17250 return 0 17251 } 17252 17253 // write len bytes from buf (the return value will fit in an int) 17254 return int32(gz_write(tls, state, buf, uint64(len))) 17255 } 17256 17257 // -- see zlib.h -- 17258 func Xgzfwrite(tls *libc.TLS, buf Voidpc, size Z_size_t, nitems Z_size_t, file GzFile) Z_size_t { /* gzwrite.c:274:18: */ 17259 var len Z_size_t 17260 var state Gz_statep 17261 17262 // get internal structure 17263 if file == uintptr(0) { 17264 return uint64(0) 17265 } 17266 state = file 17267 17268 // check that we're writing and that there's no error 17269 if (*Gz_state)(unsafe.Pointer(state)).Fmode != GZ_WRITE || (*Gz_state)(unsafe.Pointer(state)).Ferr != Z_OK { 17270 return uint64(0) 17271 } 17272 17273 // compute bytes to read -- error on overflow 17274 len = nitems * size 17275 if size != 0 && len/size != nitems { 17276 Xgz_error(tls, state, -2, ts+227) 17277 return uint64(0) 17278 } 17279 17280 // write len bytes to buf, return the number of full items written 17281 if len != 0 { 17282 return gz_write(tls, state, buf, len) / size 17283 } 17284 return uint64(0) 17285 } 17286 17287 // -- see zlib.h -- 17288 func Xgzputc(tls *libc.TLS, file GzFile, c int32) int32 { /* gzwrite.c:304:13: */ 17289 bp := tls.Alloc(1) 17290 defer tls.Free(1) 17291 17292 var have uint32 17293 // var buf [1]uint8 at bp, 1 17294 17295 var state Gz_statep 17296 var strm Z_streamp 17297 17298 // get internal structure 17299 if file == uintptr(0) { 17300 return -1 17301 } 17302 state = file 17303 strm = state + 120 17304 17305 // check that we're writing and that there's no error 17306 if (*Gz_state)(unsafe.Pointer(state)).Fmode != GZ_WRITE || (*Gz_state)(unsafe.Pointer(state)).Ferr != Z_OK { 17307 return -1 17308 } 17309 17310 // check for seek request 17311 if (*Gz_state)(unsafe.Pointer(state)).Fseek != 0 { 17312 (*Gz_state)(unsafe.Pointer(state)).Fseek = 0 17313 if gz_zero(tls, state, (*Gz_state)(unsafe.Pointer(state)).Fskip) == -1 { 17314 return -1 17315 } 17316 } 17317 17318 // try writing to input buffer for speed (state->size == 0 if buffer not 17319 // initialized) 17320 if (*Gz_state)(unsafe.Pointer(state)).Fsize != 0 { 17321 if (*Z_stream)(unsafe.Pointer(strm)).Favail_in == UInt(0) { 17322 (*Z_stream)(unsafe.Pointer(strm)).Fnext_in = (*Gz_state)(unsafe.Pointer(state)).Fin 17323 } 17324 have = uint32((int64((*Z_stream)(unsafe.Pointer(strm)).Fnext_in+uintptr((*Z_stream)(unsafe.Pointer(strm)).Favail_in)) - int64((*Gz_state)(unsafe.Pointer(state)).Fin)) / 1) 17325 if have < (*Gz_state)(unsafe.Pointer(state)).Fsize { 17326 *(*uint8)(unsafe.Pointer((*Gz_state)(unsafe.Pointer(state)).Fin + uintptr(have))) = uint8(c) 17327 (*Z_stream)(unsafe.Pointer(strm)).Favail_in++ 17328 (*Gz_state)(unsafe.Pointer(state)).Fx.Fpos++ 17329 return c & 0xff 17330 } 17331 } 17332 17333 // no room in buffer or not initialized, use gz_write() 17334 *(*uint8)(unsafe.Pointer(bp)) = uint8(c) 17335 if gz_write(tls, state, bp, uint64(1)) != uint64(1) { 17336 return -1 17337 } 17338 return c & 0xff 17339 } 17340 17341 // -- see zlib.h -- 17342 func Xgzputs(tls *libc.TLS, file GzFile, str uintptr) int32 { /* gzwrite.c:352:13: */ 17343 var ret int32 17344 var len Z_size_t 17345 var state Gz_statep 17346 17347 // get internal structure 17348 if file == uintptr(0) { 17349 return -1 17350 } 17351 state = file 17352 17353 // check that we're writing and that there's no error 17354 if (*Gz_state)(unsafe.Pointer(state)).Fmode != GZ_WRITE || (*Gz_state)(unsafe.Pointer(state)).Ferr != Z_OK { 17355 return -1 17356 } 17357 17358 // write string 17359 len = libc.Xstrlen(tls, str) 17360 ret = int32(gz_write(tls, state, str, len)) 17361 if ret == 0 && len != uint64(0) { 17362 return -1 17363 } 17364 return ret 17365 } 17366 17367 // Copyright (C) 1989-2021 Free Software Foundation, Inc. 17368 // 17369 // This file is part of GCC. 17370 // 17371 // GCC is free software; you can redistribute it and/or modify 17372 // it under the terms of the GNU General Public License as published by 17373 // the Free Software Foundation; either version 3, or (at your option) 17374 // any later version. 17375 // 17376 // GCC is distributed in the hope that it will be useful, 17377 // but WITHOUT ANY WARRANTY; without even the implied warranty of 17378 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17379 // GNU General Public License for more details. 17380 // 17381 // Under Section 7 of GPL version 3, you are granted additional 17382 // permissions described in the GCC Runtime Library Exception, version 17383 // 3.1, as published by the Free Software Foundation. 17384 // 17385 // You should have received a copy of the GNU General Public License and 17386 // a copy of the GCC Runtime Library Exception along with this program; 17387 // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 17388 // <http://www.gnu.org/licenses/>. 17389 17390 // ISO C Standard: 7.15 Variable arguments <stdarg.h> 17391 17392 // -- see zlib.h -- 17393 func Xgzvprintf(tls *libc.TLS, file GzFile, format uintptr, va Va_list) int32 { /* gzwrite.c:379:15: */ 17394 var len int32 17395 var left uint32 17396 var next uintptr 17397 var state Gz_statep 17398 var strm Z_streamp 17399 17400 // get internal structure 17401 if file == uintptr(0) { 17402 return -2 17403 } 17404 state = file 17405 strm = state + 120 17406 17407 // check that we're writing and that there's no error 17408 if (*Gz_state)(unsafe.Pointer(state)).Fmode != GZ_WRITE || (*Gz_state)(unsafe.Pointer(state)).Ferr != Z_OK { 17409 return -2 17410 } 17411 17412 // make sure we have some buffer space 17413 if (*Gz_state)(unsafe.Pointer(state)).Fsize == uint32(0) && gz_init(tls, state) == -1 { 17414 return (*Gz_state)(unsafe.Pointer(state)).Ferr 17415 } 17416 17417 // check for seek request 17418 if (*Gz_state)(unsafe.Pointer(state)).Fseek != 0 { 17419 (*Gz_state)(unsafe.Pointer(state)).Fseek = 0 17420 if gz_zero(tls, state, (*Gz_state)(unsafe.Pointer(state)).Fskip) == -1 { 17421 return (*Gz_state)(unsafe.Pointer(state)).Ferr 17422 } 17423 } 17424 17425 // do the printf() into the input buffer, put length in len -- the input 17426 // buffer is double-sized just for this function, so there is guaranteed to 17427 // be state->size bytes available after the current contents 17428 if (*Z_stream)(unsafe.Pointer(strm)).Favail_in == UInt(0) { 17429 (*Z_stream)(unsafe.Pointer(strm)).Fnext_in = (*Gz_state)(unsafe.Pointer(state)).Fin 17430 } 17431 next = (*Gz_state)(unsafe.Pointer(state)).Fin + uintptr((int64((*Z_stream)(unsafe.Pointer(strm)).Fnext_in)-int64((*Gz_state)(unsafe.Pointer(state)).Fin))/1) + uintptr((*Z_stream)(unsafe.Pointer(strm)).Favail_in) 17432 *(*int8)(unsafe.Pointer(next + uintptr((*Gz_state)(unsafe.Pointer(state)).Fsize-uint32(1)))) = int8(0) 17433 len = libc.X__builtin___vsnprintf_chk(tls, next, uint64((*Gz_state)(unsafe.Pointer(state)).Fsize), 0, libc.X__builtin_object_size(tls, next, func() int32 { 17434 if X_USE_FORTIFY_LEVEL > 1 { 17435 return 1 17436 } 17437 return 0 17438 }()), format, va) 17439 17440 // check that printf() results fit in buffer 17441 if len == 0 || uint32(len) >= (*Gz_state)(unsafe.Pointer(state)).Fsize || int32(*(*int8)(unsafe.Pointer(next + uintptr((*Gz_state)(unsafe.Pointer(state)).Fsize-uint32(1))))) != 0 { 17442 return 0 17443 } 17444 17445 // update buffer and position, compress first half if past that 17446 *(*UInt)(unsafe.Pointer(strm + 8)) += uint32(len) 17447 *(*Off_t)(unsafe.Pointer(state + 16)) += Off_t(len) 17448 if (*Z_stream)(unsafe.Pointer(strm)).Favail_in >= (*Gz_state)(unsafe.Pointer(state)).Fsize { 17449 left = (*Z_stream)(unsafe.Pointer(strm)).Favail_in - (*Gz_state)(unsafe.Pointer(state)).Fsize 17450 (*Z_stream)(unsafe.Pointer(strm)).Favail_in = (*Gz_state)(unsafe.Pointer(state)).Fsize 17451 if gz_comp(tls, state, Z_NO_FLUSH) == -1 { 17452 return (*Gz_state)(unsafe.Pointer(state)).Ferr 17453 } 17454 libc.X__builtin___memcpy_chk(tls, (*Gz_state)(unsafe.Pointer(state)).Fin, (*Gz_state)(unsafe.Pointer(state)).Fin+uintptr((*Gz_state)(unsafe.Pointer(state)).Fsize), uint64(left), libc.X__builtin_object_size(tls, (*Gz_state)(unsafe.Pointer(state)).Fin, 0)) 17455 (*Z_stream)(unsafe.Pointer(strm)).Fnext_in = (*Gz_state)(unsafe.Pointer(state)).Fin 17456 (*Z_stream)(unsafe.Pointer(strm)).Favail_in = left 17457 } 17458 return len 17459 } 17460 17461 func Xgzprintf(tls *libc.TLS, file GzFile, format uintptr, va uintptr) int32 { /* gzwrite.c:451:15: */ 17462 var va1 Va_list 17463 _ = va1 17464 var ret int32 17465 17466 va1 = va 17467 ret = Xgzvprintf(tls, file, format, va1) 17468 _ = va1 17469 return ret 17470 } 17471 17472 // -- see zlib.h -- 17473 func Xgzflush(tls *libc.TLS, file GzFile, flush int32) int32 { /* gzwrite.c:553:13: */ 17474 var state Gz_statep 17475 17476 // get internal structure 17477 if file == uintptr(0) { 17478 return -2 17479 } 17480 state = file 17481 17482 // check that we're writing and that there's no error 17483 if (*Gz_state)(unsafe.Pointer(state)).Fmode != GZ_WRITE || (*Gz_state)(unsafe.Pointer(state)).Ferr != Z_OK { 17484 return -2 17485 } 17486 17487 // check flush parameter 17488 if flush < 0 || flush > Z_FINISH { 17489 return -2 17490 } 17491 17492 // check for seek request 17493 if (*Gz_state)(unsafe.Pointer(state)).Fseek != 0 { 17494 (*Gz_state)(unsafe.Pointer(state)).Fseek = 0 17495 if gz_zero(tls, state, (*Gz_state)(unsafe.Pointer(state)).Fskip) == -1 { 17496 return (*Gz_state)(unsafe.Pointer(state)).Ferr 17497 } 17498 } 17499 17500 // compress remaining data with requested flush 17501 gz_comp(tls, state, flush) 17502 return (*Gz_state)(unsafe.Pointer(state)).Ferr 17503 } 17504 17505 // -- see zlib.h -- 17506 func Xgzsetparams(tls *libc.TLS, file GzFile, level int32, strategy int32) int32 { /* gzwrite.c:585:13: */ 17507 var state Gz_statep 17508 var strm Z_streamp 17509 17510 // get internal structure 17511 if file == uintptr(0) { 17512 return -2 17513 } 17514 state = file 17515 strm = state + 120 17516 17517 // check that we're writing and that there's no error 17518 if (*Gz_state)(unsafe.Pointer(state)).Fmode != GZ_WRITE || (*Gz_state)(unsafe.Pointer(state)).Ferr != Z_OK { 17519 return -2 17520 } 17521 17522 // if no change is requested, then do nothing 17523 if level == (*Gz_state)(unsafe.Pointer(state)).Flevel && strategy == (*Gz_state)(unsafe.Pointer(state)).Fstrategy { 17524 return Z_OK 17525 } 17526 17527 // check for seek request 17528 if (*Gz_state)(unsafe.Pointer(state)).Fseek != 0 { 17529 (*Gz_state)(unsafe.Pointer(state)).Fseek = 0 17530 if gz_zero(tls, state, (*Gz_state)(unsafe.Pointer(state)).Fskip) == -1 { 17531 return (*Gz_state)(unsafe.Pointer(state)).Ferr 17532 } 17533 } 17534 17535 // change compression parameters for subsequent input 17536 if (*Gz_state)(unsafe.Pointer(state)).Fsize != 0 { 17537 // flush previous input with previous parameters before changing 17538 if (*Z_stream)(unsafe.Pointer(strm)).Favail_in != 0 && gz_comp(tls, state, Z_BLOCK) == -1 { 17539 return (*Gz_state)(unsafe.Pointer(state)).Ferr 17540 } 17541 XdeflateParams(tls, strm, level, strategy) 17542 } 17543 (*Gz_state)(unsafe.Pointer(state)).Flevel = level 17544 (*Gz_state)(unsafe.Pointer(state)).Fstrategy = strategy 17545 return Z_OK 17546 } 17547 17548 // -- see zlib.h -- 17549 func Xgzclose_w(tls *libc.TLS, file GzFile) int32 { /* gzwrite.c:627:13: */ 17550 var ret int32 = Z_OK 17551 var state Gz_statep 17552 17553 // get internal structure 17554 if file == uintptr(0) { 17555 return -2 17556 } 17557 state = file 17558 17559 // check that we're writing 17560 if (*Gz_state)(unsafe.Pointer(state)).Fmode != GZ_WRITE { 17561 return -2 17562 } 17563 17564 // check for seek request 17565 if (*Gz_state)(unsafe.Pointer(state)).Fseek != 0 { 17566 (*Gz_state)(unsafe.Pointer(state)).Fseek = 0 17567 if gz_zero(tls, state, (*Gz_state)(unsafe.Pointer(state)).Fskip) == -1 { 17568 ret = (*Gz_state)(unsafe.Pointer(state)).Ferr 17569 } 17570 } 17571 17572 // flush, free memory, and close file 17573 if gz_comp(tls, state, Z_FINISH) == -1 { 17574 ret = (*Gz_state)(unsafe.Pointer(state)).Ferr 17575 } 17576 if (*Gz_state)(unsafe.Pointer(state)).Fsize != 0 { 17577 if !((*Gz_state)(unsafe.Pointer(state)).Fdirect != 0) { 17578 XdeflateEnd(tls, state+120) 17579 libc.Xfree(tls, (*Gz_state)(unsafe.Pointer(state)).Fout) 17580 } 17581 libc.Xfree(tls, (*Gz_state)(unsafe.Pointer(state)).Fin) 17582 } 17583 Xgz_error(tls, state, Z_OK, uintptr(0)) 17584 libc.Xfree(tls, (*Gz_state)(unsafe.Pointer(state)).Fpath) 17585 if libc.Xclose(tls, (*Gz_state)(unsafe.Pointer(state)).Ffd) == -1 { 17586 ret = -1 17587 } 17588 libc.Xfree(tls, state) 17589 return ret 17590 } 17591 17592 // Reverse the bytes in a 32-bit value 17593 17594 // inftrees.h -- header to use inftrees.c 17595 // Copyright (C) 1995-2005, 2010 Mark Adler 17596 // For conditions of distribution and use, see copyright notice in zlib.h 17597 17598 // WARNING: this file should *not* be used by applications. It is 17599 // part of the implementation of the compression library and is 17600 // subject to change. Applications should only use zlib.h. 17601 // 17602 17603 // Structure for decoding tables. Each entry provides either the 17604 // information needed to do the operation requested by the code that 17605 // indexed that table entry, or it provides a pointer to another 17606 // table that indexes more bits of the code. op indicates whether 17607 // the entry is a pointer to another table, a literal, a length or 17608 // distance, an end-of-block, or an invalid code. For a table 17609 // pointer, the low four bits of op is the number of index bits of 17610 // that table. For a length or distance, the low four bits of op 17611 // is the number of extra bits to get after the code. bits is 17612 // the number of bits in this code or part of the code to drop off 17613 // of the bit buffer. val is the actual byte to output in the case 17614 // of a literal, the base length or distance, or the offset from 17615 // the current table to the next table. Each entry is four bytes. 17616 type Code = struct { 17617 Fop uint8 17618 Fbits uint8 17619 Fval uint16 17620 } /* inftrees.h:28:3 */ 17621 17622 // op values as set by inflate_table(): 17623 // 00000000 - literal 17624 // 0000tttt - table link, tttt != 0 is the number of table index bits 17625 // 0001eeee - length or distance, eeee is the number of extra bits 17626 // 01100000 - end of block 17627 // 01000000 - invalid code 17628 // 17629 17630 // Maximum size of the dynamic table. The maximum number of code structures is 17631 // 1444, which is the sum of 852 for literal/length codes and 592 for distance 17632 // codes. These values were found by exhaustive searches using the program 17633 // examples/enough.c found in the zlib distribtution. The arguments to that 17634 // program are the number of symbols, the initial root table size, and the 17635 // maximum bit length of a code. "enough 286 9 15" for literal/length codes 17636 // returns returns 852, and "enough 30 6 15" for distance codes returns 592. 17637 // The initial root table size (9 or 6) is found in the fifth argument of the 17638 // inflate_table() calls in inflate.c and infback.c. If the root table size is 17639 // changed, then these maximum sizes would be need to be recalculated and 17640 // updated. 17641 17642 // Type of code to build for inflate_table() 17643 type Codetype = uint32 /* inftrees.h:58:3 */ 17644 // inflate.h -- internal inflate state definition 17645 // Copyright (C) 1995-2016 Mark Adler 17646 // For conditions of distribution and use, see copyright notice in zlib.h 17647 17648 // WARNING: this file should *not* be used by applications. It is 17649 // part of the implementation of the compression library and is 17650 // subject to change. Applications should only use zlib.h. 17651 // 17652 17653 // define NO_GZIP when compiling if you want to disable gzip header and 17654 // trailer decoding by inflate(). NO_GZIP would be used to avoid linking in 17655 // the crc code when it is not needed. For shared libraries, gzip decoding 17656 // should be left enabled. 17657 17658 // Possible inflate modes between inflate() calls 17659 type Inflate_mode = uint32 /* inflate.h:53:3 */ 17660 17661 // 17662 // State transitions between above modes - 17663 // 17664 // (most modes can go to BAD or MEM on error -- not shown for clarity) 17665 // 17666 // Process header: 17667 // HEAD -> (gzip) or (zlib) or (raw) 17668 // (gzip) -> FLAGS -> TIME -> OS -> EXLEN -> EXTRA -> NAME -> COMMENT -> 17669 // HCRC -> TYPE 17670 // (zlib) -> DICTID or TYPE 17671 // DICTID -> DICT -> TYPE 17672 // (raw) -> TYPEDO 17673 // Read deflate blocks: 17674 // TYPE -> TYPEDO -> STORED or TABLE or LEN_ or CHECK 17675 // STORED -> COPY_ -> COPY -> TYPE 17676 // TABLE -> LENLENS -> CODELENS -> LEN_ 17677 // LEN_ -> LEN 17678 // Read deflate codes in fixed or dynamic block: 17679 // LEN -> LENEXT or LIT or TYPE 17680 // LENEXT -> DIST -> DISTEXT -> MATCH -> LEN 17681 // LIT -> LEN 17682 // Process trailer: 17683 // CHECK -> LENGTH -> DONE 17684 // 17685 17686 // State maintained between inflate() calls -- approximately 7K bytes, not 17687 // including the allocated sliding window, which is up to 32K bytes. 17688 type Inflate_state = struct { 17689 Fstrm Z_streamp 17690 Fmode Inflate_mode 17691 Flast int32 17692 Fwrap int32 17693 Fhavedict int32 17694 Fflags int32 17695 Fdmax uint32 17696 Fcheck uint64 17697 Ftotal uint64 17698 Fhead Gz_headerp 17699 Fwbits uint32 17700 Fwsize uint32 17701 Fwhave uint32 17702 Fwnext uint32 17703 Fwindow uintptr 17704 Fhold uint64 17705 Fbits uint32 17706 Flength uint32 17707 Foffset uint32 17708 Fextra uint32 17709 Flencode uintptr 17710 Fdistcode uintptr 17711 Flenbits uint32 17712 Fdistbits uint32 17713 Fncode uint32 17714 Fnlen uint32 17715 Fndist uint32 17716 Fhave uint32 17717 Fnext uintptr 17718 Flens [320]uint16 17719 Fwork [288]uint16 17720 Fcodes [1444]Code 17721 Fsane int32 17722 Fback int32 17723 Fwas uint32 17724 F__ccgo_pad1 [4]byte 17725 } /* inflate.h:82:1 */ 17726 17727 // 17728 // strm provides memory allocation functions in zalloc and zfree, or 17729 // Z_NULL to use the library memory allocation functions. 17730 // 17731 // windowBits is in the range 8..15, and window is a user-supplied 17732 // window and output buffer that is 2**windowBits bytes. 17733 // 17734 func XinflateBackInit_(tls *libc.TLS, strm Z_streamp, windowBits int32, window uintptr, version uintptr, stream_size int32) int32 { /* infback.c:28:13: */ 17735 var state uintptr 17736 17737 if version == uintptr(Z_NULL) || int32(*(*int8)(unsafe.Pointer(version))) != int32(*(*int8)(unsafe.Pointer(ts))) || stream_size != int32(unsafe.Sizeof(Z_stream{})) { 17738 return -6 17739 } 17740 if strm == uintptr(Z_NULL) || window == uintptr(Z_NULL) || windowBits < 8 || windowBits > 15 { 17741 return -2 17742 } 17743 (*Z_stream)(unsafe.Pointer(strm)).Fmsg = uintptr(Z_NULL) // in case we return an error 17744 if (*Z_stream)(unsafe.Pointer(strm)).Fzalloc == uintptr(0) { 17745 (*Z_stream)(unsafe.Pointer(strm)).Fzalloc = *(*uintptr)(unsafe.Pointer(&struct { 17746 f func(*libc.TLS, Voidpf, uint32, uint32) Voidpf 17747 }{Xzcalloc})) 17748 (*Z_stream)(unsafe.Pointer(strm)).Fopaque = uintptr(0) 17749 } 17750 if (*Z_stream)(unsafe.Pointer(strm)).Fzfree == uintptr(0) { 17751 (*Z_stream)(unsafe.Pointer(strm)).Fzfree = *(*uintptr)(unsafe.Pointer(&struct { 17752 f func(*libc.TLS, Voidpf, Voidpf) 17753 }{Xzcfree})) 17754 } 17755 state = (*struct { 17756 f func(*libc.TLS, Voidpf, UInt, UInt) Voidpf 17757 })(unsafe.Pointer(&struct{ uintptr }{(*Z_stream)(unsafe.Pointer(strm)).Fzalloc})).f(tls, (*Z_stream)(unsafe.Pointer(strm)).Fopaque, uint32(1), uint32(unsafe.Sizeof(Inflate_state{}))) 17758 if state == uintptr(Z_NULL) { 17759 return -4 17760 } 17761 17762 (*Z_stream)(unsafe.Pointer(strm)).Fstate = state 17763 (*Inflate_state)(unsafe.Pointer(state)).Fdmax = 32768 17764 (*Inflate_state)(unsafe.Pointer(state)).Fwbits = UInt(windowBits) 17765 (*Inflate_state)(unsafe.Pointer(state)).Fwsize = uint32(1) << windowBits 17766 (*Inflate_state)(unsafe.Pointer(state)).Fwindow = window 17767 (*Inflate_state)(unsafe.Pointer(state)).Fwnext = uint32(0) 17768 (*Inflate_state)(unsafe.Pointer(state)).Fwhave = uint32(0) 17769 return Z_OK 17770 } 17771 17772 // 17773 // Return state with length and distance decoding tables and index sizes set to 17774 // fixed code decoding. Normally this returns fixed tables from inffixed.h. 17775 // If BUILDFIXED is defined, then instead this routine builds the tables the 17776 // first time it's called, and returns those tables the first time and 17777 // thereafter. This reduces the size of the code by about 2K bytes, in 17778 // exchange for a little execution time. However, BUILDFIXED should not be 17779 // used for threaded applications, since the rewriting of the tables and virgin 17780 // may not be thread-safe. 17781 // 17782 func fixedtables(tls *libc.TLS, state uintptr) { /* infback.c:82:12: */ 17783 (*Inflate_state)(unsafe.Pointer(state)).Flencode = uintptr(unsafe.Pointer(&lenfix)) 17784 (*Inflate_state)(unsafe.Pointer(state)).Flenbits = uint32(9) 17785 (*Inflate_state)(unsafe.Pointer(state)).Fdistcode = uintptr(unsafe.Pointer(&distfix)) 17786 (*Inflate_state)(unsafe.Pointer(state)).Fdistbits = uint32(5) 17787 } 17788 17789 var lenfix = [512]Code{ 17790 {Fop: uint8(96), Fbits: uint8(7)}, {Fbits: uint8(8), Fval: uint16(80)}, {Fbits: uint8(8), Fval: uint16(16)}, {Fop: uint8(20), Fbits: uint8(8), Fval: uint16(115)}, {Fop: uint8(18), Fbits: uint8(7), Fval: uint16(31)}, {Fbits: uint8(8), Fval: uint16(112)}, {Fbits: uint8(8), Fval: uint16(48)}, 17791 {Fbits: uint8(9), Fval: uint16(192)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(10)}, {Fbits: uint8(8), Fval: uint16(96)}, {Fbits: uint8(8), Fval: uint16(32)}, {Fbits: uint8(9), Fval: uint16(160)}, {Fbits: uint8(8)}, {Fbits: uint8(8), Fval: uint16(128)}, 17792 {Fbits: uint8(8), Fval: uint16(64)}, {Fbits: uint8(9), Fval: uint16(224)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(6)}, {Fbits: uint8(8), Fval: uint16(88)}, {Fbits: uint8(8), Fval: uint16(24)}, {Fbits: uint8(9), Fval: uint16(144)}, {Fop: uint8(19), Fbits: uint8(7), Fval: uint16(59)}, 17793 {Fbits: uint8(8), Fval: uint16(120)}, {Fbits: uint8(8), Fval: uint16(56)}, {Fbits: uint8(9), Fval: uint16(208)}, {Fop: uint8(17), Fbits: uint8(7), Fval: uint16(17)}, {Fbits: uint8(8), Fval: uint16(104)}, {Fbits: uint8(8), Fval: uint16(40)}, {Fbits: uint8(9), Fval: uint16(176)}, 17794 {Fbits: uint8(8), Fval: uint16(8)}, {Fbits: uint8(8), Fval: uint16(136)}, {Fbits: uint8(8), Fval: uint16(72)}, {Fbits: uint8(9), Fval: uint16(240)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(4)}, {Fbits: uint8(8), Fval: uint16(84)}, {Fbits: uint8(8), Fval: uint16(20)}, 17795 {Fop: uint8(21), Fbits: uint8(8), Fval: uint16(227)}, {Fop: uint8(19), Fbits: uint8(7), Fval: uint16(43)}, {Fbits: uint8(8), Fval: uint16(116)}, {Fbits: uint8(8), Fval: uint16(52)}, {Fbits: uint8(9), Fval: uint16(200)}, {Fop: uint8(17), Fbits: uint8(7), Fval: uint16(13)}, {Fbits: uint8(8), Fval: uint16(100)}, 17796 {Fbits: uint8(8), Fval: uint16(36)}, {Fbits: uint8(9), Fval: uint16(168)}, {Fbits: uint8(8), Fval: uint16(4)}, {Fbits: uint8(8), Fval: uint16(132)}, {Fbits: uint8(8), Fval: uint16(68)}, {Fbits: uint8(9), Fval: uint16(232)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(8)}, 17797 {Fbits: uint8(8), Fval: uint16(92)}, {Fbits: uint8(8), Fval: uint16(28)}, {Fbits: uint8(9), Fval: uint16(152)}, {Fop: uint8(20), Fbits: uint8(7), Fval: uint16(83)}, {Fbits: uint8(8), Fval: uint16(124)}, {Fbits: uint8(8), Fval: uint16(60)}, {Fbits: uint8(9), Fval: uint16(216)}, 17798 {Fop: uint8(18), Fbits: uint8(7), Fval: uint16(23)}, {Fbits: uint8(8), Fval: uint16(108)}, {Fbits: uint8(8), Fval: uint16(44)}, {Fbits: uint8(9), Fval: uint16(184)}, {Fbits: uint8(8), Fval: uint16(12)}, {Fbits: uint8(8), Fval: uint16(140)}, {Fbits: uint8(8), Fval: uint16(76)}, 17799 {Fbits: uint8(9), Fval: uint16(248)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(3)}, {Fbits: uint8(8), Fval: uint16(82)}, {Fbits: uint8(8), Fval: uint16(18)}, {Fop: uint8(21), Fbits: uint8(8), Fval: uint16(163)}, {Fop: uint8(19), Fbits: uint8(7), Fval: uint16(35)}, {Fbits: uint8(8), Fval: uint16(114)}, 17800 {Fbits: uint8(8), Fval: uint16(50)}, {Fbits: uint8(9), Fval: uint16(196)}, {Fop: uint8(17), Fbits: uint8(7), Fval: uint16(11)}, {Fbits: uint8(8), Fval: uint16(98)}, {Fbits: uint8(8), Fval: uint16(34)}, {Fbits: uint8(9), Fval: uint16(164)}, {Fbits: uint8(8), Fval: uint16(2)}, 17801 {Fbits: uint8(8), Fval: uint16(130)}, {Fbits: uint8(8), Fval: uint16(66)}, {Fbits: uint8(9), Fval: uint16(228)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(7)}, {Fbits: uint8(8), Fval: uint16(90)}, {Fbits: uint8(8), Fval: uint16(26)}, {Fbits: uint8(9), Fval: uint16(148)}, 17802 {Fop: uint8(20), Fbits: uint8(7), Fval: uint16(67)}, {Fbits: uint8(8), Fval: uint16(122)}, {Fbits: uint8(8), Fval: uint16(58)}, {Fbits: uint8(9), Fval: uint16(212)}, {Fop: uint8(18), Fbits: uint8(7), Fval: uint16(19)}, {Fbits: uint8(8), Fval: uint16(106)}, {Fbits: uint8(8), Fval: uint16(42)}, 17803 {Fbits: uint8(9), Fval: uint16(180)}, {Fbits: uint8(8), Fval: uint16(10)}, {Fbits: uint8(8), Fval: uint16(138)}, {Fbits: uint8(8), Fval: uint16(74)}, {Fbits: uint8(9), Fval: uint16(244)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(5)}, {Fbits: uint8(8), Fval: uint16(86)}, 17804 {Fbits: uint8(8), Fval: uint16(22)}, {Fop: uint8(64), Fbits: uint8(8)}, {Fop: uint8(19), Fbits: uint8(7), Fval: uint16(51)}, {Fbits: uint8(8), Fval: uint16(118)}, {Fbits: uint8(8), Fval: uint16(54)}, {Fbits: uint8(9), Fval: uint16(204)}, {Fop: uint8(17), Fbits: uint8(7), Fval: uint16(15)}, 17805 {Fbits: uint8(8), Fval: uint16(102)}, {Fbits: uint8(8), Fval: uint16(38)}, {Fbits: uint8(9), Fval: uint16(172)}, {Fbits: uint8(8), Fval: uint16(6)}, {Fbits: uint8(8), Fval: uint16(134)}, {Fbits: uint8(8), Fval: uint16(70)}, {Fbits: uint8(9), Fval: uint16(236)}, 17806 {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(9)}, {Fbits: uint8(8), Fval: uint16(94)}, {Fbits: uint8(8), Fval: uint16(30)}, {Fbits: uint8(9), Fval: uint16(156)}, {Fop: uint8(20), Fbits: uint8(7), Fval: uint16(99)}, {Fbits: uint8(8), Fval: uint16(126)}, {Fbits: uint8(8), Fval: uint16(62)}, 17807 {Fbits: uint8(9), Fval: uint16(220)}, {Fop: uint8(18), Fbits: uint8(7), Fval: uint16(27)}, {Fbits: uint8(8), Fval: uint16(110)}, {Fbits: uint8(8), Fval: uint16(46)}, {Fbits: uint8(9), Fval: uint16(188)}, {Fbits: uint8(8), Fval: uint16(14)}, {Fbits: uint8(8), Fval: uint16(142)}, 17808 {Fbits: uint8(8), Fval: uint16(78)}, {Fbits: uint8(9), Fval: uint16(252)}, {Fop: uint8(96), Fbits: uint8(7)}, {Fbits: uint8(8), Fval: uint16(81)}, {Fbits: uint8(8), Fval: uint16(17)}, {Fop: uint8(21), Fbits: uint8(8), Fval: uint16(131)}, {Fop: uint8(18), Fbits: uint8(7), Fval: uint16(31)}, 17809 {Fbits: uint8(8), Fval: uint16(113)}, {Fbits: uint8(8), Fval: uint16(49)}, {Fbits: uint8(9), Fval: uint16(194)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(10)}, {Fbits: uint8(8), Fval: uint16(97)}, {Fbits: uint8(8), Fval: uint16(33)}, {Fbits: uint8(9), Fval: uint16(162)}, 17810 {Fbits: uint8(8), Fval: uint16(1)}, {Fbits: uint8(8), Fval: uint16(129)}, {Fbits: uint8(8), Fval: uint16(65)}, {Fbits: uint8(9), Fval: uint16(226)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(6)}, {Fbits: uint8(8), Fval: uint16(89)}, {Fbits: uint8(8), Fval: uint16(25)}, 17811 {Fbits: uint8(9), Fval: uint16(146)}, {Fop: uint8(19), Fbits: uint8(7), Fval: uint16(59)}, {Fbits: uint8(8), Fval: uint16(121)}, {Fbits: uint8(8), Fval: uint16(57)}, {Fbits: uint8(9), Fval: uint16(210)}, {Fop: uint8(17), Fbits: uint8(7), Fval: uint16(17)}, {Fbits: uint8(8), Fval: uint16(105)}, 17812 {Fbits: uint8(8), Fval: uint16(41)}, {Fbits: uint8(9), Fval: uint16(178)}, {Fbits: uint8(8), Fval: uint16(9)}, {Fbits: uint8(8), Fval: uint16(137)}, {Fbits: uint8(8), Fval: uint16(73)}, {Fbits: uint8(9), Fval: uint16(242)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(4)}, 17813 {Fbits: uint8(8), Fval: uint16(85)}, {Fbits: uint8(8), Fval: uint16(21)}, {Fop: uint8(16), Fbits: uint8(8), Fval: uint16(258)}, {Fop: uint8(19), Fbits: uint8(7), Fval: uint16(43)}, {Fbits: uint8(8), Fval: uint16(117)}, {Fbits: uint8(8), Fval: uint16(53)}, {Fbits: uint8(9), Fval: uint16(202)}, 17814 {Fop: uint8(17), Fbits: uint8(7), Fval: uint16(13)}, {Fbits: uint8(8), Fval: uint16(101)}, {Fbits: uint8(8), Fval: uint16(37)}, {Fbits: uint8(9), Fval: uint16(170)}, {Fbits: uint8(8), Fval: uint16(5)}, {Fbits: uint8(8), Fval: uint16(133)}, {Fbits: uint8(8), Fval: uint16(69)}, 17815 {Fbits: uint8(9), Fval: uint16(234)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(8)}, {Fbits: uint8(8), Fval: uint16(93)}, {Fbits: uint8(8), Fval: uint16(29)}, {Fbits: uint8(9), Fval: uint16(154)}, {Fop: uint8(20), Fbits: uint8(7), Fval: uint16(83)}, {Fbits: uint8(8), Fval: uint16(125)}, 17816 {Fbits: uint8(8), Fval: uint16(61)}, {Fbits: uint8(9), Fval: uint16(218)}, {Fop: uint8(18), Fbits: uint8(7), Fval: uint16(23)}, {Fbits: uint8(8), Fval: uint16(109)}, {Fbits: uint8(8), Fval: uint16(45)}, {Fbits: uint8(9), Fval: uint16(186)}, {Fbits: uint8(8), Fval: uint16(13)}, 17817 {Fbits: uint8(8), Fval: uint16(141)}, {Fbits: uint8(8), Fval: uint16(77)}, {Fbits: uint8(9), Fval: uint16(250)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(3)}, {Fbits: uint8(8), Fval: uint16(83)}, {Fbits: uint8(8), Fval: uint16(19)}, {Fop: uint8(21), Fbits: uint8(8), Fval: uint16(195)}, 17818 {Fop: uint8(19), Fbits: uint8(7), Fval: uint16(35)}, {Fbits: uint8(8), Fval: uint16(115)}, {Fbits: uint8(8), Fval: uint16(51)}, {Fbits: uint8(9), Fval: uint16(198)}, {Fop: uint8(17), Fbits: uint8(7), Fval: uint16(11)}, {Fbits: uint8(8), Fval: uint16(99)}, {Fbits: uint8(8), Fval: uint16(35)}, 17819 {Fbits: uint8(9), Fval: uint16(166)}, {Fbits: uint8(8), Fval: uint16(3)}, {Fbits: uint8(8), Fval: uint16(131)}, {Fbits: uint8(8), Fval: uint16(67)}, {Fbits: uint8(9), Fval: uint16(230)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(7)}, {Fbits: uint8(8), Fval: uint16(91)}, 17820 {Fbits: uint8(8), Fval: uint16(27)}, {Fbits: uint8(9), Fval: uint16(150)}, {Fop: uint8(20), Fbits: uint8(7), Fval: uint16(67)}, {Fbits: uint8(8), Fval: uint16(123)}, {Fbits: uint8(8), Fval: uint16(59)}, {Fbits: uint8(9), Fval: uint16(214)}, {Fop: uint8(18), Fbits: uint8(7), Fval: uint16(19)}, 17821 {Fbits: uint8(8), Fval: uint16(107)}, {Fbits: uint8(8), Fval: uint16(43)}, {Fbits: uint8(9), Fval: uint16(182)}, {Fbits: uint8(8), Fval: uint16(11)}, {Fbits: uint8(8), Fval: uint16(139)}, {Fbits: uint8(8), Fval: uint16(75)}, {Fbits: uint8(9), Fval: uint16(246)}, 17822 {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(5)}, {Fbits: uint8(8), Fval: uint16(87)}, {Fbits: uint8(8), Fval: uint16(23)}, {Fop: uint8(64), Fbits: uint8(8)}, {Fop: uint8(19), Fbits: uint8(7), Fval: uint16(51)}, {Fbits: uint8(8), Fval: uint16(119)}, {Fbits: uint8(8), Fval: uint16(55)}, 17823 {Fbits: uint8(9), Fval: uint16(206)}, {Fop: uint8(17), Fbits: uint8(7), Fval: uint16(15)}, {Fbits: uint8(8), Fval: uint16(103)}, {Fbits: uint8(8), Fval: uint16(39)}, {Fbits: uint8(9), Fval: uint16(174)}, {Fbits: uint8(8), Fval: uint16(7)}, {Fbits: uint8(8), Fval: uint16(135)}, 17824 {Fbits: uint8(8), Fval: uint16(71)}, {Fbits: uint8(9), Fval: uint16(238)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(9)}, {Fbits: uint8(8), Fval: uint16(95)}, {Fbits: uint8(8), Fval: uint16(31)}, {Fbits: uint8(9), Fval: uint16(158)}, {Fop: uint8(20), Fbits: uint8(7), Fval: uint16(99)}, 17825 {Fbits: uint8(8), Fval: uint16(127)}, {Fbits: uint8(8), Fval: uint16(63)}, {Fbits: uint8(9), Fval: uint16(222)}, {Fop: uint8(18), Fbits: uint8(7), Fval: uint16(27)}, {Fbits: uint8(8), Fval: uint16(111)}, {Fbits: uint8(8), Fval: uint16(47)}, {Fbits: uint8(9), Fval: uint16(190)}, 17826 {Fbits: uint8(8), Fval: uint16(15)}, {Fbits: uint8(8), Fval: uint16(143)}, {Fbits: uint8(8), Fval: uint16(79)}, {Fbits: uint8(9), Fval: uint16(254)}, {Fop: uint8(96), Fbits: uint8(7)}, {Fbits: uint8(8), Fval: uint16(80)}, {Fbits: uint8(8), Fval: uint16(16)}, 17827 {Fop: uint8(20), Fbits: uint8(8), Fval: uint16(115)}, {Fop: uint8(18), Fbits: uint8(7), Fval: uint16(31)}, {Fbits: uint8(8), Fval: uint16(112)}, {Fbits: uint8(8), Fval: uint16(48)}, {Fbits: uint8(9), Fval: uint16(193)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(10)}, {Fbits: uint8(8), Fval: uint16(96)}, 17828 {Fbits: uint8(8), Fval: uint16(32)}, {Fbits: uint8(9), Fval: uint16(161)}, {Fbits: uint8(8)}, {Fbits: uint8(8), Fval: uint16(128)}, {Fbits: uint8(8), Fval: uint16(64)}, {Fbits: uint8(9), Fval: uint16(225)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(6)}, 17829 {Fbits: uint8(8), Fval: uint16(88)}, {Fbits: uint8(8), Fval: uint16(24)}, {Fbits: uint8(9), Fval: uint16(145)}, {Fop: uint8(19), Fbits: uint8(7), Fval: uint16(59)}, {Fbits: uint8(8), Fval: uint16(120)}, {Fbits: uint8(8), Fval: uint16(56)}, {Fbits: uint8(9), Fval: uint16(209)}, 17830 {Fop: uint8(17), Fbits: uint8(7), Fval: uint16(17)}, {Fbits: uint8(8), Fval: uint16(104)}, {Fbits: uint8(8), Fval: uint16(40)}, {Fbits: uint8(9), Fval: uint16(177)}, {Fbits: uint8(8), Fval: uint16(8)}, {Fbits: uint8(8), Fval: uint16(136)}, {Fbits: uint8(8), Fval: uint16(72)}, 17831 {Fbits: uint8(9), Fval: uint16(241)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(4)}, {Fbits: uint8(8), Fval: uint16(84)}, {Fbits: uint8(8), Fval: uint16(20)}, {Fop: uint8(21), Fbits: uint8(8), Fval: uint16(227)}, {Fop: uint8(19), Fbits: uint8(7), Fval: uint16(43)}, {Fbits: uint8(8), Fval: uint16(116)}, 17832 {Fbits: uint8(8), Fval: uint16(52)}, {Fbits: uint8(9), Fval: uint16(201)}, {Fop: uint8(17), Fbits: uint8(7), Fval: uint16(13)}, {Fbits: uint8(8), Fval: uint16(100)}, {Fbits: uint8(8), Fval: uint16(36)}, {Fbits: uint8(9), Fval: uint16(169)}, {Fbits: uint8(8), Fval: uint16(4)}, 17833 {Fbits: uint8(8), Fval: uint16(132)}, {Fbits: uint8(8), Fval: uint16(68)}, {Fbits: uint8(9), Fval: uint16(233)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(8)}, {Fbits: uint8(8), Fval: uint16(92)}, {Fbits: uint8(8), Fval: uint16(28)}, {Fbits: uint8(9), Fval: uint16(153)}, 17834 {Fop: uint8(20), Fbits: uint8(7), Fval: uint16(83)}, {Fbits: uint8(8), Fval: uint16(124)}, {Fbits: uint8(8), Fval: uint16(60)}, {Fbits: uint8(9), Fval: uint16(217)}, {Fop: uint8(18), Fbits: uint8(7), Fval: uint16(23)}, {Fbits: uint8(8), Fval: uint16(108)}, {Fbits: uint8(8), Fval: uint16(44)}, 17835 {Fbits: uint8(9), Fval: uint16(185)}, {Fbits: uint8(8), Fval: uint16(12)}, {Fbits: uint8(8), Fval: uint16(140)}, {Fbits: uint8(8), Fval: uint16(76)}, {Fbits: uint8(9), Fval: uint16(249)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(3)}, {Fbits: uint8(8), Fval: uint16(82)}, 17836 {Fbits: uint8(8), Fval: uint16(18)}, {Fop: uint8(21), Fbits: uint8(8), Fval: uint16(163)}, {Fop: uint8(19), Fbits: uint8(7), Fval: uint16(35)}, {Fbits: uint8(8), Fval: uint16(114)}, {Fbits: uint8(8), Fval: uint16(50)}, {Fbits: uint8(9), Fval: uint16(197)}, {Fop: uint8(17), Fbits: uint8(7), Fval: uint16(11)}, 17837 {Fbits: uint8(8), Fval: uint16(98)}, {Fbits: uint8(8), Fval: uint16(34)}, {Fbits: uint8(9), Fval: uint16(165)}, {Fbits: uint8(8), Fval: uint16(2)}, {Fbits: uint8(8), Fval: uint16(130)}, {Fbits: uint8(8), Fval: uint16(66)}, {Fbits: uint8(9), Fval: uint16(229)}, 17838 {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(7)}, {Fbits: uint8(8), Fval: uint16(90)}, {Fbits: uint8(8), Fval: uint16(26)}, {Fbits: uint8(9), Fval: uint16(149)}, {Fop: uint8(20), Fbits: uint8(7), Fval: uint16(67)}, {Fbits: uint8(8), Fval: uint16(122)}, {Fbits: uint8(8), Fval: uint16(58)}, 17839 {Fbits: uint8(9), Fval: uint16(213)}, {Fop: uint8(18), Fbits: uint8(7), Fval: uint16(19)}, {Fbits: uint8(8), Fval: uint16(106)}, {Fbits: uint8(8), Fval: uint16(42)}, {Fbits: uint8(9), Fval: uint16(181)}, {Fbits: uint8(8), Fval: uint16(10)}, {Fbits: uint8(8), Fval: uint16(138)}, 17840 {Fbits: uint8(8), Fval: uint16(74)}, {Fbits: uint8(9), Fval: uint16(245)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(5)}, {Fbits: uint8(8), Fval: uint16(86)}, {Fbits: uint8(8), Fval: uint16(22)}, {Fop: uint8(64), Fbits: uint8(8)}, {Fop: uint8(19), Fbits: uint8(7), Fval: uint16(51)}, 17841 {Fbits: uint8(8), Fval: uint16(118)}, {Fbits: uint8(8), Fval: uint16(54)}, {Fbits: uint8(9), Fval: uint16(205)}, {Fop: uint8(17), Fbits: uint8(7), Fval: uint16(15)}, {Fbits: uint8(8), Fval: uint16(102)}, {Fbits: uint8(8), Fval: uint16(38)}, {Fbits: uint8(9), Fval: uint16(173)}, 17842 {Fbits: uint8(8), Fval: uint16(6)}, {Fbits: uint8(8), Fval: uint16(134)}, {Fbits: uint8(8), Fval: uint16(70)}, {Fbits: uint8(9), Fval: uint16(237)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(9)}, {Fbits: uint8(8), Fval: uint16(94)}, {Fbits: uint8(8), Fval: uint16(30)}, 17843 {Fbits: uint8(9), Fval: uint16(157)}, {Fop: uint8(20), Fbits: uint8(7), Fval: uint16(99)}, {Fbits: uint8(8), Fval: uint16(126)}, {Fbits: uint8(8), Fval: uint16(62)}, {Fbits: uint8(9), Fval: uint16(221)}, {Fop: uint8(18), Fbits: uint8(7), Fval: uint16(27)}, {Fbits: uint8(8), Fval: uint16(110)}, 17844 {Fbits: uint8(8), Fval: uint16(46)}, {Fbits: uint8(9), Fval: uint16(189)}, {Fbits: uint8(8), Fval: uint16(14)}, {Fbits: uint8(8), Fval: uint16(142)}, {Fbits: uint8(8), Fval: uint16(78)}, {Fbits: uint8(9), Fval: uint16(253)}, {Fop: uint8(96), Fbits: uint8(7)}, 17845 {Fbits: uint8(8), Fval: uint16(81)}, {Fbits: uint8(8), Fval: uint16(17)}, {Fop: uint8(21), Fbits: uint8(8), Fval: uint16(131)}, {Fop: uint8(18), Fbits: uint8(7), Fval: uint16(31)}, {Fbits: uint8(8), Fval: uint16(113)}, {Fbits: uint8(8), Fval: uint16(49)}, {Fbits: uint8(9), Fval: uint16(195)}, 17846 {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(10)}, {Fbits: uint8(8), Fval: uint16(97)}, {Fbits: uint8(8), Fval: uint16(33)}, {Fbits: uint8(9), Fval: uint16(163)}, {Fbits: uint8(8), Fval: uint16(1)}, {Fbits: uint8(8), Fval: uint16(129)}, {Fbits: uint8(8), Fval: uint16(65)}, 17847 {Fbits: uint8(9), Fval: uint16(227)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(6)}, {Fbits: uint8(8), Fval: uint16(89)}, {Fbits: uint8(8), Fval: uint16(25)}, {Fbits: uint8(9), Fval: uint16(147)}, {Fop: uint8(19), Fbits: uint8(7), Fval: uint16(59)}, {Fbits: uint8(8), Fval: uint16(121)}, 17848 {Fbits: uint8(8), Fval: uint16(57)}, {Fbits: uint8(9), Fval: uint16(211)}, {Fop: uint8(17), Fbits: uint8(7), Fval: uint16(17)}, {Fbits: uint8(8), Fval: uint16(105)}, {Fbits: uint8(8), Fval: uint16(41)}, {Fbits: uint8(9), Fval: uint16(179)}, {Fbits: uint8(8), Fval: uint16(9)}, 17849 {Fbits: uint8(8), Fval: uint16(137)}, {Fbits: uint8(8), Fval: uint16(73)}, {Fbits: uint8(9), Fval: uint16(243)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(4)}, {Fbits: uint8(8), Fval: uint16(85)}, {Fbits: uint8(8), Fval: uint16(21)}, {Fop: uint8(16), Fbits: uint8(8), Fval: uint16(258)}, 17850 {Fop: uint8(19), Fbits: uint8(7), Fval: uint16(43)}, {Fbits: uint8(8), Fval: uint16(117)}, {Fbits: uint8(8), Fval: uint16(53)}, {Fbits: uint8(9), Fval: uint16(203)}, {Fop: uint8(17), Fbits: uint8(7), Fval: uint16(13)}, {Fbits: uint8(8), Fval: uint16(101)}, {Fbits: uint8(8), Fval: uint16(37)}, 17851 {Fbits: uint8(9), Fval: uint16(171)}, {Fbits: uint8(8), Fval: uint16(5)}, {Fbits: uint8(8), Fval: uint16(133)}, {Fbits: uint8(8), Fval: uint16(69)}, {Fbits: uint8(9), Fval: uint16(235)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(8)}, {Fbits: uint8(8), Fval: uint16(93)}, 17852 {Fbits: uint8(8), Fval: uint16(29)}, {Fbits: uint8(9), Fval: uint16(155)}, {Fop: uint8(20), Fbits: uint8(7), Fval: uint16(83)}, {Fbits: uint8(8), Fval: uint16(125)}, {Fbits: uint8(8), Fval: uint16(61)}, {Fbits: uint8(9), Fval: uint16(219)}, {Fop: uint8(18), Fbits: uint8(7), Fval: uint16(23)}, 17853 {Fbits: uint8(8), Fval: uint16(109)}, {Fbits: uint8(8), Fval: uint16(45)}, {Fbits: uint8(9), Fval: uint16(187)}, {Fbits: uint8(8), Fval: uint16(13)}, {Fbits: uint8(8), Fval: uint16(141)}, {Fbits: uint8(8), Fval: uint16(77)}, {Fbits: uint8(9), Fval: uint16(251)}, 17854 {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(3)}, {Fbits: uint8(8), Fval: uint16(83)}, {Fbits: uint8(8), Fval: uint16(19)}, {Fop: uint8(21), Fbits: uint8(8), Fval: uint16(195)}, {Fop: uint8(19), Fbits: uint8(7), Fval: uint16(35)}, {Fbits: uint8(8), Fval: uint16(115)}, {Fbits: uint8(8), Fval: uint16(51)}, 17855 {Fbits: uint8(9), Fval: uint16(199)}, {Fop: uint8(17), Fbits: uint8(7), Fval: uint16(11)}, {Fbits: uint8(8), Fval: uint16(99)}, {Fbits: uint8(8), Fval: uint16(35)}, {Fbits: uint8(9), Fval: uint16(167)}, {Fbits: uint8(8), Fval: uint16(3)}, {Fbits: uint8(8), Fval: uint16(131)}, 17856 {Fbits: uint8(8), Fval: uint16(67)}, {Fbits: uint8(9), Fval: uint16(231)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(7)}, {Fbits: uint8(8), Fval: uint16(91)}, {Fbits: uint8(8), Fval: uint16(27)}, {Fbits: uint8(9), Fval: uint16(151)}, {Fop: uint8(20), Fbits: uint8(7), Fval: uint16(67)}, 17857 {Fbits: uint8(8), Fval: uint16(123)}, {Fbits: uint8(8), Fval: uint16(59)}, {Fbits: uint8(9), Fval: uint16(215)}, {Fop: uint8(18), Fbits: uint8(7), Fval: uint16(19)}, {Fbits: uint8(8), Fval: uint16(107)}, {Fbits: uint8(8), Fval: uint16(43)}, {Fbits: uint8(9), Fval: uint16(183)}, 17858 {Fbits: uint8(8), Fval: uint16(11)}, {Fbits: uint8(8), Fval: uint16(139)}, {Fbits: uint8(8), Fval: uint16(75)}, {Fbits: uint8(9), Fval: uint16(247)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(5)}, {Fbits: uint8(8), Fval: uint16(87)}, {Fbits: uint8(8), Fval: uint16(23)}, 17859 {Fop: uint8(64), Fbits: uint8(8)}, {Fop: uint8(19), Fbits: uint8(7), Fval: uint16(51)}, {Fbits: uint8(8), Fval: uint16(119)}, {Fbits: uint8(8), Fval: uint16(55)}, {Fbits: uint8(9), Fval: uint16(207)}, {Fop: uint8(17), Fbits: uint8(7), Fval: uint16(15)}, {Fbits: uint8(8), Fval: uint16(103)}, 17860 {Fbits: uint8(8), Fval: uint16(39)}, {Fbits: uint8(9), Fval: uint16(175)}, {Fbits: uint8(8), Fval: uint16(7)}, {Fbits: uint8(8), Fval: uint16(135)}, {Fbits: uint8(8), Fval: uint16(71)}, {Fbits: uint8(9), Fval: uint16(239)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(9)}, 17861 {Fbits: uint8(8), Fval: uint16(95)}, {Fbits: uint8(8), Fval: uint16(31)}, {Fbits: uint8(9), Fval: uint16(159)}, {Fop: uint8(20), Fbits: uint8(7), Fval: uint16(99)}, {Fbits: uint8(8), Fval: uint16(127)}, {Fbits: uint8(8), Fval: uint16(63)}, {Fbits: uint8(9), Fval: uint16(223)}, 17862 {Fop: uint8(18), Fbits: uint8(7), Fval: uint16(27)}, {Fbits: uint8(8), Fval: uint16(111)}, {Fbits: uint8(8), Fval: uint16(47)}, {Fbits: uint8(9), Fval: uint16(191)}, {Fbits: uint8(8), Fval: uint16(15)}, {Fbits: uint8(8), Fval: uint16(143)}, {Fbits: uint8(8), Fval: uint16(79)}, 17863 {Fbits: uint8(9), Fval: uint16(255)}, 17864 } /* inffixed.h:10:23 */ 17865 var distfix = [32]Code{ 17866 {Fop: uint8(16), Fbits: uint8(5), Fval: uint16(1)}, {Fop: uint8(23), Fbits: uint8(5), Fval: uint16(257)}, {Fop: uint8(19), Fbits: uint8(5), Fval: uint16(17)}, {Fop: uint8(27), Fbits: uint8(5), Fval: uint16(4097)}, {Fop: uint8(17), Fbits: uint8(5), Fval: uint16(5)}, {Fop: uint8(25), Fbits: uint8(5), Fval: uint16(1025)}, 17867 {Fop: uint8(21), Fbits: uint8(5), Fval: uint16(65)}, {Fop: uint8(29), Fbits: uint8(5), Fval: uint16(16385)}, {Fop: uint8(16), Fbits: uint8(5), Fval: uint16(3)}, {Fop: uint8(24), Fbits: uint8(5), Fval: uint16(513)}, {Fop: uint8(20), Fbits: uint8(5), Fval: uint16(33)}, {Fop: uint8(28), Fbits: uint8(5), Fval: uint16(8193)}, 17868 {Fop: uint8(18), Fbits: uint8(5), Fval: uint16(9)}, {Fop: uint8(26), Fbits: uint8(5), Fval: uint16(2049)}, {Fop: uint8(22), Fbits: uint8(5), Fval: uint16(129)}, {Fop: uint8(64), Fbits: uint8(5)}, {Fop: uint8(16), Fbits: uint8(5), Fval: uint16(2)}, {Fop: uint8(23), Fbits: uint8(5), Fval: uint16(385)}, 17869 {Fop: uint8(19), Fbits: uint8(5), Fval: uint16(25)}, {Fop: uint8(27), Fbits: uint8(5), Fval: uint16(6145)}, {Fop: uint8(17), Fbits: uint8(5), Fval: uint16(7)}, {Fop: uint8(25), Fbits: uint8(5), Fval: uint16(1537)}, {Fop: uint8(21), Fbits: uint8(5), Fval: uint16(97)}, {Fop: uint8(29), Fbits: uint8(5), Fval: uint16(24577)}, 17870 {Fop: uint8(16), Fbits: uint8(5), Fval: uint16(4)}, {Fop: uint8(24), Fbits: uint8(5), Fval: uint16(769)}, {Fop: uint8(20), Fbits: uint8(5), Fval: uint16(49)}, {Fop: uint8(28), Fbits: uint8(5), Fval: uint16(12289)}, {Fop: uint8(18), Fbits: uint8(5), Fval: uint16(13)}, {Fop: uint8(26), Fbits: uint8(5), Fval: uint16(3073)}, 17871 {Fop: uint8(22), Fbits: uint8(5), Fval: uint16(193)}, {Fop: uint8(64), Fbits: uint8(5)}, 17872 } /* inffixed.h:87:23 */ 17873 17874 // Macros for inflateBack(): 17875 17876 // Load returned state from inflate_fast() 17877 17878 // Set state from registers for inflate_fast() 17879 17880 // Clear the input bit accumulator 17881 17882 // Assure that some input is available. If input is requested, but denied, 17883 // then return a Z_BUF_ERROR from inflateBack(). 17884 17885 // Get a byte of input into the bit accumulator, or return from inflateBack() 17886 // with an error if there is no input available. 17887 17888 // Assure that there are at least n bits in the bit accumulator. If there is 17889 // not enough available input to do that, then return from inflateBack() with 17890 // an error. 17891 17892 // Return the low n bits of the bit accumulator (n < 16) 17893 17894 // Remove n bits from the bit accumulator 17895 17896 // Remove zero to seven bits as needed to go to a byte boundary 17897 17898 // Assure that some output space is available, by writing out the window 17899 // if it's full. If the write fails, return from inflateBack() with a 17900 // Z_BUF_ERROR. 17901 17902 // 17903 // strm provides the memory allocation functions and window buffer on input, 17904 // and provides information on the unused input on return. For Z_DATA_ERROR 17905 // returns, strm will also provide an error message. 17906 // 17907 // in() and out() are the call-back input and output functions. When 17908 // inflateBack() needs more input, it calls in(). When inflateBack() has 17909 // filled the window with output, or when it completes with data in the 17910 // window, it calls out() to write out the data. The application must not 17911 // change the provided input until in() is called again or inflateBack() 17912 // returns. The application must not change the window/output buffer until 17913 // inflateBack() returns. 17914 // 17915 // in() and out() are called with a descriptor parameter provided in the 17916 // inflateBack() call. This parameter can be a structure that provides the 17917 // information required to do the read or write, as well as accumulated 17918 // information on the input and output such as totals and check values. 17919 // 17920 // in() should return zero on failure. out() should return non-zero on 17921 // failure. If either in() or out() fails, than inflateBack() returns a 17922 // Z_BUF_ERROR. strm->next_in can be checked for Z_NULL to see whether it 17923 // was in() or out() that caused in the error. Otherwise, inflateBack() 17924 // returns Z_STREAM_END on success, Z_DATA_ERROR for an deflate format 17925 // error, or Z_MEM_ERROR if it could not allocate memory for the state. 17926 // inflateBack() can also return Z_STREAM_ERROR if the input parameters 17927 // are not correct, i.e. strm is Z_NULL or the state was not initialized. 17928 // 17929 func XinflateBack(tls *libc.TLS, strm Z_streamp, in In_func, in_desc uintptr, out Out_func, out_desc uintptr) int32 { /* infback.c:250:13: */ 17930 bp := tls.Alloc(8) 17931 defer tls.Free(8) 17932 17933 var state uintptr 17934 // var next uintptr at bp, 8 17935 // next input 17936 var put uintptr // next output 17937 var have uint32 17938 var left uint32 // available input and output 17939 var hold uint64 // bit buffer 17940 var bits uint32 // bits in bit buffer 17941 var copy uint32 // number of stored or match bytes to copy 17942 var from uintptr // where to copy match bytes from 17943 var here Code // current decoding table entry 17944 var last Code // parent table entry 17945 var len uint32 // length to copy for repeats, bits to drop 17946 var ret int32 17947 17948 // Check that the strm exists and that the state was initialized 17949 if !(strm == uintptr(Z_NULL) || (*Z_stream)(unsafe.Pointer(strm)).Fstate == uintptr(Z_NULL)) { 17950 goto __1 17951 } 17952 return -2 17953 __1: 17954 ; 17955 state = (*Z_stream)(unsafe.Pointer(strm)).Fstate 17956 17957 // Reset the state 17958 (*Z_stream)(unsafe.Pointer(strm)).Fmsg = uintptr(Z_NULL) 17959 (*Inflate_state)(unsafe.Pointer(state)).Fmode = TYPE 17960 (*Inflate_state)(unsafe.Pointer(state)).Flast = 0 17961 (*Inflate_state)(unsafe.Pointer(state)).Fwhave = uint32(0) 17962 *(*uintptr)(unsafe.Pointer(bp /* next */)) = (*Z_stream)(unsafe.Pointer(strm)).Fnext_in 17963 if *(*uintptr)(unsafe.Pointer(bp)) != uintptr(Z_NULL) { 17964 have = (*Z_stream)(unsafe.Pointer(strm)).Favail_in 17965 } else { 17966 have = uint32(0) 17967 } 17968 hold = uint64(0) 17969 bits = uint32(0) 17970 put = (*Inflate_state)(unsafe.Pointer(state)).Fwindow 17971 left = (*Inflate_state)(unsafe.Pointer(state)).Fwsize 17972 17973 // Inflate until end of block marked as last 17974 __2: 17975 switch (*Inflate_state)(unsafe.Pointer(state)).Fmode { 17976 case TYPE: 17977 goto __6 17978 17979 case STORED: 17980 goto __7 17981 17982 case TABLE: 17983 goto __8 17984 17985 case LEN: 17986 goto __9 17987 17988 case DONE: 17989 goto __10 17990 17991 case BAD: 17992 goto __11 17993 17994 default: 17995 goto __12 17996 } 17997 goto __5 17998 __6: 17999 // determine and dispatch block type 18000 if !((*Inflate_state)(unsafe.Pointer(state)).Flast != 0) { 18001 goto __13 18002 } 18003 __14: 18004 hold >>= bits & uint32(7) 18005 bits = bits - bits&uint32(7) 18006 goto __15 18007 __15: 18008 if 0 != 0 { 18009 goto __14 18010 } 18011 goto __16 18012 __16: 18013 ; 18014 (*Inflate_state)(unsafe.Pointer(state)).Fmode = DONE 18015 goto __5 18016 __13: 18017 ; 18018 __17: 18019 __20: 18020 if !(bits < uint32(3)) { 18021 goto __21 18022 } 18023 __22: 18024 __25: 18025 if !(have == uint32(0)) { 18026 goto __28 18027 } 18028 have = (*struct { 18029 f func(*libc.TLS, uintptr, uintptr) uint32 18030 })(unsafe.Pointer(&struct{ uintptr }{in})).f(tls, in_desc, bp /* &next */) 18031 if !(have == uint32(0)) { 18032 goto __29 18033 } 18034 *(*uintptr)(unsafe.Pointer(bp /* next */)) = uintptr(Z_NULL) 18035 ret = -5 18036 goto inf_leave 18037 __29: 18038 ; 18039 __28: 18040 ; 18041 goto __26 18042 __26: 18043 if 0 != 0 { 18044 goto __25 18045 } 18046 goto __27 18047 __27: 18048 ; 18049 have-- 18050 hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp /* next */)), 1))))<<bits 18051 bits = bits + uint32(8) 18052 goto __23 18053 __23: 18054 if 0 != 0 { 18055 goto __22 18056 } 18057 goto __24 18058 __24: 18059 ; 18060 goto __20 18061 __21: 18062 ; 18063 goto __18 18064 __18: 18065 if 0 != 0 { 18066 goto __17 18067 } 18068 goto __19 18069 __19: 18070 ; 18071 (*Inflate_state)(unsafe.Pointer(state)).Flast = int32(uint32(hold) & (uint32(1)<<1 - uint32(1))) 18072 __30: 18073 hold >>= 1 18074 bits = bits - uint32(1) 18075 goto __31 18076 __31: 18077 if 0 != 0 { 18078 goto __30 18079 } 18080 goto __32 18081 __32: 18082 ; 18083 switch uint32(hold) & (uint32(1)<<2 - uint32(1)) { 18084 case uint32(0): 18085 goto __34 18086 case uint32(1): 18087 goto __35 18088 case uint32(2): 18089 goto __36 18090 case uint32(3): 18091 goto __37 18092 } 18093 goto __33 18094 __34: // stored block 18095 ; 18096 (*Inflate_state)(unsafe.Pointer(state)).Fmode = STORED 18097 goto __33 18098 __35: // fixed block 18099 fixedtables(tls, state) 18100 18101 (*Inflate_state)(unsafe.Pointer(state)).Fmode = LEN // decode codes 18102 goto __33 18103 __36: // dynamic block 18104 ; 18105 (*Inflate_state)(unsafe.Pointer(state)).Fmode = TABLE 18106 goto __33 18107 __37: 18108 (*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 367 /* "invalid block ty..." */ 18109 (*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD 18110 __33: 18111 ; 18112 __38: 18113 hold >>= 2 18114 bits = bits - uint32(2) 18115 goto __39 18116 __39: 18117 if 0 != 0 { 18118 goto __38 18119 } 18120 goto __40 18121 __40: 18122 ; 18123 goto __5 18124 18125 __7: 18126 // get and verify stored block length 18127 __41: 18128 hold >>= bits & uint32(7) 18129 bits = bits - bits&uint32(7) 18130 goto __42 18131 __42: 18132 if 0 != 0 { 18133 goto __41 18134 } 18135 goto __43 18136 __43: 18137 ; // go to byte boundary 18138 __44: 18139 __47: 18140 if !(bits < uint32(32)) { 18141 goto __48 18142 } 18143 __49: 18144 __52: 18145 if !(have == uint32(0)) { 18146 goto __55 18147 } 18148 have = (*struct { 18149 f func(*libc.TLS, uintptr, uintptr) uint32 18150 })(unsafe.Pointer(&struct{ uintptr }{in})).f(tls, in_desc, bp /* &next */) 18151 if !(have == uint32(0)) { 18152 goto __56 18153 } 18154 *(*uintptr)(unsafe.Pointer(bp /* next */)) = uintptr(Z_NULL) 18155 ret = -5 18156 goto inf_leave 18157 __56: 18158 ; 18159 __55: 18160 ; 18161 goto __53 18162 __53: 18163 if 0 != 0 { 18164 goto __52 18165 } 18166 goto __54 18167 __54: 18168 ; 18169 have-- 18170 hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp /* next */)), 1))))<<bits 18171 bits = bits + uint32(8) 18172 goto __50 18173 __50: 18174 if 0 != 0 { 18175 goto __49 18176 } 18177 goto __51 18178 __51: 18179 ; 18180 goto __47 18181 __48: 18182 ; 18183 goto __45 18184 __45: 18185 if 0 != 0 { 18186 goto __44 18187 } 18188 goto __46 18189 __46: 18190 ; 18191 if !(hold&uint64(0xffff) != hold>>16^uint64(0xffff)) { 18192 goto __57 18193 } 18194 (*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 386 /* "invalid stored b..." */ 18195 (*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD 18196 goto __5 18197 __57: 18198 ; 18199 (*Inflate_state)(unsafe.Pointer(state)).Flength = uint32(hold) & uint32(0xffff) 18200 18201 __58: 18202 hold = uint64(0) 18203 bits = uint32(0) 18204 goto __59 18205 __59: 18206 if 0 != 0 { 18207 goto __58 18208 } 18209 goto __60 18210 __60: 18211 ; 18212 18213 // copy stored block from input to output 18214 __61: 18215 if !((*Inflate_state)(unsafe.Pointer(state)).Flength != uint32(0)) { 18216 goto __62 18217 } 18218 copy = (*Inflate_state)(unsafe.Pointer(state)).Flength 18219 __63: 18220 if !(have == uint32(0)) { 18221 goto __66 18222 } 18223 have = (*struct { 18224 f func(*libc.TLS, uintptr, uintptr) uint32 18225 })(unsafe.Pointer(&struct{ uintptr }{in})).f(tls, in_desc, bp /* &next */) 18226 if !(have == uint32(0)) { 18227 goto __67 18228 } 18229 *(*uintptr)(unsafe.Pointer(bp /* next */)) = uintptr(Z_NULL) 18230 ret = -5 18231 goto inf_leave 18232 __67: 18233 ; 18234 __66: 18235 ; 18236 goto __64 18237 __64: 18238 if 0 != 0 { 18239 goto __63 18240 } 18241 goto __65 18242 __65: 18243 ; 18244 __68: 18245 if !(left == uint32(0)) { 18246 goto __71 18247 } 18248 put = (*Inflate_state)(unsafe.Pointer(state)).Fwindow 18249 left = (*Inflate_state)(unsafe.Pointer(state)).Fwsize 18250 (*Inflate_state)(unsafe.Pointer(state)).Fwhave = left 18251 if !((*struct { 18252 f func(*libc.TLS, uintptr, uintptr, uint32) int32 18253 })(unsafe.Pointer(&struct{ uintptr }{out})).f(tls, out_desc, put, left) != 0) { 18254 goto __72 18255 } 18256 ret = -5 18257 goto inf_leave 18258 __72: 18259 ; 18260 __71: 18261 ; 18262 goto __69 18263 __69: 18264 if 0 != 0 { 18265 goto __68 18266 } 18267 goto __70 18268 __70: 18269 ; 18270 if !(copy > have) { 18271 goto __73 18272 } 18273 copy = have 18274 __73: 18275 ; 18276 if !(copy > left) { 18277 goto __74 18278 } 18279 copy = left 18280 __74: 18281 ; 18282 libc.X__builtin___memcpy_chk(tls, put, *(*uintptr)(unsafe.Pointer(bp /* next */)), uint64(copy), libc.X__builtin_object_size(tls, put, 0)) 18283 have = have - copy 18284 *(*uintptr)(unsafe.Pointer(bp /* next */)) += uintptr(copy) 18285 left = left - copy 18286 put += uintptr(copy) 18287 *(*uint32)(unsafe.Pointer(state + 92)) -= copy 18288 goto __61 18289 __62: 18290 ; 18291 18292 (*Inflate_state)(unsafe.Pointer(state)).Fmode = TYPE 18293 goto __5 18294 18295 __8: 18296 // get dynamic table entries descriptor 18297 __75: 18298 __78: 18299 if !(bits < uint32(14)) { 18300 goto __79 18301 } 18302 __80: 18303 __83: 18304 if !(have == uint32(0)) { 18305 goto __86 18306 } 18307 have = (*struct { 18308 f func(*libc.TLS, uintptr, uintptr) uint32 18309 })(unsafe.Pointer(&struct{ uintptr }{in})).f(tls, in_desc, bp /* &next */) 18310 if !(have == uint32(0)) { 18311 goto __87 18312 } 18313 *(*uintptr)(unsafe.Pointer(bp /* next */)) = uintptr(Z_NULL) 18314 ret = -5 18315 goto inf_leave 18316 __87: 18317 ; 18318 __86: 18319 ; 18320 goto __84 18321 __84: 18322 if 0 != 0 { 18323 goto __83 18324 } 18325 goto __85 18326 __85: 18327 ; 18328 have-- 18329 hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp /* next */)), 1))))<<bits 18330 bits = bits + uint32(8) 18331 goto __81 18332 __81: 18333 if 0 != 0 { 18334 goto __80 18335 } 18336 goto __82 18337 __82: 18338 ; 18339 goto __78 18340 __79: 18341 ; 18342 goto __76 18343 __76: 18344 if 0 != 0 { 18345 goto __75 18346 } 18347 goto __77 18348 __77: 18349 ; 18350 (*Inflate_state)(unsafe.Pointer(state)).Fnlen = uint32(hold)&(uint32(1)<<5-uint32(1)) + uint32(257) 18351 __88: 18352 hold >>= 5 18353 bits = bits - uint32(5) 18354 goto __89 18355 __89: 18356 if 0 != 0 { 18357 goto __88 18358 } 18359 goto __90 18360 __90: 18361 ; 18362 (*Inflate_state)(unsafe.Pointer(state)).Fndist = uint32(hold)&(uint32(1)<<5-uint32(1)) + uint32(1) 18363 __91: 18364 hold >>= 5 18365 bits = bits - uint32(5) 18366 goto __92 18367 __92: 18368 if 0 != 0 { 18369 goto __91 18370 } 18371 goto __93 18372 __93: 18373 ; 18374 (*Inflate_state)(unsafe.Pointer(state)).Fncode = uint32(hold)&(uint32(1)<<4-uint32(1)) + uint32(4) 18375 __94: 18376 hold >>= 4 18377 bits = bits - uint32(4) 18378 goto __95 18379 __95: 18380 if 0 != 0 { 18381 goto __94 18382 } 18383 goto __96 18384 __96: 18385 ; 18386 if !((*Inflate_state)(unsafe.Pointer(state)).Fnlen > uint32(286) || (*Inflate_state)(unsafe.Pointer(state)).Fndist > uint32(30)) { 18387 goto __97 18388 } 18389 (*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 415 /* "too many length ..." */ 18390 (*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD 18391 goto __5 18392 __97: 18393 ; 18394 18395 // get code length code lengths (not a typo) 18396 (*Inflate_state)(unsafe.Pointer(state)).Fhave = uint32(0) 18397 __98: 18398 if !((*Inflate_state)(unsafe.Pointer(state)).Fhave < (*Inflate_state)(unsafe.Pointer(state)).Fncode) { 18399 goto __99 18400 } 18401 __100: 18402 __103: 18403 if !(bits < uint32(3)) { 18404 goto __104 18405 } 18406 __105: 18407 __108: 18408 if !(have == uint32(0)) { 18409 goto __111 18410 } 18411 have = (*struct { 18412 f func(*libc.TLS, uintptr, uintptr) uint32 18413 })(unsafe.Pointer(&struct{ uintptr }{in})).f(tls, in_desc, bp /* &next */) 18414 if !(have == uint32(0)) { 18415 goto __112 18416 } 18417 *(*uintptr)(unsafe.Pointer(bp /* next */)) = uintptr(Z_NULL) 18418 ret = -5 18419 goto inf_leave 18420 __112: 18421 ; 18422 __111: 18423 ; 18424 goto __109 18425 __109: 18426 if 0 != 0 { 18427 goto __108 18428 } 18429 goto __110 18430 __110: 18431 ; 18432 have-- 18433 hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp /* next */)), 1))))<<bits 18434 bits = bits + uint32(8) 18435 goto __106 18436 __106: 18437 if 0 != 0 { 18438 goto __105 18439 } 18440 goto __107 18441 __107: 18442 ; 18443 goto __103 18444 __104: 18445 ; 18446 goto __101 18447 __101: 18448 if 0 != 0 { 18449 goto __100 18450 } 18451 goto __102 18452 __102: 18453 ; 18454 *(*uint16)(unsafe.Pointer(state + 152 + uintptr(order[libc.PostIncUint32(&(*Inflate_state)(unsafe.Pointer(state)).Fhave, 1)])*2)) = uint16(uint32(hold) & (uint32(1)<<3 - uint32(1))) 18455 __113: 18456 hold >>= 3 18457 bits = bits - uint32(3) 18458 goto __114 18459 __114: 18460 if 0 != 0 { 18461 goto __113 18462 } 18463 goto __115 18464 __115: 18465 ; 18466 goto __98 18467 __99: 18468 ; 18469 __116: 18470 if !((*Inflate_state)(unsafe.Pointer(state)).Fhave < uint32(19)) { 18471 goto __117 18472 } 18473 *(*uint16)(unsafe.Pointer(state + 152 + uintptr(order[libc.PostIncUint32(&(*Inflate_state)(unsafe.Pointer(state)).Fhave, 1)])*2)) = uint16(0) 18474 goto __116 18475 __117: 18476 ; 18477 (*Inflate_state)(unsafe.Pointer(state)).Fnext = state + 1368 /* &.codes */ 18478 (*Inflate_state)(unsafe.Pointer(state)).Flencode = (*Inflate_state)(unsafe.Pointer(state)).Fnext 18479 (*Inflate_state)(unsafe.Pointer(state)).Flenbits = uint32(7) 18480 ret = Xinflate_table(tls, CODES, state+152, uint32(19), state+144, 18481 state+120, state+792) 18482 if !(ret != 0) { 18483 goto __118 18484 } 18485 (*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 451 /* "invalid code len..." */ 18486 (*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD 18487 goto __5 18488 __118: 18489 ; 18490 18491 // get length and distance code code lengths 18492 (*Inflate_state)(unsafe.Pointer(state)).Fhave = uint32(0) 18493 __119: 18494 if !((*Inflate_state)(unsafe.Pointer(state)).Fhave < (*Inflate_state)(unsafe.Pointer(state)).Fnlen+(*Inflate_state)(unsafe.Pointer(state)).Fndist) { 18495 goto __120 18496 } 18497 __121: 18498 here = *(*Code)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Flencode + uintptr(uint32(hold)&(uint32(1)<<(*Inflate_state)(unsafe.Pointer(state)).Flenbits-uint32(1)))*4)) 18499 if !(uint32(here.Fbits) <= bits) { 18500 goto __124 18501 } 18502 goto __123 18503 __124: 18504 ; 18505 __125: 18506 __128: 18507 if !(have == uint32(0)) { 18508 goto __131 18509 } 18510 have = (*struct { 18511 f func(*libc.TLS, uintptr, uintptr) uint32 18512 })(unsafe.Pointer(&struct{ uintptr }{in})).f(tls, in_desc, bp /* &next */) 18513 if !(have == uint32(0)) { 18514 goto __132 18515 } 18516 *(*uintptr)(unsafe.Pointer(bp /* next */)) = uintptr(Z_NULL) 18517 ret = -5 18518 goto inf_leave 18519 __132: 18520 ; 18521 __131: 18522 ; 18523 goto __129 18524 __129: 18525 if 0 != 0 { 18526 goto __128 18527 } 18528 goto __130 18529 __130: 18530 ; 18531 have-- 18532 hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp /* next */)), 1))))<<bits 18533 bits = bits + uint32(8) 18534 goto __126 18535 __126: 18536 if 0 != 0 { 18537 goto __125 18538 } 18539 goto __127 18540 __127: 18541 ; 18542 goto __122 18543 __122: 18544 goto __121 18545 goto __123 18546 __123: 18547 ; 18548 if !(int32(here.Fval) < 16) { 18549 goto __133 18550 } 18551 __135: 18552 hold >>= int32(here.Fbits) 18553 bits = bits - uint32(here.Fbits) 18554 goto __136 18555 __136: 18556 if 0 != 0 { 18557 goto __135 18558 } 18559 goto __137 18560 __137: 18561 ; 18562 *(*uint16)(unsafe.Pointer(state + 152 + uintptr(libc.PostIncUint32(&(*Inflate_state)(unsafe.Pointer(state)).Fhave, 1))*2)) = here.Fval 18563 goto __134 18564 __133: 18565 if !(int32(here.Fval) == 16) { 18566 goto __138 18567 } 18568 __140: 18569 __143: 18570 if !(bits < uint32(int32(here.Fbits)+2)) { 18571 goto __144 18572 } 18573 __145: 18574 __148: 18575 if !(have == uint32(0)) { 18576 goto __151 18577 } 18578 have = (*struct { 18579 f func(*libc.TLS, uintptr, uintptr) uint32 18580 })(unsafe.Pointer(&struct{ uintptr }{in})).f(tls, in_desc, bp /* &next */) 18581 if !(have == uint32(0)) { 18582 goto __152 18583 } 18584 *(*uintptr)(unsafe.Pointer(bp /* next */)) = uintptr(Z_NULL) 18585 ret = -5 18586 goto inf_leave 18587 __152: 18588 ; 18589 __151: 18590 ; 18591 goto __149 18592 __149: 18593 if 0 != 0 { 18594 goto __148 18595 } 18596 goto __150 18597 __150: 18598 ; 18599 have-- 18600 hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp /* next */)), 1))))<<bits 18601 bits = bits + uint32(8) 18602 goto __146 18603 __146: 18604 if 0 != 0 { 18605 goto __145 18606 } 18607 goto __147 18608 __147: 18609 ; 18610 goto __143 18611 __144: 18612 ; 18613 goto __141 18614 __141: 18615 if 0 != 0 { 18616 goto __140 18617 } 18618 goto __142 18619 __142: 18620 ; 18621 __153: 18622 hold >>= int32(here.Fbits) 18623 bits = bits - uint32(here.Fbits) 18624 goto __154 18625 __154: 18626 if 0 != 0 { 18627 goto __153 18628 } 18629 goto __155 18630 __155: 18631 ; 18632 if !((*Inflate_state)(unsafe.Pointer(state)).Fhave == uint32(0)) { 18633 goto __156 18634 } 18635 (*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 476 /* "invalid bit leng..." */ 18636 (*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD 18637 goto __120 18638 __156: 18639 ; 18640 len = uint32(*(*uint16)(unsafe.Pointer(state + 152 + uintptr((*Inflate_state)(unsafe.Pointer(state)).Fhave-uint32(1))*2))) 18641 copy = uint32(3) + uint32(hold)&(uint32(1)<<2-uint32(1)) 18642 __157: 18643 hold >>= 2 18644 bits = bits - uint32(2) 18645 goto __158 18646 __158: 18647 if 0 != 0 { 18648 goto __157 18649 } 18650 goto __159 18651 __159: 18652 ; 18653 goto __139 18654 __138: 18655 if !(int32(here.Fval) == 17) { 18656 goto __160 18657 } 18658 __162: 18659 __165: 18660 if !(bits < uint32(int32(here.Fbits)+3)) { 18661 goto __166 18662 } 18663 __167: 18664 __170: 18665 if !(have == uint32(0)) { 18666 goto __173 18667 } 18668 have = (*struct { 18669 f func(*libc.TLS, uintptr, uintptr) uint32 18670 })(unsafe.Pointer(&struct{ uintptr }{in})).f(tls, in_desc, bp /* &next */) 18671 if !(have == uint32(0)) { 18672 goto __174 18673 } 18674 *(*uintptr)(unsafe.Pointer(bp /* next */)) = uintptr(Z_NULL) 18675 ret = -5 18676 goto inf_leave 18677 __174: 18678 ; 18679 __173: 18680 ; 18681 goto __171 18682 __171: 18683 if 0 != 0 { 18684 goto __170 18685 } 18686 goto __172 18687 __172: 18688 ; 18689 have-- 18690 hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp /* next */)), 1))))<<bits 18691 bits = bits + uint32(8) 18692 goto __168 18693 __168: 18694 if 0 != 0 { 18695 goto __167 18696 } 18697 goto __169 18698 __169: 18699 ; 18700 goto __165 18701 __166: 18702 ; 18703 goto __163 18704 __163: 18705 if 0 != 0 { 18706 goto __162 18707 } 18708 goto __164 18709 __164: 18710 ; 18711 __175: 18712 hold >>= int32(here.Fbits) 18713 bits = bits - uint32(here.Fbits) 18714 goto __176 18715 __176: 18716 if 0 != 0 { 18717 goto __175 18718 } 18719 goto __177 18720 __177: 18721 ; 18722 len = uint32(0) 18723 copy = uint32(3) + uint32(hold)&(uint32(1)<<3-uint32(1)) 18724 __178: 18725 hold >>= 3 18726 bits = bits - uint32(3) 18727 goto __179 18728 __179: 18729 if 0 != 0 { 18730 goto __178 18731 } 18732 goto __180 18733 __180: 18734 ; 18735 goto __161 18736 __160: 18737 __181: 18738 __184: 18739 if !(bits < uint32(int32(here.Fbits)+7)) { 18740 goto __185 18741 } 18742 __186: 18743 __189: 18744 if !(have == uint32(0)) { 18745 goto __192 18746 } 18747 have = (*struct { 18748 f func(*libc.TLS, uintptr, uintptr) uint32 18749 })(unsafe.Pointer(&struct{ uintptr }{in})).f(tls, in_desc, bp /* &next */) 18750 if !(have == uint32(0)) { 18751 goto __193 18752 } 18753 *(*uintptr)(unsafe.Pointer(bp /* next */)) = uintptr(Z_NULL) 18754 ret = -5 18755 goto inf_leave 18756 __193: 18757 ; 18758 __192: 18759 ; 18760 goto __190 18761 __190: 18762 if 0 != 0 { 18763 goto __189 18764 } 18765 goto __191 18766 __191: 18767 ; 18768 have-- 18769 hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp /* next */)), 1))))<<bits 18770 bits = bits + uint32(8) 18771 goto __187 18772 __187: 18773 if 0 != 0 { 18774 goto __186 18775 } 18776 goto __188 18777 __188: 18778 ; 18779 goto __184 18780 __185: 18781 ; 18782 goto __182 18783 __182: 18784 if 0 != 0 { 18785 goto __181 18786 } 18787 goto __183 18788 __183: 18789 ; 18790 __194: 18791 hold >>= int32(here.Fbits) 18792 bits = bits - uint32(here.Fbits) 18793 goto __195 18794 __195: 18795 if 0 != 0 { 18796 goto __194 18797 } 18798 goto __196 18799 __196: 18800 ; 18801 len = uint32(0) 18802 copy = uint32(11) + uint32(hold)&(uint32(1)<<7-uint32(1)) 18803 __197: 18804 hold >>= 7 18805 bits = bits - uint32(7) 18806 goto __198 18807 __198: 18808 if 0 != 0 { 18809 goto __197 18810 } 18811 goto __199 18812 __199: 18813 ; 18814 __161: 18815 ; 18816 __139: 18817 ; 18818 if !((*Inflate_state)(unsafe.Pointer(state)).Fhave+copy > (*Inflate_state)(unsafe.Pointer(state)).Fnlen+(*Inflate_state)(unsafe.Pointer(state)).Fndist) { 18819 goto __200 18820 } 18821 (*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 476 /* "invalid bit leng..." */ 18822 (*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD 18823 goto __120 18824 __200: 18825 ; 18826 __201: 18827 if !(libc.PostDecUint32(©, 1) != 0) { 18828 goto __202 18829 } 18830 *(*uint16)(unsafe.Pointer(state + 152 + uintptr(libc.PostIncUint32(&(*Inflate_state)(unsafe.Pointer(state)).Fhave, 1))*2)) = uint16(len) 18831 goto __201 18832 __202: 18833 ; 18834 __134: 18835 ; 18836 goto __119 18837 __120: 18838 ; 18839 18840 // handle error breaks in while 18841 if !((*Inflate_state)(unsafe.Pointer(state)).Fmode == BAD) { 18842 goto __203 18843 } 18844 goto __5 18845 __203: 18846 ; 18847 18848 // check for end-of-block code (better have one) 18849 if !(int32(*(*uint16)(unsafe.Pointer(state + 152 + 256*2))) == 0) { 18850 goto __204 18851 } 18852 (*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 502 /* "invalid code -- ..." */ 18853 (*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD 18854 goto __5 18855 __204: 18856 ; 18857 18858 // build code tables -- note: do not change the lenbits or distbits 18859 // values here (9 and 6) without reading the comments in inftrees.h 18860 // concerning the ENOUGH constants, which depend on those values 18861 (*Inflate_state)(unsafe.Pointer(state)).Fnext = state + 1368 /* &.codes */ 18862 (*Inflate_state)(unsafe.Pointer(state)).Flencode = (*Inflate_state)(unsafe.Pointer(state)).Fnext 18863 (*Inflate_state)(unsafe.Pointer(state)).Flenbits = uint32(9) 18864 ret = Xinflate_table(tls, LENS, state+152, (*Inflate_state)(unsafe.Pointer(state)).Fnlen, state+144, 18865 state+120, state+792) 18866 if !(ret != 0) { 18867 goto __205 18868 } 18869 (*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 539 /* "invalid literal/..." */ 18870 (*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD 18871 goto __5 18872 __205: 18873 ; 18874 (*Inflate_state)(unsafe.Pointer(state)).Fdistcode = (*Inflate_state)(unsafe.Pointer(state)).Fnext 18875 (*Inflate_state)(unsafe.Pointer(state)).Fdistbits = uint32(6) 18876 ret = Xinflate_table(tls, DISTS, state+152+uintptr((*Inflate_state)(unsafe.Pointer(state)).Fnlen)*2, (*Inflate_state)(unsafe.Pointer(state)).Fndist, 18877 state+144, state+124, state+792) 18878 if !(ret != 0) { 18879 goto __206 18880 } 18881 (*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 567 /* "invalid distance..." */ 18882 (*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD 18883 goto __5 18884 __206: 18885 ; 18886 18887 (*Inflate_state)(unsafe.Pointer(state)).Fmode = LEN 18888 18889 __9: 18890 // use inflate_fast() if we have enough input and output 18891 if !(have >= uint32(6) && left >= uint32(258)) { 18892 goto __207 18893 } 18894 __208: 18895 (*Z_stream)(unsafe.Pointer(strm)).Fnext_out = put 18896 (*Z_stream)(unsafe.Pointer(strm)).Favail_out = left 18897 (*Z_stream)(unsafe.Pointer(strm)).Fnext_in = *(*uintptr)(unsafe.Pointer(bp /* next */)) 18898 (*Z_stream)(unsafe.Pointer(strm)).Favail_in = have 18899 (*Inflate_state)(unsafe.Pointer(state)).Fhold = hold 18900 (*Inflate_state)(unsafe.Pointer(state)).Fbits = bits 18901 goto __209 18902 __209: 18903 if 0 != 0 { 18904 goto __208 18905 } 18906 goto __210 18907 __210: 18908 ; 18909 if !((*Inflate_state)(unsafe.Pointer(state)).Fwhave < (*Inflate_state)(unsafe.Pointer(state)).Fwsize) { 18910 goto __211 18911 } 18912 (*Inflate_state)(unsafe.Pointer(state)).Fwhave = (*Inflate_state)(unsafe.Pointer(state)).Fwsize - left 18913 __211: 18914 ; 18915 Xinflate_fast(tls, strm, (*Inflate_state)(unsafe.Pointer(state)).Fwsize) 18916 __212: 18917 put = (*Z_stream)(unsafe.Pointer(strm)).Fnext_out 18918 left = (*Z_stream)(unsafe.Pointer(strm)).Favail_out 18919 *(*uintptr)(unsafe.Pointer(bp /* next */)) = (*Z_stream)(unsafe.Pointer(strm)).Fnext_in 18920 have = (*Z_stream)(unsafe.Pointer(strm)).Favail_in 18921 hold = (*Inflate_state)(unsafe.Pointer(state)).Fhold 18922 bits = (*Inflate_state)(unsafe.Pointer(state)).Fbits 18923 goto __213 18924 __213: 18925 if 0 != 0 { 18926 goto __212 18927 } 18928 goto __214 18929 __214: 18930 ; 18931 goto __5 18932 __207: 18933 ; 18934 18935 // get a literal, length, or end-of-block code 18936 __215: 18937 here = *(*Code)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Flencode + uintptr(uint32(hold)&(uint32(1)<<(*Inflate_state)(unsafe.Pointer(state)).Flenbits-uint32(1)))*4)) 18938 if !(uint32(here.Fbits) <= bits) { 18939 goto __218 18940 } 18941 goto __217 18942 __218: 18943 ; 18944 __219: 18945 __222: 18946 if !(have == uint32(0)) { 18947 goto __225 18948 } 18949 have = (*struct { 18950 f func(*libc.TLS, uintptr, uintptr) uint32 18951 })(unsafe.Pointer(&struct{ uintptr }{in})).f(tls, in_desc, bp /* &next */) 18952 if !(have == uint32(0)) { 18953 goto __226 18954 } 18955 *(*uintptr)(unsafe.Pointer(bp /* next */)) = uintptr(Z_NULL) 18956 ret = -5 18957 goto inf_leave 18958 __226: 18959 ; 18960 __225: 18961 ; 18962 goto __223 18963 __223: 18964 if 0 != 0 { 18965 goto __222 18966 } 18967 goto __224 18968 __224: 18969 ; 18970 have-- 18971 hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp /* next */)), 1))))<<bits 18972 bits = bits + uint32(8) 18973 goto __220 18974 __220: 18975 if 0 != 0 { 18976 goto __219 18977 } 18978 goto __221 18979 __221: 18980 ; 18981 goto __216 18982 __216: 18983 goto __215 18984 goto __217 18985 __217: 18986 ; 18987 if !(here.Fop != 0 && int32(here.Fop)&0xf0 == 0) { 18988 goto __227 18989 } 18990 last = here 18991 __228: 18992 here = *(*Code)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Flencode + uintptr(uint32(last.Fval)+uint32(hold)&(uint32(1)<<(int32(last.Fbits)+int32(last.Fop))-uint32(1))>>int32(last.Fbits))*4)) 18993 if !(uint32(int32(last.Fbits)+int32(here.Fbits)) <= bits) { 18994 goto __231 18995 } 18996 goto __230 18997 __231: 18998 ; 18999 __232: 19000 __235: 19001 if !(have == uint32(0)) { 19002 goto __238 19003 } 19004 have = (*struct { 19005 f func(*libc.TLS, uintptr, uintptr) uint32 19006 })(unsafe.Pointer(&struct{ uintptr }{in})).f(tls, in_desc, bp /* &next */) 19007 if !(have == uint32(0)) { 19008 goto __239 19009 } 19010 *(*uintptr)(unsafe.Pointer(bp /* next */)) = uintptr(Z_NULL) 19011 ret = -5 19012 goto inf_leave 19013 __239: 19014 ; 19015 __238: 19016 ; 19017 goto __236 19018 __236: 19019 if 0 != 0 { 19020 goto __235 19021 } 19022 goto __237 19023 __237: 19024 ; 19025 have-- 19026 hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp /* next */)), 1))))<<bits 19027 bits = bits + uint32(8) 19028 goto __233 19029 __233: 19030 if 0 != 0 { 19031 goto __232 19032 } 19033 goto __234 19034 __234: 19035 ; 19036 goto __229 19037 __229: 19038 goto __228 19039 goto __230 19040 __230: 19041 ; 19042 __240: 19043 hold >>= int32(last.Fbits) 19044 bits = bits - uint32(last.Fbits) 19045 goto __241 19046 __241: 19047 if 0 != 0 { 19048 goto __240 19049 } 19050 goto __242 19051 __242: 19052 ; 19053 __227: 19054 ; 19055 __243: 19056 hold >>= int32(here.Fbits) 19057 bits = bits - uint32(here.Fbits) 19058 goto __244 19059 __244: 19060 if 0 != 0 { 19061 goto __243 19062 } 19063 goto __245 19064 __245: 19065 ; 19066 (*Inflate_state)(unsafe.Pointer(state)).Flength = uint32(here.Fval) 19067 19068 // process literal 19069 if !(int32(here.Fop) == 0) { 19070 goto __246 19071 } 19072 19073 __247: 19074 if !(left == uint32(0)) { 19075 goto __250 19076 } 19077 put = (*Inflate_state)(unsafe.Pointer(state)).Fwindow 19078 left = (*Inflate_state)(unsafe.Pointer(state)).Fwsize 19079 (*Inflate_state)(unsafe.Pointer(state)).Fwhave = left 19080 if !((*struct { 19081 f func(*libc.TLS, uintptr, uintptr, uint32) int32 19082 })(unsafe.Pointer(&struct{ uintptr }{out})).f(tls, out_desc, put, left) != 0) { 19083 goto __251 19084 } 19085 ret = -5 19086 goto inf_leave 19087 __251: 19088 ; 19089 __250: 19090 ; 19091 goto __248 19092 __248: 19093 if 0 != 0 { 19094 goto __247 19095 } 19096 goto __249 19097 __249: 19098 ; 19099 *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&put, 1))) = uint8((*Inflate_state)(unsafe.Pointer(state)).Flength) 19100 left-- 19101 (*Inflate_state)(unsafe.Pointer(state)).Fmode = LEN 19102 goto __5 19103 __246: 19104 ; 19105 19106 // process end of block 19107 if !(int32(here.Fop)&32 != 0) { 19108 goto __252 19109 } 19110 19111 (*Inflate_state)(unsafe.Pointer(state)).Fmode = TYPE 19112 goto __5 19113 __252: 19114 ; 19115 19116 // invalid code 19117 if !(int32(here.Fop)&64 != 0) { 19118 goto __253 19119 } 19120 (*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 589 /* "invalid literal/..." */ 19121 (*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD 19122 goto __5 19123 __253: 19124 ; 19125 19126 // length code -- get extra bits, if any 19127 (*Inflate_state)(unsafe.Pointer(state)).Fextra = uint32(here.Fop) & uint32(15) 19128 if !((*Inflate_state)(unsafe.Pointer(state)).Fextra != uint32(0)) { 19129 goto __254 19130 } 19131 __255: 19132 __258: 19133 if !(bits < (*Inflate_state)(unsafe.Pointer(state)).Fextra) { 19134 goto __259 19135 } 19136 __260: 19137 __263: 19138 if !(have == uint32(0)) { 19139 goto __266 19140 } 19141 have = (*struct { 19142 f func(*libc.TLS, uintptr, uintptr) uint32 19143 })(unsafe.Pointer(&struct{ uintptr }{in})).f(tls, in_desc, bp /* &next */) 19144 if !(have == uint32(0)) { 19145 goto __267 19146 } 19147 *(*uintptr)(unsafe.Pointer(bp /* next */)) = uintptr(Z_NULL) 19148 ret = -5 19149 goto inf_leave 19150 __267: 19151 ; 19152 __266: 19153 ; 19154 goto __264 19155 __264: 19156 if 0 != 0 { 19157 goto __263 19158 } 19159 goto __265 19160 __265: 19161 ; 19162 have-- 19163 hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp /* next */)), 1))))<<bits 19164 bits = bits + uint32(8) 19165 goto __261 19166 __261: 19167 if 0 != 0 { 19168 goto __260 19169 } 19170 goto __262 19171 __262: 19172 ; 19173 goto __258 19174 __259: 19175 ; 19176 goto __256 19177 __256: 19178 if 0 != 0 { 19179 goto __255 19180 } 19181 goto __257 19182 __257: 19183 ; 19184 *(*uint32)(unsafe.Pointer(state + 92)) += uint32(hold) & (uint32(1)<<(*Inflate_state)(unsafe.Pointer(state)).Fextra - uint32(1)) 19185 __268: 19186 hold >>= (*Inflate_state)(unsafe.Pointer(state)).Fextra 19187 bits = bits - (*Inflate_state)(unsafe.Pointer(state)).Fextra 19188 goto __269 19189 __269: 19190 if 0 != 0 { 19191 goto __268 19192 } 19193 goto __270 19194 __270: 19195 ; 19196 __254: 19197 ; 19198 19199 // get distance code 19200 __271: 19201 here = *(*Code)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Fdistcode + uintptr(uint32(hold)&(uint32(1)<<(*Inflate_state)(unsafe.Pointer(state)).Fdistbits-uint32(1)))*4)) 19202 if !(uint32(here.Fbits) <= bits) { 19203 goto __274 19204 } 19205 goto __273 19206 __274: 19207 ; 19208 __275: 19209 __278: 19210 if !(have == uint32(0)) { 19211 goto __281 19212 } 19213 have = (*struct { 19214 f func(*libc.TLS, uintptr, uintptr) uint32 19215 })(unsafe.Pointer(&struct{ uintptr }{in})).f(tls, in_desc, bp /* &next */) 19216 if !(have == uint32(0)) { 19217 goto __282 19218 } 19219 *(*uintptr)(unsafe.Pointer(bp /* next */)) = uintptr(Z_NULL) 19220 ret = -5 19221 goto inf_leave 19222 __282: 19223 ; 19224 __281: 19225 ; 19226 goto __279 19227 __279: 19228 if 0 != 0 { 19229 goto __278 19230 } 19231 goto __280 19232 __280: 19233 ; 19234 have-- 19235 hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp /* next */)), 1))))<<bits 19236 bits = bits + uint32(8) 19237 goto __276 19238 __276: 19239 if 0 != 0 { 19240 goto __275 19241 } 19242 goto __277 19243 __277: 19244 ; 19245 goto __272 19246 __272: 19247 goto __271 19248 goto __273 19249 __273: 19250 ; 19251 if !(int32(here.Fop)&0xf0 == 0) { 19252 goto __283 19253 } 19254 last = here 19255 __284: 19256 here = *(*Code)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Fdistcode + uintptr(uint32(last.Fval)+uint32(hold)&(uint32(1)<<(int32(last.Fbits)+int32(last.Fop))-uint32(1))>>int32(last.Fbits))*4)) 19257 if !(uint32(int32(last.Fbits)+int32(here.Fbits)) <= bits) { 19258 goto __287 19259 } 19260 goto __286 19261 __287: 19262 ; 19263 __288: 19264 __291: 19265 if !(have == uint32(0)) { 19266 goto __294 19267 } 19268 have = (*struct { 19269 f func(*libc.TLS, uintptr, uintptr) uint32 19270 })(unsafe.Pointer(&struct{ uintptr }{in})).f(tls, in_desc, bp /* &next */) 19271 if !(have == uint32(0)) { 19272 goto __295 19273 } 19274 *(*uintptr)(unsafe.Pointer(bp /* next */)) = uintptr(Z_NULL) 19275 ret = -5 19276 goto inf_leave 19277 __295: 19278 ; 19279 __294: 19280 ; 19281 goto __292 19282 __292: 19283 if 0 != 0 { 19284 goto __291 19285 } 19286 goto __293 19287 __293: 19288 ; 19289 have-- 19290 hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp /* next */)), 1))))<<bits 19291 bits = bits + uint32(8) 19292 goto __289 19293 __289: 19294 if 0 != 0 { 19295 goto __288 19296 } 19297 goto __290 19298 __290: 19299 ; 19300 goto __285 19301 __285: 19302 goto __284 19303 goto __286 19304 __286: 19305 ; 19306 __296: 19307 hold >>= int32(last.Fbits) 19308 bits = bits - uint32(last.Fbits) 19309 goto __297 19310 __297: 19311 if 0 != 0 { 19312 goto __296 19313 } 19314 goto __298 19315 __298: 19316 ; 19317 __283: 19318 ; 19319 __299: 19320 hold >>= int32(here.Fbits) 19321 bits = bits - uint32(here.Fbits) 19322 goto __300 19323 __300: 19324 if 0 != 0 { 19325 goto __299 19326 } 19327 goto __301 19328 __301: 19329 ; 19330 if !(int32(here.Fop)&64 != 0) { 19331 goto __302 19332 } 19333 (*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 617 /* "invalid distance..." */ 19334 (*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD 19335 goto __5 19336 __302: 19337 ; 19338 (*Inflate_state)(unsafe.Pointer(state)).Foffset = uint32(here.Fval) 19339 19340 // get distance extra bits, if any 19341 (*Inflate_state)(unsafe.Pointer(state)).Fextra = uint32(here.Fop) & uint32(15) 19342 if !((*Inflate_state)(unsafe.Pointer(state)).Fextra != uint32(0)) { 19343 goto __303 19344 } 19345 __304: 19346 __307: 19347 if !(bits < (*Inflate_state)(unsafe.Pointer(state)).Fextra) { 19348 goto __308 19349 } 19350 __309: 19351 __312: 19352 if !(have == uint32(0)) { 19353 goto __315 19354 } 19355 have = (*struct { 19356 f func(*libc.TLS, uintptr, uintptr) uint32 19357 })(unsafe.Pointer(&struct{ uintptr }{in})).f(tls, in_desc, bp /* &next */) 19358 if !(have == uint32(0)) { 19359 goto __316 19360 } 19361 *(*uintptr)(unsafe.Pointer(bp /* next */)) = uintptr(Z_NULL) 19362 ret = -5 19363 goto inf_leave 19364 __316: 19365 ; 19366 __315: 19367 ; 19368 goto __313 19369 __313: 19370 if 0 != 0 { 19371 goto __312 19372 } 19373 goto __314 19374 __314: 19375 ; 19376 have-- 19377 hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp /* next */)), 1))))<<bits 19378 bits = bits + uint32(8) 19379 goto __310 19380 __310: 19381 if 0 != 0 { 19382 goto __309 19383 } 19384 goto __311 19385 __311: 19386 ; 19387 goto __307 19388 __308: 19389 ; 19390 goto __305 19391 __305: 19392 if 0 != 0 { 19393 goto __304 19394 } 19395 goto __306 19396 __306: 19397 ; 19398 *(*uint32)(unsafe.Pointer(state + 96)) += uint32(hold) & (uint32(1)<<(*Inflate_state)(unsafe.Pointer(state)).Fextra - uint32(1)) 19399 __317: 19400 hold >>= (*Inflate_state)(unsafe.Pointer(state)).Fextra 19401 bits = bits - (*Inflate_state)(unsafe.Pointer(state)).Fextra 19402 goto __318 19403 __318: 19404 if 0 != 0 { 19405 goto __317 19406 } 19407 goto __319 19408 __319: 19409 ; 19410 __303: 19411 ; 19412 if !((*Inflate_state)(unsafe.Pointer(state)).Foffset > (*Inflate_state)(unsafe.Pointer(state)).Fwsize-func() uint32 { 19413 if (*Inflate_state)(unsafe.Pointer(state)).Fwhave < (*Inflate_state)(unsafe.Pointer(state)).Fwsize { 19414 return left 19415 } 19416 return uint32(0) 19417 }()) { 19418 goto __320 19419 } 19420 (*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 639 /* "invalid distance..." */ 19421 (*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD 19422 goto __5 19423 __320: 19424 ; 19425 19426 // copy match from window to output 19427 __321: 19428 __324: 19429 if !(left == uint32(0)) { 19430 goto __327 19431 } 19432 put = (*Inflate_state)(unsafe.Pointer(state)).Fwindow 19433 left = (*Inflate_state)(unsafe.Pointer(state)).Fwsize 19434 (*Inflate_state)(unsafe.Pointer(state)).Fwhave = left 19435 if !((*struct { 19436 f func(*libc.TLS, uintptr, uintptr, uint32) int32 19437 })(unsafe.Pointer(&struct{ uintptr }{out})).f(tls, out_desc, put, left) != 0) { 19438 goto __328 19439 } 19440 ret = -5 19441 goto inf_leave 19442 __328: 19443 ; 19444 __327: 19445 ; 19446 goto __325 19447 __325: 19448 if 0 != 0 { 19449 goto __324 19450 } 19451 goto __326 19452 __326: 19453 ; 19454 copy = (*Inflate_state)(unsafe.Pointer(state)).Fwsize - (*Inflate_state)(unsafe.Pointer(state)).Foffset 19455 if !(copy < left) { 19456 goto __329 19457 } 19458 from = put + uintptr(copy) 19459 copy = left - copy 19460 goto __330 19461 __329: 19462 from = put - uintptr((*Inflate_state)(unsafe.Pointer(state)).Foffset) 19463 copy = left 19464 __330: 19465 ; 19466 if !(copy > (*Inflate_state)(unsafe.Pointer(state)).Flength) { 19467 goto __331 19468 } 19469 copy = (*Inflate_state)(unsafe.Pointer(state)).Flength 19470 __331: 19471 ; 19472 *(*uint32)(unsafe.Pointer(state + 92)) -= copy 19473 left = left - copy 19474 __332: 19475 *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&put, 1))) = *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&from, 1))) 19476 goto __333 19477 __333: 19478 if libc.PreDecUint32(©, 1) != 0 { 19479 goto __332 19480 } 19481 goto __334 19482 __334: 19483 ; 19484 goto __322 19485 __322: 19486 if (*Inflate_state)(unsafe.Pointer(state)).Flength != uint32(0) { 19487 goto __321 19488 } 19489 goto __323 19490 __323: 19491 ; 19492 goto __5 19493 19494 __10: 19495 // inflate stream terminated properly -- write leftover output 19496 ret = Z_STREAM_END 19497 if !(left < (*Inflate_state)(unsafe.Pointer(state)).Fwsize) { 19498 goto __335 19499 } 19500 if !((*struct { 19501 f func(*libc.TLS, uintptr, uintptr, uint32) int32 19502 })(unsafe.Pointer(&struct{ uintptr }{out})).f(tls, out_desc, (*Inflate_state)(unsafe.Pointer(state)).Fwindow, (*Inflate_state)(unsafe.Pointer(state)).Fwsize-left) != 0) { 19503 goto __336 19504 } 19505 ret = -5 19506 __336: 19507 ; 19508 __335: 19509 ; 19510 goto inf_leave 19511 19512 __11: 19513 ret = -3 19514 goto inf_leave 19515 19516 __12: // can't happen, but makes compilers happy 19517 ret = -2 19518 goto inf_leave 19519 __5: 19520 ; 19521 goto __3 19522 __3: 19523 goto __2 19524 goto __4 19525 __4: 19526 ; 19527 19528 // Return unused input 19529 inf_leave: 19530 (*Z_stream)(unsafe.Pointer(strm)).Fnext_in = *(*uintptr)(unsafe.Pointer(bp /* next */)) 19531 (*Z_stream)(unsafe.Pointer(strm)).Favail_in = have 19532 return ret 19533 } 19534 19535 var order = // permutation of code lengths 19536 [19]uint16{uint16(16), uint16(17), uint16(18), uint16(0), uint16(8), uint16(7), uint16(9), uint16(6), uint16(10), uint16(5), uint16(11), uint16(4), uint16(12), uint16(3), uint16(13), uint16(2), uint16(14), uint16(1), uint16(15)} /* infback.c:269:33 */ 19537 19538 func XinflateBackEnd(tls *libc.TLS, strm Z_streamp) int32 { /* infback.c:631:13: */ 19539 if strm == uintptr(Z_NULL) || (*Z_stream)(unsafe.Pointer(strm)).Fstate == uintptr(Z_NULL) || (*Z_stream)(unsafe.Pointer(strm)).Fzfree == uintptr(0) { 19540 return -2 19541 } 19542 (*struct { 19543 f func(*libc.TLS, Voidpf, Voidpf) 19544 })(unsafe.Pointer(&struct{ uintptr }{(*Z_stream)(unsafe.Pointer(strm)).Fzfree})).f(tls, (*Z_stream)(unsafe.Pointer(strm)).Fopaque, (*Z_stream)(unsafe.Pointer(strm)).Fstate) 19545 (*Z_stream)(unsafe.Pointer(strm)).Fstate = uintptr(Z_NULL) 19546 19547 return Z_OK 19548 } 19549 19550 // 19551 // Decode literal, length, and distance codes and write out the resulting 19552 // literal and match bytes until either not enough input or output is 19553 // available, an end-of-block is encountered, or a data error is encountered. 19554 // When large enough input and output buffers are supplied to inflate(), for 19555 // example, a 16K input buffer and a 64K output buffer, more than 95% of the 19556 // inflate execution time is spent in this routine. 19557 // 19558 // Entry assumptions: 19559 // 19560 // state->mode == LEN 19561 // strm->avail_in >= 6 19562 // strm->avail_out >= 258 19563 // start >= strm->avail_out 19564 // state->bits < 8 19565 // 19566 // On return, state->mode is one of: 19567 // 19568 // LEN -- ran out of enough output space or enough available input 19569 // TYPE -- reached end of block code, inflate() to interpret next block 19570 // BAD -- error in block data 19571 // 19572 // Notes: 19573 // 19574 // - The maximum input bits used by a length/distance pair is 15 bits for the 19575 // length code, 5 bits for the length extra, 15 bits for the distance code, 19576 // and 13 bits for the distance extra. This totals 48 bits, or six bytes. 19577 // Therefore if strm->avail_in >= 6, then there is enough input to avoid 19578 // checking for available input while decoding. 19579 // 19580 // - The maximum bytes that a single length/distance pair can output is 258 19581 // bytes, which is the maximum length that can be coded. inflate_fast() 19582 // requires strm->avail_out >= 258 for each loop to avoid checking for 19583 // output space. 19584 // 19585 func Xinflate_fast(tls *libc.TLS, strm Z_streamp, start uint32) { /* inffast.c:50:20: */ 19586 var state uintptr 19587 var in uintptr // local strm->next_in 19588 var last uintptr // have enough input while in < last 19589 var out uintptr // local strm->next_out 19590 var beg uintptr // inflate()'s initial strm->next_out 19591 var end uintptr // while out < end, enough space available 19592 var wsize uint32 // window size or zero if not using window 19593 var whave uint32 // valid bytes in the window 19594 var wnext uint32 // window write index 19595 var window uintptr // allocated sliding window, if wsize != 0 19596 var hold uint64 // local strm->hold 19597 var bits uint32 // local strm->bits 19598 var lcode uintptr // local strm->lencode 19599 var dcode uintptr // local strm->distcode 19600 var lmask uint32 // mask for first level of length codes 19601 var dmask uint32 // mask for first level of distance codes 19602 var here Code // retrieved table entry 19603 var op uint32 // code bits, operation, extra bits, or 19604 // window position, window bytes to copy 19605 var len uint32 // match length, unused bytes 19606 var dist uint32 // match distance 19607 var from uintptr // where to copy match from 19608 19609 // copy state to local variables 19610 state = (*Z_stream)(unsafe.Pointer(strm)).Fstate 19611 in = (*Z_stream)(unsafe.Pointer(strm)).Fnext_in 19612 last = in + uintptr((*Z_stream)(unsafe.Pointer(strm)).Favail_in-UInt(5)) 19613 out = (*Z_stream)(unsafe.Pointer(strm)).Fnext_out 19614 beg = out - uintptr(start-(*Z_stream)(unsafe.Pointer(strm)).Favail_out) 19615 end = out + uintptr((*Z_stream)(unsafe.Pointer(strm)).Favail_out-UInt(257)) 19616 wsize = (*Inflate_state)(unsafe.Pointer(state)).Fwsize 19617 whave = (*Inflate_state)(unsafe.Pointer(state)).Fwhave 19618 wnext = (*Inflate_state)(unsafe.Pointer(state)).Fwnext 19619 window = (*Inflate_state)(unsafe.Pointer(state)).Fwindow 19620 hold = (*Inflate_state)(unsafe.Pointer(state)).Fhold 19621 bits = (*Inflate_state)(unsafe.Pointer(state)).Fbits 19622 lcode = (*Inflate_state)(unsafe.Pointer(state)).Flencode 19623 dcode = (*Inflate_state)(unsafe.Pointer(state)).Fdistcode 19624 lmask = uint32(1)<<(*Inflate_state)(unsafe.Pointer(state)).Flenbits - uint32(1) 19625 dmask = uint32(1)<<(*Inflate_state)(unsafe.Pointer(state)).Fdistbits - uint32(1) 19626 19627 // decode literals and length/distances until end-of-block or not enough 19628 // input data or output space 19629 __1: 19630 if !(bits < uint32(15)) { 19631 goto __4 19632 } 19633 hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&in, 1))))<<bits 19634 bits = bits + uint32(8) 19635 hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&in, 1))))<<bits 19636 bits = bits + uint32(8) 19637 __4: 19638 ; 19639 here = *(*Code)(unsafe.Pointer(lcode + uintptr(hold&uint64(lmask))*4)) 19640 dolen: 19641 op = uint32(here.Fbits) 19642 hold >>= op 19643 bits = bits - op 19644 op = uint32(here.Fop) 19645 if !(op == uint32(0)) { 19646 goto __5 19647 } // literal 19648 19649 *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&out, 1))) = uint8(here.Fval) 19650 goto __6 19651 __5: 19652 if !(op&uint32(16) != 0) { 19653 goto __7 19654 } // length base 19655 len = uint32(here.Fval) 19656 op = op & uint32(15) // number of extra bits 19657 if !(op != 0) { 19658 goto __9 19659 } 19660 if !(bits < op) { 19661 goto __10 19662 } 19663 hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&in, 1))))<<bits 19664 bits = bits + uint32(8) 19665 __10: 19666 ; 19667 len = len + uint32(hold)&(uint32(1)<<op-uint32(1)) 19668 hold >>= op 19669 bits = bits - op 19670 __9: 19671 ; 19672 19673 if !(bits < uint32(15)) { 19674 goto __11 19675 } 19676 hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&in, 1))))<<bits 19677 bits = bits + uint32(8) 19678 hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&in, 1))))<<bits 19679 bits = bits + uint32(8) 19680 __11: 19681 ; 19682 here = *(*Code)(unsafe.Pointer(dcode + uintptr(hold&uint64(dmask))*4)) 19683 dodist: 19684 op = uint32(here.Fbits) 19685 hold >>= op 19686 bits = bits - op 19687 op = uint32(here.Fop) 19688 if !(op&uint32(16) != 0) { 19689 goto __12 19690 } // distance base 19691 dist = uint32(here.Fval) 19692 op = op & uint32(15) // number of extra bits 19693 if !(bits < op) { 19694 goto __14 19695 } 19696 hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&in, 1))))<<bits 19697 bits = bits + uint32(8) 19698 if !(bits < op) { 19699 goto __15 19700 } 19701 hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&in, 1))))<<bits 19702 bits = bits + uint32(8) 19703 __15: 19704 ; 19705 __14: 19706 ; 19707 dist = dist + uint32(hold)&(uint32(1)<<op-uint32(1)) 19708 hold >>= op 19709 bits = bits - op 19710 19711 op = uint32((int64(out) - int64(beg)) / 1) // max distance in output 19712 if !(dist > op) { 19713 goto __16 19714 } // see if copy from window 19715 op = dist - op // distance back in window 19716 if !(op > whave) { 19717 goto __18 19718 } 19719 if !((*Inflate_state)(unsafe.Pointer(state)).Fsane != 0) { 19720 goto __19 19721 } 19722 (*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 639 /* "invalid distance..." */ 19723 (*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD 19724 goto __3 19725 __19: 19726 ; 19727 __18: 19728 ; 19729 from = window 19730 if !(wnext == uint32(0)) { 19731 goto __20 19732 } // very common case 19733 from += uintptr(wsize - op) 19734 if !(op < len) { 19735 goto __22 19736 } // some from window 19737 len = len - op 19738 __23: 19739 *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&out, 1))) = *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&from, 1))) 19740 goto __24 19741 __24: 19742 if libc.PreDecUint32(&op, 1) != 0 { 19743 goto __23 19744 } 19745 goto __25 19746 __25: 19747 ; 19748 from = out - uintptr(dist) // rest from output 19749 __22: 19750 ; 19751 goto __21 19752 __20: 19753 if !(wnext < op) { 19754 goto __26 19755 } // wrap around window 19756 from += uintptr(wsize + wnext - op) 19757 op = op - wnext 19758 if !(op < len) { 19759 goto __28 19760 } // some from end of window 19761 len = len - op 19762 __29: 19763 *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&out, 1))) = *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&from, 1))) 19764 goto __30 19765 __30: 19766 if libc.PreDecUint32(&op, 1) != 0 { 19767 goto __29 19768 } 19769 goto __31 19770 __31: 19771 ; 19772 from = window 19773 if !(wnext < len) { 19774 goto __32 19775 } // some from start of window 19776 op = wnext 19777 len = len - op 19778 __33: 19779 *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&out, 1))) = *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&from, 1))) 19780 goto __34 19781 __34: 19782 if libc.PreDecUint32(&op, 1) != 0 { 19783 goto __33 19784 } 19785 goto __35 19786 __35: 19787 ; 19788 from = out - uintptr(dist) // rest from output 19789 __32: 19790 ; 19791 __28: 19792 ; 19793 goto __27 19794 __26: // contiguous in window 19795 from += uintptr(wnext - op) 19796 if !(op < len) { 19797 goto __36 19798 } // some from window 19799 len = len - op 19800 __37: 19801 *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&out, 1))) = *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&from, 1))) 19802 goto __38 19803 __38: 19804 if libc.PreDecUint32(&op, 1) != 0 { 19805 goto __37 19806 } 19807 goto __39 19808 __39: 19809 ; 19810 from = out - uintptr(dist) // rest from output 19811 __36: 19812 ; 19813 __27: 19814 ; 19815 __21: 19816 ; 19817 __40: 19818 if !(len > uint32(2)) { 19819 goto __41 19820 } 19821 *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&out, 1))) = *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&from, 1))) 19822 *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&out, 1))) = *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&from, 1))) 19823 *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&out, 1))) = *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&from, 1))) 19824 len = len - uint32(3) 19825 goto __40 19826 __41: 19827 ; 19828 if !(len != 0) { 19829 goto __42 19830 } 19831 *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&out, 1))) = *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&from, 1))) 19832 if !(len > uint32(1)) { 19833 goto __43 19834 } 19835 *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&out, 1))) = *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&from, 1))) 19836 __43: 19837 ; 19838 __42: 19839 ; 19840 goto __17 19841 __16: 19842 from = out - uintptr(dist) // copy direct from output 19843 __44: // minimum length is three 19844 *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&out, 1))) = *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&from, 1))) 19845 *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&out, 1))) = *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&from, 1))) 19846 *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&out, 1))) = *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&from, 1))) 19847 len = len - uint32(3) 19848 goto __45 19849 __45: 19850 if len > uint32(2) { 19851 goto __44 19852 } 19853 goto __46 19854 __46: 19855 ; 19856 if !(len != 0) { 19857 goto __47 19858 } 19859 *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&out, 1))) = *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&from, 1))) 19860 if !(len > uint32(1)) { 19861 goto __48 19862 } 19863 *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&out, 1))) = *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&from, 1))) 19864 __48: 19865 ; 19866 __47: 19867 ; 19868 __17: 19869 ; 19870 goto __13 19871 __12: 19872 if !(op&uint32(64) == uint32(0)) { 19873 goto __49 19874 } // 2nd level distance code 19875 here = *(*Code)(unsafe.Pointer(dcode + uintptr(uint64(here.Fval)+hold&uint64(uint32(1)<<op-uint32(1)))*4)) 19876 goto dodist 19877 goto __50 19878 __49: 19879 (*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 617 /* "invalid distance..." */ 19880 (*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD 19881 goto __3 19882 __50: 19883 ; 19884 __13: 19885 ; 19886 goto __8 19887 __7: 19888 if !(op&uint32(64) == uint32(0)) { 19889 goto __51 19890 } // 2nd level length code 19891 here = *(*Code)(unsafe.Pointer(lcode + uintptr(uint64(here.Fval)+hold&uint64(uint32(1)<<op-uint32(1)))*4)) 19892 goto dolen 19893 goto __52 19894 __51: 19895 if !(op&uint32(32) != 0) { 19896 goto __53 19897 } // end-of-block 19898 19899 (*Inflate_state)(unsafe.Pointer(state)).Fmode = TYPE 19900 goto __3 19901 goto __54 19902 __53: 19903 (*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 589 /* "invalid literal/..." */ 19904 (*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD 19905 goto __3 19906 __54: 19907 ; 19908 __52: 19909 ; 19910 __8: 19911 ; 19912 __6: 19913 ; 19914 goto __2 19915 __2: 19916 if in < last && out < end { 19917 goto __1 19918 } 19919 goto __3 19920 __3: 19921 ; 19922 19923 // return unused bytes (on entry, bits < 8, so in won't go too far back) 19924 len = bits >> 3 19925 in -= uintptr(len) 19926 bits = bits - len<<3 19927 hold = hold & uint64(uint32(1)<<bits-uint32(1)) 19928 19929 // update state and return 19930 (*Z_stream)(unsafe.Pointer(strm)).Fnext_in = in 19931 (*Z_stream)(unsafe.Pointer(strm)).Fnext_out = out 19932 (*Z_stream)(unsafe.Pointer(strm)).Favail_in = func() uint32 { 19933 if in < last { 19934 return uint32(int64(5) + (int64(last)-int64(in))/1) 19935 } 19936 return uint32(int64(5) - (int64(in)-int64(last))/1) 19937 }() 19938 (*Z_stream)(unsafe.Pointer(strm)).Favail_out = func() uint32 { 19939 if out < end { 19940 return uint32(int64(257) + (int64(end)-int64(out))/1) 19941 } 19942 return uint32(int64(257) - (int64(out)-int64(end))/1) 19943 }() 19944 (*Inflate_state)(unsafe.Pointer(state)).Fhold = hold 19945 (*Inflate_state)(unsafe.Pointer(state)).Fbits = bits 19946 return 19947 } 19948 19949 // 19950 // inflate_fast() speedups that turned out slower (on a PowerPC G3 750CXe): 19951 // - Using bit fields for code structure 19952 // - Different op definition to avoid & for extra bits (do & for table bits) 19953 // - Three separate decoding do-loops for direct, window, and wnext == 0 19954 // - Special case for distance > 1 copies to do overlapped load and store copy 19955 // - Explicit branch predictions (based on measured branch probabilities) 19956 // - Deferring match copy and interspersed it with decoding subsequent codes 19957 // - Swapping literal/length else 19958 // - Swapping window/direct else 19959 // - Larger unrolled copy loops (three is about right) 19960 // - Moving len -= 3 statement into middle of loop 19961 // 19962 19963 func inflateStateCheck(tls *libc.TLS, strm Z_streamp) int32 { /* inflate.c:105:11: */ 19964 var state uintptr 19965 if strm == uintptr(Z_NULL) || (*Z_stream)(unsafe.Pointer(strm)).Fzalloc == uintptr(0) || (*Z_stream)(unsafe.Pointer(strm)).Fzfree == uintptr(0) { 19966 return 1 19967 } 19968 state = (*Z_stream)(unsafe.Pointer(strm)).Fstate 19969 if state == uintptr(Z_NULL) || (*Inflate_state)(unsafe.Pointer(state)).Fstrm != strm || (*Inflate_state)(unsafe.Pointer(state)).Fmode < HEAD || (*Inflate_state)(unsafe.Pointer(state)).Fmode > SYNC { 19970 return 1 19971 } 19972 return 0 19973 } 19974 19975 func XinflateResetKeep(tls *libc.TLS, strm Z_streamp) int32 { /* inflate.c:119:13: */ 19976 var state uintptr 19977 19978 if inflateStateCheck(tls, strm) != 0 { 19979 return -2 19980 } 19981 state = (*Z_stream)(unsafe.Pointer(strm)).Fstate 19982 (*Z_stream)(unsafe.Pointer(strm)).Ftotal_in = libc.AssignPtrUint64(strm+40, libc.AssignPtrUint64(state+40, uint64(0))) 19983 (*Z_stream)(unsafe.Pointer(strm)).Fmsg = uintptr(Z_NULL) 19984 if (*Inflate_state)(unsafe.Pointer(state)).Fwrap != 0 { // to support ill-conceived Java test suite 19985 (*Z_stream)(unsafe.Pointer(strm)).Fadler = ULong((*Inflate_state)(unsafe.Pointer(state)).Fwrap & 1) 19986 } 19987 (*Inflate_state)(unsafe.Pointer(state)).Fmode = HEAD 19988 (*Inflate_state)(unsafe.Pointer(state)).Flast = 0 19989 (*Inflate_state)(unsafe.Pointer(state)).Fhavedict = 0 19990 (*Inflate_state)(unsafe.Pointer(state)).Fdmax = 32768 19991 (*Inflate_state)(unsafe.Pointer(state)).Fhead = Gz_headerp(Z_NULL) 19992 (*Inflate_state)(unsafe.Pointer(state)).Fhold = uint64(0) 19993 (*Inflate_state)(unsafe.Pointer(state)).Fbits = uint32(0) 19994 (*Inflate_state)(unsafe.Pointer(state)).Flencode = libc.AssignPtrUintptr(state+112, libc.AssignPtrUintptr(state+144, state+1368 /* &.codes */)) 19995 (*Inflate_state)(unsafe.Pointer(state)).Fsane = 1 19996 (*Inflate_state)(unsafe.Pointer(state)).Fback = -1 19997 19998 return Z_OK 19999 } 20000 20001 func XinflateReset(tls *libc.TLS, strm Z_streamp) int32 { /* inflate.c:144:13: */ 20002 var state uintptr 20003 20004 if inflateStateCheck(tls, strm) != 0 { 20005 return -2 20006 } 20007 state = (*Z_stream)(unsafe.Pointer(strm)).Fstate 20008 (*Inflate_state)(unsafe.Pointer(state)).Fwsize = uint32(0) 20009 (*Inflate_state)(unsafe.Pointer(state)).Fwhave = uint32(0) 20010 (*Inflate_state)(unsafe.Pointer(state)).Fwnext = uint32(0) 20011 return XinflateResetKeep(tls, strm) 20012 } 20013 20014 func XinflateReset2(tls *libc.TLS, strm Z_streamp, windowBits int32) int32 { /* inflate.c:157:13: */ 20015 var wrap int32 20016 var state uintptr 20017 20018 // get the state 20019 if inflateStateCheck(tls, strm) != 0 { 20020 return -2 20021 } 20022 state = (*Z_stream)(unsafe.Pointer(strm)).Fstate 20023 20024 // extract wrap request from windowBits parameter 20025 if windowBits < 0 { 20026 wrap = 0 20027 windowBits = -windowBits 20028 } else { 20029 wrap = windowBits>>4 + 5 20030 if windowBits < 48 { 20031 windowBits = windowBits & 15 20032 } 20033 } 20034 20035 // set number of window bits, free window if different 20036 if windowBits != 0 && (windowBits < 8 || windowBits > 15) { 20037 return -2 20038 } 20039 if (*Inflate_state)(unsafe.Pointer(state)).Fwindow != uintptr(Z_NULL) && (*Inflate_state)(unsafe.Pointer(state)).Fwbits != uint32(windowBits) { 20040 (*struct { 20041 f func(*libc.TLS, Voidpf, Voidpf) 20042 })(unsafe.Pointer(&struct{ uintptr }{(*Z_stream)(unsafe.Pointer(strm)).Fzfree})).f(tls, (*Z_stream)(unsafe.Pointer(strm)).Fopaque, (*Inflate_state)(unsafe.Pointer(state)).Fwindow) 20043 (*Inflate_state)(unsafe.Pointer(state)).Fwindow = uintptr(Z_NULL) 20044 } 20045 20046 // update state and reset the rest of it 20047 (*Inflate_state)(unsafe.Pointer(state)).Fwrap = wrap 20048 (*Inflate_state)(unsafe.Pointer(state)).Fwbits = uint32(windowBits) 20049 return XinflateReset(tls, strm) 20050 } 20051 20052 func XinflateInit2_(tls *libc.TLS, strm Z_streamp, windowBits int32, version uintptr, stream_size int32) int32 { /* inflate.c:195:13: */ 20053 var ret int32 20054 var state uintptr 20055 20056 if version == uintptr(Z_NULL) || int32(*(*int8)(unsafe.Pointer(version))) != int32(*(*int8)(unsafe.Pointer(ts))) || stream_size != int32(unsafe.Sizeof(Z_stream{})) { 20057 return -6 20058 } 20059 if strm == uintptr(Z_NULL) { 20060 return -2 20061 } 20062 (*Z_stream)(unsafe.Pointer(strm)).Fmsg = uintptr(Z_NULL) // in case we return an error 20063 if (*Z_stream)(unsafe.Pointer(strm)).Fzalloc == uintptr(0) { 20064 (*Z_stream)(unsafe.Pointer(strm)).Fzalloc = *(*uintptr)(unsafe.Pointer(&struct { 20065 f func(*libc.TLS, Voidpf, uint32, uint32) Voidpf 20066 }{Xzcalloc})) 20067 (*Z_stream)(unsafe.Pointer(strm)).Fopaque = uintptr(0) 20068 } 20069 if (*Z_stream)(unsafe.Pointer(strm)).Fzfree == uintptr(0) { 20070 (*Z_stream)(unsafe.Pointer(strm)).Fzfree = *(*uintptr)(unsafe.Pointer(&struct { 20071 f func(*libc.TLS, Voidpf, Voidpf) 20072 }{Xzcfree})) 20073 } 20074 state = (*struct { 20075 f func(*libc.TLS, Voidpf, UInt, UInt) Voidpf 20076 })(unsafe.Pointer(&struct{ uintptr }{(*Z_stream)(unsafe.Pointer(strm)).Fzalloc})).f(tls, (*Z_stream)(unsafe.Pointer(strm)).Fopaque, uint32(1), uint32(unsafe.Sizeof(Inflate_state{}))) 20077 if state == uintptr(Z_NULL) { 20078 return -4 20079 } 20080 20081 (*Z_stream)(unsafe.Pointer(strm)).Fstate = state 20082 (*Inflate_state)(unsafe.Pointer(state)).Fstrm = strm 20083 (*Inflate_state)(unsafe.Pointer(state)).Fwindow = uintptr(Z_NULL) 20084 (*Inflate_state)(unsafe.Pointer(state)).Fmode = HEAD // to pass state test in inflateReset2() 20085 ret = XinflateReset2(tls, strm, windowBits) 20086 if ret != Z_OK { 20087 (*struct { 20088 f func(*libc.TLS, Voidpf, Voidpf) 20089 })(unsafe.Pointer(&struct{ uintptr }{(*Z_stream)(unsafe.Pointer(strm)).Fzfree})).f(tls, (*Z_stream)(unsafe.Pointer(strm)).Fopaque, state) 20090 (*Z_stream)(unsafe.Pointer(strm)).Fstate = uintptr(Z_NULL) 20091 } 20092 return ret 20093 } 20094 20095 func XinflateInit_(tls *libc.TLS, strm Z_streamp, version uintptr, stream_size int32) int32 { /* inflate.c:239:13: */ 20096 return XinflateInit2_(tls, strm, MAX_WBITS, version, stream_size) 20097 } 20098 20099 func XinflatePrime(tls *libc.TLS, strm Z_streamp, bits int32, value int32) int32 { /* inflate.c:247:13: */ 20100 var state uintptr 20101 20102 if inflateStateCheck(tls, strm) != 0 { 20103 return -2 20104 } 20105 state = (*Z_stream)(unsafe.Pointer(strm)).Fstate 20106 if bits < 0 { 20107 (*Inflate_state)(unsafe.Pointer(state)).Fhold = uint64(0) 20108 (*Inflate_state)(unsafe.Pointer(state)).Fbits = uint32(0) 20109 return Z_OK 20110 } 20111 if bits > 16 || (*Inflate_state)(unsafe.Pointer(state)).Fbits+UInt(bits) > uint32(32) { 20112 return -2 20113 } 20114 value = int32(int64(value) & (int64(1)<<bits - int64(1))) 20115 *(*uint64)(unsafe.Pointer(state + 80)) += uint64(uint32(value) << (*Inflate_state)(unsafe.Pointer(state)).Fbits) 20116 *(*uint32)(unsafe.Pointer(state + 88)) += UInt(bits) 20117 return Z_OK 20118 } 20119 20120 // 20121 // Return state with length and distance decoding tables and index sizes set to 20122 // fixed code decoding. Normally this returns fixed tables from inffixed.h. 20123 // If BUILDFIXED is defined, then instead this routine builds the tables the 20124 // first time it's called, and returns those tables the first time and 20125 // thereafter. This reduces the size of the code by about 2K bytes, in 20126 // exchange for a little execution time. However, BUILDFIXED should not be 20127 // used for threaded applications, since the rewriting of the tables and virgin 20128 // may not be thread-safe. 20129 // 20130 func fixedtables1(tls *libc.TLS, state uintptr) { /* inflate.c:278:12: */ 20131 (*Inflate_state)(unsafe.Pointer(state)).Flencode = uintptr(unsafe.Pointer(&lenfix1)) 20132 (*Inflate_state)(unsafe.Pointer(state)).Flenbits = uint32(9) 20133 (*Inflate_state)(unsafe.Pointer(state)).Fdistcode = uintptr(unsafe.Pointer(&distfix1)) 20134 (*Inflate_state)(unsafe.Pointer(state)).Fdistbits = uint32(5) 20135 } 20136 20137 var lenfix1 = [512]Code{ 20138 {Fop: uint8(96), Fbits: uint8(7)}, {Fbits: uint8(8), Fval: uint16(80)}, {Fbits: uint8(8), Fval: uint16(16)}, {Fop: uint8(20), Fbits: uint8(8), Fval: uint16(115)}, {Fop: uint8(18), Fbits: uint8(7), Fval: uint16(31)}, {Fbits: uint8(8), Fval: uint16(112)}, {Fbits: uint8(8), Fval: uint16(48)}, 20139 {Fbits: uint8(9), Fval: uint16(192)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(10)}, {Fbits: uint8(8), Fval: uint16(96)}, {Fbits: uint8(8), Fval: uint16(32)}, {Fbits: uint8(9), Fval: uint16(160)}, {Fbits: uint8(8)}, {Fbits: uint8(8), Fval: uint16(128)}, 20140 {Fbits: uint8(8), Fval: uint16(64)}, {Fbits: uint8(9), Fval: uint16(224)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(6)}, {Fbits: uint8(8), Fval: uint16(88)}, {Fbits: uint8(8), Fval: uint16(24)}, {Fbits: uint8(9), Fval: uint16(144)}, {Fop: uint8(19), Fbits: uint8(7), Fval: uint16(59)}, 20141 {Fbits: uint8(8), Fval: uint16(120)}, {Fbits: uint8(8), Fval: uint16(56)}, {Fbits: uint8(9), Fval: uint16(208)}, {Fop: uint8(17), Fbits: uint8(7), Fval: uint16(17)}, {Fbits: uint8(8), Fval: uint16(104)}, {Fbits: uint8(8), Fval: uint16(40)}, {Fbits: uint8(9), Fval: uint16(176)}, 20142 {Fbits: uint8(8), Fval: uint16(8)}, {Fbits: uint8(8), Fval: uint16(136)}, {Fbits: uint8(8), Fval: uint16(72)}, {Fbits: uint8(9), Fval: uint16(240)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(4)}, {Fbits: uint8(8), Fval: uint16(84)}, {Fbits: uint8(8), Fval: uint16(20)}, 20143 {Fop: uint8(21), Fbits: uint8(8), Fval: uint16(227)}, {Fop: uint8(19), Fbits: uint8(7), Fval: uint16(43)}, {Fbits: uint8(8), Fval: uint16(116)}, {Fbits: uint8(8), Fval: uint16(52)}, {Fbits: uint8(9), Fval: uint16(200)}, {Fop: uint8(17), Fbits: uint8(7), Fval: uint16(13)}, {Fbits: uint8(8), Fval: uint16(100)}, 20144 {Fbits: uint8(8), Fval: uint16(36)}, {Fbits: uint8(9), Fval: uint16(168)}, {Fbits: uint8(8), Fval: uint16(4)}, {Fbits: uint8(8), Fval: uint16(132)}, {Fbits: uint8(8), Fval: uint16(68)}, {Fbits: uint8(9), Fval: uint16(232)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(8)}, 20145 {Fbits: uint8(8), Fval: uint16(92)}, {Fbits: uint8(8), Fval: uint16(28)}, {Fbits: uint8(9), Fval: uint16(152)}, {Fop: uint8(20), Fbits: uint8(7), Fval: uint16(83)}, {Fbits: uint8(8), Fval: uint16(124)}, {Fbits: uint8(8), Fval: uint16(60)}, {Fbits: uint8(9), Fval: uint16(216)}, 20146 {Fop: uint8(18), Fbits: uint8(7), Fval: uint16(23)}, {Fbits: uint8(8), Fval: uint16(108)}, {Fbits: uint8(8), Fval: uint16(44)}, {Fbits: uint8(9), Fval: uint16(184)}, {Fbits: uint8(8), Fval: uint16(12)}, {Fbits: uint8(8), Fval: uint16(140)}, {Fbits: uint8(8), Fval: uint16(76)}, 20147 {Fbits: uint8(9), Fval: uint16(248)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(3)}, {Fbits: uint8(8), Fval: uint16(82)}, {Fbits: uint8(8), Fval: uint16(18)}, {Fop: uint8(21), Fbits: uint8(8), Fval: uint16(163)}, {Fop: uint8(19), Fbits: uint8(7), Fval: uint16(35)}, {Fbits: uint8(8), Fval: uint16(114)}, 20148 {Fbits: uint8(8), Fval: uint16(50)}, {Fbits: uint8(9), Fval: uint16(196)}, {Fop: uint8(17), Fbits: uint8(7), Fval: uint16(11)}, {Fbits: uint8(8), Fval: uint16(98)}, {Fbits: uint8(8), Fval: uint16(34)}, {Fbits: uint8(9), Fval: uint16(164)}, {Fbits: uint8(8), Fval: uint16(2)}, 20149 {Fbits: uint8(8), Fval: uint16(130)}, {Fbits: uint8(8), Fval: uint16(66)}, {Fbits: uint8(9), Fval: uint16(228)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(7)}, {Fbits: uint8(8), Fval: uint16(90)}, {Fbits: uint8(8), Fval: uint16(26)}, {Fbits: uint8(9), Fval: uint16(148)}, 20150 {Fop: uint8(20), Fbits: uint8(7), Fval: uint16(67)}, {Fbits: uint8(8), Fval: uint16(122)}, {Fbits: uint8(8), Fval: uint16(58)}, {Fbits: uint8(9), Fval: uint16(212)}, {Fop: uint8(18), Fbits: uint8(7), Fval: uint16(19)}, {Fbits: uint8(8), Fval: uint16(106)}, {Fbits: uint8(8), Fval: uint16(42)}, 20151 {Fbits: uint8(9), Fval: uint16(180)}, {Fbits: uint8(8), Fval: uint16(10)}, {Fbits: uint8(8), Fval: uint16(138)}, {Fbits: uint8(8), Fval: uint16(74)}, {Fbits: uint8(9), Fval: uint16(244)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(5)}, {Fbits: uint8(8), Fval: uint16(86)}, 20152 {Fbits: uint8(8), Fval: uint16(22)}, {Fop: uint8(64), Fbits: uint8(8)}, {Fop: uint8(19), Fbits: uint8(7), Fval: uint16(51)}, {Fbits: uint8(8), Fval: uint16(118)}, {Fbits: uint8(8), Fval: uint16(54)}, {Fbits: uint8(9), Fval: uint16(204)}, {Fop: uint8(17), Fbits: uint8(7), Fval: uint16(15)}, 20153 {Fbits: uint8(8), Fval: uint16(102)}, {Fbits: uint8(8), Fval: uint16(38)}, {Fbits: uint8(9), Fval: uint16(172)}, {Fbits: uint8(8), Fval: uint16(6)}, {Fbits: uint8(8), Fval: uint16(134)}, {Fbits: uint8(8), Fval: uint16(70)}, {Fbits: uint8(9), Fval: uint16(236)}, 20154 {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(9)}, {Fbits: uint8(8), Fval: uint16(94)}, {Fbits: uint8(8), Fval: uint16(30)}, {Fbits: uint8(9), Fval: uint16(156)}, {Fop: uint8(20), Fbits: uint8(7), Fval: uint16(99)}, {Fbits: uint8(8), Fval: uint16(126)}, {Fbits: uint8(8), Fval: uint16(62)}, 20155 {Fbits: uint8(9), Fval: uint16(220)}, {Fop: uint8(18), Fbits: uint8(7), Fval: uint16(27)}, {Fbits: uint8(8), Fval: uint16(110)}, {Fbits: uint8(8), Fval: uint16(46)}, {Fbits: uint8(9), Fval: uint16(188)}, {Fbits: uint8(8), Fval: uint16(14)}, {Fbits: uint8(8), Fval: uint16(142)}, 20156 {Fbits: uint8(8), Fval: uint16(78)}, {Fbits: uint8(9), Fval: uint16(252)}, {Fop: uint8(96), Fbits: uint8(7)}, {Fbits: uint8(8), Fval: uint16(81)}, {Fbits: uint8(8), Fval: uint16(17)}, {Fop: uint8(21), Fbits: uint8(8), Fval: uint16(131)}, {Fop: uint8(18), Fbits: uint8(7), Fval: uint16(31)}, 20157 {Fbits: uint8(8), Fval: uint16(113)}, {Fbits: uint8(8), Fval: uint16(49)}, {Fbits: uint8(9), Fval: uint16(194)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(10)}, {Fbits: uint8(8), Fval: uint16(97)}, {Fbits: uint8(8), Fval: uint16(33)}, {Fbits: uint8(9), Fval: uint16(162)}, 20158 {Fbits: uint8(8), Fval: uint16(1)}, {Fbits: uint8(8), Fval: uint16(129)}, {Fbits: uint8(8), Fval: uint16(65)}, {Fbits: uint8(9), Fval: uint16(226)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(6)}, {Fbits: uint8(8), Fval: uint16(89)}, {Fbits: uint8(8), Fval: uint16(25)}, 20159 {Fbits: uint8(9), Fval: uint16(146)}, {Fop: uint8(19), Fbits: uint8(7), Fval: uint16(59)}, {Fbits: uint8(8), Fval: uint16(121)}, {Fbits: uint8(8), Fval: uint16(57)}, {Fbits: uint8(9), Fval: uint16(210)}, {Fop: uint8(17), Fbits: uint8(7), Fval: uint16(17)}, {Fbits: uint8(8), Fval: uint16(105)}, 20160 {Fbits: uint8(8), Fval: uint16(41)}, {Fbits: uint8(9), Fval: uint16(178)}, {Fbits: uint8(8), Fval: uint16(9)}, {Fbits: uint8(8), Fval: uint16(137)}, {Fbits: uint8(8), Fval: uint16(73)}, {Fbits: uint8(9), Fval: uint16(242)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(4)}, 20161 {Fbits: uint8(8), Fval: uint16(85)}, {Fbits: uint8(8), Fval: uint16(21)}, {Fop: uint8(16), Fbits: uint8(8), Fval: uint16(258)}, {Fop: uint8(19), Fbits: uint8(7), Fval: uint16(43)}, {Fbits: uint8(8), Fval: uint16(117)}, {Fbits: uint8(8), Fval: uint16(53)}, {Fbits: uint8(9), Fval: uint16(202)}, 20162 {Fop: uint8(17), Fbits: uint8(7), Fval: uint16(13)}, {Fbits: uint8(8), Fval: uint16(101)}, {Fbits: uint8(8), Fval: uint16(37)}, {Fbits: uint8(9), Fval: uint16(170)}, {Fbits: uint8(8), Fval: uint16(5)}, {Fbits: uint8(8), Fval: uint16(133)}, {Fbits: uint8(8), Fval: uint16(69)}, 20163 {Fbits: uint8(9), Fval: uint16(234)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(8)}, {Fbits: uint8(8), Fval: uint16(93)}, {Fbits: uint8(8), Fval: uint16(29)}, {Fbits: uint8(9), Fval: uint16(154)}, {Fop: uint8(20), Fbits: uint8(7), Fval: uint16(83)}, {Fbits: uint8(8), Fval: uint16(125)}, 20164 {Fbits: uint8(8), Fval: uint16(61)}, {Fbits: uint8(9), Fval: uint16(218)}, {Fop: uint8(18), Fbits: uint8(7), Fval: uint16(23)}, {Fbits: uint8(8), Fval: uint16(109)}, {Fbits: uint8(8), Fval: uint16(45)}, {Fbits: uint8(9), Fval: uint16(186)}, {Fbits: uint8(8), Fval: uint16(13)}, 20165 {Fbits: uint8(8), Fval: uint16(141)}, {Fbits: uint8(8), Fval: uint16(77)}, {Fbits: uint8(9), Fval: uint16(250)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(3)}, {Fbits: uint8(8), Fval: uint16(83)}, {Fbits: uint8(8), Fval: uint16(19)}, {Fop: uint8(21), Fbits: uint8(8), Fval: uint16(195)}, 20166 {Fop: uint8(19), Fbits: uint8(7), Fval: uint16(35)}, {Fbits: uint8(8), Fval: uint16(115)}, {Fbits: uint8(8), Fval: uint16(51)}, {Fbits: uint8(9), Fval: uint16(198)}, {Fop: uint8(17), Fbits: uint8(7), Fval: uint16(11)}, {Fbits: uint8(8), Fval: uint16(99)}, {Fbits: uint8(8), Fval: uint16(35)}, 20167 {Fbits: uint8(9), Fval: uint16(166)}, {Fbits: uint8(8), Fval: uint16(3)}, {Fbits: uint8(8), Fval: uint16(131)}, {Fbits: uint8(8), Fval: uint16(67)}, {Fbits: uint8(9), Fval: uint16(230)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(7)}, {Fbits: uint8(8), Fval: uint16(91)}, 20168 {Fbits: uint8(8), Fval: uint16(27)}, {Fbits: uint8(9), Fval: uint16(150)}, {Fop: uint8(20), Fbits: uint8(7), Fval: uint16(67)}, {Fbits: uint8(8), Fval: uint16(123)}, {Fbits: uint8(8), Fval: uint16(59)}, {Fbits: uint8(9), Fval: uint16(214)}, {Fop: uint8(18), Fbits: uint8(7), Fval: uint16(19)}, 20169 {Fbits: uint8(8), Fval: uint16(107)}, {Fbits: uint8(8), Fval: uint16(43)}, {Fbits: uint8(9), Fval: uint16(182)}, {Fbits: uint8(8), Fval: uint16(11)}, {Fbits: uint8(8), Fval: uint16(139)}, {Fbits: uint8(8), Fval: uint16(75)}, {Fbits: uint8(9), Fval: uint16(246)}, 20170 {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(5)}, {Fbits: uint8(8), Fval: uint16(87)}, {Fbits: uint8(8), Fval: uint16(23)}, {Fop: uint8(64), Fbits: uint8(8)}, {Fop: uint8(19), Fbits: uint8(7), Fval: uint16(51)}, {Fbits: uint8(8), Fval: uint16(119)}, {Fbits: uint8(8), Fval: uint16(55)}, 20171 {Fbits: uint8(9), Fval: uint16(206)}, {Fop: uint8(17), Fbits: uint8(7), Fval: uint16(15)}, {Fbits: uint8(8), Fval: uint16(103)}, {Fbits: uint8(8), Fval: uint16(39)}, {Fbits: uint8(9), Fval: uint16(174)}, {Fbits: uint8(8), Fval: uint16(7)}, {Fbits: uint8(8), Fval: uint16(135)}, 20172 {Fbits: uint8(8), Fval: uint16(71)}, {Fbits: uint8(9), Fval: uint16(238)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(9)}, {Fbits: uint8(8), Fval: uint16(95)}, {Fbits: uint8(8), Fval: uint16(31)}, {Fbits: uint8(9), Fval: uint16(158)}, {Fop: uint8(20), Fbits: uint8(7), Fval: uint16(99)}, 20173 {Fbits: uint8(8), Fval: uint16(127)}, {Fbits: uint8(8), Fval: uint16(63)}, {Fbits: uint8(9), Fval: uint16(222)}, {Fop: uint8(18), Fbits: uint8(7), Fval: uint16(27)}, {Fbits: uint8(8), Fval: uint16(111)}, {Fbits: uint8(8), Fval: uint16(47)}, {Fbits: uint8(9), Fval: uint16(190)}, 20174 {Fbits: uint8(8), Fval: uint16(15)}, {Fbits: uint8(8), Fval: uint16(143)}, {Fbits: uint8(8), Fval: uint16(79)}, {Fbits: uint8(9), Fval: uint16(254)}, {Fop: uint8(96), Fbits: uint8(7)}, {Fbits: uint8(8), Fval: uint16(80)}, {Fbits: uint8(8), Fval: uint16(16)}, 20175 {Fop: uint8(20), Fbits: uint8(8), Fval: uint16(115)}, {Fop: uint8(18), Fbits: uint8(7), Fval: uint16(31)}, {Fbits: uint8(8), Fval: uint16(112)}, {Fbits: uint8(8), Fval: uint16(48)}, {Fbits: uint8(9), Fval: uint16(193)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(10)}, {Fbits: uint8(8), Fval: uint16(96)}, 20176 {Fbits: uint8(8), Fval: uint16(32)}, {Fbits: uint8(9), Fval: uint16(161)}, {Fbits: uint8(8)}, {Fbits: uint8(8), Fval: uint16(128)}, {Fbits: uint8(8), Fval: uint16(64)}, {Fbits: uint8(9), Fval: uint16(225)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(6)}, 20177 {Fbits: uint8(8), Fval: uint16(88)}, {Fbits: uint8(8), Fval: uint16(24)}, {Fbits: uint8(9), Fval: uint16(145)}, {Fop: uint8(19), Fbits: uint8(7), Fval: uint16(59)}, {Fbits: uint8(8), Fval: uint16(120)}, {Fbits: uint8(8), Fval: uint16(56)}, {Fbits: uint8(9), Fval: uint16(209)}, 20178 {Fop: uint8(17), Fbits: uint8(7), Fval: uint16(17)}, {Fbits: uint8(8), Fval: uint16(104)}, {Fbits: uint8(8), Fval: uint16(40)}, {Fbits: uint8(9), Fval: uint16(177)}, {Fbits: uint8(8), Fval: uint16(8)}, {Fbits: uint8(8), Fval: uint16(136)}, {Fbits: uint8(8), Fval: uint16(72)}, 20179 {Fbits: uint8(9), Fval: uint16(241)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(4)}, {Fbits: uint8(8), Fval: uint16(84)}, {Fbits: uint8(8), Fval: uint16(20)}, {Fop: uint8(21), Fbits: uint8(8), Fval: uint16(227)}, {Fop: uint8(19), Fbits: uint8(7), Fval: uint16(43)}, {Fbits: uint8(8), Fval: uint16(116)}, 20180 {Fbits: uint8(8), Fval: uint16(52)}, {Fbits: uint8(9), Fval: uint16(201)}, {Fop: uint8(17), Fbits: uint8(7), Fval: uint16(13)}, {Fbits: uint8(8), Fval: uint16(100)}, {Fbits: uint8(8), Fval: uint16(36)}, {Fbits: uint8(9), Fval: uint16(169)}, {Fbits: uint8(8), Fval: uint16(4)}, 20181 {Fbits: uint8(8), Fval: uint16(132)}, {Fbits: uint8(8), Fval: uint16(68)}, {Fbits: uint8(9), Fval: uint16(233)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(8)}, {Fbits: uint8(8), Fval: uint16(92)}, {Fbits: uint8(8), Fval: uint16(28)}, {Fbits: uint8(9), Fval: uint16(153)}, 20182 {Fop: uint8(20), Fbits: uint8(7), Fval: uint16(83)}, {Fbits: uint8(8), Fval: uint16(124)}, {Fbits: uint8(8), Fval: uint16(60)}, {Fbits: uint8(9), Fval: uint16(217)}, {Fop: uint8(18), Fbits: uint8(7), Fval: uint16(23)}, {Fbits: uint8(8), Fval: uint16(108)}, {Fbits: uint8(8), Fval: uint16(44)}, 20183 {Fbits: uint8(9), Fval: uint16(185)}, {Fbits: uint8(8), Fval: uint16(12)}, {Fbits: uint8(8), Fval: uint16(140)}, {Fbits: uint8(8), Fval: uint16(76)}, {Fbits: uint8(9), Fval: uint16(249)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(3)}, {Fbits: uint8(8), Fval: uint16(82)}, 20184 {Fbits: uint8(8), Fval: uint16(18)}, {Fop: uint8(21), Fbits: uint8(8), Fval: uint16(163)}, {Fop: uint8(19), Fbits: uint8(7), Fval: uint16(35)}, {Fbits: uint8(8), Fval: uint16(114)}, {Fbits: uint8(8), Fval: uint16(50)}, {Fbits: uint8(9), Fval: uint16(197)}, {Fop: uint8(17), Fbits: uint8(7), Fval: uint16(11)}, 20185 {Fbits: uint8(8), Fval: uint16(98)}, {Fbits: uint8(8), Fval: uint16(34)}, {Fbits: uint8(9), Fval: uint16(165)}, {Fbits: uint8(8), Fval: uint16(2)}, {Fbits: uint8(8), Fval: uint16(130)}, {Fbits: uint8(8), Fval: uint16(66)}, {Fbits: uint8(9), Fval: uint16(229)}, 20186 {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(7)}, {Fbits: uint8(8), Fval: uint16(90)}, {Fbits: uint8(8), Fval: uint16(26)}, {Fbits: uint8(9), Fval: uint16(149)}, {Fop: uint8(20), Fbits: uint8(7), Fval: uint16(67)}, {Fbits: uint8(8), Fval: uint16(122)}, {Fbits: uint8(8), Fval: uint16(58)}, 20187 {Fbits: uint8(9), Fval: uint16(213)}, {Fop: uint8(18), Fbits: uint8(7), Fval: uint16(19)}, {Fbits: uint8(8), Fval: uint16(106)}, {Fbits: uint8(8), Fval: uint16(42)}, {Fbits: uint8(9), Fval: uint16(181)}, {Fbits: uint8(8), Fval: uint16(10)}, {Fbits: uint8(8), Fval: uint16(138)}, 20188 {Fbits: uint8(8), Fval: uint16(74)}, {Fbits: uint8(9), Fval: uint16(245)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(5)}, {Fbits: uint8(8), Fval: uint16(86)}, {Fbits: uint8(8), Fval: uint16(22)}, {Fop: uint8(64), Fbits: uint8(8)}, {Fop: uint8(19), Fbits: uint8(7), Fval: uint16(51)}, 20189 {Fbits: uint8(8), Fval: uint16(118)}, {Fbits: uint8(8), Fval: uint16(54)}, {Fbits: uint8(9), Fval: uint16(205)}, {Fop: uint8(17), Fbits: uint8(7), Fval: uint16(15)}, {Fbits: uint8(8), Fval: uint16(102)}, {Fbits: uint8(8), Fval: uint16(38)}, {Fbits: uint8(9), Fval: uint16(173)}, 20190 {Fbits: uint8(8), Fval: uint16(6)}, {Fbits: uint8(8), Fval: uint16(134)}, {Fbits: uint8(8), Fval: uint16(70)}, {Fbits: uint8(9), Fval: uint16(237)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(9)}, {Fbits: uint8(8), Fval: uint16(94)}, {Fbits: uint8(8), Fval: uint16(30)}, 20191 {Fbits: uint8(9), Fval: uint16(157)}, {Fop: uint8(20), Fbits: uint8(7), Fval: uint16(99)}, {Fbits: uint8(8), Fval: uint16(126)}, {Fbits: uint8(8), Fval: uint16(62)}, {Fbits: uint8(9), Fval: uint16(221)}, {Fop: uint8(18), Fbits: uint8(7), Fval: uint16(27)}, {Fbits: uint8(8), Fval: uint16(110)}, 20192 {Fbits: uint8(8), Fval: uint16(46)}, {Fbits: uint8(9), Fval: uint16(189)}, {Fbits: uint8(8), Fval: uint16(14)}, {Fbits: uint8(8), Fval: uint16(142)}, {Fbits: uint8(8), Fval: uint16(78)}, {Fbits: uint8(9), Fval: uint16(253)}, {Fop: uint8(96), Fbits: uint8(7)}, 20193 {Fbits: uint8(8), Fval: uint16(81)}, {Fbits: uint8(8), Fval: uint16(17)}, {Fop: uint8(21), Fbits: uint8(8), Fval: uint16(131)}, {Fop: uint8(18), Fbits: uint8(7), Fval: uint16(31)}, {Fbits: uint8(8), Fval: uint16(113)}, {Fbits: uint8(8), Fval: uint16(49)}, {Fbits: uint8(9), Fval: uint16(195)}, 20194 {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(10)}, {Fbits: uint8(8), Fval: uint16(97)}, {Fbits: uint8(8), Fval: uint16(33)}, {Fbits: uint8(9), Fval: uint16(163)}, {Fbits: uint8(8), Fval: uint16(1)}, {Fbits: uint8(8), Fval: uint16(129)}, {Fbits: uint8(8), Fval: uint16(65)}, 20195 {Fbits: uint8(9), Fval: uint16(227)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(6)}, {Fbits: uint8(8), Fval: uint16(89)}, {Fbits: uint8(8), Fval: uint16(25)}, {Fbits: uint8(9), Fval: uint16(147)}, {Fop: uint8(19), Fbits: uint8(7), Fval: uint16(59)}, {Fbits: uint8(8), Fval: uint16(121)}, 20196 {Fbits: uint8(8), Fval: uint16(57)}, {Fbits: uint8(9), Fval: uint16(211)}, {Fop: uint8(17), Fbits: uint8(7), Fval: uint16(17)}, {Fbits: uint8(8), Fval: uint16(105)}, {Fbits: uint8(8), Fval: uint16(41)}, {Fbits: uint8(9), Fval: uint16(179)}, {Fbits: uint8(8), Fval: uint16(9)}, 20197 {Fbits: uint8(8), Fval: uint16(137)}, {Fbits: uint8(8), Fval: uint16(73)}, {Fbits: uint8(9), Fval: uint16(243)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(4)}, {Fbits: uint8(8), Fval: uint16(85)}, {Fbits: uint8(8), Fval: uint16(21)}, {Fop: uint8(16), Fbits: uint8(8), Fval: uint16(258)}, 20198 {Fop: uint8(19), Fbits: uint8(7), Fval: uint16(43)}, {Fbits: uint8(8), Fval: uint16(117)}, {Fbits: uint8(8), Fval: uint16(53)}, {Fbits: uint8(9), Fval: uint16(203)}, {Fop: uint8(17), Fbits: uint8(7), Fval: uint16(13)}, {Fbits: uint8(8), Fval: uint16(101)}, {Fbits: uint8(8), Fval: uint16(37)}, 20199 {Fbits: uint8(9), Fval: uint16(171)}, {Fbits: uint8(8), Fval: uint16(5)}, {Fbits: uint8(8), Fval: uint16(133)}, {Fbits: uint8(8), Fval: uint16(69)}, {Fbits: uint8(9), Fval: uint16(235)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(8)}, {Fbits: uint8(8), Fval: uint16(93)}, 20200 {Fbits: uint8(8), Fval: uint16(29)}, {Fbits: uint8(9), Fval: uint16(155)}, {Fop: uint8(20), Fbits: uint8(7), Fval: uint16(83)}, {Fbits: uint8(8), Fval: uint16(125)}, {Fbits: uint8(8), Fval: uint16(61)}, {Fbits: uint8(9), Fval: uint16(219)}, {Fop: uint8(18), Fbits: uint8(7), Fval: uint16(23)}, 20201 {Fbits: uint8(8), Fval: uint16(109)}, {Fbits: uint8(8), Fval: uint16(45)}, {Fbits: uint8(9), Fval: uint16(187)}, {Fbits: uint8(8), Fval: uint16(13)}, {Fbits: uint8(8), Fval: uint16(141)}, {Fbits: uint8(8), Fval: uint16(77)}, {Fbits: uint8(9), Fval: uint16(251)}, 20202 {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(3)}, {Fbits: uint8(8), Fval: uint16(83)}, {Fbits: uint8(8), Fval: uint16(19)}, {Fop: uint8(21), Fbits: uint8(8), Fval: uint16(195)}, {Fop: uint8(19), Fbits: uint8(7), Fval: uint16(35)}, {Fbits: uint8(8), Fval: uint16(115)}, {Fbits: uint8(8), Fval: uint16(51)}, 20203 {Fbits: uint8(9), Fval: uint16(199)}, {Fop: uint8(17), Fbits: uint8(7), Fval: uint16(11)}, {Fbits: uint8(8), Fval: uint16(99)}, {Fbits: uint8(8), Fval: uint16(35)}, {Fbits: uint8(9), Fval: uint16(167)}, {Fbits: uint8(8), Fval: uint16(3)}, {Fbits: uint8(8), Fval: uint16(131)}, 20204 {Fbits: uint8(8), Fval: uint16(67)}, {Fbits: uint8(9), Fval: uint16(231)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(7)}, {Fbits: uint8(8), Fval: uint16(91)}, {Fbits: uint8(8), Fval: uint16(27)}, {Fbits: uint8(9), Fval: uint16(151)}, {Fop: uint8(20), Fbits: uint8(7), Fval: uint16(67)}, 20205 {Fbits: uint8(8), Fval: uint16(123)}, {Fbits: uint8(8), Fval: uint16(59)}, {Fbits: uint8(9), Fval: uint16(215)}, {Fop: uint8(18), Fbits: uint8(7), Fval: uint16(19)}, {Fbits: uint8(8), Fval: uint16(107)}, {Fbits: uint8(8), Fval: uint16(43)}, {Fbits: uint8(9), Fval: uint16(183)}, 20206 {Fbits: uint8(8), Fval: uint16(11)}, {Fbits: uint8(8), Fval: uint16(139)}, {Fbits: uint8(8), Fval: uint16(75)}, {Fbits: uint8(9), Fval: uint16(247)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(5)}, {Fbits: uint8(8), Fval: uint16(87)}, {Fbits: uint8(8), Fval: uint16(23)}, 20207 {Fop: uint8(64), Fbits: uint8(8)}, {Fop: uint8(19), Fbits: uint8(7), Fval: uint16(51)}, {Fbits: uint8(8), Fval: uint16(119)}, {Fbits: uint8(8), Fval: uint16(55)}, {Fbits: uint8(9), Fval: uint16(207)}, {Fop: uint8(17), Fbits: uint8(7), Fval: uint16(15)}, {Fbits: uint8(8), Fval: uint16(103)}, 20208 {Fbits: uint8(8), Fval: uint16(39)}, {Fbits: uint8(9), Fval: uint16(175)}, {Fbits: uint8(8), Fval: uint16(7)}, {Fbits: uint8(8), Fval: uint16(135)}, {Fbits: uint8(8), Fval: uint16(71)}, {Fbits: uint8(9), Fval: uint16(239)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(9)}, 20209 {Fbits: uint8(8), Fval: uint16(95)}, {Fbits: uint8(8), Fval: uint16(31)}, {Fbits: uint8(9), Fval: uint16(159)}, {Fop: uint8(20), Fbits: uint8(7), Fval: uint16(99)}, {Fbits: uint8(8), Fval: uint16(127)}, {Fbits: uint8(8), Fval: uint16(63)}, {Fbits: uint8(9), Fval: uint16(223)}, 20210 {Fop: uint8(18), Fbits: uint8(7), Fval: uint16(27)}, {Fbits: uint8(8), Fval: uint16(111)}, {Fbits: uint8(8), Fval: uint16(47)}, {Fbits: uint8(9), Fval: uint16(191)}, {Fbits: uint8(8), Fval: uint16(15)}, {Fbits: uint8(8), Fval: uint16(143)}, {Fbits: uint8(8), Fval: uint16(79)}, 20211 {Fbits: uint8(9), Fval: uint16(255)}, 20212 } /* inffixed.h:10:23 */ 20213 var distfix1 = [32]Code{ 20214 {Fop: uint8(16), Fbits: uint8(5), Fval: uint16(1)}, {Fop: uint8(23), Fbits: uint8(5), Fval: uint16(257)}, {Fop: uint8(19), Fbits: uint8(5), Fval: uint16(17)}, {Fop: uint8(27), Fbits: uint8(5), Fval: uint16(4097)}, {Fop: uint8(17), Fbits: uint8(5), Fval: uint16(5)}, {Fop: uint8(25), Fbits: uint8(5), Fval: uint16(1025)}, 20215 {Fop: uint8(21), Fbits: uint8(5), Fval: uint16(65)}, {Fop: uint8(29), Fbits: uint8(5), Fval: uint16(16385)}, {Fop: uint8(16), Fbits: uint8(5), Fval: uint16(3)}, {Fop: uint8(24), Fbits: uint8(5), Fval: uint16(513)}, {Fop: uint8(20), Fbits: uint8(5), Fval: uint16(33)}, {Fop: uint8(28), Fbits: uint8(5), Fval: uint16(8193)}, 20216 {Fop: uint8(18), Fbits: uint8(5), Fval: uint16(9)}, {Fop: uint8(26), Fbits: uint8(5), Fval: uint16(2049)}, {Fop: uint8(22), Fbits: uint8(5), Fval: uint16(129)}, {Fop: uint8(64), Fbits: uint8(5)}, {Fop: uint8(16), Fbits: uint8(5), Fval: uint16(2)}, {Fop: uint8(23), Fbits: uint8(5), Fval: uint16(385)}, 20217 {Fop: uint8(19), Fbits: uint8(5), Fval: uint16(25)}, {Fop: uint8(27), Fbits: uint8(5), Fval: uint16(6145)}, {Fop: uint8(17), Fbits: uint8(5), Fval: uint16(7)}, {Fop: uint8(25), Fbits: uint8(5), Fval: uint16(1537)}, {Fop: uint8(21), Fbits: uint8(5), Fval: uint16(97)}, {Fop: uint8(29), Fbits: uint8(5), Fval: uint16(24577)}, 20218 {Fop: uint8(16), Fbits: uint8(5), Fval: uint16(4)}, {Fop: uint8(24), Fbits: uint8(5), Fval: uint16(769)}, {Fop: uint8(20), Fbits: uint8(5), Fval: uint16(49)}, {Fop: uint8(28), Fbits: uint8(5), Fval: uint16(12289)}, {Fop: uint8(18), Fbits: uint8(5), Fval: uint16(13)}, {Fop: uint8(26), Fbits: uint8(5), Fval: uint16(3073)}, 20219 {Fop: uint8(22), Fbits: uint8(5), Fval: uint16(193)}, {Fop: uint8(64), Fbits: uint8(5)}, 20220 } /* inffixed.h:87:23 */ 20221 20222 // 20223 // Update the window with the last wsize (normally 32K) bytes written before 20224 // returning. If window does not exist yet, create it. This is only called 20225 // when a window is already in use, or when output has been written during this 20226 // inflate call, but the end of the deflate stream has not been reached yet. 20227 // It is also called to create a window for dictionary data when a dictionary 20228 // is loaded. 20229 // 20230 // Providing output buffers larger than 32K to inflate() should provide a speed 20231 // advantage, since only the last 32K of output is copied to the sliding window 20232 // upon return from inflate(), and since all distances after the first 32K of 20233 // output will fall in the output data, making match copies simpler and faster. 20234 // The advantage may be dependent on the size of the processor's data caches. 20235 // 20236 func updatewindow(tls *libc.TLS, strm Z_streamp, end uintptr, copy uint32) int32 { /* inflate.c:396:11: */ 20237 var state uintptr 20238 var dist uint32 20239 20240 state = (*Z_stream)(unsafe.Pointer(strm)).Fstate 20241 20242 // if it hasn't been done already, allocate space for the window 20243 if (*Inflate_state)(unsafe.Pointer(state)).Fwindow == uintptr(Z_NULL) { 20244 (*Inflate_state)(unsafe.Pointer(state)).Fwindow = (*struct { 20245 f func(*libc.TLS, Voidpf, UInt, UInt) Voidpf 20246 })(unsafe.Pointer(&struct{ uintptr }{(*Z_stream)(unsafe.Pointer(strm)).Fzalloc})).f(tls, (*Z_stream)(unsafe.Pointer(strm)).Fopaque, uint32(1)<<(*Inflate_state)(unsafe.Pointer(state)).Fwbits, uint32(unsafe.Sizeof(uint8(0)))) 20247 if (*Inflate_state)(unsafe.Pointer(state)).Fwindow == uintptr(Z_NULL) { 20248 return 1 20249 } 20250 } 20251 20252 // if window not in use yet, initialize 20253 if (*Inflate_state)(unsafe.Pointer(state)).Fwsize == uint32(0) { 20254 (*Inflate_state)(unsafe.Pointer(state)).Fwsize = uint32(1) << (*Inflate_state)(unsafe.Pointer(state)).Fwbits 20255 (*Inflate_state)(unsafe.Pointer(state)).Fwnext = uint32(0) 20256 (*Inflate_state)(unsafe.Pointer(state)).Fwhave = uint32(0) 20257 } 20258 20259 // copy state->wsize or less output bytes into the circular window 20260 if copy >= (*Inflate_state)(unsafe.Pointer(state)).Fwsize { 20261 libc.X__builtin___memcpy_chk(tls, (*Inflate_state)(unsafe.Pointer(state)).Fwindow, end-uintptr((*Inflate_state)(unsafe.Pointer(state)).Fwsize), uint64((*Inflate_state)(unsafe.Pointer(state)).Fwsize), libc.X__builtin_object_size(tls, (*Inflate_state)(unsafe.Pointer(state)).Fwindow, 0)) 20262 (*Inflate_state)(unsafe.Pointer(state)).Fwnext = uint32(0) 20263 (*Inflate_state)(unsafe.Pointer(state)).Fwhave = (*Inflate_state)(unsafe.Pointer(state)).Fwsize 20264 } else { 20265 dist = (*Inflate_state)(unsafe.Pointer(state)).Fwsize - (*Inflate_state)(unsafe.Pointer(state)).Fwnext 20266 if dist > copy { 20267 dist = copy 20268 } 20269 libc.X__builtin___memcpy_chk(tls, (*Inflate_state)(unsafe.Pointer(state)).Fwindow+uintptr((*Inflate_state)(unsafe.Pointer(state)).Fwnext), end-uintptr(copy), uint64(dist), libc.X__builtin_object_size(tls, (*Inflate_state)(unsafe.Pointer(state)).Fwindow+uintptr((*Inflate_state)(unsafe.Pointer(state)).Fwnext), 0)) 20270 copy = copy - dist 20271 if copy != 0 { 20272 libc.X__builtin___memcpy_chk(tls, (*Inflate_state)(unsafe.Pointer(state)).Fwindow, end-uintptr(copy), uint64(copy), libc.X__builtin_object_size(tls, (*Inflate_state)(unsafe.Pointer(state)).Fwindow, 0)) 20273 (*Inflate_state)(unsafe.Pointer(state)).Fwnext = copy 20274 (*Inflate_state)(unsafe.Pointer(state)).Fwhave = (*Inflate_state)(unsafe.Pointer(state)).Fwsize 20275 } else { 20276 *(*uint32)(unsafe.Pointer(state + 68)) += dist 20277 if (*Inflate_state)(unsafe.Pointer(state)).Fwnext == (*Inflate_state)(unsafe.Pointer(state)).Fwsize { 20278 (*Inflate_state)(unsafe.Pointer(state)).Fwnext = uint32(0) 20279 } 20280 if (*Inflate_state)(unsafe.Pointer(state)).Fwhave < (*Inflate_state)(unsafe.Pointer(state)).Fwsize { 20281 *(*uint32)(unsafe.Pointer(state + 64)) += dist 20282 } 20283 } 20284 } 20285 return 0 20286 } 20287 20288 // Macros for inflate(): 20289 20290 // check function to use adler32() for zlib or crc32() for gzip 20291 20292 // check macros for header crc 20293 20294 // Load registers with state in inflate() for speed 20295 20296 // Restore state from registers in inflate() 20297 20298 // Clear the input bit accumulator 20299 20300 // Get a byte of input into the bit accumulator, or return from inflate() 20301 // if there is no input available. 20302 20303 // Assure that there are at least n bits in the bit accumulator. If there is 20304 // not enough available input to do that, then return from inflate(). 20305 20306 // Return the low n bits of the bit accumulator (n < 16) 20307 20308 // Remove n bits from the bit accumulator 20309 20310 // Remove zero to seven bits as needed to go to a byte boundary 20311 20312 // 20313 // inflate() uses a state machine to process as much input data and generate as 20314 // much output data as possible before returning. The state machine is 20315 // structured roughly as follows: 20316 // 20317 // for (;;) switch (state) { 20318 // ... 20319 // case STATEn: 20320 // if (not enough input data or output space to make progress) 20321 // return; 20322 // ... make progress ... 20323 // state = STATEm; 20324 // break; 20325 // ... 20326 // } 20327 // 20328 // so when inflate() is called again, the same case is attempted again, and 20329 // if the appropriate resources are provided, the machine proceeds to the 20330 // next state. The NEEDBITS() macro is usually the way the state evaluates 20331 // whether it can proceed or should return. NEEDBITS() does the return if 20332 // the requested bits are not available. The typical use of the BITS macros 20333 // is: 20334 // 20335 // NEEDBITS(n); 20336 // ... do something with BITS(n) ... 20337 // DROPBITS(n); 20338 // 20339 // where NEEDBITS(n) either returns from inflate() if there isn't enough 20340 // input left to load n bits into the accumulator, or it continues. BITS(n) 20341 // gives the low n bits in the accumulator. When done, DROPBITS(n) drops 20342 // the low n bits off the accumulator. INITBITS() clears the accumulator 20343 // and sets the number of available bits to zero. BYTEBITS() discards just 20344 // enough bits to put the accumulator on a byte boundary. After BYTEBITS() 20345 // and a NEEDBITS(8), then BITS(8) would return the next byte in the stream. 20346 // 20347 // NEEDBITS(n) uses PULLBYTE() to get an available byte of input, or to return 20348 // if there is no input available. The decoding of variable length codes uses 20349 // PULLBYTE() directly in order to pull just enough bytes to decode the next 20350 // code, and no more. 20351 // 20352 // Some states loop until they get enough input, making sure that enough 20353 // state information is maintained to continue the loop where it left off 20354 // if NEEDBITS() returns in the loop. For example, want, need, and keep 20355 // would all have to actually be part of the saved state in case NEEDBITS() 20356 // returns: 20357 // 20358 // case STATEw: 20359 // while (want < need) { 20360 // NEEDBITS(n); 20361 // keep[want++] = BITS(n); 20362 // DROPBITS(n); 20363 // } 20364 // state = STATEx; 20365 // case STATEx: 20366 // 20367 // As shown above, if the next state is also the next case, then the break 20368 // is omitted. 20369 // 20370 // A state may also return if there is not enough output space available to 20371 // complete that state. Those states are copying stored data, writing a 20372 // literal byte, and copying a matching string. 20373 // 20374 // When returning, a "goto inf_leave" is used to update the total counters, 20375 // update the check value, and determine whether any progress has been made 20376 // during that inflate() call in order to return the proper return code. 20377 // Progress is defined as a change in either strm->avail_in or strm->avail_out. 20378 // When there is a window, goto inf_leave will update the window with the last 20379 // output written. If a goto inf_leave occurs in the middle of decompression 20380 // and there is no window currently, goto inf_leave will create one and copy 20381 // output to the window for the next call of inflate(). 20382 // 20383 // In this implementation, the flush parameter of inflate() only affects the 20384 // return code (per zlib.h). inflate() always writes as much as possible to 20385 // strm->next_out, given the space available and the provided input--the effect 20386 // documented in zlib.h of Z_SYNC_FLUSH. Furthermore, inflate() always defers 20387 // the allocation of and copying into a sliding window until necessary, which 20388 // provides the effect documented in zlib.h for Z_FINISH when the entire input 20389 // stream available. So the only thing the flush parameter actually does is: 20390 // when flush is set to Z_FINISH, inflate() cannot return Z_OK. Instead it 20391 // will return Z_BUF_ERROR if it has not reached the end of the stream. 20392 // 20393 20394 func Xinflate(tls *libc.TLS, strm Z_streamp, flush int32) int32 { /* inflate.c:622:13: */ 20395 bp := tls.Alloc(4) 20396 defer tls.Free(4) 20397 20398 var state uintptr 20399 var next uintptr // next input 20400 var put uintptr // next output 20401 var have uint32 20402 var left uint32 // available input and output 20403 var hold uint64 // bit buffer 20404 var bits uint32 // bits in bit buffer 20405 var in uint32 20406 var out uint32 // save starting available input and output 20407 var copy uint32 // number of stored or match bytes to copy 20408 var from uintptr // where to copy match bytes from 20409 var here Code // current decoding table entry 20410 var last Code // parent table entry 20411 var len uint32 // length to copy for repeats, bits to drop 20412 var ret int32 // return code 20413 // var hbuf [4]uint8 at bp, 4 20414 20415 if !(inflateStateCheck(tls, strm) != 0 || (*Z_stream)(unsafe.Pointer(strm)).Fnext_out == uintptr(Z_NULL) || (*Z_stream)(unsafe.Pointer(strm)).Fnext_in == uintptr(Z_NULL) && (*Z_stream)(unsafe.Pointer(strm)).Favail_in != UInt(0)) { 20416 goto __1 20417 } 20418 return -2 20419 __1: 20420 ; 20421 20422 state = (*Z_stream)(unsafe.Pointer(strm)).Fstate 20423 if !((*Inflate_state)(unsafe.Pointer(state)).Fmode == TYPE) { 20424 goto __2 20425 } 20426 (*Inflate_state)(unsafe.Pointer(state)).Fmode = TYPEDO 20427 __2: 20428 ; // skip check 20429 __3: 20430 put = (*Z_stream)(unsafe.Pointer(strm)).Fnext_out 20431 left = (*Z_stream)(unsafe.Pointer(strm)).Favail_out 20432 next = (*Z_stream)(unsafe.Pointer(strm)).Fnext_in 20433 have = (*Z_stream)(unsafe.Pointer(strm)).Favail_in 20434 hold = (*Inflate_state)(unsafe.Pointer(state)).Fhold 20435 bits = (*Inflate_state)(unsafe.Pointer(state)).Fbits 20436 goto __4 20437 __4: 20438 if 0 != 0 { 20439 goto __3 20440 } 20441 goto __5 20442 __5: 20443 ; 20444 in = have 20445 out = left 20446 ret = Z_OK 20447 __6: 20448 switch (*Inflate_state)(unsafe.Pointer(state)).Fmode { 20449 case HEAD: 20450 goto __10 20451 case FLAGS: 20452 goto __11 20453 case TIME: 20454 goto __12 20455 case OS: 20456 goto __13 20457 case EXLEN: 20458 goto __14 20459 case EXTRA: 20460 goto __15 20461 case NAME: 20462 goto __16 20463 case COMMENT: 20464 goto __17 20465 case HCRC: 20466 goto __18 20467 case DICTID: 20468 goto __19 20469 case DICT: 20470 goto __20 20471 case TYPE: 20472 goto __21 20473 case TYPEDO: 20474 goto __22 20475 case STORED: 20476 goto __23 20477 case COPY_: 20478 goto __24 20479 case COPY: 20480 goto __25 20481 case TABLE: 20482 goto __26 20483 case LENLENS: 20484 goto __27 20485 case CODELENS: 20486 goto __28 20487 case LEN_: 20488 goto __29 20489 case LEN: 20490 goto __30 20491 case LENEXT: 20492 goto __31 20493 case DIST: 20494 goto __32 20495 case DISTEXT: 20496 goto __33 20497 case MATCH: 20498 goto __34 20499 case LIT: 20500 goto __35 20501 case CHECK: 20502 goto __36 20503 case LENGTH: 20504 goto __37 20505 case DONE: 20506 goto __38 20507 case BAD: 20508 goto __39 20509 case MEM: 20510 goto __40 20511 case SYNC: 20512 goto __41 20513 default: 20514 goto __42 20515 } 20516 goto __9 20517 __10: 20518 if !((*Inflate_state)(unsafe.Pointer(state)).Fwrap == 0) { 20519 goto __43 20520 } 20521 (*Inflate_state)(unsafe.Pointer(state)).Fmode = TYPEDO 20522 goto __9 20523 __43: 20524 ; 20525 __44: 20526 __47: 20527 if !(bits < uint32(16)) { 20528 goto __48 20529 } 20530 __49: 20531 if !(have == uint32(0)) { 20532 goto __52 20533 } 20534 goto inf_leave 20535 __52: 20536 ; 20537 have-- 20538 hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&next, 1))))<<bits 20539 bits = bits + uint32(8) 20540 goto __50 20541 __50: 20542 if 0 != 0 { 20543 goto __49 20544 } 20545 goto __51 20546 __51: 20547 ; 20548 goto __47 20549 __48: 20550 ; 20551 goto __45 20552 __45: 20553 if 0 != 0 { 20554 goto __44 20555 } 20556 goto __46 20557 __46: 20558 ; 20559 if !((*Inflate_state)(unsafe.Pointer(state)).Fwrap&2 != 0 && hold == uint64(0x8b1f)) { 20560 goto __53 20561 } // gzip header 20562 if !((*Inflate_state)(unsafe.Pointer(state)).Fwbits == uint32(0)) { 20563 goto __54 20564 } 20565 (*Inflate_state)(unsafe.Pointer(state)).Fwbits = uint32(15) 20566 __54: 20567 ; 20568 (*Inflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, uint64(0), uintptr(Z_NULL), uint32(0)) 20569 __55: 20570 *(*uint8)(unsafe.Pointer(bp)) = uint8(hold) 20571 *(*uint8)(unsafe.Pointer(bp + 1)) = uint8(hold >> 8) 20572 (*Inflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Inflate_state)(unsafe.Pointer(state)).Fcheck, bp, uint32(2)) 20573 goto __56 20574 __56: 20575 if 0 != 0 { 20576 goto __55 20577 } 20578 goto __57 20579 __57: 20580 ; 20581 __58: 20582 hold = uint64(0) 20583 bits = uint32(0) 20584 goto __59 20585 __59: 20586 if 0 != 0 { 20587 goto __58 20588 } 20589 goto __60 20590 __60: 20591 ; 20592 (*Inflate_state)(unsafe.Pointer(state)).Fmode = FLAGS 20593 goto __9 20594 __53: 20595 ; 20596 (*Inflate_state)(unsafe.Pointer(state)).Fflags = 0 // expect zlib header 20597 if !((*Inflate_state)(unsafe.Pointer(state)).Fhead != uintptr(Z_NULL)) { 20598 goto __61 20599 } 20600 (*Gz_header)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Fhead)).Fdone = -1 20601 __61: 20602 ; 20603 if !(!((*Inflate_state)(unsafe.Pointer(state)).Fwrap&1 != 0) || (uint64(uint32(hold)&(uint32(1)<<8-uint32(1))<<8)+hold>>8)%uint64(31) != 0) { 20604 goto __62 20605 } 20606 (*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 669 /* "incorrect header..." */ 20607 (*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD 20608 goto __9 20609 __62: 20610 ; 20611 if !(uint32(hold)&(uint32(1)<<4-uint32(1)) != uint32(Z_DEFLATED)) { 20612 goto __63 20613 } 20614 (*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 692 /* "unknown compress..." */ 20615 (*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD 20616 goto __9 20617 __63: 20618 ; 20619 __64: 20620 hold >>= 4 20621 bits = bits - uint32(4) 20622 goto __65 20623 __65: 20624 if 0 != 0 { 20625 goto __64 20626 } 20627 goto __66 20628 __66: 20629 ; 20630 len = uint32(hold)&(uint32(1)<<4-uint32(1)) + uint32(8) 20631 if !((*Inflate_state)(unsafe.Pointer(state)).Fwbits == uint32(0)) { 20632 goto __67 20633 } 20634 (*Inflate_state)(unsafe.Pointer(state)).Fwbits = len 20635 __67: 20636 ; 20637 if !(len > uint32(15) || len > (*Inflate_state)(unsafe.Pointer(state)).Fwbits) { 20638 goto __68 20639 } 20640 (*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 719 /* "invalid window s..." */ 20641 (*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD 20642 goto __9 20643 __68: 20644 ; 20645 (*Inflate_state)(unsafe.Pointer(state)).Fdmax = uint32(1) << len 20646 20647 (*Z_stream)(unsafe.Pointer(strm)).Fadler = libc.AssignPtrUint64(state+32, Xadler32(tls, uint64(0), uintptr(Z_NULL), uint32(0))) 20648 (*Inflate_state)(unsafe.Pointer(state)).Fmode = func() uint32 { 20649 if hold&uint64(0x200) != 0 { 20650 return DICTID 20651 } 20652 return TYPE 20653 }() 20654 __69: 20655 hold = uint64(0) 20656 bits = uint32(0) 20657 goto __70 20658 __70: 20659 if 0 != 0 { 20660 goto __69 20661 } 20662 goto __71 20663 __71: 20664 ; 20665 goto __9 20666 __11: 20667 __72: 20668 __75: 20669 if !(bits < uint32(16)) { 20670 goto __76 20671 } 20672 __77: 20673 if !(have == uint32(0)) { 20674 goto __80 20675 } 20676 goto inf_leave 20677 __80: 20678 ; 20679 have-- 20680 hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&next, 1))))<<bits 20681 bits = bits + uint32(8) 20682 goto __78 20683 __78: 20684 if 0 != 0 { 20685 goto __77 20686 } 20687 goto __79 20688 __79: 20689 ; 20690 goto __75 20691 __76: 20692 ; 20693 goto __73 20694 __73: 20695 if 0 != 0 { 20696 goto __72 20697 } 20698 goto __74 20699 __74: 20700 ; 20701 (*Inflate_state)(unsafe.Pointer(state)).Fflags = int32(hold) 20702 if !((*Inflate_state)(unsafe.Pointer(state)).Fflags&0xff != Z_DEFLATED) { 20703 goto __81 20704 } 20705 (*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 692 /* "unknown compress..." */ 20706 (*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD 20707 goto __9 20708 __81: 20709 ; 20710 if !((*Inflate_state)(unsafe.Pointer(state)).Fflags&0xe000 != 0) { 20711 goto __82 20712 } 20713 (*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 739 /* "unknown header f..." */ 20714 (*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD 20715 goto __9 20716 __82: 20717 ; 20718 if !((*Inflate_state)(unsafe.Pointer(state)).Fhead != uintptr(Z_NULL)) { 20719 goto __83 20720 } 20721 (*Gz_header)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Fhead)).Ftext = int32(hold >> 8 & uint64(1)) 20722 __83: 20723 ; 20724 if !((*Inflate_state)(unsafe.Pointer(state)).Fflags&0x0200 != 0 && (*Inflate_state)(unsafe.Pointer(state)).Fwrap&4 != 0) { 20725 goto __84 20726 } 20727 __85: 20728 *(*uint8)(unsafe.Pointer(bp)) = uint8(hold) 20729 *(*uint8)(unsafe.Pointer(bp + 1)) = uint8(hold >> 8) 20730 (*Inflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Inflate_state)(unsafe.Pointer(state)).Fcheck, bp, uint32(2)) 20731 goto __86 20732 __86: 20733 if 0 != 0 { 20734 goto __85 20735 } 20736 goto __87 20737 __87: 20738 ; 20739 __84: 20740 ; 20741 __88: 20742 hold = uint64(0) 20743 bits = uint32(0) 20744 goto __89 20745 __89: 20746 if 0 != 0 { 20747 goto __88 20748 } 20749 goto __90 20750 __90: 20751 ; 20752 (*Inflate_state)(unsafe.Pointer(state)).Fmode = TIME 20753 __12: 20754 __91: 20755 __94: 20756 if !(bits < uint32(32)) { 20757 goto __95 20758 } 20759 __96: 20760 if !(have == uint32(0)) { 20761 goto __99 20762 } 20763 goto inf_leave 20764 __99: 20765 ; 20766 have-- 20767 hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&next, 1))))<<bits 20768 bits = bits + uint32(8) 20769 goto __97 20770 __97: 20771 if 0 != 0 { 20772 goto __96 20773 } 20774 goto __98 20775 __98: 20776 ; 20777 goto __94 20778 __95: 20779 ; 20780 goto __92 20781 __92: 20782 if 0 != 0 { 20783 goto __91 20784 } 20785 goto __93 20786 __93: 20787 ; 20788 if !((*Inflate_state)(unsafe.Pointer(state)).Fhead != uintptr(Z_NULL)) { 20789 goto __100 20790 } 20791 (*Gz_header)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Fhead)).Ftime = hold 20792 __100: 20793 ; 20794 if !((*Inflate_state)(unsafe.Pointer(state)).Fflags&0x0200 != 0 && (*Inflate_state)(unsafe.Pointer(state)).Fwrap&4 != 0) { 20795 goto __101 20796 } 20797 __102: 20798 *(*uint8)(unsafe.Pointer(bp)) = uint8(hold) 20799 *(*uint8)(unsafe.Pointer(bp + 1)) = uint8(hold >> 8) 20800 *(*uint8)(unsafe.Pointer(bp + 2)) = uint8(hold >> 16) 20801 *(*uint8)(unsafe.Pointer(bp + 3)) = uint8(hold >> 24) 20802 (*Inflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Inflate_state)(unsafe.Pointer(state)).Fcheck, bp, uint32(4)) 20803 goto __103 20804 __103: 20805 if 0 != 0 { 20806 goto __102 20807 } 20808 goto __104 20809 __104: 20810 ; 20811 __101: 20812 ; 20813 __105: 20814 hold = uint64(0) 20815 bits = uint32(0) 20816 goto __106 20817 __106: 20818 if 0 != 0 { 20819 goto __105 20820 } 20821 goto __107 20822 __107: 20823 ; 20824 (*Inflate_state)(unsafe.Pointer(state)).Fmode = OS 20825 __13: 20826 __108: 20827 __111: 20828 if !(bits < uint32(16)) { 20829 goto __112 20830 } 20831 __113: 20832 if !(have == uint32(0)) { 20833 goto __116 20834 } 20835 goto inf_leave 20836 __116: 20837 ; 20838 have-- 20839 hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&next, 1))))<<bits 20840 bits = bits + uint32(8) 20841 goto __114 20842 __114: 20843 if 0 != 0 { 20844 goto __113 20845 } 20846 goto __115 20847 __115: 20848 ; 20849 goto __111 20850 __112: 20851 ; 20852 goto __109 20853 __109: 20854 if 0 != 0 { 20855 goto __108 20856 } 20857 goto __110 20858 __110: 20859 ; 20860 if !((*Inflate_state)(unsafe.Pointer(state)).Fhead != uintptr(Z_NULL)) { 20861 goto __117 20862 } 20863 (*Gz_header)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Fhead)).Fxflags = int32(hold & uint64(0xff)) 20864 (*Gz_header)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Fhead)).Fos = int32(hold >> 8) 20865 __117: 20866 ; 20867 if !((*Inflate_state)(unsafe.Pointer(state)).Fflags&0x0200 != 0 && (*Inflate_state)(unsafe.Pointer(state)).Fwrap&4 != 0) { 20868 goto __118 20869 } 20870 __119: 20871 *(*uint8)(unsafe.Pointer(bp)) = uint8(hold) 20872 *(*uint8)(unsafe.Pointer(bp + 1)) = uint8(hold >> 8) 20873 (*Inflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Inflate_state)(unsafe.Pointer(state)).Fcheck, bp, uint32(2)) 20874 goto __120 20875 __120: 20876 if 0 != 0 { 20877 goto __119 20878 } 20879 goto __121 20880 __121: 20881 ; 20882 __118: 20883 ; 20884 __122: 20885 hold = uint64(0) 20886 bits = uint32(0) 20887 goto __123 20888 __123: 20889 if 0 != 0 { 20890 goto __122 20891 } 20892 goto __124 20893 __124: 20894 ; 20895 (*Inflate_state)(unsafe.Pointer(state)).Fmode = EXLEN 20896 __14: 20897 if !((*Inflate_state)(unsafe.Pointer(state)).Fflags&0x0400 != 0) { 20898 goto __125 20899 } 20900 __127: 20901 __130: 20902 if !(bits < uint32(16)) { 20903 goto __131 20904 } 20905 __132: 20906 if !(have == uint32(0)) { 20907 goto __135 20908 } 20909 goto inf_leave 20910 __135: 20911 ; 20912 have-- 20913 hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&next, 1))))<<bits 20914 bits = bits + uint32(8) 20915 goto __133 20916 __133: 20917 if 0 != 0 { 20918 goto __132 20919 } 20920 goto __134 20921 __134: 20922 ; 20923 goto __130 20924 __131: 20925 ; 20926 goto __128 20927 __128: 20928 if 0 != 0 { 20929 goto __127 20930 } 20931 goto __129 20932 __129: 20933 ; 20934 (*Inflate_state)(unsafe.Pointer(state)).Flength = uint32(hold) 20935 if !((*Inflate_state)(unsafe.Pointer(state)).Fhead != uintptr(Z_NULL)) { 20936 goto __136 20937 } 20938 (*Gz_header)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Fhead)).Fextra_len = uint32(hold) 20939 __136: 20940 ; 20941 if !((*Inflate_state)(unsafe.Pointer(state)).Fflags&0x0200 != 0 && (*Inflate_state)(unsafe.Pointer(state)).Fwrap&4 != 0) { 20942 goto __137 20943 } 20944 __138: 20945 *(*uint8)(unsafe.Pointer(bp)) = uint8(hold) 20946 *(*uint8)(unsafe.Pointer(bp + 1)) = uint8(hold >> 8) 20947 (*Inflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Inflate_state)(unsafe.Pointer(state)).Fcheck, bp, uint32(2)) 20948 goto __139 20949 __139: 20950 if 0 != 0 { 20951 goto __138 20952 } 20953 goto __140 20954 __140: 20955 ; 20956 __137: 20957 ; 20958 __141: 20959 hold = uint64(0) 20960 bits = uint32(0) 20961 goto __142 20962 __142: 20963 if 0 != 0 { 20964 goto __141 20965 } 20966 goto __143 20967 __143: 20968 ; 20969 goto __126 20970 __125: 20971 if !((*Inflate_state)(unsafe.Pointer(state)).Fhead != uintptr(Z_NULL)) { 20972 goto __144 20973 } 20974 (*Gz_header)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Fhead)).Fextra = uintptr(Z_NULL) 20975 __144: 20976 ; 20977 __126: 20978 ; 20979 (*Inflate_state)(unsafe.Pointer(state)).Fmode = EXTRA 20980 __15: 20981 if !((*Inflate_state)(unsafe.Pointer(state)).Fflags&0x0400 != 0) { 20982 goto __145 20983 } 20984 copy = (*Inflate_state)(unsafe.Pointer(state)).Flength 20985 if !(copy > have) { 20986 goto __146 20987 } 20988 copy = have 20989 __146: 20990 ; 20991 if !(copy != 0) { 20992 goto __147 20993 } 20994 if !((*Inflate_state)(unsafe.Pointer(state)).Fhead != uintptr(Z_NULL) && (*Gz_header)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Fhead)).Fextra != uintptr(Z_NULL)) { 20995 goto __148 20996 } 20997 len = (*Gz_header)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Fhead)).Fextra_len - (*Inflate_state)(unsafe.Pointer(state)).Flength 20998 libc.X__builtin___memcpy_chk(tls, (*Gz_header)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Fhead)).Fextra+uintptr(len), next, func() uint64 { 20999 if len+copy > (*Gz_header)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Fhead)).Fextra_max { 21000 return uint64((*Gz_header)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Fhead)).Fextra_max - len) 21001 } 21002 return uint64(copy) 21003 }(), libc.X__builtin_object_size(tls, (*Gz_header)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Fhead)).Fextra+uintptr(len), 0)) 21004 __148: 21005 ; 21006 if !((*Inflate_state)(unsafe.Pointer(state)).Fflags&0x0200 != 0 && (*Inflate_state)(unsafe.Pointer(state)).Fwrap&4 != 0) { 21007 goto __149 21008 } 21009 (*Inflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Inflate_state)(unsafe.Pointer(state)).Fcheck, next, copy) 21010 __149: 21011 ; 21012 have = have - copy 21013 next += uintptr(copy) 21014 *(*uint32)(unsafe.Pointer(state + 92)) -= copy 21015 __147: 21016 ; 21017 if !((*Inflate_state)(unsafe.Pointer(state)).Flength != 0) { 21018 goto __150 21019 } 21020 goto inf_leave 21021 __150: 21022 ; 21023 __145: 21024 ; 21025 (*Inflate_state)(unsafe.Pointer(state)).Flength = uint32(0) 21026 (*Inflate_state)(unsafe.Pointer(state)).Fmode = NAME 21027 __16: 21028 if !((*Inflate_state)(unsafe.Pointer(state)).Fflags&0x0800 != 0) { 21029 goto __151 21030 } 21031 if !(have == uint32(0)) { 21032 goto __153 21033 } 21034 goto inf_leave 21035 __153: 21036 ; 21037 copy = uint32(0) 21038 __154: 21039 len = uint32(*(*uint8)(unsafe.Pointer(next + uintptr(libc.PostIncUint32(©, 1))))) 21040 if !((*Inflate_state)(unsafe.Pointer(state)).Fhead != uintptr(Z_NULL) && (*Gz_header)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Fhead)).Fname != uintptr(Z_NULL) && (*Inflate_state)(unsafe.Pointer(state)).Flength < (*Gz_header)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Fhead)).Fname_max) { 21041 goto __157 21042 } 21043 *(*Bytef)(unsafe.Pointer((*Gz_header)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Fhead)).Fname + uintptr(libc.PostIncUint32(&(*Inflate_state)(unsafe.Pointer(state)).Flength, 1)))) = Bytef(len) 21044 __157: 21045 ; 21046 goto __155 21047 __155: 21048 if len != 0 && copy < have { 21049 goto __154 21050 } 21051 goto __156 21052 __156: 21053 ; 21054 if !((*Inflate_state)(unsafe.Pointer(state)).Fflags&0x0200 != 0 && (*Inflate_state)(unsafe.Pointer(state)).Fwrap&4 != 0) { 21055 goto __158 21056 } 21057 (*Inflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Inflate_state)(unsafe.Pointer(state)).Fcheck, next, copy) 21058 __158: 21059 ; 21060 have = have - copy 21061 next += uintptr(copy) 21062 if !(len != 0) { 21063 goto __159 21064 } 21065 goto inf_leave 21066 __159: 21067 ; 21068 goto __152 21069 __151: 21070 if !((*Inflate_state)(unsafe.Pointer(state)).Fhead != uintptr(Z_NULL)) { 21071 goto __160 21072 } 21073 (*Gz_header)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Fhead)).Fname = uintptr(Z_NULL) 21074 __160: 21075 ; 21076 __152: 21077 ; 21078 (*Inflate_state)(unsafe.Pointer(state)).Flength = uint32(0) 21079 (*Inflate_state)(unsafe.Pointer(state)).Fmode = COMMENT 21080 __17: 21081 if !((*Inflate_state)(unsafe.Pointer(state)).Fflags&0x1000 != 0) { 21082 goto __161 21083 } 21084 if !(have == uint32(0)) { 21085 goto __163 21086 } 21087 goto inf_leave 21088 __163: 21089 ; 21090 copy = uint32(0) 21091 __164: 21092 len = uint32(*(*uint8)(unsafe.Pointer(next + uintptr(libc.PostIncUint32(©, 1))))) 21093 if !((*Inflate_state)(unsafe.Pointer(state)).Fhead != uintptr(Z_NULL) && (*Gz_header)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Fhead)).Fcomment != uintptr(Z_NULL) && (*Inflate_state)(unsafe.Pointer(state)).Flength < (*Gz_header)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Fhead)).Fcomm_max) { 21094 goto __167 21095 } 21096 *(*Bytef)(unsafe.Pointer((*Gz_header)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Fhead)).Fcomment + uintptr(libc.PostIncUint32(&(*Inflate_state)(unsafe.Pointer(state)).Flength, 1)))) = Bytef(len) 21097 __167: 21098 ; 21099 goto __165 21100 __165: 21101 if len != 0 && copy < have { 21102 goto __164 21103 } 21104 goto __166 21105 __166: 21106 ; 21107 if !((*Inflate_state)(unsafe.Pointer(state)).Fflags&0x0200 != 0 && (*Inflate_state)(unsafe.Pointer(state)).Fwrap&4 != 0) { 21108 goto __168 21109 } 21110 (*Inflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Inflate_state)(unsafe.Pointer(state)).Fcheck, next, copy) 21111 __168: 21112 ; 21113 have = have - copy 21114 next += uintptr(copy) 21115 if !(len != 0) { 21116 goto __169 21117 } 21118 goto inf_leave 21119 __169: 21120 ; 21121 goto __162 21122 __161: 21123 if !((*Inflate_state)(unsafe.Pointer(state)).Fhead != uintptr(Z_NULL)) { 21124 goto __170 21125 } 21126 (*Gz_header)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Fhead)).Fcomment = uintptr(Z_NULL) 21127 __170: 21128 ; 21129 __162: 21130 ; 21131 (*Inflate_state)(unsafe.Pointer(state)).Fmode = HCRC 21132 __18: 21133 if !((*Inflate_state)(unsafe.Pointer(state)).Fflags&0x0200 != 0) { 21134 goto __171 21135 } 21136 __172: 21137 __175: 21138 if !(bits < uint32(16)) { 21139 goto __176 21140 } 21141 __177: 21142 if !(have == uint32(0)) { 21143 goto __180 21144 } 21145 goto inf_leave 21146 __180: 21147 ; 21148 have-- 21149 hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&next, 1))))<<bits 21150 bits = bits + uint32(8) 21151 goto __178 21152 __178: 21153 if 0 != 0 { 21154 goto __177 21155 } 21156 goto __179 21157 __179: 21158 ; 21159 goto __175 21160 __176: 21161 ; 21162 goto __173 21163 __173: 21164 if 0 != 0 { 21165 goto __172 21166 } 21167 goto __174 21168 __174: 21169 ; 21170 if !((*Inflate_state)(unsafe.Pointer(state)).Fwrap&4 != 0 && hold != (*Inflate_state)(unsafe.Pointer(state)).Fcheck&uint64(0xffff)) { 21171 goto __181 21172 } 21173 (*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 764 /* "header crc misma..." */ 21174 (*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD 21175 goto __9 21176 __181: 21177 ; 21178 __182: 21179 hold = uint64(0) 21180 bits = uint32(0) 21181 goto __183 21182 __183: 21183 if 0 != 0 { 21184 goto __182 21185 } 21186 goto __184 21187 __184: 21188 ; 21189 __171: 21190 ; 21191 if !((*Inflate_state)(unsafe.Pointer(state)).Fhead != uintptr(Z_NULL)) { 21192 goto __185 21193 } 21194 (*Gz_header)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Fhead)).Fhcrc = (*Inflate_state)(unsafe.Pointer(state)).Fflags >> 9 & 1 21195 (*Gz_header)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Fhead)).Fdone = 1 21196 __185: 21197 ; 21198 (*Z_stream)(unsafe.Pointer(strm)).Fadler = libc.AssignPtrUint64(state+32, Xcrc32(tls, uint64(0), uintptr(Z_NULL), uint32(0))) 21199 (*Inflate_state)(unsafe.Pointer(state)).Fmode = TYPE 21200 goto __9 21201 __19: 21202 __186: 21203 __189: 21204 if !(bits < uint32(32)) { 21205 goto __190 21206 } 21207 __191: 21208 if !(have == uint32(0)) { 21209 goto __194 21210 } 21211 goto inf_leave 21212 __194: 21213 ; 21214 have-- 21215 hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&next, 1))))<<bits 21216 bits = bits + uint32(8) 21217 goto __192 21218 __192: 21219 if 0 != 0 { 21220 goto __191 21221 } 21222 goto __193 21223 __193: 21224 ; 21225 goto __189 21226 __190: 21227 ; 21228 goto __187 21229 __187: 21230 if 0 != 0 { 21231 goto __186 21232 } 21233 goto __188 21234 __188: 21235 ; 21236 (*Z_stream)(unsafe.Pointer(strm)).Fadler = libc.AssignPtrUint64(state+32, hold>>24&uint64(0xff)+hold>>8&uint64(0xff00)+hold&uint64(0xff00)<<8+hold&uint64(0xff)<<24) 21237 __195: 21238 hold = uint64(0) 21239 bits = uint32(0) 21240 goto __196 21241 __196: 21242 if 0 != 0 { 21243 goto __195 21244 } 21245 goto __197 21246 __197: 21247 ; 21248 (*Inflate_state)(unsafe.Pointer(state)).Fmode = DICT 21249 __20: 21250 if !((*Inflate_state)(unsafe.Pointer(state)).Fhavedict == 0) { 21251 goto __198 21252 } 21253 __199: 21254 (*Z_stream)(unsafe.Pointer(strm)).Fnext_out = put 21255 (*Z_stream)(unsafe.Pointer(strm)).Favail_out = left 21256 (*Z_stream)(unsafe.Pointer(strm)).Fnext_in = next 21257 (*Z_stream)(unsafe.Pointer(strm)).Favail_in = have 21258 (*Inflate_state)(unsafe.Pointer(state)).Fhold = hold 21259 (*Inflate_state)(unsafe.Pointer(state)).Fbits = bits 21260 goto __200 21261 __200: 21262 if 0 != 0 { 21263 goto __199 21264 } 21265 goto __201 21266 __201: 21267 ; 21268 return Z_NEED_DICT 21269 __198: 21270 ; 21271 (*Z_stream)(unsafe.Pointer(strm)).Fadler = libc.AssignPtrUint64(state+32, Xadler32(tls, uint64(0), uintptr(Z_NULL), uint32(0))) 21272 (*Inflate_state)(unsafe.Pointer(state)).Fmode = TYPE 21273 __21: 21274 if !(flush == Z_BLOCK || flush == Z_TREES) { 21275 goto __202 21276 } 21277 goto inf_leave 21278 __202: 21279 ; 21280 __22: 21281 if !((*Inflate_state)(unsafe.Pointer(state)).Flast != 0) { 21282 goto __203 21283 } 21284 __204: 21285 hold >>= bits & uint32(7) 21286 bits = bits - bits&uint32(7) 21287 goto __205 21288 __205: 21289 if 0 != 0 { 21290 goto __204 21291 } 21292 goto __206 21293 __206: 21294 ; 21295 (*Inflate_state)(unsafe.Pointer(state)).Fmode = CHECK 21296 goto __9 21297 __203: 21298 ; 21299 __207: 21300 __210: 21301 if !(bits < uint32(3)) { 21302 goto __211 21303 } 21304 __212: 21305 if !(have == uint32(0)) { 21306 goto __215 21307 } 21308 goto inf_leave 21309 __215: 21310 ; 21311 have-- 21312 hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&next, 1))))<<bits 21313 bits = bits + uint32(8) 21314 goto __213 21315 __213: 21316 if 0 != 0 { 21317 goto __212 21318 } 21319 goto __214 21320 __214: 21321 ; 21322 goto __210 21323 __211: 21324 ; 21325 goto __208 21326 __208: 21327 if 0 != 0 { 21328 goto __207 21329 } 21330 goto __209 21331 __209: 21332 ; 21333 (*Inflate_state)(unsafe.Pointer(state)).Flast = int32(uint32(hold) & (uint32(1)<<1 - uint32(1))) 21334 __216: 21335 hold >>= 1 21336 bits = bits - uint32(1) 21337 goto __217 21338 __217: 21339 if 0 != 0 { 21340 goto __216 21341 } 21342 goto __218 21343 __218: 21344 ; 21345 switch uint32(hold) & (uint32(1)<<2 - uint32(1)) { 21346 case uint32(0): 21347 goto __220 21348 case uint32(1): 21349 goto __221 21350 case uint32(2): 21351 goto __222 21352 case uint32(3): 21353 goto __223 21354 } 21355 goto __219 21356 __220: // stored block 21357 ; 21358 (*Inflate_state)(unsafe.Pointer(state)).Fmode = STORED 21359 goto __219 21360 __221: // fixed block 21361 fixedtables1(tls, state) 21362 21363 (*Inflate_state)(unsafe.Pointer(state)).Fmode = LEN_ // decode codes 21364 if !(flush == Z_TREES) { 21365 goto __224 21366 } 21367 __225: 21368 hold >>= 2 21369 bits = bits - uint32(2) 21370 goto __226 21371 __226: 21372 if 0 != 0 { 21373 goto __225 21374 } 21375 goto __227 21376 __227: 21377 ; 21378 goto inf_leave 21379 __224: 21380 ; 21381 goto __219 21382 __222: // dynamic block 21383 ; 21384 (*Inflate_state)(unsafe.Pointer(state)).Fmode = TABLE 21385 goto __219 21386 __223: 21387 (*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 367 /* "invalid block ty..." */ 21388 (*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD 21389 __219: 21390 ; 21391 __228: 21392 hold >>= 2 21393 bits = bits - uint32(2) 21394 goto __229 21395 __229: 21396 if 0 != 0 { 21397 goto __228 21398 } 21399 goto __230 21400 __230: 21401 ; 21402 goto __9 21403 __23: 21404 __231: 21405 hold >>= bits & uint32(7) 21406 bits = bits - bits&uint32(7) 21407 goto __232 21408 __232: 21409 if 0 != 0 { 21410 goto __231 21411 } 21412 goto __233 21413 __233: 21414 ; // go to byte boundary 21415 __234: 21416 __237: 21417 if !(bits < uint32(32)) { 21418 goto __238 21419 } 21420 __239: 21421 if !(have == uint32(0)) { 21422 goto __242 21423 } 21424 goto inf_leave 21425 __242: 21426 ; 21427 have-- 21428 hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&next, 1))))<<bits 21429 bits = bits + uint32(8) 21430 goto __240 21431 __240: 21432 if 0 != 0 { 21433 goto __239 21434 } 21435 goto __241 21436 __241: 21437 ; 21438 goto __237 21439 __238: 21440 ; 21441 goto __235 21442 __235: 21443 if 0 != 0 { 21444 goto __234 21445 } 21446 goto __236 21447 __236: 21448 ; 21449 if !(hold&uint64(0xffff) != hold>>16^uint64(0xffff)) { 21450 goto __243 21451 } 21452 (*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 386 /* "invalid stored b..." */ 21453 (*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD 21454 goto __9 21455 __243: 21456 ; 21457 (*Inflate_state)(unsafe.Pointer(state)).Flength = uint32(hold) & uint32(0xffff) 21458 21459 __244: 21460 hold = uint64(0) 21461 bits = uint32(0) 21462 goto __245 21463 __245: 21464 if 0 != 0 { 21465 goto __244 21466 } 21467 goto __246 21468 __246: 21469 ; 21470 (*Inflate_state)(unsafe.Pointer(state)).Fmode = COPY_ 21471 if !(flush == Z_TREES) { 21472 goto __247 21473 } 21474 goto inf_leave 21475 __247: 21476 ; 21477 __24: 21478 (*Inflate_state)(unsafe.Pointer(state)).Fmode = COPY 21479 __25: 21480 copy = (*Inflate_state)(unsafe.Pointer(state)).Flength 21481 if !(copy != 0) { 21482 goto __248 21483 } 21484 if !(copy > have) { 21485 goto __249 21486 } 21487 copy = have 21488 __249: 21489 ; 21490 if !(copy > left) { 21491 goto __250 21492 } 21493 copy = left 21494 __250: 21495 ; 21496 if !(copy == uint32(0)) { 21497 goto __251 21498 } 21499 goto inf_leave 21500 __251: 21501 ; 21502 libc.X__builtin___memcpy_chk(tls, put, next, uint64(copy), libc.X__builtin_object_size(tls, put, 0)) 21503 have = have - copy 21504 next += uintptr(copy) 21505 left = left - copy 21506 put += uintptr(copy) 21507 *(*uint32)(unsafe.Pointer(state + 92)) -= copy 21508 goto __9 21509 __248: 21510 ; 21511 21512 (*Inflate_state)(unsafe.Pointer(state)).Fmode = TYPE 21513 goto __9 21514 __26: 21515 __252: 21516 __255: 21517 if !(bits < uint32(14)) { 21518 goto __256 21519 } 21520 __257: 21521 if !(have == uint32(0)) { 21522 goto __260 21523 } 21524 goto inf_leave 21525 __260: 21526 ; 21527 have-- 21528 hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&next, 1))))<<bits 21529 bits = bits + uint32(8) 21530 goto __258 21531 __258: 21532 if 0 != 0 { 21533 goto __257 21534 } 21535 goto __259 21536 __259: 21537 ; 21538 goto __255 21539 __256: 21540 ; 21541 goto __253 21542 __253: 21543 if 0 != 0 { 21544 goto __252 21545 } 21546 goto __254 21547 __254: 21548 ; 21549 (*Inflate_state)(unsafe.Pointer(state)).Fnlen = uint32(hold)&(uint32(1)<<5-uint32(1)) + uint32(257) 21550 __261: 21551 hold >>= 5 21552 bits = bits - uint32(5) 21553 goto __262 21554 __262: 21555 if 0 != 0 { 21556 goto __261 21557 } 21558 goto __263 21559 __263: 21560 ; 21561 (*Inflate_state)(unsafe.Pointer(state)).Fndist = uint32(hold)&(uint32(1)<<5-uint32(1)) + uint32(1) 21562 __264: 21563 hold >>= 5 21564 bits = bits - uint32(5) 21565 goto __265 21566 __265: 21567 if 0 != 0 { 21568 goto __264 21569 } 21570 goto __266 21571 __266: 21572 ; 21573 (*Inflate_state)(unsafe.Pointer(state)).Fncode = uint32(hold)&(uint32(1)<<4-uint32(1)) + uint32(4) 21574 __267: 21575 hold >>= 4 21576 bits = bits - uint32(4) 21577 goto __268 21578 __268: 21579 if 0 != 0 { 21580 goto __267 21581 } 21582 goto __269 21583 __269: 21584 ; 21585 if !((*Inflate_state)(unsafe.Pointer(state)).Fnlen > uint32(286) || (*Inflate_state)(unsafe.Pointer(state)).Fndist > uint32(30)) { 21586 goto __270 21587 } 21588 (*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 415 /* "too many length ..." */ 21589 (*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD 21590 goto __9 21591 __270: 21592 ; 21593 21594 (*Inflate_state)(unsafe.Pointer(state)).Fhave = uint32(0) 21595 (*Inflate_state)(unsafe.Pointer(state)).Fmode = LENLENS 21596 __27: 21597 __271: 21598 if !((*Inflate_state)(unsafe.Pointer(state)).Fhave < (*Inflate_state)(unsafe.Pointer(state)).Fncode) { 21599 goto __272 21600 } 21601 __273: 21602 __276: 21603 if !(bits < uint32(3)) { 21604 goto __277 21605 } 21606 __278: 21607 if !(have == uint32(0)) { 21608 goto __281 21609 } 21610 goto inf_leave 21611 __281: 21612 ; 21613 have-- 21614 hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&next, 1))))<<bits 21615 bits = bits + uint32(8) 21616 goto __279 21617 __279: 21618 if 0 != 0 { 21619 goto __278 21620 } 21621 goto __280 21622 __280: 21623 ; 21624 goto __276 21625 __277: 21626 ; 21627 goto __274 21628 __274: 21629 if 0 != 0 { 21630 goto __273 21631 } 21632 goto __275 21633 __275: 21634 ; 21635 *(*uint16)(unsafe.Pointer(state + 152 + uintptr(order1[libc.PostIncUint32(&(*Inflate_state)(unsafe.Pointer(state)).Fhave, 1)])*2)) = uint16(uint32(hold) & (uint32(1)<<3 - uint32(1))) 21636 __282: 21637 hold >>= 3 21638 bits = bits - uint32(3) 21639 goto __283 21640 __283: 21641 if 0 != 0 { 21642 goto __282 21643 } 21644 goto __284 21645 __284: 21646 ; 21647 goto __271 21648 __272: 21649 ; 21650 __285: 21651 if !((*Inflate_state)(unsafe.Pointer(state)).Fhave < uint32(19)) { 21652 goto __286 21653 } 21654 *(*uint16)(unsafe.Pointer(state + 152 + uintptr(order1[libc.PostIncUint32(&(*Inflate_state)(unsafe.Pointer(state)).Fhave, 1)])*2)) = uint16(0) 21655 goto __285 21656 __286: 21657 ; 21658 (*Inflate_state)(unsafe.Pointer(state)).Fnext = state + 1368 /* &.codes */ 21659 (*Inflate_state)(unsafe.Pointer(state)).Flencode = (*Inflate_state)(unsafe.Pointer(state)).Fnext 21660 (*Inflate_state)(unsafe.Pointer(state)).Flenbits = uint32(7) 21661 ret = Xinflate_table(tls, CODES, state+152, uint32(19), state+144, 21662 state+120, state+792) 21663 if !(ret != 0) { 21664 goto __287 21665 } 21666 (*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 451 /* "invalid code len..." */ 21667 (*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD 21668 goto __9 21669 __287: 21670 ; 21671 21672 (*Inflate_state)(unsafe.Pointer(state)).Fhave = uint32(0) 21673 (*Inflate_state)(unsafe.Pointer(state)).Fmode = CODELENS 21674 __28: 21675 __288: 21676 if !((*Inflate_state)(unsafe.Pointer(state)).Fhave < (*Inflate_state)(unsafe.Pointer(state)).Fnlen+(*Inflate_state)(unsafe.Pointer(state)).Fndist) { 21677 goto __289 21678 } 21679 __290: 21680 here = *(*Code)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Flencode + uintptr(uint32(hold)&(uint32(1)<<(*Inflate_state)(unsafe.Pointer(state)).Flenbits-uint32(1)))*4)) 21681 if !(uint32(here.Fbits) <= bits) { 21682 goto __293 21683 } 21684 goto __292 21685 __293: 21686 ; 21687 __294: 21688 if !(have == uint32(0)) { 21689 goto __297 21690 } 21691 goto inf_leave 21692 __297: 21693 ; 21694 have-- 21695 hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&next, 1))))<<bits 21696 bits = bits + uint32(8) 21697 goto __295 21698 __295: 21699 if 0 != 0 { 21700 goto __294 21701 } 21702 goto __296 21703 __296: 21704 ; 21705 goto __291 21706 __291: 21707 goto __290 21708 goto __292 21709 __292: 21710 ; 21711 if !(int32(here.Fval) < 16) { 21712 goto __298 21713 } 21714 __300: 21715 hold >>= int32(here.Fbits) 21716 bits = bits - uint32(here.Fbits) 21717 goto __301 21718 __301: 21719 if 0 != 0 { 21720 goto __300 21721 } 21722 goto __302 21723 __302: 21724 ; 21725 *(*uint16)(unsafe.Pointer(state + 152 + uintptr(libc.PostIncUint32(&(*Inflate_state)(unsafe.Pointer(state)).Fhave, 1))*2)) = here.Fval 21726 goto __299 21727 __298: 21728 if !(int32(here.Fval) == 16) { 21729 goto __303 21730 } 21731 __305: 21732 __308: 21733 if !(bits < uint32(int32(here.Fbits)+2)) { 21734 goto __309 21735 } 21736 __310: 21737 if !(have == uint32(0)) { 21738 goto __313 21739 } 21740 goto inf_leave 21741 __313: 21742 ; 21743 have-- 21744 hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&next, 1))))<<bits 21745 bits = bits + uint32(8) 21746 goto __311 21747 __311: 21748 if 0 != 0 { 21749 goto __310 21750 } 21751 goto __312 21752 __312: 21753 ; 21754 goto __308 21755 __309: 21756 ; 21757 goto __306 21758 __306: 21759 if 0 != 0 { 21760 goto __305 21761 } 21762 goto __307 21763 __307: 21764 ; 21765 __314: 21766 hold >>= int32(here.Fbits) 21767 bits = bits - uint32(here.Fbits) 21768 goto __315 21769 __315: 21770 if 0 != 0 { 21771 goto __314 21772 } 21773 goto __316 21774 __316: 21775 ; 21776 if !((*Inflate_state)(unsafe.Pointer(state)).Fhave == uint32(0)) { 21777 goto __317 21778 } 21779 (*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 476 /* "invalid bit leng..." */ 21780 (*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD 21781 goto __289 21782 __317: 21783 ; 21784 len = uint32(*(*uint16)(unsafe.Pointer(state + 152 + uintptr((*Inflate_state)(unsafe.Pointer(state)).Fhave-uint32(1))*2))) 21785 copy = uint32(3) + uint32(hold)&(uint32(1)<<2-uint32(1)) 21786 __318: 21787 hold >>= 2 21788 bits = bits - uint32(2) 21789 goto __319 21790 __319: 21791 if 0 != 0 { 21792 goto __318 21793 } 21794 goto __320 21795 __320: 21796 ; 21797 goto __304 21798 __303: 21799 if !(int32(here.Fval) == 17) { 21800 goto __321 21801 } 21802 __323: 21803 __326: 21804 if !(bits < uint32(int32(here.Fbits)+3)) { 21805 goto __327 21806 } 21807 __328: 21808 if !(have == uint32(0)) { 21809 goto __331 21810 } 21811 goto inf_leave 21812 __331: 21813 ; 21814 have-- 21815 hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&next, 1))))<<bits 21816 bits = bits + uint32(8) 21817 goto __329 21818 __329: 21819 if 0 != 0 { 21820 goto __328 21821 } 21822 goto __330 21823 __330: 21824 ; 21825 goto __326 21826 __327: 21827 ; 21828 goto __324 21829 __324: 21830 if 0 != 0 { 21831 goto __323 21832 } 21833 goto __325 21834 __325: 21835 ; 21836 __332: 21837 hold >>= int32(here.Fbits) 21838 bits = bits - uint32(here.Fbits) 21839 goto __333 21840 __333: 21841 if 0 != 0 { 21842 goto __332 21843 } 21844 goto __334 21845 __334: 21846 ; 21847 len = uint32(0) 21848 copy = uint32(3) + uint32(hold)&(uint32(1)<<3-uint32(1)) 21849 __335: 21850 hold >>= 3 21851 bits = bits - uint32(3) 21852 goto __336 21853 __336: 21854 if 0 != 0 { 21855 goto __335 21856 } 21857 goto __337 21858 __337: 21859 ; 21860 goto __322 21861 __321: 21862 __338: 21863 __341: 21864 if !(bits < uint32(int32(here.Fbits)+7)) { 21865 goto __342 21866 } 21867 __343: 21868 if !(have == uint32(0)) { 21869 goto __346 21870 } 21871 goto inf_leave 21872 __346: 21873 ; 21874 have-- 21875 hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&next, 1))))<<bits 21876 bits = bits + uint32(8) 21877 goto __344 21878 __344: 21879 if 0 != 0 { 21880 goto __343 21881 } 21882 goto __345 21883 __345: 21884 ; 21885 goto __341 21886 __342: 21887 ; 21888 goto __339 21889 __339: 21890 if 0 != 0 { 21891 goto __338 21892 } 21893 goto __340 21894 __340: 21895 ; 21896 __347: 21897 hold >>= int32(here.Fbits) 21898 bits = bits - uint32(here.Fbits) 21899 goto __348 21900 __348: 21901 if 0 != 0 { 21902 goto __347 21903 } 21904 goto __349 21905 __349: 21906 ; 21907 len = uint32(0) 21908 copy = uint32(11) + uint32(hold)&(uint32(1)<<7-uint32(1)) 21909 __350: 21910 hold >>= 7 21911 bits = bits - uint32(7) 21912 goto __351 21913 __351: 21914 if 0 != 0 { 21915 goto __350 21916 } 21917 goto __352 21918 __352: 21919 ; 21920 __322: 21921 ; 21922 __304: 21923 ; 21924 if !((*Inflate_state)(unsafe.Pointer(state)).Fhave+copy > (*Inflate_state)(unsafe.Pointer(state)).Fnlen+(*Inflate_state)(unsafe.Pointer(state)).Fndist) { 21925 goto __353 21926 } 21927 (*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 476 /* "invalid bit leng..." */ 21928 (*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD 21929 goto __289 21930 __353: 21931 ; 21932 __354: 21933 if !(libc.PostDecUint32(©, 1) != 0) { 21934 goto __355 21935 } 21936 *(*uint16)(unsafe.Pointer(state + 152 + uintptr(libc.PostIncUint32(&(*Inflate_state)(unsafe.Pointer(state)).Fhave, 1))*2)) = uint16(len) 21937 goto __354 21938 __355: 21939 ; 21940 __299: 21941 ; 21942 goto __288 21943 __289: 21944 ; 21945 21946 // handle error breaks in while 21947 if !((*Inflate_state)(unsafe.Pointer(state)).Fmode == BAD) { 21948 goto __356 21949 } 21950 goto __9 21951 __356: 21952 ; 21953 21954 // check for end-of-block code (better have one) 21955 if !(int32(*(*uint16)(unsafe.Pointer(state + 152 + 256*2))) == 0) { 21956 goto __357 21957 } 21958 (*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 502 /* "invalid code -- ..." */ 21959 (*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD 21960 goto __9 21961 __357: 21962 ; 21963 21964 // build code tables -- note: do not change the lenbits or distbits 21965 // values here (9 and 6) without reading the comments in inftrees.h 21966 // concerning the ENOUGH constants, which depend on those values 21967 (*Inflate_state)(unsafe.Pointer(state)).Fnext = state + 1368 /* &.codes */ 21968 (*Inflate_state)(unsafe.Pointer(state)).Flencode = (*Inflate_state)(unsafe.Pointer(state)).Fnext 21969 (*Inflate_state)(unsafe.Pointer(state)).Flenbits = uint32(9) 21970 ret = Xinflate_table(tls, LENS, state+152, (*Inflate_state)(unsafe.Pointer(state)).Fnlen, state+144, 21971 state+120, state+792) 21972 if !(ret != 0) { 21973 goto __358 21974 } 21975 (*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 539 /* "invalid literal/..." */ 21976 (*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD 21977 goto __9 21978 __358: 21979 ; 21980 (*Inflate_state)(unsafe.Pointer(state)).Fdistcode = (*Inflate_state)(unsafe.Pointer(state)).Fnext 21981 (*Inflate_state)(unsafe.Pointer(state)).Fdistbits = uint32(6) 21982 ret = Xinflate_table(tls, DISTS, state+152+uintptr((*Inflate_state)(unsafe.Pointer(state)).Fnlen)*2, (*Inflate_state)(unsafe.Pointer(state)).Fndist, 21983 state+144, state+124, state+792) 21984 if !(ret != 0) { 21985 goto __359 21986 } 21987 (*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 567 /* "invalid distance..." */ 21988 (*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD 21989 goto __9 21990 __359: 21991 ; 21992 21993 (*Inflate_state)(unsafe.Pointer(state)).Fmode = LEN_ 21994 if !(flush == Z_TREES) { 21995 goto __360 21996 } 21997 goto inf_leave 21998 __360: 21999 ; 22000 __29: 22001 (*Inflate_state)(unsafe.Pointer(state)).Fmode = LEN 22002 __30: 22003 if !(have >= uint32(6) && left >= uint32(258)) { 22004 goto __361 22005 } 22006 __362: 22007 (*Z_stream)(unsafe.Pointer(strm)).Fnext_out = put 22008 (*Z_stream)(unsafe.Pointer(strm)).Favail_out = left 22009 (*Z_stream)(unsafe.Pointer(strm)).Fnext_in = next 22010 (*Z_stream)(unsafe.Pointer(strm)).Favail_in = have 22011 (*Inflate_state)(unsafe.Pointer(state)).Fhold = hold 22012 (*Inflate_state)(unsafe.Pointer(state)).Fbits = bits 22013 goto __363 22014 __363: 22015 if 0 != 0 { 22016 goto __362 22017 } 22018 goto __364 22019 __364: 22020 ; 22021 Xinflate_fast(tls, strm, out) 22022 __365: 22023 put = (*Z_stream)(unsafe.Pointer(strm)).Fnext_out 22024 left = (*Z_stream)(unsafe.Pointer(strm)).Favail_out 22025 next = (*Z_stream)(unsafe.Pointer(strm)).Fnext_in 22026 have = (*Z_stream)(unsafe.Pointer(strm)).Favail_in 22027 hold = (*Inflate_state)(unsafe.Pointer(state)).Fhold 22028 bits = (*Inflate_state)(unsafe.Pointer(state)).Fbits 22029 goto __366 22030 __366: 22031 if 0 != 0 { 22032 goto __365 22033 } 22034 goto __367 22035 __367: 22036 ; 22037 if !((*Inflate_state)(unsafe.Pointer(state)).Fmode == TYPE) { 22038 goto __368 22039 } 22040 (*Inflate_state)(unsafe.Pointer(state)).Fback = -1 22041 __368: 22042 ; 22043 goto __9 22044 __361: 22045 ; 22046 (*Inflate_state)(unsafe.Pointer(state)).Fback = 0 22047 __369: 22048 here = *(*Code)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Flencode + uintptr(uint32(hold)&(uint32(1)<<(*Inflate_state)(unsafe.Pointer(state)).Flenbits-uint32(1)))*4)) 22049 if !(uint32(here.Fbits) <= bits) { 22050 goto __372 22051 } 22052 goto __371 22053 __372: 22054 ; 22055 __373: 22056 if !(have == uint32(0)) { 22057 goto __376 22058 } 22059 goto inf_leave 22060 __376: 22061 ; 22062 have-- 22063 hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&next, 1))))<<bits 22064 bits = bits + uint32(8) 22065 goto __374 22066 __374: 22067 if 0 != 0 { 22068 goto __373 22069 } 22070 goto __375 22071 __375: 22072 ; 22073 goto __370 22074 __370: 22075 goto __369 22076 goto __371 22077 __371: 22078 ; 22079 if !(here.Fop != 0 && int32(here.Fop)&0xf0 == 0) { 22080 goto __377 22081 } 22082 last = here 22083 __378: 22084 here = *(*Code)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Flencode + uintptr(uint32(last.Fval)+uint32(hold)&(uint32(1)<<(int32(last.Fbits)+int32(last.Fop))-uint32(1))>>int32(last.Fbits))*4)) 22085 if !(uint32(int32(last.Fbits)+int32(here.Fbits)) <= bits) { 22086 goto __381 22087 } 22088 goto __380 22089 __381: 22090 ; 22091 __382: 22092 if !(have == uint32(0)) { 22093 goto __385 22094 } 22095 goto inf_leave 22096 __385: 22097 ; 22098 have-- 22099 hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&next, 1))))<<bits 22100 bits = bits + uint32(8) 22101 goto __383 22102 __383: 22103 if 0 != 0 { 22104 goto __382 22105 } 22106 goto __384 22107 __384: 22108 ; 22109 goto __379 22110 __379: 22111 goto __378 22112 goto __380 22113 __380: 22114 ; 22115 __386: 22116 hold >>= int32(last.Fbits) 22117 bits = bits - uint32(last.Fbits) 22118 goto __387 22119 __387: 22120 if 0 != 0 { 22121 goto __386 22122 } 22123 goto __388 22124 __388: 22125 ; 22126 *(*int32)(unsafe.Pointer(state + 7148)) += int32(last.Fbits) 22127 __377: 22128 ; 22129 __389: 22130 hold >>= int32(here.Fbits) 22131 bits = bits - uint32(here.Fbits) 22132 goto __390 22133 __390: 22134 if 0 != 0 { 22135 goto __389 22136 } 22137 goto __391 22138 __391: 22139 ; 22140 *(*int32)(unsafe.Pointer(state + 7148)) += int32(here.Fbits) 22141 (*Inflate_state)(unsafe.Pointer(state)).Flength = uint32(here.Fval) 22142 if !(int32(here.Fop) == 0) { 22143 goto __392 22144 } 22145 22146 (*Inflate_state)(unsafe.Pointer(state)).Fmode = LIT 22147 goto __9 22148 __392: 22149 ; 22150 if !(int32(here.Fop)&32 != 0) { 22151 goto __393 22152 } 22153 22154 (*Inflate_state)(unsafe.Pointer(state)).Fback = -1 22155 (*Inflate_state)(unsafe.Pointer(state)).Fmode = TYPE 22156 goto __9 22157 __393: 22158 ; 22159 if !(int32(here.Fop)&64 != 0) { 22160 goto __394 22161 } 22162 (*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 589 /* "invalid literal/..." */ 22163 (*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD 22164 goto __9 22165 __394: 22166 ; 22167 (*Inflate_state)(unsafe.Pointer(state)).Fextra = uint32(here.Fop) & uint32(15) 22168 (*Inflate_state)(unsafe.Pointer(state)).Fmode = LENEXT 22169 __31: 22170 if !((*Inflate_state)(unsafe.Pointer(state)).Fextra != 0) { 22171 goto __395 22172 } 22173 __396: 22174 __399: 22175 if !(bits < (*Inflate_state)(unsafe.Pointer(state)).Fextra) { 22176 goto __400 22177 } 22178 __401: 22179 if !(have == uint32(0)) { 22180 goto __404 22181 } 22182 goto inf_leave 22183 __404: 22184 ; 22185 have-- 22186 hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&next, 1))))<<bits 22187 bits = bits + uint32(8) 22188 goto __402 22189 __402: 22190 if 0 != 0 { 22191 goto __401 22192 } 22193 goto __403 22194 __403: 22195 ; 22196 goto __399 22197 __400: 22198 ; 22199 goto __397 22200 __397: 22201 if 0 != 0 { 22202 goto __396 22203 } 22204 goto __398 22205 __398: 22206 ; 22207 *(*uint32)(unsafe.Pointer(state + 92)) += uint32(hold) & (uint32(1)<<(*Inflate_state)(unsafe.Pointer(state)).Fextra - uint32(1)) 22208 __405: 22209 hold >>= (*Inflate_state)(unsafe.Pointer(state)).Fextra 22210 bits = bits - (*Inflate_state)(unsafe.Pointer(state)).Fextra 22211 goto __406 22212 __406: 22213 if 0 != 0 { 22214 goto __405 22215 } 22216 goto __407 22217 __407: 22218 ; 22219 *(*int32)(unsafe.Pointer(state + 7148)) += int32((*Inflate_state)(unsafe.Pointer(state)).Fextra) 22220 __395: 22221 ; 22222 22223 (*Inflate_state)(unsafe.Pointer(state)).Fwas = (*Inflate_state)(unsafe.Pointer(state)).Flength 22224 (*Inflate_state)(unsafe.Pointer(state)).Fmode = DIST 22225 __32: 22226 __408: 22227 here = *(*Code)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Fdistcode + uintptr(uint32(hold)&(uint32(1)<<(*Inflate_state)(unsafe.Pointer(state)).Fdistbits-uint32(1)))*4)) 22228 if !(uint32(here.Fbits) <= bits) { 22229 goto __411 22230 } 22231 goto __410 22232 __411: 22233 ; 22234 __412: 22235 if !(have == uint32(0)) { 22236 goto __415 22237 } 22238 goto inf_leave 22239 __415: 22240 ; 22241 have-- 22242 hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&next, 1))))<<bits 22243 bits = bits + uint32(8) 22244 goto __413 22245 __413: 22246 if 0 != 0 { 22247 goto __412 22248 } 22249 goto __414 22250 __414: 22251 ; 22252 goto __409 22253 __409: 22254 goto __408 22255 goto __410 22256 __410: 22257 ; 22258 if !(int32(here.Fop)&0xf0 == 0) { 22259 goto __416 22260 } 22261 last = here 22262 __417: 22263 here = *(*Code)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Fdistcode + uintptr(uint32(last.Fval)+uint32(hold)&(uint32(1)<<(int32(last.Fbits)+int32(last.Fop))-uint32(1))>>int32(last.Fbits))*4)) 22264 if !(uint32(int32(last.Fbits)+int32(here.Fbits)) <= bits) { 22265 goto __420 22266 } 22267 goto __419 22268 __420: 22269 ; 22270 __421: 22271 if !(have == uint32(0)) { 22272 goto __424 22273 } 22274 goto inf_leave 22275 __424: 22276 ; 22277 have-- 22278 hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&next, 1))))<<bits 22279 bits = bits + uint32(8) 22280 goto __422 22281 __422: 22282 if 0 != 0 { 22283 goto __421 22284 } 22285 goto __423 22286 __423: 22287 ; 22288 goto __418 22289 __418: 22290 goto __417 22291 goto __419 22292 __419: 22293 ; 22294 __425: 22295 hold >>= int32(last.Fbits) 22296 bits = bits - uint32(last.Fbits) 22297 goto __426 22298 __426: 22299 if 0 != 0 { 22300 goto __425 22301 } 22302 goto __427 22303 __427: 22304 ; 22305 *(*int32)(unsafe.Pointer(state + 7148)) += int32(last.Fbits) 22306 __416: 22307 ; 22308 __428: 22309 hold >>= int32(here.Fbits) 22310 bits = bits - uint32(here.Fbits) 22311 goto __429 22312 __429: 22313 if 0 != 0 { 22314 goto __428 22315 } 22316 goto __430 22317 __430: 22318 ; 22319 *(*int32)(unsafe.Pointer(state + 7148)) += int32(here.Fbits) 22320 if !(int32(here.Fop)&64 != 0) { 22321 goto __431 22322 } 22323 (*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 617 /* "invalid distance..." */ 22324 (*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD 22325 goto __9 22326 __431: 22327 ; 22328 (*Inflate_state)(unsafe.Pointer(state)).Foffset = uint32(here.Fval) 22329 (*Inflate_state)(unsafe.Pointer(state)).Fextra = uint32(here.Fop) & uint32(15) 22330 (*Inflate_state)(unsafe.Pointer(state)).Fmode = DISTEXT 22331 __33: 22332 if !((*Inflate_state)(unsafe.Pointer(state)).Fextra != 0) { 22333 goto __432 22334 } 22335 __433: 22336 __436: 22337 if !(bits < (*Inflate_state)(unsafe.Pointer(state)).Fextra) { 22338 goto __437 22339 } 22340 __438: 22341 if !(have == uint32(0)) { 22342 goto __441 22343 } 22344 goto inf_leave 22345 __441: 22346 ; 22347 have-- 22348 hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&next, 1))))<<bits 22349 bits = bits + uint32(8) 22350 goto __439 22351 __439: 22352 if 0 != 0 { 22353 goto __438 22354 } 22355 goto __440 22356 __440: 22357 ; 22358 goto __436 22359 __437: 22360 ; 22361 goto __434 22362 __434: 22363 if 0 != 0 { 22364 goto __433 22365 } 22366 goto __435 22367 __435: 22368 ; 22369 *(*uint32)(unsafe.Pointer(state + 96)) += uint32(hold) & (uint32(1)<<(*Inflate_state)(unsafe.Pointer(state)).Fextra - uint32(1)) 22370 __442: 22371 hold >>= (*Inflate_state)(unsafe.Pointer(state)).Fextra 22372 bits = bits - (*Inflate_state)(unsafe.Pointer(state)).Fextra 22373 goto __443 22374 __443: 22375 if 0 != 0 { 22376 goto __442 22377 } 22378 goto __444 22379 __444: 22380 ; 22381 *(*int32)(unsafe.Pointer(state + 7148)) += int32((*Inflate_state)(unsafe.Pointer(state)).Fextra) 22382 __432: 22383 ; 22384 22385 (*Inflate_state)(unsafe.Pointer(state)).Fmode = MATCH 22386 __34: 22387 if !(left == uint32(0)) { 22388 goto __445 22389 } 22390 goto inf_leave 22391 __445: 22392 ; 22393 copy = out - left 22394 if !((*Inflate_state)(unsafe.Pointer(state)).Foffset > copy) { 22395 goto __446 22396 } // copy from window 22397 copy = (*Inflate_state)(unsafe.Pointer(state)).Foffset - copy 22398 if !(copy > (*Inflate_state)(unsafe.Pointer(state)).Fwhave) { 22399 goto __448 22400 } 22401 if !((*Inflate_state)(unsafe.Pointer(state)).Fsane != 0) { 22402 goto __449 22403 } 22404 (*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 639 /* "invalid distance..." */ 22405 (*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD 22406 goto __9 22407 __449: 22408 ; 22409 __448: 22410 ; 22411 if !(copy > (*Inflate_state)(unsafe.Pointer(state)).Fwnext) { 22412 goto __450 22413 } 22414 copy = copy - (*Inflate_state)(unsafe.Pointer(state)).Fwnext 22415 from = (*Inflate_state)(unsafe.Pointer(state)).Fwindow + uintptr((*Inflate_state)(unsafe.Pointer(state)).Fwsize-copy) 22416 goto __451 22417 __450: 22418 from = (*Inflate_state)(unsafe.Pointer(state)).Fwindow + uintptr((*Inflate_state)(unsafe.Pointer(state)).Fwnext-copy) 22419 __451: 22420 ; 22421 if !(copy > (*Inflate_state)(unsafe.Pointer(state)).Flength) { 22422 goto __452 22423 } 22424 copy = (*Inflate_state)(unsafe.Pointer(state)).Flength 22425 __452: 22426 ; 22427 goto __447 22428 __446: // copy from output 22429 from = put - uintptr((*Inflate_state)(unsafe.Pointer(state)).Foffset) 22430 copy = (*Inflate_state)(unsafe.Pointer(state)).Flength 22431 __447: 22432 ; 22433 if !(copy > left) { 22434 goto __453 22435 } 22436 copy = left 22437 __453: 22438 ; 22439 left = left - copy 22440 *(*uint32)(unsafe.Pointer(state + 92)) -= copy 22441 __454: 22442 *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&put, 1))) = *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&from, 1))) 22443 goto __455 22444 __455: 22445 if libc.PreDecUint32(©, 1) != 0 { 22446 goto __454 22447 } 22448 goto __456 22449 __456: 22450 ; 22451 if !((*Inflate_state)(unsafe.Pointer(state)).Flength == uint32(0)) { 22452 goto __457 22453 } 22454 (*Inflate_state)(unsafe.Pointer(state)).Fmode = LEN 22455 __457: 22456 ; 22457 goto __9 22458 __35: 22459 if !(left == uint32(0)) { 22460 goto __458 22461 } 22462 goto inf_leave 22463 __458: 22464 ; 22465 *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&put, 1))) = uint8((*Inflate_state)(unsafe.Pointer(state)).Flength) 22466 left-- 22467 (*Inflate_state)(unsafe.Pointer(state)).Fmode = LEN 22468 goto __9 22469 __36: 22470 if !((*Inflate_state)(unsafe.Pointer(state)).Fwrap != 0) { 22471 goto __459 22472 } 22473 __460: 22474 __463: 22475 if !(bits < uint32(32)) { 22476 goto __464 22477 } 22478 __465: 22479 if !(have == uint32(0)) { 22480 goto __468 22481 } 22482 goto inf_leave 22483 __468: 22484 ; 22485 have-- 22486 hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&next, 1))))<<bits 22487 bits = bits + uint32(8) 22488 goto __466 22489 __466: 22490 if 0 != 0 { 22491 goto __465 22492 } 22493 goto __467 22494 __467: 22495 ; 22496 goto __463 22497 __464: 22498 ; 22499 goto __461 22500 __461: 22501 if 0 != 0 { 22502 goto __460 22503 } 22504 goto __462 22505 __462: 22506 ; 22507 out = out - left 22508 *(*ULong)(unsafe.Pointer(strm + 40)) += ULong(out) 22509 *(*uint64)(unsafe.Pointer(state + 40)) += uint64(out) 22510 if !((*Inflate_state)(unsafe.Pointer(state)).Fwrap&4 != 0 && out != 0) { 22511 goto __469 22512 } 22513 (*Z_stream)(unsafe.Pointer(strm)).Fadler = libc.AssignPtrUint64(state+32, func() uint64 { 22514 if (*Inflate_state)(unsafe.Pointer(state)).Fflags != 0 { 22515 return Xcrc32(tls, (*Inflate_state)(unsafe.Pointer(state)).Fcheck, put-uintptr(out), out) 22516 } 22517 return Xadler32(tls, (*Inflate_state)(unsafe.Pointer(state)).Fcheck, put-uintptr(out), out) 22518 }()) 22519 __469: 22520 ; 22521 out = left 22522 if !((*Inflate_state)(unsafe.Pointer(state)).Fwrap&4 != 0 && func() uint64 { 22523 if (*Inflate_state)(unsafe.Pointer(state)).Fflags != 0 { 22524 return hold 22525 } 22526 return hold>>24&uint64(0xff) + hold>>8&uint64(0xff00) + hold&uint64(0xff00)<<8 + hold&uint64(0xff)<<24 22527 }() != (*Inflate_state)(unsafe.Pointer(state)).Fcheck) { 22528 goto __470 22529 } 22530 (*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 784 /* "incorrect data c..." */ 22531 (*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD 22532 goto __9 22533 __470: 22534 ; 22535 __471: 22536 hold = uint64(0) 22537 bits = uint32(0) 22538 goto __472 22539 __472: 22540 if 0 != 0 { 22541 goto __471 22542 } 22543 goto __473 22544 __473: 22545 ; 22546 22547 __459: 22548 ; 22549 (*Inflate_state)(unsafe.Pointer(state)).Fmode = LENGTH 22550 __37: 22551 if !((*Inflate_state)(unsafe.Pointer(state)).Fwrap != 0 && (*Inflate_state)(unsafe.Pointer(state)).Fflags != 0) { 22552 goto __474 22553 } 22554 __475: 22555 __478: 22556 if !(bits < uint32(32)) { 22557 goto __479 22558 } 22559 __480: 22560 if !(have == uint32(0)) { 22561 goto __483 22562 } 22563 goto inf_leave 22564 __483: 22565 ; 22566 have-- 22567 hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&next, 1))))<<bits 22568 bits = bits + uint32(8) 22569 goto __481 22570 __481: 22571 if 0 != 0 { 22572 goto __480 22573 } 22574 goto __482 22575 __482: 22576 ; 22577 goto __478 22578 __479: 22579 ; 22580 goto __476 22581 __476: 22582 if 0 != 0 { 22583 goto __475 22584 } 22585 goto __477 22586 __477: 22587 ; 22588 if !(hold != (*Inflate_state)(unsafe.Pointer(state)).Ftotal&0xffffffff) { 22589 goto __484 22590 } 22591 (*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 805 /* "incorrect length..." */ 22592 (*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD 22593 goto __9 22594 __484: 22595 ; 22596 __485: 22597 hold = uint64(0) 22598 bits = uint32(0) 22599 goto __486 22600 __486: 22601 if 0 != 0 { 22602 goto __485 22603 } 22604 goto __487 22605 __487: 22606 ; 22607 22608 __474: 22609 ; 22610 (*Inflate_state)(unsafe.Pointer(state)).Fmode = DONE 22611 __38: 22612 ret = Z_STREAM_END 22613 goto inf_leave 22614 __39: 22615 ret = -3 22616 goto inf_leave 22617 __40: 22618 return -4 22619 __41: 22620 __42: 22621 return -2 22622 __9: 22623 ; 22624 goto __7 22625 __7: 22626 goto __6 22627 goto __8 22628 __8: 22629 ; 22630 22631 // 22632 // Return from inflate(), updating the total counts and the check value. 22633 // If there was no progress during the inflate() call, return a buffer 22634 // error. Call updatewindow() to create and/or update the window state. 22635 // Note: a memory error from inflate() is non-recoverable. 22636 // 22637 inf_leave: 22638 __488: 22639 (*Z_stream)(unsafe.Pointer(strm)).Fnext_out = put 22640 (*Z_stream)(unsafe.Pointer(strm)).Favail_out = left 22641 (*Z_stream)(unsafe.Pointer(strm)).Fnext_in = next 22642 (*Z_stream)(unsafe.Pointer(strm)).Favail_in = have 22643 (*Inflate_state)(unsafe.Pointer(state)).Fhold = hold 22644 (*Inflate_state)(unsafe.Pointer(state)).Fbits = bits 22645 goto __489 22646 __489: 22647 if 0 != 0 { 22648 goto __488 22649 } 22650 goto __490 22651 __490: 22652 ; 22653 if !((*Inflate_state)(unsafe.Pointer(state)).Fwsize != 0 || out != (*Z_stream)(unsafe.Pointer(strm)).Favail_out && (*Inflate_state)(unsafe.Pointer(state)).Fmode < BAD && ((*Inflate_state)(unsafe.Pointer(state)).Fmode < CHECK || flush != Z_FINISH)) { 22654 goto __491 22655 } 22656 if !(updatewindow(tls, strm, (*Z_stream)(unsafe.Pointer(strm)).Fnext_out, out-(*Z_stream)(unsafe.Pointer(strm)).Favail_out) != 0) { 22657 goto __492 22658 } 22659 (*Inflate_state)(unsafe.Pointer(state)).Fmode = MEM 22660 return -4 22661 __492: 22662 ; 22663 __491: 22664 ; 22665 in = in - (*Z_stream)(unsafe.Pointer(strm)).Favail_in 22666 out = out - (*Z_stream)(unsafe.Pointer(strm)).Favail_out 22667 *(*ULong)(unsafe.Pointer(strm + 16)) += ULong(in) 22668 *(*ULong)(unsafe.Pointer(strm + 40)) += ULong(out) 22669 *(*uint64)(unsafe.Pointer(state + 40)) += uint64(out) 22670 if !((*Inflate_state)(unsafe.Pointer(state)).Fwrap&4 != 0 && out != 0) { 22671 goto __493 22672 } 22673 (*Z_stream)(unsafe.Pointer(strm)).Fadler = libc.AssignPtrUint64(state+32, func() uint64 { 22674 if (*Inflate_state)(unsafe.Pointer(state)).Fflags != 0 { 22675 return Xcrc32(tls, (*Inflate_state)(unsafe.Pointer(state)).Fcheck, (*Z_stream)(unsafe.Pointer(strm)).Fnext_out-uintptr(out), out) 22676 } 22677 return Xadler32(tls, (*Inflate_state)(unsafe.Pointer(state)).Fcheck, (*Z_stream)(unsafe.Pointer(strm)).Fnext_out-uintptr(out), out) 22678 }()) 22679 __493: 22680 ; 22681 (*Z_stream)(unsafe.Pointer(strm)).Fdata_type = int32((*Inflate_state)(unsafe.Pointer(state)).Fbits) + func() int32 { 22682 if (*Inflate_state)(unsafe.Pointer(state)).Flast != 0 { 22683 return 64 22684 } 22685 return 0 22686 }() + func() int32 { 22687 if (*Inflate_state)(unsafe.Pointer(state)).Fmode == TYPE { 22688 return 128 22689 } 22690 return 0 22691 }() + func() int32 { 22692 if (*Inflate_state)(unsafe.Pointer(state)).Fmode == LEN_ || (*Inflate_state)(unsafe.Pointer(state)).Fmode == COPY_ { 22693 return 256 22694 } 22695 return 0 22696 }() 22697 if !((in == uint32(0) && out == uint32(0) || flush == Z_FINISH) && ret == Z_OK) { 22698 goto __494 22699 } 22700 ret = -5 22701 __494: 22702 ; 22703 return ret 22704 } 22705 22706 var order1 = // permutation of code lengths 22707 [19]uint16{uint16(16), uint16(17), uint16(18), uint16(0), uint16(8), uint16(7), uint16(9), uint16(6), uint16(10), uint16(5), uint16(11), uint16(4), uint16(12), uint16(3), uint16(13), uint16(2), uint16(14), uint16(1), uint16(15)} /* inflate.c:642:33 */ 22708 22709 func XinflateEnd(tls *libc.TLS, strm Z_streamp) int32 { /* inflate.c:1277:13: */ 22710 var state uintptr 22711 if inflateStateCheck(tls, strm) != 0 { 22712 return -2 22713 } 22714 state = (*Z_stream)(unsafe.Pointer(strm)).Fstate 22715 if (*Inflate_state)(unsafe.Pointer(state)).Fwindow != uintptr(Z_NULL) { 22716 (*struct { 22717 f func(*libc.TLS, Voidpf, Voidpf) 22718 })(unsafe.Pointer(&struct{ uintptr }{(*Z_stream)(unsafe.Pointer(strm)).Fzfree})).f(tls, (*Z_stream)(unsafe.Pointer(strm)).Fopaque, (*Inflate_state)(unsafe.Pointer(state)).Fwindow) 22719 } 22720 (*struct { 22721 f func(*libc.TLS, Voidpf, Voidpf) 22722 })(unsafe.Pointer(&struct{ uintptr }{(*Z_stream)(unsafe.Pointer(strm)).Fzfree})).f(tls, (*Z_stream)(unsafe.Pointer(strm)).Fopaque, (*Z_stream)(unsafe.Pointer(strm)).Fstate) 22723 (*Z_stream)(unsafe.Pointer(strm)).Fstate = uintptr(Z_NULL) 22724 22725 return Z_OK 22726 } 22727 22728 func XinflateGetDictionary(tls *libc.TLS, strm Z_streamp, dictionary uintptr, dictLength uintptr) int32 { /* inflate.c:1291:13: */ 22729 var state uintptr 22730 22731 // check state 22732 if inflateStateCheck(tls, strm) != 0 { 22733 return -2 22734 } 22735 state = (*Z_stream)(unsafe.Pointer(strm)).Fstate 22736 22737 // copy dictionary 22738 if (*Inflate_state)(unsafe.Pointer(state)).Fwhave != 0 && dictionary != uintptr(Z_NULL) { 22739 libc.X__builtin___memcpy_chk(tls, dictionary, (*Inflate_state)(unsafe.Pointer(state)).Fwindow+uintptr((*Inflate_state)(unsafe.Pointer(state)).Fwnext), uint64((*Inflate_state)(unsafe.Pointer(state)).Fwhave-(*Inflate_state)(unsafe.Pointer(state)).Fwnext), libc.X__builtin_object_size(tls, dictionary, 0)) 22740 libc.X__builtin___memcpy_chk(tls, dictionary+uintptr((*Inflate_state)(unsafe.Pointer(state)).Fwhave)-uintptr((*Inflate_state)(unsafe.Pointer(state)).Fwnext), (*Inflate_state)(unsafe.Pointer(state)).Fwindow, uint64((*Inflate_state)(unsafe.Pointer(state)).Fwnext), libc.X__builtin_object_size(tls, dictionary+uintptr((*Inflate_state)(unsafe.Pointer(state)).Fwhave)-uintptr((*Inflate_state)(unsafe.Pointer(state)).Fwnext), 0)) 22741 } 22742 if dictLength != uintptr(Z_NULL) { 22743 *(*UInt)(unsafe.Pointer(dictLength)) = (*Inflate_state)(unsafe.Pointer(state)).Fwhave 22744 } 22745 return Z_OK 22746 } 22747 22748 func XinflateSetDictionary(tls *libc.TLS, strm Z_streamp, dictionary uintptr, dictLength UInt) int32 { /* inflate.c:1314:13: */ 22749 var state uintptr 22750 var dictid uint64 22751 var ret int32 22752 22753 // check state 22754 if inflateStateCheck(tls, strm) != 0 { 22755 return -2 22756 } 22757 state = (*Z_stream)(unsafe.Pointer(strm)).Fstate 22758 if (*Inflate_state)(unsafe.Pointer(state)).Fwrap != 0 && (*Inflate_state)(unsafe.Pointer(state)).Fmode != DICT { 22759 return -2 22760 } 22761 22762 // check for correct dictionary identifier 22763 if (*Inflate_state)(unsafe.Pointer(state)).Fmode == DICT { 22764 dictid = Xadler32(tls, uint64(0), uintptr(Z_NULL), uint32(0)) 22765 dictid = Xadler32(tls, dictid, dictionary, dictLength) 22766 if dictid != (*Inflate_state)(unsafe.Pointer(state)).Fcheck { 22767 return -3 22768 } 22769 } 22770 22771 // copy dictionary to window using updatewindow(), which will amend the 22772 // existing dictionary if appropriate 22773 ret = updatewindow(tls, strm, dictionary+uintptr(dictLength), dictLength) 22774 if ret != 0 { 22775 (*Inflate_state)(unsafe.Pointer(state)).Fmode = MEM 22776 return -4 22777 } 22778 (*Inflate_state)(unsafe.Pointer(state)).Fhavedict = 1 22779 22780 return Z_OK 22781 } 22782 22783 func XinflateGetHeader(tls *libc.TLS, strm Z_streamp, head Gz_headerp) int32 { /* inflate.c:1349:13: */ 22784 var state uintptr 22785 22786 // check state 22787 if inflateStateCheck(tls, strm) != 0 { 22788 return -2 22789 } 22790 state = (*Z_stream)(unsafe.Pointer(strm)).Fstate 22791 if (*Inflate_state)(unsafe.Pointer(state)).Fwrap&2 == 0 { 22792 return -2 22793 } 22794 22795 // save header structure 22796 (*Inflate_state)(unsafe.Pointer(state)).Fhead = head 22797 (*Gz_header)(unsafe.Pointer(head)).Fdone = 0 22798 return Z_OK 22799 } 22800 22801 // 22802 // Search buf[0..len-1] for the pattern: 0, 0, 0xff, 0xff. Return when found 22803 // or when out of input. When called, *have is the number of pattern bytes 22804 // found in order so far, in 0..3. On return *have is updated to the new 22805 // state. If on return *have equals four, then the pattern was found and the 22806 // return value is how many bytes were read including the last byte of the 22807 // pattern. If *have is less than four, then the pattern has not been found 22808 // yet and the return value is len. In the latter case, syncsearch() can be 22809 // called again with more data and the *have state. *have is initialized to 22810 // zero for the first call. 22811 // 22812 func syncsearch(tls *libc.TLS, have uintptr, buf uintptr, len uint32) uint32 { /* inflate.c:1377:16: */ 22813 var got uint32 22814 var next uint32 22815 22816 got = *(*uint32)(unsafe.Pointer(have)) 22817 next = uint32(0) 22818 for next < len && got < uint32(4) { 22819 if int32(*(*uint8)(unsafe.Pointer(buf + uintptr(next)))) == func() int32 { 22820 if got < uint32(2) { 22821 return 0 22822 } 22823 return 0xff 22824 }() { 22825 got++ 22826 } else if *(*uint8)(unsafe.Pointer(buf + uintptr(next))) != 0 { 22827 got = uint32(0) 22828 } else { 22829 got = uint32(4) - got 22830 } 22831 next++ 22832 } 22833 *(*uint32)(unsafe.Pointer(have)) = got 22834 return next 22835 } 22836 22837 func XinflateSync(tls *libc.TLS, strm Z_streamp) int32 { /* inflate.c:1400:13: */ 22838 bp := tls.Alloc(4) 22839 defer tls.Free(4) 22840 22841 var len uint32 // number of bytes to look at or looked at 22842 var in uint64 22843 var out uint64 // temporary to save total_in and total_out 22844 // var buf [4]uint8 at bp, 4 22845 // to restore bit buffer to byte string 22846 var state uintptr 22847 22848 // check parameters 22849 if inflateStateCheck(tls, strm) != 0 { 22850 return -2 22851 } 22852 state = (*Z_stream)(unsafe.Pointer(strm)).Fstate 22853 if (*Z_stream)(unsafe.Pointer(strm)).Favail_in == UInt(0) && (*Inflate_state)(unsafe.Pointer(state)).Fbits < uint32(8) { 22854 return -5 22855 } 22856 22857 // if first time, start search in bit buffer 22858 if (*Inflate_state)(unsafe.Pointer(state)).Fmode != SYNC { 22859 (*Inflate_state)(unsafe.Pointer(state)).Fmode = SYNC 22860 libc.AssignShlPtrUint64(state+80, int((*Inflate_state)(unsafe.Pointer(state)).Fbits&uint32(7))) 22861 *(*uint32)(unsafe.Pointer(state + 88)) -= (*Inflate_state)(unsafe.Pointer(state)).Fbits & uint32(7) 22862 len = uint32(0) 22863 for (*Inflate_state)(unsafe.Pointer(state)).Fbits >= uint32(8) { 22864 *(*uint8)(unsafe.Pointer(bp + uintptr(libc.PostIncUint32(&len, 1)))) = uint8((*Inflate_state)(unsafe.Pointer(state)).Fhold) 22865 libc.AssignShrPtrUint64(state+80, int(8)) 22866 *(*uint32)(unsafe.Pointer(state + 88)) -= uint32(8) 22867 } 22868 (*Inflate_state)(unsafe.Pointer(state)).Fhave = uint32(0) 22869 syncsearch(tls, state+140, bp, len) 22870 } 22871 22872 // search available input 22873 len = syncsearch(tls, state+140, (*Z_stream)(unsafe.Pointer(strm)).Fnext_in, (*Z_stream)(unsafe.Pointer(strm)).Favail_in) 22874 *(*UInt)(unsafe.Pointer(strm + 8)) -= len 22875 *(*uintptr)(unsafe.Pointer(strm)) += uintptr(len) 22876 *(*ULong)(unsafe.Pointer(strm + 16)) += ULong(len) 22877 22878 // return no joy or set up to restart inflate() on a new block 22879 if (*Inflate_state)(unsafe.Pointer(state)).Fhave != uint32(4) { 22880 return -3 22881 } 22882 in = (*Z_stream)(unsafe.Pointer(strm)).Ftotal_in 22883 out = (*Z_stream)(unsafe.Pointer(strm)).Ftotal_out 22884 XinflateReset(tls, strm) 22885 (*Z_stream)(unsafe.Pointer(strm)).Ftotal_in = in 22886 (*Z_stream)(unsafe.Pointer(strm)).Ftotal_out = out 22887 (*Inflate_state)(unsafe.Pointer(state)).Fmode = TYPE 22888 return Z_OK 22889 } 22890 22891 // 22892 // Returns true if inflate is currently at the end of a block generated by 22893 // Z_SYNC_FLUSH or Z_FULL_FLUSH. This function is used by one PPP 22894 // implementation to provide an additional safety check. PPP uses 22895 // Z_SYNC_FLUSH but removes the length bytes of the resulting empty stored 22896 // block. When decompressing, PPP checks that at the end of input packet, 22897 // inflate is waiting for these length bytes. 22898 // 22899 func XinflateSyncPoint(tls *libc.TLS, strm Z_streamp) int32 { /* inflate.c:1451:13: */ 22900 var state uintptr 22901 22902 if inflateStateCheck(tls, strm) != 0 { 22903 return -2 22904 } 22905 state = (*Z_stream)(unsafe.Pointer(strm)).Fstate 22906 return libc.Bool32((*Inflate_state)(unsafe.Pointer(state)).Fmode == STORED && (*Inflate_state)(unsafe.Pointer(state)).Fbits == uint32(0)) 22907 } 22908 22909 func XinflateCopy(tls *libc.TLS, dest Z_streamp, source Z_streamp) int32 { /* inflate.c:1461:13: */ 22910 var state uintptr 22911 var copy uintptr 22912 var window uintptr 22913 var wsize uint32 22914 22915 // check input 22916 if inflateStateCheck(tls, source) != 0 || dest == uintptr(Z_NULL) { 22917 return -2 22918 } 22919 state = (*Z_stream)(unsafe.Pointer(source)).Fstate 22920 22921 // allocate space 22922 copy = (*struct { 22923 f func(*libc.TLS, Voidpf, UInt, UInt) Voidpf 22924 })(unsafe.Pointer(&struct{ uintptr }{(*Z_stream)(unsafe.Pointer(source)).Fzalloc})).f(tls, (*Z_stream)(unsafe.Pointer(source)).Fopaque, uint32(1), uint32(unsafe.Sizeof(Inflate_state{}))) 22925 if copy == uintptr(Z_NULL) { 22926 return -4 22927 } 22928 window = uintptr(Z_NULL) 22929 if (*Inflate_state)(unsafe.Pointer(state)).Fwindow != uintptr(Z_NULL) { 22930 window = (*struct { 22931 f func(*libc.TLS, Voidpf, UInt, UInt) Voidpf 22932 })(unsafe.Pointer(&struct{ uintptr }{(*Z_stream)(unsafe.Pointer(source)).Fzalloc})).f(tls, (*Z_stream)(unsafe.Pointer(source)).Fopaque, uint32(1)<<(*Inflate_state)(unsafe.Pointer(state)).Fwbits, uint32(unsafe.Sizeof(uint8(0)))) 22933 if window == uintptr(Z_NULL) { 22934 (*struct { 22935 f func(*libc.TLS, Voidpf, Voidpf) 22936 })(unsafe.Pointer(&struct{ uintptr }{(*Z_stream)(unsafe.Pointer(source)).Fzfree})).f(tls, (*Z_stream)(unsafe.Pointer(source)).Fopaque, copy) 22937 return -4 22938 } 22939 } 22940 22941 // copy state 22942 libc.X__builtin___memcpy_chk(tls, dest, source, uint64(unsafe.Sizeof(Z_stream{})), libc.X__builtin_object_size(tls, dest, 0)) 22943 libc.X__builtin___memcpy_chk(tls, copy, state, uint64(unsafe.Sizeof(Inflate_state{})), libc.X__builtin_object_size(tls, copy, 0)) 22944 (*Inflate_state)(unsafe.Pointer(copy)).Fstrm = dest 22945 if (*Inflate_state)(unsafe.Pointer(state)).Flencode >= state+1368 && (*Inflate_state)(unsafe.Pointer(state)).Flencode <= state+1368+uintptr(ENOUGH_LENS+ENOUGH_DISTS)*4-uintptr(1)*4 { 22946 (*Inflate_state)(unsafe.Pointer(copy)).Flencode = copy + 1368 + uintptr(int64(((*Inflate_state)(unsafe.Pointer(state)).Flencode-(state+1368))/4))*4 22947 (*Inflate_state)(unsafe.Pointer(copy)).Fdistcode = copy + 1368 + uintptr(int64(((*Inflate_state)(unsafe.Pointer(state)).Fdistcode-(state+1368))/4))*4 22948 } 22949 (*Inflate_state)(unsafe.Pointer(copy)).Fnext = copy + 1368 + uintptr(int64(((*Inflate_state)(unsafe.Pointer(state)).Fnext-(state+1368))/4))*4 22950 if window != uintptr(Z_NULL) { 22951 wsize = uint32(1) << (*Inflate_state)(unsafe.Pointer(state)).Fwbits 22952 libc.X__builtin___memcpy_chk(tls, window, (*Inflate_state)(unsafe.Pointer(state)).Fwindow, uint64(wsize), libc.X__builtin_object_size(tls, window, 0)) 22953 } 22954 (*Inflate_state)(unsafe.Pointer(copy)).Fwindow = window 22955 (*Z_stream)(unsafe.Pointer(dest)).Fstate = copy 22956 return Z_OK 22957 } 22958 22959 func XinflateUndermine(tls *libc.TLS, strm Z_streamp, subvert int32) int32 { /* inflate.c:1508:13: */ 22960 var state uintptr 22961 22962 if inflateStateCheck(tls, strm) != 0 { 22963 return -2 22964 } 22965 state = (*Z_stream)(unsafe.Pointer(strm)).Fstate 22966 _ = subvert 22967 (*Inflate_state)(unsafe.Pointer(state)).Fsane = 1 22968 return -3 22969 } 22970 22971 func XinflateValidate(tls *libc.TLS, strm Z_streamp, check int32) int32 { /* inflate.c:1526:13: */ 22972 var state uintptr 22973 22974 if inflateStateCheck(tls, strm) != 0 { 22975 return -2 22976 } 22977 state = (*Z_stream)(unsafe.Pointer(strm)).Fstate 22978 if check != 0 { 22979 *(*int32)(unsafe.Pointer(state + 16)) |= 4 22980 } else { 22981 *(*int32)(unsafe.Pointer(state + 16)) &= libc.CplInt32(4) 22982 } 22983 return Z_OK 22984 } 22985 22986 func XinflateMark(tls *libc.TLS, strm Z_streamp) int64 { /* inflate.c:1541:14: */ 22987 var state uintptr 22988 22989 if inflateStateCheck(tls, strm) != 0 { 22990 return -(int64(1) << 16) 22991 } 22992 state = (*Z_stream)(unsafe.Pointer(strm)).Fstate 22993 return int64(uint64(int64((*Inflate_state)(unsafe.Pointer(state)).Fback))<<16) + func() int64 { 22994 if (*Inflate_state)(unsafe.Pointer(state)).Fmode == COPY { 22995 return int64((*Inflate_state)(unsafe.Pointer(state)).Flength) 22996 } 22997 return func() int64 { 22998 if (*Inflate_state)(unsafe.Pointer(state)).Fmode == MATCH { 22999 return int64((*Inflate_state)(unsafe.Pointer(state)).Fwas - (*Inflate_state)(unsafe.Pointer(state)).Flength) 23000 } 23001 return int64(0) 23002 }() 23003 }() 23004 } 23005 23006 func XinflateCodesUsed(tls *libc.TLS, strm Z_streamp) uint64 { /* inflate.c:1554:23: */ 23007 var state uintptr 23008 if inflateStateCheck(tls, strm) != 0 { 23009 return libc.Uint64(libc.Uint64FromInt32(-1)) 23010 } 23011 state = (*Z_stream)(unsafe.Pointer(strm)).Fstate 23012 return uint64(int64(((*Inflate_state)(unsafe.Pointer(state)).Fnext - (state + 1368)) / 4)) 23013 } 23014 23015 var Xinflate_copyright = *(*[48]int8)(unsafe.Pointer(ts + 828)) /* inftrees.c:11:12 */ 23016 23017 // 23018 // If you use the zlib library in a product, an acknowledgment is welcome 23019 // in the documentation of your product. If for some reason you cannot 23020 // include such an acknowledgment, I would appreciate that you keep this 23021 // copyright string in the executable of your product. 23022 // 23023 23024 // 23025 // Build a set of tables to decode the provided canonical Huffman code. 23026 // The code lengths are lens[0..codes-1]. The result starts at *table, 23027 // whose indices are 0..2^bits-1. work is a writable array of at least 23028 // lens shorts, which is used as a work area. type is the type of code 23029 // to be generated, CODES, LENS, or DISTS. On return, zero is success, 23030 // -1 is an invalid code, and +1 means that ENOUGH isn't enough. table 23031 // on return points to the next available entry's address. bits is the 23032 // requested root table index bits, and on return it is the actual root 23033 // table index bits. It will differ if the request is greater than the 23034 // longest code or if it is less than the shortest code. 23035 // 23036 func Xinflate_table(tls *libc.TLS, type1 Codetype, lens uintptr, codes uint32, table uintptr, bits uintptr, work uintptr) int32 { /* inftrees.c:32:19: */ 23037 bp := tls.Alloc(64) 23038 defer tls.Free(64) 23039 23040 var len uint32 // a code's length in bits 23041 var sym uint32 // index of code symbols 23042 var min uint32 23043 var max uint32 // minimum and maximum code lengths 23044 var root uint32 // number of index bits for root table 23045 var curr uint32 // number of index bits for current table 23046 var drop uint32 // code bits to drop for sub-table 23047 var left int32 // number of prefix codes available 23048 var used uint32 // code entries in table used 23049 var huff uint32 // Huffman code 23050 var incr uint32 // for incrementing code, index 23051 var fill uint32 // index for replicating entries 23052 var low uint32 // low bits for current root entry 23053 var mask uint32 // mask for low root bits 23054 var here Code // table entry for duplication 23055 var next uintptr // next available space in table 23056 var base uintptr // base value table to use 23057 var extra uintptr // extra bits table to use 23058 var match uint32 // use base and extra for symbol >= match 23059 // var count [16]uint16 at bp, 32 23060 // number of codes of each length 23061 // var offs [16]uint16 at bp+32, 32 23062 23063 // 23064 // Process a set of code lengths to create a canonical Huffman code. The 23065 // code lengths are lens[0..codes-1]. Each length corresponds to the 23066 // symbols 0..codes-1. The Huffman code is generated by first sorting the 23067 // symbols by length from short to long, and retaining the symbol order 23068 // for codes with equal lengths. Then the code starts with all zero bits 23069 // for the first code of the shortest length, and the codes are integer 23070 // increments for the same length, and zeros are appended as the length 23071 // increases. For the deflate format, these bits are stored backwards 23072 // from their more natural integer increment ordering, and so when the 23073 // decoding tables are built in the large loop below, the integer codes 23074 // are incremented backwards. 23075 // 23076 // This routine assumes, but does not check, that all of the entries in 23077 // lens[] are in the range 0..MAXBITS. The caller must assure this. 23078 // 1..MAXBITS is interpreted as that code length. zero means that that 23079 // symbol does not occur in this code. 23080 // 23081 // The codes are sorted by computing a count of codes for each length, 23082 // creating from that a table of starting indices for each length in the 23083 // sorted table, and then entering the symbols in order in the sorted 23084 // table. The sorted table is work[], with that space being provided by 23085 // the caller. 23086 // 23087 // The length counts are used for other purposes as well, i.e. finding 23088 // the minimum and maximum length codes, determining if there are any 23089 // codes at all, checking for a valid set of lengths, and looking ahead 23090 // at length counts to determine sub-table sizes when building the 23091 // decoding tables. 23092 // 23093 23094 // accumulate lengths for codes (assumes lens[] all in 0..MAXBITS) 23095 for len = uint32(0); len <= uint32(MAXBITS); len++ { 23096 *(*uint16)(unsafe.Pointer(bp + uintptr(len)*2)) = uint16(0) 23097 } 23098 for sym = uint32(0); sym < codes; sym++ { 23099 *(*uint16)(unsafe.Pointer(bp + uintptr(*(*uint16)(unsafe.Pointer(lens + uintptr(sym)*2)))*2))++ 23100 } 23101 23102 // bound code lengths, force root to be within code lengths 23103 root = *(*uint32)(unsafe.Pointer(bits)) 23104 for max = uint32(MAXBITS); max >= uint32(1); max-- { 23105 if int32(*(*uint16)(unsafe.Pointer(bp + uintptr(max)*2))) != 0 { 23106 break 23107 } 23108 } 23109 if root > max { 23110 root = max 23111 } 23112 if max == uint32(0) { // no symbols to code at all 23113 here.Fop = uint8(64) // invalid code marker 23114 here.Fbits = uint8(1) 23115 here.Fval = uint16(0) 23116 *(*Code)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(table)), 4))) = here // make a table to force an error 23117 *(*Code)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(table)), 4))) = here 23118 *(*uint32)(unsafe.Pointer(bits)) = uint32(1) 23119 return 0 // no symbols, but wait for decoding to report error 23120 } 23121 for min = uint32(1); min < max; min++ { 23122 if int32(*(*uint16)(unsafe.Pointer(bp + uintptr(min)*2))) != 0 { 23123 break 23124 } 23125 } 23126 if root < min { 23127 root = min 23128 } 23129 23130 // check for an over-subscribed or incomplete set of lengths 23131 left = 1 23132 for len = uint32(1); len <= uint32(MAXBITS); len++ { 23133 left <<= 1 23134 left = left - int32(*(*uint16)(unsafe.Pointer(bp + uintptr(len)*2))) 23135 if left < 0 { 23136 return -1 23137 } // over-subscribed 23138 } 23139 if left > 0 && (type1 == CODES || max != uint32(1)) { 23140 return -1 23141 } // incomplete set 23142 23143 // generate offsets into symbol table for each length for sorting 23144 *(*uint16)(unsafe.Pointer(bp + 32 + 1*2)) = uint16(0) 23145 for len = uint32(1); len < uint32(MAXBITS); len++ { 23146 *(*uint16)(unsafe.Pointer(bp + 32 + uintptr(len+uint32(1))*2)) = uint16(int32(*(*uint16)(unsafe.Pointer(bp + 32 + uintptr(len)*2))) + int32(*(*uint16)(unsafe.Pointer(bp + uintptr(len)*2)))) 23147 } 23148 23149 // sort symbols by length, by symbol order within each length 23150 for sym = uint32(0); sym < codes; sym++ { 23151 if int32(*(*uint16)(unsafe.Pointer(lens + uintptr(sym)*2))) != 0 { 23152 *(*uint16)(unsafe.Pointer(work + uintptr(libc.PostIncUint16(&*(*uint16)(unsafe.Pointer(bp + 32 + uintptr(*(*uint16)(unsafe.Pointer(lens + uintptr(sym)*2)))*2)), 1))*2)) = uint16(sym) 23153 } 23154 } 23155 23156 // 23157 // Create and fill in decoding tables. In this loop, the table being 23158 // filled is at next and has curr index bits. The code being used is huff 23159 // with length len. That code is converted to an index by dropping drop 23160 // bits off of the bottom. For codes where len is less than drop + curr, 23161 // those top drop + curr - len bits are incremented through all values to 23162 // fill the table with replicated entries. 23163 // 23164 // root is the number of index bits for the root table. When len exceeds 23165 // root, sub-tables are created pointed to by the root entry with an index 23166 // of the low root bits of huff. This is saved in low to check for when a 23167 // new sub-table should be started. drop is zero when the root table is 23168 // being filled, and drop is root when sub-tables are being filled. 23169 // 23170 // When a new sub-table is needed, it is necessary to look ahead in the 23171 // code lengths to determine what size sub-table is needed. The length 23172 // counts are used for this, and so count[] is decremented as codes are 23173 // entered in the tables. 23174 // 23175 // used keeps track of how many table entries have been allocated from the 23176 // provided *table space. It is checked for LENS and DIST tables against 23177 // the constants ENOUGH_LENS and ENOUGH_DISTS to guard against changes in 23178 // the initial root table size constants. See the comments in inftrees.h 23179 // for more information. 23180 // 23181 // sym increments through all symbols, and the loop terminates when 23182 // all codes of length max, i.e. all codes, have been processed. This 23183 // routine permits incomplete codes, so another loop after this one fills 23184 // in the rest of the decoding tables with invalid code markers. 23185 // 23186 23187 // set up for code type 23188 switch type1 { 23189 case CODES: 23190 base = libc.AssignUintptr(&extra, work) // dummy value--not used 23191 match = uint32(20) 23192 break 23193 case LENS: 23194 base = uintptr(unsafe.Pointer(&lbase)) 23195 extra = uintptr(unsafe.Pointer(&lext)) 23196 match = uint32(257) 23197 break 23198 default: // DISTS 23199 base = uintptr(unsafe.Pointer(&dbase)) 23200 extra = uintptr(unsafe.Pointer(&dext)) 23201 match = uint32(0) 23202 } 23203 23204 // initialize state for loop 23205 huff = uint32(0) // starting code 23206 sym = uint32(0) // starting code symbol 23207 len = min // starting code length 23208 next = *(*uintptr)(unsafe.Pointer(table)) // current table to fill in 23209 curr = root // current table index bits 23210 drop = uint32(0) // current bits to drop from code for index 23211 low = libc.Uint32(libc.Uint32FromInt32(-1)) // trigger new sub-table when len > root 23212 used = uint32(1) << root // use root table entries 23213 mask = used - uint32(1) // mask for comparing low 23214 23215 // check available table space 23216 if type1 == LENS && used > uint32(ENOUGH_LENS) || type1 == DISTS && used > uint32(ENOUGH_DISTS) { 23217 return 1 23218 } 23219 23220 // process all codes and make table entries 23221 for { 23222 // create table entry 23223 here.Fbits = uint8(len - drop) 23224 if uint32(*(*uint16)(unsafe.Pointer(work + uintptr(sym)*2)))+1 < match { 23225 here.Fop = uint8(0) 23226 here.Fval = *(*uint16)(unsafe.Pointer(work + uintptr(sym)*2)) 23227 } else if uint32(*(*uint16)(unsafe.Pointer(work + uintptr(sym)*2))) >= match { 23228 here.Fop = uint8(*(*uint16)(unsafe.Pointer(extra + uintptr(uint32(*(*uint16)(unsafe.Pointer(work + uintptr(sym)*2)))-match)*2))) 23229 here.Fval = *(*uint16)(unsafe.Pointer(base + uintptr(uint32(*(*uint16)(unsafe.Pointer(work + uintptr(sym)*2)))-match)*2)) 23230 } else { 23231 here.Fop = uint8(32 + 64) // end of block 23232 here.Fval = uint16(0) 23233 } 23234 23235 // replicate for those indices with low len bits equal to huff 23236 incr = uint32(1) << (len - drop) 23237 fill = uint32(1) << curr 23238 min = fill // save offset to next table 23239 for ok := true; ok; ok = fill != uint32(0) { 23240 fill = fill - incr 23241 *(*Code)(unsafe.Pointer(next + uintptr(huff>>drop+fill)*4)) = here 23242 } 23243 23244 // backwards increment the len-bit code huff 23245 incr = uint32(1) << (len - uint32(1)) 23246 for huff&incr != 0 { 23247 incr >>= 1 23248 } 23249 if incr != uint32(0) { 23250 huff = huff & (incr - uint32(1)) 23251 huff = huff + incr 23252 } else { 23253 huff = uint32(0) 23254 } 23255 23256 // go to next symbol, update count, len 23257 sym++ 23258 if int32(libc.PreDecUint16(&*(*uint16)(unsafe.Pointer(bp + uintptr(len)*2)), 1)) == 0 { 23259 if len == max { 23260 break 23261 } 23262 len = uint32(*(*uint16)(unsafe.Pointer(lens + uintptr(*(*uint16)(unsafe.Pointer(work + uintptr(sym)*2)))*2))) 23263 } 23264 23265 // create new sub-table if needed 23266 if len > root && huff&mask != low { 23267 // if first time, transition to sub-tables 23268 if drop == uint32(0) { 23269 drop = root 23270 } 23271 23272 // increment past last table 23273 next += 4 * uintptr(min) // here min is 1 << curr 23274 23275 // determine length of next table 23276 curr = len - drop 23277 left = int32(1) << curr 23278 for curr+drop < max { 23279 left = left - int32(*(*uint16)(unsafe.Pointer(bp + uintptr(curr+drop)*2))) 23280 if left <= 0 { 23281 break 23282 } 23283 curr++ 23284 left <<= 1 23285 } 23286 23287 // check for enough space 23288 used = used + uint32(1)<<curr 23289 if type1 == LENS && used > uint32(ENOUGH_LENS) || type1 == DISTS && used > uint32(ENOUGH_DISTS) { 23290 return 1 23291 } 23292 23293 // point entry in root table to sub-table 23294 low = huff & mask 23295 (*Code)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(table)) + uintptr(low)*4)).Fop = uint8(curr) 23296 (*Code)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(table)) + uintptr(low)*4)).Fbits = uint8(root) 23297 (*Code)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(table)) + uintptr(low)*4)).Fval = uint16((int64(next) - int64(*(*uintptr)(unsafe.Pointer(table)))) / 4) 23298 } 23299 } 23300 23301 // fill in remaining table entry if code is incomplete (guaranteed to have 23302 // at most one remaining entry, since if the code is incomplete, the 23303 // maximum code length that was allowed to get this far is one bit) 23304 if huff != uint32(0) { 23305 here.Fop = uint8(64) // invalid code marker 23306 here.Fbits = uint8(len - drop) 23307 here.Fval = uint16(0) 23308 *(*Code)(unsafe.Pointer(next + uintptr(huff)*4)) = here 23309 } 23310 23311 // set return parameters 23312 *(*uintptr)(unsafe.Pointer(table)) += uintptr(used) * 4 23313 *(*uint32)(unsafe.Pointer(bits)) = root 23314 return 0 23315 } 23316 23317 var lbase = [31]uint16{ // Length codes 257..285 base 23318 uint16(3), uint16(4), uint16(5), uint16(6), uint16(7), uint16(8), uint16(9), uint16(10), uint16(11), uint16(13), uint16(15), uint16(17), uint16(19), uint16(23), uint16(27), uint16(31), 23319 uint16(35), uint16(43), uint16(51), uint16(59), uint16(67), uint16(83), uint16(99), uint16(115), uint16(131), uint16(163), uint16(195), uint16(227), uint16(258), uint16(0), uint16(0)} /* inftrees.c:60:33 */ 23320 var lext = [31]uint16{ // Length codes 257..285 extra 23321 uint16(16), uint16(16), uint16(16), uint16(16), uint16(16), uint16(16), uint16(16), uint16(16), uint16(17), uint16(17), uint16(17), uint16(17), uint16(18), uint16(18), uint16(18), uint16(18), 23322 uint16(19), uint16(19), uint16(19), uint16(19), uint16(20), uint16(20), uint16(20), uint16(20), uint16(21), uint16(21), uint16(21), uint16(21), uint16(16), uint16(77), uint16(202)} /* inftrees.c:63:33 */ 23323 var dbase = [32]uint16{ // Distance codes 0..29 base 23324 uint16(1), uint16(2), uint16(3), uint16(4), uint16(5), uint16(7), uint16(9), uint16(13), uint16(17), uint16(25), uint16(33), uint16(49), uint16(65), uint16(97), uint16(129), uint16(193), 23325 uint16(257), uint16(385), uint16(513), uint16(769), uint16(1025), uint16(1537), uint16(2049), uint16(3073), uint16(4097), uint16(6145), 23326 uint16(8193), uint16(12289), uint16(16385), uint16(24577), uint16(0), uint16(0)} /* inftrees.c:66:33 */ 23327 var dext = [32]uint16{ // Distance codes 0..29 extra 23328 uint16(16), uint16(16), uint16(16), uint16(16), uint16(17), uint16(17), uint16(18), uint16(18), uint16(19), uint16(19), uint16(20), uint16(20), uint16(21), uint16(21), uint16(22), uint16(22), 23329 uint16(23), uint16(23), uint16(24), uint16(24), uint16(25), uint16(25), uint16(26), uint16(26), uint16(27), uint16(27), 23330 uint16(28), uint16(28), uint16(29), uint16(29), uint16(64), uint16(64)} /* inftrees.c:70:33 */ 23331 23332 type Static_tree_desc = Static_tree_desc_s /* deflate.h:84:36 */ 23333 23334 // =========================================================================== 23335 // Constants 23336 23337 // Bit length codes must not exceed MAX_BL_BITS bits 23338 23339 // end of block literal code 23340 23341 // repeat previous bit length 3-6 times (2 bits of repeat count) 23342 23343 // repeat a zero length 3-10 times (3 bits of repeat count) 23344 23345 // repeat a zero length 11-138 times (7 bits of repeat count) 23346 23347 var extra_lbits = [29]int32{0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0} /* trees.c:62:17 */ 23348 23349 var extra_dbits = [30]int32{0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13} /* trees.c:65:17 */ 23350 23351 var extra_blbits = [19]int32{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 7} /* trees.c:68:17 */ 23352 23353 var bl_order = [19]Uch{Uch(16), Uch(17), Uch(18), Uch(0), Uch(8), Uch(7), Uch(9), Uch(6), Uch(10), Uch(5), Uch(11), Uch(4), Uch(12), Uch(3), Uch(13), Uch(2), Uch(14), Uch(1), Uch(15)} /* trees.c:71:17 */ 23354 // The lengths of the bit length codes are sent in order of decreasing 23355 // probability, to avoid transmitting the lengths for unused bit length codes. 23356 23357 // =========================================================================== 23358 // Local data. These are initialized only once. 23359 23360 // header created automatically with -DGEN_TREES_H 23361 23362 var static_ltree = [288]Ct_data{{Ffc: func() (r struct{ Ffreq Ush }) { 23363 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(12) 23364 return r 23365 }(), Fdl: func() (r struct{ Fdad Ush }) { 23366 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23367 return r 23368 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23369 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(140) 23370 return r 23371 }(), Fdl: func() (r struct{ Fdad Ush }) { 23372 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23373 return r 23374 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23375 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(76) 23376 return r 23377 }(), Fdl: func() (r struct{ Fdad Ush }) { 23378 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23379 return r 23380 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23381 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(204) 23382 return r 23383 }(), Fdl: func() (r struct{ Fdad Ush }) { 23384 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23385 return r 23386 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23387 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(44) 23388 return r 23389 }(), Fdl: func() (r struct{ Fdad Ush }) { 23390 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23391 return r 23392 }()}, 23393 {Ffc: func() (r struct{ Ffreq Ush }) { 23394 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(172) 23395 return r 23396 }(), Fdl: func() (r struct{ Fdad Ush }) { 23397 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23398 return r 23399 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23400 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(108) 23401 return r 23402 }(), Fdl: func() (r struct{ Fdad Ush }) { 23403 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23404 return r 23405 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23406 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(236) 23407 return r 23408 }(), Fdl: func() (r struct{ Fdad Ush }) { 23409 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23410 return r 23411 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23412 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(28) 23413 return r 23414 }(), Fdl: func() (r struct{ Fdad Ush }) { 23415 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23416 return r 23417 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23418 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(156) 23419 return r 23420 }(), Fdl: func() (r struct{ Fdad Ush }) { 23421 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23422 return r 23423 }()}, 23424 {Ffc: func() (r struct{ Ffreq Ush }) { 23425 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(92) 23426 return r 23427 }(), Fdl: func() (r struct{ Fdad Ush }) { 23428 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23429 return r 23430 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23431 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(220) 23432 return r 23433 }(), Fdl: func() (r struct{ Fdad Ush }) { 23434 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23435 return r 23436 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23437 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(60) 23438 return r 23439 }(), Fdl: func() (r struct{ Fdad Ush }) { 23440 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23441 return r 23442 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23443 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(188) 23444 return r 23445 }(), Fdl: func() (r struct{ Fdad Ush }) { 23446 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23447 return r 23448 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23449 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(124) 23450 return r 23451 }(), Fdl: func() (r struct{ Fdad Ush }) { 23452 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23453 return r 23454 }()}, 23455 {Ffc: func() (r struct{ Ffreq Ush }) { 23456 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(252) 23457 return r 23458 }(), Fdl: func() (r struct{ Fdad Ush }) { 23459 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23460 return r 23461 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23462 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(2) 23463 return r 23464 }(), Fdl: func() (r struct{ Fdad Ush }) { 23465 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23466 return r 23467 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23468 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(130) 23469 return r 23470 }(), Fdl: func() (r struct{ Fdad Ush }) { 23471 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23472 return r 23473 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23474 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(66) 23475 return r 23476 }(), Fdl: func() (r struct{ Fdad Ush }) { 23477 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23478 return r 23479 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23480 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(194) 23481 return r 23482 }(), Fdl: func() (r struct{ Fdad Ush }) { 23483 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23484 return r 23485 }()}, 23486 {Ffc: func() (r struct{ Ffreq Ush }) { 23487 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(34) 23488 return r 23489 }(), Fdl: func() (r struct{ Fdad Ush }) { 23490 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23491 return r 23492 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23493 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(162) 23494 return r 23495 }(), Fdl: func() (r struct{ Fdad Ush }) { 23496 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23497 return r 23498 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23499 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(98) 23500 return r 23501 }(), Fdl: func() (r struct{ Fdad Ush }) { 23502 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23503 return r 23504 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23505 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(226) 23506 return r 23507 }(), Fdl: func() (r struct{ Fdad Ush }) { 23508 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23509 return r 23510 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23511 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(18) 23512 return r 23513 }(), Fdl: func() (r struct{ Fdad Ush }) { 23514 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23515 return r 23516 }()}, 23517 {Ffc: func() (r struct{ Ffreq Ush }) { 23518 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(146) 23519 return r 23520 }(), Fdl: func() (r struct{ Fdad Ush }) { 23521 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23522 return r 23523 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23524 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(82) 23525 return r 23526 }(), Fdl: func() (r struct{ Fdad Ush }) { 23527 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23528 return r 23529 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23530 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(210) 23531 return r 23532 }(), Fdl: func() (r struct{ Fdad Ush }) { 23533 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23534 return r 23535 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23536 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(50) 23537 return r 23538 }(), Fdl: func() (r struct{ Fdad Ush }) { 23539 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23540 return r 23541 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23542 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(178) 23543 return r 23544 }(), Fdl: func() (r struct{ Fdad Ush }) { 23545 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23546 return r 23547 }()}, 23548 {Ffc: func() (r struct{ Ffreq Ush }) { 23549 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(114) 23550 return r 23551 }(), Fdl: func() (r struct{ Fdad Ush }) { 23552 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23553 return r 23554 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23555 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(242) 23556 return r 23557 }(), Fdl: func() (r struct{ Fdad Ush }) { 23558 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23559 return r 23560 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23561 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(10) 23562 return r 23563 }(), Fdl: func() (r struct{ Fdad Ush }) { 23564 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23565 return r 23566 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23567 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(138) 23568 return r 23569 }(), Fdl: func() (r struct{ Fdad Ush }) { 23570 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23571 return r 23572 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23573 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(74) 23574 return r 23575 }(), Fdl: func() (r struct{ Fdad Ush }) { 23576 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23577 return r 23578 }()}, 23579 {Ffc: func() (r struct{ Ffreq Ush }) { 23580 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(202) 23581 return r 23582 }(), Fdl: func() (r struct{ Fdad Ush }) { 23583 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23584 return r 23585 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23586 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(42) 23587 return r 23588 }(), Fdl: func() (r struct{ Fdad Ush }) { 23589 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23590 return r 23591 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23592 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(170) 23593 return r 23594 }(), Fdl: func() (r struct{ Fdad Ush }) { 23595 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23596 return r 23597 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23598 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(106) 23599 return r 23600 }(), Fdl: func() (r struct{ Fdad Ush }) { 23601 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23602 return r 23603 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23604 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(234) 23605 return r 23606 }(), Fdl: func() (r struct{ Fdad Ush }) { 23607 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23608 return r 23609 }()}, 23610 {Ffc: func() (r struct{ Ffreq Ush }) { 23611 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(26) 23612 return r 23613 }(), Fdl: func() (r struct{ Fdad Ush }) { 23614 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23615 return r 23616 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23617 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(154) 23618 return r 23619 }(), Fdl: func() (r struct{ Fdad Ush }) { 23620 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23621 return r 23622 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23623 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(90) 23624 return r 23625 }(), Fdl: func() (r struct{ Fdad Ush }) { 23626 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23627 return r 23628 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23629 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(218) 23630 return r 23631 }(), Fdl: func() (r struct{ Fdad Ush }) { 23632 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23633 return r 23634 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23635 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(58) 23636 return r 23637 }(), Fdl: func() (r struct{ Fdad Ush }) { 23638 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23639 return r 23640 }()}, 23641 {Ffc: func() (r struct{ Ffreq Ush }) { 23642 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(186) 23643 return r 23644 }(), Fdl: func() (r struct{ Fdad Ush }) { 23645 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23646 return r 23647 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23648 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(122) 23649 return r 23650 }(), Fdl: func() (r struct{ Fdad Ush }) { 23651 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23652 return r 23653 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23654 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(250) 23655 return r 23656 }(), Fdl: func() (r struct{ Fdad Ush }) { 23657 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23658 return r 23659 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23660 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(6) 23661 return r 23662 }(), Fdl: func() (r struct{ Fdad Ush }) { 23663 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23664 return r 23665 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23666 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(134) 23667 return r 23668 }(), Fdl: func() (r struct{ Fdad Ush }) { 23669 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23670 return r 23671 }()}, 23672 {Ffc: func() (r struct{ Ffreq Ush }) { 23673 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(70) 23674 return r 23675 }(), Fdl: func() (r struct{ Fdad Ush }) { 23676 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23677 return r 23678 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23679 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(198) 23680 return r 23681 }(), Fdl: func() (r struct{ Fdad Ush }) { 23682 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23683 return r 23684 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23685 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(38) 23686 return r 23687 }(), Fdl: func() (r struct{ Fdad Ush }) { 23688 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23689 return r 23690 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23691 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(166) 23692 return r 23693 }(), Fdl: func() (r struct{ Fdad Ush }) { 23694 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23695 return r 23696 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23697 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(102) 23698 return r 23699 }(), Fdl: func() (r struct{ Fdad Ush }) { 23700 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23701 return r 23702 }()}, 23703 {Ffc: func() (r struct{ Ffreq Ush }) { 23704 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(230) 23705 return r 23706 }(), Fdl: func() (r struct{ Fdad Ush }) { 23707 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23708 return r 23709 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23710 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(22) 23711 return r 23712 }(), Fdl: func() (r struct{ Fdad Ush }) { 23713 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23714 return r 23715 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23716 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(150) 23717 return r 23718 }(), Fdl: func() (r struct{ Fdad Ush }) { 23719 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23720 return r 23721 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23722 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(86) 23723 return r 23724 }(), Fdl: func() (r struct{ Fdad Ush }) { 23725 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23726 return r 23727 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23728 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(214) 23729 return r 23730 }(), Fdl: func() (r struct{ Fdad Ush }) { 23731 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23732 return r 23733 }()}, 23734 {Ffc: func() (r struct{ Ffreq Ush }) { 23735 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(54) 23736 return r 23737 }(), Fdl: func() (r struct{ Fdad Ush }) { 23738 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23739 return r 23740 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23741 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(182) 23742 return r 23743 }(), Fdl: func() (r struct{ Fdad Ush }) { 23744 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23745 return r 23746 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23747 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(118) 23748 return r 23749 }(), Fdl: func() (r struct{ Fdad Ush }) { 23750 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23751 return r 23752 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23753 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(246) 23754 return r 23755 }(), Fdl: func() (r struct{ Fdad Ush }) { 23756 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23757 return r 23758 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23759 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(14) 23760 return r 23761 }(), Fdl: func() (r struct{ Fdad Ush }) { 23762 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23763 return r 23764 }()}, 23765 {Ffc: func() (r struct{ Ffreq Ush }) { 23766 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(142) 23767 return r 23768 }(), Fdl: func() (r struct{ Fdad Ush }) { 23769 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23770 return r 23771 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23772 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(78) 23773 return r 23774 }(), Fdl: func() (r struct{ Fdad Ush }) { 23775 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23776 return r 23777 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23778 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(206) 23779 return r 23780 }(), Fdl: func() (r struct{ Fdad Ush }) { 23781 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23782 return r 23783 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23784 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(46) 23785 return r 23786 }(), Fdl: func() (r struct{ Fdad Ush }) { 23787 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23788 return r 23789 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23790 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(174) 23791 return r 23792 }(), Fdl: func() (r struct{ Fdad Ush }) { 23793 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23794 return r 23795 }()}, 23796 {Ffc: func() (r struct{ Ffreq Ush }) { 23797 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(110) 23798 return r 23799 }(), Fdl: func() (r struct{ Fdad Ush }) { 23800 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23801 return r 23802 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23803 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(238) 23804 return r 23805 }(), Fdl: func() (r struct{ Fdad Ush }) { 23806 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23807 return r 23808 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23809 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(30) 23810 return r 23811 }(), Fdl: func() (r struct{ Fdad Ush }) { 23812 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23813 return r 23814 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23815 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(158) 23816 return r 23817 }(), Fdl: func() (r struct{ Fdad Ush }) { 23818 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23819 return r 23820 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23821 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(94) 23822 return r 23823 }(), Fdl: func() (r struct{ Fdad Ush }) { 23824 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23825 return r 23826 }()}, 23827 {Ffc: func() (r struct{ Ffreq Ush }) { 23828 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(222) 23829 return r 23830 }(), Fdl: func() (r struct{ Fdad Ush }) { 23831 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23832 return r 23833 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23834 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(62) 23835 return r 23836 }(), Fdl: func() (r struct{ Fdad Ush }) { 23837 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23838 return r 23839 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23840 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(190) 23841 return r 23842 }(), Fdl: func() (r struct{ Fdad Ush }) { 23843 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23844 return r 23845 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23846 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(126) 23847 return r 23848 }(), Fdl: func() (r struct{ Fdad Ush }) { 23849 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23850 return r 23851 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23852 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(254) 23853 return r 23854 }(), Fdl: func() (r struct{ Fdad Ush }) { 23855 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23856 return r 23857 }()}, 23858 {Ffc: func() (r struct{ Ffreq Ush }) { 23859 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(1) 23860 return r 23861 }(), Fdl: func() (r struct{ Fdad Ush }) { 23862 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23863 return r 23864 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23865 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(129) 23866 return r 23867 }(), Fdl: func() (r struct{ Fdad Ush }) { 23868 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23869 return r 23870 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23871 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(65) 23872 return r 23873 }(), Fdl: func() (r struct{ Fdad Ush }) { 23874 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23875 return r 23876 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23877 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(193) 23878 return r 23879 }(), Fdl: func() (r struct{ Fdad Ush }) { 23880 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23881 return r 23882 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23883 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(33) 23884 return r 23885 }(), Fdl: func() (r struct{ Fdad Ush }) { 23886 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23887 return r 23888 }()}, 23889 {Ffc: func() (r struct{ Ffreq Ush }) { 23890 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(161) 23891 return r 23892 }(), Fdl: func() (r struct{ Fdad Ush }) { 23893 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23894 return r 23895 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23896 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(97) 23897 return r 23898 }(), Fdl: func() (r struct{ Fdad Ush }) { 23899 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23900 return r 23901 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23902 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(225) 23903 return r 23904 }(), Fdl: func() (r struct{ Fdad Ush }) { 23905 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23906 return r 23907 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23908 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(17) 23909 return r 23910 }(), Fdl: func() (r struct{ Fdad Ush }) { 23911 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23912 return r 23913 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23914 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(145) 23915 return r 23916 }(), Fdl: func() (r struct{ Fdad Ush }) { 23917 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23918 return r 23919 }()}, 23920 {Ffc: func() (r struct{ Ffreq Ush }) { 23921 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(81) 23922 return r 23923 }(), Fdl: func() (r struct{ Fdad Ush }) { 23924 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23925 return r 23926 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23927 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(209) 23928 return r 23929 }(), Fdl: func() (r struct{ Fdad Ush }) { 23930 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23931 return r 23932 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23933 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(49) 23934 return r 23935 }(), Fdl: func() (r struct{ Fdad Ush }) { 23936 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23937 return r 23938 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23939 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(177) 23940 return r 23941 }(), Fdl: func() (r struct{ Fdad Ush }) { 23942 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23943 return r 23944 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23945 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(113) 23946 return r 23947 }(), Fdl: func() (r struct{ Fdad Ush }) { 23948 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23949 return r 23950 }()}, 23951 {Ffc: func() (r struct{ Ffreq Ush }) { 23952 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(241) 23953 return r 23954 }(), Fdl: func() (r struct{ Fdad Ush }) { 23955 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23956 return r 23957 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23958 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 23959 return r 23960 }(), Fdl: func() (r struct{ Fdad Ush }) { 23961 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23962 return r 23963 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23964 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(137) 23965 return r 23966 }(), Fdl: func() (r struct{ Fdad Ush }) { 23967 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23968 return r 23969 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23970 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(73) 23971 return r 23972 }(), Fdl: func() (r struct{ Fdad Ush }) { 23973 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23974 return r 23975 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23976 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(201) 23977 return r 23978 }(), Fdl: func() (r struct{ Fdad Ush }) { 23979 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23980 return r 23981 }()}, 23982 {Ffc: func() (r struct{ Ffreq Ush }) { 23983 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(41) 23984 return r 23985 }(), Fdl: func() (r struct{ Fdad Ush }) { 23986 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23987 return r 23988 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23989 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(169) 23990 return r 23991 }(), Fdl: func() (r struct{ Fdad Ush }) { 23992 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23993 return r 23994 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 23995 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(105) 23996 return r 23997 }(), Fdl: func() (r struct{ Fdad Ush }) { 23998 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 23999 return r 24000 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24001 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(233) 24002 return r 24003 }(), Fdl: func() (r struct{ Fdad Ush }) { 24004 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 24005 return r 24006 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24007 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(25) 24008 return r 24009 }(), Fdl: func() (r struct{ Fdad Ush }) { 24010 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 24011 return r 24012 }()}, 24013 {Ffc: func() (r struct{ Ffreq Ush }) { 24014 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(153) 24015 return r 24016 }(), Fdl: func() (r struct{ Fdad Ush }) { 24017 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 24018 return r 24019 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24020 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(89) 24021 return r 24022 }(), Fdl: func() (r struct{ Fdad Ush }) { 24023 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 24024 return r 24025 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24026 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(217) 24027 return r 24028 }(), Fdl: func() (r struct{ Fdad Ush }) { 24029 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 24030 return r 24031 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24032 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(57) 24033 return r 24034 }(), Fdl: func() (r struct{ Fdad Ush }) { 24035 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 24036 return r 24037 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24038 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(185) 24039 return r 24040 }(), Fdl: func() (r struct{ Fdad Ush }) { 24041 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 24042 return r 24043 }()}, 24044 {Ffc: func() (r struct{ Ffreq Ush }) { 24045 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(121) 24046 return r 24047 }(), Fdl: func() (r struct{ Fdad Ush }) { 24048 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 24049 return r 24050 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24051 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(249) 24052 return r 24053 }(), Fdl: func() (r struct{ Fdad Ush }) { 24054 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 24055 return r 24056 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24057 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(5) 24058 return r 24059 }(), Fdl: func() (r struct{ Fdad Ush }) { 24060 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 24061 return r 24062 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24063 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(133) 24064 return r 24065 }(), Fdl: func() (r struct{ Fdad Ush }) { 24066 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 24067 return r 24068 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24069 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(69) 24070 return r 24071 }(), Fdl: func() (r struct{ Fdad Ush }) { 24072 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 24073 return r 24074 }()}, 24075 {Ffc: func() (r struct{ Ffreq Ush }) { 24076 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(197) 24077 return r 24078 }(), Fdl: func() (r struct{ Fdad Ush }) { 24079 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 24080 return r 24081 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24082 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(37) 24083 return r 24084 }(), Fdl: func() (r struct{ Fdad Ush }) { 24085 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 24086 return r 24087 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24088 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(165) 24089 return r 24090 }(), Fdl: func() (r struct{ Fdad Ush }) { 24091 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 24092 return r 24093 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24094 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(101) 24095 return r 24096 }(), Fdl: func() (r struct{ Fdad Ush }) { 24097 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 24098 return r 24099 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24100 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(229) 24101 return r 24102 }(), Fdl: func() (r struct{ Fdad Ush }) { 24103 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 24104 return r 24105 }()}, 24106 {Ffc: func() (r struct{ Ffreq Ush }) { 24107 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(21) 24108 return r 24109 }(), Fdl: func() (r struct{ Fdad Ush }) { 24110 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 24111 return r 24112 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24113 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(149) 24114 return r 24115 }(), Fdl: func() (r struct{ Fdad Ush }) { 24116 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 24117 return r 24118 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24119 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(85) 24120 return r 24121 }(), Fdl: func() (r struct{ Fdad Ush }) { 24122 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 24123 return r 24124 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24125 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(213) 24126 return r 24127 }(), Fdl: func() (r struct{ Fdad Ush }) { 24128 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 24129 return r 24130 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24131 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(53) 24132 return r 24133 }(), Fdl: func() (r struct{ Fdad Ush }) { 24134 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 24135 return r 24136 }()}, 24137 {Ffc: func() (r struct{ Ffreq Ush }) { 24138 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(181) 24139 return r 24140 }(), Fdl: func() (r struct{ Fdad Ush }) { 24141 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 24142 return r 24143 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24144 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(117) 24145 return r 24146 }(), Fdl: func() (r struct{ Fdad Ush }) { 24147 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 24148 return r 24149 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24150 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(245) 24151 return r 24152 }(), Fdl: func() (r struct{ Fdad Ush }) { 24153 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 24154 return r 24155 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24156 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(13) 24157 return r 24158 }(), Fdl: func() (r struct{ Fdad Ush }) { 24159 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 24160 return r 24161 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24162 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(141) 24163 return r 24164 }(), Fdl: func() (r struct{ Fdad Ush }) { 24165 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 24166 return r 24167 }()}, 24168 {Ffc: func() (r struct{ Ffreq Ush }) { 24169 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(77) 24170 return r 24171 }(), Fdl: func() (r struct{ Fdad Ush }) { 24172 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 24173 return r 24174 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24175 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(205) 24176 return r 24177 }(), Fdl: func() (r struct{ Fdad Ush }) { 24178 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 24179 return r 24180 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24181 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(45) 24182 return r 24183 }(), Fdl: func() (r struct{ Fdad Ush }) { 24184 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 24185 return r 24186 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24187 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(173) 24188 return r 24189 }(), Fdl: func() (r struct{ Fdad Ush }) { 24190 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 24191 return r 24192 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24193 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(109) 24194 return r 24195 }(), Fdl: func() (r struct{ Fdad Ush }) { 24196 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 24197 return r 24198 }()}, 24199 {Ffc: func() (r struct{ Ffreq Ush }) { 24200 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(237) 24201 return r 24202 }(), Fdl: func() (r struct{ Fdad Ush }) { 24203 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 24204 return r 24205 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24206 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(29) 24207 return r 24208 }(), Fdl: func() (r struct{ Fdad Ush }) { 24209 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 24210 return r 24211 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24212 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(157) 24213 return r 24214 }(), Fdl: func() (r struct{ Fdad Ush }) { 24215 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 24216 return r 24217 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24218 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(93) 24219 return r 24220 }(), Fdl: func() (r struct{ Fdad Ush }) { 24221 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 24222 return r 24223 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24224 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(221) 24225 return r 24226 }(), Fdl: func() (r struct{ Fdad Ush }) { 24227 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 24228 return r 24229 }()}, 24230 {Ffc: func() (r struct{ Ffreq Ush }) { 24231 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(61) 24232 return r 24233 }(), Fdl: func() (r struct{ Fdad Ush }) { 24234 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 24235 return r 24236 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24237 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(189) 24238 return r 24239 }(), Fdl: func() (r struct{ Fdad Ush }) { 24240 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 24241 return r 24242 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24243 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(125) 24244 return r 24245 }(), Fdl: func() (r struct{ Fdad Ush }) { 24246 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 24247 return r 24248 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24249 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(253) 24250 return r 24251 }(), Fdl: func() (r struct{ Fdad Ush }) { 24252 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 24253 return r 24254 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24255 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(19) 24256 return r 24257 }(), Fdl: func() (r struct{ Fdad Ush }) { 24258 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24259 return r 24260 }()}, 24261 {Ffc: func() (r struct{ Ffreq Ush }) { 24262 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(275) 24263 return r 24264 }(), Fdl: func() (r struct{ Fdad Ush }) { 24265 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24266 return r 24267 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24268 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(147) 24269 return r 24270 }(), Fdl: func() (r struct{ Fdad Ush }) { 24271 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24272 return r 24273 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24274 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(403) 24275 return r 24276 }(), Fdl: func() (r struct{ Fdad Ush }) { 24277 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24278 return r 24279 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24280 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(83) 24281 return r 24282 }(), Fdl: func() (r struct{ Fdad Ush }) { 24283 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24284 return r 24285 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24286 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(339) 24287 return r 24288 }(), Fdl: func() (r struct{ Fdad Ush }) { 24289 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24290 return r 24291 }()}, 24292 {Ffc: func() (r struct{ Ffreq Ush }) { 24293 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(211) 24294 return r 24295 }(), Fdl: func() (r struct{ Fdad Ush }) { 24296 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24297 return r 24298 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24299 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(467) 24300 return r 24301 }(), Fdl: func() (r struct{ Fdad Ush }) { 24302 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24303 return r 24304 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24305 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(51) 24306 return r 24307 }(), Fdl: func() (r struct{ Fdad Ush }) { 24308 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24309 return r 24310 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24311 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(307) 24312 return r 24313 }(), Fdl: func() (r struct{ Fdad Ush }) { 24314 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24315 return r 24316 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24317 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(179) 24318 return r 24319 }(), Fdl: func() (r struct{ Fdad Ush }) { 24320 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24321 return r 24322 }()}, 24323 {Ffc: func() (r struct{ Ffreq Ush }) { 24324 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(435) 24325 return r 24326 }(), Fdl: func() (r struct{ Fdad Ush }) { 24327 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24328 return r 24329 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24330 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(115) 24331 return r 24332 }(), Fdl: func() (r struct{ Fdad Ush }) { 24333 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24334 return r 24335 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24336 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(371) 24337 return r 24338 }(), Fdl: func() (r struct{ Fdad Ush }) { 24339 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24340 return r 24341 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24342 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(243) 24343 return r 24344 }(), Fdl: func() (r struct{ Fdad Ush }) { 24345 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24346 return r 24347 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24348 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(499) 24349 return r 24350 }(), Fdl: func() (r struct{ Fdad Ush }) { 24351 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24352 return r 24353 }()}, 24354 {Ffc: func() (r struct{ Ffreq Ush }) { 24355 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(11) 24356 return r 24357 }(), Fdl: func() (r struct{ Fdad Ush }) { 24358 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24359 return r 24360 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24361 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(267) 24362 return r 24363 }(), Fdl: func() (r struct{ Fdad Ush }) { 24364 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24365 return r 24366 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24367 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(139) 24368 return r 24369 }(), Fdl: func() (r struct{ Fdad Ush }) { 24370 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24371 return r 24372 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24373 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(395) 24374 return r 24375 }(), Fdl: func() (r struct{ Fdad Ush }) { 24376 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24377 return r 24378 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24379 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(75) 24380 return r 24381 }(), Fdl: func() (r struct{ Fdad Ush }) { 24382 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24383 return r 24384 }()}, 24385 {Ffc: func() (r struct{ Ffreq Ush }) { 24386 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(331) 24387 return r 24388 }(), Fdl: func() (r struct{ Fdad Ush }) { 24389 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24390 return r 24391 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24392 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(203) 24393 return r 24394 }(), Fdl: func() (r struct{ Fdad Ush }) { 24395 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24396 return r 24397 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24398 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(459) 24399 return r 24400 }(), Fdl: func() (r struct{ Fdad Ush }) { 24401 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24402 return r 24403 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24404 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(43) 24405 return r 24406 }(), Fdl: func() (r struct{ Fdad Ush }) { 24407 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24408 return r 24409 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24410 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(299) 24411 return r 24412 }(), Fdl: func() (r struct{ Fdad Ush }) { 24413 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24414 return r 24415 }()}, 24416 {Ffc: func() (r struct{ Ffreq Ush }) { 24417 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(171) 24418 return r 24419 }(), Fdl: func() (r struct{ Fdad Ush }) { 24420 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24421 return r 24422 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24423 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(427) 24424 return r 24425 }(), Fdl: func() (r struct{ Fdad Ush }) { 24426 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24427 return r 24428 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24429 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(107) 24430 return r 24431 }(), Fdl: func() (r struct{ Fdad Ush }) { 24432 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24433 return r 24434 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24435 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(363) 24436 return r 24437 }(), Fdl: func() (r struct{ Fdad Ush }) { 24438 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24439 return r 24440 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24441 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(235) 24442 return r 24443 }(), Fdl: func() (r struct{ Fdad Ush }) { 24444 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24445 return r 24446 }()}, 24447 {Ffc: func() (r struct{ Ffreq Ush }) { 24448 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(491) 24449 return r 24450 }(), Fdl: func() (r struct{ Fdad Ush }) { 24451 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24452 return r 24453 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24454 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(27) 24455 return r 24456 }(), Fdl: func() (r struct{ Fdad Ush }) { 24457 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24458 return r 24459 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24460 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(283) 24461 return r 24462 }(), Fdl: func() (r struct{ Fdad Ush }) { 24463 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24464 return r 24465 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24466 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(155) 24467 return r 24468 }(), Fdl: func() (r struct{ Fdad Ush }) { 24469 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24470 return r 24471 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24472 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(411) 24473 return r 24474 }(), Fdl: func() (r struct{ Fdad Ush }) { 24475 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24476 return r 24477 }()}, 24478 {Ffc: func() (r struct{ Ffreq Ush }) { 24479 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(91) 24480 return r 24481 }(), Fdl: func() (r struct{ Fdad Ush }) { 24482 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24483 return r 24484 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24485 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(347) 24486 return r 24487 }(), Fdl: func() (r struct{ Fdad Ush }) { 24488 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24489 return r 24490 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24491 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(219) 24492 return r 24493 }(), Fdl: func() (r struct{ Fdad Ush }) { 24494 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24495 return r 24496 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24497 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(475) 24498 return r 24499 }(), Fdl: func() (r struct{ Fdad Ush }) { 24500 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24501 return r 24502 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24503 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(59) 24504 return r 24505 }(), Fdl: func() (r struct{ Fdad Ush }) { 24506 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24507 return r 24508 }()}, 24509 {Ffc: func() (r struct{ Ffreq Ush }) { 24510 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(315) 24511 return r 24512 }(), Fdl: func() (r struct{ Fdad Ush }) { 24513 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24514 return r 24515 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24516 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(187) 24517 return r 24518 }(), Fdl: func() (r struct{ Fdad Ush }) { 24519 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24520 return r 24521 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24522 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(443) 24523 return r 24524 }(), Fdl: func() (r struct{ Fdad Ush }) { 24525 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24526 return r 24527 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24528 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(123) 24529 return r 24530 }(), Fdl: func() (r struct{ Fdad Ush }) { 24531 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24532 return r 24533 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24534 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(379) 24535 return r 24536 }(), Fdl: func() (r struct{ Fdad Ush }) { 24537 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24538 return r 24539 }()}, 24540 {Ffc: func() (r struct{ Ffreq Ush }) { 24541 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(251) 24542 return r 24543 }(), Fdl: func() (r struct{ Fdad Ush }) { 24544 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24545 return r 24546 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24547 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(507) 24548 return r 24549 }(), Fdl: func() (r struct{ Fdad Ush }) { 24550 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24551 return r 24552 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24553 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(7) 24554 return r 24555 }(), Fdl: func() (r struct{ Fdad Ush }) { 24556 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24557 return r 24558 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24559 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(263) 24560 return r 24561 }(), Fdl: func() (r struct{ Fdad Ush }) { 24562 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24563 return r 24564 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24565 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(135) 24566 return r 24567 }(), Fdl: func() (r struct{ Fdad Ush }) { 24568 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24569 return r 24570 }()}, 24571 {Ffc: func() (r struct{ Ffreq Ush }) { 24572 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(391) 24573 return r 24574 }(), Fdl: func() (r struct{ Fdad Ush }) { 24575 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24576 return r 24577 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24578 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(71) 24579 return r 24580 }(), Fdl: func() (r struct{ Fdad Ush }) { 24581 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24582 return r 24583 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24584 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(327) 24585 return r 24586 }(), Fdl: func() (r struct{ Fdad Ush }) { 24587 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24588 return r 24589 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24590 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(199) 24591 return r 24592 }(), Fdl: func() (r struct{ Fdad Ush }) { 24593 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24594 return r 24595 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24596 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(455) 24597 return r 24598 }(), Fdl: func() (r struct{ Fdad Ush }) { 24599 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24600 return r 24601 }()}, 24602 {Ffc: func() (r struct{ Ffreq Ush }) { 24603 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(39) 24604 return r 24605 }(), Fdl: func() (r struct{ Fdad Ush }) { 24606 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24607 return r 24608 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24609 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(295) 24610 return r 24611 }(), Fdl: func() (r struct{ Fdad Ush }) { 24612 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24613 return r 24614 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24615 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(167) 24616 return r 24617 }(), Fdl: func() (r struct{ Fdad Ush }) { 24618 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24619 return r 24620 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24621 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(423) 24622 return r 24623 }(), Fdl: func() (r struct{ Fdad Ush }) { 24624 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24625 return r 24626 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24627 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(103) 24628 return r 24629 }(), Fdl: func() (r struct{ Fdad Ush }) { 24630 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24631 return r 24632 }()}, 24633 {Ffc: func() (r struct{ Ffreq Ush }) { 24634 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(359) 24635 return r 24636 }(), Fdl: func() (r struct{ Fdad Ush }) { 24637 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24638 return r 24639 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24640 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(231) 24641 return r 24642 }(), Fdl: func() (r struct{ Fdad Ush }) { 24643 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24644 return r 24645 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24646 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(487) 24647 return r 24648 }(), Fdl: func() (r struct{ Fdad Ush }) { 24649 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24650 return r 24651 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24652 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(23) 24653 return r 24654 }(), Fdl: func() (r struct{ Fdad Ush }) { 24655 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24656 return r 24657 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24658 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(279) 24659 return r 24660 }(), Fdl: func() (r struct{ Fdad Ush }) { 24661 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24662 return r 24663 }()}, 24664 {Ffc: func() (r struct{ Ffreq Ush }) { 24665 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(151) 24666 return r 24667 }(), Fdl: func() (r struct{ Fdad Ush }) { 24668 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24669 return r 24670 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24671 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(407) 24672 return r 24673 }(), Fdl: func() (r struct{ Fdad Ush }) { 24674 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24675 return r 24676 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24677 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(87) 24678 return r 24679 }(), Fdl: func() (r struct{ Fdad Ush }) { 24680 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24681 return r 24682 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24683 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(343) 24684 return r 24685 }(), Fdl: func() (r struct{ Fdad Ush }) { 24686 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24687 return r 24688 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24689 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(215) 24690 return r 24691 }(), Fdl: func() (r struct{ Fdad Ush }) { 24692 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24693 return r 24694 }()}, 24695 {Ffc: func() (r struct{ Ffreq Ush }) { 24696 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(471) 24697 return r 24698 }(), Fdl: func() (r struct{ Fdad Ush }) { 24699 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24700 return r 24701 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24702 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(55) 24703 return r 24704 }(), Fdl: func() (r struct{ Fdad Ush }) { 24705 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24706 return r 24707 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24708 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(311) 24709 return r 24710 }(), Fdl: func() (r struct{ Fdad Ush }) { 24711 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24712 return r 24713 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24714 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(183) 24715 return r 24716 }(), Fdl: func() (r struct{ Fdad Ush }) { 24717 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24718 return r 24719 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24720 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(439) 24721 return r 24722 }(), Fdl: func() (r struct{ Fdad Ush }) { 24723 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24724 return r 24725 }()}, 24726 {Ffc: func() (r struct{ Ffreq Ush }) { 24727 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(119) 24728 return r 24729 }(), Fdl: func() (r struct{ Fdad Ush }) { 24730 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24731 return r 24732 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24733 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(375) 24734 return r 24735 }(), Fdl: func() (r struct{ Fdad Ush }) { 24736 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24737 return r 24738 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24739 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(247) 24740 return r 24741 }(), Fdl: func() (r struct{ Fdad Ush }) { 24742 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24743 return r 24744 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24745 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(503) 24746 return r 24747 }(), Fdl: func() (r struct{ Fdad Ush }) { 24748 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24749 return r 24750 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24751 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(15) 24752 return r 24753 }(), Fdl: func() (r struct{ Fdad Ush }) { 24754 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24755 return r 24756 }()}, 24757 {Ffc: func() (r struct{ Ffreq Ush }) { 24758 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(271) 24759 return r 24760 }(), Fdl: func() (r struct{ Fdad Ush }) { 24761 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24762 return r 24763 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24764 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(143) 24765 return r 24766 }(), Fdl: func() (r struct{ Fdad Ush }) { 24767 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24768 return r 24769 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24770 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(399) 24771 return r 24772 }(), Fdl: func() (r struct{ Fdad Ush }) { 24773 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24774 return r 24775 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24776 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(79) 24777 return r 24778 }(), Fdl: func() (r struct{ Fdad Ush }) { 24779 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24780 return r 24781 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24782 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(335) 24783 return r 24784 }(), Fdl: func() (r struct{ Fdad Ush }) { 24785 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24786 return r 24787 }()}, 24788 {Ffc: func() (r struct{ Ffreq Ush }) { 24789 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(207) 24790 return r 24791 }(), Fdl: func() (r struct{ Fdad Ush }) { 24792 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24793 return r 24794 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24795 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(463) 24796 return r 24797 }(), Fdl: func() (r struct{ Fdad Ush }) { 24798 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24799 return r 24800 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24801 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(47) 24802 return r 24803 }(), Fdl: func() (r struct{ Fdad Ush }) { 24804 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24805 return r 24806 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24807 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(303) 24808 return r 24809 }(), Fdl: func() (r struct{ Fdad Ush }) { 24810 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24811 return r 24812 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24813 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(175) 24814 return r 24815 }(), Fdl: func() (r struct{ Fdad Ush }) { 24816 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24817 return r 24818 }()}, 24819 {Ffc: func() (r struct{ Ffreq Ush }) { 24820 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(431) 24821 return r 24822 }(), Fdl: func() (r struct{ Fdad Ush }) { 24823 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24824 return r 24825 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24826 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(111) 24827 return r 24828 }(), Fdl: func() (r struct{ Fdad Ush }) { 24829 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24830 return r 24831 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24832 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(367) 24833 return r 24834 }(), Fdl: func() (r struct{ Fdad Ush }) { 24835 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24836 return r 24837 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24838 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(239) 24839 return r 24840 }(), Fdl: func() (r struct{ Fdad Ush }) { 24841 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24842 return r 24843 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24844 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(495) 24845 return r 24846 }(), Fdl: func() (r struct{ Fdad Ush }) { 24847 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24848 return r 24849 }()}, 24850 {Ffc: func() (r struct{ Ffreq Ush }) { 24851 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(31) 24852 return r 24853 }(), Fdl: func() (r struct{ Fdad Ush }) { 24854 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24855 return r 24856 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24857 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(287) 24858 return r 24859 }(), Fdl: func() (r struct{ Fdad Ush }) { 24860 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24861 return r 24862 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24863 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(159) 24864 return r 24865 }(), Fdl: func() (r struct{ Fdad Ush }) { 24866 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24867 return r 24868 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24869 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(415) 24870 return r 24871 }(), Fdl: func() (r struct{ Fdad Ush }) { 24872 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24873 return r 24874 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24875 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(95) 24876 return r 24877 }(), Fdl: func() (r struct{ Fdad Ush }) { 24878 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24879 return r 24880 }()}, 24881 {Ffc: func() (r struct{ Ffreq Ush }) { 24882 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(351) 24883 return r 24884 }(), Fdl: func() (r struct{ Fdad Ush }) { 24885 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24886 return r 24887 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24888 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(223) 24889 return r 24890 }(), Fdl: func() (r struct{ Fdad Ush }) { 24891 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24892 return r 24893 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24894 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(479) 24895 return r 24896 }(), Fdl: func() (r struct{ Fdad Ush }) { 24897 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24898 return r 24899 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24900 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(63) 24901 return r 24902 }(), Fdl: func() (r struct{ Fdad Ush }) { 24903 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24904 return r 24905 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24906 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(319) 24907 return r 24908 }(), Fdl: func() (r struct{ Fdad Ush }) { 24909 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24910 return r 24911 }()}, 24912 {Ffc: func() (r struct{ Ffreq Ush }) { 24913 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(191) 24914 return r 24915 }(), Fdl: func() (r struct{ Fdad Ush }) { 24916 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24917 return r 24918 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24919 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(447) 24920 return r 24921 }(), Fdl: func() (r struct{ Fdad Ush }) { 24922 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24923 return r 24924 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24925 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(127) 24926 return r 24927 }(), Fdl: func() (r struct{ Fdad Ush }) { 24928 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24929 return r 24930 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24931 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(383) 24932 return r 24933 }(), Fdl: func() (r struct{ Fdad Ush }) { 24934 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24935 return r 24936 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24937 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(255) 24938 return r 24939 }(), Fdl: func() (r struct{ Fdad Ush }) { 24940 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24941 return r 24942 }()}, 24943 {Ffc: func() (r struct{ Ffreq Ush }) { 24944 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(511) 24945 return r 24946 }(), Fdl: func() (r struct{ Fdad Ush }) { 24947 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 24948 return r 24949 }()}, {Fdl: func() (r struct{ Fdad Ush }) { 24950 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(7) 24951 return r 24952 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24953 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(64) 24954 return r 24955 }(), Fdl: func() (r struct{ Fdad Ush }) { 24956 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(7) 24957 return r 24958 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24959 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(32) 24960 return r 24961 }(), Fdl: func() (r struct{ Fdad Ush }) { 24962 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(7) 24963 return r 24964 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24965 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(96) 24966 return r 24967 }(), Fdl: func() (r struct{ Fdad Ush }) { 24968 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(7) 24969 return r 24970 }()}, 24971 {Ffc: func() (r struct{ Ffreq Ush }) { 24972 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(16) 24973 return r 24974 }(), Fdl: func() (r struct{ Fdad Ush }) { 24975 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(7) 24976 return r 24977 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24978 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(80) 24979 return r 24980 }(), Fdl: func() (r struct{ Fdad Ush }) { 24981 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(7) 24982 return r 24983 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24984 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(48) 24985 return r 24986 }(), Fdl: func() (r struct{ Fdad Ush }) { 24987 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(7) 24988 return r 24989 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24990 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(112) 24991 return r 24992 }(), Fdl: func() (r struct{ Fdad Ush }) { 24993 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(7) 24994 return r 24995 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 24996 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 24997 return r 24998 }(), Fdl: func() (r struct{ Fdad Ush }) { 24999 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(7) 25000 return r 25001 }()}, 25002 {Ffc: func() (r struct{ Ffreq Ush }) { 25003 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(72) 25004 return r 25005 }(), Fdl: func() (r struct{ Fdad Ush }) { 25006 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(7) 25007 return r 25008 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 25009 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(40) 25010 return r 25011 }(), Fdl: func() (r struct{ Fdad Ush }) { 25012 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(7) 25013 return r 25014 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 25015 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(104) 25016 return r 25017 }(), Fdl: func() (r struct{ Fdad Ush }) { 25018 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(7) 25019 return r 25020 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 25021 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(24) 25022 return r 25023 }(), Fdl: func() (r struct{ Fdad Ush }) { 25024 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(7) 25025 return r 25026 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 25027 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(88) 25028 return r 25029 }(), Fdl: func() (r struct{ Fdad Ush }) { 25030 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(7) 25031 return r 25032 }()}, 25033 {Ffc: func() (r struct{ Ffreq Ush }) { 25034 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(56) 25035 return r 25036 }(), Fdl: func() (r struct{ Fdad Ush }) { 25037 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(7) 25038 return r 25039 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 25040 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(120) 25041 return r 25042 }(), Fdl: func() (r struct{ Fdad Ush }) { 25043 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(7) 25044 return r 25045 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 25046 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(4) 25047 return r 25048 }(), Fdl: func() (r struct{ Fdad Ush }) { 25049 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(7) 25050 return r 25051 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 25052 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(68) 25053 return r 25054 }(), Fdl: func() (r struct{ Fdad Ush }) { 25055 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(7) 25056 return r 25057 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 25058 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(36) 25059 return r 25060 }(), Fdl: func() (r struct{ Fdad Ush }) { 25061 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(7) 25062 return r 25063 }()}, 25064 {Ffc: func() (r struct{ Ffreq Ush }) { 25065 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(100) 25066 return r 25067 }(), Fdl: func() (r struct{ Fdad Ush }) { 25068 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(7) 25069 return r 25070 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 25071 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(20) 25072 return r 25073 }(), Fdl: func() (r struct{ Fdad Ush }) { 25074 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(7) 25075 return r 25076 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 25077 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(84) 25078 return r 25079 }(), Fdl: func() (r struct{ Fdad Ush }) { 25080 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(7) 25081 return r 25082 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 25083 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(52) 25084 return r 25085 }(), Fdl: func() (r struct{ Fdad Ush }) { 25086 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(7) 25087 return r 25088 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 25089 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(116) 25090 return r 25091 }(), Fdl: func() (r struct{ Fdad Ush }) { 25092 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(7) 25093 return r 25094 }()}, 25095 {Ffc: func() (r struct{ Ffreq Ush }) { 25096 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(3) 25097 return r 25098 }(), Fdl: func() (r struct{ Fdad Ush }) { 25099 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 25100 return r 25101 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 25102 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(131) 25103 return r 25104 }(), Fdl: func() (r struct{ Fdad Ush }) { 25105 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 25106 return r 25107 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 25108 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(67) 25109 return r 25110 }(), Fdl: func() (r struct{ Fdad Ush }) { 25111 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 25112 return r 25113 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 25114 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(195) 25115 return r 25116 }(), Fdl: func() (r struct{ Fdad Ush }) { 25117 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 25118 return r 25119 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 25120 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(35) 25121 return r 25122 }(), Fdl: func() (r struct{ Fdad Ush }) { 25123 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 25124 return r 25125 }()}, 25126 {Ffc: func() (r struct{ Ffreq Ush }) { 25127 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(163) 25128 return r 25129 }(), Fdl: func() (r struct{ Fdad Ush }) { 25130 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 25131 return r 25132 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 25133 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(99) 25134 return r 25135 }(), Fdl: func() (r struct{ Fdad Ush }) { 25136 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 25137 return r 25138 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 25139 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(227) 25140 return r 25141 }(), Fdl: func() (r struct{ Fdad Ush }) { 25142 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 25143 return r 25144 }()}} /* trees.h:3:21 */ 25145 25146 var static_dtree = [30]Ct_data{{Fdl: func() (r struct{ Fdad Ush }) { 25147 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(5) 25148 return r 25149 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 25150 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(16) 25151 return r 25152 }(), Fdl: func() (r struct{ Fdad Ush }) { 25153 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(5) 25154 return r 25155 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 25156 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8) 25157 return r 25158 }(), Fdl: func() (r struct{ Fdad Ush }) { 25159 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(5) 25160 return r 25161 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 25162 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(24) 25163 return r 25164 }(), Fdl: func() (r struct{ Fdad Ush }) { 25165 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(5) 25166 return r 25167 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 25168 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(4) 25169 return r 25170 }(), Fdl: func() (r struct{ Fdad Ush }) { 25171 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(5) 25172 return r 25173 }()}, 25174 {Ffc: func() (r struct{ Ffreq Ush }) { 25175 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(20) 25176 return r 25177 }(), Fdl: func() (r struct{ Fdad Ush }) { 25178 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(5) 25179 return r 25180 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 25181 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(12) 25182 return r 25183 }(), Fdl: func() (r struct{ Fdad Ush }) { 25184 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(5) 25185 return r 25186 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 25187 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(28) 25188 return r 25189 }(), Fdl: func() (r struct{ Fdad Ush }) { 25190 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(5) 25191 return r 25192 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 25193 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(2) 25194 return r 25195 }(), Fdl: func() (r struct{ Fdad Ush }) { 25196 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(5) 25197 return r 25198 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 25199 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(18) 25200 return r 25201 }(), Fdl: func() (r struct{ Fdad Ush }) { 25202 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(5) 25203 return r 25204 }()}, 25205 {Ffc: func() (r struct{ Ffreq Ush }) { 25206 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(10) 25207 return r 25208 }(), Fdl: func() (r struct{ Fdad Ush }) { 25209 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(5) 25210 return r 25211 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 25212 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(26) 25213 return r 25214 }(), Fdl: func() (r struct{ Fdad Ush }) { 25215 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(5) 25216 return r 25217 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 25218 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(6) 25219 return r 25220 }(), Fdl: func() (r struct{ Fdad Ush }) { 25221 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(5) 25222 return r 25223 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 25224 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(22) 25225 return r 25226 }(), Fdl: func() (r struct{ Fdad Ush }) { 25227 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(5) 25228 return r 25229 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 25230 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(14) 25231 return r 25232 }(), Fdl: func() (r struct{ Fdad Ush }) { 25233 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(5) 25234 return r 25235 }()}, 25236 {Ffc: func() (r struct{ Ffreq Ush }) { 25237 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(30) 25238 return r 25239 }(), Fdl: func() (r struct{ Fdad Ush }) { 25240 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(5) 25241 return r 25242 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 25243 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(1) 25244 return r 25245 }(), Fdl: func() (r struct{ Fdad Ush }) { 25246 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(5) 25247 return r 25248 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 25249 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(17) 25250 return r 25251 }(), Fdl: func() (r struct{ Fdad Ush }) { 25252 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(5) 25253 return r 25254 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 25255 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9) 25256 return r 25257 }(), Fdl: func() (r struct{ Fdad Ush }) { 25258 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(5) 25259 return r 25260 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 25261 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(25) 25262 return r 25263 }(), Fdl: func() (r struct{ Fdad Ush }) { 25264 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(5) 25265 return r 25266 }()}, 25267 {Ffc: func() (r struct{ Ffreq Ush }) { 25268 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(5) 25269 return r 25270 }(), Fdl: func() (r struct{ Fdad Ush }) { 25271 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(5) 25272 return r 25273 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 25274 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(21) 25275 return r 25276 }(), Fdl: func() (r struct{ Fdad Ush }) { 25277 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(5) 25278 return r 25279 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 25280 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(13) 25281 return r 25282 }(), Fdl: func() (r struct{ Fdad Ush }) { 25283 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(5) 25284 return r 25285 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 25286 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(29) 25287 return r 25288 }(), Fdl: func() (r struct{ Fdad Ush }) { 25289 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(5) 25290 return r 25291 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 25292 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(3) 25293 return r 25294 }(), Fdl: func() (r struct{ Fdad Ush }) { 25295 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(5) 25296 return r 25297 }()}, 25298 {Ffc: func() (r struct{ Ffreq Ush }) { 25299 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(19) 25300 return r 25301 }(), Fdl: func() (r struct{ Fdad Ush }) { 25302 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(5) 25303 return r 25304 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 25305 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(11) 25306 return r 25307 }(), Fdl: func() (r struct{ Fdad Ush }) { 25308 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(5) 25309 return r 25310 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 25311 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(27) 25312 return r 25313 }(), Fdl: func() (r struct{ Fdad Ush }) { 25314 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(5) 25315 return r 25316 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 25317 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(7) 25318 return r 25319 }(), Fdl: func() (r struct{ Fdad Ush }) { 25320 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(5) 25321 return r 25322 }()}, {Ffc: func() (r struct{ Ffreq Ush }) { 25323 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(23) 25324 return r 25325 }(), Fdl: func() (r struct{ Fdad Ush }) { 25326 *(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(5) 25327 return r 25328 }()}} /* trees.h:64:21 */ 25329 25330 var X_dist_code = [512]Uch{ 25331 Uch(0), Uch(1), Uch(2), Uch(3), Uch(4), Uch(4), Uch(5), Uch(5), Uch(6), Uch(6), Uch(6), Uch(6), Uch(7), Uch(7), Uch(7), Uch(7), Uch(8), Uch(8), Uch(8), Uch(8), 25332 Uch(8), Uch(8), Uch(8), Uch(8), Uch(9), Uch(9), Uch(9), Uch(9), Uch(9), Uch(9), Uch(9), Uch(9), Uch(10), Uch(10), Uch(10), Uch(10), Uch(10), Uch(10), Uch(10), Uch(10), 25333 Uch(10), Uch(10), Uch(10), Uch(10), Uch(10), Uch(10), Uch(10), Uch(10), Uch(11), Uch(11), Uch(11), Uch(11), Uch(11), Uch(11), Uch(11), Uch(11), Uch(11), Uch(11), Uch(11), Uch(11), 25334 Uch(11), Uch(11), Uch(11), Uch(11), Uch(12), Uch(12), Uch(12), Uch(12), Uch(12), Uch(12), Uch(12), Uch(12), Uch(12), Uch(12), Uch(12), Uch(12), Uch(12), Uch(12), Uch(12), Uch(12), 25335 Uch(12), Uch(12), Uch(12), Uch(12), Uch(12), Uch(12), Uch(12), Uch(12), Uch(12), Uch(12), Uch(12), Uch(12), Uch(12), Uch(12), Uch(12), Uch(12), Uch(13), Uch(13), Uch(13), Uch(13), 25336 Uch(13), Uch(13), Uch(13), Uch(13), Uch(13), Uch(13), Uch(13), Uch(13), Uch(13), Uch(13), Uch(13), Uch(13), Uch(13), Uch(13), Uch(13), Uch(13), Uch(13), Uch(13), Uch(13), Uch(13), 25337 Uch(13), Uch(13), Uch(13), Uch(13), Uch(13), Uch(13), Uch(13), Uch(13), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), 25338 Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), 25339 Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), 25340 Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), 25341 Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), 25342 Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), 25343 Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(0), Uch(0), Uch(16), Uch(17), 25344 Uch(18), Uch(18), Uch(19), Uch(19), Uch(20), Uch(20), Uch(20), Uch(20), Uch(21), Uch(21), Uch(21), Uch(21), Uch(22), Uch(22), Uch(22), Uch(22), Uch(22), Uch(22), Uch(22), Uch(22), 25345 Uch(23), Uch(23), Uch(23), Uch(23), Uch(23), Uch(23), Uch(23), Uch(23), Uch(24), Uch(24), Uch(24), Uch(24), Uch(24), Uch(24), Uch(24), Uch(24), Uch(24), Uch(24), Uch(24), Uch(24), 25346 Uch(24), Uch(24), Uch(24), Uch(24), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), 25347 Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), 25348 Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), 25349 Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), 25350 Uch(27), Uch(27), Uch(27), Uch(27), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), 25351 Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), 25352 Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), 25353 Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), 25354 Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), 25355 Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), 25356 Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), 25357 } /* trees.h:73:25 */ 25358 25359 var X_length_code = [256]Uch{ 25360 Uch(0), Uch(1), Uch(2), Uch(3), Uch(4), Uch(5), Uch(6), Uch(7), Uch(8), Uch(8), Uch(9), Uch(9), Uch(10), Uch(10), Uch(11), Uch(11), Uch(12), Uch(12), Uch(12), Uch(12), 25361 Uch(13), Uch(13), Uch(13), Uch(13), Uch(14), Uch(14), Uch(14), Uch(14), Uch(15), Uch(15), Uch(15), Uch(15), Uch(16), Uch(16), Uch(16), Uch(16), Uch(16), Uch(16), Uch(16), Uch(16), 25362 Uch(17), Uch(17), Uch(17), Uch(17), Uch(17), Uch(17), Uch(17), Uch(17), Uch(18), Uch(18), Uch(18), Uch(18), Uch(18), Uch(18), Uch(18), Uch(18), Uch(19), Uch(19), Uch(19), Uch(19), 25363 Uch(19), Uch(19), Uch(19), Uch(19), Uch(20), Uch(20), Uch(20), Uch(20), Uch(20), Uch(20), Uch(20), Uch(20), Uch(20), Uch(20), Uch(20), Uch(20), Uch(20), Uch(20), Uch(20), Uch(20), 25364 Uch(21), Uch(21), Uch(21), Uch(21), Uch(21), Uch(21), Uch(21), Uch(21), Uch(21), Uch(21), Uch(21), Uch(21), Uch(21), Uch(21), Uch(21), Uch(21), Uch(22), Uch(22), Uch(22), Uch(22), 25365 Uch(22), Uch(22), Uch(22), Uch(22), Uch(22), Uch(22), Uch(22), Uch(22), Uch(22), Uch(22), Uch(22), Uch(22), Uch(23), Uch(23), Uch(23), Uch(23), Uch(23), Uch(23), Uch(23), Uch(23), 25366 Uch(23), Uch(23), Uch(23), Uch(23), Uch(23), Uch(23), Uch(23), Uch(23), Uch(24), Uch(24), Uch(24), Uch(24), Uch(24), Uch(24), Uch(24), Uch(24), Uch(24), Uch(24), Uch(24), Uch(24), 25367 Uch(24), Uch(24), Uch(24), Uch(24), Uch(24), Uch(24), Uch(24), Uch(24), Uch(24), Uch(24), Uch(24), Uch(24), Uch(24), Uch(24), Uch(24), Uch(24), Uch(24), Uch(24), Uch(24), Uch(24), 25368 Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), 25369 Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), 25370 Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), 25371 Uch(26), Uch(26), Uch(26), Uch(26), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), 25372 Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(28), 25373 } /* trees.h:102:25 */ 25374 25375 var base_length = [29]int32{ 25376 0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 14, 16, 20, 24, 28, 32, 40, 48, 56, 25377 64, 80, 96, 112, 128, 160, 192, 224, 0, 25378 } /* trees.h:118:17 */ 25379 25380 var base_dist = [30]int32{ 25381 0, 1, 2, 3, 4, 6, 8, 12, 16, 24, 25382 32, 48, 64, 96, 128, 192, 256, 384, 512, 768, 25383 1024, 1536, 2048, 3072, 4096, 6144, 8192, 12288, 16384, 24576, 25384 } /* trees.h:123:17 */ 25385 25386 var static_l_desc = Static_tree_desc{Fstatic_tree: 0, Fextra_bits: 0, Fextra_base: LITERALS + 1, Felems: LITERALS + 1 + LENGTH_CODES, Fmax_length: MAX_BITS} /* trees.c:125:31 */ 25387 25388 var static_d_desc = Static_tree_desc{Fstatic_tree: 0, Fextra_bits: 0, Felems: D_CODES, Fmax_length: MAX_BITS} /* trees.c:128:31 */ 25389 25390 var static_bl_desc = Static_tree_desc{Fextra_bits: 0, Felems: BL_CODES, Fmax_length: MAX_BL_BITS} /* trees.c:131:31 */ 25391 25392 // Send a code of the given tree. c and tree must not have side effects 25393 25394 // =========================================================================== 25395 // Output a short LSB first on the stream. 25396 // IN assertion: there is enough room in pendingBuf. 25397 25398 // =========================================================================== 25399 // Send a value on a given number of bits. 25400 // IN assertion: length <= 16 and value fits in length bits. 25401 25402 // the arguments must not have side effects 25403 25404 // =========================================================================== 25405 // Initialize the various 'constant' tables. 25406 func tr_static_init(tls *libc.TLS) { /* trees.c:232:12: */ 25407 } 25408 25409 // =========================================================================== 25410 // Genererate the file trees.h describing the static trees. 25411 25412 // =========================================================================== 25413 // Initialize the tree data structures for a new zlib stream. 25414 func X_tr_init(tls *libc.TLS, s uintptr) { /* trees.c:379:20: */ 25415 tr_static_init(tls) 25416 25417 (*Deflate_state)(unsafe.Pointer(s)).Fl_desc.Fdyn_tree = s + 212 /* &.dyn_ltree */ 25418 (*Deflate_state)(unsafe.Pointer(s)).Fl_desc.Fstat_desc = uintptr(unsafe.Pointer(&static_l_desc)) 25419 25420 (*Deflate_state)(unsafe.Pointer(s)).Fd_desc.Fdyn_tree = s + 2504 /* &.dyn_dtree */ 25421 (*Deflate_state)(unsafe.Pointer(s)).Fd_desc.Fstat_desc = uintptr(unsafe.Pointer(&static_d_desc)) 25422 25423 (*Deflate_state)(unsafe.Pointer(s)).Fbl_desc.Fdyn_tree = s + 2748 /* &.bl_tree */ 25424 (*Deflate_state)(unsafe.Pointer(s)).Fbl_desc.Fstat_desc = uintptr(unsafe.Pointer(&static_bl_desc)) 25425 25426 (*Deflate_state)(unsafe.Pointer(s)).Fbi_buf = Ush(0) 25427 (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid = 0 25428 25429 // Initialize the first block of the first file: 25430 init_block(tls, s) 25431 } 25432 25433 // =========================================================================== 25434 // Initialize a new block. 25435 func init_block(tls *libc.TLS, s uintptr) { /* trees.c:407:12: */ 25436 var n int32 // iterates over tree elements 25437 25438 // Initialize the trees. 25439 for n = 0; n < LITERALS+1+LENGTH_CODES; n++ { 25440 *(*Ush)(unsafe.Pointer(s + 212 + uintptr(n)*4)) = Ush(0) 25441 } 25442 for n = 0; n < D_CODES; n++ { 25443 *(*Ush)(unsafe.Pointer(s + 2504 + uintptr(n)*4)) = Ush(0) 25444 } 25445 for n = 0; n < BL_CODES; n++ { 25446 *(*Ush)(unsafe.Pointer(s + 2748 + uintptr(n)*4)) = Ush(0) 25447 } 25448 25449 *(*Ush)(unsafe.Pointer(s + 212 + 256*4)) = Ush(1) 25450 (*Deflate_state)(unsafe.Pointer(s)).Fopt_len = libc.AssignPtrUint64(s+5920, uint64(0)) 25451 (*Deflate_state)(unsafe.Pointer(s)).Flast_lit = libc.AssignPtrUint32(s+5928, UInt(0)) 25452 } 25453 25454 // Index within the heap array of least frequent node in the Huffman tree 25455 25456 // =========================================================================== 25457 // Remove the smallest element from the heap and recreate the heap with 25458 // one less element. Updates heap and heap_len. 25459 25460 // =========================================================================== 25461 // Compares to subtrees, using the tree depth as tie breaker when 25462 // the subtrees have equal frequency. This minimizes the worst case length. 25463 25464 // =========================================================================== 25465 // Restore the heap property by moving down the tree starting at node k, 25466 // exchanging a node with the smallest of its two sons if necessary, stopping 25467 // when the heap property is re-established (each father smaller than its 25468 // two sons). 25469 func pqdownheap(tls *libc.TLS, s uintptr, tree uintptr, k int32) { /* trees.c:451:12: */ 25470 var v int32 = *(*int32)(unsafe.Pointer(s + 3008 + uintptr(k)*4)) 25471 var j int32 = k << 1 // left son of k 25472 for j <= (*Deflate_state)(unsafe.Pointer(s)).Fheap_len { 25473 // Set j to the smallest of the two sons: 25474 if j < (*Deflate_state)(unsafe.Pointer(s)).Fheap_len && (int32(*(*Ush)(unsafe.Pointer(tree + uintptr(*(*int32)(unsafe.Pointer(s + 3008 + uintptr(j+1)*4)))*4))) < int32(*(*Ush)(unsafe.Pointer(tree + uintptr(*(*int32)(unsafe.Pointer(s + 3008 + uintptr(j)*4)))*4))) || int32(*(*Ush)(unsafe.Pointer(tree + uintptr(*(*int32)(unsafe.Pointer(s + 3008 + uintptr(j+1)*4)))*4))) == int32(*(*Ush)(unsafe.Pointer(tree + uintptr(*(*int32)(unsafe.Pointer(s + 3008 + uintptr(j)*4)))*4))) && int32(*(*Uch)(unsafe.Pointer(s + 5308 + uintptr(*(*int32)(unsafe.Pointer(s + 3008 + uintptr(j+1)*4)))))) <= int32(*(*Uch)(unsafe.Pointer(s + 5308 + uintptr(*(*int32)(unsafe.Pointer(s + 3008 + uintptr(j)*4))))))) { 25475 j++ 25476 } 25477 // Exit if v is smaller than both sons 25478 if int32(*(*Ush)(unsafe.Pointer(tree + uintptr(v)*4))) < int32(*(*Ush)(unsafe.Pointer(tree + uintptr(*(*int32)(unsafe.Pointer(s + 3008 + uintptr(j)*4)))*4))) || int32(*(*Ush)(unsafe.Pointer(tree + uintptr(v)*4))) == int32(*(*Ush)(unsafe.Pointer(tree + uintptr(*(*int32)(unsafe.Pointer(s + 3008 + uintptr(j)*4)))*4))) && int32(*(*Uch)(unsafe.Pointer(s + 5308 + uintptr(v)))) <= int32(*(*Uch)(unsafe.Pointer(s + 5308 + uintptr(*(*int32)(unsafe.Pointer(s + 3008 + uintptr(j)*4)))))) { 25479 break 25480 } 25481 25482 // Exchange v with the smallest son 25483 *(*int32)(unsafe.Pointer(s + 3008 + uintptr(k)*4)) = *(*int32)(unsafe.Pointer(s + 3008 + uintptr(j)*4)) 25484 k = j 25485 25486 // And continue down the tree, setting j to the left son of k 25487 j <<= 1 25488 } 25489 *(*int32)(unsafe.Pointer(s + 3008 + uintptr(k)*4)) = v 25490 } 25491 25492 // =========================================================================== 25493 // Compute the optimal bit lengths for a tree and update the total bit length 25494 // for the current block. 25495 // IN assertion: the fields freq and dad are set, heap[heap_max] and 25496 // above are the tree nodes sorted by increasing frequency. 25497 // OUT assertions: the field len is set to the optimal bit length, the 25498 // array bl_count contains the frequencies for each bit length. 25499 // The length opt_len is updated; static_len is also updated if stree is 25500 // not null. 25501 func gen_bitlen(tls *libc.TLS, s uintptr, desc uintptr) { /* trees.c:486:12: */ 25502 var tree uintptr = (*Tree_desc)(unsafe.Pointer(desc)).Fdyn_tree 25503 var max_code int32 = (*Tree_desc)(unsafe.Pointer(desc)).Fmax_code 25504 var stree uintptr = (*Static_tree_desc)(unsafe.Pointer((*Tree_desc)(unsafe.Pointer(desc)).Fstat_desc)).Fstatic_tree 25505 var extra uintptr = (*Static_tree_desc)(unsafe.Pointer((*Tree_desc)(unsafe.Pointer(desc)).Fstat_desc)).Fextra_bits 25506 var base int32 = (*Static_tree_desc)(unsafe.Pointer((*Tree_desc)(unsafe.Pointer(desc)).Fstat_desc)).Fextra_base 25507 var max_length int32 = (*Static_tree_desc)(unsafe.Pointer((*Tree_desc)(unsafe.Pointer(desc)).Fstat_desc)).Fmax_length 25508 var h int32 // heap index 25509 var n int32 25510 var m int32 // iterate over the tree elements 25511 var bits int32 // bit length 25512 var xbits int32 // extra bits 25513 var f Ush // frequency 25514 var overflow int32 = 0 // number of elements with bit length too large 25515 25516 for bits = 0; bits <= MAX_BITS; bits++ { 25517 *(*Ush)(unsafe.Pointer(s + 2976 + uintptr(bits)*2)) = Ush(0) 25518 } 25519 25520 // In a first pass, compute the optimal bit lengths (which may 25521 // overflow in the case of the bit length tree). 25522 *(*Ush)(unsafe.Pointer(tree + uintptr(*(*int32)(unsafe.Pointer(s + 3008 + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fheap_max)*4)))*4 + 2)) = Ush(0) // root of the heap 25523 25524 for h = (*Deflate_state)(unsafe.Pointer(s)).Fheap_max + 1; h < 2*(LITERALS+1+LENGTH_CODES)+1; h++ { 25525 n = *(*int32)(unsafe.Pointer(s + 3008 + uintptr(h)*4)) 25526 bits = int32(*(*Ush)(unsafe.Pointer(tree + uintptr(*(*Ush)(unsafe.Pointer(tree + uintptr(n)*4 + 2)))*4 + 2))) + 1 25527 if bits > max_length { 25528 bits = max_length 25529 overflow++ 25530 } 25531 *(*Ush)(unsafe.Pointer(tree + uintptr(n)*4 + 2)) = Ush(bits) 25532 // We overwrite tree[n].Dad which is no longer needed 25533 25534 if n > max_code { 25535 continue 25536 } // not a leaf node 25537 25538 *(*Ush)(unsafe.Pointer(s + 2976 + uintptr(bits)*2))++ 25539 xbits = 0 25540 if n >= base { 25541 xbits = *(*Intf)(unsafe.Pointer(extra + uintptr(n-base)*4)) 25542 } 25543 f = *(*Ush)(unsafe.Pointer(tree + uintptr(n)*4)) 25544 *(*Ulg)(unsafe.Pointer(s + 5912)) += Ulg(f) * Ulg(uint32(bits+xbits)) 25545 if stree != 0 { 25546 *(*Ulg)(unsafe.Pointer(s + 5920)) += Ulg(f) * Ulg(uint32(int32(*(*Ush)(unsafe.Pointer(stree + uintptr(n)*4 + 2)))+xbits)) 25547 } 25548 } 25549 if overflow == 0 { 25550 return 25551 } 25552 25553 // This happens for example on obj2 and pic of the Calgary corpus 25554 25555 // Find the first bit length which could increase: 25556 for ok := true; ok; ok = overflow > 0 { 25557 bits = max_length - 1 25558 for int32(*(*Ush)(unsafe.Pointer(s + 2976 + uintptr(bits)*2))) == 0 { 25559 bits-- 25560 } 25561 *(*Ush)(unsafe.Pointer(s + 2976 + uintptr(bits)*2))-- // move one leaf down the tree 25562 *(*Ush)(unsafe.Pointer(s + 2976 + uintptr(bits+1)*2)) += Ush(2) // move one overflow item as its brother 25563 *(*Ush)(unsafe.Pointer(s + 2976 + uintptr(max_length)*2))-- 25564 // The brother of the overflow item also moves one step up, 25565 // but this does not affect bl_count[max_length] 25566 overflow = overflow - 2 25567 } 25568 25569 // Now recompute all bit lengths, scanning in increasing frequency. 25570 // h is still equal to HEAP_SIZE. (It is simpler to reconstruct all 25571 // lengths instead of fixing only the wrong ones. This idea is taken 25572 // from 'ar' written by Haruhiko Okumura.) 25573 for bits = max_length; bits != 0; bits-- { 25574 n = int32(*(*Ush)(unsafe.Pointer(s + 2976 + uintptr(bits)*2))) 25575 for n != 0 { 25576 m = *(*int32)(unsafe.Pointer(s + 3008 + uintptr(libc.PreDecInt32(&h, 1))*4)) 25577 if m > max_code { 25578 continue 25579 } 25580 if uint32(*(*Ush)(unsafe.Pointer(tree + uintptr(m)*4 + 2))) != uint32(bits) { 25581 25582 *(*Ulg)(unsafe.Pointer(s + 5912)) += (Ulg(bits) - Ulg(*(*Ush)(unsafe.Pointer(tree + uintptr(m)*4 + 2)))) * Ulg(*(*Ush)(unsafe.Pointer(tree + uintptr(m)*4))) 25583 *(*Ush)(unsafe.Pointer(tree + uintptr(m)*4 + 2)) = Ush(bits) 25584 } 25585 n-- 25586 } 25587 } 25588 } 25589 25590 // =========================================================================== 25591 // Generate the codes for a given tree and bit counts (which need not be 25592 // optimal). 25593 // IN assertion: the array bl_count contains the bit length statistics for 25594 // the given tree and the field len is set for all tree elements. 25595 // OUT assertion: the field code is set for all tree elements of non 25596 // zero code length. 25597 func gen_codes(tls *libc.TLS, tree uintptr, max_code int32, bl_count uintptr) { /* trees.c:572:12: */ 25598 bp := tls.Alloc(32) 25599 defer tls.Free(32) 25600 25601 // var next_code [16]Ush at bp, 32 25602 // next code value for each bit length 25603 var code uint32 = uint32(0) // running code value 25604 var bits int32 // bit index 25605 var n int32 // code index 25606 25607 // The distribution counts are first used to generate the code values 25608 // without bit reversal. 25609 for bits = 1; bits <= MAX_BITS; bits++ { 25610 code = (code + uint32(*(*Ushf)(unsafe.Pointer(bl_count + uintptr(bits-1)*2)))) << 1 25611 *(*Ush)(unsafe.Pointer(bp + uintptr(bits)*2)) = Ush(code) 25612 } 25613 // Check that the bit counts in bl_count are consistent. The last code 25614 // must be all ones. 25615 25616 for n = 0; n <= max_code; n++ { 25617 var len int32 = int32(*(*Ush)(unsafe.Pointer(tree + uintptr(n)*4 + 2))) 25618 if len == 0 { 25619 continue 25620 } 25621 // Now reverse the bits 25622 *(*Ush)(unsafe.Pointer(tree + uintptr(n)*4)) = Ush(bi_reverse(tls, uint32(libc.PostIncUint16(&*(*Ush)(unsafe.Pointer(bp + uintptr(len)*2)), 1)), len)) 25623 25624 } 25625 } 25626 25627 // =========================================================================== 25628 // Construct one Huffman tree and assigns the code bit strings and lengths. 25629 // Update the total bit length for the current block. 25630 // IN assertion: the field freq is set for all tree elements. 25631 // OUT assertions: the fields len and code are set to the optimal bit length 25632 // and corresponding code. The length opt_len is updated; static_len is 25633 // also updated if stree is not null. The field max_code is set. 25634 func build_tree(tls *libc.TLS, s uintptr, desc uintptr) { /* trees.c:615:12: */ 25635 var tree uintptr = (*Tree_desc)(unsafe.Pointer(desc)).Fdyn_tree 25636 var stree uintptr = (*Static_tree_desc)(unsafe.Pointer((*Tree_desc)(unsafe.Pointer(desc)).Fstat_desc)).Fstatic_tree 25637 var elems int32 = (*Static_tree_desc)(unsafe.Pointer((*Tree_desc)(unsafe.Pointer(desc)).Fstat_desc)).Felems 25638 var n int32 25639 var m int32 // iterate over heap elements 25640 var max_code int32 = -1 // largest code with non zero frequency 25641 var node int32 // new node being created 25642 25643 // Construct the initial heap, with least frequent element in 25644 // heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n+1]. 25645 // heap[0] is not used. 25646 (*Deflate_state)(unsafe.Pointer(s)).Fheap_len = 0 25647 (*Deflate_state)(unsafe.Pointer(s)).Fheap_max = 2*(LITERALS+1+LENGTH_CODES) + 1 25648 25649 for n = 0; n < elems; n++ { 25650 if int32(*(*Ush)(unsafe.Pointer(tree + uintptr(n)*4))) != 0 { 25651 *(*int32)(unsafe.Pointer(s + 3008 + uintptr(libc.PreIncInt32(&(*Deflate_state)(unsafe.Pointer(s)).Fheap_len, 1))*4)) = libc.AssignInt32(&max_code, n) 25652 *(*Uch)(unsafe.Pointer(s + 5308 + uintptr(n))) = Uch(0) 25653 } else { 25654 *(*Ush)(unsafe.Pointer(tree + uintptr(n)*4 + 2)) = Ush(0) 25655 } 25656 } 25657 25658 // The pkzip format requires that at least one distance code exists, 25659 // and that at least one bit should be sent even if there is only one 25660 // possible code. So to avoid special checks later on we force at least 25661 // two codes of non zero frequency. 25662 for (*Deflate_state)(unsafe.Pointer(s)).Fheap_len < 2 { 25663 node = libc.AssignPtrInt32(s+3008+uintptr(libc.PreIncInt32(&(*Deflate_state)(unsafe.Pointer(s)).Fheap_len, 1))*4, func() int32 { 25664 if max_code < 2 { 25665 return libc.PreIncInt32(&max_code, 1) 25666 } 25667 return 0 25668 }()) 25669 *(*Ush)(unsafe.Pointer(tree + uintptr(node)*4)) = Ush(1) 25670 *(*Uch)(unsafe.Pointer(s + 5308 + uintptr(node))) = Uch(0) 25671 (*Deflate_state)(unsafe.Pointer(s)).Fopt_len-- 25672 if stree != 0 { 25673 *(*Ulg)(unsafe.Pointer(s + 5920)) -= Ulg(*(*Ush)(unsafe.Pointer(stree + uintptr(node)*4 + 2))) 25674 } 25675 // node is 0 or 1 so it does not have extra bits 25676 } 25677 (*Tree_desc)(unsafe.Pointer(desc)).Fmax_code = max_code 25678 25679 // The elements heap[heap_len/2+1 .. heap_len] are leaves of the tree, 25680 // establish sub-heaps of increasing lengths: 25681 for n = (*Deflate_state)(unsafe.Pointer(s)).Fheap_len / 2; n >= 1; n-- { 25682 pqdownheap(tls, s, tree, n) 25683 } 25684 25685 // Construct the Huffman tree by repeatedly combining the least two 25686 // frequent nodes. 25687 node = elems // next internal node of the tree 25688 for ok := true; ok; ok = (*Deflate_state)(unsafe.Pointer(s)).Fheap_len >= 2 { 25689 { 25690 n = *(*int32)(unsafe.Pointer(s + 3008 + 1*4)) 25691 *(*int32)(unsafe.Pointer(s + 3008 + 1*4)) = *(*int32)(unsafe.Pointer(s + 3008 + uintptr(libc.PostDecInt32(&(*Deflate_state)(unsafe.Pointer(s)).Fheap_len, 1))*4)) 25692 pqdownheap(tls, s, tree, SMALLEST) 25693 } 25694 // n = node of least frequency 25695 m = *(*int32)(unsafe.Pointer(s + 3008 + 1*4)) // m = node of next least frequency 25696 25697 *(*int32)(unsafe.Pointer(s + 3008 + uintptr(libc.PreDecInt32(&(*Deflate_state)(unsafe.Pointer(s)).Fheap_max, 1))*4)) = n // keep the nodes sorted by frequency 25698 *(*int32)(unsafe.Pointer(s + 3008 + uintptr(libc.PreDecInt32(&(*Deflate_state)(unsafe.Pointer(s)).Fheap_max, 1))*4)) = m 25699 25700 // Create a new node father of n and m 25701 *(*Ush)(unsafe.Pointer(tree + uintptr(node)*4)) = Ush(int32(*(*Ush)(unsafe.Pointer(tree + uintptr(n)*4))) + int32(*(*Ush)(unsafe.Pointer(tree + uintptr(m)*4)))) 25702 *(*Uch)(unsafe.Pointer(s + 5308 + uintptr(node))) = Uch(func() int32 { 25703 if int32(*(*Uch)(unsafe.Pointer(s + 5308 + uintptr(n)))) >= int32(*(*Uch)(unsafe.Pointer(s + 5308 + uintptr(m)))) { 25704 return int32(*(*Uch)(unsafe.Pointer(s + 5308 + uintptr(n)))) 25705 } 25706 return int32(*(*Uch)(unsafe.Pointer(s + 5308 + uintptr(m)))) 25707 }() + 1) 25708 *(*Ush)(unsafe.Pointer(tree + uintptr(n)*4 + 2)) = libc.AssignPtrUint16(tree+uintptr(m)*4+2, Ush(node)) 25709 // and insert the new node in the heap 25710 *(*int32)(unsafe.Pointer(s + 3008 + 1*4)) = libc.PostIncInt32(&node, 1) 25711 pqdownheap(tls, s, tree, SMALLEST) 25712 25713 } 25714 25715 *(*int32)(unsafe.Pointer(s + 3008 + uintptr(libc.PreDecInt32(&(*Deflate_state)(unsafe.Pointer(s)).Fheap_max, 1))*4)) = *(*int32)(unsafe.Pointer(s + 3008 + 1*4)) 25716 25717 // At this point, the fields freq and dad are set. We can now 25718 // generate the bit lengths. 25719 gen_bitlen(tls, s, desc) 25720 25721 // The field len is now set, we can generate the bit codes 25722 gen_codes(tls, tree, max_code, s+2976) 25723 } 25724 25725 // =========================================================================== 25726 // Scan a literal or distance tree to determine the frequencies of the codes 25727 // in the bit length tree. 25728 func scan_tree(tls *libc.TLS, s uintptr, tree uintptr, max_code int32) { /* trees.c:703:12: */ 25729 var n int32 // iterates over all tree elements 25730 var prevlen int32 = -1 // last emitted length 25731 var curlen int32 // length of current code 25732 var nextlen int32 = int32(*(*Ush)(unsafe.Pointer(tree + 2))) // length of next code 25733 var count int32 = 0 // repeat count of the current code 25734 var max_count int32 = 7 // max repeat count 25735 var min_count int32 = 4 // min repeat count 25736 25737 if nextlen == 0 { 25738 max_count = 138 25739 min_count = 3 25740 } 25741 *(*Ush)(unsafe.Pointer(tree + uintptr(max_code+1)*4 + 2)) = Ush(0xffff) // guard 25742 25743 for n = 0; n <= max_code; n++ { 25744 curlen = nextlen 25745 nextlen = int32(*(*Ush)(unsafe.Pointer(tree + uintptr(n+1)*4 + 2))) 25746 if libc.PreIncInt32(&count, 1) < max_count && curlen == nextlen { 25747 continue 25748 } else if count < min_count { 25749 *(*Ush)(unsafe.Pointer(s + 2748 + uintptr(curlen)*4)) += Ush(count) 25750 } else if curlen != 0 { 25751 if curlen != prevlen { 25752 *(*Ush)(unsafe.Pointer(s + 2748 + uintptr(curlen)*4))++ 25753 } 25754 *(*Ush)(unsafe.Pointer(s + 2748 + 16*4))++ 25755 } else if count <= 10 { 25756 *(*Ush)(unsafe.Pointer(s + 2748 + 17*4))++ 25757 } else { 25758 *(*Ush)(unsafe.Pointer(s + 2748 + 18*4))++ 25759 } 25760 count = 0 25761 prevlen = curlen 25762 if nextlen == 0 { 25763 max_count = 138 25764 min_count = 3 25765 } else if curlen == nextlen { 25766 max_count = 6 25767 min_count = 3 25768 } else { 25769 max_count = 7 25770 min_count = 4 25771 } 25772 } 25773 } 25774 25775 // =========================================================================== 25776 // Send a literal or distance tree in compressed form, using the codes in 25777 // bl_tree. 25778 func send_tree(tls *libc.TLS, s uintptr, tree uintptr, max_code int32) { /* trees.c:748:12: */ 25779 var n int32 // iterates over all tree elements 25780 var prevlen int32 = -1 // last emitted length 25781 var curlen int32 // length of current code 25782 var nextlen int32 = int32(*(*Ush)(unsafe.Pointer(tree + 2))) // length of next code 25783 var count int32 = 0 // repeat count of the current code 25784 var max_count int32 = 7 // max repeat count 25785 var min_count int32 = 4 // min repeat count 25786 25787 /* tree[max_code+1].Len = -1; */ // guard already set 25788 if nextlen == 0 { 25789 max_count = 138 25790 min_count = 3 25791 } 25792 25793 for n = 0; n <= max_code; n++ { 25794 curlen = nextlen 25795 nextlen = int32(*(*Ush)(unsafe.Pointer(tree + uintptr(n+1)*4 + 2))) 25796 if libc.PreIncInt32(&count, 1) < max_count && curlen == nextlen { 25797 continue 25798 } else if count < min_count { 25799 for ok := true; ok; ok = libc.PreDecInt32(&count, 1) != 0 { 25800 { 25801 var len int32 = int32(*(*Ush)(unsafe.Pointer(s + 2748 + uintptr(curlen)*4 + 2))) 25802 if (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid > Buf_size-len { 25803 var val int32 = int32(*(*Ush)(unsafe.Pointer(s + 2748 + uintptr(curlen)*4))) 25804 *(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(val)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid) 25805 { 25806 { 25807 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) & 0xff) 25808 } 25809 { 25810 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) >> 8) 25811 } 25812 25813 } 25814 (*Deflate_state)(unsafe.Pointer(s)).Fbi_buf = Ush(int32(Ush(val)) >> (Buf_size - (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)) 25815 *(*int32)(unsafe.Pointer(s + 5940)) += len - Buf_size 25816 } else { 25817 *(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(*(*Ush)(unsafe.Pointer(s + 2748 + uintptr(curlen)*4))) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid) 25818 *(*int32)(unsafe.Pointer(s + 5940)) += len 25819 } 25820 } 25821 } 25822 25823 } else if curlen != 0 { 25824 if curlen != prevlen { 25825 { 25826 var len int32 = int32(*(*Ush)(unsafe.Pointer(s + 2748 + uintptr(curlen)*4 + 2))) 25827 if (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid > Buf_size-len { 25828 var val int32 = int32(*(*Ush)(unsafe.Pointer(s + 2748 + uintptr(curlen)*4))) 25829 *(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(val)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid) 25830 { 25831 { 25832 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) & 0xff) 25833 } 25834 { 25835 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) >> 8) 25836 } 25837 25838 } 25839 (*Deflate_state)(unsafe.Pointer(s)).Fbi_buf = Ush(int32(Ush(val)) >> (Buf_size - (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)) 25840 *(*int32)(unsafe.Pointer(s + 5940)) += len - Buf_size 25841 } else { 25842 *(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(*(*Ush)(unsafe.Pointer(s + 2748 + uintptr(curlen)*4))) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid) 25843 *(*int32)(unsafe.Pointer(s + 5940)) += len 25844 } 25845 } 25846 count-- 25847 } 25848 25849 { 25850 var len int32 = int32(*(*Ush)(unsafe.Pointer(s + 2748 + 16*4 + 2))) 25851 if (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid > Buf_size-len { 25852 var val int32 = int32(*(*Ush)(unsafe.Pointer(s + 2748 + 16*4))) 25853 *(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(val)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid) 25854 { 25855 { 25856 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) & 0xff) 25857 } 25858 { 25859 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) >> 8) 25860 } 25861 25862 } 25863 (*Deflate_state)(unsafe.Pointer(s)).Fbi_buf = Ush(int32(Ush(val)) >> (Buf_size - (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)) 25864 *(*int32)(unsafe.Pointer(s + 5940)) += len - Buf_size 25865 } else { 25866 *(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(*(*Ush)(unsafe.Pointer(s + 2748 + 16*4))) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid) 25867 *(*int32)(unsafe.Pointer(s + 5940)) += len 25868 } 25869 } 25870 { 25871 var len int32 = 2 25872 if (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid > Buf_size-len { 25873 var val int32 = count - 3 25874 *(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(val)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid) 25875 { 25876 { 25877 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) & 0xff) 25878 } 25879 { 25880 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) >> 8) 25881 } 25882 25883 } 25884 (*Deflate_state)(unsafe.Pointer(s)).Fbi_buf = Ush(int32(Ush(val)) >> (Buf_size - (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)) 25885 *(*int32)(unsafe.Pointer(s + 5940)) += len - Buf_size 25886 } else { 25887 *(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(count-3)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid) 25888 *(*int32)(unsafe.Pointer(s + 5940)) += len 25889 } 25890 } 25891 25892 } else if count <= 10 { 25893 { 25894 var len int32 = int32(*(*Ush)(unsafe.Pointer(s + 2748 + 17*4 + 2))) 25895 if (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid > Buf_size-len { 25896 var val int32 = int32(*(*Ush)(unsafe.Pointer(s + 2748 + 17*4))) 25897 *(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(val)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid) 25898 { 25899 { 25900 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) & 0xff) 25901 } 25902 { 25903 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) >> 8) 25904 } 25905 25906 } 25907 (*Deflate_state)(unsafe.Pointer(s)).Fbi_buf = Ush(int32(Ush(val)) >> (Buf_size - (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)) 25908 *(*int32)(unsafe.Pointer(s + 5940)) += len - Buf_size 25909 } else { 25910 *(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(*(*Ush)(unsafe.Pointer(s + 2748 + 17*4))) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid) 25911 *(*int32)(unsafe.Pointer(s + 5940)) += len 25912 } 25913 } 25914 { 25915 var len int32 = 3 25916 if (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid > Buf_size-len { 25917 var val int32 = count - 3 25918 *(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(val)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid) 25919 { 25920 { 25921 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) & 0xff) 25922 } 25923 { 25924 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) >> 8) 25925 } 25926 25927 } 25928 (*Deflate_state)(unsafe.Pointer(s)).Fbi_buf = Ush(int32(Ush(val)) >> (Buf_size - (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)) 25929 *(*int32)(unsafe.Pointer(s + 5940)) += len - Buf_size 25930 } else { 25931 *(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(count-3)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid) 25932 *(*int32)(unsafe.Pointer(s + 5940)) += len 25933 } 25934 } 25935 25936 } else { 25937 { 25938 var len int32 = int32(*(*Ush)(unsafe.Pointer(s + 2748 + 18*4 + 2))) 25939 if (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid > Buf_size-len { 25940 var val int32 = int32(*(*Ush)(unsafe.Pointer(s + 2748 + 18*4))) 25941 *(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(val)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid) 25942 { 25943 { 25944 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) & 0xff) 25945 } 25946 { 25947 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) >> 8) 25948 } 25949 25950 } 25951 (*Deflate_state)(unsafe.Pointer(s)).Fbi_buf = Ush(int32(Ush(val)) >> (Buf_size - (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)) 25952 *(*int32)(unsafe.Pointer(s + 5940)) += len - Buf_size 25953 } else { 25954 *(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(*(*Ush)(unsafe.Pointer(s + 2748 + 18*4))) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid) 25955 *(*int32)(unsafe.Pointer(s + 5940)) += len 25956 } 25957 } 25958 { 25959 var len int32 = 7 25960 if (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid > Buf_size-len { 25961 var val int32 = count - 11 25962 *(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(val)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid) 25963 { 25964 { 25965 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) & 0xff) 25966 } 25967 { 25968 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) >> 8) 25969 } 25970 25971 } 25972 (*Deflate_state)(unsafe.Pointer(s)).Fbi_buf = Ush(int32(Ush(val)) >> (Buf_size - (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)) 25973 *(*int32)(unsafe.Pointer(s + 5940)) += len - Buf_size 25974 } else { 25975 *(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(count-11)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid) 25976 *(*int32)(unsafe.Pointer(s + 5940)) += len 25977 } 25978 } 25979 25980 } 25981 count = 0 25982 prevlen = curlen 25983 if nextlen == 0 { 25984 max_count = 138 25985 min_count = 3 25986 } else if curlen == nextlen { 25987 max_count = 6 25988 min_count = 3 25989 } else { 25990 max_count = 7 25991 min_count = 4 25992 } 25993 } 25994 } 25995 25996 // =========================================================================== 25997 // Construct the Huffman tree for the bit lengths and return the index in 25998 // bl_order of the last bit length code to send. 25999 func build_bl_tree(tls *libc.TLS, s uintptr) int32 { /* trees.c:799:11: */ 26000 var max_blindex int32 // index of last bit length code of non zero freq 26001 26002 // Determine the bit length frequencies for literal and distance trees 26003 scan_tree(tls, s, s+212 /* &.dyn_ltree */, (*Deflate_state)(unsafe.Pointer(s)).Fl_desc.Fmax_code) 26004 scan_tree(tls, s, s+2504 /* &.dyn_dtree */, (*Deflate_state)(unsafe.Pointer(s)).Fd_desc.Fmax_code) 26005 26006 // Build the bit length tree: 26007 build_tree(tls, s, s+2952) 26008 // opt_len now includes the length of the tree representations, except 26009 // the lengths of the bit lengths codes and the 5+5+4 bits for the counts. 26010 26011 // Determine the number of bit length codes to send. The pkzip format 26012 // requires that at least 4 bit length codes be sent. (appnote.txt says 26013 // 3 but the actual value used is 4.) 26014 for max_blindex = BL_CODES - 1; max_blindex >= 3; max_blindex-- { 26015 if int32(*(*Ush)(unsafe.Pointer(s + 2748 + uintptr(bl_order[max_blindex])*4 + 2))) != 0 { 26016 break 26017 } 26018 } 26019 // Update opt_len to include the bit length tree and counts 26020 *(*Ulg)(unsafe.Pointer(s + 5912)) += uint64(3)*(Ulg(max_blindex)+uint64(1)) + uint64(5) + uint64(5) + uint64(4) 26021 26022 return max_blindex 26023 } 26024 26025 // =========================================================================== 26026 // Send the header for a block using dynamic Huffman trees: the counts, the 26027 // lengths of the bit length codes, the literal tree and the distance tree. 26028 // IN assertion: lcodes >= 257, dcodes >= 1, blcodes >= 4. 26029 func send_all_trees(tls *libc.TLS, s uintptr, lcodes int32, dcodes int32, blcodes int32) { /* trees.c:834:12: */ 26030 var rank int32 // index in bl_order 26031 26032 { 26033 var len int32 = 5 26034 if (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid > Buf_size-len { 26035 var val int32 = lcodes - 257 26036 *(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(val)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid) 26037 { 26038 { 26039 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) & 0xff) 26040 } 26041 { 26042 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) >> 8) 26043 } 26044 26045 } 26046 (*Deflate_state)(unsafe.Pointer(s)).Fbi_buf = Ush(int32(Ush(val)) >> (Buf_size - (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)) 26047 *(*int32)(unsafe.Pointer(s + 5940)) += len - Buf_size 26048 } else { 26049 *(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(lcodes-257)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid) 26050 *(*int32)(unsafe.Pointer(s + 5940)) += len 26051 } 26052 } 26053 /* not +255 as stated in appnote.txt */ 26054 { 26055 var len int32 = 5 26056 if (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid > Buf_size-len { 26057 var val int32 = dcodes - 1 26058 *(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(val)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid) 26059 { 26060 { 26061 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) & 0xff) 26062 } 26063 { 26064 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) >> 8) 26065 } 26066 26067 } 26068 (*Deflate_state)(unsafe.Pointer(s)).Fbi_buf = Ush(int32(Ush(val)) >> (Buf_size - (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)) 26069 *(*int32)(unsafe.Pointer(s + 5940)) += len - Buf_size 26070 } else { 26071 *(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(dcodes-1)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid) 26072 *(*int32)(unsafe.Pointer(s + 5940)) += len 26073 } 26074 } 26075 26076 { 26077 var len int32 = 4 26078 if (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid > Buf_size-len { 26079 var val int32 = blcodes - 4 26080 *(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(val)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid) 26081 { 26082 { 26083 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) & 0xff) 26084 } 26085 { 26086 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) >> 8) 26087 } 26088 26089 } 26090 (*Deflate_state)(unsafe.Pointer(s)).Fbi_buf = Ush(int32(Ush(val)) >> (Buf_size - (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)) 26091 *(*int32)(unsafe.Pointer(s + 5940)) += len - Buf_size 26092 } else { 26093 *(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(blcodes-4)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid) 26094 *(*int32)(unsafe.Pointer(s + 5940)) += len 26095 } 26096 } 26097 // not -3 as stated in appnote.txt 26098 for rank = 0; rank < blcodes; rank++ { 26099 26100 { 26101 var len int32 = 3 26102 if (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid > Buf_size-len { 26103 var val int32 = int32(*(*Ush)(unsafe.Pointer(s + 2748 + uintptr(bl_order[rank])*4 + 2))) 26104 *(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(val)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid) 26105 { 26106 { 26107 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) & 0xff) 26108 } 26109 { 26110 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) >> 8) 26111 } 26112 26113 } 26114 (*Deflate_state)(unsafe.Pointer(s)).Fbi_buf = Ush(int32(Ush(val)) >> (Buf_size - (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)) 26115 *(*int32)(unsafe.Pointer(s + 5940)) += len - Buf_size 26116 } else { 26117 *(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(*(*Ush)(unsafe.Pointer(s + 2748 + uintptr(bl_order[rank])*4 + 2))) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid) 26118 *(*int32)(unsafe.Pointer(s + 5940)) += len 26119 } 26120 } 26121 26122 } 26123 26124 send_tree(tls, s, s+212 /* &.dyn_ltree */, lcodes-1) // literal tree 26125 26126 send_tree(tls, s, s+2504 /* &.dyn_dtree */, dcodes-1) // distance tree 26127 26128 } 26129 26130 // =========================================================================== 26131 // Send a stored block 26132 func X_tr_stored_block(tls *libc.TLS, s uintptr, buf uintptr, stored_len Ulg, last int32) { /* trees.c:863:20: */ 26133 { 26134 var len int32 = 3 26135 if (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid > Buf_size-len { 26136 var val int32 = int32(STORED_BLOCK)<<1 + last 26137 *(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(val)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid) 26138 { 26139 { 26140 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) & 0xff) 26141 } 26142 { 26143 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) >> 8) 26144 } 26145 26146 } 26147 (*Deflate_state)(unsafe.Pointer(s)).Fbi_buf = Ush(int32(Ush(val)) >> (Buf_size - (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)) 26148 *(*int32)(unsafe.Pointer(s + 5940)) += len - Buf_size 26149 } else { 26150 *(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(int32(STORED_BLOCK)<<1+last)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid) 26151 *(*int32)(unsafe.Pointer(s + 5940)) += len 26152 } 26153 } 26154 // send block type 26155 bi_windup(tls, s) /* align on byte boundary */ 26156 { 26157 { 26158 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32(Ush(stored_len)) & 0xff) 26159 } 26160 { 26161 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32(Ush(stored_len)) >> 8) 26162 } 26163 26164 } 26165 26166 { 26167 { 26168 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32(Ush(^stored_len)) & 0xff) 26169 } 26170 { 26171 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32(Ush(^stored_len)) >> 8) 26172 } 26173 26174 } 26175 26176 libc.X__builtin___memcpy_chk(tls, (*Deflate_state)(unsafe.Pointer(s)).Fpending_buf+uintptr((*Deflate_state)(unsafe.Pointer(s)).Fpending), buf, stored_len, libc.X__builtin_object_size(tls, (*Deflate_state)(unsafe.Pointer(s)).Fpending_buf+uintptr((*Deflate_state)(unsafe.Pointer(s)).Fpending), 0)) 26177 *(*Ulg)(unsafe.Pointer(s + 40)) += stored_len 26178 } 26179 26180 // =========================================================================== 26181 // Flush the bits in the bit buffer to pending output (leaves at most 7 bits) 26182 func X_tr_flush_bits(tls *libc.TLS, s uintptr) { /* trees.c:886:20: */ 26183 bi_flush(tls, s) 26184 } 26185 26186 // =========================================================================== 26187 // Send one empty static block to give enough lookahead for inflate. 26188 // This takes 10 bits, of which 7 may remain in the bit buffer. 26189 func X_tr_align(tls *libc.TLS, s uintptr) { /* trees.c:896:20: */ 26190 { 26191 var len int32 = 3 26192 if (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid > Buf_size-len { 26193 var val int32 = int32(STATIC_TREES) << 1 26194 *(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(val)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid) 26195 { 26196 { 26197 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) & 0xff) 26198 } 26199 { 26200 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) >> 8) 26201 } 26202 26203 } 26204 (*Deflate_state)(unsafe.Pointer(s)).Fbi_buf = Ush(int32(Ush(val)) >> (Buf_size - (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)) 26205 *(*int32)(unsafe.Pointer(s + 5940)) += len - Buf_size 26206 } else { 26207 *(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(int32(Ush(int32(STATIC_TREES)<<1))) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid) 26208 *(*int32)(unsafe.Pointer(s + 5940)) += len 26209 } 26210 } 26211 26212 { 26213 var len int32 = int32(*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&static_ltree)) + 256*4 + 2))) 26214 if (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid > Buf_size-len { 26215 var val int32 = int32(*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&static_ltree)) + 256*4))) 26216 *(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(val)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid) 26217 { 26218 { 26219 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) & 0xff) 26220 } 26221 { 26222 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) >> 8) 26223 } 26224 26225 } 26226 (*Deflate_state)(unsafe.Pointer(s)).Fbi_buf = Ush(int32(Ush(val)) >> (Buf_size - (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)) 26227 *(*int32)(unsafe.Pointer(s + 5940)) += len - Buf_size 26228 } else { 26229 *(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&static_ltree)) + 256*4))) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid) 26230 *(*int32)(unsafe.Pointer(s + 5940)) += len 26231 } 26232 } 26233 26234 bi_flush(tls, s) 26235 } 26236 26237 // =========================================================================== 26238 // Determine the best encoding for the current block: dynamic trees, static 26239 // trees or store, and write out the encoded block. 26240 func X_tr_flush_block(tls *libc.TLS, s uintptr, buf uintptr, stored_len Ulg, last int32) { /* trees.c:911:20: */ 26241 var opt_lenb Ulg 26242 var static_lenb Ulg // opt_len and static_len in bytes 26243 var max_blindex int32 = 0 // index of last bit length code of non zero freq 26244 26245 // Build the Huffman trees unless a stored block is forced 26246 if (*Deflate_state)(unsafe.Pointer(s)).Flevel > 0 { 26247 26248 // Check if the file is binary or text 26249 if (*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Fdata_type == Z_UNKNOWN { 26250 (*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Fdata_type = detect_data_type(tls, s) 26251 } 26252 26253 // Construct the literal and distance trees 26254 build_tree(tls, s, s+2904) 26255 26256 build_tree(tls, s, s+2928) 26257 26258 // At this point, opt_len and static_len are the total bit lengths of 26259 // the compressed block data, excluding the tree representations. 26260 26261 // Build the bit length tree for the above two trees, and get the index 26262 // in bl_order of the last bit length code to send. 26263 max_blindex = build_bl_tree(tls, s) 26264 26265 // Determine the best encoding. Compute the block lengths in bytes. 26266 opt_lenb = ((*Deflate_state)(unsafe.Pointer(s)).Fopt_len + uint64(3) + uint64(7)) >> 3 26267 static_lenb = ((*Deflate_state)(unsafe.Pointer(s)).Fstatic_len + uint64(3) + uint64(7)) >> 3 26268 26269 if static_lenb <= opt_lenb { 26270 opt_lenb = static_lenb 26271 } 26272 26273 } else { 26274 26275 opt_lenb = libc.AssignUint64(&static_lenb, stored_len+uint64(5)) // force a stored block 26276 } 26277 26278 if stored_len+uint64(4) <= opt_lenb && buf != uintptr(0) { 26279 // 4: two words for the lengths 26280 // The test buf != NULL is only necessary if LIT_BUFSIZE > WSIZE. 26281 // Otherwise we can't have processed more than WSIZE input bytes since 26282 // the last block flush, because compression would have been 26283 // successful. If LIT_BUFSIZE <= WSIZE, it is never too late to 26284 // transform a block into a stored block. 26285 X_tr_stored_block(tls, s, buf, stored_len, last) 26286 26287 } else if (*Deflate_state)(unsafe.Pointer(s)).Fstrategy == Z_FIXED || static_lenb == opt_lenb { 26288 { 26289 var len int32 = 3 26290 if (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid > Buf_size-len { 26291 var val int32 = int32(STATIC_TREES)<<1 + last 26292 *(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(val)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid) 26293 { 26294 { 26295 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) & 0xff) 26296 } 26297 { 26298 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) >> 8) 26299 } 26300 26301 } 26302 (*Deflate_state)(unsafe.Pointer(s)).Fbi_buf = Ush(int32(Ush(val)) >> (Buf_size - (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)) 26303 *(*int32)(unsafe.Pointer(s + 5940)) += len - Buf_size 26304 } else { 26305 *(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(int32(STATIC_TREES)<<1+last)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid) 26306 *(*int32)(unsafe.Pointer(s + 5940)) += len 26307 } 26308 } 26309 26310 compress_block(tls, s, uintptr(uintptr(unsafe.Pointer(&static_ltree))), 26311 uintptr(uintptr(unsafe.Pointer(&static_dtree)))) 26312 } else { 26313 { 26314 var len int32 = 3 26315 if (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid > Buf_size-len { 26316 var val int32 = int32(DYN_TREES)<<1 + last 26317 *(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(val)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid) 26318 { 26319 { 26320 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) & 0xff) 26321 } 26322 { 26323 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) >> 8) 26324 } 26325 26326 } 26327 (*Deflate_state)(unsafe.Pointer(s)).Fbi_buf = Ush(int32(Ush(val)) >> (Buf_size - (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)) 26328 *(*int32)(unsafe.Pointer(s + 5940)) += len - Buf_size 26329 } else { 26330 *(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(int32(DYN_TREES)<<1+last)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid) 26331 *(*int32)(unsafe.Pointer(s + 5940)) += len 26332 } 26333 } 26334 26335 send_all_trees(tls, s, (*Deflate_state)(unsafe.Pointer(s)).Fl_desc.Fmax_code+1, (*Deflate_state)(unsafe.Pointer(s)).Fd_desc.Fmax_code+1, 26336 max_blindex+1) 26337 compress_block(tls, s, s+212, /* &.dyn_ltree */ 26338 s+2504 /* &.dyn_dtree */) 26339 } 26340 26341 // The above check is made mod 2^32, for files larger than 512 MB 26342 // and uLong implemented on 32 bits. 26343 init_block(tls, s) 26344 26345 if last != 0 { 26346 bi_windup(tls, s) 26347 } 26348 26349 } 26350 26351 // =========================================================================== 26352 // Save the match info and tally the frequency counts. Return true if 26353 // the current block must be flushed. 26354 func X_tr_tally(tls *libc.TLS, s uintptr, dist uint32, lc uint32) int32 { /* trees.c:1014:19: */ 26355 *(*Ushf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fd_buf + uintptr((*Deflate_state)(unsafe.Pointer(s)).Flast_lit)*2)) = Ush(dist) 26356 *(*Uchf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fl_buf + uintptr(libc.PostIncUint32(&(*Deflate_state)(unsafe.Pointer(s)).Flast_lit, 1)))) = Uch(lc) 26357 if dist == uint32(0) { 26358 // lc is the unmatched char 26359 *(*Ush)(unsafe.Pointer(s + 212 + uintptr(lc)*4))++ 26360 } else { 26361 (*Deflate_state)(unsafe.Pointer(s)).Fmatches++ 26362 // Here, lc is the match length - MIN_MATCH 26363 dist-- // dist = match distance - 1 26364 26365 *(*Ush)(unsafe.Pointer(s + 212 + uintptr(int32(X_length_code[lc])+LITERALS+1)*4))++ 26366 *(*Ush)(unsafe.Pointer(s + 2504 + uintptr(func() int32 { 26367 if dist < uint32(256) { 26368 return int32(X_dist_code[dist]) 26369 } 26370 return int32(X_dist_code[uint32(256)+dist>>7]) 26371 }())*4))++ 26372 } 26373 26374 return libc.Bool32((*Deflate_state)(unsafe.Pointer(s)).Flast_lit == (*Deflate_state)(unsafe.Pointer(s)).Flit_bufsize-UInt(1)) 26375 // We avoid equality with lit_bufsize because of wraparound at 64K 26376 // on 16 bit machines and because stored blocks are restricted to 26377 // 64K-1 bytes. 26378 } 26379 26380 // =========================================================================== 26381 // Send the block data compressed using the given Huffman trees 26382 func compress_block(tls *libc.TLS, s uintptr, ltree uintptr, dtree uintptr) { /* trees.c:1064:12: */ 26383 var dist uint32 // distance of matched string 26384 var lc int32 // match length or unmatched char (if dist == 0) 26385 var lx uint32 = uint32(0) // running index in l_buf 26386 var code uint32 // the code to send 26387 var extra int32 // number of extra bits to send 26388 26389 if (*Deflate_state)(unsafe.Pointer(s)).Flast_lit != UInt(0) { 26390 for ok := true; ok; ok = lx < (*Deflate_state)(unsafe.Pointer(s)).Flast_lit { 26391 dist = uint32(*(*Ushf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fd_buf + uintptr(lx)*2))) 26392 lc = int32(*(*Uchf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fl_buf + uintptr(libc.PostIncUint32(&lx, 1))))) 26393 if dist == uint32(0) { 26394 { 26395 var len int32 = int32(*(*Ush)(unsafe.Pointer(ltree + uintptr(lc)*4 + 2))) 26396 if (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid > Buf_size-len { 26397 var val int32 = int32(*(*Ush)(unsafe.Pointer(ltree + uintptr(lc)*4))) 26398 *(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(val)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid) 26399 { 26400 { 26401 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) & 0xff) 26402 } 26403 { 26404 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) >> 8) 26405 } 26406 26407 } 26408 (*Deflate_state)(unsafe.Pointer(s)).Fbi_buf = Ush(int32(Ush(val)) >> (Buf_size - (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)) 26409 *(*int32)(unsafe.Pointer(s + 5940)) += len - Buf_size 26410 } else { 26411 *(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(*(*Ush)(unsafe.Pointer(ltree + uintptr(lc)*4))) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid) 26412 *(*int32)(unsafe.Pointer(s + 5940)) += len 26413 } 26414 } 26415 // send a literal byte 26416 26417 } else { 26418 // Here, lc is the match length - MIN_MATCH 26419 code = uint32(X_length_code[lc]) 26420 { 26421 var len int32 = int32(*(*Ush)(unsafe.Pointer(ltree + uintptr(code+uint32(LITERALS)+uint32(1))*4 + 2))) 26422 if (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid > Buf_size-len { 26423 var val int32 = int32(*(*Ush)(unsafe.Pointer(ltree + uintptr(code+uint32(LITERALS)+uint32(1))*4))) 26424 *(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(val)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid) 26425 { 26426 { 26427 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) & 0xff) 26428 } 26429 { 26430 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) >> 8) 26431 } 26432 26433 } 26434 (*Deflate_state)(unsafe.Pointer(s)).Fbi_buf = Ush(int32(Ush(val)) >> (Buf_size - (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)) 26435 *(*int32)(unsafe.Pointer(s + 5940)) += len - Buf_size 26436 } else { 26437 *(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(*(*Ush)(unsafe.Pointer(ltree + uintptr(code+uint32(LITERALS)+uint32(1))*4))) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid) 26438 *(*int32)(unsafe.Pointer(s + 5940)) += len 26439 } 26440 } 26441 // send the length code 26442 extra = extra_lbits[code] 26443 if extra != 0 { 26444 lc = lc - base_length[code] 26445 { 26446 var len int32 = extra 26447 if (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid > Buf_size-len { 26448 var val int32 = lc 26449 *(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(val)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid) 26450 { 26451 { 26452 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) & 0xff) 26453 } 26454 { 26455 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) >> 8) 26456 } 26457 26458 } 26459 (*Deflate_state)(unsafe.Pointer(s)).Fbi_buf = Ush(int32(Ush(val)) >> (Buf_size - (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)) 26460 *(*int32)(unsafe.Pointer(s + 5940)) += len - Buf_size 26461 } else { 26462 *(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(lc)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid) 26463 *(*int32)(unsafe.Pointer(s + 5940)) += len 26464 } 26465 } 26466 // send the extra length bits 26467 } 26468 dist-- // dist is now the match distance - 1 26469 code = func() uint32 { 26470 if dist < uint32(256) { 26471 return uint32(X_dist_code[dist]) 26472 } 26473 return uint32(X_dist_code[uint32(256)+dist>>7]) 26474 }() 26475 26476 { 26477 var len int32 = int32(*(*Ush)(unsafe.Pointer(dtree + uintptr(code)*4 + 2))) 26478 if (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid > Buf_size-len { 26479 var val int32 = int32(*(*Ush)(unsafe.Pointer(dtree + uintptr(code)*4))) 26480 *(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(val)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid) 26481 { 26482 { 26483 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) & 0xff) 26484 } 26485 { 26486 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) >> 8) 26487 } 26488 26489 } 26490 (*Deflate_state)(unsafe.Pointer(s)).Fbi_buf = Ush(int32(Ush(val)) >> (Buf_size - (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)) 26491 *(*int32)(unsafe.Pointer(s + 5940)) += len - Buf_size 26492 } else { 26493 *(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(*(*Ush)(unsafe.Pointer(dtree + uintptr(code)*4))) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid) 26494 *(*int32)(unsafe.Pointer(s + 5940)) += len 26495 } 26496 } 26497 // send the distance code 26498 extra = extra_dbits[code] 26499 if extra != 0 { 26500 dist = dist - uint32(base_dist[code]) 26501 { 26502 var len int32 = extra 26503 if (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid > Buf_size-len { 26504 var val int32 = int32(dist) 26505 *(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(val)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid) 26506 { 26507 { 26508 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) & 0xff) 26509 } 26510 { 26511 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) >> 8) 26512 } 26513 26514 } 26515 (*Deflate_state)(unsafe.Pointer(s)).Fbi_buf = Ush(int32(Ush(val)) >> (Buf_size - (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)) 26516 *(*int32)(unsafe.Pointer(s + 5940)) += len - Buf_size 26517 } else { 26518 *(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(dist)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid) 26519 *(*int32)(unsafe.Pointer(s + 5940)) += len 26520 } 26521 } 26522 // send the extra distance bits 26523 } 26524 } // literal or match pair ? 26525 26526 // Check that the overlay between pending_buf and d_buf+l_buf is ok: 26527 26528 } 26529 } 26530 26531 { 26532 var len int32 = int32(*(*Ush)(unsafe.Pointer(ltree + 256*4 + 2))) 26533 if (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid > Buf_size-len { 26534 var val int32 = int32(*(*Ush)(unsafe.Pointer(ltree + 256*4))) 26535 *(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(val)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid) 26536 { 26537 { 26538 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) & 0xff) 26539 } 26540 { 26541 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) >> 8) 26542 } 26543 26544 } 26545 (*Deflate_state)(unsafe.Pointer(s)).Fbi_buf = Ush(int32(Ush(val)) >> (Buf_size - (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)) 26546 *(*int32)(unsafe.Pointer(s + 5940)) += len - Buf_size 26547 } else { 26548 *(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(*(*Ush)(unsafe.Pointer(ltree + 256*4))) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid) 26549 *(*int32)(unsafe.Pointer(s + 5940)) += len 26550 } 26551 } 26552 26553 } 26554 26555 // =========================================================================== 26556 // Check if the data type is TEXT or BINARY, using the following algorithm: 26557 // - TEXT if the two conditions below are satisfied: 26558 // a) There are no non-portable control characters belonging to the 26559 // "black list" (0..6, 14..25, 28..31). 26560 // b) There is at least one printable character belonging to the 26561 // "white list" (9 {TAB}, 10 {LF}, 13 {CR}, 32..255). 26562 // - BINARY otherwise. 26563 // - The following partially-portable control characters form a 26564 // "gray list" that is ignored in this detection algorithm: 26565 // (7 {BEL}, 8 {BS}, 11 {VT}, 12 {FF}, 26 {SUB}, 27 {ESC}). 26566 // IN assertion: the fields Freq of dyn_ltree are set. 26567 func detect_data_type(tls *libc.TLS, s uintptr) int32 { /* trees.c:1124:11: */ 26568 // black_mask is the bit mask of black-listed bytes 26569 // set bits 0..6, 14..25, and 28..31 26570 // 0xf3ffc07f = binary 11110011111111111100000001111111 26571 var black_mask uint64 = 0xf3ffc07f 26572 var n int32 26573 26574 // Check for non-textual ("black-listed") bytes. 26575 n = 0 26576 __1: 26577 if !(n <= 31) { 26578 goto __3 26579 } 26580 if black_mask&uint64(1) != 0 && int32(*(*Ush)(unsafe.Pointer(s + 212 + uintptr(n)*4))) != 0 { 26581 return Z_BINARY 26582 } 26583 goto __2 26584 __2: 26585 n++ 26586 black_mask >>= 1 26587 goto __1 26588 goto __3 26589 __3: 26590 ; 26591 26592 // Check for textual ("white-listed") bytes. 26593 if int32(*(*Ush)(unsafe.Pointer(s + 212 + 9*4))) != 0 || int32(*(*Ush)(unsafe.Pointer(s + 212 + 10*4))) != 0 || 26594 int32(*(*Ush)(unsafe.Pointer(s + 212 + 13*4))) != 0 { 26595 return Z_TEXT 26596 } 26597 for n = 32; n < LITERALS; n++ { 26598 if int32(*(*Ush)(unsafe.Pointer(s + 212 + uintptr(n)*4))) != 0 { 26599 return Z_TEXT 26600 } 26601 } 26602 26603 // There are no "black-listed" or "white-listed" bytes: 26604 // this stream either is empty or has tolerated ("gray-listed") bytes only. 26605 return Z_BINARY 26606 } 26607 26608 // =========================================================================== 26609 // Reverse the first len bits of a code, using straightforward code (a faster 26610 // method would use a table) 26611 // IN assertion: 1 <= len <= 15 26612 func bi_reverse(tls *libc.TLS, code uint32, len int32) uint32 { /* trees.c:1158:16: */ 26613 var res uint32 = uint32(0) 26614 for ok := true; ok; ok = libc.PreDecInt32(&len, 1) > 0 { 26615 res = res | code&uint32(1) 26616 code >>= 1 26617 res <<= 1 26618 } 26619 return res >> 1 26620 } 26621 26622 // =========================================================================== 26623 // Flush the bit buffer, keeping at most 7 bits in it. 26624 func bi_flush(tls *libc.TLS, s uintptr) { /* trees.c:1173:12: */ 26625 if (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid == 16 { 26626 { 26627 { 26628 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) & 0xff) 26629 } 26630 { 26631 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) >> 8) 26632 } 26633 26634 } 26635 26636 (*Deflate_state)(unsafe.Pointer(s)).Fbi_buf = Ush(0) 26637 (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid = 0 26638 } else if (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid >= 8 { 26639 { 26640 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Byte((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) 26641 } 26642 26643 libc.AssignShrPtrUint16(s+5936, int(8)) 26644 *(*int32)(unsafe.Pointer(s + 5940)) -= 8 26645 } 26646 } 26647 26648 // =========================================================================== 26649 // Flush the bit buffer and align the output on a byte boundary 26650 func bi_windup(tls *libc.TLS, s uintptr) { /* trees.c:1190:12: */ 26651 if (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid > 8 { 26652 { 26653 { 26654 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) & 0xff) 26655 } 26656 { 26657 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) >> 8) 26658 } 26659 26660 } 26661 26662 } else if (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid > 0 { 26663 { 26664 *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Byte((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) 26665 } 26666 26667 } 26668 (*Deflate_state)(unsafe.Pointer(s)).Fbi_buf = Ush(0) 26669 (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid = 0 26670 } 26671 26672 // =========================================================================== 26673 // Decompresses the source buffer into the destination buffer. *sourceLen is 26674 // the byte length of the source buffer. Upon entry, *destLen is the total size 26675 // of the destination buffer, which must be large enough to hold the entire 26676 // uncompressed data. (The size of the uncompressed data must have been saved 26677 // previously by the compressor and transmitted to the decompressor by some 26678 // mechanism outside the scope of this compression library.) Upon exit, 26679 // *destLen is the size of the decompressed data and *sourceLen is the number 26680 // of source bytes consumed. Upon return, source + *sourceLen points to the 26681 // first unused input byte. 26682 // 26683 // uncompress returns Z_OK if success, Z_MEM_ERROR if there was not enough 26684 // memory, Z_BUF_ERROR if there was not enough room in the output buffer, or 26685 // Z_DATA_ERROR if the input data was corrupted, including if the input data is 26686 // an incomplete zlib stream. 26687 func Xuncompress2(tls *libc.TLS, dest uintptr, destLen uintptr, source uintptr, sourceLen uintptr) int32 { /* uncompr.c:27:13: */ 26688 bp := tls.Alloc(120) 26689 defer tls.Free(120) 26690 26691 // var stream Z_stream at bp+8, 112 26692 26693 var err int32 26694 var max UInt = libc.Uint32(libc.Uint32FromInt32(-1)) 26695 var len ULong 26696 var left ULong 26697 // var buf [1]Byte at bp, 1 26698 // for detection of incomplete stream when *destLen == 0 26699 26700 len = *(*ULong)(unsafe.Pointer(sourceLen)) 26701 if *(*ULongf)(unsafe.Pointer(destLen)) != 0 { 26702 left = *(*ULongf)(unsafe.Pointer(destLen)) 26703 *(*ULongf)(unsafe.Pointer(destLen)) = uint64(0) 26704 } else { 26705 left = uint64(1) 26706 dest = bp /* &buf[0] */ 26707 } 26708 26709 (*Z_stream)(unsafe.Pointer(bp + 8 /* &stream */)).Fnext_in = source 26710 (*Z_stream)(unsafe.Pointer(bp + 8 /* &stream */)).Favail_in = UInt(0) 26711 (*Z_stream)(unsafe.Pointer(bp + 8 /* &stream */)).Fzalloc = uintptr(0) 26712 (*Z_stream)(unsafe.Pointer(bp + 8 /* &stream */)).Fzfree = uintptr(0) 26713 (*Z_stream)(unsafe.Pointer(bp + 8 /* &stream */)).Fopaque = uintptr(0) 26714 26715 err = XinflateInit_(tls, bp+8, ts, int32(unsafe.Sizeof(Z_stream{}))) 26716 if err != Z_OK { 26717 return err 26718 } 26719 26720 (*Z_stream)(unsafe.Pointer(bp + 8 /* &stream */)).Fnext_out = dest 26721 (*Z_stream)(unsafe.Pointer(bp + 8 /* &stream */)).Favail_out = UInt(0) 26722 26723 for ok := true; ok; ok = err == Z_OK { 26724 if (*Z_stream)(unsafe.Pointer(bp+8)).Favail_out == UInt(0) { 26725 (*Z_stream)(unsafe.Pointer(bp + 8 /* &stream */)).Favail_out = func() uint32 { 26726 if left > ULong(max) { 26727 return max 26728 } 26729 return UInt(left) 26730 }() 26731 left = left - ULong((*Z_stream)(unsafe.Pointer(bp+8)).Favail_out) 26732 } 26733 if (*Z_stream)(unsafe.Pointer(bp+8)).Favail_in == UInt(0) { 26734 (*Z_stream)(unsafe.Pointer(bp + 8 /* &stream */)).Favail_in = func() uint32 { 26735 if len > ULong(max) { 26736 return max 26737 } 26738 return UInt(len) 26739 }() 26740 len = len - ULong((*Z_stream)(unsafe.Pointer(bp+8)).Favail_in) 26741 } 26742 err = Xinflate(tls, bp+8, Z_NO_FLUSH) 26743 } 26744 26745 *(*ULong)(unsafe.Pointer(sourceLen)) -= len + ULong((*Z_stream)(unsafe.Pointer(bp+8)).Favail_in) 26746 if dest != bp { 26747 *(*ULongf)(unsafe.Pointer(destLen)) = (*Z_stream)(unsafe.Pointer(bp + 8 /* &stream */)).Ftotal_out 26748 } else if (*Z_stream)(unsafe.Pointer(bp+8)).Ftotal_out != 0 && err == -5 { 26749 left = uint64(1) 26750 } 26751 26752 XinflateEnd(tls, bp+8) 26753 if err == Z_STREAM_END { 26754 return Z_OK 26755 } 26756 if err == Z_NEED_DICT { 26757 return -3 26758 } 26759 if err == -5 && left+ULong((*Z_stream)(unsafe.Pointer(bp+8)).Favail_out) != 0 { 26760 return -3 26761 } 26762 return err 26763 } 26764 26765 func Xuncompress(tls *libc.TLS, dest uintptr, destLen uintptr, source uintptr, sourceLen ULong) int32 { /* uncompr.c:86:13: */ 26766 bp := tls.Alloc(8) 26767 defer tls.Free(8) 26768 *(*ULong)(unsafe.Pointer(bp)) = sourceLen 26769 26770 return Xuncompress2(tls, dest, destLen, source, bp) 26771 } 26772 26773 // GT_OFF(x), where x is an unsigned value, is true if x > maximum z_off64_t 26774 // value -- needed when comparing unsigned to z_off64_t, which is signed 26775 // (possible z_off64_t types off_t, off64_t, and long are all signed) 26776 26777 var Xz_errmsg = [10]uintptr{ 26778 uintptr(ts + 876), 26779 uintptr(ts + 892), 26780 uintptr(ts + 101), 26781 uintptr(ts + 903), 26782 uintptr(ts + 914), 26783 uintptr(ts + 927), 26784 uintptr(ts + 938), 26785 uintptr(ts + 958), 26786 uintptr(ts + 971), 26787 uintptr(ts + 101), 26788 } /* zutil.c:13:14 */ 26789 26790 func XzlibVersion(tls *libc.TLS) uintptr { /* zutil.c:27:12: */ 26791 return ts /* "1.2.11" */ 26792 } 26793 26794 func XzlibCompileFlags(tls *libc.TLS) ULong { /* zutil.c:32:15: */ 26795 var flags ULong 26796 26797 flags = uint64(0) 26798 switch int32(unsafe.Sizeof(UInt(0))) { 26799 case 2: 26800 break 26801 case 4: 26802 flags = flags + uint64(1) 26803 break 26804 case 8: 26805 flags = flags + uint64(2) 26806 break 26807 default: 26808 flags = flags + uint64(3) 26809 } 26810 switch int32(unsafe.Sizeof(ULong(0))) { 26811 case 2: 26812 break 26813 case 4: 26814 flags = flags + uint64(int32(1)<<2) 26815 break 26816 case 8: 26817 flags = flags + uint64(int32(2)<<2) 26818 break 26819 default: 26820 flags = flags + uint64(int32(3)<<2) 26821 } 26822 switch int32(unsafe.Sizeof(Voidpf(0))) { 26823 case 2: 26824 break 26825 case 4: 26826 flags = flags + uint64(int32(1)<<4) 26827 break 26828 case 8: 26829 flags = flags + uint64(int32(2)<<4) 26830 break 26831 default: 26832 flags = flags + uint64(int32(3)<<4) 26833 } 26834 switch int32(unsafe.Sizeof(Off_t(0))) { 26835 case 2: 26836 break 26837 case 4: 26838 flags = flags + uint64(int32(1)<<6) 26839 break 26840 case 8: 26841 flags = flags + uint64(int32(2)<<6) 26842 break 26843 default: 26844 flags = flags + uint64(int32(3)<<6) 26845 } 26846 return flags 26847 } 26848 26849 // exported to allow conversion of error code to string for compress() and 26850 // uncompress() 26851 func XzError(tls *libc.TLS, err int32) uintptr { /* zutil.c:133:12: */ 26852 return Xz_errmsg[Z_NEED_DICT-err] 26853 } 26854 26855 func Xzcalloc(tls *libc.TLS, opaque Voidpf, items uint32, size uint32) Voidpf { /* zutil.c:305:22: */ 26856 _ = opaque 26857 if uint64(unsafe.Sizeof(UInt(0))) > uint64(2) { 26858 return libc.Xmalloc(tls, uint64(items*size)) 26859 } 26860 return libc.Xcalloc(tls, uint64(items), uint64(size)) 26861 } 26862 26863 func Xzcfree(tls *libc.TLS, opaque Voidpf, ptr Voidpf) { /* zutil.c:315:20: */ 26864 _ = opaque 26865 libc.Xfree(tls, ptr) 26866 } 26867 26868 func init() { 26869 *(*func(*libc.TLS, uintptr, int32) Block_state)(unsafe.Pointer(uintptr(unsafe.Pointer(&configuration_table)) + 8)) = deflate_stored // deflate.c:136:29: 26870 *(*func(*libc.TLS, uintptr, int32) Block_state)(unsafe.Pointer(uintptr(unsafe.Pointer(&configuration_table)) + 24)) = deflate_fast // deflate.c:137:29: 26871 *(*func(*libc.TLS, uintptr, int32) Block_state)(unsafe.Pointer(uintptr(unsafe.Pointer(&configuration_table)) + 40)) = deflate_fast // deflate.c:138:29: 26872 *(*func(*libc.TLS, uintptr, int32) Block_state)(unsafe.Pointer(uintptr(unsafe.Pointer(&configuration_table)) + 56)) = deflate_fast // deflate.c:139:29: 26873 *(*func(*libc.TLS, uintptr, int32) Block_state)(unsafe.Pointer(uintptr(unsafe.Pointer(&configuration_table)) + 72)) = deflate_slow // deflate.c:141:29: 26874 *(*func(*libc.TLS, uintptr, int32) Block_state)(unsafe.Pointer(uintptr(unsafe.Pointer(&configuration_table)) + 88)) = deflate_slow // deflate.c:142:29: 26875 *(*func(*libc.TLS, uintptr, int32) Block_state)(unsafe.Pointer(uintptr(unsafe.Pointer(&configuration_table)) + 104)) = deflate_slow // deflate.c:143:29: 26876 *(*func(*libc.TLS, uintptr, int32) Block_state)(unsafe.Pointer(uintptr(unsafe.Pointer(&configuration_table)) + 120)) = deflate_slow // deflate.c:144:29: 26877 *(*func(*libc.TLS, uintptr, int32) Block_state)(unsafe.Pointer(uintptr(unsafe.Pointer(&configuration_table)) + 136)) = deflate_slow // deflate.c:145:30: 26878 *(*func(*libc.TLS, uintptr, int32) Block_state)(unsafe.Pointer(uintptr(unsafe.Pointer(&configuration_table)) + 152)) = deflate_slow // deflate.c:146:30: 26879 *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&static_bl_desc)) + 8 /* .extra_bits */)) = uintptr(unsafe.Pointer(&extra_blbits)) // trees.c:132:22: 26880 *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&static_d_desc)) + 0 /* .static_tree */)) = uintptr(unsafe.Pointer(&static_dtree)) // trees.c:129:2: 26881 *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&static_d_desc)) + 8 /* .extra_bits */)) = uintptr(unsafe.Pointer(&extra_dbits)) // trees.c:129:16: 26882 *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&static_l_desc)) + 0 /* .static_tree */)) = uintptr(unsafe.Pointer(&static_ltree)) // trees.c:126:2: 26883 *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&static_l_desc)) + 8 /* .extra_bits */)) = uintptr(unsafe.Pointer(&extra_lbits)) // trees.c:126:16: 26884 } 26885 26886 var ts1 = "1.2.11\x00 deflate 1.2.11 Copyright 1995-2017 Jean-loup Gailly and Mark Adler \x00%s\x00<fd:%d>\x00out of memory\x00\x00%s%s%s\x00: \x00unexpected end of file\x00internal error: inflate stream corrupt\x00compressed data error\x00request does not fit in an int\x00request does not fit in a size_t\x00out of room to push characters\x00internal error: deflate stream corrupt\x00requested length does not fit in int\x00invalid block type\x00invalid stored block lengths\x00too many length or distance symbols\x00invalid code lengths set\x00invalid bit length repeat\x00invalid code -- missing end-of-block\x00invalid literal/lengths set\x00invalid distances set\x00invalid literal/length code\x00invalid distance code\x00invalid distance too far back\x00incorrect header check\x00unknown compression method\x00invalid window size\x00unknown header flags set\x00header crc mismatch\x00incorrect data check\x00incorrect length check\x00 inflate 1.2.11 Copyright 1995-2017 Mark Adler \x00need dictionary\x00stream end\x00file error\x00stream error\x00data error\x00insufficient memory\x00buffer error\x00incompatible version\x00" 26887 var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data