Copy disabled (too large)
Download .txt
Showing preview only (40,622K chars total). Download the full file to get everything.
Repository: alibaba/atlas
Branch: master
Commit: c20c5b83f67b
Files: 4239
Total size: 37.8 MB
Directory structure:
gitextract_as4hsawy/
├── .github/
│ └── ISSUE_TEMPLATE.md
├── .gitignore
├── .gitmodules
├── CONTRIBUTING.md
├── LICENSE
├── NOTICE
├── README.md
├── _config.yml
├── atlas-aapt/
│ ├── .gitignore
│ ├── CMakeLists.txt
│ ├── Makefile
│ ├── README.md
│ ├── README.zh-cn.md
│ ├── UpdateAndroidSource.sh
│ ├── bionic/
│ │ └── libc/
│ │ └── include/
│ │ ├── alloca.h
│ │ ├── android/
│ │ │ ├── api-level.h
│ │ │ ├── dlext.h
│ │ │ ├── legacy_errno_inlines.h
│ │ │ ├── legacy_signal_inlines.h
│ │ │ ├── legacy_stdlib_inlines.h
│ │ │ ├── legacy_sys_atomics_inlines.h
│ │ │ ├── legacy_sys_stat_inlines.h
│ │ │ ├── legacy_termios_inlines.h
│ │ │ └── set_abort_message.h
│ │ ├── ar.h
│ │ ├── arpa/
│ │ │ ├── inet.h
│ │ │ ├── nameser.h
│ │ │ ├── nameser_compat.h
│ │ │ └── telnet.h
│ │ ├── assert.h
│ │ ├── bits/
│ │ │ ├── lockf.h
│ │ │ ├── posix_limits.h
│ │ │ ├── pthread_types.h
│ │ │ ├── timespec.h
│ │ │ └── wchar_limits.h
│ │ ├── byteswap.h
│ │ ├── ctype.h
│ │ ├── dirent.h
│ │ ├── dlfcn.h
│ │ ├── elf.h
│ │ ├── endian.h
│ │ ├── err.h
│ │ ├── errno.h
│ │ ├── error.h
│ │ ├── fcntl.h
│ │ ├── features.h
│ │ ├── fnmatch.h
│ │ ├── fts.h
│ │ ├── ftw.h
│ │ ├── getopt.h
│ │ ├── grp.h
│ │ ├── ifaddrs.h
│ │ ├── inttypes.h
│ │ ├── lastlog.h
│ │ ├── libgen.h
│ │ ├── limits.h
│ │ ├── link.h
│ │ ├── locale.h
│ │ ├── machine/
│ │ │ ├── endian.h
│ │ │ └── ieee.h
│ │ ├── malloc.h
│ │ ├── memory.h
│ │ ├── mntent.h
│ │ ├── net/
│ │ │ ├── ethernet.h
│ │ │ ├── ethertypes.h
│ │ │ ├── if.h
│ │ │ ├── if_arp.h
│ │ │ ├── if_ether.h
│ │ │ ├── if_ieee1394.h
│ │ │ ├── if_packet.h
│ │ │ ├── if_types.h
│ │ │ └── route.h
│ │ ├── netdb.h
│ │ ├── netinet/
│ │ │ ├── ether.h
│ │ │ ├── icmp6.h
│ │ │ ├── if_ether.h
│ │ │ ├── in.h
│ │ │ ├── in6.h
│ │ │ ├── in_systm.h
│ │ │ ├── ip.h
│ │ │ ├── ip6.h
│ │ │ ├── ip_icmp.h
│ │ │ ├── tcp.h
│ │ │ └── udp.h
│ │ ├── netpacket/
│ │ │ └── packet.h
│ │ ├── nsswitch.h
│ │ ├── paths.h
│ │ ├── poll.h
│ │ ├── pthread.h
│ │ ├── pty.h
│ │ ├── pwd.h
│ │ ├── regex.h
│ │ ├── resolv.h
│ │ ├── sched.h
│ │ ├── search.h
│ │ ├── semaphore.h
│ │ ├── setjmp.h
│ │ ├── sgtty.h
│ │ ├── signal.h
│ │ ├── stdatomic.h
│ │ ├── stdint.h
│ │ ├── stdio.h
│ │ ├── stdio_ext.h
│ │ ├── stdlib.h
│ │ ├── string.h
│ │ ├── strings.h
│ │ ├── sys/
│ │ │ ├── _errdefs.h
│ │ │ ├── _sigdefs.h
│ │ │ ├── _system_properties.h
│ │ │ ├── atomics.h
│ │ │ ├── auxv.h
│ │ │ ├── cachectl.h
│ │ │ ├── capability.h
│ │ │ ├── cdefs.h
│ │ │ ├── endian.h
│ │ │ ├── epoll.h
│ │ │ ├── errno.h
│ │ │ ├── eventfd.h
│ │ │ ├── fcntl.h
│ │ │ ├── file.h
│ │ │ ├── fsuid.h
│ │ │ ├── glibc-syscalls.h
│ │ │ ├── inotify.h
│ │ │ ├── ioctl.h
│ │ │ ├── ioctl_compat.h
│ │ │ ├── ipc.h
│ │ │ ├── klog.h
│ │ │ ├── limits.h
│ │ │ ├── mman.h
│ │ │ ├── mount.h
│ │ │ ├── msg.h
│ │ │ ├── param.h
│ │ │ ├── personality.h
│ │ │ ├── poll.h
│ │ │ ├── prctl.h
│ │ │ ├── procfs.h
│ │ │ ├── ptrace.h
│ │ │ ├── queue.h
│ │ │ ├── reboot.h
│ │ │ ├── reg.h
│ │ │ ├── resource.h
│ │ │ ├── select.h
│ │ │ ├── sem.h
│ │ │ ├── sendfile.h
│ │ │ ├── signal.h
│ │ │ ├── signalfd.h
│ │ │ ├── socket.h
│ │ │ ├── socketcalls.h
│ │ │ ├── stat.h
│ │ │ ├── statfs.h
│ │ │ ├── statvfs.h
│ │ │ ├── swap.h
│ │ │ ├── syscall.h
│ │ │ ├── sysconf.h
│ │ │ ├── sysinfo.h
│ │ │ ├── syslimits.h
│ │ │ ├── syslog.h
│ │ │ ├── sysmacros.h
│ │ │ ├── system_properties.h
│ │ │ ├── time.h
│ │ │ ├── timerfd.h
│ │ │ ├── times.h
│ │ │ ├── timex.h
│ │ │ ├── ttychars.h
│ │ │ ├── ttydefaults.h
│ │ │ ├── ttydev.h
│ │ │ ├── types.h
│ │ │ ├── ucontext.h
│ │ │ ├── uio.h
│ │ │ ├── un.h
│ │ │ ├── unistd.h
│ │ │ ├── user.h
│ │ │ ├── utime.h
│ │ │ ├── utsname.h
│ │ │ ├── vfs.h
│ │ │ ├── vt.h
│ │ │ ├── wait.h
│ │ │ └── xattr.h
│ │ ├── syscall.h
│ │ ├── sysexits.h
│ │ ├── syslog.h
│ │ ├── termio.h
│ │ ├── termios.h
│ │ ├── time.h
│ │ ├── time64.h
│ │ ├── uchar.h
│ │ ├── ucontext.h
│ │ ├── unistd.h
│ │ ├── util.h
│ │ ├── utime.h
│ │ ├── utmp.h
│ │ ├── wait.h
│ │ ├── wchar.h
│ │ ├── wctype.h
│ │ └── xlocale.h
│ ├── build_ShakaAapt_all_in_linux.sh
│ ├── build_ShakaAapt_all_in_maxos.sh
│ ├── external/
│ │ ├── compiler-rt/
│ │ │ ├── .arcconfig
│ │ │ ├── .gitignore
│ │ │ ├── Android.bp
│ │ │ ├── Android.mk
│ │ │ ├── CMakeLists.txt
│ │ │ ├── CODE_OWNERS.TXT
│ │ │ ├── CREDITS.TXT
│ │ │ ├── LICENSE.TXT
│ │ │ ├── MODULE_LICENSE_MIT
│ │ │ ├── Makefile
│ │ │ ├── NOTICE
│ │ │ ├── README.android
│ │ │ ├── README.txt
│ │ │ ├── cmake/
│ │ │ │ ├── Modules/
│ │ │ │ │ ├── AddCompilerRT.cmake
│ │ │ │ │ ├── CompilerRTCompile.cmake
│ │ │ │ │ ├── CompilerRTDarwinUtils.cmake
│ │ │ │ │ ├── CompilerRTLink.cmake
│ │ │ │ │ ├── CompilerRTUtils.cmake
│ │ │ │ │ └── SanitizerUtils.cmake
│ │ │ │ └── config-ix.cmake
│ │ │ ├── include/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ └── sanitizer/
│ │ │ │ ├── allocator_interface.h
│ │ │ │ ├── asan_interface.h
│ │ │ │ ├── common_interface_defs.h
│ │ │ │ ├── coverage_interface.h
│ │ │ │ ├── dfsan_interface.h
│ │ │ │ ├── linux_syscall_hooks.h
│ │ │ │ ├── lsan_interface.h
│ │ │ │ ├── msan_interface.h
│ │ │ │ └── tsan_interface_atomic.h
│ │ │ ├── lib/
│ │ │ │ ├── BlocksRuntime/
│ │ │ │ │ ├── Block.h
│ │ │ │ │ ├── Block_private.h
│ │ │ │ │ ├── data.c
│ │ │ │ │ └── runtime.c
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── Makefile.mk
│ │ │ │ ├── asan/
│ │ │ │ │ ├── .clang-format
│ │ │ │ │ ├── Android.mk
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── Makefile.mk
│ │ │ │ │ ├── README.txt
│ │ │ │ │ ├── asan.syms.extra
│ │ │ │ │ ├── asan_activation.cc
│ │ │ │ │ ├── asan_activation.h
│ │ │ │ │ ├── asan_activation_flags.inc
│ │ │ │ │ ├── asan_allocator.cc
│ │ │ │ │ ├── asan_allocator.h
│ │ │ │ │ ├── asan_android_stub.cc
│ │ │ │ │ ├── asan_blacklist.txt
│ │ │ │ │ ├── asan_debugging.cc
│ │ │ │ │ ├── asan_fake_stack.cc
│ │ │ │ │ ├── asan_fake_stack.h
│ │ │ │ │ ├── asan_flags.cc
│ │ │ │ │ ├── asan_flags.h
│ │ │ │ │ ├── asan_flags.inc
│ │ │ │ │ ├── asan_globals.cc
│ │ │ │ │ ├── asan_init_version.h
│ │ │ │ │ ├── asan_interceptors.cc
│ │ │ │ │ ├── asan_interceptors.h
│ │ │ │ │ ├── asan_interface_internal.h
│ │ │ │ │ ├── asan_internal.h
│ │ │ │ │ ├── asan_linux.cc
│ │ │ │ │ ├── asan_lock.h
│ │ │ │ │ ├── asan_mac.cc
│ │ │ │ │ ├── asan_malloc_linux.cc
│ │ │ │ │ ├── asan_malloc_mac.cc
│ │ │ │ │ ├── asan_malloc_win.cc
│ │ │ │ │ ├── asan_mapping.h
│ │ │ │ │ ├── asan_new_delete.cc
│ │ │ │ │ ├── asan_poisoning.cc
│ │ │ │ │ ├── asan_poisoning.h
│ │ │ │ │ ├── asan_posix.cc
│ │ │ │ │ ├── asan_preinit.cc
│ │ │ │ │ ├── asan_report.cc
│ │ │ │ │ ├── asan_report.h
│ │ │ │ │ ├── asan_rtl.cc
│ │ │ │ │ ├── asan_stack.cc
│ │ │ │ │ ├── asan_stack.h
│ │ │ │ │ ├── asan_stats.cc
│ │ │ │ │ ├── asan_stats.h
│ │ │ │ │ ├── asan_suppressions.cc
│ │ │ │ │ ├── asan_suppressions.h
│ │ │ │ │ ├── asan_thread.cc
│ │ │ │ │ ├── asan_thread.h
│ │ │ │ │ ├── asan_win.cc
│ │ │ │ │ ├── asan_win_dll_thunk.cc
│ │ │ │ │ ├── asan_win_dynamic_runtime_thunk.cc
│ │ │ │ │ ├── asanwrapper.cc
│ │ │ │ │ ├── scripts/
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── asan_device_setup
│ │ │ │ │ │ ├── asan_symbolize.py
│ │ │ │ │ │ └── symbolize.py
│ │ │ │ │ └── tests/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── asan_asm_test.cc
│ │ │ │ │ ├── asan_benchmarks_test.cc
│ │ │ │ │ ├── asan_exceptions_test.cc
│ │ │ │ │ ├── asan_fake_stack_test.cc
│ │ │ │ │ ├── asan_globals_test.cc
│ │ │ │ │ ├── asan_interface_test.cc
│ │ │ │ │ ├── asan_mac_test.cc
│ │ │ │ │ ├── asan_mac_test.h
│ │ │ │ │ ├── asan_mac_test_helpers.mm
│ │ │ │ │ ├── asan_mem_test.cc
│ │ │ │ │ ├── asan_noinst_test.cc
│ │ │ │ │ ├── asan_oob_test.cc
│ │ │ │ │ ├── asan_racy_double_free_test.cc
│ │ │ │ │ ├── asan_str_test.cc
│ │ │ │ │ ├── asan_test.cc
│ │ │ │ │ ├── asan_test.ignore
│ │ │ │ │ ├── asan_test_config.h
│ │ │ │ │ ├── asan_test_main.cc
│ │ │ │ │ └── asan_test_utils.h
│ │ │ │ ├── builtins/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── Darwin-excludes/
│ │ │ │ │ │ ├── 10.4-x86_64.txt
│ │ │ │ │ │ ├── 10.4.txt
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── README.TXT
│ │ │ │ │ │ ├── ios-armv7.txt
│ │ │ │ │ │ ├── ios-armv7s.txt
│ │ │ │ │ │ ├── ios.txt
│ │ │ │ │ │ ├── ios6-armv7.txt
│ │ │ │ │ │ ├── ios6-armv7s.txt
│ │ │ │ │ │ ├── ios7-arm64.txt
│ │ │ │ │ │ ├── iossim-i386.txt
│ │ │ │ │ │ ├── iossim-x86_64.txt
│ │ │ │ │ │ ├── iossim.txt
│ │ │ │ │ │ ├── osx-i386.txt
│ │ │ │ │ │ ├── osx-x86_64.txt
│ │ │ │ │ │ └── osx.txt
│ │ │ │ │ ├── Makefile.mk
│ │ │ │ │ ├── README.txt
│ │ │ │ │ ├── absvdi2.c
│ │ │ │ │ ├── absvsi2.c
│ │ │ │ │ ├── absvti2.c
│ │ │ │ │ ├── adddf3.c
│ │ │ │ │ ├── addsf3.c
│ │ │ │ │ ├── addtf3.c
│ │ │ │ │ ├── addvdi3.c
│ │ │ │ │ ├── addvsi3.c
│ │ │ │ │ ├── addvti3.c
│ │ │ │ │ ├── apple_versioning.c
│ │ │ │ │ ├── arm/
│ │ │ │ │ │ ├── Makefile.mk
│ │ │ │ │ │ ├── adddf3vfp.S
│ │ │ │ │ │ ├── addsf3vfp.S
│ │ │ │ │ │ ├── aeabi_cdcmp.S
│ │ │ │ │ │ ├── aeabi_cdcmpeq_check_nan.c
│ │ │ │ │ │ ├── aeabi_cfcmp.S
│ │ │ │ │ │ ├── aeabi_cfcmpeq_check_nan.c
│ │ │ │ │ │ ├── aeabi_dcmp.S
│ │ │ │ │ │ ├── aeabi_div0.c
│ │ │ │ │ │ ├── aeabi_drsub.c
│ │ │ │ │ │ ├── aeabi_fcmp.S
│ │ │ │ │ │ ├── aeabi_frsub.c
│ │ │ │ │ │ ├── aeabi_idivmod.S
│ │ │ │ │ │ ├── aeabi_ldivmod.S
│ │ │ │ │ │ ├── aeabi_memcmp.S
│ │ │ │ │ │ ├── aeabi_memcpy.S
│ │ │ │ │ │ ├── aeabi_memmove.S
│ │ │ │ │ │ ├── aeabi_memset.S
│ │ │ │ │ │ ├── aeabi_uidivmod.S
│ │ │ │ │ │ ├── aeabi_uldivmod.S
│ │ │ │ │ │ ├── bswapdi2.S
│ │ │ │ │ │ ├── bswapsi2.S
│ │ │ │ │ │ ├── clzdi2.S
│ │ │ │ │ │ ├── clzsi2.S
│ │ │ │ │ │ ├── comparesf2.S
│ │ │ │ │ │ ├── divdf3vfp.S
│ │ │ │ │ │ ├── divmodsi4.S
│ │ │ │ │ │ ├── divsf3vfp.S
│ │ │ │ │ │ ├── divsi3.S
│ │ │ │ │ │ ├── eqdf2vfp.S
│ │ │ │ │ │ ├── eqsf2vfp.S
│ │ │ │ │ │ ├── extendsfdf2vfp.S
│ │ │ │ │ │ ├── fixdfsivfp.S
│ │ │ │ │ │ ├── fixsfsivfp.S
│ │ │ │ │ │ ├── fixunsdfsivfp.S
│ │ │ │ │ │ ├── fixunssfsivfp.S
│ │ │ │ │ │ ├── floatsidfvfp.S
│ │ │ │ │ │ ├── floatsisfvfp.S
│ │ │ │ │ │ ├── floatunssidfvfp.S
│ │ │ │ │ │ ├── floatunssisfvfp.S
│ │ │ │ │ │ ├── gedf2vfp.S
│ │ │ │ │ │ ├── gesf2vfp.S
│ │ │ │ │ │ ├── gtdf2vfp.S
│ │ │ │ │ │ ├── gtsf2vfp.S
│ │ │ │ │ │ ├── ledf2vfp.S
│ │ │ │ │ │ ├── lesf2vfp.S
│ │ │ │ │ │ ├── ltdf2vfp.S
│ │ │ │ │ │ ├── ltsf2vfp.S
│ │ │ │ │ │ ├── modsi3.S
│ │ │ │ │ │ ├── muldf3vfp.S
│ │ │ │ │ │ ├── mulsf3vfp.S
│ │ │ │ │ │ ├── nedf2vfp.S
│ │ │ │ │ │ ├── negdf2vfp.S
│ │ │ │ │ │ ├── negsf2vfp.S
│ │ │ │ │ │ ├── nesf2vfp.S
│ │ │ │ │ │ ├── restore_vfp_d8_d15_regs.S
│ │ │ │ │ │ ├── save_vfp_d8_d15_regs.S
│ │ │ │ │ │ ├── softfloat-alias.list
│ │ │ │ │ │ ├── subdf3vfp.S
│ │ │ │ │ │ ├── subsf3vfp.S
│ │ │ │ │ │ ├── switch16.S
│ │ │ │ │ │ ├── switch32.S
│ │ │ │ │ │ ├── switch8.S
│ │ │ │ │ │ ├── switchu8.S
│ │ │ │ │ │ ├── sync-ops.h
│ │ │ │ │ │ ├── sync_fetch_and_add_4.S
│ │ │ │ │ │ ├── sync_fetch_and_add_8.S
│ │ │ │ │ │ ├── sync_fetch_and_and_4.S
│ │ │ │ │ │ ├── sync_fetch_and_and_8.S
│ │ │ │ │ │ ├── sync_fetch_and_max_4.S
│ │ │ │ │ │ ├── sync_fetch_and_max_8.S
│ │ │ │ │ │ ├── sync_fetch_and_min_4.S
│ │ │ │ │ │ ├── sync_fetch_and_min_8.S
│ │ │ │ │ │ ├── sync_fetch_and_nand_4.S
│ │ │ │ │ │ ├── sync_fetch_and_nand_8.S
│ │ │ │ │ │ ├── sync_fetch_and_or_4.S
│ │ │ │ │ │ ├── sync_fetch_and_or_8.S
│ │ │ │ │ │ ├── sync_fetch_and_sub_4.S
│ │ │ │ │ │ ├── sync_fetch_and_sub_8.S
│ │ │ │ │ │ ├── sync_fetch_and_umax_4.S
│ │ │ │ │ │ ├── sync_fetch_and_umax_8.S
│ │ │ │ │ │ ├── sync_fetch_and_umin_4.S
│ │ │ │ │ │ ├── sync_fetch_and_umin_8.S
│ │ │ │ │ │ ├── sync_fetch_and_xor_4.S
│ │ │ │ │ │ ├── sync_fetch_and_xor_8.S
│ │ │ │ │ │ ├── sync_synchronize.S
│ │ │ │ │ │ ├── truncdfsf2vfp.S
│ │ │ │ │ │ ├── udivmodsi4.S
│ │ │ │ │ │ ├── udivsi3.S
│ │ │ │ │ │ ├── umodsi3.S
│ │ │ │ │ │ ├── unorddf2vfp.S
│ │ │ │ │ │ └── unordsf2vfp.S
│ │ │ │ │ ├── arm64/
│ │ │ │ │ │ ├── Makefile.mk
│ │ │ │ │ │ └── dummy.c
│ │ │ │ │ ├── armv6m/
│ │ │ │ │ │ └── Makefile.mk
│ │ │ │ │ ├── ashldi3.c
│ │ │ │ │ ├── ashlti3.c
│ │ │ │ │ ├── ashrdi3.c
│ │ │ │ │ ├── ashrti3.c
│ │ │ │ │ ├── assembly.h
│ │ │ │ │ ├── atomic.c
│ │ │ │ │ ├── atomic_flag_clear.c
│ │ │ │ │ ├── atomic_flag_clear_explicit.c
│ │ │ │ │ ├── atomic_flag_test_and_set.c
│ │ │ │ │ ├── atomic_flag_test_and_set_explicit.c
│ │ │ │ │ ├── atomic_signal_fence.c
│ │ │ │ │ ├── atomic_thread_fence.c
│ │ │ │ │ ├── clear_cache.c
│ │ │ │ │ ├── clzdi2.c
│ │ │ │ │ ├── clzsi2.c
│ │ │ │ │ ├── clzti2.c
│ │ │ │ │ ├── cmpdi2.c
│ │ │ │ │ ├── cmpti2.c
│ │ │ │ │ ├── comparedf2.c
│ │ │ │ │ ├── comparesf2.c
│ │ │ │ │ ├── comparetf2.c
│ │ │ │ │ ├── ctzdi2.c
│ │ │ │ │ ├── ctzsi2.c
│ │ │ │ │ ├── ctzti2.c
│ │ │ │ │ ├── divdc3.c
│ │ │ │ │ ├── divdf3.c
│ │ │ │ │ ├── divdi3.c
│ │ │ │ │ ├── divmoddi4.c
│ │ │ │ │ ├── divmodsi4.c
│ │ │ │ │ ├── divsc3.c
│ │ │ │ │ ├── divsf3.c
│ │ │ │ │ ├── divsi3.c
│ │ │ │ │ ├── divtc3.c
│ │ │ │ │ ├── divtf3.c
│ │ │ │ │ ├── divti3.c
│ │ │ │ │ ├── divxc3.c
│ │ │ │ │ ├── emutls.c
│ │ │ │ │ ├── enable_execute_stack.c
│ │ │ │ │ ├── eprintf.c
│ │ │ │ │ ├── extenddftf2.c
│ │ │ │ │ ├── extendhfsf2.c
│ │ │ │ │ ├── extendsfdf2.c
│ │ │ │ │ ├── extendsftf2.c
│ │ │ │ │ ├── ffsdi2.c
│ │ │ │ │ ├── ffsti2.c
│ │ │ │ │ ├── fixdfdi.c
│ │ │ │ │ ├── fixdfsi.c
│ │ │ │ │ ├── fixdfti.c
│ │ │ │ │ ├── fixsfdi.c
│ │ │ │ │ ├── fixsfsi.c
│ │ │ │ │ ├── fixsfti.c
│ │ │ │ │ ├── fixtfdi.c
│ │ │ │ │ ├── fixtfsi.c
│ │ │ │ │ ├── fixtfti.c
│ │ │ │ │ ├── fixunsdfdi.c
│ │ │ │ │ ├── fixunsdfsi.c
│ │ │ │ │ ├── fixunsdfti.c
│ │ │ │ │ ├── fixunssfdi.c
│ │ │ │ │ ├── fixunssfsi.c
│ │ │ │ │ ├── fixunssfti.c
│ │ │ │ │ ├── fixunstfdi.c
│ │ │ │ │ ├── fixunstfsi.c
│ │ │ │ │ ├── fixunstfti.c
│ │ │ │ │ ├── fixunsxfdi.c
│ │ │ │ │ ├── fixunsxfsi.c
│ │ │ │ │ ├── fixunsxfti.c
│ │ │ │ │ ├── fixxfdi.c
│ │ │ │ │ ├── fixxfti.c
│ │ │ │ │ ├── floatdidf.c
│ │ │ │ │ ├── floatdisf.c
│ │ │ │ │ ├── floatditf.c
│ │ │ │ │ ├── floatdixf.c
│ │ │ │ │ ├── floatsidf.c
│ │ │ │ │ ├── floatsisf.c
│ │ │ │ │ ├── floatsitf.c
│ │ │ │ │ ├── floattidf.c
│ │ │ │ │ ├── floattisf.c
│ │ │ │ │ ├── floattixf.c
│ │ │ │ │ ├── floatundidf.c
│ │ │ │ │ ├── floatundisf.c
│ │ │ │ │ ├── floatunditf.c
│ │ │ │ │ ├── floatundixf.c
│ │ │ │ │ ├── floatunsidf.c
│ │ │ │ │ ├── floatunsisf.c
│ │ │ │ │ ├── floatunsitf.c
│ │ │ │ │ ├── floatuntidf.c
│ │ │ │ │ ├── floatuntisf.c
│ │ │ │ │ ├── floatuntixf.c
│ │ │ │ │ ├── fp_add_impl.inc
│ │ │ │ │ ├── fp_extend.h
│ │ │ │ │ ├── fp_extend_impl.inc
│ │ │ │ │ ├── fp_fixint_impl.inc
│ │ │ │ │ ├── fp_fixuint_impl.inc
│ │ │ │ │ ├── fp_lib.h
│ │ │ │ │ ├── fp_mul_impl.inc
│ │ │ │ │ ├── fp_trunc.h
│ │ │ │ │ ├── fp_trunc_impl.inc
│ │ │ │ │ ├── gcc_personality_v0.c
│ │ │ │ │ ├── i386/
│ │ │ │ │ │ ├── Makefile.mk
│ │ │ │ │ │ ├── ashldi3.S
│ │ │ │ │ │ ├── ashrdi3.S
│ │ │ │ │ │ ├── chkstk.S
│ │ │ │ │ │ ├── chkstk2.S
│ │ │ │ │ │ ├── divdi3.S
│ │ │ │ │ │ ├── floatdidf.S
│ │ │ │ │ │ ├── floatdisf.S
│ │ │ │ │ │ ├── floatdixf.S
│ │ │ │ │ │ ├── floatundidf.S
│ │ │ │ │ │ ├── floatundisf.S
│ │ │ │ │ │ ├── floatundixf.S
│ │ │ │ │ │ ├── lshrdi3.S
│ │ │ │ │ │ ├── moddi3.S
│ │ │ │ │ │ ├── muldi3.S
│ │ │ │ │ │ ├── udivdi3.S
│ │ │ │ │ │ └── umoddi3.S
│ │ │ │ │ ├── int_endianness.h
│ │ │ │ │ ├── int_lib.h
│ │ │ │ │ ├── int_math.h
│ │ │ │ │ ├── int_types.h
│ │ │ │ │ ├── int_util.c
│ │ │ │ │ ├── int_util.h
│ │ │ │ │ ├── lshrdi3.c
│ │ │ │ │ ├── lshrti3.c
│ │ │ │ │ ├── macho_embedded/
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── arm.txt
│ │ │ │ │ │ ├── common.txt
│ │ │ │ │ │ ├── i386.txt
│ │ │ │ │ │ ├── thumb2-64.txt
│ │ │ │ │ │ └── thumb2.txt
│ │ │ │ │ ├── moddi3.c
│ │ │ │ │ ├── modsi3.c
│ │ │ │ │ ├── modti3.c
│ │ │ │ │ ├── muldc3.c
│ │ │ │ │ ├── muldf3.c
│ │ │ │ │ ├── muldi3.c
│ │ │ │ │ ├── mulodi4.c
│ │ │ │ │ ├── mulosi4.c
│ │ │ │ │ ├── muloti4.c
│ │ │ │ │ ├── mulsc3.c
│ │ │ │ │ ├── mulsf3.c
│ │ │ │ │ ├── multc3.c
│ │ │ │ │ ├── multf3.c
│ │ │ │ │ ├── multi3.c
│ │ │ │ │ ├── mulvdi3.c
│ │ │ │ │ ├── mulvsi3.c
│ │ │ │ │ ├── mulvti3.c
│ │ │ │ │ ├── mulxc3.c
│ │ │ │ │ ├── negdf2.c
│ │ │ │ │ ├── negdi2.c
│ │ │ │ │ ├── negsf2.c
│ │ │ │ │ ├── negti2.c
│ │ │ │ │ ├── negvdi2.c
│ │ │ │ │ ├── negvsi2.c
│ │ │ │ │ ├── negvti2.c
│ │ │ │ │ ├── paritydi2.c
│ │ │ │ │ ├── paritysi2.c
│ │ │ │ │ ├── parityti2.c
│ │ │ │ │ ├── popcountdi2.c
│ │ │ │ │ ├── popcountsi2.c
│ │ │ │ │ ├── popcountti2.c
│ │ │ │ │ ├── powidf2.c
│ │ │ │ │ ├── powisf2.c
│ │ │ │ │ ├── powitf2.c
│ │ │ │ │ ├── powixf2.c
│ │ │ │ │ ├── ppc/
│ │ │ │ │ │ ├── DD.h
│ │ │ │ │ │ ├── Makefile.mk
│ │ │ │ │ │ ├── divtc3.c
│ │ │ │ │ │ ├── fixtfdi.c
│ │ │ │ │ │ ├── fixunstfdi.c
│ │ │ │ │ │ ├── floatditf.c
│ │ │ │ │ │ ├── floatunditf.c
│ │ │ │ │ │ ├── gcc_qadd.c
│ │ │ │ │ │ ├── gcc_qdiv.c
│ │ │ │ │ │ ├── gcc_qmul.c
│ │ │ │ │ │ ├── gcc_qsub.c
│ │ │ │ │ │ ├── multc3.c
│ │ │ │ │ │ ├── restFP.S
│ │ │ │ │ │ └── saveFP.S
│ │ │ │ │ ├── subdf3.c
│ │ │ │ │ ├── subsf3.c
│ │ │ │ │ ├── subtf3.c
│ │ │ │ │ ├── subvdi3.c
│ │ │ │ │ ├── subvsi3.c
│ │ │ │ │ ├── subvti3.c
│ │ │ │ │ ├── trampoline_setup.c
│ │ │ │ │ ├── truncdfhf2.c
│ │ │ │ │ ├── truncdfsf2.c
│ │ │ │ │ ├── truncsfhf2.c
│ │ │ │ │ ├── trunctfdf2.c
│ │ │ │ │ ├── trunctfsf2.c
│ │ │ │ │ ├── ucmpdi2.c
│ │ │ │ │ ├── ucmpti2.c
│ │ │ │ │ ├── udivdi3.c
│ │ │ │ │ ├── udivmoddi4.c
│ │ │ │ │ ├── udivmodsi4.c
│ │ │ │ │ ├── udivmodti4.c
│ │ │ │ │ ├── udivsi3.c
│ │ │ │ │ ├── udivti3.c
│ │ │ │ │ ├── umoddi3.c
│ │ │ │ │ ├── umodsi3.c
│ │ │ │ │ ├── umodti3.c
│ │ │ │ │ └── x86_64/
│ │ │ │ │ ├── Makefile.mk
│ │ │ │ │ ├── chkstk.S
│ │ │ │ │ ├── chkstk2.S
│ │ │ │ │ ├── floatdidf.c
│ │ │ │ │ ├── floatdisf.c
│ │ │ │ │ ├── floatdixf.c
│ │ │ │ │ ├── floatundidf.S
│ │ │ │ │ ├── floatundisf.S
│ │ │ │ │ └── floatundixf.S
│ │ │ │ ├── cfi/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── cfi.cc
│ │ │ │ │ └── cfi_blacklist.txt
│ │ │ │ ├── dfsan/
│ │ │ │ │ ├── .clang-format
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── dfsan.cc
│ │ │ │ │ ├── dfsan.h
│ │ │ │ │ ├── dfsan.syms.extra
│ │ │ │ │ ├── dfsan_custom.cc
│ │ │ │ │ ├── dfsan_flags.inc
│ │ │ │ │ ├── dfsan_interceptors.cc
│ │ │ │ │ ├── dfsan_platform.h
│ │ │ │ │ ├── done_abilist.txt
│ │ │ │ │ ├── libc_ubuntu1404_abilist.txt
│ │ │ │ │ └── scripts/
│ │ │ │ │ ├── build-libc-list.py
│ │ │ │ │ └── check_custom_wrappers.sh
│ │ │ │ ├── interception/
│ │ │ │ │ ├── .clang-format
│ │ │ │ │ ├── Android.mk
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── Makefile.mk
│ │ │ │ │ ├── interception.h
│ │ │ │ │ ├── interception_linux.cc
│ │ │ │ │ ├── interception_linux.h
│ │ │ │ │ ├── interception_mac.cc
│ │ │ │ │ ├── interception_mac.h
│ │ │ │ │ ├── interception_type_test.cc
│ │ │ │ │ ├── interception_win.cc
│ │ │ │ │ └── interception_win.h
│ │ │ │ ├── lsan/
│ │ │ │ │ ├── .clang-format
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── Makefile.mk
│ │ │ │ │ ├── lsan.cc
│ │ │ │ │ ├── lsan.h
│ │ │ │ │ ├── lsan_allocator.cc
│ │ │ │ │ ├── lsan_allocator.h
│ │ │ │ │ ├── lsan_common.cc
│ │ │ │ │ ├── lsan_common.h
│ │ │ │ │ ├── lsan_common_linux.cc
│ │ │ │ │ ├── lsan_flags.inc
│ │ │ │ │ ├── lsan_interceptors.cc
│ │ │ │ │ ├── lsan_preinit.cc
│ │ │ │ │ ├── lsan_thread.cc
│ │ │ │ │ └── lsan_thread.h
│ │ │ │ ├── msan/
│ │ │ │ │ ├── .clang-format
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── msan.cc
│ │ │ │ │ ├── msan.h
│ │ │ │ │ ├── msan.syms.extra
│ │ │ │ │ ├── msan_allocator.cc
│ │ │ │ │ ├── msan_allocator.h
│ │ │ │ │ ├── msan_blacklist.txt
│ │ │ │ │ ├── msan_chained_origin_depot.cc
│ │ │ │ │ ├── msan_chained_origin_depot.h
│ │ │ │ │ ├── msan_flags.h
│ │ │ │ │ ├── msan_flags.inc
│ │ │ │ │ ├── msan_interceptors.cc
│ │ │ │ │ ├── msan_interface_internal.h
│ │ │ │ │ ├── msan_linux.cc
│ │ │ │ │ ├── msan_new_delete.cc
│ │ │ │ │ ├── msan_origin.h
│ │ │ │ │ ├── msan_poisoning.cc
│ │ │ │ │ ├── msan_poisoning.h
│ │ │ │ │ ├── msan_report.cc
│ │ │ │ │ ├── msan_thread.cc
│ │ │ │ │ ├── msan_thread.h
│ │ │ │ │ └── tests/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── msan_loadable.cc
│ │ │ │ │ ├── msan_test.cc
│ │ │ │ │ ├── msan_test_config.h
│ │ │ │ │ └── msan_test_main.cc
│ │ │ │ ├── profile/
│ │ │ │ │ ├── Android.mk
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── GCDAProfiling.c
│ │ │ │ │ ├── InstrProfData.inc
│ │ │ │ │ ├── InstrProfiling.c
│ │ │ │ │ ├── InstrProfiling.h
│ │ │ │ │ ├── InstrProfilingBuffer.c
│ │ │ │ │ ├── InstrProfilingFile.c
│ │ │ │ │ ├── InstrProfilingInternal.h
│ │ │ │ │ ├── InstrProfilingPlatformDarwin.c
│ │ │ │ │ ├── InstrProfilingPlatformLinux.c
│ │ │ │ │ ├── InstrProfilingPlatformOther.c
│ │ │ │ │ ├── InstrProfilingPort.h
│ │ │ │ │ ├── InstrProfilingRuntime.cc
│ │ │ │ │ ├── InstrProfilingUtil.c
│ │ │ │ │ ├── InstrProfilingUtil.h
│ │ │ │ │ ├── InstrProfilingValue.c
│ │ │ │ │ ├── InstrProfilingWriter.c
│ │ │ │ │ └── Makefile.mk
│ │ │ │ ├── safestack/
│ │ │ │ │ ├── .clang-format
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── safestack.cc
│ │ │ │ ├── sanitizer_common/
│ │ │ │ │ ├── .clang-format
│ │ │ │ │ ├── Android.mk
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── Makefile.mk
│ │ │ │ │ ├── sanitizer_addrhashmap.h
│ │ │ │ │ ├── sanitizer_allocator.cc
│ │ │ │ │ ├── sanitizer_allocator.h
│ │ │ │ │ ├── sanitizer_allocator_interface.h
│ │ │ │ │ ├── sanitizer_allocator_internal.h
│ │ │ │ │ ├── sanitizer_asm.h
│ │ │ │ │ ├── sanitizer_atomic.h
│ │ │ │ │ ├── sanitizer_atomic_clang.h
│ │ │ │ │ ├── sanitizer_atomic_clang_other.h
│ │ │ │ │ ├── sanitizer_atomic_clang_x86.h
│ │ │ │ │ ├── sanitizer_atomic_msvc.h
│ │ │ │ │ ├── sanitizer_bitvector.h
│ │ │ │ │ ├── sanitizer_bvgraph.h
│ │ │ │ │ ├── sanitizer_common.cc
│ │ │ │ │ ├── sanitizer_common.h
│ │ │ │ │ ├── sanitizer_common_interceptors.inc
│ │ │ │ │ ├── sanitizer_common_interceptors_format.inc
│ │ │ │ │ ├── sanitizer_common_interceptors_ioctl.inc
│ │ │ │ │ ├── sanitizer_common_libcdep.cc
│ │ │ │ │ ├── sanitizer_common_nolibc.cc
│ │ │ │ │ ├── sanitizer_common_syscalls.inc
│ │ │ │ │ ├── sanitizer_coverage_libcdep.cc
│ │ │ │ │ ├── sanitizer_coverage_mapping_libcdep.cc
│ │ │ │ │ ├── sanitizer_deadlock_detector.h
│ │ │ │ │ ├── sanitizer_deadlock_detector1.cc
│ │ │ │ │ ├── sanitizer_deadlock_detector2.cc
│ │ │ │ │ ├── sanitizer_deadlock_detector_interface.h
│ │ │ │ │ ├── sanitizer_flag_parser.cc
│ │ │ │ │ ├── sanitizer_flag_parser.h
│ │ │ │ │ ├── sanitizer_flags.cc
│ │ │ │ │ ├── sanitizer_flags.h
│ │ │ │ │ ├── sanitizer_flags.inc
│ │ │ │ │ ├── sanitizer_freebsd.h
│ │ │ │ │ ├── sanitizer_interface_internal.h
│ │ │ │ │ ├── sanitizer_internal_defs.h
│ │ │ │ │ ├── sanitizer_lfstack.h
│ │ │ │ │ ├── sanitizer_libc.cc
│ │ │ │ │ ├── sanitizer_libc.h
│ │ │ │ │ ├── sanitizer_libignore.cc
│ │ │ │ │ ├── sanitizer_libignore.h
│ │ │ │ │ ├── sanitizer_linux.cc
│ │ │ │ │ ├── sanitizer_linux.h
│ │ │ │ │ ├── sanitizer_linux_libcdep.cc
│ │ │ │ │ ├── sanitizer_list.h
│ │ │ │ │ ├── sanitizer_mac.cc
│ │ │ │ │ ├── sanitizer_mac.h
│ │ │ │ │ ├── sanitizer_malloc_mac.inc
│ │ │ │ │ ├── sanitizer_mutex.h
│ │ │ │ │ ├── sanitizer_persistent_allocator.cc
│ │ │ │ │ ├── sanitizer_persistent_allocator.h
│ │ │ │ │ ├── sanitizer_placement_new.h
│ │ │ │ │ ├── sanitizer_platform.h
│ │ │ │ │ ├── sanitizer_platform_interceptors.h
│ │ │ │ │ ├── sanitizer_platform_limits_linux.cc
│ │ │ │ │ ├── sanitizer_platform_limits_posix.cc
│ │ │ │ │ ├── sanitizer_platform_limits_posix.h
│ │ │ │ │ ├── sanitizer_posix.cc
│ │ │ │ │ ├── sanitizer_posix.h
│ │ │ │ │ ├── sanitizer_posix_libcdep.cc
│ │ │ │ │ ├── sanitizer_printf.cc
│ │ │ │ │ ├── sanitizer_procmaps.h
│ │ │ │ │ ├── sanitizer_procmaps_common.cc
│ │ │ │ │ ├── sanitizer_procmaps_freebsd.cc
│ │ │ │ │ ├── sanitizer_procmaps_linux.cc
│ │ │ │ │ ├── sanitizer_procmaps_mac.cc
│ │ │ │ │ ├── sanitizer_quarantine.h
│ │ │ │ │ ├── sanitizer_report_decorator.h
│ │ │ │ │ ├── sanitizer_stackdepot.cc
│ │ │ │ │ ├── sanitizer_stackdepot.h
│ │ │ │ │ ├── sanitizer_stackdepotbase.h
│ │ │ │ │ ├── sanitizer_stacktrace.cc
│ │ │ │ │ ├── sanitizer_stacktrace.h
│ │ │ │ │ ├── sanitizer_stacktrace_libcdep.cc
│ │ │ │ │ ├── sanitizer_stacktrace_printer.cc
│ │ │ │ │ ├── sanitizer_stacktrace_printer.h
│ │ │ │ │ ├── sanitizer_stoptheworld.h
│ │ │ │ │ ├── sanitizer_stoptheworld_linux_libcdep.cc
│ │ │ │ │ ├── sanitizer_suppressions.cc
│ │ │ │ │ ├── sanitizer_suppressions.h
│ │ │ │ │ ├── sanitizer_symbolizer.cc
│ │ │ │ │ ├── sanitizer_symbolizer.h
│ │ │ │ │ ├── sanitizer_symbolizer_internal.h
│ │ │ │ │ ├── sanitizer_symbolizer_libbacktrace.cc
│ │ │ │ │ ├── sanitizer_symbolizer_libbacktrace.h
│ │ │ │ │ ├── sanitizer_symbolizer_libcdep.cc
│ │ │ │ │ ├── sanitizer_symbolizer_mac.cc
│ │ │ │ │ ├── sanitizer_symbolizer_mac.h
│ │ │ │ │ ├── sanitizer_symbolizer_posix_libcdep.cc
│ │ │ │ │ ├── sanitizer_symbolizer_win.cc
│ │ │ │ │ ├── sanitizer_syscall_generic.inc
│ │ │ │ │ ├── sanitizer_syscall_linux_aarch64.inc
│ │ │ │ │ ├── sanitizer_syscall_linux_x86_64.inc
│ │ │ │ │ ├── sanitizer_thread_registry.cc
│ │ │ │ │ ├── sanitizer_thread_registry.h
│ │ │ │ │ ├── sanitizer_tls_get_addr.cc
│ │ │ │ │ ├── sanitizer_tls_get_addr.h
│ │ │ │ │ ├── sanitizer_unwind_linux_libcdep.cc
│ │ │ │ │ ├── sanitizer_win.cc
│ │ │ │ │ ├── scripts/
│ │ │ │ │ │ ├── check_lint.sh
│ │ │ │ │ │ ├── cpplint.py
│ │ │ │ │ │ ├── gen_dynamic_list.py
│ │ │ │ │ │ ├── litlint.py
│ │ │ │ │ │ ├── litlint_test.py
│ │ │ │ │ │ └── sancov.py
│ │ │ │ │ └── tests/
│ │ │ │ │ ├── Android.mk
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── sanitizer_allocator_test.cc
│ │ │ │ │ ├── sanitizer_allocator_testlib.cc
│ │ │ │ │ ├── sanitizer_atomic_test.cc
│ │ │ │ │ ├── sanitizer_bitvector_test.cc
│ │ │ │ │ ├── sanitizer_bvgraph_test.cc
│ │ │ │ │ ├── sanitizer_common_test.cc
│ │ │ │ │ ├── sanitizer_deadlock_detector_test.cc
│ │ │ │ │ ├── sanitizer_flags_test.cc
│ │ │ │ │ ├── sanitizer_format_interceptor_test.cc
│ │ │ │ │ ├── sanitizer_ioctl_test.cc
│ │ │ │ │ ├── sanitizer_libc_test.cc
│ │ │ │ │ ├── sanitizer_linux_test.cc
│ │ │ │ │ ├── sanitizer_list_test.cc
│ │ │ │ │ ├── sanitizer_mutex_test.cc
│ │ │ │ │ ├── sanitizer_nolibc_test.cc
│ │ │ │ │ ├── sanitizer_nolibc_test_main.cc
│ │ │ │ │ ├── sanitizer_posix_test.cc
│ │ │ │ │ ├── sanitizer_printf_test.cc
│ │ │ │ │ ├── sanitizer_procmaps_test.cc
│ │ │ │ │ ├── sanitizer_pthread_wrappers.h
│ │ │ │ │ ├── sanitizer_stackdepot_test.cc
│ │ │ │ │ ├── sanitizer_stacktrace_printer_test.cc
│ │ │ │ │ ├── sanitizer_stacktrace_test.cc
│ │ │ │ │ ├── sanitizer_stoptheworld_test.cc
│ │ │ │ │ ├── sanitizer_stoptheworld_testlib.cc
│ │ │ │ │ ├── sanitizer_suppressions_test.cc
│ │ │ │ │ ├── sanitizer_symbolizer_test.cc
│ │ │ │ │ ├── sanitizer_test_config.h
│ │ │ │ │ ├── sanitizer_test_main.cc
│ │ │ │ │ ├── sanitizer_test_utils.h
│ │ │ │ │ ├── sanitizer_thread_registry_test.cc
│ │ │ │ │ └── standalone_malloc_test.cc
│ │ │ │ ├── tsan/
│ │ │ │ │ ├── .clang-format
│ │ │ │ │ ├── Android.mk
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── analyze_libtsan.sh
│ │ │ │ │ ├── benchmarks/
│ │ │ │ │ │ ├── mini_bench_local.cc
│ │ │ │ │ │ ├── mini_bench_shared.cc
│ │ │ │ │ │ ├── start_many_threads.cc
│ │ │ │ │ │ └── vts_many_threads_bench.cc
│ │ │ │ │ ├── check_analyze.sh
│ │ │ │ │ ├── check_cmake.sh
│ │ │ │ │ ├── dd/
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── dd_interceptors.cc
│ │ │ │ │ │ ├── dd_rtl.cc
│ │ │ │ │ │ └── dd_rtl.h
│ │ │ │ │ ├── go/
│ │ │ │ │ │ ├── build.bat
│ │ │ │ │ │ ├── buildgo.sh
│ │ │ │ │ │ ├── test.c
│ │ │ │ │ │ └── tsan_go.cc
│ │ │ │ │ ├── rtl/
│ │ │ │ │ │ ├── tsan.syms.extra
│ │ │ │ │ │ ├── tsan_clock.cc
│ │ │ │ │ │ ├── tsan_clock.h
│ │ │ │ │ │ ├── tsan_defs.h
│ │ │ │ │ │ ├── tsan_dense_alloc.h
│ │ │ │ │ │ ├── tsan_fd.cc
│ │ │ │ │ │ ├── tsan_fd.h
│ │ │ │ │ │ ├── tsan_flags.cc
│ │ │ │ │ │ ├── tsan_flags.h
│ │ │ │ │ │ ├── tsan_flags.inc
│ │ │ │ │ │ ├── tsan_ignoreset.cc
│ │ │ │ │ │ ├── tsan_ignoreset.h
│ │ │ │ │ │ ├── tsan_interceptors.cc
│ │ │ │ │ │ ├── tsan_interceptors.h
│ │ │ │ │ │ ├── tsan_interceptors_mac.cc
│ │ │ │ │ │ ├── tsan_interface.cc
│ │ │ │ │ │ ├── tsan_interface.h
│ │ │ │ │ │ ├── tsan_interface_ann.cc
│ │ │ │ │ │ ├── tsan_interface_ann.h
│ │ │ │ │ │ ├── tsan_interface_atomic.cc
│ │ │ │ │ │ ├── tsan_interface_inl.h
│ │ │ │ │ │ ├── tsan_interface_java.cc
│ │ │ │ │ │ ├── tsan_interface_java.h
│ │ │ │ │ │ ├── tsan_libdispatch_mac.cc
│ │ │ │ │ │ ├── tsan_malloc_mac.cc
│ │ │ │ │ │ ├── tsan_md5.cc
│ │ │ │ │ │ ├── tsan_mman.cc
│ │ │ │ │ │ ├── tsan_mman.h
│ │ │ │ │ │ ├── tsan_mutex.cc
│ │ │ │ │ │ ├── tsan_mutex.h
│ │ │ │ │ │ ├── tsan_mutexset.cc
│ │ │ │ │ │ ├── tsan_mutexset.h
│ │ │ │ │ │ ├── tsan_new_delete.cc
│ │ │ │ │ │ ├── tsan_platform.h
│ │ │ │ │ │ ├── tsan_platform_linux.cc
│ │ │ │ │ │ ├── tsan_platform_mac.cc
│ │ │ │ │ │ ├── tsan_platform_posix.cc
│ │ │ │ │ │ ├── tsan_platform_windows.cc
│ │ │ │ │ │ ├── tsan_ppc_regs.h
│ │ │ │ │ │ ├── tsan_report.cc
│ │ │ │ │ │ ├── tsan_report.h
│ │ │ │ │ │ ├── tsan_rtl.cc
│ │ │ │ │ │ ├── tsan_rtl.h
│ │ │ │ │ │ ├── tsan_rtl_aarch64.S
│ │ │ │ │ │ ├── tsan_rtl_amd64.S
│ │ │ │ │ │ ├── tsan_rtl_mutex.cc
│ │ │ │ │ │ ├── tsan_rtl_ppc64.S
│ │ │ │ │ │ ├── tsan_rtl_report.cc
│ │ │ │ │ │ ├── tsan_rtl_thread.cc
│ │ │ │ │ │ ├── tsan_stack_trace.cc
│ │ │ │ │ │ ├── tsan_stack_trace.h
│ │ │ │ │ │ ├── tsan_stat.cc
│ │ │ │ │ │ ├── tsan_stat.h
│ │ │ │ │ │ ├── tsan_suppressions.cc
│ │ │ │ │ │ ├── tsan_suppressions.h
│ │ │ │ │ │ ├── tsan_symbolize.cc
│ │ │ │ │ │ ├── tsan_symbolize.h
│ │ │ │ │ │ ├── tsan_sync.cc
│ │ │ │ │ │ ├── tsan_sync.h
│ │ │ │ │ │ ├── tsan_trace.h
│ │ │ │ │ │ ├── tsan_update_shadow_word_inl.h
│ │ │ │ │ │ └── tsan_vector.h
│ │ │ │ │ └── tests/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── rtl/
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── tsan_bench.cc
│ │ │ │ │ │ ├── tsan_mop.cc
│ │ │ │ │ │ ├── tsan_mutex.cc
│ │ │ │ │ │ ├── tsan_posix.cc
│ │ │ │ │ │ ├── tsan_string.cc
│ │ │ │ │ │ ├── tsan_test.cc
│ │ │ │ │ │ ├── tsan_test_util.h
│ │ │ │ │ │ ├── tsan_test_util_linux.cc
│ │ │ │ │ │ └── tsan_thread.cc
│ │ │ │ │ └── unit/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── tsan_clock_test.cc
│ │ │ │ │ ├── tsan_dense_alloc_test.cc
│ │ │ │ │ ├── tsan_flags_test.cc
│ │ │ │ │ ├── tsan_mman_test.cc
│ │ │ │ │ ├── tsan_mutex_test.cc
│ │ │ │ │ ├── tsan_mutexset_test.cc
│ │ │ │ │ ├── tsan_shadow_test.cc
│ │ │ │ │ ├── tsan_stack_test.cc
│ │ │ │ │ ├── tsan_sync_test.cc
│ │ │ │ │ ├── tsan_unit_test_main.cc
│ │ │ │ │ └── tsan_vector_test.cc
│ │ │ │ └── ubsan/
│ │ │ │ ├── Android.mk
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── Makefile.mk
│ │ │ │ ├── ubsan.syms.extra
│ │ │ │ ├── ubsan_checks.inc
│ │ │ │ ├── ubsan_diag.cc
│ │ │ │ ├── ubsan_diag.h
│ │ │ │ ├── ubsan_flags.cc
│ │ │ │ ├── ubsan_flags.h
│ │ │ │ ├── ubsan_flags.inc
│ │ │ │ ├── ubsan_handlers.cc
│ │ │ │ ├── ubsan_handlers.h
│ │ │ │ ├── ubsan_handlers_cxx.cc
│ │ │ │ ├── ubsan_handlers_cxx.h
│ │ │ │ ├── ubsan_init.cc
│ │ │ │ ├── ubsan_init.h
│ │ │ │ ├── ubsan_init_standalone.cc
│ │ │ │ ├── ubsan_platform.h
│ │ │ │ ├── ubsan_type_hash.cc
│ │ │ │ ├── ubsan_type_hash.h
│ │ │ │ ├── ubsan_type_hash_itanium.cc
│ │ │ │ ├── ubsan_type_hash_win.cc
│ │ │ │ ├── ubsan_value.cc
│ │ │ │ └── ubsan_value.h
│ │ │ └── make/
│ │ │ ├── AppleBI.mk
│ │ │ ├── config.mk
│ │ │ ├── filter-inputs
│ │ │ ├── lib_info.mk
│ │ │ ├── lib_platforms.mk
│ │ │ ├── lib_util.mk
│ │ │ ├── options.mk
│ │ │ ├── platform/
│ │ │ │ ├── clang_darwin.mk
│ │ │ │ ├── clang_darwin_test_input.c
│ │ │ │ ├── clang_linux.mk
│ │ │ │ ├── clang_linux_test_input.c
│ │ │ │ ├── clang_macho_embedded.mk
│ │ │ │ ├── clang_macho_embedded_test_input.c
│ │ │ │ ├── clang_mingw.mk
│ │ │ │ ├── darwin_bni.mk
│ │ │ │ └── multi_arch.mk
│ │ │ ├── subdir.mk
│ │ │ ├── test/
│ │ │ │ └── test-util.mk
│ │ │ └── util.mk
│ │ ├── expat/
│ │ │ ├── Android.mk
│ │ │ ├── Changes
│ │ │ ├── CleanSpec.mk
│ │ │ ├── MODULE_LICENSE_BSD_LIKE
│ │ │ ├── NOTICE
│ │ │ ├── README
│ │ │ ├── README.android
│ │ │ ├── README.version
│ │ │ ├── expat_config.h
│ │ │ ├── import_expat.sh
│ │ │ └── lib/
│ │ │ ├── ascii.h
│ │ │ ├── asciitab.h
│ │ │ ├── expat.h
│ │ │ ├── expat_external.h
│ │ │ ├── iasciitab.h
│ │ │ ├── internal.h
│ │ │ ├── latin1tab.h
│ │ │ ├── nametab.h
│ │ │ ├── utf8tab.h
│ │ │ ├── xmlparse.c
│ │ │ ├── xmlrole.c
│ │ │ ├── xmlrole.h
│ │ │ ├── xmltok.c
│ │ │ ├── xmltok.h
│ │ │ ├── xmltok_impl.c
│ │ │ ├── xmltok_impl.h
│ │ │ └── xmltok_ns.c
│ │ ├── libcxx/
│ │ │ ├── .arcconfig
│ │ │ ├── .gitignore
│ │ │ ├── Android.bp
│ │ │ ├── Android.mk
│ │ │ ├── CMakeLists.txt
│ │ │ ├── CREDITS.TXT
│ │ │ ├── LICENSE.TXT
│ │ │ ├── MODULE_LICENSE_BSD_LIKE
│ │ │ ├── Makefile
│ │ │ ├── NOTICE
│ │ │ ├── TODO.TXT
│ │ │ ├── buildcmds/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── Android.mk
│ │ │ │ ├── buildcmdscc
│ │ │ │ └── dummy.cpp
│ │ │ ├── cmake/
│ │ │ │ ├── Modules/
│ │ │ │ │ ├── CodeCoverage.cmake
│ │ │ │ │ ├── HandleLibCXXABI.cmake
│ │ │ │ │ ├── HandleLibcxxFlags.cmake
│ │ │ │ │ ├── HandleOutOfTreeLLVM.cmake
│ │ │ │ │ └── MacroEnsureOutOfSourceBuild.cmake
│ │ │ │ └── config-ix.cmake
│ │ │ ├── include/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── __bit_reference
│ │ │ │ ├── __config
│ │ │ │ ├── __debug
│ │ │ │ ├── __functional_03
│ │ │ │ ├── __functional_base
│ │ │ │ ├── __functional_base_03
│ │ │ │ ├── __hash_table
│ │ │ │ ├── __locale
│ │ │ │ ├── __mutex_base
│ │ │ │ ├── __refstring
│ │ │ │ ├── __split_buffer
│ │ │ │ ├── __sso_allocator
│ │ │ │ ├── __std_stream
│ │ │ │ ├── __tree
│ │ │ │ ├── __tuple
│ │ │ │ ├── __undef___deallocate
│ │ │ │ ├── __undef_min_max
│ │ │ │ ├── algorithm
│ │ │ │ ├── array
│ │ │ │ ├── atomic
│ │ │ │ ├── bitset
│ │ │ │ ├── cassert
│ │ │ │ ├── ccomplex
│ │ │ │ ├── cctype
│ │ │ │ ├── cerrno
│ │ │ │ ├── cfenv
│ │ │ │ ├── cfloat
│ │ │ │ ├── chrono
│ │ │ │ ├── cinttypes
│ │ │ │ ├── ciso646
│ │ │ │ ├── climits
│ │ │ │ ├── clocale
│ │ │ │ ├── cmath
│ │ │ │ ├── codecvt
│ │ │ │ ├── complex
│ │ │ │ ├── complex.h
│ │ │ │ ├── condition_variable
│ │ │ │ ├── csetjmp
│ │ │ │ ├── csignal
│ │ │ │ ├── cstdarg
│ │ │ │ ├── cstdbool
│ │ │ │ ├── cstddef
│ │ │ │ ├── cstdint
│ │ │ │ ├── cstdio
│ │ │ │ ├── cstdlib
│ │ │ │ ├── cstring
│ │ │ │ ├── ctgmath
│ │ │ │ ├── ctime
│ │ │ │ ├── cwchar
│ │ │ │ ├── cwctype
│ │ │ │ ├── deque
│ │ │ │ ├── exception
│ │ │ │ ├── experimental/
│ │ │ │ │ ├── __config
│ │ │ │ │ ├── algorithm
│ │ │ │ │ ├── any
│ │ │ │ │ ├── chrono
│ │ │ │ │ ├── dynarray
│ │ │ │ │ ├── functional
│ │ │ │ │ ├── optional
│ │ │ │ │ ├── ratio
│ │ │ │ │ ├── string_view
│ │ │ │ │ ├── system_error
│ │ │ │ │ ├── tuple
│ │ │ │ │ ├── type_traits
│ │ │ │ │ └── utility
│ │ │ │ ├── ext/
│ │ │ │ │ ├── __hash
│ │ │ │ │ ├── hash_map
│ │ │ │ │ └── hash_set
│ │ │ │ ├── forward_list
│ │ │ │ ├── fstream
│ │ │ │ ├── functional
│ │ │ │ ├── future
│ │ │ │ ├── initializer_list
│ │ │ │ ├── iomanip
│ │ │ │ ├── ios
│ │ │ │ ├── iosfwd
│ │ │ │ ├── iostream
│ │ │ │ ├── istream
│ │ │ │ ├── iterator
│ │ │ │ ├── limits
│ │ │ │ ├── list
│ │ │ │ ├── locale
│ │ │ │ ├── map
│ │ │ │ ├── memory
│ │ │ │ ├── module.modulemap
│ │ │ │ ├── mutex
│ │ │ │ ├── new
│ │ │ │ ├── numeric
│ │ │ │ ├── ostream
│ │ │ │ ├── queue
│ │ │ │ ├── random
│ │ │ │ ├── ratio
│ │ │ │ ├── regex
│ │ │ │ ├── scoped_allocator
│ │ │ │ ├── set
│ │ │ │ ├── shared_mutex
│ │ │ │ ├── sstream
│ │ │ │ ├── stack
│ │ │ │ ├── stdexcept
│ │ │ │ ├── streambuf
│ │ │ │ ├── string
│ │ │ │ ├── strstream
│ │ │ │ ├── support/
│ │ │ │ │ ├── android/
│ │ │ │ │ │ └── locale_bionic.h
│ │ │ │ │ ├── ibm/
│ │ │ │ │ │ ├── limits.h
│ │ │ │ │ │ ├── support.h
│ │ │ │ │ │ └── xlocale.h
│ │ │ │ │ ├── newlib/
│ │ │ │ │ │ └── xlocale.h
│ │ │ │ │ ├── solaris/
│ │ │ │ │ │ ├── floatingpoint.h
│ │ │ │ │ │ ├── wchar.h
│ │ │ │ │ │ └── xlocale.h
│ │ │ │ │ ├── win32/
│ │ │ │ │ │ ├── limits_win32.h
│ │ │ │ │ │ ├── locale_win32.h
│ │ │ │ │ │ ├── math_win32.h
│ │ │ │ │ │ └── support.h
│ │ │ │ │ └── xlocale/
│ │ │ │ │ └── xlocale.h
│ │ │ │ ├── system_error
│ │ │ │ ├── tgmath.h
│ │ │ │ ├── thread
│ │ │ │ ├── tuple
│ │ │ │ ├── type_traits
│ │ │ │ ├── typeindex
│ │ │ │ ├── typeinfo
│ │ │ │ ├── unordered_map
│ │ │ │ ├── unordered_set
│ │ │ │ ├── utility
│ │ │ │ ├── valarray
│ │ │ │ └── vector
│ │ │ ├── lib/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── buildit
│ │ │ │ ├── libc++abi.exp
│ │ │ │ ├── libc++abi2.exp
│ │ │ │ ├── libc++sjlj-abi.exp
│ │ │ │ ├── libc++unexp.exp
│ │ │ │ ├── notweak.exp
│ │ │ │ └── weak.exp
│ │ │ ├── lit.site.cfg
│ │ │ ├── ndk-test.sh
│ │ │ ├── run-tests.py
│ │ │ ├── src/
│ │ │ │ ├── algorithm.cpp
│ │ │ │ ├── any.cpp
│ │ │ │ ├── bind.cpp
│ │ │ │ ├── chrono.cpp
│ │ │ │ ├── condition_variable.cpp
│ │ │ │ ├── config_elast.h
│ │ │ │ ├── debug.cpp
│ │ │ │ ├── exception.cpp
│ │ │ │ ├── future.cpp
│ │ │ │ ├── hash.cpp
│ │ │ │ ├── ios.cpp
│ │ │ │ ├── iostream.cpp
│ │ │ │ ├── locale.cpp
│ │ │ │ ├── memory.cpp
│ │ │ │ ├── mutex.cpp
│ │ │ │ ├── new.cpp
│ │ │ │ ├── optional.cpp
│ │ │ │ ├── random.cpp
│ │ │ │ ├── regex.cpp
│ │ │ │ ├── shared_mutex.cpp
│ │ │ │ ├── stdexcept.cpp
│ │ │ │ ├── string.cpp
│ │ │ │ ├── strstream.cpp
│ │ │ │ ├── support/
│ │ │ │ │ ├── atomic_support.h
│ │ │ │ │ ├── solaris/
│ │ │ │ │ │ ├── README
│ │ │ │ │ │ ├── mbsnrtowcs.inc
│ │ │ │ │ │ ├── wcsnrtombs.inc
│ │ │ │ │ │ └── xlocale.c
│ │ │ │ │ └── win32/
│ │ │ │ │ ├── locale_win32.cpp
│ │ │ │ │ └── support.cpp
│ │ │ │ ├── system_error.cpp
│ │ │ │ ├── thread.cpp
│ │ │ │ ├── typeinfo.cpp
│ │ │ │ ├── utility.cpp
│ │ │ │ └── valarray.cpp
│ │ │ ├── test.mk
│ │ │ └── utils/
│ │ │ ├── not/
│ │ │ │ └── not.py
│ │ │ └── sym_check/
│ │ │ ├── linux_blacklist.txt
│ │ │ ├── osx_blacklist.txt
│ │ │ ├── sym_check/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── diff.py
│ │ │ │ ├── extract.py
│ │ │ │ ├── match.py
│ │ │ │ └── util.py
│ │ │ ├── sym_diff.py
│ │ │ ├── sym_extract.py
│ │ │ └── sym_match.py
│ │ ├── libcxxabi/
│ │ │ ├── .arcconfig
│ │ │ ├── .gitignore
│ │ │ ├── Android.bp
│ │ │ ├── Android.mk
│ │ │ ├── CMakeLists.txt
│ │ │ ├── CREDITS.TXT
│ │ │ ├── LICENSE.TXT
│ │ │ ├── MODULE_LICENSE_BSD_LIKE
│ │ │ ├── NOTICE
│ │ │ ├── cmake/
│ │ │ │ └── config-ix.cmake
│ │ │ ├── include/
│ │ │ │ ├── __cxxabi_config.h
│ │ │ │ └── cxxabi.h
│ │ │ ├── lib/
│ │ │ │ └── buildit
│ │ │ └── src/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── abort_message.cpp
│ │ │ ├── abort_message.h
│ │ │ ├── config.h
│ │ │ ├── cxa_aux_runtime.cpp
│ │ │ ├── cxa_default_handlers.cpp
│ │ │ ├── cxa_demangle.cpp
│ │ │ ├── cxa_exception.cpp
│ │ │ ├── cxa_exception.hpp
│ │ │ ├── cxa_exception_storage.cpp
│ │ │ ├── cxa_guard.cpp
│ │ │ ├── cxa_handlers.cpp
│ │ │ ├── cxa_handlers.hpp
│ │ │ ├── cxa_new_delete.cpp
│ │ │ ├── cxa_personality.cpp
│ │ │ ├── cxa_thread_atexit.cpp
│ │ │ ├── cxa_unexpected.cpp
│ │ │ ├── cxa_vector.cpp
│ │ │ ├── cxa_virtual.cpp
│ │ │ ├── exception.cpp
│ │ │ ├── fallback_malloc.ipp
│ │ │ ├── private_typeinfo.cpp
│ │ │ ├── private_typeinfo.h
│ │ │ ├── stdexcept.cpp
│ │ │ └── typeinfo.cpp
│ │ ├── libpng/
│ │ │ ├── ANNOUNCE
│ │ │ ├── Android.mk
│ │ │ ├── CHANGES
│ │ │ ├── CMakeLists.txt
│ │ │ ├── CleanSpec.mk
│ │ │ ├── INSTALL
│ │ │ ├── LICENSE
│ │ │ ├── MODULE_LICENSE_BSD_LIKE
│ │ │ ├── Makefile.am
│ │ │ ├── README
│ │ │ ├── README.android
│ │ │ ├── README.version
│ │ │ ├── TODO
│ │ │ ├── arm/
│ │ │ │ ├── arm_init.c
│ │ │ │ ├── filter_neon.S
│ │ │ │ └── filter_neon_intrinsics.c
│ │ │ ├── autogen.sh
│ │ │ ├── configure.ac
│ │ │ ├── contrib/
│ │ │ │ ├── README.txt
│ │ │ │ ├── arm-neon/
│ │ │ │ │ ├── README
│ │ │ │ │ ├── android-ndk.c
│ │ │ │ │ ├── linux-auxv.c
│ │ │ │ │ └── linux.c
│ │ │ │ ├── conftest/
│ │ │ │ │ ├── README
│ │ │ │ │ ├── read.dfa
│ │ │ │ │ ├── s_read.dfa
│ │ │ │ │ ├── s_write.dfa
│ │ │ │ │ ├── simple.dfa
│ │ │ │ │ └── write.dfa
│ │ │ │ ├── examples/
│ │ │ │ │ ├── README.txt
│ │ │ │ │ ├── iccfrompng.c
│ │ │ │ │ ├── pngpixel.c
│ │ │ │ │ └── pngtopng.c
│ │ │ │ ├── gregbook/
│ │ │ │ │ ├── COPYING
│ │ │ │ │ ├── LICENSE
│ │ │ │ │ ├── Makefile.mingw32
│ │ │ │ │ ├── Makefile.sgi
│ │ │ │ │ ├── Makefile.unx
│ │ │ │ │ ├── Makefile.w32
│ │ │ │ │ ├── README
│ │ │ │ │ ├── makevms.com
│ │ │ │ │ ├── readpng.c
│ │ │ │ │ ├── readpng.h
│ │ │ │ │ ├── readpng2.c
│ │ │ │ │ ├── readpng2.h
│ │ │ │ │ ├── readppm.c
│ │ │ │ │ ├── rpng-win.c
│ │ │ │ │ ├── rpng-x.c
│ │ │ │ │ ├── rpng2-win.c
│ │ │ │ │ ├── rpng2-x.c
│ │ │ │ │ ├── wpng.c
│ │ │ │ │ ├── writepng.c
│ │ │ │ │ └── writepng.h
│ │ │ │ ├── intel/
│ │ │ │ │ ├── INSTALL
│ │ │ │ │ ├── Makefile.am.patch
│ │ │ │ │ ├── configure.ac.patch
│ │ │ │ │ ├── filter_sse2_intrinsics.c
│ │ │ │ │ └── intel_init.c
│ │ │ │ ├── libtests/
│ │ │ │ │ ├── fakepng.c
│ │ │ │ │ ├── gentests.sh
│ │ │ │ │ ├── makepng.c
│ │ │ │ │ ├── pngimage.c
│ │ │ │ │ ├── pngstest-errors.h
│ │ │ │ │ ├── pngstest.c
│ │ │ │ │ ├── pngunknown.c
│ │ │ │ │ ├── pngvalid.c
│ │ │ │ │ ├── readpng.c
│ │ │ │ │ ├── tarith.c
│ │ │ │ │ └── timepng.c
│ │ │ │ ├── pngminim/
│ │ │ │ │ ├── README
│ │ │ │ │ ├── decoder/
│ │ │ │ │ │ ├── README
│ │ │ │ │ │ ├── makefile
│ │ │ │ │ │ ├── pngusr.dfa
│ │ │ │ │ │ └── pngusr.h
│ │ │ │ │ ├── encoder/
│ │ │ │ │ │ ├── README
│ │ │ │ │ │ ├── makefile
│ │ │ │ │ │ ├── pngusr.dfa
│ │ │ │ │ │ └── pngusr.h
│ │ │ │ │ └── preader/
│ │ │ │ │ ├── README
│ │ │ │ │ ├── makefile
│ │ │ │ │ ├── pngusr.dfa
│ │ │ │ │ └── pngusr.h
│ │ │ │ ├── pngminus/
│ │ │ │ │ ├── README
│ │ │ │ │ ├── makefile.std
│ │ │ │ │ ├── makefile.tc3
│ │ │ │ │ ├── makevms.com
│ │ │ │ │ ├── png2pnm.bat
│ │ │ │ │ ├── png2pnm.c
│ │ │ │ │ ├── png2pnm.sh
│ │ │ │ │ ├── pngminus.bat
│ │ │ │ │ ├── pngminus.sh
│ │ │ │ │ ├── pnm2png.bat
│ │ │ │ │ ├── pnm2png.c
│ │ │ │ │ └── pnm2png.sh
│ │ │ │ ├── pngsuite/
│ │ │ │ │ └── README
│ │ │ │ ├── tools/
│ │ │ │ │ ├── README.txt
│ │ │ │ │ ├── checksum-icc.c
│ │ │ │ │ ├── chkfmt
│ │ │ │ │ ├── cvtcolor.c
│ │ │ │ │ ├── genpng.c
│ │ │ │ │ ├── intgamma.sh
│ │ │ │ │ ├── makesRGB.c
│ │ │ │ │ ├── png-fix-itxt.c
│ │ │ │ │ ├── pngfix.c
│ │ │ │ │ └── sRGB.h
│ │ │ │ └── visupng/
│ │ │ │ ├── PngFile.c
│ │ │ │ ├── PngFile.h
│ │ │ │ ├── README.txt
│ │ │ │ ├── VisualPng.c
│ │ │ │ ├── VisualPng.dsp
│ │ │ │ ├── VisualPng.dsw
│ │ │ │ ├── VisualPng.rc
│ │ │ │ ├── cexcept.h
│ │ │ │ └── resource.h
│ │ │ ├── example.c
│ │ │ ├── libpng-config.in
│ │ │ ├── libpng-manual.txt
│ │ │ ├── libpng.3
│ │ │ ├── libpng.pc.in
│ │ │ ├── libpngpf.3
│ │ │ ├── png.5
│ │ │ ├── png.c
│ │ │ ├── png.h
│ │ │ ├── pngconf.h
│ │ │ ├── pngdebug.h
│ │ │ ├── pngerror.c
│ │ │ ├── pngget.c
│ │ │ ├── pnginfo.h
│ │ │ ├── pnglibconf.h
│ │ │ ├── pngmem.c
│ │ │ ├── pngpread.c
│ │ │ ├── pngpriv.h
│ │ │ ├── pngread.c
│ │ │ ├── pngrio.c
│ │ │ ├── pngrtran.c
│ │ │ ├── pngrutil.c
│ │ │ ├── pngset.c
│ │ │ ├── pngstruct.h
│ │ │ ├── pngtest.c
│ │ │ ├── pngtrans.c
│ │ │ ├── pngusr.dfa
│ │ │ ├── pngusr.h
│ │ │ ├── pngwio.c
│ │ │ ├── pngwrite.c
│ │ │ ├── pngwtran.c
│ │ │ ├── pngwutil.c
│ │ │ ├── projects/
│ │ │ │ ├── owatcom/
│ │ │ │ │ ├── libpng.tgt
│ │ │ │ │ ├── libpng.wpj
│ │ │ │ │ ├── pngconfig.mak
│ │ │ │ │ ├── pngstest.tgt
│ │ │ │ │ ├── pngtest.tgt
│ │ │ │ │ └── pngvalid.tgt
│ │ │ │ ├── visualc71/
│ │ │ │ │ ├── PRJ0041.mak
│ │ │ │ │ ├── README.txt
│ │ │ │ │ ├── README_zlib.txt
│ │ │ │ │ ├── libpng.sln
│ │ │ │ │ ├── libpng.vcproj
│ │ │ │ │ ├── pngtest.vcproj
│ │ │ │ │ └── zlib.vcproj
│ │ │ │ └── vstudio/
│ │ │ │ ├── README.txt
│ │ │ │ ├── libpng/
│ │ │ │ │ └── libpng.vcxproj
│ │ │ │ ├── pnglibconf/
│ │ │ │ │ └── pnglibconf.vcxproj
│ │ │ │ ├── pngstest/
│ │ │ │ │ └── pngstest.vcxproj
│ │ │ │ ├── pngtest/
│ │ │ │ │ └── pngtest.vcxproj
│ │ │ │ ├── pngunknown/
│ │ │ │ │ └── pngunknown.vcxproj
│ │ │ │ ├── pngvalid/
│ │ │ │ │ └── pngvalid.vcxproj
│ │ │ │ ├── vstudio.sln
│ │ │ │ ├── zlib/
│ │ │ │ │ └── zlib.vcxproj
│ │ │ │ └── zlib.props
│ │ │ └── scripts/
│ │ │ ├── README.txt
│ │ │ ├── SCOPTIONS.ppc
│ │ │ ├── checksym.awk
│ │ │ ├── def.c
│ │ │ ├── descrip.mms
│ │ │ ├── dfn.awk
│ │ │ ├── genchk.cmake.in
│ │ │ ├── genout.cmake.in
│ │ │ ├── gensrc.cmake.in
│ │ │ ├── intprefix.c
│ │ │ ├── libpng-config-body.in
│ │ │ ├── libpng-config-head.in
│ │ │ ├── libpng.pc.in
│ │ │ ├── macro.lst
│ │ │ ├── makefile.32sunu
│ │ │ ├── makefile.64sunu
│ │ │ ├── makefile.acorn
│ │ │ ├── makefile.aix
│ │ │ ├── makefile.amiga
│ │ │ ├── makefile.atari
│ │ │ ├── makefile.bc32
│ │ │ ├── makefile.beos
│ │ │ ├── makefile.bor
│ │ │ ├── makefile.cegcc
│ │ │ ├── makefile.darwin
│ │ │ ├── makefile.dec
│ │ │ ├── makefile.dj2
│ │ │ ├── makefile.freebsd
│ │ │ ├── makefile.gcc
│ │ │ ├── makefile.hp64
│ │ │ ├── makefile.hpgcc
│ │ │ ├── makefile.hpux
│ │ │ ├── makefile.ibmc
│ │ │ ├── makefile.intel
│ │ │ ├── makefile.knr
│ │ │ ├── makefile.linux
│ │ │ ├── makefile.mips
│ │ │ ├── makefile.msc
│ │ │ ├── makefile.msys
│ │ │ ├── makefile.ne12bsd
│ │ │ ├── makefile.netbsd
│ │ │ ├── makefile.openbsd
│ │ │ ├── makefile.sco
│ │ │ ├── makefile.sggcc
│ │ │ ├── makefile.sgi
│ │ │ ├── makefile.so9
│ │ │ ├── makefile.solaris
│ │ │ ├── makefile.solaris-x86
│ │ │ ├── makefile.std
│ │ │ ├── makefile.sunos
│ │ │ ├── makefile.tc3
│ │ │ ├── makefile.vcwin32
│ │ │ ├── makevms.com
│ │ │ ├── options.awk
│ │ │ ├── pnglibconf.dfa
│ │ │ ├── pnglibconf.h.prebuilt
│ │ │ ├── pnglibconf.mak
│ │ │ ├── pngwin.rc
│ │ │ ├── prefix.c
│ │ │ ├── smakefile.ppc
│ │ │ ├── sym.c
│ │ │ ├── symbols.c
│ │ │ ├── symbols.def
│ │ │ ├── test.cmake.in
│ │ │ └── vers.c
│ │ ├── safe-iop/
│ │ │ ├── Android.mk
│ │ │ ├── CleanSpec.mk
│ │ │ ├── MODULE_LICENSE_BSD_LIKE
│ │ │ ├── NOTICE
│ │ │ ├── README.version
│ │ │ ├── include/
│ │ │ │ └── safe_iop.h
│ │ │ ├── src/
│ │ │ │ └── safe_iop.c
│ │ │ └── testsuite/
│ │ │ └── Android.mk
│ │ └── zlib/
│ │ ├── Android.mk
│ │ ├── CleanSpec.mk
│ │ ├── MODULE_LICENSE_BSD_LIKE
│ │ ├── NOTICE
│ │ ├── src/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── ChangeLog
│ │ │ ├── FAQ
│ │ │ ├── INDEX
│ │ │ ├── Makefile.in
│ │ │ ├── README
│ │ │ ├── adler32.c
│ │ │ ├── amiga/
│ │ │ │ ├── Makefile.pup
│ │ │ │ └── Makefile.sas
│ │ │ ├── as400/
│ │ │ │ ├── bndsrc
│ │ │ │ ├── compile.clp
│ │ │ │ ├── readme.txt
│ │ │ │ └── zlib.inc
│ │ │ ├── compress.c
│ │ │ ├── configure
│ │ │ ├── contrib/
│ │ │ │ ├── README.contrib
│ │ │ │ ├── ada/
│ │ │ │ │ ├── buffer_demo.adb
│ │ │ │ │ ├── mtest.adb
│ │ │ │ │ ├── read.adb
│ │ │ │ │ ├── readme.txt
│ │ │ │ │ ├── test.adb
│ │ │ │ │ ├── zlib-streams.adb
│ │ │ │ │ ├── zlib-streams.ads
│ │ │ │ │ ├── zlib-thin.adb
│ │ │ │ │ ├── zlib-thin.ads
│ │ │ │ │ ├── zlib.adb
│ │ │ │ │ ├── zlib.ads
│ │ │ │ │ └── zlib.gpr
│ │ │ │ ├── amd64/
│ │ │ │ │ └── amd64-match.S
│ │ │ │ ├── asm686/
│ │ │ │ │ ├── README.686
│ │ │ │ │ └── match.S
│ │ │ │ ├── blast/
│ │ │ │ │ ├── Makefile
│ │ │ │ │ ├── README
│ │ │ │ │ ├── blast.c
│ │ │ │ │ ├── blast.h
│ │ │ │ │ ├── test.pk
│ │ │ │ │ └── test.txt
│ │ │ │ ├── delphi/
│ │ │ │ │ ├── ZLib.pas
│ │ │ │ │ ├── ZLibConst.pas
│ │ │ │ │ ├── readme.txt
│ │ │ │ │ └── zlibd32.mak
│ │ │ │ ├── dotzlib/
│ │ │ │ │ ├── DotZLib/
│ │ │ │ │ │ ├── AssemblyInfo.cs
│ │ │ │ │ │ ├── ChecksumImpl.cs
│ │ │ │ │ │ ├── CircularBuffer.cs
│ │ │ │ │ │ ├── CodecBase.cs
│ │ │ │ │ │ ├── Deflater.cs
│ │ │ │ │ │ ├── DotZLib.cs
│ │ │ │ │ │ ├── DotZLib.csproj
│ │ │ │ │ │ ├── GZipStream.cs
│ │ │ │ │ │ ├── Inflater.cs
│ │ │ │ │ │ └── UnitTests.cs
│ │ │ │ │ ├── DotZLib.build
│ │ │ │ │ ├── DotZLib.chm
│ │ │ │ │ ├── DotZLib.sln
│ │ │ │ │ ├── LICENSE_1_0.txt
│ │ │ │ │ └── readme.txt
│ │ │ │ ├── gcc_gvmat64/
│ │ │ │ │ └── gvmat64.S
│ │ │ │ ├── infback9/
│ │ │ │ │ ├── README
│ │ │ │ │ ├── infback9.c
│ │ │ │ │ ├── infback9.h
│ │ │ │ │ ├── inffix9.h
│ │ │ │ │ ├── inflate9.h
│ │ │ │ │ ├── inftree9.c
│ │ │ │ │ └── inftree9.h
│ │ │ │ ├── inflate86/
│ │ │ │ │ ├── inffas86.c
│ │ │ │ │ └── inffast.S
│ │ │ │ ├── iostream/
│ │ │ │ │ ├── test.cpp
│ │ │ │ │ ├── zfstream.cpp
│ │ │ │ │ └── zfstream.h
│ │ │ │ ├── iostream2/
│ │ │ │ │ ├── zstream.h
│ │ │ │ │ └── zstream_test.cpp
│ │ │ │ ├── iostream3/
│ │ │ │ │ ├── README
│ │ │ │ │ ├── TODO
│ │ │ │ │ ├── test.cc
│ │ │ │ │ ├── zfstream.cc
│ │ │ │ │ └── zfstream.h
│ │ │ │ ├── masmx64/
│ │ │ │ │ ├── bld_ml64.bat
│ │ │ │ │ ├── gvmat64.asm
│ │ │ │ │ ├── inffas8664.c
│ │ │ │ │ ├── inffasx64.asm
│ │ │ │ │ └── readme.txt
│ │ │ │ ├── masmx86/
│ │ │ │ │ ├── bld_ml32.bat
│ │ │ │ │ ├── inffas32.asm
│ │ │ │ │ ├── match686.asm
│ │ │ │ │ └── readme.txt
│ │ │ │ ├── minizip/
│ │ │ │ │ ├── Makefile
│ │ │ │ │ ├── Makefile.am
│ │ │ │ │ ├── MiniZip64_Changes.txt
│ │ │ │ │ ├── MiniZip64_info.txt
│ │ │ │ │ ├── configure.ac
│ │ │ │ │ ├── crypt.h
│ │ │ │ │ ├── ioapi.c
│ │ │ │ │ ├── ioapi.h
│ │ │ │ │ ├── iowin32.c
│ │ │ │ │ ├── iowin32.h
│ │ │ │ │ ├── make_vms.com
│ │ │ │ │ ├── miniunz.c
│ │ │ │ │ ├── miniunzip.1
│ │ │ │ │ ├── minizip.1
│ │ │ │ │ ├── minizip.c
│ │ │ │ │ ├── minizip.pc.in
│ │ │ │ │ ├── mztools.c
│ │ │ │ │ ├── mztools.h
│ │ │ │ │ ├── unzip.c
│ │ │ │ │ ├── unzip.h
│ │ │ │ │ ├── zip.c
│ │ │ │ │ └── zip.h
│ │ │ │ ├── pascal/
│ │ │ │ │ ├── example.pas
│ │ │ │ │ ├── readme.txt
│ │ │ │ │ ├── zlibd32.mak
│ │ │ │ │ └── zlibpas.pas
│ │ │ │ ├── puff/
│ │ │ │ │ ├── Makefile
│ │ │ │ │ ├── README
│ │ │ │ │ ├── puff.c
│ │ │ │ │ ├── puff.h
│ │ │ │ │ ├── pufftest.c
│ │ │ │ │ └── zeros.raw
│ │ │ │ ├── testzlib/
│ │ │ │ │ ├── testzlib.c
│ │ │ │ │ └── testzlib.txt
│ │ │ │ ├── untgz/
│ │ │ │ │ ├── Makefile
│ │ │ │ │ ├── Makefile.msc
│ │ │ │ │ └── untgz.c
│ │ │ │ └── vstudio/
│ │ │ │ ├── readme.txt
│ │ │ │ ├── vc10/
│ │ │ │ │ ├── miniunz.vcxproj
│ │ │ │ │ ├── miniunz.vcxproj.filters
│ │ │ │ │ ├── minizip.vcxproj
│ │ │ │ │ ├── minizip.vcxproj.filters
│ │ │ │ │ ├── testzlib.vcxproj
│ │ │ │ │ ├── testzlib.vcxproj.filters
│ │ │ │ │ ├── testzlibdll.vcxproj
│ │ │ │ │ ├── testzlibdll.vcxproj.filters
│ │ │ │ │ ├── zlib.rc
│ │ │ │ │ ├── zlibstat.vcxproj
│ │ │ │ │ ├── zlibstat.vcxproj.filters
│ │ │ │ │ ├── zlibvc.def
│ │ │ │ │ ├── zlibvc.sln
│ │ │ │ │ ├── zlibvc.vcxproj
│ │ │ │ │ └── zlibvc.vcxproj.filters
│ │ │ │ ├── vc11/
│ │ │ │ │ ├── miniunz.vcxproj
│ │ │ │ │ ├── minizip.vcxproj
│ │ │ │ │ ├── testzlib.vcxproj
│ │ │ │ │ ├── testzlibdll.vcxproj
│ │ │ │ │ ├── zlib.rc
│ │ │ │ │ ├── zlibstat.vcxproj
│ │ │ │ │ ├── zlibvc.def
│ │ │ │ │ ├── zlibvc.sln
│ │ │ │ │ └── zlibvc.vcxproj
│ │ │ │ └── vc9/
│ │ │ │ ├── miniunz.vcproj
│ │ │ │ ├── minizip.vcproj
│ │ │ │ ├── testzlib.vcproj
│ │ │ │ ├── testzlibdll.vcproj
│ │ │ │ ├── zlib.rc
│ │ │ │ ├── zlibstat.vcproj
│ │ │ │ ├── zlibvc.def
│ │ │ │ ├── zlibvc.sln
│ │ │ │ └── zlibvc.vcproj
│ │ │ ├── crc32.c
│ │ │ ├── crc32.h
│ │ │ ├── deflate.c
│ │ │ ├── deflate.h
│ │ │ ├── doc/
│ │ │ │ ├── algorithm.txt
│ │ │ │ ├── rfc1950.txt
│ │ │ │ ├── rfc1951.txt
│ │ │ │ ├── rfc1952.txt
│ │ │ │ └── txtvsbin.txt
│ │ │ ├── examples/
│ │ │ │ ├── README.examples
│ │ │ │ ├── enough.c
│ │ │ │ ├── fitblk.c
│ │ │ │ ├── gun.c
│ │ │ │ ├── gzappend.c
│ │ │ │ ├── gzjoin.c
│ │ │ │ ├── gzlog.c
│ │ │ │ ├── gzlog.h
│ │ │ │ ├── zlib_how.html
│ │ │ │ ├── zpipe.c
│ │ │ │ └── zran.c
│ │ │ ├── gzclose.c
│ │ │ ├── gzguts.h
│ │ │ ├── gzlib.c
│ │ │ ├── gzread.c
│ │ │ ├── gzwrite.c
│ │ │ ├── infback.c
│ │ │ ├── inffast.c
│ │ │ ├── inffast.h
│ │ │ ├── inffixed.h
│ │ │ ├── inflate.c
│ │ │ ├── inflate.h
│ │ │ ├── inftrees.c
│ │ │ ├── inftrees.h
│ │ │ ├── make_vms.com
│ │ │ ├── msdos/
│ │ │ │ ├── Makefile.bor
│ │ │ │ ├── Makefile.dj2
│ │ │ │ ├── Makefile.emx
│ │ │ │ ├── Makefile.msc
│ │ │ │ └── Makefile.tc
│ │ │ ├── nintendods/
│ │ │ │ ├── Makefile
│ │ │ │ └── README
│ │ │ ├── old/
│ │ │ │ ├── Makefile.emx
│ │ │ │ ├── Makefile.riscos
│ │ │ │ ├── README
│ │ │ │ ├── descrip.mms
│ │ │ │ ├── os2/
│ │ │ │ │ ├── Makefile.os2
│ │ │ │ │ └── zlib.def
│ │ │ │ └── visual-basic.txt
│ │ │ ├── qnx/
│ │ │ │ └── package.qpg
│ │ │ ├── test/
│ │ │ │ ├── example.c
│ │ │ │ ├── infcover.c
│ │ │ │ └── minigzip.c
│ │ │ ├── treebuild.xml
│ │ │ ├── trees.c
│ │ │ ├── trees.h
│ │ │ ├── uncompr.c
│ │ │ ├── watcom/
│ │ │ │ ├── watcom_f.mak
│ │ │ │ └── watcom_l.mak
│ │ │ ├── win32/
│ │ │ │ ├── DLL_FAQ.txt
│ │ │ │ ├── Makefile.bor
│ │ │ │ ├── Makefile.gcc
│ │ │ │ ├── Makefile.msc
│ │ │ │ ├── README-WIN32.txt
│ │ │ │ ├── VisualC.txt
│ │ │ │ ├── zlib.def
│ │ │ │ └── zlib1.rc
│ │ │ ├── zconf.h
│ │ │ ├── zconf.h.cmakein
│ │ │ ├── zconf.h.in
│ │ │ ├── zlib.3
│ │ │ ├── zlib.h
│ │ │ ├── zlib.pc
│ │ │ ├── zlib.pc.cmakein
│ │ │ ├── zlib.pc.in
│ │ │ ├── zlib2ansi
│ │ │ ├── zutil.c
│ │ │ └── zutil.h
│ │ └── update_zlib.sh
│ ├── frameworks/
│ │ ├── base/
│ │ │ ├── include/
│ │ │ │ ├── android_runtime/
│ │ │ │ │ ├── AndroidRuntime.h
│ │ │ │ │ ├── Log.h
│ │ │ │ │ ├── android_app_NativeActivity.h
│ │ │ │ │ ├── android_content_res_Configuration.h
│ │ │ │ │ ├── android_graphics_SurfaceTexture.h
│ │ │ │ │ ├── android_hardware_camera2_CameraMetadata.h
│ │ │ │ │ ├── android_util_AssetManager.h
│ │ │ │ │ ├── android_view_InputQueue.h
│ │ │ │ │ ├── android_view_Surface.h
│ │ │ │ │ └── android_view_SurfaceSession.h
│ │ │ │ ├── androidfw/
│ │ │ │ │ ├── Asset.h
│ │ │ │ │ ├── AssetDir.h
│ │ │ │ │ ├── AssetManager.h
│ │ │ │ │ ├── AttributeFinder.h
│ │ │ │ │ ├── BackupHelpers.h
│ │ │ │ │ ├── ByteBucketArray.h
│ │ │ │ │ ├── CursorWindow.h
│ │ │ │ │ ├── DisplayEventDispatcher.h
│ │ │ │ │ ├── LocaleData.h
│ │ │ │ │ ├── ObbFile.h
│ │ │ │ │ ├── ResourcePackageId.h
│ │ │ │ │ ├── ResourceTypes.h
│ │ │ │ │ ├── StreamingZipInflater.h
│ │ │ │ │ ├── TypeWrappers.h
│ │ │ │ │ ├── ZipFileRO.h
│ │ │ │ │ ├── ZipUtils.h
│ │ │ │ │ └── misc.h
│ │ │ │ ├── private/
│ │ │ │ │ ├── README
│ │ │ │ │ └── hwui/
│ │ │ │ │ └── DrawGlInfo.h
│ │ │ │ └── storage/
│ │ │ │ ├── IMountService.h
│ │ │ │ ├── IMountServiceListener.h
│ │ │ │ ├── IMountShutdownObserver.h
│ │ │ │ └── IObbActionListener.h
│ │ │ ├── libs/
│ │ │ │ └── androidfw/
│ │ │ │ ├── Android.mk
│ │ │ │ ├── Asset.cpp
│ │ │ │ ├── AssetDir.cpp
│ │ │ │ ├── AssetManager.cpp
│ │ │ │ ├── BackupData.cpp
│ │ │ │ ├── BackupHelpers.cpp
│ │ │ │ ├── CursorWindow.cpp
│ │ │ │ ├── DisplayEventDispatcher.cpp
│ │ │ │ ├── LocaleData.cpp
│ │ │ │ ├── LocaleDataTables.cpp
│ │ │ │ ├── MODULE_LICENSE_APACHE2
│ │ │ │ ├── NOTICE
│ │ │ │ ├── ObbFile.cpp
│ │ │ │ ├── ResourceTypes.cpp
│ │ │ │ ├── StreamingZipInflater.cpp
│ │ │ │ ├── TypeWrappers.cpp
│ │ │ │ ├── ZipFileRO.cpp
│ │ │ │ ├── ZipUtils.cpp
│ │ │ │ ├── misc.cpp
│ │ │ │ └── tests/
│ │ │ │ ├── Android.mk
│ │ │ │ ├── AttributeFinder_test.cpp
│ │ │ │ ├── BackupData_test.cpp
│ │ │ │ ├── ByteBucketArray_test.cpp
│ │ │ │ ├── ConfigLocale_test.cpp
│ │ │ │ ├── Config_test.cpp
│ │ │ │ ├── Idmap_test.cpp
│ │ │ │ ├── ObbFile_test.cpp
│ │ │ │ ├── ResTable_test.cpp
│ │ │ │ ├── Split_test.cpp
│ │ │ │ ├── TestHelpers.cpp
│ │ │ │ ├── TestHelpers.h
│ │ │ │ ├── Theme_test.cpp
│ │ │ │ ├── TypeWrappers_test.cpp
│ │ │ │ ├── ZipUtils_test.cpp
│ │ │ │ └── data/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── app/
│ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ ├── R.h
│ │ │ │ │ ├── app_arsc.h
│ │ │ │ │ ├── build
│ │ │ │ │ └── res/
│ │ │ │ │ └── values/
│ │ │ │ │ └── values.xml
│ │ │ │ ├── basic/
│ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ ├── R.h
│ │ │ │ │ ├── basic_arsc.h
│ │ │ │ │ ├── build
│ │ │ │ │ ├── res/
│ │ │ │ │ │ ├── layout/
│ │ │ │ │ │ │ └── main.xml
│ │ │ │ │ │ ├── layout-fr-sw600dp/
│ │ │ │ │ │ │ └── main.xml
│ │ │ │ │ │ ├── values/
│ │ │ │ │ │ │ └── values.xml
│ │ │ │ │ │ ├── values-de/
│ │ │ │ │ │ │ └── values.xml
│ │ │ │ │ │ ├── values-fr/
│ │ │ │ │ │ │ └── values.xml
│ │ │ │ │ │ ├── values-hdpi/
│ │ │ │ │ │ │ └── values.xml
│ │ │ │ │ │ ├── values-sv/
│ │ │ │ │ │ │ └── values.xml
│ │ │ │ │ │ ├── values-xhdpi/
│ │ │ │ │ │ │ └── values.xml
│ │ │ │ │ │ └── values-xxhdpi/
│ │ │ │ │ │ └── values.xml
│ │ │ │ │ ├── split_de_fr_arsc.h
│ │ │ │ │ ├── split_hdpi_v4_arsc.h
│ │ │ │ │ ├── split_xhdpi_v4_arsc.h
│ │ │ │ │ └── split_xxhdpi_v4_arsc.h
│ │ │ │ ├── feature/
│ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ ├── build
│ │ │ │ │ ├── feature_arsc.h
│ │ │ │ │ └── res/
│ │ │ │ │ └── values/
│ │ │ │ │ └── values.xml
│ │ │ │ ├── lib/
│ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ ├── R.h
│ │ │ │ │ ├── build
│ │ │ │ │ ├── lib_arsc.h
│ │ │ │ │ └── res/
│ │ │ │ │ └── values/
│ │ │ │ │ └── values.xml
│ │ │ │ ├── overlay/
│ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ ├── build
│ │ │ │ │ ├── overlay_arsc.h
│ │ │ │ │ └── res/
│ │ │ │ │ └── values/
│ │ │ │ │ └── values.xml
│ │ │ │ └── system/
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ ├── R.h
│ │ │ │ ├── build
│ │ │ │ ├── res/
│ │ │ │ │ └── values/
│ │ │ │ │ └── themes.xml
│ │ │ │ └── system_arsc.h
│ │ │ └── tools/
│ │ │ └── aapt/
│ │ │ ├── AaptAssets.cpp
│ │ │ ├── AaptAssets.h
│ │ │ ├── AaptConfig.cpp
│ │ │ ├── AaptConfig.h
│ │ │ ├── AaptUtil.cpp
│ │ │ ├── AaptUtil.h
│ │ │ ├── AaptXml.cpp
│ │ │ ├── AaptXml.h
│ │ │ ├── Android.mk
│ │ │ ├── ApkBuilder.cpp
│ │ │ ├── ApkBuilder.h
│ │ │ ├── Bundle.h
│ │ │ ├── CacheUpdater.h
│ │ │ ├── Command.cpp
│ │ │ ├── ConfigDescription.h
│ │ │ ├── CrunchCache.cpp
│ │ │ ├── CrunchCache.h
│ │ │ ├── DirectoryWalker.h
│ │ │ ├── FileFinder.cpp
│ │ │ ├── FileFinder.h
│ │ │ ├── Images.cpp
│ │ │ ├── Images.h
│ │ │ ├── IndentPrinter.h
│ │ │ ├── Main.cpp
│ │ │ ├── Main.h
│ │ │ ├── NOTICE
│ │ │ ├── OutputSet.h
│ │ │ ├── Package.cpp
│ │ │ ├── Resource.cpp
│ │ │ ├── ResourceFilter.cpp
│ │ │ ├── ResourceFilter.h
│ │ │ ├── ResourceIdCache.cpp
│ │ │ ├── ResourceIdCache.h
│ │ │ ├── ResourceTable.cpp
│ │ │ ├── ResourceTable.h
│ │ │ ├── SdkConstants.h
│ │ │ ├── SourcePos.cpp
│ │ │ ├── SourcePos.h
│ │ │ ├── StringPool.cpp
│ │ │ ├── StringPool.h
│ │ │ ├── Symbol.h
│ │ │ ├── WorkQueue.cpp
│ │ │ ├── WorkQueue.h
│ │ │ ├── XMLNode.cpp
│ │ │ ├── XMLNode.h
│ │ │ ├── ZipEntry.cpp
│ │ │ ├── ZipEntry.h
│ │ │ ├── ZipFile.cpp
│ │ │ ├── ZipFile.h
│ │ │ ├── pseudolocalize.cpp
│ │ │ ├── pseudolocalize.h
│ │ │ └── tests/
│ │ │ ├── AaptConfig_test.cpp
│ │ │ ├── AaptGroupEntry_test.cpp
│ │ │ ├── CrunchCache_test.cpp
│ │ │ ├── FileFinder_test.cpp
│ │ │ ├── MockCacheUpdater.h
│ │ │ ├── MockDirectoryWalker.h
│ │ │ ├── MockFileFinder.h
│ │ │ ├── Pseudolocales_test.cpp
│ │ │ ├── ResourceFilter_test.cpp
│ │ │ ├── ResourceTable_test.cpp
│ │ │ ├── TestHelper.h
│ │ │ └── plurals/
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── res/
│ │ │ │ └── values/
│ │ │ │ └── strings.xml
│ │ │ └── run.sh
│ │ └── native/
│ │ └── include/
│ │ ├── android/
│ │ │ ├── asset_manager.h
│ │ │ ├── asset_manager_jni.h
│ │ │ ├── bitmap.h
│ │ │ ├── choreographer.h
│ │ │ ├── configuration.h
│ │ │ ├── input.h
│ │ │ ├── keycodes.h
│ │ │ ├── looper.h
│ │ │ ├── multinetwork.h
│ │ │ ├── native_activity.h
│ │ │ ├── native_window.h
│ │ │ ├── native_window_jni.h
│ │ │ ├── obb.h
│ │ │ ├── rect.h
│ │ │ ├── sensor.h
│ │ │ ├── storage_manager.h
│ │ │ ├── trace.h
│ │ │ └── window.h
│ │ ├── batteryservice/
│ │ │ ├── BatteryService.h
│ │ │ ├── IBatteryPropertiesListener.h
│ │ │ └── IBatteryPropertiesRegistrar.h
│ │ ├── binder/
│ │ │ ├── AppOpsManager.h
│ │ │ ├── Binder.h
│ │ │ ├── BinderService.h
│ │ │ ├── BpBinder.h
│ │ │ ├── BufferedTextOutput.h
│ │ │ ├── Debug.h
│ │ │ ├── IAppOpsCallback.h
│ │ │ ├── IAppOpsService.h
│ │ │ ├── IBatteryStats.h
│ │ │ ├── IBinder.h
│ │ │ ├── IInterface.h
│ │ │ ├── IMediaResourceMonitor.h
│ │ │ ├── IMemory.h
│ │ │ ├── IPCThreadState.h
│ │ │ ├── IPermissionController.h
│ │ │ ├── IProcessInfoService.h
│ │ │ ├── IResultReceiver.h
│ │ │ ├── IServiceManager.h
│ │ │ ├── MemoryBase.h
│ │ │ ├── MemoryDealer.h
│ │ │ ├── MemoryHeapBase.h
│ │ │ ├── Parcel.h
│ │ │ ├── Parcelable.h
│ │ │ ├── PermissionCache.h
│ │ │ ├── PersistableBundle.h
│ │ │ ├── ProcessInfoService.h
│ │ │ ├── ProcessState.h
│ │ │ ├── Status.h
│ │ │ └── TextOutput.h
│ │ ├── diskusage/
│ │ │ └── dirsize.h
│ │ ├── gui/
│ │ │ ├── BitTube.h
│ │ │ ├── BufferItem.h
│ │ │ ├── BufferItemConsumer.h
│ │ │ ├── BufferQueue.h
│ │ │ ├── BufferQueueConsumer.h
│ │ │ ├── BufferQueueCore.h
│ │ │ ├── BufferQueueDefs.h
│ │ │ ├── BufferQueueProducer.h
│ │ │ ├── BufferSlot.h
│ │ │ ├── ConsumerBase.h
│ │ │ ├── CpuConsumer.h
│ │ │ ├── DisplayEventReceiver.h
│ │ │ ├── GLConsumer.h
│ │ │ ├── GraphicBufferAlloc.h
│ │ │ ├── GuiConfig.h
│ │ │ ├── IConsumerListener.h
│ │ │ ├── IDisplayEventConnection.h
│ │ │ ├── IGraphicBufferAlloc.h
│ │ │ ├── IGraphicBufferConsumer.h
│ │ │ ├── IGraphicBufferProducer.h
│ │ │ ├── IProducerListener.h
│ │ │ ├── ISensorEventConnection.h
│ │ │ ├── ISensorServer.h
│ │ │ ├── ISurfaceComposer.h
│ │ │ ├── ISurfaceComposerClient.h
│ │ │ ├── Sensor.h
│ │ │ ├── SensorEventQueue.h
│ │ │ ├── SensorManager.h
│ │ │ ├── StreamSplitter.h
│ │ │ ├── Surface.h
│ │ │ ├── SurfaceComposerClient.h
│ │ │ └── SurfaceControl.h
│ │ ├── input/
│ │ │ ├── IInputFlinger.h
│ │ │ ├── Input.h
│ │ │ ├── InputDevice.h
│ │ │ ├── InputEventLabels.h
│ │ │ ├── InputTransport.h
│ │ │ ├── KeyCharacterMap.h
│ │ │ ├── KeyLayoutMap.h
│ │ │ ├── Keyboard.h
│ │ │ ├── VelocityControl.h
│ │ │ ├── VelocityTracker.h
│ │ │ └── VirtualKeyMap.h
│ │ ├── media/
│ │ │ ├── drm/
│ │ │ │ └── DrmAPI.h
│ │ │ ├── editor/
│ │ │ │ └── II420ColorConverter.h
│ │ │ ├── hardware/
│ │ │ │ ├── CryptoAPI.h
│ │ │ │ ├── HDCPAPI.h
│ │ │ │ ├── HardwareAPI.h
│ │ │ │ ├── MetadataBufferType.h
│ │ │ │ ├── OMXPluginBase.h
│ │ │ │ └── VideoAPI.h
│ │ │ └── openmax/
│ │ │ ├── OMX_AsString.h
│ │ │ ├── OMX_Audio.h
│ │ │ ├── OMX_AudioExt.h
│ │ │ ├── OMX_Component.h
│ │ │ ├── OMX_ContentPipe.h
│ │ │ ├── OMX_Core.h
│ │ │ ├── OMX_IVCommon.h
│ │ │ ├── OMX_Image.h
│ │ │ ├── OMX_Index.h
│ │ │ ├── OMX_IndexExt.h
│ │ │ ├── OMX_Other.h
│ │ │ ├── OMX_Types.h
│ │ │ ├── OMX_Video.h
│ │ │ └── OMX_VideoExt.h
│ │ ├── powermanager/
│ │ │ ├── IPowerManager.h
│ │ │ └── PowerManager.h
│ │ ├── private/
│ │ │ ├── binder/
│ │ │ │ ├── Static.h
│ │ │ │ └── binder_module.h
│ │ │ ├── gui/
│ │ │ │ ├── ComposerService.h
│ │ │ │ ├── LayerState.h
│ │ │ │ └── SyncFeatures.h
│ │ │ └── ui/
│ │ │ └── RegionHelper.h
│ │ └── ui/
│ │ ├── ANativeObjectBase.h
│ │ ├── DisplayInfo.h
│ │ ├── DisplayStatInfo.h
│ │ ├── Fence.h
│ │ ├── FrameStats.h
│ │ ├── GraphicBuffer.h
│ │ ├── GraphicBufferAllocator.h
│ │ ├── GraphicBufferMapper.h
│ │ ├── HdrCapabilities.h
│ │ ├── PixelFormat.h
│ │ ├── Point.h
│ │ ├── Rect.h
│ │ ├── Region.h
│ │ ├── TMatHelpers.h
│ │ ├── TVecHelpers.h
│ │ ├── UiConfig.h
│ │ ├── mat4.h
│ │ ├── vec2.h
│ │ ├── vec3.h
│ │ └── vec4.h
│ ├── libnativehelper/
│ │ ├── ALog-priv.h
│ │ ├── Android.mk
│ │ ├── AsynchronousCloseMonitor.cpp
│ │ ├── JNIHelp.cpp
│ │ ├── JniConstants.cpp
│ │ ├── JniInvocation.cpp
│ │ ├── MODULE_LICENSE_APACHE2
│ │ ├── NOTICE
│ │ ├── README
│ │ ├── include/
│ │ │ └── nativehelper/
│ │ │ ├── AsynchronousCloseMonitor.h
│ │ │ ├── JNIHelp.h
│ │ │ ├── JniConstants.h
│ │ │ ├── JniInvocation.h
│ │ │ ├── ScopedBytes.h
│ │ │ ├── ScopedFd.h
│ │ │ ├── ScopedLocalFrame.h
│ │ │ ├── ScopedLocalRef.h
│ │ │ ├── ScopedPrimitiveArray.h
│ │ │ ├── ScopedStringChars.h
│ │ │ ├── ScopedUtfChars.h
│ │ │ ├── UniquePtr.h
│ │ │ ├── jni.h
│ │ │ └── toStringArray.h
│ │ ├── tests/
│ │ │ ├── Android.mk
│ │ │ └── JniInvocation_test.cpp
│ │ └── toStringArray.cpp
│ ├── patch/
│ │ ├── 0001-patch-code.patch
│ │ ├── 0002-static-build.patch
│ │ └── 003-rewrite-parseResourceName.patch
│ └── system/
│ └── core/
│ ├── base/
│ │ ├── .clang-format
│ │ ├── Android.mk
│ │ ├── CPPLINT.cfg
│ │ ├── errors_test.cpp
│ │ ├── errors_unix.cpp
│ │ ├── errors_windows.cpp
│ │ ├── file.cpp
│ │ ├── file_test.cpp
│ │ ├── include/
│ │ │ └── android-base/
│ │ │ ├── errors.h
│ │ │ ├── file.h
│ │ │ ├── logging.h
│ │ │ ├── macros.h
│ │ │ ├── memory.h
│ │ │ ├── parseint.h
│ │ │ ├── parsenetaddress.h
│ │ │ ├── stringprintf.h
│ │ │ ├── strings.h
│ │ │ ├── test_utils.h
│ │ │ ├── thread_annotations.h
│ │ │ ├── unique_fd.h
│ │ │ └── utf8.h
│ │ ├── logging.cpp
│ │ ├── logging_test.cpp
│ │ ├── parseint_test.cpp
│ │ ├── parsenetaddress.cpp
│ │ ├── parsenetaddress_test.cpp
│ │ ├── stringprintf.cpp
│ │ ├── stringprintf_test.cpp
│ │ ├── strings.cpp
│ │ ├── strings_test.cpp
│ │ ├── test_main.cpp
│ │ ├── test_utils.cpp
│ │ ├── utf8.cpp
│ │ └── utf8_test.cpp
│ ├── include/
│ │ ├── android/
│ │ │ └── log.h
│ │ ├── backtrace/
│ │ │ ├── Backtrace.h
│ │ │ ├── BacktraceMap.h
│ │ │ └── backtrace_constants.h
│ │ ├── binderwrapper/
│ │ │ ├── binder_test_base.h
│ │ │ ├── binder_wrapper.h
│ │ │ └── stub_binder_wrapper.h
│ │ ├── cutils/
│ │ │ ├── android_reboot.h
│ │ │ ├── ashmem.h
│ │ │ ├── atomic.h
│ │ │ ├── bitops.h
│ │ │ ├── compiler.h
│ │ │ ├── config_utils.h
│ │ │ ├── debugger.h
│ │ │ ├── fs.h
│ │ │ ├── hashmap.h
│ │ │ ├── iosched_policy.h
│ │ │ ├── jstring.h
│ │ │ ├── klog.h
│ │ │ ├── list.h
│ │ │ ├── log.h
│ │ │ ├── memory.h
│ │ │ ├── misc.h
│ │ │ ├── multiuser.h
│ │ │ ├── native_handle.h
│ │ │ ├── open_memstream.h
│ │ │ ├── partition_utils.h
│ │ │ ├── process_name.h
│ │ │ ├── properties.h
│ │ │ ├── qtaguid.h
│ │ │ ├── record_stream.h
│ │ │ ├── sched_policy.h
│ │ │ ├── sockets.h
│ │ │ ├── str_parms.h
│ │ │ ├── threads.h
│ │ │ ├── trace.h
│ │ │ └── uevent.h
│ │ ├── diskconfig/
│ │ │ └── diskconfig.h
│ │ ├── log/
│ │ │ ├── event_tag_map.h
│ │ │ ├── log.h
│ │ │ ├── log_read.h
│ │ │ ├── logd.h
│ │ │ ├── logger.h
│ │ │ ├── logprint.h
│ │ │ └── uio.h
│ │ ├── memtrack/
│ │ │ └── memtrack.h
│ │ ├── mincrypt/
│ │ │ ├── dsa_sig.h
│ │ │ ├── hash-internal.h
│ │ │ ├── p256.h
│ │ │ ├── p256_ecdsa.h
│ │ │ ├── rsa.h
│ │ │ ├── sha.h
│ │ │ └── sha256.h
│ │ ├── nativebridge/
│ │ │ └── native_bridge.h
│ │ ├── netutils/
│ │ │ └── ifc.h
│ │ ├── private/
│ │ │ ├── android_filesystem_capability.h
│ │ │ ├── android_filesystem_config.h
│ │ │ ├── android_logger.h
│ │ │ └── canned_fs_config.h
│ │ ├── system/
│ │ │ ├── camera.h
│ │ │ ├── graphics.h
│ │ │ ├── radio.h
│ │ │ ├── thread_defs.h
│ │ │ └── window.h
│ │ ├── sysutils/
│ │ │ ├── FrameworkClient.h
│ │ │ ├── FrameworkCommand.h
│ │ │ ├── FrameworkListener.h
│ │ │ ├── List.h
│ │ │ ├── NetlinkEvent.h
│ │ │ ├── NetlinkListener.h
│ │ │ ├── ServiceManager.h
│ │ │ ├── SocketClient.h
│ │ │ ├── SocketClientCommand.h
│ │ │ └── SocketListener.h
│ │ ├── usbhost/
│ │ │ └── usbhost.h
│ │ ├── utils/
│ │ │ ├── AndroidThreads.h
│ │ │ ├── Atomic.h
│ │ │ ├── BitSet.h
│ │ │ ├── BlobCache.h
│ │ │ ├── ByteOrder.h
│ │ │ ├── CallStack.h
│ │ │ ├── Compat.h
│ │ │ ├── Condition.h
│ │ │ ├── Debug.h
│ │ │ ├── Endian.h
│ │ │ ├── Errors.h
│ │ │ ├── FileMap.h
│ │ │ ├── Flattenable.h
│ │ │ ├── Functor.h
│ │ │ ├── JenkinsHash.h
│ │ │ ├── KeyedVector.h
│ │ │ ├── LinearTransform.h
│ │ │ ├── List.h
│ │ │ ├── Log.h
│ │ │ ├── Looper.h
│ │ │ ├── LruCache.h
│ │ │ ├── Mutex.h
│ │ │ ├── NativeHandle.h
│ │ │ ├── Printer.h
│ │ │ ├── ProcessCallStack.h
│ │ │ ├── PropertyMap.h
│ │ │ ├── RWLock.h
│ │ │ ├── RefBase.h
│ │ │ ├── Singleton.h
│ │ │ ├── SortedVector.h
│ │ │ ├── StopWatch.h
│ │ │ ├── String16.h
│ │ │ ├── String8.h
│ │ │ ├── StrongPointer.h
│ │ │ ├── SystemClock.h
│ │ │ ├── Thread.h
│ │ │ ├── ThreadDefs.h
│ │ │ ├── Timers.h
│ │ │ ├── Tokenizer.h
│ │ │ ├── Trace.h
│ │ │ ├── TypeHelpers.h
│ │ │ ├── Unicode.h
│ │ │ ├── Vector.h
│ │ │ ├── VectorImpl.h
│ │ │ ├── ashmem.h
│ │ │ ├── misc.h
│ │ │ └── threads.h
│ │ └── ziparchive/
│ │ ├── zip_archive.h
│ │ ├── zip_archive_stream_entry.h
│ │ └── zip_writer.h
│ ├── libcutils/
│ │ ├── Android.mk
│ │ ├── MODULE_LICENSE_APACHE2
│ │ ├── NOTICE
│ │ ├── android_reboot.c
│ │ ├── arch-arm/
│ │ │ └── memset32.S
│ │ ├── arch-arm64/
│ │ │ └── android_memset.S
│ │ ├── arch-mips/
│ │ │ └── android_memset.c
│ │ ├── arch-x86/
│ │ │ ├── android_memset16.S
│ │ │ ├── android_memset32.S
│ │ │ └── cache.h
│ │ ├── arch-x86_64/
│ │ │ ├── android_memset16.S
│ │ │ ├── android_memset32.S
│ │ │ └── cache.h
│ │ ├── ashmem-dev.c
│ │ ├── ashmem-host.c
│ │ ├── atomic.c
│ │ ├── canned_fs_config.c
│ │ ├── config_utils.c
│ │ ├── debugger.c
│ │ ├── dlmalloc_stubs.c
│ │ ├── fs.c
│ │ ├── fs_config.c
│ │ ├── hashmap.c
│ │ ├── iosched_policy.c
│ │ ├── klog.c
│ │ ├── load_file.c
│ │ ├── multiuser.c
│ │ ├── native_handle.c
│ │ ├── open_memstream.c
│ │ ├── partition_utils.c
│ │ ├── process_name.c
│ │ ├── properties.c
│ │ ├── qtaguid.c
│ │ ├── record_stream.c
│ │ ├── sched_policy.c
│ │ ├── socket_inaddr_any_server_unix.c
│ │ ├── socket_inaddr_any_server_windows.c
│ │ ├── socket_local_client_unix.c
│ │ ├── socket_local_server_unix.c
│ │ ├── socket_local_unix.h
│ │ ├── socket_loopback_client_unix.c
│ │ ├── socket_loopback_server_unix.c
│ │ ├── socket_network_client_unix.c
│ │ ├── socket_network_client_windows.c
│ │ ├── sockets.cpp
│ │ ├── sockets_unix.cpp
│ │ ├── sockets_windows.cpp
│ │ ├── str_parms.c
│ │ ├── strdup16to8.c
│ │ ├── strdup8to16.c
│ │ ├── strlcpy.c
│ │ ├── tests/
│ │ │ ├── Android.mk
│ │ │ ├── MemsetTest.cpp
│ │ │ ├── PropertiesTest.cpp
│ │ │ └── test_str_parms.cpp
│ │ ├── threads.c
│ │ ├── trace-dev.c
│ │ ├── trace-host.c
│ │ └── uevent.c
│ ├── liblog/
│ │ ├── Android.bp
│ │ ├── Android.mk
│ │ ├── NOTICE
│ │ ├── README
│ │ ├── config_read.c
│ │ ├── config_read.h
│ │ ├── config_write.c
│ │ ├── config_write.h
│ │ ├── event.logtags
│ │ ├── event_tag_map.c
│ │ ├── fake_log_device.c
│ │ ├── fake_log_device.h
│ │ ├── fake_writer.c
│ │ ├── log_event_list.c
│ │ ├── log_event_write.c
│ │ ├── log_is_loggable.c
│ │ ├── log_portability.h
│ │ ├── log_time.cpp
│ │ ├── logd_reader.c
│ │ ├── logd_writer.c
│ │ ├── logger.h
│ │ ├── logger_lock.c
│ │ ├── logger_name.c
│ │ ├── logger_read.c
│ │ ├── logger_write.c
│ │ ├── logprint.c
│ │ ├── pmsg_reader.c
│ │ ├── pmsg_writer.c
│ │ ├── tests/
│ │ │ ├── Android.mk
│ │ │ ├── benchmark.h
│ │ │ ├── benchmark_main.cpp
│ │ │ ├── libc_test.cpp
│ │ │ ├── liblog_benchmark.cpp
│ │ │ └── liblog_test.cpp
│ │ └── uio.c
│ ├── libutils/
│ │ ├── Android.mk
│ │ ├── BlobCache.cpp
│ │ ├── CallStack.cpp
│ │ ├── CleanSpec.mk
│ │ ├── FileMap.cpp
│ │ ├── JenkinsHash.cpp
│ │ ├── LinearTransform.cpp
│ │ ├── Log.cpp
│ │ ├── Looper.cpp
│ │ ├── MODULE_LICENSE_APACHE2
│ │ ├── NOTICE
│ │ ├── NativeHandle.cpp
│ │ ├── Printer.cpp
│ │ ├── ProcessCallStack.cpp
│ │ ├── PropertyMap.cpp
│ │ ├── README
│ │ ├── RefBase.cpp
│ │ ├── SharedBuffer.cpp
│ │ ├── SharedBuffer.h
│ │ ├── SharedBufferTest.cpp
│ │ ├── Static.cpp
│ │ ├── StopWatch.cpp
│ │ ├── String16.cpp
│ │ ├── String8.cpp
│ │ ├── SystemClock.cpp
│ │ ├── Threads.cpp
│ │ ├── Timers.cpp
│ │ ├── Tokenizer.cpp
│ │ ├── Trace.cpp
│ │ ├── Unicode.cpp
│ │ ├── VectorImpl.cpp
│ │ ├── misc.cpp
│ │ ├── primes.py
│ │ └── tests/
│ │ ├── Android.mk
│ │ ├── BitSet_test.cpp
│ │ ├── BlobCache_test.cpp
│ │ ├── Looper_test.cpp
│ │ ├── LruCache_test.cpp
│ │ ├── String8_test.cpp
│ │ ├── StrongPointer_test.cpp
│ │ ├── TestHelpers.h
│ │ ├── Unicode_test.cpp
│ │ └── Vector_test.cpp
│ └── libziparchive/
│ ├── Android.mk
│ ├── entry_name_utils-inl.h
│ ├── entry_name_utils_test.cc
│ ├── zip_archive.cc
│ ├── zip_archive_common.h
│ ├── zip_archive_private.h
│ ├── zip_archive_stream_entry.cc
│ ├── zip_archive_test.cc
│ ├── zip_writer.cc
│ └── zip_writer_test.cc
├── atlas-aapt-old/
│ └── frameworks/
│ └── base/
│ ├── include/
│ │ └── androidfw/
│ │ ├── Asset.h
│ │ ├── AssetDir.h
│ │ ├── AssetManager.h
│ │ ├── BackupHelpers.h
│ │ ├── ByteBucketArray.h
│ │ ├── CursorWindow.h
│ │ ├── ObbFile.h
│ │ ├── ResourcePackageId.h
│ │ ├── ResourceTypes.h
│ │ ├── StreamingZipInflater.h
│ │ ├── TypeWrappers.h
│ │ ├── ZipFileRO.h
│ │ ├── ZipUtils.h
│ │ └── misc.h
│ ├── libs/
│ │ └── androidfw/
│ │ ├── Android.mk
│ │ ├── Asset.cpp
│ │ ├── AssetDir.cpp
│ │ ├── AssetManager.cpp
│ │ ├── BackupData.cpp
│ │ ├── BackupHelpers.cpp
│ │ ├── CursorWindow.cpp
│ │ ├── MODULE_LICENSE_APACHE2
│ │ ├── NOTICE
│ │ ├── ObbFile.cpp
│ │ ├── ResourceTypes.cpp
│ │ ├── StreamingZipInflater.cpp
│ │ ├── TypeWrappers.cpp
│ │ ├── ZipFileRO.cpp
│ │ ├── ZipUtils.cpp
│ │ ├── misc.cpp
│ │ └── tests/
│ │ ├── Android.mk
│ │ ├── BackupData_test.cpp
│ │ ├── ByteBucketArray_test.cpp
│ │ ├── ConfigLocale_test.cpp
│ │ ├── Config_test.cpp
│ │ ├── Idmap_test.cpp
│ │ ├── ObbFile_test.cpp
│ │ ├── ResTable_test.cpp
│ │ ├── Split_test.cpp
│ │ ├── TestHelpers.h
│ │ ├── Theme_test.cpp
│ │ ├── TypeWrappers_test.cpp
│ │ ├── ZipUtils_test.cpp
│ │ └── data/
│ │ ├── .gitignore
│ │ ├── app/
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── R.h
│ │ │ ├── app_arsc.h
│ │ │ └── res/
│ │ │ └── values/
│ │ │ └── values.xml
│ │ ├── basic/
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── R.h
│ │ │ ├── basic_arsc.h
│ │ │ ├── res/
│ │ │ │ ├── layout/
│ │ │ │ │ └── main.xml
│ │ │ │ ├── layout-fr-sw600dp/
│ │ │ │ │ └── main.xml
│ │ │ │ ├── values/
│ │ │ │ │ └── values.xml
│ │ │ │ ├── values-de/
│ │ │ │ │ └── values.xml
│ │ │ │ ├── values-fr/
│ │ │ │ │ └── values.xml
│ │ │ │ └── values-sv/
│ │ │ │ └── values.xml
│ │ │ └── split_de_fr_arsc.h
│ │ ├── feature/
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── feature_arsc.h
│ │ │ └── res/
│ │ │ └── values/
│ │ │ └── values.xml
│ │ ├── lib/
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── R.h
│ │ │ ├── lib_arsc.h
│ │ │ └── res/
│ │ │ └── values/
│ │ │ └── values.xml
│ │ ├── overlay/
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── overlay_arsc.h
│ │ │ └── res/
│ │ │ └── values/
│ │ │ └── values.xml
│ │ └── system/
│ │ ├── AndroidManifest.xml
│ │ ├── R.h
│ │ ├── res/
│ │ │ └── values/
│ │ │ └── themes.xml
│ │ └── system_arsc.h
│ └── tools/
│ └── aapt/
│ ├── AaptAssets.cpp
│ ├── AaptAssets.h
│ ├── AaptConfig.cpp
│ ├── AaptConfig.h
│ ├── AaptUtil.cpp
│ ├── AaptUtil.h
│ ├── AaptXml.cpp
│ ├── AaptXml.h
│ ├── Android.mk
│ ├── ApkBuilder.cpp
│ ├── ApkBuilder.h
│ ├── Bundle.h
│ ├── CacheUpdater.h
│ ├── Command.cpp
│ ├── ConfigDescription.h
│ ├── CrunchCache.cpp
│ ├── CrunchCache.h
│ ├── DirectoryWalker.h
│ ├── FileFinder.cpp
│ ├── FileFinder.h
│ ├── Images.cpp
│ ├── Images.h
│ ├── IndentPrinter.h
│ ├── Main.cpp
│ ├── Main.h
│ ├── NOTICE
│ ├── OutputSet.h
│ ├── Package.cpp
│ ├── Resource.cpp
│ ├── ResourceFilter.cpp
│ ├── ResourceFilter.h
│ ├── ResourceIdCache.cpp
│ ├── ResourceIdCache.h
│ ├── ResourceTable.cpp
│ ├── ResourceTable.h
│ ├── SourcePos.cpp
│ ├── SourcePos.h
│ ├── StringPool.cpp
│ ├── StringPool.h
│ ├── WorkQueue.cpp
│ ├── WorkQueue.h
│ ├── XMLNode.cpp
│ ├── XMLNode.h
│ ├── ZipEntry.cpp
│ ├── ZipEntry.h
│ ├── ZipFile.cpp
│ ├── ZipFile.h
│ ├── printapk.cpp
│ ├── pseudolocalize.cpp
│ ├── pseudolocalize.h
│ ├── qsort_r_compat.c
│ ├── qsort_r_compat.h
│ └── tests/
│ ├── AaptConfig_test.cpp
│ ├── AaptGroupEntry_test.cpp
│ ├── CrunchCache_test.cpp
│ ├── FileFinder_test.cpp
│ ├── MockCacheUpdater.h
│ ├── MockDirectoryWalker.h
│ ├── MockFileFinder.h
│ ├── ResourceFilter_test.cpp
│ ├── TestHelper.h
│ └── plurals/
│ ├── AndroidManifest.xml
│ ├── res/
│ │ └── values/
│ │ └── strings.xml
│ └── run.sh
├── atlas-core/
│ ├── .gitignore
│ ├── README.md
│ ├── README.zh_cn.md
│ ├── build.gradle
│ ├── gradle/
│ │ └── wrapper/
│ │ ├── gradle-wrapper.jar
│ │ └── gradle-wrapper.properties
│ ├── gradlew
│ ├── gradlew.bat
│ ├── lint.xml
│ ├── proguard.cfg
│ ├── project.properties
│ ├── publish.sh
│ ├── settings.gradle
│ └── src/
│ └── main/
│ ├── AndroidManifest.xml
│ ├── aidl/
│ │ └── android/
│ │ ├── app/
│ │ │ ├── IActivityManager/
│ │ │ │ └── ContentProviderHolder.aidl
│ │ │ └── IServiceConnection.aidl
│ │ └── taobao/
│ │ └── atlas/
│ │ └── runtime/
│ │ ├── ApplicationInitException.java
│ │ └── newcomponent/
│ │ └── service/
│ │ └── IDelegateBinder.aidl
│ ├── java/
│ │ ├── android/
│ │ │ ├── support/
│ │ │ │ └── multidex/
│ │ │ │ ├── DexElementsMaker.java
│ │ │ │ ├── DexElementsMethodInvokerV14.java
│ │ │ │ ├── DexElementsMethodInvokerV19.java
│ │ │ │ ├── IDexElementsMaker.java
│ │ │ │ ├── IDexElementsMethodInvoker.java
│ │ │ │ ├── MultiDex.java
│ │ │ │ ├── MultiDexExtractor.java
│ │ │ │ └── ZipUtil.java
│ │ │ └── taobao/
│ │ │ └── atlas/
│ │ │ ├── bridge/
│ │ │ │ └── BridgeApplicationDelegate.java
│ │ │ ├── bundleInfo/
│ │ │ │ ├── AtlasBundleInfoGenerator.java
│ │ │ │ ├── AtlasBundleInfoManager.java
│ │ │ │ ├── BundleListing.java
│ │ │ │ └── BundleListingUtil.java
│ │ │ ├── framework/
│ │ │ │ ├── Atlas.java
│ │ │ │ ├── Framework.java
│ │ │ │ └── FrameworkProperties.java
│ │ │ ├── hack/
│ │ │ │ ├── AndroidHack.java
│ │ │ │ ├── AssertionArrayException.java
│ │ │ │ ├── AtlasHacks.java
│ │ │ │ ├── Hack.java
│ │ │ │ └── Interception.java
│ │ │ ├── profile/
│ │ │ │ └── AtlasProfile.java
│ │ │ ├── runtime/
│ │ │ │ ├── ActivityLifeCycleObserver.java
│ │ │ │ ├── ActivityTaskMgr.java
│ │ │ │ ├── ApplicationInvoker.java
│ │ │ │ ├── AtlasPreLauncher.java
│ │ │ │ ├── BundleIniter.java
│ │ │ │ ├── FrameworkLifecycleHandler.java
│ │ │ │ ├── LowDiskException.java
│ │ │ │ └── RuntimeVariables.java
│ │ │ ├── startup/
│ │ │ │ ├── AtlasBridgeApplication.java
│ │ │ │ ├── DexFileCompat.java
│ │ │ │ ├── KernalVersionManager.java
│ │ │ │ ├── NClassLoader.java
│ │ │ │ └── patch/
│ │ │ │ ├── CombineDexMerger.java
│ │ │ │ ├── CombineDexVerifier.java
│ │ │ │ ├── KernalBundle.java
│ │ │ │ ├── KernalBundleArchive.java
│ │ │ │ ├── KernalConstants.java
│ │ │ │ ├── KernalFileLock.java
│ │ │ │ ├── PatchMerger.java
│ │ │ │ ├── PatchVerifier.java
│ │ │ │ └── releaser/
│ │ │ │ ├── BundleReleaser.java
│ │ │ │ ├── DexReleaser.java
│ │ │ │ ├── PatchDexProfile.java
│ │ │ │ └── ReleaseType.java
│ │ │ ├── util/
│ │ │ │ ├── ApkUtils.java
│ │ │ │ ├── AtlasFileLock.java
│ │ │ │ ├── BundleLock.java
│ │ │ │ ├── FileUtils.java
│ │ │ │ ├── IOUtil.java
│ │ │ │ ├── RefectUtils.java
│ │ │ │ ├── SoLoader.java
│ │ │ │ ├── StringUtils.java
│ │ │ │ ├── WrapperUtil.java
│ │ │ │ └── log/
│ │ │ │ ├── IAlarmer.java
│ │ │ │ ├── ILog.java
│ │ │ │ ├── IMonitor.java
│ │ │ │ └── impl/
│ │ │ │ ├── AtlasAlarmer.java
│ │ │ │ ├── AtlasLog.java
│ │ │ │ └── AtlasMonitor.java
│ │ │ └── versionInfo/
│ │ │ └── BaselineInfoManager.java
│ │ └── org/
│ │ └── osgi/
│ │ └── framework/
│ │ ├── Bundle.java
│ │ ├── BundleEvent.java
│ │ ├── BundleException.java
│ │ ├── BundleListener.java
│ │ ├── Constants.java
│ │ ├── FrameworkEvent.java
│ │ ├── FrameworkListener.java
│ │ └── SynchronousBundleListener.java
│ └── res/
│ ├── drawable/
│ │ └── atlas_waitview.xml
│ ├── layout/
│ │ └── atlas_progress.xml
│ └── values/
│ └── style_atlas.xml
├── atlas-demo/
│ ├── .gitignore
│ ├── AtlasDemo/
│ │ ├── .gitignore
│ │ ├── AwoForBundle.txt
│ │ ├── AwoForHost.txt
│ │ ├── README.md
│ │ ├── Tpatch.txt
│ │ ├── activitygroupcompat/
│ │ │ ├── .gitignore
│ │ │ ├── build.gradle
│ │ │ ├── proguard-rules.pro
│ │ │ └── src/
│ │ │ └── main/
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── java/
│ │ │ │ └── com/
│ │ │ │ └── taobao/
│ │ │ │ └── android/
│ │ │ │ ├── ActivityGroupDelegate.java
│ │ │ │ └── LocalActivityManager.java
│ │ │ └── res/
│ │ │ └── values/
│ │ │ └── strings.xml
│ │ ├── app/
│ │ │ ├── .gitignore
│ │ │ ├── .gradletasknamecache
│ │ │ ├── build.gradle
│ │ │ ├── dexPatchWraper.gradle
│ │ │ ├── jd-gui.cfg
│ │ │ ├── proguard-rules.pro
│ │ │ ├── push_dexpatch_out.sh
│ │ │ └── src/
│ │ │ ├── androidTest/
│ │ │ │ └── java/
│ │ │ │ └── com/
│ │ │ │ └── taobao/
│ │ │ │ └── demo/
│ │ │ │ └── ExampleInstrumentedTest.java
│ │ │ └── main/
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── java/
│ │ │ │ └── com/
│ │ │ │ └── taobao/
│ │ │ │ ├── demo/
│ │ │ │ │ ├── DemoApplication.java
│ │ │ │ │ ├── DemoPreLaunch.java
│ │ │ │ │ ├── MainActivity.java
│ │ │ │ │ ├── MyContentProvider.java
│ │ │ │ │ ├── RemoteDemoActivity.java
│ │ │ │ │ ├── UpdateDemoActivity.java
│ │ │ │ │ └── databind/
│ │ │ │ │ ├── DataBundleAarActivity.java
│ │ │ │ │ └── User.java
│ │ │ │ └── update/
│ │ │ │ └── Updater.java
│ │ │ └── res/
│ │ │ ├── drawable/
│ │ │ │ ├── ic_dashboard_black_24dp.xml
│ │ │ │ ├── ic_home_black_24dp.xml
│ │ │ │ ├── ic_notifications_black_24dp.xml
│ │ │ │ └── side_nav_bar.xml
│ │ │ ├── layout/
│ │ │ │ ├── aar_databind_main.xml
│ │ │ │ ├── activity_main.xml
│ │ │ │ ├── activity_navigation.xml
│ │ │ │ ├── activity_scrolling.xml
│ │ │ │ ├── activity_update.xml
│ │ │ │ ├── app_bar_main.xml
│ │ │ │ ├── content_main.xml
│ │ │ │ ├── content_navigation_main.xml
│ │ │ │ ├── content_scrolling.xml
│ │ │ │ ├── guild_remote_bundle.xml
│ │ │ │ └── nav_header_main.xml
│ │ │ ├── menu/
│ │ │ │ ├── activity_main_drawer.xml
│ │ │ │ ├── main.xml
│ │ │ │ └── navigation.xml
│ │ │ └── values/
│ │ │ ├── colors.xml
│ │ │ ├── dimens.xml
│ │ │ ├── main_style.xml
│ │ │ └── strings.xml
│ │ ├── build.gradle
│ │ ├── databindbundle/
│ │ │ ├── .gitignore
│ │ │ ├── build.gradle
│ │ │ ├── proguard-rules.pro
│ │ │ └── src/
│ │ │ └── main/
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── java/
│ │ │ │ └── com/
│ │ │ │ └── taobao/
│ │ │ │ └── databindbundle/
│ │ │ │ └── databind/
│ │ │ │ ├── DataBundleSampleActivity.java
│ │ │ │ └── User.java
│ │ │ └── res/
│ │ │ ├── layout/
│ │ │ │ └── bundle_databind_main.xml
│ │ │ └── values/
│ │ │ └── strings.xml
│ │ ├── databindinglibrary/
│ │ │ ├── .gitignore
│ │ │ ├── build.gradle
│ │ │ ├── proguard-rules.pro
│ │ │ └── src/
│ │ │ └── main/
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── java/
│ │ │ │ └── com/
│ │ │ │ └── taobao/
│ │ │ │ └── databinding/
│ │ │ │ └── library/
│ │ │ │ ├── DataBingAarActivity.java
│ │ │ │ └── User.java
│ │ │ └── res/
│ │ │ └── layout/
│ │ │ └── aar_databind.xml
│ │ ├── firstbundle/
│ │ │ ├── .gitignore
│ │ │ ├── build.gradle
│ │ │ ├── proguard-rules.pro
│ │ │ └── src/
│ │ │ └── main/
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── java/
│ │ │ │ └── com/
│ │ │ │ └── taobao/
│ │ │ │ └── firstbundle/
│ │ │ │ ├── FirstBundleActivity.java
│ │ │ │ ├── FirstBundleService.java
│ │ │ │ ├── UseremoteActivity.java
│ │ │ │ └── fragment/
│ │ │ │ ├── BlankFragment.java
│ │ │ │ ├── DummyContent.java
│ │ │ │ ├── ItemFragment.java
│ │ │ │ └── MyItemRecyclerViewAdapter.java
│ │ │ └── res/
│ │ │ ├── layout/
│ │ │ │ ├── activity_firstbundle.xml
│ │ │ │ ├── activity_useremote.xml
│ │ │ │ ├── activity_web_view.xml
│ │ │ │ ├── fragment_blank.xml
│ │ │ │ ├── fragment_item.xml
│ │ │ │ └── fragment_item_list.xml
│ │ │ └── values/
│ │ │ └── strings.xml
│ │ ├── gradle/
│ │ │ └── wrapper/
│ │ │ ├── gradle-wrapper.jar
│ │ │ └── gradle-wrapper.properties
│ │ ├── gradle.properties
│ │ ├── gradlew
│ │ ├── gradlew.bat
│ │ ├── lottie/
│ │ │ ├── .gitignore
│ │ │ ├── build.gradle
│ │ │ ├── gradle.properties
│ │ │ └── src/
│ │ │ └── main/
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── java/
│ │ │ │ └── com/
│ │ │ │ └── airbnb/
│ │ │ │ └── lottie/
│ │ │ │ ├── AnimatableColorValue.java
│ │ │ │ ├── AnimatableFloatValue.java
│ │ │ │ ├── AnimatableIntegerValue.java
│ │ │ │ ├── AnimatablePathValue.java
│ │ │ │ ├── AnimatablePointValue.java
│ │ │ │ ├── AnimatableScaleValue.java
│ │ │ │ ├── AnimatableShapeValue.java
│ │ │ │ ├── AnimatableSplitDimensionPathValue.java
│ │ │ │ ├── AnimatableTransform.java
│ │ │ │ ├── AnimatableValue.java
│ │ │ │ ├── AnimatableValueParser.java
│ │ │ │ ├── BaseAnimatableValue.java
│ │ │ │ ├── BaseKeyframeAnimation.java
│ │ │ │ ├── BaseLayer.java
│ │ │ │ ├── BitmapCanvas.java
│ │ │ │ ├── Cancellable.java
│ │ │ │ ├── CanvasPool.java
│ │ │ │ ├── CircleShape.java
│ │ │ │ ├── ColorFactory.java
│ │ │ │ ├── ColorKeyframeAnimation.java
│ │ │ │ ├── CompositionLayer.java
│ │ │ │ ├── CompositionLoader.java
│ │ │ │ ├── Content.java
│ │ │ │ ├── ContentGroup.java
│ │ │ │ ├── CubicCurveData.java
│ │ │ │ ├── DrawingContent.java
│ │ │ │ ├── EllipseContent.java
│ │ │ │ ├── FileCompositionLoader.java
│ │ │ │ ├── FillContent.java
│ │ │ │ ├── FloatKeyframeAnimation.java
│ │ │ │ ├── GammaEvaluator.java
│ │ │ │ ├── ImageAssetBitmapManager.java
│ │ │ │ ├── ImageAssetDelegate.java
│ │ │ │ ├── ImageLayer.java
│ │ │ │ ├── IntegerKeyframeAnimation.java
│ │ │ │ ├── JsonCompositionLoader.java
│ │ │ │ ├── JsonUtils.java
│ │ │ │ ├── Keyframe.java
│ │ │ │ ├── KeyframeAnimation.java
│ │ │ │ ├── L.java
│ │ │ │ ├── Layer.java
│ │ │ │ ├── LottieAnimationView.java
│ │ │ │ ├── LottieComposition.java
│ │ │ │ ├── LottieDrawable.java
│ │ │ │ ├── LottieImageAsset.java
│ │ │ │ ├── Mask.java
│ │ │ │ ├── MaskKeyframeAnimation.java
│ │ │ │ ├── MergePaths.java
│ │ │ │ ├── MergePathsContent.java
│ │ │ │ ├── MiscUtils.java
│ │ │ │ ├── ModifierContent.java
│ │ │ │ ├── NullLayer.java
│ │ │ │ ├── OnCompositionLoadedListener.java
│ │ │ │ ├── PathContent.java
│ │ │ │ ├── PathKeyframe.java
│ │ │ │ ├── PathKeyframeAnimation.java
│ │ │ │ ├── PointFFactory.java
│ │ │ │ ├── PointKeyframeAnimation.java
│ │ │ │ ├── PolystarContent.java
│ │ │ │ ├── PolystarShape.java
│ │ │ │ ├── RectangleContent.java
│ │ │ │ ├── RectangleShape.java
│ │ │ │ ├── ScaleKeyframeAnimation.java
│ │ │ │ ├── ScaleXY.java
│ │ │ │ ├── ShapeContent.java
│ │ │ │ ├── ShapeData.java
│ │ │ │ ├── ShapeFill.java
│ │ │ │ ├── ShapeGroup.java
│ │ │ │ ├── ShapeKeyframeAnimation.java
│ │ │ │ ├── ShapeLayer.java
│ │ │ │ ├── ShapePath.java
│ │ │ │ ├── ShapeStroke.java
│ │ │ │ ├── ShapeTrimPath.java
│ │ │ │ ├── SolidLayer.java
│ │ │ │ ├── SplitDimensionPathKeyframeAnimation.java
│ │ │ │ ├── StaticKeyframeAnimation.java
│ │ │ │ ├── StrokeContent.java
│ │ │ │ ├── TransformKeyframeAnimation.java
│ │ │ │ ├── TrimPathContent.java
│ │ │ │ └── Utils.java
│ │ │ └── res/
│ │ │ └── values/
│ │ │ ├── attrs.xml
│ │ │ └── ids.xml
│ │ ├── middlewarelibrary/
│ │ │ ├── .gitignore
│ │ │ ├── build.gradle
│ │ │ ├── proguard-rules.pro
│ │ │ └── src/
│ │ │ ├── androidTest/
│ │ │ │ └── java/
│ │ │ │ └── com/
│ │ │ │ └── taobao/
│ │ │ │ └── middleware/
│ │ │ │ └── ExampleInstrumentedTest.java
│ │ │ ├── main/
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ ├── java/
│ │ │ │ │ └── com/
│ │ │ │ │ ├── middleware/
│ │ │ │ │ │ └── dialog/
│ │ │ │ │ │ ├── Button.java
│ │ │ │ │ │ ├── ButtonFlat.java
│ │ │ │ │ │ ├── CustomView.java
│ │ │ │ │ │ ├── Dialog.java
│ │ │ │ │ │ └── Utils.java
│ │ │ │ │ └── taobao/
│ │ │ │ │ └── middleware/
│ │ │ │ │ ├── ICaculator.java
│ │ │ │ │ ├── ItemDetailActivity.java
│ │ │ │ │ ├── ItemDetailFragment.java
│ │ │ │ │ ├── ItemListActivity.java
│ │ │ │ │ ├── StringUtil.java
│ │ │ │ │ └── dummy/
│ │ │ │ │ └── DummyContent.java
│ │ │ │ └── res/
│ │ │ │ ├── anim/
│ │ │ │ │ ├── dialog_main_hide_amination.xml
│ │ │ │ │ ├── dialog_main_show_amination.xml
│ │ │ │ │ ├── dialog_root_hide_amin.xml
│ │ │ │ │ └── dialog_root_show_amin.xml
│ │ │ │ ├── drawable/
│ │ │ │ │ └── background_transparent.xml
│ │ │ │ ├── layout/
│ │ │ │ │ ├── activity_item_detail.xml
│ │ │ │ │ ├── activity_item_list.xml
│ │ │ │ │ ├── item_detail.xml
│ │ │ │ │ ├── item_list.xml
│ │ │ │ │ ├── item_list_content.xml
│ │ │ │ │ └── update_dialog.xml
│ │ │ │ ├── layout-w900dp/
│ │ │ │ │ └── item_list.xml
│ │ │ │ └── values/
│ │ │ │ ├── colors.xml
│ │ │ │ ├── dimens.xml
│ │ │ │ ├── strings.xml
│ │ │ │ └── styles.xml
│ │ │ └── test/
│ │ │ └── java/
│ │ │ └── com/
│ │ │ └── taobao/
│ │ │ └── middleware/
│ │ │ └── ExampleUnitTest.java
│ │ ├── publicbundle/
│ │ │ ├── .gitignore
│ │ │ ├── build.gradle
│ │ │ ├── proguard-rules.pro
│ │ │ └── src/
│ │ │ ├── androidTest/
│ │ │ │ └── java/
│ │ │ │ └── com/
│ │ │ │ └── taobao/
│ │ │ │ └── publicBundle/
│ │ │ │ └── ExampleInstrumentedTest.java
│ │ │ ├── main/
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ ├── java/
│ │ │ │ │ └── com/
│ │ │ │ │ └── taobao/
│ │ │ │ │ └── publicBundle/
│ │ │ │ │ └── Tools.java
│ │ │ │ └── res/
│ │ │ │ └── values/
│ │ │ │ └── strings.xml
│ │ │ └── test/
│ │ │ └── java/
│ │ │ └── com/
│ │ │ └── taobao/
│ │ │ └── publicBundle/
│ │ │ └── ExampleUnitTest.java
│ │ ├── remotebundle/
│ │ │ ├── .gitignore
│ │ │ ├── build.gradle
│ │ │ ├── proguard-rules.pro
│ │ │ └── src/
│ │ │ ├── androidTest/
│ │ │ │ └── java/
│ │ │ │ └── com/
│ │ │ │ └── taobao/
│ │ │ │ └── remotebunle/
│ │ │ │ └── ExampleInstrumentedTest.java
│ │ │ ├── main/
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ ├── java/
│ │ │ │ │ └── com/
│ │ │ │ │ └── taobao/
│ │ │ │ │ └── remotebunle/
│ │ │ │ │ └── RemoteBundleActivity.java
│ │ │ │ └── res/
│ │ │ │ ├── layout/
│ │ │ │ │ └── activity_remote_bundle.xml
│ │ │ │ └── values/
│ │ │ │ └── strings.xml
│ │ │ └── test/
│ │ │ └── java/
│ │ │ └── com/
│ │ │ └── taobao/
│ │ │ └── remotebunle/
│ │ │ └── ExampleUnitTest.java
│ │ ├── secondbundle/
│ │ │ ├── .gitignore
│ │ │ ├── build.gradle
│ │ │ ├── proguard-rules.pro
│ │ │ └── src/
│ │ │ ├── main/
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ ├── java/
│ │ │ │ │ └── com/
│ │ │ │ │ └── taobao/
│ │ │ │ │ └── secondbundle/
│ │ │ │ │ ├── MyRichView.java
│ │ │ │ │ ├── PlusOneFragment.java
│ │ │ │ │ ├── SecondBundleActivity.java
│ │ │ │ │ ├── SecondBundleApplication.java
│ │ │ │ │ ├── SecondBundleFragment.java
│ │ │ │ │ └── SecondBundleIniter.java
│ │ │ │ └── res/
│ │ │ │ ├── layout/
│ │ │ │ │ ├── activity_secondbundle.xml
│ │ │ │ │ ├── fragment_plus_one.xml
│ │ │ │ │ └── test_layout.xml
│ │ │ │ └── values/
│ │ │ │ └── strings.xml
│ │ │ └── test/
│ │ │ └── java/
│ │ │ └── com/
│ │ │ └── taobao/
│ │ │ └── secondbundle/
│ │ │ └── ExampleUnitTest.java
│ │ ├── secondbundlelibrary/
│ │ │ ├── .gitignore
│ │ │ ├── build.gradle
│ │ │ ├── proguard-rules.pro
│ │ │ └── src/
│ │ │ ├── androidTest/
│ │ │ │ └── java/
│ │ │ │ └── com/
│ │ │ │ └── taobao/
│ │ │ │ └── secondbundlelibrary/
│ │ │ │ └── ExampleInstrumentedTest.java
│ │ │ ├── main/
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ ├── java/
│ │ │ │ │ └── com/
│ │ │ │ │ └── taobao/
│ │ │ │ │ └── secondbundlelibrary/
│ │ │ │ │ └── SecondbundleShareActivity.java
│ │ │ │ └── res/
│ │ │ │ ├── layout/
│ │ │ │ │ └── activity_secondbundle_share.xml
│ │ │ │ └── values/
│ │ │ │ └── strings.xml
│ │ │ └── test/
│ │ │ └── java/
│ │ │ └── com/
│ │ │ └── taobao/
│ │ │ └── secondbundlelibrary/
│ │ │ └── ExampleUnitTest.java
│ │ ├── settings.gradle
│ │ ├── splashscreen/
│ │ │ ├── .gitignore
│ │ │ ├── build.gradle
│ │ │ ├── proguard-rules.pro
│ │ │ └── src/
│ │ │ ├── androidTest/
│ │ │ │ └── java/
│ │ │ │ └── com/
│ │ │ │ └── taobao/
│ │ │ │ └── splashscreen/
│ │ │ │ └── ExampleInstrumentedTest.java
│ │ │ ├── main/
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ ├── assets/
│ │ │ │ │ ├── A.json
│ │ │ │ │ ├── L.json
│ │ │ │ │ ├── S.json
│ │ │ │ │ └── T.json
│ │ │ │ ├── java/
│ │ │ │ │ └── com/
│ │ │ │ │ ├── airbnb/
│ │ │ │ │ │ └── lottiesplash/
│ │ │ │ │ │ └── LottieFontViewGroup.java
│ │ │ │ │ └── taobao/
│ │ │ │ │ └── splashscreen/
│ │ │ │ │ └── WelcomeActivity.java
│ │ │ │ └── res/
│ │ │ │ ├── layout/
│ │ │ │ │ └── activity_welcome.xml
│ │ │ │ └── values/
│ │ │ │ ├── attrs.xml
│ │ │ │ ├── colors.xml
│ │ │ │ ├── strings.xml
│ │ │ │ └── styles.xml
│ │ │ └── test/
│ │ │ └── java/
│ │ │ └── com/
│ │ │ └── taobao/
│ │ │ └── splashscreen/
│ │ │ └── ExampleUnitTest.java
│ │ └── structor.md
│ ├── IncrementAtlasDemo/
│ │ ├── .gitignore
│ │ ├── build.gradle
│ │ ├── gradle/
│ │ │ └── wrapper/
│ │ │ ├── gradle-wrapper.jar
│ │ │ └── gradle-wrapper.properties
│ │ ├── gradle.properties
│ │ ├── gradlew
│ │ ├── gradlew.bat
│ │ ├── increment_app/
│ │ │ ├── build.gradle
│ │ │ └── src/
│ │ │ └── main/
│ │ │ └── AndroidManifest.xml
│ │ └── settings.gradle
│ ├── MyApplication/
│ │ ├── gradle/
│ │ │ └── wrapper/
│ │ │ ├── gradle-wrapper.jar
│ │ │ └── gradle-wrapper.properties
│ │ └── gradlew
│ ├── README.md
│ ├── multi-feature-module/
│ │ ├── .google/
│ │ │ └── packaging.yaml
│ │ ├── LICENSE
│ │ ├── NOTICE
│ │ ├── README.md
│ │ ├── base/
│ │ │ ├── build.gradle
│ │ │ └── src/
│ │ │ └── main/
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── java/
│ │ │ │ └── com/
│ │ │ │ └── example/
│ │ │ │ └── android/
│ │ │ │ └── unsplash/
│ │ │ │ ├── IntentUtil.kt
│ │ │ │ ├── data/
│ │ │ │ │ ├── PhotoService.java
│ │ │ │ │ ├── UnsplashService.java
│ │ │ │ │ └── model/
│ │ │ │ │ └── Photo.java
│ │ │ │ ├── test.kt
│ │ │ │ ├── transition/
│ │ │ │ │ └── TextResize.java
│ │ │ │ └── ui/
│ │ │ │ ├── DetailSharedElementEnterCallback.java
│ │ │ │ ├── ForegroundImageView.java
│ │ │ │ ├── ImageSize.java
│ │ │ │ ├── ThreeTwoImageView.java
│ │ │ │ ├── TransitionCallback.java
│ │ │ │ ├── grid/
│ │ │ │ │ ├── GridMarginDecoration.java
│ │ │ │ │ ├── OnItemSelectedListener.java
│ │ │ │ │ ├── PhotoAdapter.java
│ │ │ │ │ └── PhotoViewHolder.java
│ │ │ │ └── pager/
│ │ │ │ └── DetailViewPagerAdapter.java
│ │ │ └── res/
│ │ │ ├── animator/
│ │ │ │ └── raise.xml
│ │ │ ├── drawable/
│ │ │ │ ├── grey_ripple.xml
│ │ │ │ └── ic_arrow_back.xml
│ │ │ ├── layout/
│ │ │ │ ├── detail_view.xml
│ │ │ │ └── photo_item.xml
│ │ │ ├── transition/
│ │ │ │ ├── grid_exit.xml
│ │ │ │ ├── grid_reenter.xml
│ │ │ │ └── shared_main_detail.xml
│ │ │ └── values/
│ │ │ ├── attrs_foreground_view.xml
│ │ │ ├── colors.xml
│ │ │ ├── dimens.xml
│ │ │ ├── ids.xml
│ │ │ ├── strings.xml
│ │ │ └── styles.xml
│ │ ├── build.gradle
│ │ ├── detail/
│ │ │ ├── build.gradle
│ │ │ └── src/
│ │ │ ├── androidTest/
│ │ │ │ └── java/
│ │ │ │ └── com/
│ │ │ │ └── example/
│ │ │ │ └── android/
│ │ │ │ └── unsplash/
│ │ │ │ └── DetailActivityTest.java
│ │ │ └── main/
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── java/
│ │ │ │ └── com/
│ │ │ │ └── example/
│ │ │ │ └── android/
│ │ │ │ └── unsplash/
│ │ │ │ └── DetailActivity.java
│ │ │ └── res/
│ │ │ ├── drawable/
│ │ │ │ └── page_margin.xml
│ │ │ └── layout/
│ │ │ └── activity_detail.xml
│ │ ├── gradle/
│ │ │ └── wrapper/
│ │ │ ├── gradle-wrapper.jar
│ │ │ └── gradle-wrapper.properties
│ │ ├── gradle.properties
│ │ ├── gradlew
│ │ ├── installed/
│ │ │ ├── .gitignore
│ │ │ ├── build.gradle
│ │ │ └── src/
│ │ │ └── main/
│ │ │ └── AndroidManifest.xml
│ │ ├── instant/
│ │ │ └── build.gradle
│ │ ├── main/
│ │ │ ├── build.gradle
│ │ │ └── src/
│ │ │ ├── androidTest/
│ │ │ │ └── java/
│ │ │ │ └── com/
│ │ │ │ └── example/
│ │ │ │ └── android/
│ │ │ │ └── unsplash/
│ │ │ │ └── MainActivityTest.java
│ │ │ └── main/
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── java/
│ │ │ │ └── com/
│ │ │ │ └── example/
│ │ │ │ └── android/
│ │ │ │ └── unsplash/
│ │ │ │ └── MainActivity.java
│ │ │ └── res/
│ │ │ └── layout/
│ │ │ └── activity_main.xml
│ │ ├── proguard.pro
│ │ └── settings.gradle
│ └── 基于版本打包的demo/
│ ├── FirstBundle/
│ │ ├── build.gradle
│ │ ├── gradle/
│ │ │ └── wrapper/
│ │ │ ├── gradle-wrapper.jar
│ │ │ └── gradle-wrapper.properties
│ │ ├── gradlew
│ │ ├── gradlew.bat
│ │ └── src/
│ │ └── main/
│ │ ├── AndroidManifest.xml
│ │ ├── java/
│ │ │ └── com/
│ │ │ └── taobao/
│ │ │ └── firstbundle/
│ │ │ ├── FirstBundleActivity.java
│ │ │ └── FirstBundleApplication.java
│ │ └── res/
│ │ ├── layout/
│ │ │ └── first_main.xml
│ │ └── values/
│ │ └── strings.xml
│ ├── README.md
│ ├── README.zh_cn.md
│ ├── app/
│ │ ├── activitygroupdelegate/
│ │ │ ├── .gitignore
│ │ │ ├── build.gradle
│ │ │ ├── proguard-rules.pro
│ │ │ └── src/
│ │ │ ├── androidTest/
│ │ │ │ └── java/
│ │ │ │ └── com/
│ │ │ │ └── taoboa/
│ │ │ │ └── activitygroupdelegate/
│ │ │ │ └── ExampleInstrumentedTest.java
│ │ │ ├── main/
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ └── res/
│ │ │ │ └── values/
│ │ │ │ └── strings.xml
│ │ │ └── test/
│ │ │ └── java/
│ │ │ └── com/
│ │ │ └── taoboa/
│ │ │ └── activitygroupdelegate/
│ │ │ └── ExampleUnitTest.java
│ │ ├── build.gradle
│ │ ├── buildApk.sh
│ │ ├── buildTpatch.sh
│ │ ├── firstbundle/
│ │ │ ├── .gitignore
│ │ │ ├── build.gradle
│ │ │ ├── proguard-rules.pro
│ │ │ └── src/
│ │ │ ├── androidTest/
│ │ │ │ └── java/
│ │ │ │ └── com/
│ │ │ │ └── taobao/
│ │ │ │ └── firstbundle/
│ │ │ │ └── ExampleInstrumentedTest.java
│ │ │ ├── main/
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ ├── java/
│ │ │ │ │ └── com/
│ │ │ │ │ └── taobao/
│ │ │ │ │ └── firstbundle/
│ │ │ │ │ └── MainActivity.java
│ │ │ │ └── res/
│ │ │ │ ├── drawable/
│ │ │ │ │ ├── ic_dashboard_black_24dp.xml
│ │ │ │ │ ├── ic_home_black_24dp.xml
│ │ │ │ │ └── ic_notifications_black_24dp.xml
│ │ │ │ ├── layout/
│ │ │ │ │ └── activity_main.xml
│ │ │ │ ├── menu/
│ │ │ │ │ └── navigation.xml
│ │ │ │ └── values/
│ │ │ │ ├── colors.xml
│ │ │ │ ├── dimens.xml
│ │ │ │ ├── strings.xml
│ │ │ │ └── styles.xml
│ │ │ └── test/
│ │ │ └── java/
│ │ │ └── com/
│ │ │ └── taobao/
│ │ │ └── firstbundle/
│ │ │ └── ExampleUnitTest.java
│ │ ├── gradle/
│ │ │ └── wrapper/
│ │ │ ├── gradle-wrapper.jar
│ │ │ └── gradle-wrapper.properties
│ │ ├── gradle.properties
│ │ ├── gradlew
│ │ ├── gradlew.bat
│ │ ├── proguard.cfg
│ │ ├── secondbundle/
│ │ │ ├── .gitignore
│ │ │ ├── build.gradle
│ │ │ ├── proguard-rules.pro
│ │ │ └── src/
│ │ │ ├── androidTest/
│ │ │ │ └── java/
│ │ │ │ └── com/
│ │ │ │ └── taobao/
│ │ │ │ └── secondbundle/
│ │ │ │ └── ExampleInstrumentedTest.java
│ │ │ ├── main/
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ ├── java/
│ │ │ │ │ └── com/
│ │ │ │ │ └── taobao/
│ │ │ │ │ └── secondbundle/
│ │ │ │ │ └── LoginActivity.java
│ │ │ │ └── res/
│ │ │ │ ├── layout/
│ │ │ │ │ └── activity_login.xml
│ │ │ │ └── values/
│ │ │ │ ├── colors.xml
│ │ │ │ ├── dimens.xml
│ │ │ │ ├── strings.xml
│ │ │ │ └── styles.xml
│ │ │ └── test/
│ │ │ └── java/
│ │ │ └── com/
│ │ │ └── taobao/
│ │ │ └── secondbundle/
│ │ │ └── ExampleUnitTest.java
│ │ ├── settings.gradle
│ │ ├── sharebundle/
│ │ │ ├── .gitignore
│ │ │ ├── build.gradle
│ │ │ ├── proguard-rules.pro
│ │ │ └── src/
│ │ │ ├── androidTest/
│ │ │ │ └── java/
│ │ │ │ └── com/
│ │ │ │ └── taobao/
│ │ │ │ └── sharebundle/
│ │ │ │ └── ExampleInstrumentedTest.java
│ │ │ ├── main/
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ └── res/
│ │ │ │ └── values/
│ │ │ │ └── strings.xml
│ │ │ └── test/
│ │ │ └── java/
│ │ │ └── com/
│ │ │ └── taobao/
│ │ │ └── sharebundle/
│ │ │ └── ExampleUnitTest.java
│ │ ├── sharedlibrary/
│ │ │ ├── .gitignore
│ │ │ ├── build.gradle
│ │ │ ├── proguard-rules.pro
│ │ │ └── src/
│ │ │ ├── androidTest/
│ │ │ │ └── java/
│ │ │ │ └── taobao/
│ │ │ │ └── sharedlibrary/
│ │ │ │ └── ExampleInstrumentedTest.java
│ │ │ ├── main/
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ └── res/
│ │ │ │ └── values/
│ │ │ │ └── strings.xml
│ │ │ └── test/
│ │ │ └── java/
│ │ │ └── taobao/
│ │ │ └── sharedlibrary/
│ │ │ └── ExampleUnitTest.java
│ │ └── src/
│ │ └── main/
│ │ ├── AndroidManifest.xml
│ │ ├── java/
│ │ │ └── com/
│ │ │ └── taobao/
│ │ │ └── demo/
│ │ │ ├── DemoApplication.java
│ │ │ ├── WelcomActivity.java
│ │ │ └── update/
│ │ │ └── Updater.java
│ │ └── res/
│ │ ├── layout/
│ │ │ └── main.xml
│ │ └── values/
│ │ ├── colors.xml
│ │ ├── strings.xml
│ │ └── styles.xml
│ ├── build.gradle
│ ├── gradle/
│ │ └── wrapper/
│ │ ├── gradle-wrapper.jar
│ │ └── gradle-wrapper.properties
│ ├── gradlew
│ ├── gradlew.bat
│ └── settings.gradle
├── atlas-docs/
│ ├── .gitignore
│ ├── .si.yml
│ ├── README.md
│ ├── SUMMARY.md
│ ├── _book/
│ │ ├── .gitignore
│ │ ├── .si.yml
│ │ ├── code_read/
│ │ │ ├── atlas_bundle_load/
│ │ │ │ ├── atlas_bundle_load.html
│ │ │ │ ├── bundle_load.uml
│ │ │ │ └── bundle_load_part_2.uml
│ │ │ ├── atlas_gradle_apk/
│ │ │ │ └── atlas_atlas_gradle_apk.html
│ │ │ └── atlas_start/
│ │ │ ├── atlas_core_start.uml
│ │ │ ├── atlas_core_start_callback.uml
│ │ │ ├── atlas_core_start_provider.uml
│ │ │ ├── atlas_java_startup.uml
│ │ │ ├── atlas_start_1.html
│ │ │ └── atlas_start_2.html
│ │ ├── faq/
│ │ │ ├── dynamic_failed_help.html
│ │ │ ├── help.html
│ │ │ ├── question.html
│ │ │ └── variant.html
│ │ ├── gitbook/
│ │ │ ├── fonts/
│ │ │ │ └── fontawesome/
│ │ │ │ └── FontAwesome.otf
│ │ │ ├── gitbook-plugin-fontsettings/
│ │ │ │ ├── fontsettings.js
│ │ │ │ └── website.css
│ │ │ ├── gitbook-plugin-highlight/
│ │ │ │ ├── ebook.css
│ │ │ │ └── website.css
│ │ │ ├── gitbook-plugin-livereload/
│ │ │ │ └── plugin.js
│ │ │ ├── gitbook-plugin-lunr/
│ │ │ │ └── search-lunr.js
│ │ │ ├── gitbook-plugin-search/
│ │ │ │ ├── search-engine.js
│ │ │ │ ├── search.css
│ │ │ │ └── search.js
│ │ │ ├── gitbook-plugin-sharing/
│ │ │ │ └── buttons.js
│ │ │ ├── gitbook.js
│ │ │ ├── style.css
│ │ │ └── theme.js
│ │ ├── guide-for-use/
│ │ │ ├── bundleCommunicate.html
│ │ │ ├── guide_for_build.html
│ │ │ ├── guide_for_bundle.html
│ │ │ ├── guide_for_compile.html
│ │ │ └── index.html
│ │ ├── index.html
│ │ ├── principle-intro/
│ │ │ ├── Apk_architecture.html
│ │ │ ├── File_architecture_runtime.html
│ │ │ ├── Project_architectured.html
│ │ │ └── Runtime_principle.html
│ │ ├── search_index.json
│ │ └── update/
│ │ ├── dexpatch.html
│ │ ├── dexpatch_use_guide.html
│ │ ├── guide.html
│ │ ├── index.html
│ │ └── principle.html
│ ├── code_read/
│ │ ├── atlas_bundle_load/
│ │ │ ├── atlas_bundle_load.md
│ │ │ ├── bundle_load.uml
│ │ │ └── bundle_load_part_2.uml
│ │ ├── atlas_gradle_apk/
│ │ │ └── atlas_atlas_gradle_apk.md
│ │ └── atlas_start/
│ │ ├── atlas_core_start.uml
│ │ ├── atlas_core_start_callback.uml
│ │ ├── atlas_core_start_provider.uml
│ │ ├── atlas_java_startup.uml
│ │ ├── atlas_start_1.md
│ │ └── atlas_start_2.md
│ ├── faq/
│ │ ├── dynamic_failed_help.md
│ │ ├── help.md
│ │ ├── question.md
│ │ └── variant.md
│ ├── guide-for-use/
│ │ ├── README.md
│ │ ├── _book/
│ │ │ ├── bundleCommunicate.md
│ │ │ ├── gitbook/
│ │ │ │ ├── fonts/
│ │ │ │ │ └── fontawesome/
│ │ │ │ │ └── FontAwesome.otf
│ │ │ │ ├── gitbook-plugin-fontsettings/
│ │ │ │ │ ├── fontsettings.js
│ │ │ │ │ └── website.css
│ │ │ │ ├── gitbook-plugin-highlight/
│ │ │ │ │ ├── ebook.css
│ │ │ │ │ └── website.css
│ │ │ │ ├── gitbook-plugin-livereload/
│ │ │ │ │ └── plugin.js
│ │ │ │ ├── gitbook-plugin-lunr/
│ │ │ │ │ └── search-lunr.js
│ │ │ │ ├── gitbook-plugin-search/
│ │ │ │ │ ├── search-engine.js
│ │ │ │ │ ├── search.css
│ │ │ │ │ └── search.js
│ │ │ │ ├── gitbook-plugin-sharing/
│ │ │ │ │ └── buttons.js
│ │ │ │ ├── gitbook.js
│ │ │ │ ├── style.css
│ │ │ │ └── theme.js
│ │ │ ├── guide_for_build.md
│ │ │ ├── guide_for_bundle.md
│ │ │ ├── guide_for_compile.md
│ │ │ ├── index.html
│ │ │ └── search_index.json
│ │ ├── bundleCommunicate.md
│ │ ├── guide_for_build.md
│ │ ├── guide_for_bundle.md
│ │ ├── guide_for_compile.md
│ │ └── guide_for_progurad.md
│ ├── principle-intro/
│ │ ├── Apk_architecture.md
│ │ ├── File_architecture_runtime.md
│ │ ├── Project_architectured.md
│ │ └── Runtime_principle.md
│ └── update/
│ ├── README.md
│ ├── dexpatch.md
│ ├── dexpatch_use_guide.md
│ ├── guide.md
│ └── principle.md
├── atlas-gradle-plugin/
│ ├── README.md
│ ├── aapt/
│ │ ├── build.gradle
│ │ └── src/
│ │ └── main/
│ │ ├── java/
│ │ │ └── com/
│ │ │ └── taobao/
│ │ │ └── android/
│ │ │ └── AaptLib.java
│ │ └── resources/
│ │ └── aapt/
│ │ ├── linux/
│ │ │ └── aapt
│ │ └── mac/
│ │ └── aapt
│ ├── atlas-plugin/
│ │ ├── .gradletasknamecache
│ │ ├── build/
│ │ │ └── resources/
│ │ │ └── main/
│ │ │ └── META-INF/
│ │ │ └── gradle-plugins/
│ │ │ ├── com.taobao.atlas.feature.properties
│ │ │ └── com.taobao.atlas.instantapp.properties
│ │ ├── build.gradle
│ │ ├── increment.sh
│ │ ├── libs/
│ │ │ └── libarsc.jar
│ │ ├── publish.sh
│ │ ├── src/
│ │ │ ├── main/
│ │ │ │ ├── java/
│ │ │ │ │ ├── android/
│ │ │ │ │ │ └── aapt/
│ │ │ │ │ │ └── pb/
│ │ │ │ │ │ └── internal/
│ │ │ │ │ │ └── ResourcesInternal.java
│ │ │ │ │ ├── com/
│ │ │ │ │ │ ├── android/
│ │ │ │ │ │ │ ├── aapt/
│ │ │ │ │ │ │ │ └── Resources.java
│ │ │ │ │ │ │ ├── build/
│ │ │ │ │ │ │ │ └── gradle/
│ │ │ │ │ │ │ │ ├── internal/
│ │ │ │ │ │ │ │ │ ├── AndroidComponent.java
│ │ │ │ │ │ │ │ │ ├── ApkDataUtils.java
│ │ │ │ │ │ │ │ │ ├── AtlasDependencyManager.java
│ │ │ │ │ │ │ │ │ ├── AtlasDependencyManager2.java
│ │ │ │ │ │ │ │ │ ├── api/
│ │ │ │ │ │ │ │ │ │ ├── ApContext.java
│ │ │ │ │ │ │ │ │ │ ├── ApkFiles.java
│ │ │ │ │ │ │ │ │ │ ├── AppVariantContext.java
│ │ │ │ │ │ │ │ │ │ ├── AppVariantOutputContext.java
│ │ │ │ │ │ │ │ │ │ ├── AwbTransform.java
│ │ │ │ │ │ │ │ │ │ ├── FeatureVariantContext.java
│ │ │ │ │ │ │ │ │ │ ├── LibVariantContext.java
│ │ │ │ │ │ │ │ │ │ └── VariantContext.java
│ │ │ │ │ │ │ │ │ ├── ide/
│ │ │ │ │ │ │ │ │ │ ├── AtlasAndroidLibraryImpl.java
│ │ │ │ │ │ │ │ │ │ ├── AtlasDependencyGraph.java
│ │ │ │ │ │ │ │ │ │ └── DependencyConvertUtils.java
│ │ │ │ │ │ │ │ │ ├── incremental/
│ │ │ │ │ │ │ │ │ │ ├── TBConstructorRedirection.java
│ │ │ │ │ │ │ │ │ │ ├── TBIncrementalChangeVisitor.java
│ │ │ │ │ │ │ │ │ │ ├── TBIncrementalSupportVisitor.java
│ │ │ │ │ │ │ │ │ │ ├── TBIncrementalVisitor.java
│ │ │ │ │ │ │ │ │ │ └── TBMethodRedirection.java
│ │ │ │ │ │ │ │ │ ├── pipeline/
│ │ │ │ │ │ │ │ │ │ ├── AtlasExtendedContentType.java
│ │ │ │ │ │ │ │ │ │ ├── AtlasIncrementalFileMergeTransformUtils.java
│ │ │ │ │ │ │ │ │ │ ├── AtlasIntermediateFolderUtils.java
│ │ │ │ │ │ │ │ │ │ ├── AtlasIntermediateStreamHelper.java
│ │ │ │ │ │ │ │ │ │ ├── InjectTransform.java
│ │ │ │ │ │ │ │ │ │ └── InjectTransformManager.java
│ │ │ │ │ │ │ │ │ ├── publishing/
│ │ │ │ │ │ │ │ │ │ └── AtlasAndroidArtifacts.java
│ │ │ │ │ │ │ │ │ ├── scope/
│ │ │ │ │ │ │ │ │ │ └── ConventionMappingHelper.java
│ │ │ │ │ │ │ │ │ └── transforms/
│ │ │ │ │ │ │ │ │ ├── ApTransform.java
│ │ │ │ │ │ │ │ │ ├── ExtractApTransform.java
│ │ │ │ │ │ │ │ │ ├── ExtractAwbTransform.java
│ │ │ │ │ │ │ │ │ ├── ExtractSolibTransform.java
│ │ │ │ │ │ │ │ │ ├── LoadSolibFromLibsTransform.java
│ │ │ │ │ │ │ │ │ └── LoadSolibTransform.java
│ │ │ │ │ │ │ │ └── tasks/
│ │ │ │ │ │ │ │ ├── PackageAwb.java
│ │ │ │ │ │ │ │ └── factory/
│ │ │ │ │ │ │ │ └── AwbAndroidJavaCompile.java
│ │ │ │ │ │ │ ├── builder/
│ │ │ │ │ │ │ │ └── core/
│ │ │ │ │ │ │ │ ├── AtlasAapt.java
│ │ │ │ │ │ │ │ └── AtlasBuilder.java
│ │ │ │ │ │ │ ├── ide/
│ │ │ │ │ │ │ │ └── common/
│ │ │ │ │ │ │ │ └── process/
│ │ │ │ │ │ │ │ ├── CmdExecutor.java
│ │ │ │ │ │ │ │ ├── MtlProcessExecutor.java
│ │ │ │ │ │ │ │ ├── MtlProcessInfo.java
│ │ │ │ │ │ │ │ └── MtlProcessInfoBuilder.java
│ │ │ │ │ │ │ └── tools/
│ │ │ │ │ │ │ └── r8/
│ │ │ │ │ │ │ ├── AtlasD8.java
│ │ │ │ │ │ │ ├── AtlasD8DexArchiveBuilder.java
│ │ │ │ │ │ │ ├── AtlasD8Merger.java
│ │ │ │ │ │ │ └── dex/
│ │ │ │ │ │ │ ├── AtlasApplicationWriter.java
│ │ │ │ │ │ │ └── AtlasVirtualFile.java
│ │ │ │ │ │ └── taobao/
│ │ │ │ │ │ └── android/
│ │ │ │ │ │ └── builder/
│ │ │ │ │ │ ├── AtlasAppPlugin.java
│ │ │ │ │ │ ├── AtlasBasePlugin.java
│ │ │ │ │ │ ├── AtlasBuildContext.java
│ │ │ │ │ │ ├── AtlasFeaturePlugin.java
│ │ │ │ │ │ ├── AtlasInstantAppPlugin.java
│ │ │ │ │ │ ├── AtlasLibPlugin.java
│ │ │ │ │ │ ├── AtlasMainDexHelper.java
│ │ │ │ │ │ ├── AtlasPlugin.java
│ │ │ │ │ │ ├── adapter/
│ │ │ │ │ │ │ ├── AppVariantContextFactory.java
│ │ │ │ │ │ │ ├── AtlasExtensionFactory.java
│ │ │ │ │ │ │ └── BuilderAdapter.java
│ │ │ │ │ │ ├── dependency/
│ │ │ │ │ │ │ ├── AtlasDependencyTree.java
│ │ │ │ │ │ │ ├── AtlasProjectDependencyManager.java
│ │ │ │ │ │ │ ├── ap/
│ │ │ │ │ │ │ │ └── ApDependency.java
│ │ │ │ │ │ │ ├── diff/
│ │ │ │ │ │ │ │ ├── DependencyCompareUtils.java
│ │ │ │ │ │ │ │ └── DependencyDiff.java
│ │ │ │ │ │ │ ├── model/
│ │ │ │ │ │ │ │ ├── ApLibrary.java
│ │ │ │ │ │ │ │ ├── ApkLibrary.java
│ │ │ │ │ │ │ │ ├── AwbBundle.java
│ │ │ │ │ │ │ │ └── SoLibrary.java
│ │ │ │ │ │ │ ├── output/
│ │ │ │ │ │ │ │ └── DependencyJson.java
│ │ │ │ │ │ │ └── parser/
│ │ │ │ │ │ │ ├── AtlasDepHelper.java
│ │ │ │ │ │ │ ├── AtlasDepTreeParser.java
│ │ │ │ │ │ │ ├── CircleDependencyCheck.java
│ │ │ │ │ │ │ ├── DependencyLocationManager.java
│ │ │ │ │ │ │ ├── ResolvedDependencyInfo.java
│ │ │ │ │ │ │ └── helper/
│ │ │ │ │ │ │ ├── DependencyGroup.java
│ │ │ │ │ │ │ └── DependencyResolver.java
│ │ │ │ │ │ ├── extension/
│ │ │ │ │ │ │ ├── AtlasExtension.java
│ │ │ │ │ │ │ ├── BundleConfig.java
│ │ │ │ │ │ │ ├── DefaultChannelConfig.java
│ │ │ │ │ │ │ ├── DexConfig.java
│ │ │ │ │ │ │ ├── EnhanceConfig.java
│ │ │ │ │ │ │ ├── ManifestOptions.java
│ │ │ │ │ │ │ ├── MultiDexConfig.java
│ │ │ │ │ │ │ ├── PatchConfig.java
│ │ │ │ │ │ │ ├── TBuildConfig.java
│ │ │ │ │ │ │ ├── TBuildType.java
│ │ │ │ │ │ │ ├── annotation/
│ │ │ │ │ │ │ │ ├── Config.java
│ │ │ │ │ │ │ │ └── ConfigGroup.java
│ │ │ │ │ │ │ └── factory/
│ │ │ │ │ │ │ ├── DefaultChannelConfigFactory.java
│ │ │ │ │ │ │ ├── DexConfigFactory.java
│ │ │ │ │ │ │ ├── EnhanceConfigFactory.java
│ │ │ │ │ │ │ ├── MultiDexConfigFactory.java
│ │ │ │ │ │ │ ├── PatchConfigFactory.java
│ │ │ │ │ │ │ └── TBuildTypeFactory.java
│ │ │ │ │ │ ├── hook/
│ │ │ │ │ │ │ ├── AppPluginHook.java
│ │ │ │ │ │ │ └── dex/
│ │ │ │ │ │ │ ├── AtlasD8Creator.java
│ │ │ │ │ │ │ ├── AtlasDexArchiveMerger.java
│ │ │ │ │ │ │ ├── DexArchiveMergerHook.java
│ │ │ │ │ │ │ ├── DexByteCodeConverterHook.java
│ │ │ │ │ │ │ ├── DexWrapperHook.java
│ │ │ │ │ │ │ ├── DirDexArchiveHook.java
│ │ │ │ │ │ │ └── NonIncrementalJarDexArchiveHook.java
│ │ │ │ │ │ ├── insant/
│ │ │ │ │ │ │ ├── DelegateProguardTransform.java
│ │ │ │ │ │ │ ├── InstantInfo.java
│ │ │ │ │ │ │ ├── TaobaoExtractJarsTransform.java
│ │ │ │ │ │ │ ├── TaobaoInstantRunDependenciesApkBuilder.java
│ │ │ │ │ │ │ ├── TaobaoInstantRunDex.java
│ │ │ │ │ │ │ ├── TaobaoInstantRunSlicer.java
│ │ │ │ │ │ │ ├── TaobaoInstantRunTransform.java
│ │ │ │ │ │ │ ├── matcher/
│ │ │ │ │ │ │ │ ├── AllMatcher.java
│ │ │ │ │ │ │ │ ├── ClassMatcher.java
│ │ │ │ │ │ │ │ ├── ExcludeMatcher.java
│ │ │ │ │ │ │ │ ├── Imatcher.java
│ │ │ │ │ │ │ │ ├── ImplementsMatcher.java
│ │ │ │ │ │ │ │ ├── MatcherCreator.java
│ │ │ │ │ │ │ │ ├── NoMatcher.java
│ │ │ │ │ │ │ │ ├── PackageMatcher.java
│ │ │ │ │ │ │ │ ├── SeveralExcludeMatcher.java
│ │ │ │ │ │ │ │ └── SubPackgeMatcher.java
│ │ │ │ │ │ │ └── visitor/
│ │ │ │ │ │ │ ├── ModifyClassVisitor.java
│ │ │ │ │ │ │ ├── ModifyFieldVisitor.java
│ │ │ │ │ │ │ └── ModifyMethodVisitor.java
│ │ │ │ │ │ ├── manager/
│ │ │ │ │ │ │ ├── AtlasAppTaskManager.java
│ │ │ │ │ │ │ ├── AtlasBaseTaskManager.java
│ │ │ │ │ │ │ ├── AtlasConfigurationHelper.java
│ │ │ │ │ │ │ ├── AtlasFeatureTaskManager.java
│ │ │ │ │ │ │ ├── AtlasLibTaskManager.java
│ │ │ │ │ │ │ ├── PluginManager.java
│ │ │ │ │ │ │ └── Version.java
│ │ │ │ │ │ ├── tasks/
│ │ │ │ │ │ │ ├── PrepareAPTask.java
│ │ │ │ │ │ │ ├── app/
│ │ │ │ │ │ │ │ ├── ApBuildTask.java
│ │ │ │ │ │ │ │ ├── BuildAtlasEnvTask.java
│ │ │ │ │ │ │ │ ├── GenerateAtlasSourceTask.java
│ │ │ │ │ │ │ │ ├── LogDependenciesTask.java
│ │ │ │ │ │ │ │ ├── ResourcePatch.java
│ │ │ │ │ │ │ │ ├── ScanDupResTask.java
│ │ │ │ │ │ │ │ ├── bundle/
│ │ │ │ │ │ │ │ │ ├── AtlasSymbolIo.java
│ │ │ │ │ │ │ │ │ ├── AwbApkPackageTask.java
│ │ │ │ │ │ │ │ │ ├── AwbJavaCompileConfigAction.java
│ │ │ │ │ │ │ │ │ ├── AwbPackagingScope.java
│ │ │ │ │ │ │ │ │ ├── Dex.java
│ │ │ │ │ │ │ │ │ ├── JavacAwbsTask.java
│ │ │ │ │ │ │ │ │ ├── PackageAwbsTask.java
│ │ │ │ │ │ │ │ │ ├── ProcessAwbAndroidResources.java
│ │ │ │ │ │ │ │ │ ├── ProcessResAwbsTask.java
│ │ │ │ │ │ │ │ │ └── actions/
│ │ │ │ │ │ │ │ │ ├── FirstApkAction.java
│ │ │ │ │ │ │ │ │ ├── LastApkAction.java
│ │ │ │ │ │ │ │ │ └── LastBundleAction.java
│ │ │ │ │ │ │ │ ├── databinding/
│ │ │ │ │ │ │ │ │ ├── AwbDataBindingExportBuildInfoTask.java
│ │ │ │ │ │ │ │ │ ├── AwbDataBindingMergeArtifactsTask.java
│ │ │ │ │ │ │ │ │ ├── AwbDataBindingProcessLayoutTask.java
│ │ │ │ │ │ │ │ │ ├── AwbDataBindingRenameTask.java
│ │ │ │ │ │ │ │ │ └── AwbXmlProcessor.java
│ │ │ │ │ │ │ │ ├── manifest/
│ │ │ │ │ │ │ │ │ ├── PostProcessManifestAction.java
│ │ │ │ │ │ │ │ │ ├── PreProcessManifestAction.java
│ │ │ │ │ │ │ │ │ └── StandardizeLibManifestTask.java
│ │ │ │ │ │ │ │ ├── merge/
│ │ │ │ │ │ │ │ │ ├── AppendMainArtifactsCollection.java
│ │ │ │ │ │ │ │ │ ├── MainArtifactsCollection.java
│ │ │ │ │ │ │ │ │ ├── MainFilesCollection.java
│ │ │ │ │ │ │ │ │ ├── MergeAssetAwbsConfigAction.java
│ │ │ │ │ │ │ │ │ ├── MergeAwbsJniFolder.java
│ │ │ │ │ │ │ │ │ ├── MergeManifestAwbsConfigAction.java
│ │ │ │ │ │ │ │ │ ├── MergeResAwbsConfigAction.java
│ │ │ │ │ │ │ │ │ ├── MergeResV4Dir.java
│ │ │ │ │ │ │ │ │ ├── MergeSoLibTask.java
│ │ │ │ │ │ │ │ │ └── bundle/
│ │ │ │ │ │ │ │ │ ├── AwbDataBindingProcessLayoutsTask.java
│ │ │ │ │ │ │ │ │ ├── MergeAwbAssets.java
│ │ │ │ │ │ │ │ │ └── MergeAwbResource.java
│ │ │ │ │ │ │ │ └── prepare/
│ │ │ │ │ │ │ │ ├── AddLocalJarTask.java
│ │ │ │ │ │ │ │ ├── BundleInfoSourceCreator.java
│ │ │ │ │ │ │ │ ├── PrepareAaptTask.java
│ │ │ │ │ │ │ │ ├── PrepareBundleInfoTask.java
│ │ │ │ │ │ │ │ └── PreparePackageIdsTask.java
│ │ │ │ │ │ │ ├── awo/
│ │ │ │ │ │ │ │ └── utils/
│ │ │ │ │ │ │ │ └── AwoInstaller.java
│ │ │ │ │ │ │ ├── execution/
│ │ │ │ │ │ │ │ └── SkipExecuter.java
│ │ │ │ │ │ │ ├── feature/
│ │ │ │ │ │ │ │ ├── FeatureLibManifestTask.java
│ │ │ │ │ │ │ │ └── PrePareFeatureTask.java
│ │ │ │ │ │ │ ├── helper/
│ │ │ │ │ │ │ │ └── AtlasListTask.java
│ │ │ │ │ │ │ ├── instantapp/
│ │ │ │ │ │ │ │ └── AtlasBundleInstantApp.java
│ │ │ │ │ │ │ ├── library/
│ │ │ │ │ │ │ │ ├── AndroidComponetCreator.java
│ │ │ │ │ │ │ │ ├── AwbGenerator.java
│ │ │ │ │ │ │ │ ├── JarExtractTask.java
│ │ │ │ │ │ │ │ ├── ModuleInfoWriter.java
│ │ │ │ │ │ │ │ └── publish/
│ │ │ │ │ │ │ │ ├── PublishHooker.java
│ │ │ │ │ │ │ │ └── UpdatePomTask.java
│ │ │ │ │ │ │ ├── manager/
│ │ │ │ │ │ │ │ ├── AbstractBundleTask.java
│ │ │ │ │ │ │ │ ├── MtlBaseTaskAction.java
│ │ │ │ │ │ │ │ ├── MtlParallelTask.java
│ │ │ │ │ │ │ │ ├── MtlTaskContext.java
│ │ │ │ │ │ │ │ ├── MtlTaskFactory.java
│ │ │ │ │ │ │ │ ├── MtlTaskFactoryImpl.java
│ │ │ │ │ │ │ │ ├── MtlTaskInjector.java
│ │ │ │ │ │ │ │ ├── TaskCreater.java
│ │ │ │ │ │ │ │ ├── TaskQueryHelper.java
│ │ │ │ │ │ │ │ └── transform/
│ │ │ │ │ │ │ │ ├── MtlInjectTransform.java
│ │ │ │ │ │ │ │ ├── MtlTransformContext.java
│ │ │ │ │ │ │ │ ├── MtlTransformInjector.java
│ │ │ │ │ │ │ │ └── TransformManager.java
│ │ │ │ │ │ │ ├── maven/
│ │ │ │ │ │ │ │ └── PublishToMavenRepositoryHook.java
│ │ │ │ │ │ │ ├── tpatch/
│ │ │ │ │ │ │ │ ├── DiffBundleInfoTask.java
│ │ │ │ │ │ │ │ ├── PackageTPatchConfigAction.java
│ │ │ │ │ │ │ │ ├── TPatchDiffApkBuildTask.java
│ │ │ │ │ │ │ │ ├── TPatchDiffResAPBuildTask.java
│ │ │ │ │ │ │ │ └── TPatchTask.java
│ │ │ │ │ │ │ └── transform/
│ │ │ │ │ │ │ ├── AtlasDataBindingMergeArtifactsTransform.java
│ │ │ │ │ │ │ ├── AtlasDesugarTransform.java
│ │ │ │ │ │ │ ├── AtlasFixStackFramesTransform.java
│ │ │ │ │ │ │ ├── AtlasMergeJavaResourcesTransform.java
│ │ │ │ │ │ │ ├── AtlasProguardTransform.java
│ │ │ │ │ │ │ ├── AtlasTransformUtils.java
│ │ │ │ │ │ │ ├── ClassInjectTransform.java
│ │ │ │ │ │ │ ├── ResourcesShrinker.java
│ │ │ │ │ │ │ ├── TransformReplacer.java
│ │ │ │ │ │ │ └── dex/
│ │ │ │ │ │ │ ├── AtlasDexArchiveBuilderCacheHander.java
│ │ │ │ │ │ │ ├── AtlasDexArchiveBuilderTransform.java
│ │ │ │ │ │ │ ├── AtlasDexMerger.java
│ │ │ │ │ │ │ ├── AtlasDexMergerTransform.java
│ │ │ │ │ │ │ ├── AtlasMainDexMerger.java
│ │ │ │ │ │ │ ├── AtlasMultiDexListTransform.java
│ │ │ │ │ │ │ ├── AwbDexsMerger.java
│ │ │ │ │ │ │ └── DexMergeTransformCallable.java
│ │ │ │ │ │ └── tools/
│ │ │ │ │ │ ├── BuildHelper.java
│ │ │ │ │ │ ├── EnvHelper.java
│ │ │ │ │ │ ├── FileNameUtils.java
│ │ │ │ │ │ ├── JarUtils.java
│ │ │ │ │ │ ├── MD5Util.java
│ │ │ │ │ │ ├── OSUtils.java
│ │ │ │ │ │ ├── PathUtil.java
│ │ │ │ │ │ ├── PluginTypeUtils.java
│ │ │ │ │ │ ├── Profiler.java
│ │ │ │ │ │ ├── ReflectUtils.java
│ │ │ │ │ │ ├── TransformInputUtils.java
│ │ │ │ │ │ ├── VersionUtils.java
│ │ │ │ │ │ ├── asm/
│ │ │ │ │ │ │ ├── ClassNameRenamer.java
│ │ │ │ │ │ │ ├── ClazzBasicHandler.java
│ │ │ │ │ │ │ ├── ClazzReplacer.java
│ │ │ │ │ │ │ ├── MethodReplacer.java
│ │ │ │ │ │ │ ├── field/
│ │ │ │ │ │ │ │ ├── AsmFieldEditor.java
│ │ │ │ │ │ │ │ ├── Field.java
│ │ │ │ │ │ │ │ └── ModifyClassVisiter.java
│ │ │ │ │ │ │ └── method/
│ │ │ │ │ │ │ ├── Method.java
│ │ │ │ │ │ │ ├── MethodReplaceClazzVisitor.java
│ │ │ │ │ │ │ ├── MethodReplaceMethodVisitor.java
│ │ │ │ │ │ │ └── MethodStore.java
│ │ │ │ │ │ ├── bundleinfo/
│ │ │ │ │ │ │ ├── ApkFileListUtils.java
│ │ │ │ │ │ │ ├── BundleGraphExecutor.java
│ │ │ │ │ │ │ ├── BundleInfoUtils.java
│ │ │ │ │ │ │ ├── BundleItem.java
│ │ │ │ │ │ │ ├── BundleItemRunner.java
│ │ │ │ │ │ │ ├── DynamicBundleInfo.java
│ │ │ │ │ │ │ └── model/
│ │ │ │ │ │ │ ├── BasicBundleInfo.java
│ │ │ │ │ │ │ └── BundleInfo.java
│ │ │ │ │ │ ├── cache/
│ │ │ │ │ │ │ ├── Cache.java
│ │ │ │ │ │ │ ├── FileCacheCenter.java
│ │ │ │ │ │ │ ├── FileCacheException.java
│ │ │ │ │ │ │ ├── FileLockUtils.java
│ │ │ │ │ │ │ ├── SimpleLocalCache.java
│ │ │ │ │ │ │ └── SimpleNetworkCache.java
│ │ │ │ │ │ ├── classinject/
│ │ │ │ │ │ │ ├── ApkInjectInfoCreator.java
│ │ │ │ │ │ │ ├── ClazzInjecter.java
│ │ │ │ │ │ │ ├── CodeInjectByJavassist.java
│ │ │ │ │ │ │ ├── FrameworkProperties.java
│ │ │ │ │ │ │ └── InjectParam.java
│ │ │ │ │ │ ├── command/
│ │ │ │ │ │ │ ├── CommandExecutor.java
│ │ │ │ │ │ │ └── ExecutionException.java
│ │ │ │ │ │ ├── concurrent/
│ │ │ │ │ │ │ └── ExecutorServicesHelper.java
│ │ │ │ │ │ ├── diff/
│ │ │ │ │ │ │ └── DiffResExtractor.java
│ │ │ │ │ │ ├── groovy/
│ │ │ │ │ │ │ └── ClosureFactory.java
│ │ │ │ │ │ ├── guide/
│ │ │ │ │ │ │ ├── AtlasConfigField.java
│ │ │ │ │ │ │ ├── AtlasConfigHelper.java
│ │ │ │ │ │ │ └── AtlasExtensionOutput.java
│ │ │ │ │ │ ├── ideaplugin/
│ │ │ │ │ │ │ ├── ApDownloader.java
│ │ │ │ │ │ │ └── AwoPropHandler.java
│ │ │ │ │ │ ├── jarmerge/
│ │ │ │ │ │ │ └── JarMergerWithOverride.java
│ │ │ │ │ │ ├── log/
│ │ │ │ │ │ │ ├── FileLogger.java
│ │ │ │ │ │ │ └── LogOutputListener.java
│ │ │ │ │ │ ├── manifest/
│ │ │ │ │ │ │ ├── AtlasProxy.java
│ │ │ │ │ │ │ ├── ManifestFileUtils.java
│ │ │ │ │ │ │ ├── ManifestHelper.java
│ │ │ │ │ │ │ ├── ManifestInfo.java
│ │ │ │ │ │ │ ├── Permission.java
│ │ │ │ │ │ │ └── Result.java
│ │ │ │ │ │ ├── multidex/
│ │ │ │ │ │ │ ├── FastMultiDexer.java
│ │ │ │ │ │ │ ├── dex/
│ │ │ │ │ │ │ │ ├── DexGroup.java
│ │ │ │ │ │ │ │ ├── DexMerger.java
│ │ │ │ │ │ │ │ └── FileComparator.java
│ │ │ │ │ │ │ └── mutli/
│ │ │ │ │ │ │ ├── JarRefactor.java
│ │ │ │ │ │ │ ├── MainDexLister.java
│ │ │ │ │ │ │ ├── MappingReaderProcess.java
│ │ │ │ │ │ │ └── NameComparator.java
│ │ │ │ │ │ ├── process/
│ │ │ │ │ │ │ └── ApkProcessor.java
│ │ │ │ │ │ ├── proguard/
│ │ │ │ │ │ │ ├── AtlasProguardHelper.java
│ │ │ │ │ │ │ ├── AwbProguardConfiguration.java
│ │ │ │ │ │ │ ├── BundleProguarder.java
│ │ │ │ │ │ │ ├── KeepOnlyConfigurationParser.java
│ │ │ │ │ │ │ ├── ProGuardPercentPrinter.java
│ │ │ │ │ │ │ ├── domain/
│ │ │ │ │ │ │ │ ├── Input.java
│ │ │ │ │ │ │ │ └── Result.java
│ │ │ │ │ │ │ └── dump/
│ │ │ │ │ │ │ ├── AbstractClasslVisitor.java
│ │ │ │ │ │ │ ├── BundleProguardDumper.java
│ │ │ │ │ │ │ ├── ClassDetailVisitor.java
│ │ │ │ │ │ │ ├── ClassStructVisitor.java
│ │ │ │ │ │ │ ├── ClazzRefInfo.java
│ │ │ │ │ │ │ ├── ClazzRefInfoContainer.java
│ │ │ │ │ │ │ ├── KeepConverter.java
│ │ │ │ │ │ │ ├── VisitorDTO.java
│ │ │ │ │ │ │ └── utils/
│ │ │ │ │ │ │ └── ReflectUtils.java
│ │ │ │ │ │ ├── sign/
│ │ │ │ │ │ │ ├── AndroidSigner.java
│ │ │ │ │ │ │ ├── LocalSignHelper.java
│ │ │ │ │ │ │ └── LocalSignedJarBuilder.java
│ │ │ │ │ │ ├── solib/
│ │ │ │ │ │ │ ├── NativeSoFilter.java
│ │ │ │ │ │ │ └── NativeSoUtils.java
│ │ │ │ │ │ ├── xml/
│ │ │ │ │ │ │ └── XmlHelper.java
│ │ │ │ │ │ ├── zip/
│ │ │ │ │ │ │ ├── BetterZip.java
│ │ │ │ │ │ │ ├── FileMkUtils.java
│ │ │ │ │ │ │ └── ZipUtils.java
│ │ │ │ │ │ └── zipalign/
│ │ │ │ │ │ └── ZipAlignUtils.java
│ │ │ │ │ └── proguard/
│ │ │ │ │ ├── AtlasProguardConstants.java
│ │ │ │ │ └── io/
│ │ │ │ │ └── JarWriter.java
│ │ │ │ └── resources/
│ │ │ │ └── META-INF/
│ │ │ │ └── gradle-plugins/
│ │ │ │ ├── com.taobao.atlas.application.properties
│ │ │ │ ├── com.taobao.atlas.dexpatch.properties
│ │ │ │ ├── com.taobao.atlas.feature.properties
│ │ │ │ ├── com.taobao.atlas.instantapp.properties
│ │ │ │ ├── com.taobao.atlas.library.properties
│ │ │ │ └── com.taobao.atlas.properties
│ │ │ └── test/
│ │ │ ├── java/
│ │ │ │ ├── com/
│ │ │ │ │ └── taobao/
│ │ │ │ │ ├── asm/
│ │ │ │ │ │ ├── AsmExample.java
│ │ │ │ │ │ ├── AsmFieldTest.java
│ │ │ │ │ │ ├── AsmTest.java
│ │ │ │ │ │ └── Config.java
│ │ │ │ │ └── atlas/
│ │ │ │ │ ├── bundle/
│ │ │ │ │ │ └── BundleDependenyTest.java
│ │ │ │ │ ├── cache/
│ │ │ │ │ │ └── FileLockTest.java
│ │ │ │ │ ├── dex/
│ │ │ │ │ │ └── FastDexMergeTest.java
│ │ │ │ │ └── manifest/
│ │ │ │ │ ├── ManifestHelperTest.java
│ │ │ │ │ └── ManifestTest.java
│ │ │ │ └── proguard/
│ │ │ │ └── KeepOnlyConfigurationParserTest.java
│ │ │ └── resources/
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── AndroidManifest2.xml
│ │ │ ├── bundleInfoList.json
│ │ │ └── log4j.properties
│ │ ├── test.sh
│ │ └── todo.txt
│ ├── build.gradle
│ ├── dexpatch/
│ │ ├── .gitignore
│ │ ├── build.gradle
│ │ ├── gradle/
│ │ │ └── wrapper/
│ │ │ ├── gradle-wrapper.jar
│ │ │ └── gradle-wrapper.properties
│ │ ├── gradlew
│ │ └── src/
│ │ └── main/
│ │ ├── java/
│ │ │ ├── android/
│ │ │ │ └── content/
│ │ │ │ └── res/
│ │ │ │ ├── AXMLResource.java
│ │ │ │ ├── IntReader.java
│ │ │ │ └── chunk/
│ │ │ │ ├── AttributeType.java
│ │ │ │ ├── ChunkType.java
│ │ │ │ ├── ChunkUtil.java
│ │ │ │ ├── PoolItem.java
│ │ │ │ ├── sections/
│ │ │ │ │ ├── ChunkSection.java
│ │ │ │ │ ├── GenericChunkSection.java
│ │ │ │ │ ├── ResourceSection.java
│ │ │ │ │ └── StringSection.java
│ │ │ │ └── types/
│ │ │ │ ├── AXMLHeader.java
│ │ │ │ ├── Attribute.java
│ │ │ │ ├── Buffer.java
│ │ │ │ ├── Chunk.java
│ │ │ │ ├── EndTag.java
│ │ │ │ ├── GenericChunk.java
│ │ │ │ ├── NameSpace.java
│ │ │ │ ├── StartTag.java
│ │ │ │ └── TextTag.java
│ │ │ └── com/
│ │ │ └── taobao/
│ │ │ ├── android/
│ │ │ │ ├── PatchManager.java
│ │ │ │ ├── PatchType.java
│ │ │ │ ├── apatch/
│ │ │ │ │ ├── AndFixFilterImpl.java
│ │ │ │ │ ├── ApkPatch.java
│ │ │ │ │ ├── Build.java
│ │ │ │ │ ├── FastBuild.java
│ │ │ │ │ ├── MergePatch.java
│ │ │ │ │ ├── annotation/
│ │ │ │ │ │ └── MethodReplaceAnnotation.java
│ │ │ │ │ ├── builder/
│ │ │ │ │ │ ├── PatchBuilder.java
│ │ │ │ │ │ └── SignedJarBuilder.java
│ │ │ │ │ └── utils/
│ │ │ │ │ ├── Formater.java
│ │ │ │ │ ├── HexUtil.java
│ │ │ │ │ ├── MappingParser.java
│ │ │ │ │ ├── SmaliDiffUtils.java
│ │ │ │ │ └── TypeGenUtil.java
│ │ │ │ ├── baksmali/
│ │ │ │ │ ├── Renderers/
│ │ │ │ │ │ ├── BooleanRenderer.java
│ │ │ │ │ │ ├── ByteRenderer.java
│ │ │ │ │ │ ├── CharRenderer.java
│ │ │ │ │ │ ├── DoubleRenderer.java
│ │ │ │ │ │ ├── FloatRenderer.java
│ │ │ │ │ │ ├── IntegerRenderer.java
│ │ │ │ │ │ ├── LongRenderer.java
│ │ │ │ │ │ └── ShortRenderer.java
│ │ │ │ │ ├── adaptors/
│ │ │ │ │ │ ├── AnnotationFormatter.java
│ │ │ │ │ │ ├── BlankMethodItem.java
│ │ │ │ │ │ ├── CatchMethodItem.java
│ │ │ │ │ │ ├── ClassDefinition.java
│ │ │ │ │ │ ├── CommentMethodItem.java
│ │ │ │ │ │ ├── CommentedOutMethodItem.java
│ │ │ │ │ │ ├── CommentingIndentingWriter.java
│ │ │ │ │ │ ├── Debug/
│ │ │ │ │ │ │ ├── BeginEpilogueMethodItem.java
│ │ │ │ │ │ │ ├── DebugMethodItem.java
│ │ │ │ │ │ │ ├── EndLocalMethodItem.java
│ │ │ │ │ │ │ ├── EndPrologueMethodItem.java
│ │ │ │ │ │ │ ├── LineNumberMethodItem.java
│ │ │ │ │ │ │ ├── LocalFormatter.java
│ │ │ │ │ │ │ ├── RestartLocalMethodItem.java
│ │ │ │ │ │ │ ├── SetSourceFileMethodItem.java
│ │ │ │ │ │ │ └── StartLocalMethodItem.java
│ │ │ │ │ │ ├── EncodedValue/
│ │ │ │ │ │ │ ├── AnnotationEncodedValueAdaptor.java
│ │ │ │ │ │ │ ├── ArrayEncodedValueAdaptor.java
│ │ │ │ │ │ │ └── EncodedValueAdaptor.java
│ │ │ │ │ │ ├── EndTryLabelMethodItem.java
│ │ │ │ │ │ ├── FieldDefinition.java
│ │ │ │ │ │ ├── Format/
│ │ │ │ │ │ │ ├── ArrayDataMethodItem.java
│ │ │ │ │ │ │ ├── InstructionMethodItem.java
│ │ │ │ │ │ │ ├── InstructionMethodItemFactory.java
│ │ │ │ │ │ │ ├── OffsetInstructionFormatMethodItem.java
│ │ │ │ │ │ │ ├── PackedSwitchMethodItem.java
│ │ │ │ │ │ │ ├── SparseSwitchMethodItem.java
│ │ │ │ │ │ │ └── UnresolvedOdexInstructionMethodItem.java
│ │ │ │ │ │ ├── LabelMethodItem.java
│ │ │ │ │ │ ├── MethodDefinition.java
│ │ │ │ │ │ ├── MethodItem.java
│ │ │ │ │ │ ├── PostInstructionRegisterInfoMethodItem.java
│ │ │ │ │ │ ├── PreInstructionRegisterInfoMethodItem.java
│ │ │ │ │ │ ├── ReferenceFormatter.java
│ │ │ │ │ │ ├── RegisterFormatter.java
│ │ │ │ │ │ └── SyntheticAccessCommentMethodItem.java
│ │ │ │ │ └── util/
│ │ │ │ │ └── ReferenceUtil.java
│ │ │ │ ├── dex/
│ │ │ │ │ ├── Annotation.java
│ │ │ │ │ ├── ClassData.java
│ │ │ │ │ ├── ClassDef.java
│ │ │ │ │ ├── Code.java
│ │ │ │ │ ├── Dex.java
│ │ │ │ │ ├── DexException.java
│ │ │ │ │ ├── DexFormat.java
│ │ │ │ │ ├── DexIndexOverflowException.java
│ │ │ │ │ ├── EncodedValue.java
│ │ │ │ │ ├── EncodedValueCodec.java
│ │ │ │ │ ├── EncodedValueReader.java
│ │ │ │ │ ├── FieldId.java
│ │ │ │ │ ├── Leb128.java
│ │ │ │ │ ├── MethodId.java
│ │ │ │ │ ├── Mutf8.java
│ │ │ │ │ ├── ProtoId.java
│ │ │ │ │ ├── SizeOf.java
│ │ │ │ │ ├── TableOfContents.java
│ │ │ │ │ ├── TypeList.java
│ │ │ │ │ └── util/
│ │ │ │ │ ├── ByteArrayByteInput.java
│ │ │ │ │ ├── ByteInput.java
│ │ │ │ │ ├── ByteOutput.java
│ │ │ │ │ ├── ExceptionWithContext.java
│ │ │ │ │ ├── FileUtils.java
│ │ │ │ │ └── Unsigned.java
│ │ │ │ ├── differ/
│ │ │ │ │ └── dex/
│ │ │ │ │ ├── ApkDiff.java
│ │ │ │ │ ├── BundleDiffResult.java
│ │ │ │ │ ├── DexDiffer.java
│ │ │ │ │ └── PatchException.java
│ │ │ │ ├── dx/
│ │ │ │ │ ├── Version.java
│ │ │ │ │ ├── cf/
│ │ │ │ │ │ ├── attrib/
│ │ │ │ │ │ │ ├── AttAnnotationDefault.java
│ │ │ │ │ │ │ ├── AttCode.java
│ │ │ │ │ │ │ ├── AttConstantValue.java
│ │ │ │ │ │ │ ├── AttDeprecated.java
│ │ │ │ │ │ │ ├── AttEnclosingMethod.java
│ │ │ │ │ │ │ ├── AttExceptions.java
│ │ │ │ │ │ │ ├── AttInnerClasses.java
│ │ │ │ │ │ │ ├── AttLineNumberTable.java
│ │ │ │ │ │ │ ├── AttLocalVariableTable.java
│ │ │ │ │ │ │ ├── AttLocalVariableTypeTable.java
│ │ │ │ │ │ │ ├── AttRuntimeInvisibleAnnotations.java
│ │ │ │ │ │ │ ├── AttRuntimeInvisibleParameterAnnotations.java
│ │ │ │ │ │ │ ├── AttRuntimeVisibleAnnotations.java
│ │ │ │ │ │ │ ├── AttRuntimeVisibleParameterAnnotations.java
│ │ │ │ │ │ │ ├── AttSignature.java
│ │ │ │ │ │ │ ├── AttSourceFile.java
│ │ │ │ │ │ │ ├── AttSynthetic.java
│ │ │ │ │ │ │ ├── BaseAnnotations.java
│ │ │ │ │ │ │ ├── BaseAttribute.java
│ │ │ │ │ │ │ ├── BaseLocalVariables.java
│ │ │ │ │ │ │ ├── BaseParameterAnnotations.java
│ │ │ │ │ │ │ ├── InnerClassList.java
│ │ │ │ │ │ │ ├── RawAttribute.java
│ │ │ │ │ │ │ └── package.html
│ │ │ │ │ │ ├── code/
│ │ │ │ │ │ │ ├── BaseMachine.java
│ │ │ │ │ │ │ ├── BasicBlocker.java
│ │ │ │ │ │ │ ├── ByteBlock.java
│ │ │ │ │ │ │ ├── ByteBlockList.java
│ │ │ │ │ │ │ ├── ByteCatchList.java
│ │ │ │ │ │ │ ├── ByteOps.java
│ │ │ │ │ │ │ ├── BytecodeArray.java
│ │ │ │ │ │ │ ├── ConcreteMethod.java
│ │ │ │ │ │ │ ├── ExecutionStack.java
│ │ │ │ │ │ │ ├── Frame.java
│ │ │ │ │ │ │ ├── LineNumberList.java
│ │ │ │ │ │ │ ├── LocalVariableList.java
│ │ │ │ │ │ │ ├── LocalsArray.java
│ │ │ │ │ │ │ ├── LocalsArraySet.java
│ │ │ │ │ │ │ ├── Machine.java
│ │ │ │ │ │ │ ├── Merger.java
│ │ │ │ │ │ │ ├── OneLocalsArray.java
│ │ │ │ │ │ │ ├── ReturnAddress.java
│ │ │ │ │ │ │ ├── Ropper.java
│ │ │ │ │ │ │ ├── RopperMachine.java
│ │ │ │ │ │ │ ├── SimException.java
│ │ │ │ │ │ │ ├── Simulator.java
│ │ │ │ │ │ │ ├── SwitchList.java
│ │ │ │ │ │ │ ├── ValueAwareMachine.java
│ │ │ │ │ │ │ └── package.html
│ │ │ │ │ │ ├── cst/
│ │ │ │ │ │ │ ├── ConstantPoolParser.java
│ │ │ │ │ │ │ └── ConstantTags.java
│ │ │ │ │ │ ├── direct/
│ │ │ │ │ │ │ ├── AnnotationParser.java
│ │ │ │ │ │ │ ├── AttributeFactory.java
│ │ │ │ │ │ │ ├── AttributeListParser.java
│ │ │ │ │ │ │ ├── ClassPathOpener.java
│ │ │ │ │ │ │ ├── CodeObserver.java
│ │ │ │ │ │ │ ├── DirectClassFile.java
│ │ │ │ │ │ │ ├── FieldListParser.java
│ │ │ │ │ │ │ ├── MemberListParser.java
│ │ │ │ │ │ │ ├── MethodListParser.java
│ │ │ │ │ │ │ ├── StdAttributeFactory.java
│ │ │ │ │ │ │ └── package.html
│ │ │ │ │ │ └── iface/
│ │ │ │ │ │ ├── Attribute.java
│ │ │ │ │ │ ├── AttributeList.java
│ │ │ │ │ │ ├── ClassFile.java
│ │ │ │ │ │ ├── Field.java
│ │ │ │ │ │ ├── FieldList.java
│ │ │ │ │ │ ├── HasAttribute.java
│ │ │ │ │ │ ├── Member.java
│ │ │ │ │ │ ├── Method.java
│ │ │ │ │ │ ├── MethodList.java
│ │ │ │ │ │ ├── ParseException.java
│ │ │ │ │ │ ├── ParseObserver.java
│ │ │ │ │ │ ├── StdAttributeList.java
│ │ │ │ │ │ ├── StdField.java
│ │ │ │ │ │ ├── StdFieldList.java
│ │ │ │ │ │ ├── StdMember.java
│ │ │ │ │ │ ├── StdMethod.java
│ │ │ │ │ │ ├── StdMethodList.java
│ │ │ │ │ │ └── package.html
│ │ │ │ │ ├── command/
│ │ │ │ │ │ ├── DxConsole.java
│ │ │ │ │ │ ├── Main.java
│ │ │ │ │ │ ├── UsageException.java
│ │ │ │ │ │ ├── annotool/
│ │ │ │ │ │ │ ├── AnnotationLister.java
│ │ │ │ │ │ │ └── Main.java
│ │ │ │ │ │ ├── dexer/
│ │ │ │ │ │ │ └── Main.java
│ │ │ │ │ │ ├── dump/
│ │ │ │ │ │ │ ├── Args.java
│ │ │ │ │ │ │ ├── BaseDumper.java
│ │ │ │ │ │ │ ├── BlockDumper.java
│ │ │ │ │ │ │ ├── ClassDumper.java
│ │ │ │ │ │ │ ├── DotDumper.java
│ │ │ │ │ │ │ ├── Main.java
│ │ │ │ │ │ │ └── SsaDumper.java
│ │ │ │ │ │ ├── findusages/
│ │ │ │ │ │ │ ├── FindUsages.java
│ │ │ │ │ │ │ └── Main.java
│ │ │ │ │ │ └── grep/
│ │ │ │ │ │ ├── Grep.java
│ │ │ │ │ │ └── Main.java
│ │ │ │ │ ├── dex/
│ │ │ │ │ │ ├── DexOptions.java
│ │ │ │ │ │ ├── cf/
│ │ │ │ │ │ │ ├── AttributeTranslator.java
│ │ │ │ │ │ │ ├── CfOptions.java
│ │ │ │ │ │ │ ├── CfTranslator.java
│ │ │ │ │ │ │ ├── CodeStatistics.java
│ │ │ │ │ │ │ ├── OptimizerOptions.java
│ │ │ │ │ │ │ └── package.html
│ │ │ │ │ │ ├── code/
│ │ │ │ │ │ │ ├── ArrayData.java
│ │ │ │ │ │ │ ├── BlockAddresses.java
│ │ │ │ │ │ │ ├── CatchBuilder.java
│ │ │ │ │ │ │ ├── CatchHandlerList.java
│ │ │ │ │ │ │ ├── CatchTable.java
│ │ │ │ │ │ │ ├── CodeAddress.java
│ │ │ │ │ │ │ ├── CstInsn.java
│ │ │ │ │ │ │ ├── DalvCode.java
│ │ │ │ │ │ │ ├── DalvInsn.java
│ │ │ │ │ │ │ ├── DalvInsnList.java
│ │ │ │ │ │ │ ├── Dop.java
│ │ │ │ │ │ │ ├── Dops.java
│ │ │ │ │ │ │ ├── FixedSizeInsn.java
================================================
FILE CONTENTS
================================================
================================================
FILE: .github/ISSUE_TEMPLATE.md
================================================
请按照下面的规则提交您的issue,符合标准的issue会被优先处理,
请先查看有没有同类型的issue已经存在.
1. demo问题的issue格式: [demo]:title
title尽量反应问题的状况,如果是编译问题或者无法运行,正文写明是windows还是mac,如果是不清楚如何使用demo,请先查看https://github.com/alibaba/atlas/blob/master/atlas-demo/README.zh_cn.md
2. 容器功能接入或者如何使用的答疑:[use]:title
3. 提新需求的格式:[feature]:title
================================================
FILE: .gitignore
================================================
*.iml
.gradle
.idea/
/local.properties
/.idea/workspace.xml
/.idea/libraries
!.idea/codeStyleSettings.xml
.DS_Store
#/build
/captures
.vscode/
# Taken from Android.gitignore https://github.com/github/gitignore/blob/master/Android.gitignore
#
# Built application files
*.apk
*.ap_
# Files for the Dalvik VM
*.dex
# Java class files
*.class
# Generated files
bin/
gen/
out/
# Gradle files
.gradle/
#build/
!**/atlas-aapt/**/build/
!**/src/**/build/
# Local configuration file (sdk path, etc)
local.properties
# Proguard folder generated by Eclipse
#proguard/
!**/src/**/proguard/
# Log Files
*.log
# Android Studio Navigation editor temp files
.navigation/
# Android Studio captures folder
captures/
# Intellij
*.iml
atlas-demo/AtlasDemo/hisTpatch/
================================================
FILE: .gitmodules
================================================
[submodule "atlas-aapt/build"]
path = atlas-aapt/build
url = https://android.googlesource.com/platform/build
[submodule "atlas-aapt/prebuilts/clang/darwin-x86/host/3.6"]
path = atlas-aapt/prebuilts/clang/darwin-x86/host/3.6
url = https://android.googlesource.com/platform/prebuilts/clang/darwin-x86/host/3.6
[submodule "atlas-aapt/prebuilts/clang/host/darwin-x86"]
path = atlas-aapt/prebuilts/clang/host/darwin-x86
url = https://android.googlesource.com/platform/prebuilts/clang/host/darwin-x86
================================================
FILE: CONTRIBUTING.md
================================================
# Atlas Contributing Guide
Welcome to create [Pull Requests](https://github.com/alibaba/atlas/compare) or open [Issues](https://github.com/alibaba/atlas/issues/new) for bugfix, doc, example, suggestion and anything.
## Branch Management
```
master
↑
dev <--- PR(hotfix/typo/3rd-PR)
↑ PR
{domain}-feature-{date}
```
Atlas Branches
0. `master` branch
0. `master` is the latest (pre-)release branch.
0. `dev` branch
0. `dev` is the stable developing branch. [Github Release](https://help.github.com/articles/creating-releases/) is used to publish a (pre-)release version to `master` branch.
0. ***It's RECOMMENDED to commit hotfix (like typo) or feature PR to `dev`***.
0. `{domain}-feature-{date}` branch
0. The branch for a developing iteration, e.g. `core-feature-20170118` is an atlas-core developing iteration which is done at 2017.01.18. `{domain}` consists of `core`, `update`, `plugin` and `aapt`.
0. **DO NOT commit any PR to such a branch**.
### Branch Name
```
{module}-{action}-{shortName}
```
* `{module}`, see [commit log module](#commit-log)
* `{action}`
* `feature`: checkout from `{module}` and merge to `{module}` later. If `{module}` not exists, merge to `dev`
* `bugfix`: like `feature`, for bugfix only
* `hotfix`: checkout from `master` or release `tag`, merge to `master` and `{module}` later. If `{module}` not exists, merge to `dev`
for example:
* `core-bugfix-memory`
* `plugin-feature-redex`
* `update-hotfix-sequence`
## Commit Log
```
[{module}] {description}
```
* `{module}`
* Including: atlas-core, atlas-aapt, atlas-update, atlas-gradle-plugin, atlas-doc, atlas-website, atlas-demo, test, all
* `{description}`
* It's ***RECOMMENDED*** to close issue with syntax `close #66` or `fix #66`, see [the doc](https://help.github.com/articles/closing-issues-via-commit-messages/) for more detail. It's useful for responding issues.
for example:
* `[all] close #66, add refreshing for memory`
* `[atlas-doc] fix #68, update some instruction`
* `[atlas-demo] remove abc`
## Pull Request
[Create Pull Requests](https://github.com/alibaba/atlas/compare).
## Contributor License Agreement
In order to contribute code to Atlas, you (or the legal entity you represent) must sign the Contributor License Agreement (CLA).
You can read and sign the [Alibaba CLA](https://cla-assistant.io/alibaba/atlas) online.
For CLA assistant service works properly, please make sure you have added email address that your commits linked to GitHub account.
Please read [How to setting your Email address in Git](https://help.github.com/articles/setting-your-email-in-git/) and [How to adding an email address to your GitHub Account](https://help.github.com/articles/adding-an-email-address-to-your-github-account/).
================================================
FILE: LICENSE
================================================
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "{}"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright {yyyy} {name of copyright owner}
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
================================================
FILE: NOTICE
================================================
Atlas-Framework
Copyright 2016 Alibaba Group
This product includes software developed at Alibaba Group. (http://www.alibabagroup.com).
This product modifed software aapt(https://android.googlesource.com/platform/frameworks/base/+/master/tools/aapt/) developed by The Android Open Source Project (http://source.android.com).
This product modifed software Android Gradle Build System(https://android.googlesource.com/platform/tools/base/+/gradle-dev/build-system/) developed by The Android Open Source Project (http://source.android.com).
================================================
FILE: README.md
================================================
# Atlas
[](https://github.com/alibaba/atlas/blob/master/LICENSE)
[](https://github.com/alibaba/atlas/releases/tag/v5.1.0.9-rc26)
[](https://github.com/alibaba/atlas/releases/tag/v5.1.0.9-rc26)
> A powerful Android Dynamic Component Framework.
Atlas is an Android client-side containerization framework. we call it android dynamic component framework.
Atlas provides decoupled, component, and dynamic support. Atlas covers various issues in the project coding period, Apk run-time and follow-up operation and maintenance.
In the project period, Atlas enable engineers independent development, independent debug, because their project were physical isolation.
In the apk run-time, Atlas has complete component life cycle, class isolation and other mechanisms.
In the operation and maintenance period, Atlas provide rapid incremental update and rapid upgrade capacity.
Atlas put the work into the project period as much as possible, to ensure runtime simple and stable, maintenance easy.
------
Compared with multidex solution, Atlas not only solved the limitation of the method count(65535), but also clarified the boundary of development, provied the powerful capabilities for Android development, such as Parallel Iteration, Rapid Development, Flexible Release, Dynamically Update, Quick Fix Online Failure.
Unlike some Android plugin frameworks, Atlas is a component framework (we call it Bundle), Atlas is not a multi-process framework.
------
You can see there were three main library in this project ([atlas-core](./atlas-core)/[atlas-update](./atlas-update)/[atlas-gradle-plugin](./atlas-gradle-plugin))
* [atlas-core](./atlas-core): This is client-side core library, it's job is to install each bundle, load the classes and resources on-demand when runtime.
* [atlas-update](./atlas-update): This is client-side update library, which provide dexmerge capacity for update or upgrade.
* [atlas-gradle-plugin](./atlas-gradle-plugin): This is Android Studio Gradle Plugin for engineers developing in project period, because we change some android default package mechanisms, include android aapt [atlas-aapt](./atlas-aapt).
## Use Atlas
* [Demo](./atlas-demo)
* Doc: [English](), [中文](./atlas-docs)
* DingTalk im group: Scan the follow QR code or Search group 11727755 using DingTalk(钉钉) app.

## Support
----------
Atlas support all Android version from Android 4.0 to 9.0.
Follow is support status.
Runtime | Android Version | Support
------ | --------------- | --------
Dalvik | 2.2 | Not Test
Dalvik | 2.3 | Not Test
Dalvik | 3.0 | Not Test
Dalvik | 4.0-4.4 | Yes
ART | 5.0 | Yes
ART | 5.1 | Yes
ART | M | Yes
ART | N | Yes
ART | 8.0 | Yes
ART | 9.0 | Yes
<!--## Contributing
See [Atlas Contributing Guide](./CONTRIBUTING.md) for more information.
No newline at end of file
-->
================================================
FILE: _config.yml
================================================
theme: jekyll-theme-cayman
================================================
FILE: atlas-aapt/.gitignore
================================================
.idea/
.ccache/
out/
out-x86_64/
out-x86/
ShakaAaptBin/
================================================
FILE: atlas-aapt/CMakeLists.txt
================================================
cmake_minimum_required(VERSION 3.3)
project(ShakaAapt)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
set(AAPTROOT frameworks/base/tools/aapt)
set(aaptMain ${AAPTROOT}/Main.cpp)
set(aaptSources
${AAPTROOT}/AaptAssets.cpp
${AAPTROOT}/AaptConfig.cpp
${AAPTROOT}/AaptUtil.cpp
${AAPTROOT}/AaptXml.cpp
${AAPTROOT}/ApkBuilder.cpp
${AAPTROOT}/Command.cpp
${AAPTROOT}/CrunchCache.cpp
${AAPTROOT}/FileFinder.cpp
${AAPTROOT}/Images.cpp
${AAPTROOT}/Package.cpp
${AAPTROOT}/pseudolocalize.cpp
${AAPTROOT}/Resource.cpp
${AAPTROOT}/ResourceFilter.cpp
${AAPTROOT}/ResourceIdCache.cpp
${AAPTROOT}/ResourceTable.cpp
${AAPTROOT}/SourcePos.cpp
${AAPTROOT}/StringPool.cpp
${AAPTROOT}/WorkQueue.cpp
${AAPTROOT}/XMLNode.cpp
${AAPTROOT}/ZipEntry.cpp
${AAPTROOT}/ZipFile.cpp
)
set(LIB_androidfw_ROOT frameworks/base/libs/androidfw)
set(LIB_androidfw_commonSources
${LIB_androidfw_ROOT}/Asset.cpp
${LIB_androidfw_ROOT}/AssetDir.cpp
${LIB_androidfw_ROOT}/AssetManager.cpp
${LIB_androidfw_ROOT}/misc.cpp
${LIB_androidfw_ROOT}/ObbFile.cpp
${LIB_androidfw_ROOT}/ResourceTypes.cpp
${LIB_androidfw_ROOT}/StreamingZipInflater.cpp
${LIB_androidfw_ROOT}/TypeWrappers.cpp
${LIB_androidfw_ROOT}/ZipFileRO.cpp
${LIB_androidfw_ROOT}/ZipUtils.cpp)
set(LIB_LIBUTILS system/core/libutils)
set(LIB_LIBUTILS_commonSources
${LIB_LIBUTILS}/BlobCache.cpp
${LIB_LIBUTILS}/CallStack.cpp
${LIB_LIBUTILS}/FileMap.cpp
${LIB_LIBUTILS}/JenkinsHash.cpp
${LIB_LIBUTILS}/LinearTransform.cpp
${LIB_LIBUTILS}/Log.cpp
${LIB_LIBUTILS}/NativeHandle.cpp
${LIB_LIBUTILS}/Printer.cpp
${LIB_LIBUTILS}/ProcessCallStack.cpp
${LIB_LIBUTILS}/PropertyMap.cpp
${LIB_LIBUTILS}/RefBase.cpp
${LIB_LIBUTILS}/SharedBuffer.cpp
${LIB_LIBUTILS}/Static.cpp
${LIB_LIBUTILS}/StopWatch.cpp
${LIB_LIBUTILS}/String8.cpp
${LIB_LIBUTILS}/String16.cpp
${LIB_LIBUTILS}/SystemClock.cpp
${LIB_LIBUTILS}/Threads.cpp
${LIB_LIBUTILS}/Timers.cpp
${LIB_LIBUTILS}/Tokenizer.cpp
${LIB_LIBUTILS}/Unicode.cpp
${LIB_LIBUTILS}/VectorImpl.cpp
${LIB_LIBUTILS}/misc.cpp
)
set(LIB_EXPAT external/expat)
set(LIB_EXPAT_commonSources
${LIB_EXPAT}/lib/xmlparse.c
${LIB_EXPAT}/lib/xmlrole.c
${LIB_EXPAT}/lib/xmltok.c
${LIB_EXPAT}/lib/xmltok_impl.c
${LIB_EXPAT}/lib/xmltok_ns.c
)
set(SOURCE_FILES ${SOURCE_FILES}
${aaptMain}
${aaptSources}
${LIB_androidfw_commonSources}
${LIB_LIBUTILS_commonSources}
${LIB_EXPAT_commonSources}
)
include_directories(${AAPTROOT})
include_directories(frameworks/base/include
external/safe-iop/include
system/core/include
external/zlib
external/expat/lib
)
add_definitions(-DXML_TOK_IMPL_C)
add_executable(ShakaAapt ${SOURCE_FILES})
================================================
FILE: atlas-aapt/Makefile
================================================
### DO NOT EDIT THIS FILE ###
include build/core/main.mk
### DO NOT EDIT THIS FILE ###
================================================
FILE: atlas-aapt/README.md
================================================
# atlas-aapt
This project base on [ShakaAapt](https://github.com/rover12421/ShakaAapt),which strip the necessary aapt code from AOSP android-7.0.0_r6 branch.
## Compile Env
Please refer to AOSP
## atlas-aapt
atlas-aapt expand follow options base on AOSP aapt:
1. --customized-package-id: generally aapt typed package resource id is 0x7f, this is the application bundle package-id of resources. Use this option to specify the resource package-id for other values, but must be less than or equal to 0x7f. (example: - customized package - id 126).
2. --use-skt-package-name: generally a package reference another package of resources, resources must be combined with the package name for reference, such as a reference when android resource must be combined with '@ android:' for reference. Use this option, can eliminate the process of writing a package name, find resources directly. The name of this package is usually the main atlas package name.
3. -B: used for dynamic deployment of resources, if you want to hit this package based on the a package of resources patch package, so use this option to specify the basic package.
================================================
FILE: atlas-aapt/README.zh-cn.md
================================================
## atlas-aapt
此项目基于[ShakaAapt](https://github.com/rover12421/ShakaAapt),该项目抽离了AOSP——android-7.0.0_r6中编译aapt的必要代码。
## 编译环境
具体参考AOSP编译官方文档
## atlas-aapt提供的功能
atlas-aapt在官方aapt的基础上添加了以下扩展选项:
1. --customized-package-id:一般aapt打出来包的资源id都是以7f开头,这个就是应用包资源的package-id。使用这个选项可以指定资源的package-id为其他数值,但是必须小于等于7f。(示例:--customized-package-id 126)。
2. --use-skt-package-name:一般一个包引用另一个包的资源的时候,都必须加上资源的包名来进行引用,比如引用android的资源的时候必须加上`@android:`来进行引用。使用这个选项,可以省去写包名的过程,直接找到资源。这个包的名字通常是atlas中主包的包名。
3. -B:资源动态部署用,如果你想基于一个包来打出这个包的资源patch包,那么使用该选项来指定基础包。
================================================
FILE: atlas-aapt/UpdateAndroidSource.sh
================================================
#! /bin/bash
SRCROOT=/Develop/android/source/android-last
DESROOT=.
array=( \
bionic/libc/include \
external/compiler-rt \
external/expat \
external/libcxx \
external/libcxxabi \
external/libpng \
external/safe-iop \
external/zlib \
frameworks/base/include \
frameworks/base/libs/androidfw \
frameworks/base/tools/aapt \
frameworks/native/include \
libnativehelper \
prebuilts/clang/darwin-x86 \
prebuilts/clang/host \
prebuilts/gcc \
sdk/build \
system/core/base \
system/core/include \
system/core/libcutils \
system/core/liblog \
system/core/libutils \
system/core/libziparchive \
)
for var in ${array[@]};do
rsync -aP --delete $SRCROOT/$var/ $DESROOT/$var/ \
--exclude .git \
--exclude test \
--exclude tests \
--exclude testdata \
--exclude examples \
--exclude doc \
--exclude www \
--exclude unittests \
--exclude common \
--exclude linux-x86/mips \
--exclude linux-x86/arm \
--exclude linux-x86/aarch64 \
--exclude linux-x86/x86 \
--exclude linux-x86/host/x86_64-linux-glibc2.11-4.8 \
--exclude linux-x86/host/x86_64-w64-mingw32-4.8 \
--exclude darwin-x86/mips \
--exclude darwin-x86/arm \
--exclude darwin-x86/aarch64 \
--exclude darwin-x86/x86
done
================================================
FILE: atlas-aapt/bionic/libc/include/alloca.h
================================================
/*
* Copyright (C) 2008 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#ifndef _ALLOCA_H
#define _ALLOCA_H
#define alloca(size) __builtin_alloca(size)
#endif /* _ALLOCA_H */
================================================
FILE: atlas-aapt/bionic/libc/include/android/api-level.h
================================================
/*
* Copyright (C) 2008 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#ifndef ANDROID_API_LEVEL_H
#define ANDROID_API_LEVEL_H
/*
* Magic version number for a current development build, which has
* not yet turned into an official release.
*/
#define __ANDROID_API__ 10000
#endif /* ANDROID_API_LEVEL_H */
================================================
FILE: atlas-aapt/bionic/libc/include/android/dlext.h
================================================
/*
* Copyright (C) 2014 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef __ANDROID_DLEXT_H__
#define __ANDROID_DLEXT_H__
#include <stddef.h>
#include <stdint.h>
#include <sys/cdefs.h>
#include <sys/types.h> /* for off64_t */
__BEGIN_DECLS
/* bitfield definitions for android_dlextinfo.flags */
enum {
/* When set, the reserved_addr and reserved_size fields must point to an
* already-reserved region of address space which will be used to load the
* library if it fits. If the reserved region is not large enough, the load
* will fail.
*/
ANDROID_DLEXT_RESERVED_ADDRESS = 0x1,
/* As DLEXT_RESERVED_ADDRESS, but if the reserved region is not large enough,
* the linker will choose an available address instead.
*/
ANDROID_DLEXT_RESERVED_ADDRESS_HINT = 0x2,
/* When set, write the GNU RELRO section of the mapped library to relro_fd
* after relocation has been performed, to allow it to be reused by another
* process loading the same library at the same address. This implies
* ANDROID_DLEXT_USE_RELRO.
*/
ANDROID_DLEXT_WRITE_RELRO = 0x4,
/* When set, compare the GNU RELRO section of the mapped library to relro_fd
* after relocation has been performed, and replace any relocated pages that
* are identical with a version mapped from the file.
*/
ANDROID_DLEXT_USE_RELRO = 0x8,
/* Instruct dlopen to use library_fd instead of opening file by name.
* The filename parameter is still used to identify the library.
*/
ANDROID_DLEXT_USE_LIBRARY_FD = 0x10,
/* If opening a library using library_fd read it starting at library_fd_offset.
* This flag is only valid when ANDROID_DLEXT_USE_LIBRARY_FD is set.
*/
ANDROID_DLEXT_USE_LIBRARY_FD_OFFSET = 0x20,
/* When set, do not check if the library has already been loaded by file stat(2)s.
*
* This flag allows forced loading of the library in the case when for some
* reason multiple ELF files share the same filename (because the already-loaded
* library has been removed and overwritten, for example).
*
* Note that if the library has the same dt_soname as an old one and some other
* library has the soname in DT_NEEDED list, the first one will be used to resolve any
* dependencies.
*/
ANDROID_DLEXT_FORCE_LOAD = 0x40,
/* When set, if the minimum p_vaddr of the ELF file's PT_LOAD segments is non-zero,
* the dynamic linker will load it at that address.
*
* This flag is for ART internal use only.
*/
ANDROID_DLEXT_FORCE_FIXED_VADDR = 0x80,
/* Instructs dlopen to load the library at the address specified by reserved_addr.
*
* The difference between ANDROID_DLEXT_LOAD_AT_FIXED_ADDRESS and ANDROID_DLEXT_RESERVED_ADDRESS
* is that for ANDROID_DLEXT_LOAD_AT_FIXED_ADDRESS the linker reserves memory at reserved_addr
* whereas for ANDROID_DLEXT_RESERVED_ADDRESS the linker relies on the caller to reserve the memory.
*
* This flag can be used with ANDROID_DLEXT_FORCE_FIXED_VADDR; when ANDROID_DLEXT_FORCE_FIXED_VADDR
* is set and load_bias is not 0 (load_bias is min(p_vaddr) of PT_LOAD segments) this flag is ignored.
* This is implemented this way because the linker has to pick one address over the other and this
* way is more convenient for art. Note that ANDROID_DLEXT_FORCE_FIXED_VADDR does not generate
* an error when min(p_vaddr) is 0.
*
* Cannot be used with ANDROID_DLEXT_RESERVED_ADDRESS or ANDROID_DLEXT_RESERVED_ADDRESS_HINT.
*
* This flag is for ART internal use only.
*/
ANDROID_DLEXT_LOAD_AT_FIXED_ADDRESS = 0x100,
/* This flag used to load library in a different namespace. The namespace is
* specified in library_namespace.
*/
ANDROID_DLEXT_USE_NAMESPACE = 0x200,
/* Mask of valid bits */
ANDROID_DLEXT_VALID_FLAG_BITS = ANDROID_DLEXT_RESERVED_ADDRESS |
ANDROID_DLEXT_RESERVED_ADDRESS_HINT |
ANDROID_DLEXT_WRITE_RELRO |
ANDROID_DLEXT_USE_RELRO |
ANDROID_DLEXT_USE_LIBRARY_FD |
ANDROID_DLEXT_USE_LIBRARY_FD_OFFSET |
ANDROID_DLEXT_FORCE_LOAD |
ANDROID_DLEXT_FORCE_FIXED_VADDR |
ANDROID_DLEXT_LOAD_AT_FIXED_ADDRESS |
ANDROID_DLEXT_USE_NAMESPACE,
};
struct android_namespace_t;
typedef struct {
uint64_t flags;
void* reserved_addr;
size_t reserved_size;
int relro_fd;
int library_fd;
off64_t library_fd_offset;
struct android_namespace_t* library_namespace;
} android_dlextinfo;
extern void* android_dlopen_ext(const char* filename, int flag, const android_dlextinfo* extinfo);
__END_DECLS
#endif /* __ANDROID_DLEXT_H__ */
================================================
FILE: atlas-aapt/bionic/libc/include/android/legacy_errno_inlines.h
================================================
/*
* Copyright (C) 2015 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#ifndef _ANDROID_LEGACY_ERRNO_INLINES_H
#define _ANDROID_LEGACY_ERRNO_INLINES_H
#include <sys/cdefs.h>
__BEGIN_DECLS
static __inline int __attribute__((deprecated)) __set_errno(int n) {
errno = n;
return -1;
}
__END_DECLS
#endif /* _ANDROID_LEGACY_ERRNO_INLINES_H */
================================================
FILE: atlas-aapt/bionic/libc/include/android/legacy_signal_inlines.h
================================================
/*
* Copyright (C) 2015 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#ifndef _ANDROID_LEGACY_SIGNAL_INLINES_H_
#define _ANDROID_LEGACY_SIGNAL_INLINES_H_
#include <string.h>
#include <sys/cdefs.h>
__BEGIN_DECLS
extern sighandler_t bsd_signal(int signum, sighandler_t handler);
static __inline int sigismember(sigset_t *set, int signum) {
/* Signal numbers start at 1, but bit positions start at 0. */
int bit = signum - 1;
const unsigned long *local_set = (const unsigned long *)set;
if (set == NULL || bit < 0 || bit >= (int)(8 * sizeof(sigset_t))) {
errno = EINVAL;
return -1;
}
return (int)((local_set[bit / LONG_BIT] >> (bit % LONG_BIT)) & 1);
}
static __inline int sigaddset(sigset_t *set, int signum) {
/* Signal numbers start at 1, but bit positions start at 0. */
int bit = signum - 1;
unsigned long *local_set = (unsigned long *)set;
if (set == NULL || bit < 0 || bit >= (int)(8 * sizeof(sigset_t))) {
errno = EINVAL;
return -1;
}
local_set[bit / LONG_BIT] |= 1UL << (bit % LONG_BIT);
return 0;
}
static __inline int sigdelset(sigset_t *set, int signum) {
/* Signal numbers start at 1, but bit positions start at 0. */
int bit = signum - 1;
unsigned long *local_set = (unsigned long *)set;
if (set == NULL || bit < 0 || bit >= (int)(8 * sizeof(sigset_t))) {
errno = EINVAL;
return -1;
}
local_set[bit / LONG_BIT] &= ~(1UL << (bit % LONG_BIT));
return 0;
}
static __inline int sigemptyset(sigset_t *set) {
if (set == NULL) {
errno = EINVAL;
return -1;
}
memset(set, 0, sizeof(sigset_t));
return 0;
}
static __inline int sigfillset(sigset_t *set) {
if (set == NULL) {
errno = EINVAL;
return -1;
}
memset(set, ~0, sizeof(sigset_t));
return 0;
}
static __inline sighandler_t signal(int s, sighandler_t f) {
return bsd_signal(s, f);
}
__END_DECLS
#endif /* _ANDROID_LEGACY_SIGNAL_INLINES_H_ */
================================================
FILE: atlas-aapt/bionic/libc/include/android/legacy_stdlib_inlines.h
================================================
/*
* Copyright (C) 2015 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#ifndef _ANDROID_LEGACY_STDLIB_INLINES_H_
#define _ANDROID_LEGACY_STDLIB_INLINES_H_
#include <sys/cdefs.h>
__BEGIN_DECLS
static __inline float strtof(const char *nptr, char **endptr) {
return (float)strtod(nptr, endptr);
}
static __inline double atof(const char *nptr) { return (strtod(nptr, NULL)); }
static __inline int abs(int __n) { return (__n < 0) ? -__n : __n; }
static __inline long labs(long __n) { return (__n < 0L) ? -__n : __n; }
static __inline long long llabs(long long __n) {
return (__n < 0LL) ? -__n : __n;
}
static __inline int rand(void) { return (int)lrand48(); }
static __inline void srand(unsigned int __s) { srand48(__s); }
static __inline long random(void) { return lrand48(); }
static __inline void srandom(unsigned int __s) { srand48(__s); }
static __inline int grantpt(int __fd __attribute((unused))) {
return 0; /* devpts does this all for us! */
}
__END_DECLS
#endif /* _ANDROID_LEGACY_STDLIB_INLINES_H_ */
================================================
FILE: atlas-aapt/bionic/libc/include/android/legacy_sys_atomics_inlines.h
================================================
/*
* Copyright (C) 2015 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#ifndef _ANDROID_LEGACY_SYS_ATOMICS_INLINES_H_
#define _ANDROID_LEGACY_SYS_ATOMICS_INLINES_H_
#include <sys/cdefs.h>
__BEGIN_DECLS
/* Note: atomic operations that were exported by the C library didn't
* provide any memory barriers, which created potential issues on
* multi-core devices. We now define them as inlined calls to
* GCC sync builtins, which always provide a full barrier.
*
* NOTE: The C library still exports atomic functions by the same
* name to ensure ABI stability for existing NDK machine code.
*
* If you are an NDK developer, we encourage you to rebuild your
* unmodified sources against this header as soon as possible.
*/
#define __ATOMIC_INLINE__ static __inline __attribute__((always_inline))
__ATOMIC_INLINE__ int __atomic_cmpxchg(int old, int _new, volatile int *ptr) {
/* We must return 0 on success */
return __sync_val_compare_and_swap(ptr, old, _new) != old;
}
__ATOMIC_INLINE__ int __atomic_swap(int _new, volatile int *ptr) {
int prev;
do {
prev = *ptr;
} while (__sync_val_compare_and_swap(ptr, prev, _new) != prev);
return prev;
}
__ATOMIC_INLINE__ int __atomic_dec(volatile int *ptr) {
return __sync_fetch_and_sub(ptr, 1);
}
__ATOMIC_INLINE__ int __atomic_inc(volatile int *ptr) {
return __sync_fetch_and_add(ptr, 1);
}
__END_DECLS
#endif /* _ANDROID_LEGACY_SYS_ATOMICS_INLINES_H_ */
================================================
FILE: atlas-aapt/bionic/libc/include/android/legacy_sys_stat_inlines.h
================================================
/*
* Copyright (C) 2015 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#ifndef _ANDROID_LEGACY_SYS_STAT_INLINES_H_
#define _ANDROID_LEGACY_SYS_STAT_INLINES_H_
#include <sys/cdefs.h>
__BEGIN_DECLS
static __inline int mkfifo(const char *__p, mode_t __m) {
return mknod(__p, (__m & ~S_IFMT) | S_IFIFO, (dev_t)0);
}
__END_DECLS
#endif /* _ANDROID_LEGACY_SYS_STAT_INLINES_H_ */
================================================
FILE: atlas-aapt/bionic/libc/include/android/legacy_termios_inlines.h
================================================
/*
* Copyright (C) 2015 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#ifndef _ANDROID_LEGACY_TERMIOS_INLINES_H_
#define _ANDROID_LEGACY_TERMIOS_INLINES_H_
#include <linux/termios.h>
#include <sys/cdefs.h>
#include <sys/ioctl.h>
#include <sys/types.h>
__BEGIN_DECLS
static __inline int tcgetattr(int fd, struct termios *s) {
return ioctl(fd, TCGETS, s);
}
static __inline int tcsetattr(int fd, int __opt, const struct termios *s) {
return ioctl(fd, __opt, (void *)s);
}
static __inline int tcflow(int fd, int action) {
return ioctl(fd, TCXONC, (void *)(intptr_t)action);
}
static __inline int tcflush(int fd, int __queue) {
return ioctl(fd, TCFLSH, (void *)(intptr_t)__queue);
}
static __inline pid_t tcgetsid(int fd) {
pid_t _pid;
return ioctl(fd, TIOCGSID, &_pid) ? (pid_t)-1 : _pid;
}
static __inline int tcsendbreak(int fd, int __duration) {
return ioctl(fd, TCSBRKP, (void *)(uintptr_t)__duration);
}
static __inline speed_t cfgetospeed(const struct termios *s) {
return (speed_t)(s->c_cflag & CBAUD);
}
static __inline int cfsetospeed(struct termios *s, speed_t speed) {
s->c_cflag = (s->c_cflag & ~CBAUD) | (speed & CBAUD);
return 0;
}
static __inline speed_t cfgetispeed(const struct termios *s) {
return (speed_t)(s->c_cflag & CBAUD);
}
static __inline int cfsetispeed(struct termios *s, speed_t speed) {
s->c_cflag = (s->c_cflag & ~CBAUD) | (speed & CBAUD);
return 0;
}
static __inline void cfmakeraw(struct termios *s) {
s->c_iflag &=
~(IGNBRK | BRKINT | PARMRK | ISTRIP | INLCR | IGNCR | ICRNL | IXON);
s->c_oflag &= ~OPOST;
s->c_lflag &= ~(ECHO | ECHONL | ICANON | ISIG | IEXTEN);
s->c_cflag &= ~(CSIZE | PARENB);
s->c_cflag |= CS8;
}
__END_DECLS
#endif /* _ANDROID_LEGACY_TERMIOS_INLINES_H_ */
================================================
FILE: atlas-aapt/bionic/libc/include/android/set_abort_message.h
================================================
/*
* Copyright (C) 2014 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#ifndef _SET_ABORT_MESSAGE_H
#define _SET_ABORT_MESSAGE_H
#include <sys/cdefs.h>
__BEGIN_DECLS
void android_set_abort_message(const char* msg);
__END_DECLS
#endif // _SET_ABORT_MESSAGE_H
================================================
FILE: atlas-aapt/bionic/libc/include/ar.h
================================================
/* $OpenBSD: ar.h,v 1.3 2003/06/02 19:34:12 millert Exp $ */
/* $NetBSD: ar.h,v 1.4 1994/10/26 00:55:43 cgd Exp $ */
/*-
* Copyright (c) 1991, 1993
* The Regents of the University of California. All rights reserved.
* (c) UNIX System Laboratories, Inc.
* All or some portions of this file are derived from material licensed
* to the University of California by American Telephone and Telegraph
* Co. or Unix System Laboratories, Inc. and are reproduced herein with
* the permission of UNIX System Laboratories, Inc.
*
* This code is derived from software contributed to Berkeley by
* Hugh Smith at The University of Guelph.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* @(#)ar.h 8.2 (Berkeley) 1/21/94
*/
#ifndef _AR_H_
#define _AR_H_
/* Pre-4BSD archives had these magic numbers in them. */
#define OARMAG1 0177555
#define OARMAG2 0177545
#define ARMAG "!<arch>\n" /* ar "magic number" */
#define SARMAG 8 /* strlen(ARMAG); */
#define AR_EFMT1 "#1/" /* extended format #1 */
struct ar_hdr {
char ar_name[16]; /* name */
char ar_date[12]; /* modification time */
char ar_uid[6]; /* user id */
char ar_gid[6]; /* group id */
char ar_mode[8]; /* octal file permissions */
char ar_size[10]; /* size in bytes */
#define ARFMAG "`\n"
char ar_fmag[2]; /* consistency check */
};
#endif /* !_AR_H_ */
================================================
FILE: atlas-aapt/bionic/libc/include/arpa/inet.h
================================================
/*
* Copyright (C) 2008 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#ifndef _ARPA_INET_H_
#define _ARPA_INET_H_
#include <stdint.h>
#include <sys/types.h>
#include <netinet/in.h>
__BEGIN_DECLS
in_addr_t inet_addr(const char*);
int inet_aton(const char*, struct in_addr*);
in_addr_t inet_lnaof(struct in_addr);
struct in_addr inet_makeaddr(in_addr_t, in_addr_t);
in_addr_t inet_netof(struct in_addr);
in_addr_t inet_network(const char*);
char* inet_ntoa(struct in_addr);
const char* inet_ntop(int, const void*, char*, socklen_t);
unsigned int inet_nsap_addr(const char*, unsigned char*, int);
char* inet_nsap_ntoa(int, const unsigned char*, char*);
int inet_pton(int, const char*, void*);
__END_DECLS
#endif /* _ARPA_INET_H_ */
================================================
FILE: atlas-aapt/bionic/libc/include/arpa/nameser.h
================================================
/* $NetBSD: nameser.h,v 1.25 2009/04/12 17:07:34 christos Exp $ */
/*
* Portions Copyright (C) 2004, 2005, 2008, 2009 Internet Systems Consortium, Inc. ("ISC")
* Portions Copyright (C) 1996-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
* REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
* AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
* LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
* OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
/*
* Copyright (c) 1983, 1989, 1993
* The Regents of the University of California. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
/*
* Id: nameser.h,v 1.16 2009/03/03 01:52:48 each Exp
*/
#ifndef _ARPA_NAMESER_H_
#define _ARPA_NAMESER_H_
#define BIND_4_COMPAT
#include <sys/types.h>
#include <sys/cdefs.h>
/*
* Revision information. This is the release date in YYYYMMDD format.
* It can change every day so the right thing to do with it is use it
* in preprocessor commands such as "#if (__NAMESER > 19931104)". Do not
* compare for equality; rather, use it to determine whether your libbind.a
* contains a new enough lib/nameser/ to support the feature you need.
*/
#define __NAMESER 20090302 /*%< New interface version stamp. */
/*
* Define constants based on RFC0883, RFC1034, RFC 1035
*/
#define NS_PACKETSZ 512 /* default UDP packet size */
#define NS_MAXDNAME 1025 /* maximum domain name (presentation format)*/
#define NS_MAXMSG 65535 /* maximum message size */
#define NS_MAXCDNAME 255 /* maximum compressed domain name */
#define NS_MAXLABEL 63 /* maximum length of domain label */
#define NS_MAXLABELS 128 /* theoretical max #/labels per domain name */
#define NS_MAXNNAME 256 /* maximum uncompressed (binary) domain name*/
#define NS_MAXPADDR (sizeof "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff")
#define NS_HFIXEDSZ 12 /* #/bytes of fixed data in header */
#define NS_QFIXEDSZ 4 /* #/bytes of fixed data in query */
#define NS_RRFIXEDSZ 10 /* #/bytes of fixed data in r record */
#define NS_INT32SZ 4 /* #/bytes of data in a uint32_t */
#define NS_INT16SZ 2 /* #/bytes of data in a uint16_t */
#define NS_INT8SZ 1 /* #/bytes of data in a uint8_t */
#define NS_INADDRSZ 4 /* IPv4 T_A */
#define NS_IN6ADDRSZ 16 /* IPv6 T_AAAA */
#define NS_CMPRSFLGS 0xc0 /* Flag bits indicating name compression. */
#define NS_DEFAULTPORT 53 /* For both TCP and UDP. */
/*
* These can be expanded with synonyms, just keep ns_parse.c:ns_parserecord()
* in synch with it.
*/
typedef enum __ns_sect {
ns_s_qd = 0, /* Query: Question. */
ns_s_zn = 0, /* Update: Zone. */
ns_s_an = 1, /* Query: Answer. */
ns_s_pr = 1, /* Update: Prerequisites. */
ns_s_ns = 2, /* Query: Name servers. */
ns_s_ud = 2, /* Update: Update. */
ns_s_ar = 3, /* Query|Update: Additional records. */
ns_s_max = 4
} ns_sect;
/*
* Network name (compressed or not) type. Equivilent to a pointer when used
* in a function prototype. Can be const'd.
*/
typedef u_char ns_nname[NS_MAXNNAME];
typedef const u_char *ns_nname_ct;
typedef u_char *ns_nname_t;
struct ns_namemap { ns_nname_ct base; int len; };
typedef struct ns_namemap *ns_namemap_t;
typedef const struct ns_namemap *ns_namemap_ct;
/*
* This is a message handle. It is caller allocated and has no dynamic data.
* This structure is intended to be opaque to all but ns_parse.c, thus the
* leading _'s on the member names. Use the accessor functions, not the _'s.
*/
typedef struct __ns_msg {
const u_char *_msg, *_eom;
uint16_t _id, _flags, _counts[ns_s_max];
const u_char *_sections[ns_s_max];
ns_sect _sect;
int _rrnum;
const u_char *_msg_ptr;
} ns_msg;
/*
* This is a newmsg handle, used when constructing new messages with
* ns_newmsg_init, et al.
*/
struct ns_newmsg {
ns_msg msg;
const u_char *dnptrs[25];
const u_char **lastdnptr;
};
typedef struct ns_newmsg ns_newmsg;
/* Private data structure - do not use from outside library. */
struct _ns_flagdata { int mask, shift; };
extern const struct _ns_flagdata _ns_flagdata[];
/* Accessor macros - this is part of the public interface. */
#define ns_msg_id(handle) ((handle)._id + 0)
#define ns_msg_base(handle) ((handle)._msg + 0)
#define ns_msg_end(handle) ((handle)._eom + 0)
#define ns_msg_size(handle) ((size_t)((handle)._eom - (handle)._msg))
#define ns_msg_count(handle, section) ((handle)._counts[section] + 0)
/*
* This is a parsed record. It is caller allocated and has no dynamic data.
*/
typedef struct __ns_rr {
char name[NS_MAXDNAME];
uint16_t type;
uint16_t rr_class;
uint32_t ttl;
uint16_t rdlength;
const u_char * rdata;
} ns_rr;
/*
* Same thing, but using uncompressed network binary names, and real C types.
*/
typedef struct __ns_rr2 {
ns_nname nname;
size_t nnamel;
int type;
int rr_class;
u_int ttl;
int rdlength;
const u_char * rdata;
} ns_rr2;
/* Accessor macros - this is part of the public interface. */
#define ns_rr_name(rr) (((rr).name[0] != '\0') ? (rr).name : ".")
#define ns_rr_nname(rr) ((const ns_nname_t)(rr).nname)
#define ns_rr_nnamel(rr) ((rr).nnamel + 0)
#define ns_rr_type(rr) ((ns_type)((rr).type + 0))
#define ns_rr_class(rr) ((ns_class)((rr).rr_class + 0))
#define ns_rr_ttl(rr) ((u_long)(rr).ttl + 0)
#define ns_rr_rdlen(rr) ((size_t)(rr).rdlength + 0)
#define ns_rr_rdata(rr) ((rr).rdata + 0)
/*
* These don't have to be in the same order as in the packet flags word,
* and they can even overlap in some cases, but they will need to be kept
* in synch with ns_parse.c:ns_flagdata[].
*/
typedef enum __ns_flag {
ns_f_qr, /* Question/Response. */
ns_f_opcode, /* Operation code. */
ns_f_aa, /* Authoritative Answer. */
ns_f_tc, /* Truncation occurred. */
ns_f_rd, /* Recursion Desired. */
ns_f_ra, /* Recursion Available. */
ns_f_z, /* MBZ. */
ns_f_ad, /* Authentic Data (DNSSEC). */
ns_f_cd, /* Checking Disabled (DNSSEC). */
ns_f_rcode, /* Response code. */
ns_f_max
} ns_flag;
/*
* Currently defined opcodes.
*/
typedef enum __ns_opcode {
ns_o_query = 0, /* Standard query. */
ns_o_iquery = 1, /* Inverse query (deprecated/unsupported). */
ns_o_status = 2, /* Name server status query (unsupported). */
/* Opcode 3 is undefined/reserved. */
ns_o_notify = 4, /* Zone change notification. */
ns_o_update = 5, /* Zone update message. */
ns_o_max = 6
} ns_opcode;
/*
* Currently defined response codes.
*/
typedef enum __ns_rcode {
ns_r_noerror = 0, /* No error occurred. */
ns_r_formerr = 1, /* Format error. */
ns_r_servfail = 2, /* Server failure. */
ns_r_nxdomain = 3, /* Name error. */
ns_r_notimpl = 4, /* Unimplemented. */
ns_r_refused = 5, /* Operation refused. */
/* these are for BIND_UPDATE */
ns_r_yxdomain = 6, /* Name exists */
ns_r_yxrrset = 7, /* RRset exists */
ns_r_nxrrset = 8, /* RRset does not exist */
ns_r_notauth = 9, /* Not authoritative for zone */
ns_r_notzone = 10, /* Zone of record different from zone section */
ns_r_max = 11,
/* The following are EDNS extended rcodes */
ns_r_badvers = 16,
/* The following are TSIG errors */
ns_r_badsig = 16,
ns_r_badkey = 17,
ns_r_badtime = 18
} ns_rcode;
/* BIND_UPDATE */
typedef enum __ns_update_operation {
ns_uop_delete = 0,
ns_uop_add = 1,
ns_uop_max = 2
} ns_update_operation;
/*
* This structure is used for TSIG authenticated messages
*/
struct ns_tsig_key {
char name[NS_MAXDNAME], alg[NS_MAXDNAME];
unsigned char *data;
int len;
};
typedef struct ns_tsig_key ns_tsig_key;
/*
* This structure is used for TSIG authenticated TCP messages
*/
struct ns_tcp_tsig_state {
int counter;
struct dst_key *key;
void *ctx;
unsigned char sig[NS_PACKETSZ];
int siglen;
};
typedef struct ns_tcp_tsig_state ns_tcp_tsig_state;
#define NS_TSIG_FUDGE 300
#define NS_TSIG_TCP_COUNT 100
#define NS_TSIG_ALG_HMAC_MD5 "HMAC-MD5.SIG-ALG.REG.INT"
#define NS_TSIG_ERROR_NO_TSIG -10
#define NS_TSIG_ERROR_NO_SPACE -11
#define NS_TSIG_ERROR_FORMERR -12
/*
* Currently defined type values for resources and queries.
*/
typedef enum __ns_type {
ns_t_invalid = 0, /* Cookie. */
ns_t_a = 1, /* Host address. */
ns_t_ns = 2, /* Authoritative server. */
ns_t_md = 3, /* Mail destination. */
ns_t_mf = 4, /* Mail forwarder. */
ns_t_cname = 5, /* Canonical name. */
ns_t_soa = 6, /* Start of authority zone. */
ns_t_mb = 7, /* Mailbox domain name. */
ns_t_mg = 8, /* Mail group member. */
ns_t_mr = 9, /* Mail rename name. */
ns_t_null = 10, /* Null resource record. */
ns_t_wks = 11, /* Well known service. */
ns_t_ptr = 12, /* Domain name pointer. */
ns_t_hinfo = 13, /* Host information. */
ns_t_minfo = 14, /* Mailbox information. */
ns_t_mx = 15, /* Mail routing information. */
ns_t_txt = 16, /* Text strings. */
ns_t_rp = 17, /* Responsible person. */
ns_t_afsdb = 18, /* AFS cell database. */
ns_t_x25 = 19, /* X_25 calling address. */
ns_t_isdn = 20, /* ISDN calling address. */
ns_t_rt = 21, /* Router. */
ns_t_nsap = 22, /* NSAP address. */
ns_t_nsap_ptr = 23, /* Reverse NSAP lookup (deprecated). */
ns_t_sig = 24, /* Security signature. */
ns_t_key = 25, /* Security key. */
ns_t_px = 26, /* X.400 mail mapping. */
ns_t_gpos = 27, /* Geographical position (withdrawn). */
ns_t_aaaa = 28, /* IPv6 Address. */
ns_t_loc = 29, /* Location Information. */
ns_t_nxt = 30, /* Next domain (security). */
ns_t_eid = 31, /* Endpoint identifier. */
ns_t_nimloc = 32, /* Nimrod Locator. */
ns_t_srv = 33, /* Server Selection. */
ns_t_atma = 34, /* ATM Address */
ns_t_naptr = 35, /* Naming Authority PoinTeR */
ns_t_kx = 36, /* Key Exchange */
ns_t_cert = 37, /* Certification record */
ns_t_a6 = 38, /* IPv6 address (experimental) */
ns_t_dname = 39, /* Non-terminal DNAME */
ns_t_sink = 40, /* Kitchen sink (experimentatl) */
ns_t_opt = 41, /* EDNS0 option (meta-RR) */
ns_t_apl = 42, /* Address prefix list (RFC 3123) */
ns_t_ds = 43, /* Delegation Signer */
ns_t_sshfp = 44, /* SSH Fingerprint */
ns_t_ipseckey = 45, /* IPSEC Key */
ns_t_rrsig = 46, /* RRset Signature */
ns_t_nsec = 47, /* Negative security */
ns_t_dnskey = 48, /* DNS Key */
ns_t_dhcid = 49, /* Dynamic host configuratin identifier */
ns_t_nsec3 = 50, /* Negative security type 3 */
ns_t_nsec3param = 51, /* Negative security type 3 parameters */
ns_t_hip = 55, /* Host Identity Protocol */
ns_t_spf = 99, /* Sender Policy Framework */
ns_t_tkey = 249, /* Transaction key */
ns_t_tsig = 250, /* Transaction signature. */
ns_t_ixfr = 251, /* Incremental zone transfer. */
ns_t_axfr = 252, /* Transfer zone of authority. */
ns_t_mailb = 253, /* Transfer mailbox records. */
ns_t_maila = 254, /* Transfer mail agent records. */
ns_t_any = 255, /* Wildcard match. */
ns_t_zxfr = 256, /* BIND-specific, nonstandard. */
ns_t_dlv = 32769, /* DNSSEC look-aside validatation. */
ns_t_max = 65536
} ns_type;
/* Exclusively a QTYPE? (not also an RTYPE) */
#define ns_t_qt_p(t) (ns_t_xfr_p(t) || (t) == ns_t_any || \
(t) == ns_t_mailb || (t) == ns_t_maila)
/* Some kind of meta-RR? (not a QTYPE, but also not an RTYPE) */
#define ns_t_mrr_p(t) ((t) == ns_t_tsig || (t) == ns_t_opt)
/* Exclusively an RTYPE? (not also a QTYPE or a meta-RR) */
#define ns_t_rr_p(t) (!ns_t_qt_p(t) && !ns_t_mrr_p(t))
#define ns_t_udp_p(t) ((t) != ns_t_axfr && (t) != ns_t_zxfr)
#define ns_t_xfr_p(t) ((t) == ns_t_axfr || (t) == ns_t_ixfr || \
(t) == ns_t_zxfr)
/*
* Values for class field
*/
typedef enum __ns_class {
ns_c_invalid = 0, /* Cookie. */
ns_c_in = 1, /* Internet. */
ns_c_2 = 2, /* unallocated/unsupported. */
ns_c_chaos = 3, /* MIT Chaos-net. */
ns_c_hs = 4, /* MIT Hesiod. */
/* Query class values which do not appear in resource records */
ns_c_none = 254, /* for prereq. sections in update requests */
ns_c_any = 255, /* Wildcard match. */
ns_c_max = 65536
} ns_class;
/* DNSSEC constants. */
typedef enum __ns_key_types {
ns_kt_rsa = 1, /* key type RSA/MD5 */
ns_kt_dh = 2, /* Diffie Hellman */
ns_kt_dsa = 3, /* Digital Signature Standard (MANDATORY) */
ns_kt_private = 254 /* Private key type starts with OID */
} ns_key_types;
typedef enum __ns_cert_types {
cert_t_pkix = 1, /* PKIX (X.509v3) */
cert_t_spki = 2, /* SPKI */
cert_t_pgp = 3, /* PGP */
cert_t_url = 253, /* URL private type */
cert_t_oid = 254 /* OID private type */
} ns_cert_types;
/* Flags field of the KEY RR rdata. */
#define NS_KEY_TYPEMASK 0xC000 /* Mask for "type" bits */
#define NS_KEY_TYPE_AUTH_CONF 0x0000 /* Key usable for both */
#define NS_KEY_TYPE_CONF_ONLY 0x8000 /* Key usable for confidentiality */
#define NS_KEY_TYPE_AUTH_ONLY 0x4000 /* Key usable for authentication */
#define NS_KEY_TYPE_NO_KEY 0xC000 /* No key usable for either; no key */
/* The type bits can also be interpreted independently, as single bits: */
#define NS_KEY_NO_AUTH 0x8000 /* Key unusable for authentication */
#define NS_KEY_NO_CONF 0x4000 /* Key unusable for confidentiality */
#define NS_KEY_RESERVED2 0x2000 /* Security is *mandatory* if bit=0 */
#define NS_KEY_EXTENDED_FLAGS 0x1000 /* reserved - must be zero */
#define NS_KEY_RESERVED4 0x0800 /* reserved - must be zero */
#define NS_KEY_RESERVED5 0x0400 /* reserved - must be zero */
#define NS_KEY_NAME_TYPE 0x0300 /* these bits determine the type */
#define NS_KEY_NAME_USER 0x0000 /* key is assoc. with user */
#define NS_KEY_NAME_ENTITY 0x0200 /* key is assoc. with entity eg host */
#define NS_KEY_NAME_ZONE 0x0100 /* key is zone key */
#define NS_KEY_NAME_RESERVED 0x0300 /* reserved meaning */
#define NS_KEY_RESERVED8 0x0080 /* reserved - must be zero */
#define NS_KEY_RESERVED9 0x0040 /* reserved - must be zero */
#define NS_KEY_RESERVED10 0x0020 /* reserved - must be zero */
#define NS_KEY_RESERVED11 0x0010 /* reserved - must be zero */
#define NS_KEY_SIGNATORYMASK 0x000F /* key can sign RR's of same name */
#define NS_KEY_RESERVED_BITMASK ( NS_KEY_RESERVED2 | \
NS_KEY_RESERVED4 | \
NS_KEY_RESERVED5 | \
NS_KEY_RESERVED8 | \
NS_KEY_RESERVED9 | \
NS_KEY_RESERVED10 | \
NS_KEY_RESERVED11 )
#define NS_KEY_RESERVED_BITMASK2 0xFFFF /* no bits defined here */
/* The Algorithm field of the KEY and SIG RR's is an integer, {1..254} */
#define NS_ALG_MD5RSA 1 /* MD5 with RSA */
#define NS_ALG_DH 2 /* Diffie Hellman KEY */
#define NS_ALG_DSA 3 /* DSA KEY */
#define NS_ALG_DSS NS_ALG_DSA
#define NS_ALG_EXPIRE_ONLY 253 /* No alg, no security */
#define NS_ALG_PRIVATE_OID 254 /* Key begins with OID giving alg */
/* Protocol values */
/* value 0 is reserved */
#define NS_KEY_PROT_TLS 1
#define NS_KEY_PROT_EMAIL 2
#define NS_KEY_PROT_DNSSEC 3
#define NS_KEY_PROT_IPSEC 4
#define NS_KEY_PROT_ANY 255
/* Signatures */
#define NS_MD5RSA_MIN_BITS 512 /* Size of a mod or exp in bits */
#define NS_MD5RSA_MAX_BITS 4096
/* Total of binary mod and exp */
#define NS_MD5RSA_MAX_BYTES ((NS_MD5RSA_MAX_BITS+7/8)*2+3)
/* Max length of text sig block */
#define NS_MD5RSA_MAX_BASE64 (((NS_MD5RSA_MAX_BYTES+2)/3)*4)
#define NS_MD5RSA_MIN_SIZE ((NS_MD5RSA_MIN_BITS+7)/8)
#define NS_MD5RSA_MAX_SIZE ((NS_MD5RSA_MAX_BITS+7)/8)
#define NS_DSA_SIG_SIZE 41
#define NS_DSA_MIN_SIZE 213
#define NS_DSA_MAX_BYTES 405
/* Offsets into SIG record rdata to find various values */
#define NS_SIG_TYPE 0 /* Type flags */
#define NS_SIG_ALG 2 /* Algorithm */
#define NS_SIG_LABELS 3 /* How many labels in name */
#define NS_SIG_OTTL 4 /* Original TTL */
#define NS_SIG_EXPIR 8 /* Expiration time */
#define NS_SIG_SIGNED 12 /* Signature time */
#define NS_SIG_FOOT 16 /* Key footprint */
#define NS_SIG_SIGNER 18 /* Domain name of who signed it */
/* How RR types are represented as bit-flags in NXT records */
#define NS_NXT_BITS 8
#define NS_NXT_BIT_SET( n,p) (p[(n)/NS_NXT_BITS] |= (0x80>>((n)%NS_NXT_BITS)))
#define NS_NXT_BIT_CLEAR(n,p) (p[(n)/NS_NXT_BITS] &= ~(0x80>>((n)%NS_NXT_BITS)))
#define NS_NXT_BIT_ISSET(n,p) (p[(n)/NS_NXT_BITS] & (0x80>>((n)%NS_NXT_BITS)))
#define NS_NXT_MAX 127
/*
* EDNS0 extended flags and option codes, host order.
*/
#define NS_OPT_DNSSEC_OK 0x8000U
#define NS_OPT_NSID 3
/*
* Inline versions of get/put short/long. Pointer is advanced.
*/
#define NS_GET16(s, cp) do { \
const u_char *t_cp = (const u_char *)(cp); \
(s) = ((uint16_t)t_cp[0] << 8) \
| ((uint16_t)t_cp[1]) \
; \
(cp) += NS_INT16SZ; \
} while (/*CONSTCOND*/0)
#define NS_GET32(l, cp) do { \
const u_char *t_cp = (const u_char *)(cp); \
(l) = ((uint32_t)t_cp[0] << 24) \
| ((uint32_t)t_cp[1] << 16) \
| ((uint32_t)t_cp[2] << 8) \
| ((uint32_t)t_cp[3]) \
; \
(cp) += NS_INT32SZ; \
} while (/*CONSTCOND*/0)
#define NS_PUT16(s, cp) do { \
uint32_t t_s = (uint32_t)(s); \
u_char *t_cp = (u_char *)(cp); \
*t_cp++ = t_s >> 8; \
*t_cp = t_s; \
(cp) += NS_INT16SZ; \
} while (/*CONSTCOND*/0)
#define NS_PUT32(l, cp) do { \
uint32_t t_l = (uint32_t)(l); \
u_char *t_cp = (u_char *)(cp); \
*t_cp++ = t_l >> 24; \
*t_cp++ = t_l >> 16; \
*t_cp++ = t_l >> 8; \
*t_cp = t_l; \
(cp) += NS_INT32SZ; \
} while (/*CONSTCOND*/0)
#if !defined(__LP64__)
/* Annoyingly, LP32 shipped with __ names. */
#define ns_msg_getflag __ns_msg_getflag
#define ns_get16 __ns_get16
#define ns_get32 __ns_get32
#define ns_put16 __ns_put16
#define ns_put32 __ns_put32
#define ns_initparse __ns_initparse
#define ns_skiprr __ns_skiprr
#define ns_parserr __ns_parserr
#define ns_parserr2 __ns_parserr2
#define ns_sprintrr __ns_sprintrr
#define ns_sprintrrf __ns_sprintrrf
#define ns_format_ttl __ns_format_ttl
#define ns_parse_ttl __ns_parse_ttl
#define ns_datetosecs __ns_datetosecs
#define ns_name_ntol __ns_name_ntol
#define ns_name_ntop __ns_name_ntop
#define ns_name_pton __ns_name_pton
#define ns_name_pton2 __ns_name_pton2
#define ns_name_unpack __ns_name_unpack
#define ns_name_unpack2 __ns_name_unpack2
#define ns_name_pack __ns_name_pack
#define ns_name_compress __ns_name_compress
#define ns_name_uncompress __ns_name_uncompress
#define ns_name_skip __ns_name_skip
#define ns_name_rollback __ns_name_rollback
#define ns_name_length __ns_name_length
#define ns_name_eq __ns_name_eq
#define ns_name_owned __ns_name_owned
#define ns_name_map __ns_name_map
#define ns_name_labels __ns_name_labels
#define ns_sign __ns_sign
#define ns_sign2 __ns_sign2
#define ns_sign_tcp __ns_sign_tcp
#define ns_sign_tcp2 __ns_sign_tcp2
#define ns_sign_tcp_init __ns_sign_tcp_init
#define ns_find_tsig __ns_find_tsig
#define ns_verify __ns_verify
#define ns_verify_tcp __ns_verify_tcp
#define ns_verify_tcp_init __ns_verify_tcp_init
#define ns_samedomain __ns_samedomain
#define ns_subdomain __ns_subdomain
#define ns_makecanon __ns_makecanon
#define ns_samename __ns_samename
#endif
__BEGIN_DECLS
int ns_msg_getflag(ns_msg, int) __LIBC_ABI_PUBLIC__;
uint16_t ns_get16(const u_char *) __LIBC_ABI_PUBLIC__;
uint32_t ns_get32(const u_char *) __LIBC_ABI_PUBLIC__;
void ns_put16(uint16_t, u_char *) __LIBC_ABI_PUBLIC__;
void ns_put32(uint32_t, u_char *) __LIBC_ABI_PUBLIC__;
int ns_initparse(const u_char *, int, ns_msg *) __LIBC_ABI_PUBLIC__;
int ns_skiprr(const u_char *, const u_char *, ns_sect, int) __LIBC_ABI_PUBLIC__;
int ns_parserr(ns_msg *, ns_sect, int, ns_rr *) __LIBC_ABI_PUBLIC__;
int ns_parserr2(ns_msg *, ns_sect, int, ns_rr2 *) __LIBC_HIDDEN__;
int ns_sprintrr(const ns_msg *, const ns_rr *,
const char *, const char *, char *, size_t) __LIBC_ABI_PUBLIC__;
int ns_sprintrrf(const u_char *, size_t, const char *,
ns_class, ns_type, u_long, const u_char *,
size_t, const char *, const char *,
char *, size_t) __LIBC_ABI_PUBLIC__;
int ns_format_ttl(u_long, char *, size_t) __LIBC_ABI_PUBLIC__;
int ns_parse_ttl(const char *, u_long *) __LIBC_ABI_PUBLIC__;
uint32_t ns_datetosecs(const char *cp, int *errp) __LIBC_ABI_PUBLIC__;
int ns_name_ntol(const u_char *, u_char *, size_t) __LIBC_ABI_PUBLIC__;
int ns_name_ntop(const u_char *, char *, size_t) __LIBC_ABI_PUBLIC__;
int ns_name_pton(const char *, u_char *, size_t) __LIBC_ABI_PUBLIC__;
int ns_name_pton2(const char *, u_char *, size_t, size_t *) __LIBC_HIDDEN__;
int ns_name_unpack(const u_char *, const u_char *,
const u_char *, u_char *, size_t) __LIBC_ABI_PUBLIC__;
int ns_name_unpack2(const u_char *, const u_char *,
const u_char *, u_char *, size_t,
size_t *) __LIBC_HIDDEN__;
int ns_name_pack(const u_char *, u_char *, int,
const u_char **, const u_char **) __LIBC_ABI_PUBLIC__;
int ns_name_uncompress(const u_char *, const u_char *,
const u_char *, char *, size_t) __LIBC_ABI_PUBLIC__;
int ns_name_compress(const char *, u_char *, size_t,
const u_char **, const u_char **) __LIBC_ABI_PUBLIC__;
int ns_name_skip(const u_char **, const u_char *) __LIBC_ABI_PUBLIC__;
void ns_name_rollback(const u_char *, const u_char **,
const u_char **) __LIBC_ABI_PUBLIC__;
int ns_sign(u_char *, int *, int, int, void *,
const u_char *, int, u_char *, int *, time_t) __LIBC_ABI_PUBLIC__;
int ns_sign2(u_char *, int *, int, int, void *,
const u_char *, int, u_char *, int *, time_t,
u_char **, u_char **) __LIBC_ABI_PUBLIC__;
ssize_t ns_name_length(ns_nname_ct, size_t) __LIBC_HIDDEN__;
int ns_name_eq(ns_nname_ct, size_t, ns_nname_ct, size_t) __LIBC_HIDDEN__;
int ns_name_owned(ns_namemap_ct, int, ns_namemap_ct, int) __LIBC_HIDDEN__;
int ns_name_map(ns_nname_ct, size_t, ns_namemap_t, int) __LIBC_HIDDEN__;
int ns_name_labels(ns_nname_ct, size_t) __LIBC_HIDDEN__;
int ns_sign_tcp(u_char *, int *, int, int,
ns_tcp_tsig_state *, int) __LIBC_ABI_PUBLIC__;
int ns_sign_tcp2(u_char *, int *, int, int,
ns_tcp_tsig_state *, int,
u_char **, u_char **) __LIBC_ABI_PUBLIC__;
int ns_sign_tcp_init(void *, const u_char *, int,
ns_tcp_tsig_state *) __LIBC_ABI_PUBLIC__;
u_char *ns_find_tsig(u_char *, u_char *) __LIBC_ABI_PUBLIC__;
int ns_verify(u_char *, int *, void *,
const u_char *, int, u_char *, int *,
time_t *, int) __LIBC_ABI_PUBLIC__;
int ns_verify_tcp(u_char *, int *, ns_tcp_tsig_state *, int);
int ns_verify_tcp_init(void *, const u_char *, int,
ns_tcp_tsig_state *) __LIBC_ABI_PUBLIC__;
int ns_samedomain(const char *, const char *) __LIBC_ABI_PUBLIC__;
int ns_subdomain(const char *, const char *) __LIBC_ABI_PUBLIC__;
int ns_makecanon(const char *, char *, size_t) __LIBC_ABI_PUBLIC__;
int ns_samename(const char *, const char *) __LIBC_ABI_PUBLIC__;
__END_DECLS
#ifdef BIND_4_COMPAT
#include <arpa/nameser_compat.h>
#endif
#endif /* !_ARPA_NAMESER_H_ */
================================================
FILE: atlas-aapt/bionic/libc/include/arpa/nameser_compat.h
================================================
/* $NetBSD: nameser_compat.h,v 1.1.1.2 2004/11/07 01:28:27 christos Exp $ */
/* Copyright (c) 1983, 1989
* The Regents of the University of California. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
/*
* from nameser.h 8.1 (Berkeley) 6/2/93
* Id: nameser_compat.h,v 1.8 2006/05/19 02:33:40 marka Exp
*/
#ifndef _ARPA_NAMESER_COMPAT_
#define _ARPA_NAMESER_COMPAT_
#define __BIND 19950621 /* (DEAD) interface version stamp. */
#include <endian.h>
/*
* Structure for query header. The order of the fields is machine- and
* compiler-dependent, depending on the byte/bit order and the layout
* of bit fields. We use bit fields only in int variables, as this
* is all ANSI requires. This requires a somewhat confusing rearrangement.
*/
typedef struct {
unsigned id :16; /* query identification number */
#if BYTE_ORDER == BIG_ENDIAN
/* fields in third byte */
unsigned qr: 1; /* response flag */
unsigned opcode: 4; /* purpose of message */
unsigned aa: 1; /* authoritive answer */
unsigned tc: 1; /* truncated message */
unsigned rd: 1; /* recursion desired */
/* fields in fourth byte */
unsigned ra: 1; /* recursion available */
unsigned unused :1; /* unused bits (MBZ as of 4.9.3a3) */
unsigned ad: 1; /* authentic data from named */
unsigned cd: 1; /* checking disabled by resolver */
unsigned rcode :4; /* response code */
#endif
#if BYTE_ORDER == LITTLE_ENDIAN || BYTE_ORDER == PDP_ENDIAN
/* fields in third byte */
unsigned rd :1; /* recursion desired */
unsigned tc :1; /* truncated message */
unsigned aa :1; /* authoritive answer */
unsigned opcode :4; /* purpose of message */
unsigned qr :1; /* response flag */
/* fields in fourth byte */
unsigned rcode :4; /* response code */
unsigned cd: 1; /* checking disabled by resolver */
unsigned ad: 1; /* authentic data from named */
unsigned unused :1; /* unused bits (MBZ as of 4.9.3a3) */
unsigned ra :1; /* recursion available */
#endif
/* remaining bytes */
unsigned qdcount :16; /* number of question entries */
unsigned ancount :16; /* number of answer entries */
unsigned nscount :16; /* number of authority entries */
unsigned arcount :16; /* number of resource entries */
} HEADER;
#define PACKETSZ NS_PACKETSZ
#define MAXDNAME NS_MAXDNAME
#define MAXCDNAME NS_MAXCDNAME
#define MAXLABEL NS_MAXLABEL
#define HFIXEDSZ NS_HFIXEDSZ
#define QFIXEDSZ NS_QFIXEDSZ
#define RRFIXEDSZ NS_RRFIXEDSZ
#define INT32SZ NS_INT32SZ
#define INT16SZ NS_INT16SZ
#define INT8SZ NS_INT8SZ
#define INADDRSZ NS_INADDRSZ
#define IN6ADDRSZ NS_IN6ADDRSZ
#define INDIR_MASK NS_CMPRSFLGS
#define NAMESERVER_PORT NS_DEFAULTPORT
#define S_ZONE ns_s_zn
#define S_PREREQ ns_s_pr
#define S_UPDATE ns_s_ud
#define S_ADDT ns_s_ar
#define QUERY ns_o_query
#define IQUERY ns_o_iquery
#define STATUS ns_o_status
#define NS_NOTIFY_OP ns_o_notify
#define NS_UPDATE_OP ns_o_update
#define NOERROR ns_r_noerror
#define FORMERR ns_r_formerr
#define SERVFAIL ns_r_servfail
#define NXDOMAIN ns_r_nxdomain
#define NOTIMP ns_r_notimpl
#define REFUSED ns_r_refused
#define YXDOMAIN ns_r_yxdomain
#define YXRRSET ns_r_yxrrset
#define NXRRSET ns_r_nxrrset
#define NOTAUTH ns_r_notauth
#define NOTZONE ns_r_notzone
/*#define BADSIG ns_r_badsig*/
/*#define BADKEY ns_r_badkey*/
/*#define BADTIME ns_r_badtime*/
#define DELETE ns_uop_delete
#define ADD ns_uop_add
#define T_A ns_t_a
#define T_NS ns_t_ns
#define T_MD ns_t_md
#define T_MF ns_t_mf
#define T_CNAME ns_t_cname
#define T_SOA ns_t_soa
#define T_MB ns_t_mb
#define T_MG ns_t_mg
#define T_MR ns_t_mr
#define T_NULL ns_t_null
#define T_WKS ns_t_wks
#define T_PTR ns_t_ptr
#define T_HINFO ns_t_hinfo
#define T_MINFO ns_t_minfo
#define T_MX ns_t_mx
#define T_TXT ns_t_txt
#define T_RP ns_t_rp
#define T_AFSDB ns_t_afsdb
#define T_X25 ns_t_x25
#define T_ISDN ns_t_isdn
#define T_RT ns_t_rt
#define T_NSAP ns_t_nsap
#define T_NSAP_PTR ns_t_nsap_ptr
#define T_SIG ns_t_sig
#define T_KEY ns_t_key
#define T_PX ns_t_px
#define T_GPOS ns_t_gpos
#define T_AAAA ns_t_aaaa
#define T_LOC ns_t_loc
#define T_NXT ns_t_nxt
#define T_EID ns_t_eid
#define T_NIMLOC ns_t_nimloc
#define T_SRV ns_t_srv
#define T_ATMA ns_t_atma
#define T_NAPTR ns_t_naptr
#define T_A6 ns_t_a6
#define T_TSIG ns_t_tsig
#define T_IXFR ns_t_ixfr
#define T_AXFR ns_t_axfr
#define T_MAILB ns_t_mailb
#define T_MAILA ns_t_maila
#define T_ANY ns_t_any
#define C_IN ns_c_in
#define C_CHAOS ns_c_chaos
#define C_HS ns_c_hs
/* BIND_UPDATE */
#define C_NONE ns_c_none
#define C_ANY ns_c_any
#define GETSHORT NS_GET16
#define GETLONG NS_GET32
#define PUTSHORT NS_PUT16
#define PUTLONG NS_PUT32
#endif /* _ARPA_NAMESER_COMPAT_ */
================================================
FILE: atlas-aapt/bionic/libc/include/arpa/telnet.h
================================================
/*
* Copyright (c) 1983, 1993
* The Regents of the University of California. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 4. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* @(#)telnet.h 8.2 (Berkeley) 12/15/93
*/
#ifndef _ARPA_TELNET_H
#define _ARPA_TELNET_H 1
/*
* Definitions for the TELNET protocol.
*/
#define IAC 255 /* interpret as command: */
#define DONT 254 /* you are not to use option */
#define DO 253 /* please, you use option */
#define WONT 252 /* I won't use option */
#define WILL 251 /* I will use option */
#define SB 250 /* interpret as subnegotiation */
#define GA 249 /* you may reverse the line */
#define EL 248 /* erase the current line */
#define EC 247 /* erase the current character */
#define AYT 246 /* are you there */
#define AO 245 /* abort output--but let prog finish */
#define IP 244 /* interrupt process--permanently */
#define BREAK 243 /* break */
#define DM 242 /* data mark--for connect. cleaning */
#define NOP 241 /* nop */
#define SE 240 /* end sub negotiation */
#define EOR 239 /* end of record (transparent mode) */
#define ABORT 238 /* Abort process */
#define SUSP 237 /* Suspend process */
#define xEOF 236 /* End of file: EOF is already used... */
#define SYNCH 242 /* for telfunc calls */
#ifdef TELCMDS
char *telcmds[] = {
"EOF", "SUSP", "ABORT", "EOR",
"SE", "NOP", "DMARK", "BRK", "IP", "AO", "AYT", "EC",
"EL", "GA", "SB", "WILL", "WONT", "DO", "DONT", "IAC", 0,
};
#else
extern char *telcmds[];
#endif
#define TELCMD_FIRST xEOF
#define TELCMD_LAST IAC
#define TELCMD_OK(x) ((unsigned int)(x) <= TELCMD_LAST && \
(unsigned int)(x) >= TELCMD_FIRST)
#define TELCMD(x) telcmds[(x)-TELCMD_FIRST]
/* telnet options */
#define TELOPT_BINARY 0 /* 8-bit data path */
#define TELOPT_ECHO 1 /* echo */
#define TELOPT_RCP 2 /* prepare to reconnect */
#define TELOPT_SGA 3 /* suppress go ahead */
#define TELOPT_NAMS 4 /* approximate message size */
#define TELOPT_STATUS 5 /* give status */
#define TELOPT_TM 6 /* timing mark */
#define TELOPT_RCTE 7 /* remote controlled transmission and echo */
#define TELOPT_NAOL 8 /* negotiate about output line width */
#define TELOPT_NAOP 9 /* negotiate about output page size */
#define TELOPT_NAOCRD 10 /* negotiate about CR disposition */
#define TELOPT_NAOHTS 11 /* negotiate about horizontal tabstops */
#define TELOPT_NAOHTD 12 /* negotiate about horizontal tab disposition */
#define TELOPT_NAOFFD 13 /* negotiate about formfeed disposition */
#define TELOPT_NAOVTS 14 /* negotiate about vertical tab stops */
#define TELOPT_NAOVTD 15 /* negotiate about vertical tab disposition */
#define TELOPT_NAOLFD 16 /* negotiate about output LF disposition */
#define TELOPT_XASCII 17 /* extended ascii character set */
#define TELOPT_LOGOUT 18 /* force logout */
#define TELOPT_BM 19 /* byte macro */
#define TELOPT_DET 20 /* data entry terminal */
#define TELOPT_SUPDUP 21 /* supdup protocol */
#define TELOPT_SUPDUPOUTPUT 22 /* supdup output */
#define TELOPT_SNDLOC 23 /* send location */
#define TELOPT_TTYPE 24 /* terminal type */
#define TELOPT_EOR 25 /* end or record */
#define TELOPT_TUID 26 /* TACACS user identification */
#define TELOPT_OUTMRK 27 /* output marking */
#define TELOPT_TTYLOC 28 /* terminal location number */
#define TELOPT_3270REGIME 29 /* 3270 regime */
#define TELOPT_X3PAD 30 /* X.3 PAD */
#define TELOPT_NAWS 31 /* window size */
#define TELOPT_TSPEED 32 /* terminal speed */
#define TELOPT_LFLOW 33 /* remote flow control */
#define TELOPT_LINEMODE 34 /* Linemode option */
#define TELOPT_XDISPLOC 35 /* X Display Location */
#define TELOPT_OLD_ENVIRON 36 /* Old - Environment variables */
#define TELOPT_AUTHENTICATION 37/* Authenticate */
#define TELOPT_ENCRYPT 38 /* Encryption option */
#define TELOPT_NEW_ENVIRON 39 /* New - Environment variables */
#define TELOPT_EXOPL 255 /* extended-options-list */
#define NTELOPTS (1+TELOPT_NEW_ENVIRON)
#ifdef TELOPTS
const char *telopts[NTELOPTS+1] = {
"BINARY", "ECHO", "RCP", "SUPPRESS GO AHEAD", "NAME",
"STATUS", "TIMING MARK", "RCTE", "NAOL", "NAOP",
"NAOCRD", "NAOHTS", "NAOHTD", "NAOFFD", "NAOVTS",
"NAOVTD", "NAOLFD", "EXTEND ASCII", "LOGOUT", "BYTE MACRO",
"DATA ENTRY TERMINAL", "SUPDUP", "SUPDUP OUTPUT",
"SEND LOCATION", "TERMINAL TYPE", "END OF RECORD",
"TACACS UID", "OUTPUT MARKING", "TTYLOC",
"3270 REGIME", "X.3 PAD", "NAWS", "TSPEED", "LFLOW",
"LINEMODE", "XDISPLOC", "OLD-ENVIRON", "AUTHENTICATION",
"ENCRYPT", "NEW-ENVIRON",
0,
};
#define TELOPT_FIRST TELOPT_BINARY
#define TELOPT_LAST TELOPT_NEW_ENVIRON
#define TELOPT_OK(x) ((unsigned int)(x) <= TELOPT_LAST)
#define TELOPT(x) telopts[(x)-TELOPT_FIRST]
#endif
/* sub-option qualifiers */
#define TELQUAL_IS 0 /* option is... */
#define TELQUAL_SEND 1 /* send option */
#define TELQUAL_INFO 2 /* ENVIRON: informational version of IS */
#define TELQUAL_REPLY 2 /* AUTHENTICATION: client version of IS */
#define TELQUAL_NAME 3 /* AUTHENTICATION: client version of IS */
#define LFLOW_OFF 0 /* Disable remote flow control */
#define LFLOW_ON 1 /* Enable remote flow control */
#define LFLOW_RESTART_ANY 2 /* Restart output on any char */
#define LFLOW_RESTART_XON 3 /* Restart output only on XON */
/*
* LINEMODE suboptions
*/
#define LM_MODE 1
#define LM_FORWARDMASK 2
#define LM_SLC 3
#define MODE_EDIT 0x01
#define MODE_TRAPSIG 0x02
#define MODE_ACK 0x04
#define MODE_SOFT_TAB 0x08
#define MODE_LIT_ECHO 0x10
#define MODE_MASK 0x1f
/* Not part of protocol, but needed to simplify things... */
#define MODE_FLOW 0x0100
#define MODE_ECHO 0x0200
#define MODE_INBIN 0x0400
#define MODE_OUTBIN 0x0800
#define MODE_FORCE 0x1000
#define SLC_SYNCH 1
#define SLC_BRK 2
#define SLC_IP 3
#define SLC_AO 4
#define SLC_AYT 5
#define SLC_EOR 6
#define SLC_ABORT 7
#define SLC_EOF 8
#define SLC_SUSP 9
#define SLC_EC 10
#define SLC_EL 11
#define SLC_EW 12
#define SLC_RP 13
#define SLC_LNEXT 14
#define SLC_XON 15
#define SLC_XOFF 16
#define SLC_FORW1 17
#define SLC_FORW2 18
#define NSLC 18
/*
* For backwards compatibility, we define SLC_NAMES to be the
* list of names if SLC_NAMES is not defined.
*/
#define SLC_NAMELIST "0", "SYNCH", "BRK", "IP", "AO", "AYT", "EOR", \
"ABORT", "EOF", "SUSP", "EC", "EL", "EW", "RP", \
"LNEXT", "XON", "XOFF", "FORW1", "FORW2", 0,
#ifdef SLC_NAMES
const char *slc_names[] = {
SLC_NAMELIST
};
#else
extern char *slc_names[];
#define SLC_NAMES SLC_NAMELIST
#endif
#define SLC_NAME_OK(x) ((unsigned int)(x) <= NSLC)
#define SLC_NAME(x) slc_names[x]
#define SLC_NOSUPPORT 0
#define SLC_CANTCHANGE 1
#define SLC_VARIABLE 2
#define SLC_DEFAULT 3
#define SLC_LEVELBITS 0x03
#define SLC_FUNC 0
#define SLC_FLAGS 1
#define SLC_VALUE 2
#define SLC_ACK 0x80
#define SLC_FLUSHIN 0x40
#define SLC_FLUSHOUT 0x20
#define OLD_ENV_VAR 1
#define OLD_ENV_VALUE 0
#define NEW_ENV_VAR 0
#define NEW_ENV_VALUE 1
#define ENV_ESC 2
#define ENV_USERVAR 3
/*
* AUTHENTICATION suboptions
*/
/*
* Who is authenticating who ...
*/
#define AUTH_WHO_CLIENT 0 /* Client authenticating server */
#define AUTH_WHO_SERVER 1 /* Server authenticating client */
#define AUTH_WHO_MASK 1
/*
* amount of authentication done
*/
#define AUTH_HOW_ONE_WAY 0
#define AUTH_HOW_MUTUAL 2
#define AUTH_HOW_MASK 2
#define AUTHTYPE_NULL 0
#define AUTHTYPE_KERBEROS_V4 1
#define AUTHTYPE_KERBEROS_V5 2
#define AUTHTYPE_SPX 3
#define AUTHTYPE_MINK 4
#define AUTHTYPE_CNT 5
#define AUTHTYPE_TEST 99
#ifdef AUTH_NAMES
const char *authtype_names[] = {
"NULL", "KERBEROS_V4", "KERBEROS_V5", "SPX", "MINK", 0,
};
#else
extern char *authtype_names[];
#endif
#define AUTHTYPE_NAME_OK(x) ((unsigned int)(x) < AUTHTYPE_CNT)
#define AUTHTYPE_NAME(x) authtype_names[x]
/*
* ENCRYPTion suboptions
*/
#define ENCRYPT_IS 0 /* I pick encryption type ... */
#define ENCRYPT_SUPPORT 1 /* I support encryption types ... */
#define ENCRYPT_REPLY 2 /* Initial setup response */
#define ENCRYPT_START 3 /* Am starting to send encrypted */
#define ENCRYPT_END 4 /* Am ending encrypted */
#define ENCRYPT_REQSTART 5 /* Request you start encrypting */
#define ENCRYPT_REQEND 6 /* Request you send encrypting */
#define ENCRYPT_ENC_KEYID 7
#define ENCRYPT_DEC_KEYID 8
#define ENCRYPT_CNT 9
#define ENCTYPE_ANY 0
#define ENCTYPE_DES_CFB64 1
#define ENCTYPE_DES_OFB64 2
#define ENCTYPE_CNT 3
#ifdef ENCRYPT_NAMES
const char *encrypt_names[] = {
"IS", "SUPPORT", "REPLY", "START", "END",
"REQUEST-START", "REQUEST-END", "ENC-KEYID", "DEC-KEYID",
0,
};
const char *enctype_names[] = {
"ANY", "DES_CFB64", "DES_OFB64", 0,
};
#else
extern const char *encrypt_names[];
extern const char *enctype_names[];
#endif
#define ENCRYPT_NAME_OK(x) ((unsigned int)(x) < ENCRYPT_CNT)
#define ENCRYPT_NAME(x) encrypt_names[x]
#define ENCTYPE_NAME_OK(x) ((unsigned int)(x) < ENCTYPE_CNT)
#define ENCTYPE_NAME(x) enctype_names[x]
#endif /* arpa/telnet.h */
================================================
FILE: atlas-aapt/bionic/libc/include/assert.h
================================================
/* $OpenBSD: assert.h,v 1.12 2006/01/31 10:53:51 hshoexer Exp $ */
/* $NetBSD: assert.h,v 1.6 1994/10/26 00:55:44 cgd Exp $ */
/*-
* Copyright (c) 1992, 1993
* The Regents of the University of California. All rights reserved.
* (c) UNIX System Laboratories, Inc.
* All or some portions of this file are derived from material licensed
* to the University of California by American Telephone and Telegraph
* Co. or Unix System Laboratories, Inc. and are reproduced herein with
* the permission of UNIX System Laboratories, Inc.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* @(#)assert.h 8.2 (Berkeley) 1/21/94
*/
/*
* Unlike other ANSI header files, <assert.h> may usefully be included
* multiple times, with and without NDEBUG defined.
*/
#include <sys/cdefs.h>
#undef assert
#undef _assert
#ifdef NDEBUG
# define assert(e) ((void)0)
# define _assert(e) ((void)0)
#else
# define _assert(e) assert(e)
# if __ISO_C_VISIBLE >= 1999
# define assert(e) ((e) ? (void)0 : __assert2(__FILE__, __LINE__, __func__, #e))
# else
# define assert(e) ((e) ? (void)0 : __assert(__FILE__, __LINE__, #e))
# endif
#endif
__BEGIN_DECLS
__dead void __assert(const char *, int, const char *) __noreturn;
__dead void __assert2(const char *, int, const char *, const char *) __noreturn;
__END_DECLS
================================================
FILE: atlas-aapt/bionic/libc/include/bits/lockf.h
================================================
/*
* Copyright (C) 2016 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#ifndef _BITS_LOCKF_H_
#define _BITS_LOCKF_H_
#include <sys/cdefs.h>
#define F_ULOCK 0
#define F_LOCK 1
#define F_TLOCK 2
#define F_TEST 3
__BEGIN_DECLS
#if defined(__USE_FILE_OFFSET64)
int lockf(int, int, off_t) __RENAME(lockf64);
#else
int lockf(int, int, off_t);
#endif
int lockf64(int, int, off64_t);
__END_DECLS
#endif
================================================
FILE: atlas-aapt/bionic/libc/include/bits/posix_limits.h
================================================
/*
* Copyright (C) 2014 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#ifndef _BITS_POSIX_LIMITS_H_
#define _BITS_POSIX_LIMITS_H_
/* Any constant values here other than -1 or 200809L are explicitly specified by POSIX.1-2008. */
/* Keep it sorted. */
#define _POSIX_ADVISORY_INFO 200809L
#define _POSIX_AIO_LISTIO_MAX 2
#define _POSIX_AIO_MAX 1
#define _POSIX_ARG_MAX 4096
#define _POSIX_ASYNCHRONOUS_IO -1 /* not implemented */
#define _POSIX_BARRIERS -1 /* not implemented */
#define _POSIX_CHILD_MAX 25
#define _POSIX_CHOWN_RESTRICTED 1 /* yes, chown requires appropriate privileges */
#define _POSIX_CLOCK_SELECTION 200809L
#define _POSIX_CPUTIME 0 /* Use sysconf to detect support at runtime. */
#define _POSIX_DELAYTIMER_MAX 32
#define _POSIX_FSYNC 200809L /* fdatasync() supported */
#define _POSIX_HOST_NAME_MAX 255
#define _POSIX_IPV6 200809L
#define _POSIX_JOB_CONTROL 1 /* job control is a Linux feature */
#define _POSIX_LINK_MAX 8
#define _POSIX_LOGIN_NAME_MAX 9 /* includes trailing NUL */
#define _POSIX_MAPPED_FILES 200809L /* mmap-ed files supported */
#define _POSIX_MAX_CANON 255
#define _POSIX_MAX_INPUT 255
#define _POSIX_MEMLOCK 200809L
#define _POSIX_MEMLOCK_RANGE 200809L
#define _POSIX_MEMORY_PROTECTION 200809L
#define _POSIX_MESSAGE_PASSING -1 /* not implemented */
#define _POSIX_MONOTONIC_CLOCK 0 /* the monotonic clock may be available; ask sysconf */
#define _POSIX_MQ_OPEN_MAX 8
#define _POSIX_MQ_PRIO_MAX 32
#define _POSIX_NAME_MAX 14
#define _POSIX_NGROUPS_MAX 8
#define _POSIX_NO_TRUNC 1 /* very long pathnames generate an error */
#define _POSIX_OPEN_MAX 20
#define _POSIX_PATH_MAX 256
#define _POSIX_PIPE_BUF 512
#define _POSIX_PRIORITY_SCHEDULING 200809L /* priority scheduling is a Linux feature */
#define _POSIX_PRIORITIZED_IO -1 /* not implemented */
#define _POSIX_RAW_SOCKETS 200809L
#define _POSIX_READER_WRITER_LOCKS 200809L
#define _POSIX_REALTIME_SIGNALS 200809L
#define _POSIX_REGEXP 1
#define _POSIX_RE_DUP_MAX 255
#define _POSIX_SAVED_IDS 1 /* saved user ids is a Linux feature */
#define _POSIX_SEMAPHORES 200809L
#define _POSIX_SEM_NSEMS_MAX 256
#define _POSIX_SEM_VALUE_MAX 32767
#define _POSIX_SHARED_MEMORY_OBJECTS -1 /* shm_open()/shm_unlink() not implemented */
#define _POSIX_SHELL 1 /* system() supported */
#define _POSIX_SIGQUEUE_MAX 32
#define _POSIX_SPAWN -1 /* not implemented */
#define _POSIX_SPIN_LOCKS -1 /* not implemented */
#define _POSIX_SPORADIC_SERVER -1 /* not implemented */
#define _POSIX_SSIZE_MAX 32767
#define _POSIX_STREAM_MAX 8
#define _POSIX_SYMLINK_MAX 255
#define _POSIX_SYMLOOP_MAX 8
#define _POSIX_SYNCHRONIZED_IO 200809L /* synchronized i/o supported */
#define _POSIX_THREADS 200809L /* we support threads */
#define _POSIX_THREAD_ATTR_STACKADDR 200809L
#define _POSIX_THREAD_ATTR_STACKSIZE 200809L
#define _POSIX_THREAD_CPUTIME 0 /* Use sysconf to detect support at runtime. */
#define _POSIX_THREAD_DESTRUCTOR_ITERATIONS 4
#define _POSIX_THREAD_KEYS_MAX 128
#define _POSIX_THREAD_PRIORITY_SCHEDULING 200809L
#define _POSIX_THREAD_PRIO_INHERIT 200809L /* linux feature */
#define _POSIX_THREAD_PRIO_PROTECT 200809L /* linux feature */
#define _POSIX_THREAD_PROCESS_SHARED -1 /* not implemented */
#define _POSIX_THREAD_ROBUST_PRIO_INHERIT -1 /* not implemented */
#define _POSIX_THREAD_ROBUST_PRIO_PROTECT -1 /* not implemented */
#define _POSIX_THREAD_SAFE_FUNCTIONS 200809L
#define _POSIX_THREAD_SPORADIC_SERVER -1 /* not implemented */
#define _POSIX_THREAD_THREADS_MAX 64
#define _POSIX_TIMEOUTS 200809L
#define _POSIX_TIMERS 200809L /* Posix timers are supported */
#define _POSIX_TIMER_MAX 32
#define _POSIX_TRACE -1 /* not implemented */
#define _POSIX_TRACE_EVENT_FILTER -1 /* not implemented */
#define _POSIX_TRACE_INHERIT -1 /* not implemented */
#define _POSIX_TRACE_LOG -1 /* not implemented */
#define _POSIX_TRACE_NAME_MAX 8
#define _POSIX_TRACE_SYS_MAX 8
#define _POSIX_TRACE_USER_EVENT_MAX 32
#define _POSIX_TTY_NAME_MAX 9 /* includes trailing NUL */
#define _POSIX_TYPED_MEMORY_OBJECTS -1 /* not implemented */
#define _POSIX_TZNAME_MAX 6
#define _POSIX_VDISABLE '\0'
#if defined(__LP64__)
#define _POSIX_V7_ILP32_OFF32 -1
#define _POSIX_V7_ILP32_OFFBIG -1
#define _POSIX_V7_LP64_OFF64 1
#define _POSIX_V7_LPBIG_OFFBIG 1
#else
#define _POSIX_V7_ILP32_OFF32 1
#define _POSIX_V7_ILP32_OFFBIG -1
#define _POSIX_V7_LP64_OFF64 -1
#define _POSIX_V7_LPBIG_OFFBIG -1
#endif
#define _POSIX2_BC_BASE_MAX 99
#define _POSIX2_BC_DIM_MAX 2048
#define _POSIX2_BC_SCALE_MAX 99
#define _POSIX2_BC_STRING_MAX 1000
#define _POSIX2_CHARCLASS_NAME_MAX 14
#define _POSIX2_CHAR_TERM -1 /* not implemented */
#define _POSIX2_COLL_WEIGHTS_MAX 2
#define _POSIX2_C_BIND _POSIX_VERSION
#define _POSIX2_C_DEV -1 /* c dev utilities not implemented */
#define _POSIX2_EXPR_NEST_MAX 32
#define _POSIX2_LINE_MAX 2048
#define _POSIX2_LOCALEDEF -1 /* localedef utilitiy not implemented */
#define _POSIX2_RE_DUP_MAX _POSIX_RE_DUP_MAX
#define _POSIX2_SW_DEV -1 /* software dev utilities not implemented */
#define _POSIX2_UPE -1 /* user portability utilities not implemented */
#define _XOPEN_ENH_I18N -1 /* we don't support internationalization in the C library */
#define _XOPEN_CRYPT -1 /* don't support X/Open Encryption */
#define _XOPEN_IOV_MAX 16
#define _XOPEN_LEGACY -1 /* not support all */
#define _XOPEN_REALTIME -1 /* we don't support all these functions */
#define _XOPEN_REALTIME_THREADS -1 /* same here */
#define _XOPEN_SHM -1
#define _XOPEN_UNIX 1
#endif
================================================
FILE: atlas-aapt/bionic/libc/include/bits/pthread_types.h
================================================
/*
* Copyright (C) 2008 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#ifndef _BITS_PTHREAD_TYPES_H_
#define _BITS_PTHREAD_TYPES_H_
#include <sys/types.h>
typedef long pthread_t;
typedef struct {
uint32_t flags;
void* stack_base;
size_t stack_size;
size_t guard_size;
int32_t sched_policy;
int32_t sched_priority;
#ifdef __LP64__
char __reserved[16];
#endif
} pthread_attr_t;
#endif
================================================
FILE: atlas-aapt/bionic/libc/include/bits/timespec.h
================================================
/*
* Copyright (C) 2014 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#ifndef _BITS_TIMESPEC_H_
#define _BITS_TIMESPEC_H_
#include <sys/types.h>
/*
* This file is used to include timespec definition without introducing the whole
* <linux/time.h>, <sys/time.h> or <time.h>.
*/
#ifndef _STRUCT_TIMESPEC
#define _STRUCT_TIMESPEC
struct timespec {
time_t tv_sec;
long tv_nsec;
};
#endif
#endif
================================================
FILE: atlas-aapt/bionic/libc/include/bits/wchar_limits.h
================================================
/*
* Copyright (C) 2014 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#ifndef _BITS_WCHAR_LIMITS_H_
#define _BITS_WCHAR_LIMITS_H_
/* Both GCC and clang define __WCHAR_MAX__. */
#define WCHAR_MAX __WCHAR_MAX__
/* As of 3.4, clang still doesn't define __WCHAR_MIN__. */
#if defined(__WCHAR_UNSIGNED__)
# define WCHAR_MIN L'\0'
#else
# define WCHAR_MIN (-(WCHAR_MAX) - 1)
#endif
#endif
================================================
FILE: atlas-aapt/bionic/libc/include/byteswap.h
================================================
/*
* Copyright (C) 2008 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#ifndef _BYTESWAP_H_
#define _BYTESWAP_H_
#include <sys/endian.h>
#define bswap_16(x) __swap16(x)
#define bswap_32(x) __swap32(x)
#define bswap_64(x) __swap64(x)
#endif /* _BYTESWAP_H_ */
================================================
FILE: atlas-aapt/bionic/libc/include/ctype.h
================================================
/* $OpenBSD: ctype.h,v 1.19 2005/12/13 00:35:22 millert Exp $ */
/* $NetBSD: ctype.h,v 1.14 1994/10/26 00:55:47 cgd Exp $ */
/*
* Copyright (c) 1989 The Regents of the University of California.
* All rights reserved.
* (c) UNIX System Laboratories, Inc.
* All or some portions of this file are derived from material licensed
* to the University of California by American Telephone and Telegraph
* Co. or Unix System Laboratories, Inc. and are reproduced herein with
* the permission of UNIX System Laboratories, Inc.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* @(#)ctype.h 5.3 (Berkeley) 4/3/91
*/
#ifndef _CTYPE_H_
#define _CTYPE_H_
#include <sys/cdefs.h>
#include <xlocale.h>
#define _CTYPE_U 0x01
#define _CTYPE_L 0x02
#define _CTYPE_D 0x04
#define _CTYPE_S 0x08
#define _CTYPE_P 0x10
#define _CTYPE_C 0x20
#define _CTYPE_X 0x40
#define _CTYPE_B 0x80
#define _CTYPE_R (_CTYPE_P|_CTYPE_U|_CTYPE_L|_CTYPE_D|_CTYPE_B)
#define _CTYPE_A (_CTYPE_L|_CTYPE_U)
__BEGIN_DECLS
extern const char *_ctype_;
#if defined(__GNUC__) || defined(_ANSI_LIBRARY) || defined(lint)
int isalnum(int);
int isalpha(int);
int iscntrl(int);
int isdigit(int);
int isgraph(int);
int islower(int);
int isprint(int);
int ispunct(int);
int isspace(int);
int isupper(int);
int isxdigit(int);
int tolower(int);
int toupper(int);
#if __ANDROID_API__ >= 21
int isalnum_l(int, locale_t);
int isalpha_l(int, locale_t);
int isblank_l(int, locale_t);
int iscntrl_l(int, locale_t);
int isdigit_l(int, locale_t);
int isgraph_l(int, locale_t);
int islower_l(int, locale_t);
int isprint_l(int, locale_t);
int ispunct_l(int, locale_t);
int isspace_l(int, locale_t);
int isupper_l(int, locale_t);
int isxdigit_l(int, locale_t);
int tolower_l(int, locale_t);
int toupper_l(int, locale_t);
#endif /* __ANDROID_API__ >= 21 */
#if __BSD_VISIBLE || __ISO_C_VISIBLE >= 1999 || __POSIX_VISIBLE > 200112 \
|| __XPG_VISIBLE > 600
int isblank(int);
#endif
#if __BSD_VISIBLE || __XPG_VISIBLE
int isascii(int);
int toascii(int);
int _tolower(int);
int _toupper(int);
#endif /* __BSD_VISIBLE || __XPG_VISIBLE */
#endif /* __GNUC__ || _ANSI_LIBRARY || lint */
__END_DECLS
#endif /* !_CTYPE_H_ */
================================================
FILE: atlas-aapt/bionic/libc/include/dirent.h
================================================
/*
* Copyright (C) 2008 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#ifndef _DIRENT_H_
#define _DIRENT_H_
#include <stdint.h>
#include <sys/cdefs.h>
__BEGIN_DECLS
#ifndef DT_UNKNOWN
#define DT_UNKNOWN 0
#define DT_FIFO 1
#define DT_CHR 2
#define DT_DIR 4
#define DT_BLK 6
#define DT_REG 8
#define DT_LNK 10
#define DT_SOCK 12
#define DT_WHT 14
#endif
#define __DIRENT64_BODY \
uint64_t d_ino; \
int64_t d_off; \
unsigned short d_reclen; \
unsigned char d_type; \
char d_name[256]; \
struct dirent { __DIRENT64_BODY };
struct dirent64 { __DIRENT64_BODY };
#undef __DIRENT64_BODY
/* glibc compatibility. */
#undef _DIRENT_HAVE_D_NAMLEN /* Linux doesn't have a d_namlen field. */
#define _DIRENT_HAVE_D_RECLEN
#define _DIRENT_HAVE_D_OFF
#define _DIRENT_HAVE_D_TYPE
#define d_fileno d_ino
typedef struct DIR DIR;
extern DIR* opendir(const char*);
extern DIR* fdopendir(int);
extern struct dirent* readdir(DIR*);
extern struct dirent64* readdir64(DIR*);
extern int readdir_r(DIR*, struct dirent*, struct dirent**);
extern int readdir64_r(DIR*, struct dirent64*, struct dirent64**);
extern int closedir(DIR*);
extern void rewinddir(DIR*);
extern void seekdir(DIR*, long);
extern long telldir(DIR*);
extern int dirfd(DIR*);
extern int alphasort(const struct dirent**, const struct dirent**);
extern int alphasort64(const struct dirent64**, const struct dirent64**);
extern int scandir64(const char*, struct dirent64***, int (*)(const struct dirent64*), int (*)(const struct dirent64**, const struct dirent64**));
extern int scandir(const char*, struct dirent***, int (*)(const struct dirent*), int (*)(const struct dirent**, const struct dirent**));
#if defined(__USE_GNU)
int scandirat64(int, const char*, struct dirent64***, int (*)(const struct dirent64*), int (*)(const struct dirent64**, const struct dirent64**));
int scandirat(int, const char*, struct dirent***, int (*)(const struct dirent*), int (*)(const struct dirent**, const struct dirent**));
#endif
__END_DECLS
#endif /* _DIRENT_H_ */
================================================
FILE: atlas-aapt/bionic/libc/include/dlfcn.h
================================================
/*
* Copyright (C) 2008 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#ifndef __DLFCN_H__
#define __DLFCN_H__
#include <sys/cdefs.h>
__BEGIN_DECLS
typedef struct {
const char *dli_fname; /* Pathname of shared object that
contains address */
void *dli_fbase; /* Address at which shared object
is loaded */
const char *dli_sname; /* Name of nearest symbol with address
lower than addr */
void *dli_saddr; /* Exact address of symbol named
in dli_sname */
} Dl_info;
extern void* dlopen(const char* filename, int flag);
extern int dlclose(void* handle);
extern const char* dlerror(void);
extern void* dlsym(void* handle, const char* symbol) __nonnull((2));
extern void* dlvsym(void* handle, const char* symbol, const char* version) __nonnull((2, 3));
extern int dladdr(const void* addr, Dl_info *info);
enum {
#if defined(__LP64__)
RTLD_NOW = 2,
#else
RTLD_NOW = 0,
#endif
RTLD_LAZY = 1,
RTLD_LOCAL = 0,
#if defined(__LP64__)
RTLD_GLOBAL = 0x00100,
#else
RTLD_GLOBAL = 2,
#endif
RTLD_NOLOAD = 4,
RTLD_NODELETE = 0x01000,
};
#if defined (__LP64__)
#define RTLD_DEFAULT ((void*) 0)
#define RTLD_NEXT ((void*) -1L)
#else
#define RTLD_DEFAULT ((void*) 0xffffffff)
#define RTLD_NEXT ((void*) 0xfffffffe)
#endif
__END_DECLS
#endif /* __DLFCN_H */
================================================
FILE: atlas-aapt/bionic/libc/include/elf.h
================================================
/*
* Copyright (C) 2008 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#ifndef _ELF_H
#define _ELF_H
#include <linux/auxvec.h>
#include <linux/elf.h>
#include <linux/elf-em.h>
#include <machine/elf_machdep.h>
#define ELF32_R_INFO(sym, type) ((((Elf32_Word)sym) << 8) | ((type) & 0xff))
#define ELF64_R_INFO(sym, type) ((((Elf64_Xword)sym) << 32) | ((type) & 0xffffffff))
typedef __s64 Elf32_Sxword;
typedef struct {
__u32 a_type;
union {
__u32 a_val;
} a_un;
} Elf32_auxv_t;
typedef struct {
__u64 a_type;
union {
__u64 a_val;
} a_un;
} Elf64_auxv_t;
typedef Elf32_Half Elf32_Versym;
typedef Elf64_Half Elf64_Versym;
typedef struct {
Elf32_Half vd_version;
Elf32_Half vd_flags;
Elf32_Half vd_ndx;
Elf32_Half vd_cnt;
Elf32_Word vd_hash;
Elf32_Word vd_aux;
Elf32_Word vd_next;
} Elf32_Verdef;
typedef struct {
Elf32_Word vda_name;
Elf32_Word vda_next;
} Elf32_Verdaux;
typedef struct {
Elf64_Half vd_version;
Elf64_Half vd_flags;
Elf64_Half vd_ndx;
Elf64_Half vd_cnt;
Elf64_Word vd_hash;
Elf64_Word vd_aux;
Elf64_Word vd_next;
} Elf64_Verdef;
typedef struct {
Elf64_Word vda_name;
Elf64_Word vda_next;
} Elf64_Verdaux;
typedef struct {
Elf32_Half vn_version;
Elf32_Half vn_cnt;
Elf32_Word vn_file;
Elf32_Word vn_aux;
Elf32_Word vn_next;
} Elf32_Verneed;
typedef struct {
Elf32_Word vna_hash;
Elf32_Half vna_flags;
Elf32_Half vna_other;
Elf32_Word vna_name;
Elf32_Word vna_next;
} Elf32_Vernaux;
typedef struct {
Elf64_Half vn_version;
Elf64_Half vn_cnt;
Elf64_Word vn_file;
Elf64_Word vn_aux;
Elf64_Word vn_next;
} Elf64_Verneed;
typedef struct {
Elf64_Word vna_hash;
Elf64_Half vna_flags;
Elf64_Half vna_other;
Elf64_Word vna_name;
Elf64_Word vna_next;
} Elf64_Vernaux;
#define DF_ORIGIN 0x00000001
#define DF_SYMBOLIC 0x00000002
#define DF_TEXTREL 0x00000004
#define DF_BIND_NOW 0x00000008
#define DF_STATIC_TLS 0x00000010
#define DF_1_NOW 0x00000001 /* Perform complete relocation processing. */
#define DF_1_GLOBAL 0x00000002 /* implies RTLD_GLOBAL */
#define DF_1_GROUP 0x00000004
#define DF_1_NODELETE 0x00000008 /* implies RTLD_NODELETE */
#define DF_1_LOADFLTR 0x00000010
#define DF_1_INITFIRST 0x00000020
#define DF_1_NOOPEN 0x00000040 /* Object can not be used with dlopen(3) */
#define DF_1_ORIGIN 0x00000080
#define DF_1_DIRECT 0x00000100
#define DF_1_TRANS 0x00000200
#define DF_1_INTERPOSE 0x00000400
#define DF_1_NODEFLIB 0x00000800
#define DF_1_NODUMP 0x00001000 /* Object cannot be dumped with dldump(3) */
#define DF_1_CONFALT 0x00002000
#define DF_1_ENDFILTEE 0x00004000
#define DF_1_DISPRELDNE 0x00008000
#define DF_1_DISPRELPND 0x00010000
#define DF_1_NODIRECT 0x00020000
#define DF_1_IGNMULDEF 0x00040000 /* Internal use */
#define DF_1_NOKSYMS 0x00080000 /* Internal use */
#define DF_1_NOHDR 0x00100000 /* Internal use */
#define DF_1_EDITED 0x00200000
#define DF_1_NORELOC 0x00400000 /* Internal use */
#define DF_1_SYMINTPOSE 0x00800000
#define DF_1_GLOBAUDIT 0x01000000
#define DF_1_SINGLETON 0x02000000
#define DF_1_STUB 0x04000000
#define DF_1_PIE 0x08000000
#define DT_BIND_NOW 24
#define DT_INIT_ARRAY 25
#define DT_FINI_ARRAY 26
#define DT_INIT_ARRAYSZ 27
#define DT_FINI_ARRAYSZ 28
#define DT_RUNPATH 29
#define DT_FLAGS 30
/* glibc and BSD disagree for DT_ENCODING; glibc looks wrong. */
#define DT_PREINIT_ARRAY 32
#define DT_PREINIT_ARRAYSZ 33
/* Android compressed rel/rela sections */
#define DT_ANDROID_REL (DT_LOOS + 2)
#define DT_ANDROID_RELSZ (DT_LOOS + 3)
#define DT_ANDROID_RELA (DT_LOOS + 4)
#define DT_ANDROID_RELASZ (DT_LOOS + 5)
/* gnu hash entry */
#define DT_GNU_HASH 0x6ffffef5
#define ELFOSABI_SYSV 0 /* Synonym for ELFOSABI_NONE used by valgrind. */
#define PT_GNU_RELRO 0x6474e552
#define STB_LOOS 10
#define STB_HIOS 12
#define STB_LOPROC 13
#define STB_HIPROC 15
#define SHT_LOOS 0x60000000
#define SHT_HIOS 0x6fffffff
#define STT_GNU_IFUNC 10
#define STT_LOOS 10
#define STT_HIOS 12
#define STT_LOPROC 13
#define STT_HIPROC 15
#define STV_DEFAULT 0
#define STV_INTERNAL 1
#define STV_HIDDEN 2
#define STV_PROTECTED 3
/* The kernel uses NT_PRFPREG but glibc also offers NT_FPREGSET */
#define NT_FPREGSET NT_PRFPREG
#define ELF_NOTE_GNU "GNU"
#define NT_GNU_BUILD_ID 3
#define VER_FLG_BASE 0x1
#define VER_FLG_WEAK 0x2
#define VER_NDX_LOCAL 0
#define VER_NDX_GLOBAL 1
#endif /* _ELF_H */
================================================
FILE: atlas-aapt/bionic/libc/include/endian.h
================================================
/*
* Copyright (C) 2008 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#ifndef _ENDIAN_H_
#define _ENDIAN_H_
#include <sys/endian.h>
#endif /* _ENDIAN_H_ */
================================================
FILE: atlas-aapt/bionic/libc/include/err.h
================================================
/* $OpenBSD: err.h,v 1.10 2006/01/06 18:53:04 millert Exp $ */
/* $NetBSD: err.h,v 1.11 1994/10/26 00:55:52 cgd Exp $ */
/*-
* Copyright (c) 1993
* The Regents of the University of California. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* @(#)err.h 8.1 (Berkeley) 6/2/93
*/
#ifndef _ERR_H_
#define _ERR_H_
#include <sys/cdefs.h>
#include <sys/types.h>
__BEGIN_DECLS
/* printf's format string isn't nullable; the err family's one is,
* so we can't use __errlike here. */
#define __errlike(x, y) __attribute__((__format__(printf, x, y)))
__noreturn void err(int, const char *, ...) __errlike(2, 3);
__noreturn void verr(int, const char *, __va_list) __errlike(2, 0);
__noreturn void errx(int, const char *, ...) __errlike(2, 3);
__noreturn void verrx(int, const char *, __va_list) __errlike(2, 0);
void warn(const char *, ...) __errlike(1, 2);
void vwarn(const char *, __va_list) __errlike(1, 0);
void warnx(const char *, ...) __errlike(1, 2);
void vwarnx(const char *, __va_list) __errlike(1, 0);
__END_DECLS
#endif /* !_ERR_H_ */
================================================
FILE: atlas-aapt/bionic/libc/include/errno.h
================================================
/*
* Copyright (C) 2008 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#ifndef _ERRNO_H
#define _ERRNO_H
#include <sys/cdefs.h>
#include <linux/errno.h>
__BEGIN_DECLS
/* on Linux, ENOTSUP and EOPNOTSUPP are defined as the same error code
* even if 1000.3 states that they should be different
*/
#ifndef ENOTSUP
#define ENOTSUP EOPNOTSUPP
#endif
/* internal function returning the address of the thread-specific errno */
extern volatile int* __errno(void) __pure2;
/* a macro expanding to the errno l-value */
#define errno (*__errno())
#if __ANDROID_API__ < 21
#include <android/legacy_errno_inlines.h>
#endif
__END_DECLS
#endif /* _ERRNO_H */
================================================
FILE: atlas-aapt/bionic/libc/include/error.h
================================================
/*
* Copyright (C) 2015 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#ifndef _ERROR_H
#define _ERROR_H 1
#include <sys/cdefs.h>
__BEGIN_DECLS
void error(int, int, const char*, ...) __printflike(3, 4);
void error_at_line(int, int, const char*, unsigned int, const char*, ...) __printflike(5, 6);
extern void (*error_print_progname)(void);
extern unsigned int error_message_count;
extern int error_one_per_line;
__END_DECLS
#endif
================================================
FILE: atlas-aapt/bionic/libc/include/fcntl.h
================================================
/*
* Copyright (C) 2008 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#ifndef _FCNTL_H
#define _FCNTL_H
#include <sys/cdefs.h>
#include <sys/types.h>
#include <linux/fadvise.h>
#include <linux/fcntl.h>
#include <linux/stat.h>
#include <linux/uio.h>
#if defined(__USE_GNU) || defined(__USE_BSD)
#include <bits/lockf.h>
#endif
__BEGIN_DECLS
#ifdef __LP64__
/* LP64 kernels don't have F_*64 defines because their flock is 64-bit. */
#define F_GETLK64 F_GETLK
#define F_SETLK64 F_SETLK
#define F_SETLKW64 F_SETLKW
#endif
#define O_ASYNC FASYNC
#define O_RSYNC O_SYNC
#define SPLICE_F_MOVE 1
#define SPLICE_F_NONBLOCK 2
#define SPLICE_F_MORE 4
#define SPLICE_F_GIFT 8
#define SYNC_FILE_RANGE_WAIT_BEFORE 1
#define SYNC_FILE_RANGE_WRITE 2
#define SYNC_FILE_RANGE_WAIT_AFTER 4
extern int creat(const char*, mode_t);
extern int creat64(const char*, mode_t);
extern int fcntl(int, int, ...);
extern int openat(int, const char*, int, ...);
extern int openat64(int, const char*, int, ...);
extern int open(const char*, int, ...);
extern int open64(const char*, int, ...);
extern ssize_t splice(int, off64_t*, int, off64_t*, size_t, unsigned int);
extern ssize_t tee(int, int, size_t, unsigned int);
extern int unlinkat(int, const char*, int);
extern ssize_t vmsplice(int, const struct iovec*, size_t, unsigned int);
#if defined(__USE_FILE_OFFSET64)
extern int fallocate(int, int, off_t, off_t) __RENAME(fallocate64);
extern int posix_fadvise(int, off_t, off_t, int) __RENAME(posix_fadvise64);
extern int posix_fallocate(int, off_t, off_t) __RENAME(posix_fallocate);
#else
extern int fallocate(int, int, off_t, off_t);
extern int posix_fadvise(int, off_t, off_t, int);
extern int posix_fallocate(int, off_t, off_t);
#endif
extern int fallocate64(int, int, off64_t, off64_t);
extern int posix_fadvise64(int, off64_t, off64_t, int);
extern int posix_fallocate64(int, off64_t, off64_t);
extern int __open_2(const char*, int);
extern int __open_real(const char*, int, ...) __RENAME(open);
extern int __openat_2(int, const char*, int);
extern int __openat_real(int, const char*, int, ...) __RENAME(openat);
__errordecl(__creat_missing_mode, "called with O_CREAT, but missing mode");
__errordecl(__creat_too_many_args, "too many arguments");
#if defined(__BIONIC_FORTIFY)
#if !defined(__clang__)
__BIONIC_FORTIFY_INLINE
int open(const char* pathname, int flags, ...) {
if (__builtin_constant_p(flags)) {
if ((flags & O_CREAT) && __builtin_va_arg_pack_len() == 0) {
__creat_missing_mode(); // compile time error
}
}
if (__builtin_va_arg_pack_len() > 1) {
__creat_too_many_args(); // compile time error
}
if ((__builtin_va_arg_pack_len() == 0) && !__builtin_constant_p(flags)) {
return __open_2(pathname, flags);
}
return __open_real(pathname, flags, __builtin_va_arg_pack());
}
__BIONIC_FORTIFY_INLINE
int openat(int dirfd, const char* pathname, int flags, ...) {
if (__builtin_constant_p(flags)) {
if ((flags & O_CREAT) && __builtin_va_arg_pack_len() == 0) {
__creat_missing_mode(); // compile time error
}
}
if (__builtin_va_arg_pack_len() > 1) {
__creat_too_many_args(); // compile time error
}
if ((__builtin_va_arg_pack_len() == 0) && !__builtin_constant_p(flags)) {
return __openat_2(dirfd, pathname, flags);
}
return __openat_real(dirfd, pathname, flags, __builtin_va_arg_pack());
}
#endif /* !defined(__clang__) */
#endif /* defined(__BIONIC_FORTIFY) */
__END_DECLS
#endif /* _FCNTL_H */
================================================
FILE: atlas-aapt/bionic/libc/include/features.h
================================================
/*
* Copyright (C) 2008 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#ifndef _FEATURES_H_
#define _FEATURES_H_
/* Our <features.h> macro fun is all in <sys/cdefs.h>. */
#include <sys/cdefs.h>
#endif /* _FEATURES_H_ */
================================================
FILE: atlas-aapt/bionic/libc/include/fnmatch.h
================================================
/*
* Copyright (C) 2008 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#ifndef _FNMATCH_H
#define _FNMATCH_H
#include <sys/cdefs.h>
__BEGIN_DECLS
#define FNM_NOMATCH 1 /* Match failed. */
#define FNM_NOSYS 2 /* Function not supported (unused). */
#define FNM_NOESCAPE 0x01 /* Disable backslash escaping. */
#define FNM_PATHNAME 0x02 /* Slash must be matched by slash. */
#define FNM_PERIOD 0x04 /* Period must be matched by period. */
#define FNM_LEADING_DIR 0x08 /* Ignore /<tail> after Imatch. */
#define FNM_CASEFOLD 0x10 /* Case insensitive search. */
#define FNM_IGNORECASE FNM_CASEFOLD
#define FNM_FILE_NAME FNM_PATHNAME
extern int fnmatch(const char *pattern, const char *string, int flags);
__END_DECLS
#endif /* _FNMATCH_H */
================================================
FILE: atlas-aapt/bionic/libc/include/fts.h
================================================
/* $OpenBSD: fts.h,v 1.12 2009/08/27 16:19:27 millert Exp $ */
/* $NetBSD: fts.h,v 1.5 1994/12/28 01:41:50 mycroft Exp $ */
/*
* Copyright (c) 1989, 1993
* The Regents of the University of California. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* @(#)fts.h 8.3 (Berkeley) 8/14/94
*/
#ifndef _FTS_H_
#define _FTS_H_
#include <sys/types.h>
typedef struct {
struct _ftsent *fts_cur; /* current node */
struct _ftsent *fts_child; /* linked list of children */
struct _ftsent **fts_array; /* sort array */
dev_t fts_dev; /* starting device # */
char *fts_path; /* path for this descent */
int fts_rfd; /* fd for root */
size_t fts_pathlen; /* sizeof(path) */
int fts_nitems; /* elements in the sort array */
int (*fts_compar)(); /* compare function */
#define FTS_COMFOLLOW 0x0001 /* follow command line symlinks */
#define FTS_LOGICAL 0x0002 /* logical walk */
#define FTS_NOCHDIR 0x0004 /* don't change directories */
#define FTS_NOSTAT 0x0008 /* don't get stat info */
#define FTS_PHYSICAL 0x0010 /* physical walk */
#define FTS_SEEDOT 0x0020 /* return dot and dot-dot */
#define FTS_XDEV 0x0040 /* don't cross devices */
#define FTS_OPTIONMASK 0x00ff /* valid user option mask */
#define FTS_NAMEONLY 0x1000 /* (private) child names only */
#define FTS_STOP 0x2000 /* (private) unrecoverable error */
int fts_options; /* fts_open options, global flags */
} FTS;
typedef struct _ftsent {
struct _ftsent *fts_cycle; /* cycle node */
struct _ftsent *fts_parent; /* parent directory */
struct _ftsent *fts_link; /* next file in directory */
long fts_number; /* local numeric value */
void *fts_pointer; /* local address value */
char *fts_accpath; /* access path */
char *fts_path; /* root path */
int fts_errno; /* errno for this node */
int fts_symfd; /* fd for symlink */
size_t fts_pathlen; /* strlen(fts_path) */
size_t fts_namelen; /* strlen(fts_name) */
ino_t fts_ino; /* inode */
dev_t fts_dev; /* device */
nlink_t fts_nlink; /* link count */
#define FTS_ROOTPARENTLEVEL -1
#define FTS_ROOTLEVEL 0
#define FTS_MAXLEVEL 0x7fff
short fts_level; /* depth (-1 to N) */
#define FTS_D 1 /* preorder directory */
#define FTS_DC 2 /* directory that causes cycles */
#define FTS_DEFAULT 3 /* none of the above */
#define FTS_DNR 4 /* unreadable directory */
#define FTS_DOT 5 /* dot or dot-dot */
#define FTS_DP 6 /* postorder directory */
#define FTS_ERR 7 /* error; errno is set */
#define FTS_F 8 /* regular file */
#define FTS_INIT 9 /* initialized only */
#define FTS_NS 10 /* stat(2) failed */
#define FTS_NSOK 11 /* no stat(2) requested */
#define FTS_SL 12 /* symbolic link */
#define FTS_SLNONE 13 /* symbolic link without target */
unsigned short fts_info; /* user flags for FTSENT structure */
#define FTS_DONTCHDIR 0x01 /* don't chdir .. to the parent */
#define FTS_SYMFOLLOW 0x02 /* followed a symlink to get here */
unsigned short fts_flags; /* private flags for FTSENT structure */
#define FTS_AGAIN 1 /* read node again */
#define FTS_FOLLOW 2 /* follow symbolic link */
#define FTS_NOINSTR 3 /* no instructions */
#define FTS_SKIP 4 /* discard node */
unsigned short fts_instr; /* fts_set() instructions */
struct stat *fts_statp; /* stat(2) information */
char fts_name[1]; /* file name */
} FTSENT;
__BEGIN_DECLS
FTSENT *fts_children(FTS *, int);
int fts_close(FTS *);
FTS *fts_open(char * const *, int,
int (*)(const FTSENT **, const FTSENT **));
FTSENT *fts_read(FTS *);
int fts_set(FTS *, FTSENT *, int);
__END_DECLS
#endif /* !_FTS_H_ */
================================================
FILE: atlas-aapt/bionic/libc/include/ftw.h
================================================
/* $NetBSD: ftw.h,v 1.1 2005/12/30 23:07:33 agc Exp $ */
/* From OpenBSD: ftw.h,v 1.1 2003/07/21 21:13:18 millert Exp */
/*
* Copyright (c) 2003 Todd C. Miller <Todd.Miller@courtesan.com>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Sponsored in part by the Defense Advanced Research Projects
* Agency (DARPA) and Air Force Research Laboratory, Air Force
* Materiel Command, USAF, under agreement number F39502-99-1-0512.
*/
#ifndef _FTW_H
#define _FTW_H
#include <sys/types.h>
#include <sys/stat.h>
/*
* Valid flags for the 3rd argument to the function that is passed as the
* second argument to ftw(3) and nftw(3). Say it three times fast!
*/
#define FTW_F 0 /* File. */
#define FTW_D 1 /* Directory. */
#define FTW_DNR 2 /* Directory without read permission. */
#define FTW_DP 3 /* Directory with subdirectories visited. */
#define FTW_NS 4 /* Unknown type; stat() failed. */
#define FTW_SL 5 /* Symbolic link. */
#define FTW_SLN 6 /* Sym link that names a nonexistent file. */
/*
* Flags for use as the 4th argument to nftw(3). These may be ORed together.
*/
#define FTW_PHYS 0x01 /* Physical walk, don't follow sym links. */
#define FTW_MOUNT 0x02 /* The walk does not cross a mount point. */
#define FTW_DEPTH 0x04 /* Subdirs visited before the dir itself. */
#define FTW_CHDIR 0x08 /* Change to a directory before reading it. */
struct FTW {
int base;
int level;
};
__BEGIN_DECLS
int ftw(const char *, int (*)(const char *, const struct stat *, int), int);
int nftw(const char *, int (*)(const char *, const struct stat *, int,
struct FTW *), int, int);
int ftw64(const char *, int (*)(const char *, const struct stat64 *, int), int);
int nftw64(const char *, int (*)(const char *, const struct stat64 *, int,
struct FTW *), int, int);
__END_DECLS
#endif /* !_FTW_H */
================================================
FILE: atlas-aapt/bionic/libc/include/getopt.h
================================================
/* $NetBSD: getopt.h,v 1.4 2000/07/07 10:43:54 ad Exp $ */
/* $FreeBSD$ */
/*-
* Copyright (c) 2000 The NetBSD Foundation, Inc.
* All rights reserved.
*
* This code is derived from software contributed to The NetBSD Foundation
* by Dieter Baron and Thomas Klausner.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/
#ifndef _GETOPT_H_
#define _GETOPT_H_
#include <sys/cdefs.h>
/*
* GNU-like getopt_long()/getopt_long_only() with 4.4BSD optreset extension.
* getopt() is declared here too for GNU programs.
*/
#define no_argument 0
#define required_argument 1
#define optional_argument 2
struct option {
/* name of long option */
const char *name;
/*
* one of no_argument, required_argument, and optional_argument:
* whether option takes an argument
*/
int has_arg;
/* if not NULL, set *flag to val when option found */
int *flag;
/* if flag not NULL, value to set *flag to; else return value */
int val;
};
__BEGIN_DECLS
int getopt_long(int, char * const *, const char *,
const struct option *, int *);
int getopt_long_only(int, char * const *, const char *,
const struct option *, int *);
#ifndef _GETOPT_DECLARED
#define _GETOPT_DECLARED
int getopt(int, char * const [], const char *);
extern char *optarg; /* getopt(3) external variables */
extern int optind, opterr, optopt;
#endif
#ifndef _OPTRESET_DECLARED
#define _OPTRESET_DECLARED
extern int optreset; /* getopt(3) external variable */
#endif
__END_DECLS
#endif /* !_GETOPT_H_ */
================================================
FILE: atlas-aapt/bionic/libc/include/grp.h
================================================
/* $OpenBSD: grp.h,v 1.8 2005/12/13 00:35:22 millert Exp $ */
/* $NetBSD: grp.h,v 1.7 1995/04/29 05:30:40 cgd Exp $ */
/*-
* Copyright (c) 1989, 1993
* The Regents of the University of California. All rights reserved.
* (c) UNIX System Laboratories, Inc.
* All or some portions of this file are derived from material licensed
* to the University of California by American Telephone and Telegraph
* Co. or Unix System Laboratories, Inc. and are reproduced herein with
* the permission of UNIX System Laboratories, Inc.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* @(#)grp.h 8.2 (Berkeley) 1/21/94
*/
#ifndef _GRP_H_
#define _GRP_H_
#include <sys/cdefs.h>
#include <sys/types.h>
struct group {
char *gr_name; /* group name */
char *gr_passwd; /* group password */
gid_t gr_gid; /* group id */
char **gr_mem; /* group members */
};
__BEGIN_DECLS
struct group *getgrgid(gid_t);
struct group *getgrnam(const char *);
#if __POSIX_VISIBLE >= 200112 || __XPG_VISIBLE
struct group *getgrent(void) __attribute__((deprecated("getgrent is meaningless on Android")));
void setgrent(void) __attribute__((deprecated("setgrent is meaningless on Android")));
void endgrent(void) __attribute__((deprecated("endgrent is meaningless on Android")));
int getgrgid_r(gid_t, struct group *, char *,
size_t, struct group **);
int getgrnam_r(const char *, struct group *, char *,
size_t, struct group **);
#endif
int getgrouplist (const char *user, gid_t group,
gid_t *groups, int *ngroups);
int initgroups (const char *user, gid_t group);
__END_DECLS
#endif /* !_GRP_H_ */
================================================
FILE: atlas-aapt/bionic/libc/include/ifaddrs.h
================================================
/*
* Copyright (C) 2015 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#ifndef _IFADDRS_H_
#define _IFADDRS_H_
#include <sys/cdefs.h>
#include <netinet/in.h>
#include <sys/socket.h>
__BEGIN_DECLS
struct ifaddrs {
struct ifaddrs* ifa_next;
char* ifa_name;
unsigned int ifa_flags;
struct sockaddr* ifa_addr;
struct sockaddr* ifa_netmask;
union {
struct sockaddr* ifu_broadaddr;
struct sockaddr* ifu_dstaddr;
} ifa_ifu;
void* ifa_data;
};
#define ifa_broadaddr ifa_ifu.ifu_broadaddr
#define ifa_dstaddr ifa_ifu.ifu_dstaddr
void freeifaddrs(struct ifaddrs*);
int getifaddrs(struct ifaddrs**);
__END_DECLS
#endif
================================================
FILE: atlas-aapt/bionic/libc/include/inttypes.h
================================================
/* $OpenBSD: inttypes.h,v 1.9 2006/01/15 00:47:51 millert Exp $ */
/*
* Copyright (c) 1997, 2005 Todd C. Miller <Todd.Miller@courtesan.com>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
#ifndef _INTTYPES_H_
#define _INTTYPES_H_
#include <stdint.h>
#include <sys/cdefs.h>
#ifdef __LP64__
#define __PRI_64_prefix "l"
#define __PRI_PTR_prefix "l"
#else
#define __PRI_64_prefix "ll"
#define __PRI_PTR_prefix
#endif
/*
* 7.8.1 Macros for format specifiers
*
* Each of the following object-like macros expands to a string
* literal containing a conversion specifier, possibly modified by
* a prefix such as hh, h, l, or ll, suitable for use within the
* format argument of a formatted input/output function when
* converting the corresponding integer type. These macro names
* have the general form of PRI (character string literals for the
* fprintf family) or SCN (character string literals for the fscanf
* family), followed by the conversion specifier, followed by a
* name corresponding to a similar typedef name. For example,
* PRIdFAST32 can be used in a format string to print the value of
* an integer of type int_fast32_t.
*/
/* fprintf macros for signed integers */
#define PRId8 "d" /* int8_t */
#define PRId16 "d" /* int16_t */
#define PRId32 "d" /* int32_t */
#define PRId64 __PRI_64_prefix"d" /* int64_t */
#define PRIdLEAST8 "d" /* int_least8_t */
#define PRIdLEAST16 "d" /* int_least16_t */
#define PRIdLEAST32 "d" /* int_least32_t */
#define PRIdLEAST64 __PRI_64_prefix"d" /* int_least64_t */
#define PRIdFAST8 "d" /* int_fast8_t */
#define PRIdFAST16 "d" /* int_fast16_t */
#define PRIdFAST32 "d" /* int_fast32_t */
#define PRIdFAST64 __PRI_64_prefix"d" /* int_fast64_t */
#define PRIdMAX "jd" /* intmax_t */
#define PRIdPTR __PRI_PTR_prefix"d" /* intptr_t */
#define PRIi8 "i" /* int8_t */
#define PRIi16 "i" /* int16_t */
#define PRIi32 "i" /* int32_t */
#define PRIi64 __PRI_64_prefix"i" /* int64_t */
#define PRIiLEAST8 "i" /* int_least8_t */
#define PRIiLEAST16 "i" /* int_least16_t */
#define PRIiLEAST32 "i" /* int_least32_t */
#define PRIiLEAST64 __PRI_64_prefix"i" /* int_least64_t */
#define PRIiFAST8 "i" /* int_fast8_t */
#define PRIiFAST16 "i" /* int_fast16_t */
#define PRIiFAST32 "i" /* int_fast32_t */
#define PRIiFAST64 __PRI_64_prefix"i" /* int_fast64_t */
#define PRIiMAX "ji" /* intmax_t */
#define PRIiPTR __PRI_PTR_prefix"i" /* intptr_t */
/* fprintf macros for unsigned integers */
#define PRIo8 "o" /* int8_t */
#define PRIo16 "o" /* int16_t */
#define PRIo32 "o" /* int32_t */
#define PRIo64 __PRI_64_prefix"o" /* int64_t */
#define PRIoLEAST8 "o" /* int_least8_t */
#define PRIoLEAST16 "o" /* int_least16_t */
#define PRIoLEAST32 "o" /* int_least32_t */
#define PRIoLEAST64 __PRI_64_prefix"o" /* int_least64_t */
#define PRIoFAST8 "o" /* int_fast8_t */
#define PRIoFAST16 "o" /* int_fast16_t */
#define PRIoFAST32 "o" /* int_fast32_t */
#define PRIoFAST64 __PRI_64_prefix"o" /* int_fast64_t */
#define PRIoMAX "jo" /* intmax_t */
#define PRIoPTR __PRI_PTR_prefix"o" /* intptr_t */
#define PRIu8 "u" /* uint8_t */
#define PRIu16 "u" /* uint16_t */
#define PRIu32 "u" /* uint32_t */
#define PRIu64 __PRI_64_prefix"u" /* uint64_t */
#define PRIuLEAST8 "u" /* uint_least8_t */
#define PRIuLEAST16 "u" /* uint_least16_t */
#define PRIuLEAST32 "u" /* uint_least32_t */
#define PRIuLEAST64 __PRI_64_prefix"u" /* uint_least64_t */
#define PRIuFAST8 "u" /* uint_fast8_t */
#define PRIuFAST16 "u" /* uint_fast16_t */
#define PRIuFAST32 "u" /* uint_fast32_t */
#define PRIuFAST64 __PRI_64_prefix"u" /* uint_fast64_t */
#define PRIuMAX "ju" /* uintmax_t */
#define PRIuPTR __PRI_PTR_prefix"u" /* uintptr_t */
#define PRIx8 "x" /* uint8_t */
#define PRIx16 "x" /* uint16_t */
#define PRIx32 "x" /* uint32_t */
#define PRIx64 __PRI_64_prefix"x" /* uint64_t */
#define PRIxLEAST8 "x" /* uint_least8_t */
#define PRIxLEAST16 "x" /* uint_least16_t */
#define PRIxLEAST32 "x" /* uint_least32_t */
#define PRIxLEAST64 __PRI_64_prefix"x" /* uint_least64_t */
#define PRIxFAST8 "x" /* uint_fast8_t */
#define PRIxFAST16 "x" /* uint_fast16_t */
#define PRIxFAST32 "x" /* uint_fast32_t */
#define PRIxFAST64 __PRI_64_prefix"x" /* uint_fast64_t */
#define PRIxMAX "jx" /* uintmax_t */
#define PRIxPTR __PRI_PTR_prefix"x" /* uintptr_t */
#define PRIX8 "X" /* uint8_t */
#define PRIX16 "X" /* uint16_t */
#define PRIX32 "X" /* uint32_t */
#define PRIX64 __PRI_64_prefix"X" /* uint64_t */
#define PRIXLEAST8 "X" /* uint_least8_t */
#define PRIXLEAST16 "X" /* uint_least16_t */
#define PRIXLEAST32 "X" /* uint_least32_t */
#define PRIXLEAST64 __PRI_64_prefix"X" /* uint_least64_t */
#define PRIXFAST8 "X" /* uint_fast8_t */
#define PRIXFAST16 "X" /* uint_fast16_t */
#define PRIXFAST32 "X" /* uint_fast32_t */
#define PRIXFAST64 __PRI_64_prefix"X" /* uint_fast64_t */
#define PRIXMAX "jX" /* uintmax_t */
#define PRIXPTR __PRI_PTR_prefix"X" /* uintptr_t */
/* fscanf macros for signed integers */
#define SCNd8 "hhd" /* int8_t */
#define SCNd16 "hd" /* int16_t */
#define SCNd32 "d" /* int32_t */
#define SCNd64 __PRI_64_prefix"d" /* int64_t */
#define SCNdLEAST8 "hhd" /* int_least8_t */
#define SCNdLEAST16 "hd" /* int_least16_t */
#define SCNdLEAST32 "d" /* int_least32_t */
#define SCNdLEAST64 __PRI_64_prefix"d" /* int_least64_t */
#define SCNdFAST8 "hhd" /* int_fast8_t */
#define SCNdFAST16 "hd" /* int_fast16_t */
#define SCNdFAST32 "d" /* int_fast32_t */
#define SCNdFAST64 __PRI_64_prefix"d" /* int_fast64_t */
#define SCNdMAX "jd" /* intmax_t */
#define SCNdPTR __PRI_PTR_prefix"d" /* intptr_t */
#define SCNi8 "hhi" /* int8_t */
#define SCNi16 "hi" /* int16_t */
#define SCNi32 "i" /* int32_t */
#define SCNi64 __PRI_64_prefix"i" /* int64_t */
#define SCNiLEAST8 "hhi" /* int_least8_t */
#define SCNiLEAST16 "hi" /* int_least16_t */
#define SCNiLEAST32 "i" /* int_least32_t */
#define SCNiLEAST64 __PRI_64_prefix"i" /* int_least64_t */
#define SCNiFAST8 "hhi" /* int_fast8_t */
#define SCNiFAST16 "hi" /* int_fast16_t */
#define SCNiFAST32 "i" /* int_fast32_t */
#define SCNiFAST64 __PRI_64_prefix"i" /* int_fast64_t */
#define SCNiMAX "ji" /* intmax_t */
#define SCNiPTR __PRI_PTR_prefix"i" /* intptr_t */
/* fscanf macros for unsigned integers */
#define SCNo8 "hho" /* uint8_t */
#define SCNo16 "ho" /* uint16_t */
#define SCNo32 "o" /* uint32_t */
#define SCNo64 __PRI_64_prefix"o" /* uint64_t */
#define SCNoLEAST8 "hho" /* uint_least8_t */
#define SCNoLEAST16 "ho" /* uint_least16_t */
#define SCNoLEAST32 "o" /* uint_least32_t */
#define SCNoLEAST64 __PRI_64_prefix"o" /* uint_least64_t */
#define SCNoFAST8 "hho" /* uint_fast8_t */
#define SCNoFAST16 "ho" /* uint_fast16_t */
#define SCNoFAST32 "o" /* uint_fast32_t */
#define SCNoFAST64 __PRI_64_prefix"o" /* uint_fast64_t */
#define SCNoMAX "jo" /* uintmax_t */
#define SCNoPTR __PRI_PTR_prefix"o" /* uintptr_t */
#define SCNu8 "hhu" /* uint8_t */
#define SCNu16 "hu" /* uint16_t */
#define SCNu32 "u" /* uint32_t */
#define SCNu64 __PRI_64_prefix"u" /* uint64_t */
#define SCNuLEAST8 "hhu" /* uint_least8_t */
#define SCNuLEAST16 "hu" /* uint_least16_t */
#define SCNuLEAST32 "u" /* uint_least32_t */
#define SCNuLEAST64 __PRI_64_prefix"u" /* uint_least64_t */
#define SCNuFAST8 "hhu" /* uint_fast8_t */
#define SCNuFAST16 "hu" /* uint_fast16_t */
#define SCNuFAST32 "u" /* uint_fast32_t */
#define SCNuFAST64 __PRI_64_prefix"u" /* uint_fast64_t */
#define SCNuMAX "ju" /* uintmax_t */
#define SCNuPTR __PRI_PTR_prefix"u" /* uintptr_t */
#define SCNx8 "hhx" /* uint8_t */
#define SCNx16 "hx" /* uint16_t */
#define SCNx32 "x" /* uint32_t */
#define SCNx64 __PRI_64_prefix"x" /* uint64_t */
#define SCNxLEAST8 "hhx" /* uint_least8_t */
#define SCNxLEAST16 "hx" /* uint_least16_t */
#define SCNxLEAST32 "x" /* uint_least32_t */
#define SCNxLEAST64 __PRI_64_prefix"x" /* uint_least64_t */
#define SCNxFAST8 "hhx" /* uint_fast8_t */
#define SCNxFAST16 "hx" /* uint_fast16_t */
#define SCNxFAST32 "x" /* uint_fast32_t */
#define SCNxFAST64 __PRI_64_prefix"x" /* uint_fast64_t */
#define SCNxMAX "jx" /* uintmax_t */
#define SCNxPTR __PRI_PTR_prefix"x" /* uintptr_t */
typedef struct {
intmax_t quot; /* quotient */
intmax_t rem; /* remainder */
} imaxdiv_t;
__BEGIN_DECLS
intmax_t imaxabs(intmax_t) __pure2;
imaxdiv_t imaxdiv(intmax_t, intmax_t) __pure2;
intmax_t strtoimax(const char *, char **, int);
uintmax_t strtoumax(const char *, char **, int);
intmax_t wcstoimax(const wchar_t * __restrict,
wchar_t ** __restrict, int);
uintmax_t wcstoumax(const wchar_t * __restrict,
wchar_t ** __restrict, int);
__END_DECLS
#endif /* _INTTYPES_H_ */
================================================
FILE: atlas-aapt/bionic/libc/include/lastlog.h
================================================
================================================
FILE: atlas-aapt/bionic/libc/include/libgen.h
================================================
/*
* Copyright (C) 2008 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#ifndef _LIBGEN_H
#define _LIBGEN_H
#include <sys/cdefs.h>
#include <sys/types.h>
__BEGIN_DECLS
/*
* Including <string.h> will get you the GNU basename, unless <libgen.h> is
* included, either before or after including <string.h>.
*
* Note that this has the wrong argument cv-qualifiers, but doesn't modify its
* input and uses thread-local storage for the result if necessary.
*/
extern char* __posix_basename(const char*) __RENAME(basename);
#define basename __posix_basename
/* This has the wrong argument cv-qualifiers, but doesn't modify its input and uses thread-local storage for the result if necessary. */
extern char* dirname(const char*);
#if !defined(__LP64__)
/* These non-standard functions are not needed on Android; basename and dirname use thread-local storage. */
extern int dirname_r(const char*, char*, size_t);
extern int basename_r(const char*, char*, size_t);
#endif
__END_DECLS
#endif /* _LIBGEN_H */
================================================
FILE: atlas-aapt/bionic/libc/include/limits.h
================================================
/* $OpenBSD: limits.h,v 1.13 2005/12/31 19:29:38 millert Exp $ */
/* $NetBSD: limits.h,v 1.7 1994/10/26 00:56:00 cgd Exp $ */
/*
* Copyright (c) 1988 The Regents of the University of California.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* @(#)limits.h 5.9 (Berkeley) 4/3/91
*/
#ifndef _LIMITS_H_
#define _LIMITS_H_
#include <sys/cdefs.h>
#if __XPG_VISIBLE
#define PASS_MAX 128 /* _PASSWORD_LEN from <pwd.h> */
#define NL_ARGMAX 9
#define NL_LANGMAX 14
#define NL_MSGMAX 32767
#define NL_NMAX 1
#define NL_SETMAX 255
#define NL_TEXTMAX 255
#define TMP_MAX 308915776
#endif /* __XPG_VISIBLE */
#include <sys/limits.h>
#if __POSIX_VISIBLE
#include <sys/syslimits.h>
#endif
/* GLibc compatibility definitions.
Note that these are defined by GCC's <limits.h>
only when __GNU_LIBRARY__ is defined, i.e. when
targetting GLibc. */
#ifndef LONG_LONG_MIN
#define LONG_LONG_MIN LLONG_MIN
#endif
#ifndef LONG_LONG_MAX
#define LONG_LONG_MAX LLONG_MAX
#endif
#ifndef ULONG_LONG_MAX
#define ULONG_LONG_MAX ULLONG_MAX
#endif
/* BSD compatibility definitions. */
#if __BSD_VISIBLE
#define SIZE_T_MAX ULONG_MAX
#endif /* __BSD_VISIBLE */
#define SSIZE_MAX LONG_MAX
#define MB_LEN_MAX 4
#define SEM_VALUE_MAX 0x3fffffff
/* POSIX says these belong in <unistd.h> but BSD has some in <limits.h>. */
#include <bits/posix_limits.h>
#define HOST_NAME_MAX _POSIX_HOST_NAME_MAX
#endif /* !_LIMITS_H_ */
================================================
FILE: atlas-aapt/bionic/libc/include/link.h
================================================
/*
* Copyright (C) 2012 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#ifndef _LINK_H_
#define _LINK_H_
#include <sys/types.h>
#include <elf.h>
__BEGIN_DECLS
#if __LP64__
#define ElfW(type) Elf64_ ## type
#else
#define ElfW(type) Elf32_ ## type
#endif
struct dl_phdr_info {
ElfW(Addr) dlpi_addr;
const char* dlpi_name;
const ElfW(Phdr)* dlpi_phdr;
ElfW(Half) dlpi_phnum;
};
int dl_iterate_phdr(int (*)(struct dl_phdr_info*, size_t, void*), void*);
#ifdef __arm__
typedef long unsigned int* _Unwind_Ptr;
_Unwind_Ptr dl_unwind_find_exidx(_Unwind_Ptr, int*);
#endif
/* Used by the dynamic linker to communicate with the debugger. */
struct link_map {
ElfW(Addr) l_addr;
char* l_name;
ElfW(Dyn)* l_ld;
struct link_map* l_next;
struct link_map* l_prev;
};
/* Used by the dynamic linker to communicate with the debugger. */
struct r_debug {
int32_t r_version;
struct link_map* r_map;
ElfW(Addr) r_brk;
enum {
RT_CONSISTENT,
RT_ADD,
RT_DELETE
} r_state;
ElfW(Addr) r_ldbase;
};
__END_DECLS
#endif /* _LINK_H_ */
================================================
FILE: atlas-aapt/bionic/libc/include/locale.h
================================================
/*
* Copyright (C) 2008 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#ifndef _LOCALE_H_
#define _LOCALE_H_
#include <sys/cdefs.h>
#include <xlocale.h>
__BEGIN_DECLS
#define LC_CTYPE 0
#define LC_NUMERIC 1
#define LC_TIME 2
#define LC_COLLATE 3
#define LC_MONETARY 4
#define LC_MESSAGES 5
#define LC_ALL 6
#define LC_PAPER 7
#define LC_NAME 8
#define LC_ADDRESS 9
#define LC_TELEPHONE 10
#define LC_MEASUREMENT 11
#define LC_IDENTIFICATION 12
#define LC_CTYPE_MASK (1 << LC_CTYPE)
#define LC_NUMERIC_MASK (1 << LC_NUMERIC)
#define LC_TIME_MASK (1 << LC_TIME)
#define LC_COLLATE_MASK (1 << LC_COLLATE)
#define LC_MONETARY_MASK (1 << LC_MONETARY)
#define LC_MESSAGES_MASK (1 << LC_MESSAGES)
#define LC_PAPER_MASK (1 << LC_PAPER)
#define LC_NAME_MASK (1 << LC_NAME)
#define LC_ADDRESS_MASK (1 << LC_ADDRESS)
#define LC_TELEPHONE_MASK (1 << LC_TELEPHONE)
#define LC_MEASUREMENT_MASK (1 << LC_MEASUREMENT)
#define LC_IDENTIFICATION_MASK (1 << LC_IDENTIFICATION)
#define LC_ALL_MASK (LC_CTYPE_MASK | LC_NUMERIC_MASK | LC_TIME_MASK | LC_COLLATE_MASK | \
LC_MONETARY_MASK | LC_MESSAGES_MASK | LC_PAPER_MASK | LC_NAME_MASK | \
LC_ADDRESS_MASK | LC_TELEPHONE_MASK | LC_MEASUREMENT_MASK | \
LC_IDENTIFICATION_MASK)
struct lconv {
char* decimal_point;
char* thousands_sep;
char* grouping;
char* int_curr_symbol;
char* currency_symbol;
char* mon_decimal_point;
char* mon_thousands_sep;
char* mon_grouping;
char* positive_sign;
char* negative_sign;
char int_frac_digits;
char frac_digits;
char p_cs_precedes;
char p_sep_by_space;
char n_cs_precedes;
char n_sep_by_space;
char p_sign_posn;
char n_sign_posn;
char int_p_cs_precedes;
char int_p_sep_by_space;
char int_n_cs_precedes;
char int_n_sep_by_space;
char int_p_sign_posn;
char int_n_sign_posn;
};
struct lconv* localeconv(void);
locale_t duplocale(locale_t);
void freelocale(locale_t);
locale_t newlocale(int, const char*, locale_t);
char* setlocale(int, const char*);
locale_t uselocale(locale_t);
#define LC_GLOBAL_LOCALE ((locale_t) -1L)
__END_DECLS
#endif /* _LOCALE_H_ */
================================================
FILE: atlas-aapt/bionic/libc/include/machine/endian.h
================================================
/*
* Copyright (C) 2014 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#ifndef _MACHINE_ENDIAN_H_
#define _MACHINE_ENDIAN_H_
/* This file is for BSD source compatibility only. Use <endian.h> or <sys/endian.h> instead. */
#include <sys/endian.h>
#endif /* _MACHINE_ENDIAN_H_ */
================================================
FILE: atlas-aapt/bionic/libc/include/machine/ieee.h
================================================
/* $OpenBSD: ieee.h,v 1.4 2011/11/08 17:06:51 deraadt Exp $ */
/* $NetBSD: ieee.h,v 1.2 2001/02/21 17:43:50 bjh21 Exp $ */
/*
* Copyright (c) 1992, 1993
* The Regents of the University of California. All rights reserved.
*
* This software was developed by the Computer Systems Engineering group
* at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and
* contributed to Berkeley.
*
* All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by the University of
* California, Lawrence Berkeley Laboratory.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* @(#)ieee.h 8.1 (Berkeley) 6/11/93
*/
#ifndef _MACHINE_IEEE_H_
#define _MACHINE_IEEE_H_
#include <sys/types.h>
__BEGIN_DECLS
#define SNG_EXPBITS 8
#define SNG_FRACBITS 23
#define SNG_EXP_INFNAN 255
#define SNG_EXP_BIAS 127
struct ieee_single {
unsigned sng_frac:23;
unsigned sng_exp:8;
unsigned sng_sign:1;
};
#define DBL_EXPBITS 11
#define DBL_FRACHBITS 20
#define DBL_FRACLBITS 32
#define DBL_FRACBITS 52
#define DBL_EXP_INFNAN 2047
#define DBL_EXP_BIAS 1023
struct ieee_double {
unsigned dbl_fracl;
unsigned dbl_frach:20;
unsigned dbl_exp:11;
unsigned dbl_sign:1;
};
#if __LP64__
/* 64-bit Android uses ld128 long doubles. */
#define EXT_EXPBITS 15
#define EXT_FRACHBITS 16
#define EXT_FRACHMBITS 32
#define EXT_FRACLMBITS 32
#define EXT_FRACLBITS 32
#define EXT_FRACBITS 112
#define EXT_EXP_INFNAN 32767
#define EXT_EXP_BIAS 16383
#define EXT_IMPLICIT_NBIT
#define EXT_TO_ARRAY32(p, a) do { \
(a)[0] = (uint32_t)(p)->ext_fracl; \
(a)[1] = (uint32_t)(p)->ext_fraclm; \
(a)[2] = (uint32_t)(p)->ext_frachm; \
(a)[3] = (uint32_t)(p)->ext_frach; \
} while(0)
struct ieee_ext {
unsigned ext_fracl;
unsigned ext_fraclm;
unsigned ext_frachm;
unsigned ext_frach:16;
unsigned ext_exp:15;
unsigned ext_sign:1;
};
#endif
__END_DECLS
#endif /* _MACHINE_IEEE_H_ */
================================================
FILE: atlas-aapt/bionic/libc/include/malloc.h
================================================
/*
* Copyright (C) 2012 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef LIBC_INCLUDE_MALLOC_H_
#define LIBC_INCLUDE_MALLOC_H_
#include <sys/cdefs.h>
#include <stddef.h>
#include <stdio.h>
__BEGIN_DECLS
extern void* malloc(size_t byte_count) __mallocfunc __wur __attribute__((alloc_size(1)));
extern void* calloc(size_t item_count, size_t item_size) __mallocfunc __wur __attribute__((alloc_size(1,2)));
extern void* realloc(void* p, size_t byte_count) __wur __attribute__((alloc_size(2)));
extern void free(void* p);
extern void* memalign(size_t alignment, size_t byte_count) __mallocfunc __wur __attribute__((alloc_size(2)));
extern size_t malloc_usable_size(const void* p);
#ifndef STRUCT_MALLINFO_DECLARED
#define STRUCT_MALLINFO_DECLARED 1
struct mallinfo {
size_t arena; /* Total number of non-mmapped bytes currently allocated from OS. */
size_t ordblks; /* Number of free chunks. */
size_t smblks; /* (Unused.) */
size_t hblks; /* (Unused.) */
size_t hblkhd; /* Total number of bytes in mmapped regions. */
size_t usmblks; /* Maximum total allocated space; greater than total if trimming has occurred. */
size_t fsmblks; /* (Unused.) */
Showing preview only (232K chars total). Download the full file or copy to clipboard to get everything.
gitextract_as4hsawy/ ├── .github/ │ └── ISSUE_TEMPLATE.md ├── .gitignore ├── .gitmodules ├── CONTRIBUTING.md ├── LICENSE ├── NOTICE ├── README.md ├── _config.yml ├── atlas-aapt/ │ ├── .gitignore │ ├── CMakeLists.txt │ ├── Makefile │ ├── README.md │ ├── README.zh-cn.md │ ├── UpdateAndroidSource.sh │ ├── bionic/ │ │ └── libc/ │ │ └── include/ │ │ ├── alloca.h │ │ ├── android/ │ │ │ ├── api-level.h │ │ │ ├── dlext.h │ │ │ ├── legacy_errno_inlines.h │ │ │ ├── legacy_signal_inlines.h │ │ │ ├── legacy_stdlib_inlines.h │ │ │ ├── legacy_sys_atomics_inlines.h │ │ │ ├── legacy_sys_stat_inlines.h │ │ │ ├── legacy_termios_inlines.h │ │ │ └── set_abort_message.h │ │ ├── ar.h │ │ ├── arpa/ │ │ │ ├── inet.h │ │ │ ├── nameser.h │ │ │ ├── nameser_compat.h │ │ │ └── telnet.h │ │ ├── assert.h │ │ ├── bits/ │ │ │ ├── lockf.h │ │ │ ├── posix_limits.h │ │ │ ├── pthread_types.h │ │ │ ├── timespec.h │ │ │ └── wchar_limits.h │ │ ├── byteswap.h │ │ ├── ctype.h │ │ ├── dirent.h │ │ ├── dlfcn.h │ │ ├── elf.h │ │ ├── endian.h │ │ ├── err.h │ │ ├── errno.h │ │ ├── error.h │ │ ├── fcntl.h │ │ ├── features.h │ │ ├── fnmatch.h │ │ ├── fts.h │ │ ├── ftw.h │ │ ├── getopt.h │ │ ├── grp.h │ │ ├── ifaddrs.h │ │ ├── inttypes.h │ │ ├── lastlog.h │ │ ├── libgen.h │ │ ├── limits.h │ │ ├── link.h │ │ ├── locale.h │ │ ├── machine/ │ │ │ ├── endian.h │ │ │ └── ieee.h │ │ ├── malloc.h │ │ ├── memory.h │ │ ├── mntent.h │ │ ├── net/ │ │ │ ├── ethernet.h │ │ │ ├── ethertypes.h │ │ │ ├── if.h │ │ │ ├── if_arp.h │ │ │ ├── if_ether.h │ │ │ ├── if_ieee1394.h │ │ │ ├── if_packet.h │ │ │ ├── if_types.h │ │ │ └── route.h │ │ ├── netdb.h │ │ ├── netinet/ │ │ │ ├── ether.h │ │ │ ├── icmp6.h │ │ │ ├── if_ether.h │ │ │ ├── in.h │ │ │ ├── in6.h │ │ │ ├── in_systm.h │ │ │ ├── ip.h │ │ │ ├── ip6.h │ │ │ ├── ip_icmp.h │ │ │ ├── tcp.h │ │ │ └── udp.h │ │ ├── netpacket/ │ │ │ └── packet.h │ │ ├── nsswitch.h │ │ ├── paths.h │ │ ├── poll.h │ │ ├── pthread.h │ │ ├── pty.h │ │ ├── pwd.h │ │ ├── regex.h │ │ ├── resolv.h │ │ ├── sched.h │ │ ├── search.h │ │ ├── semaphore.h │ │ ├── setjmp.h │ │ ├── sgtty.h │ │ ├── signal.h │ │ ├── stdatomic.h │ │ ├── stdint.h │ │ ├── stdio.h │ │ ├── stdio_ext.h │ │ ├── stdlib.h │ │ ├── string.h │ │ ├── strings.h │ │ ├── sys/ │ │ │ ├── _errdefs.h │ │ │ ├── _sigdefs.h │ │ │ ├── _system_properties.h │ │ │ ├── atomics.h │ │ │ ├── auxv.h │ │ │ ├── cachectl.h │ │ │ ├── capability.h │ │ │ ├── cdefs.h │ │ │ ├── endian.h │ │ │ ├── epoll.h │ │ │ ├── errno.h │ │ │ ├── eventfd.h │ │ │ ├── fcntl.h │ │ │ ├── file.h │ │ │ ├── fsuid.h │ │ │ ├── glibc-syscalls.h │ │ │ ├── inotify.h │ │ │ ├── ioctl.h │ │ │ ├── ioctl_compat.h │ │ │ ├── ipc.h │ │ │ ├── klog.h │ │ │ ├── limits.h │ │ │ ├── mman.h │ │ │ ├── mount.h │ │ │ ├── msg.h │ │ │ ├── param.h │ │ │ ├── personality.h │ │ │ ├── poll.h │ │ │ ├── prctl.h │ │ │ ├── procfs.h │ │ │ ├── ptrace.h │ │ │ ├── queue.h │ │ │ ├── reboot.h │ │ │ ├── reg.h │ │ │ ├── resource.h │ │ │ ├── select.h │ │ │ ├── sem.h │ │ │ ├── sendfile.h │ │ │ ├── signal.h │ │ │ ├── signalfd.h │ │ │ ├── socket.h │ │ │ ├── socketcalls.h │ │ │ ├── stat.h │ │ │ ├── statfs.h │ │ │ ├── statvfs.h │ │ │ ├── swap.h │ │ │ ├── syscall.h │ │ │ ├── sysconf.h │ │ │ ├── sysinfo.h │ │ │ ├── syslimits.h │ │ │ ├── syslog.h │ │ │ ├── sysmacros.h │ │ │ ├── system_properties.h │ │ │ ├── time.h │ │ │ ├── timerfd.h │ │ │ ├── times.h │ │ │ ├── timex.h │ │ │ ├── ttychars.h │ │ │ ├── ttydefaults.h │ │ │ ├── ttydev.h │ │ │ ├── types.h │ │ │ ├── ucontext.h │ │ │ ├── uio.h │ │ │ ├── un.h │ │ │ ├── unistd.h │ │ │ ├── user.h │ │ │ ├── utime.h │ │ │ ├── utsname.h │ │ │ ├── vfs.h │ │ │ ├── vt.h │ │ │ ├── wait.h │ │ │ └── xattr.h │ │ ├── syscall.h │ │ ├── sysexits.h │ │ ├── syslog.h │ │ ├── termio.h │ │ ├── termios.h │ │ ├── time.h │ │ ├── time64.h │ │ ├── uchar.h │ │ ├── ucontext.h │ │ ├── unistd.h │ │ ├── util.h │ │ ├── utime.h │ │ ├── utmp.h │ │ ├── wait.h │ │ ├── wchar.h │ │ ├── wctype.h │ │ └── xlocale.h │ ├── build_ShakaAapt_all_in_linux.sh │ ├── build_ShakaAapt_all_in_maxos.sh │ ├── external/ │ │ ├── compiler-rt/ │ │ │ ├── .arcconfig │ │ │ ├── .gitignore │ │ │ ├── Android.bp │ │ │ ├── Android.mk │ │ │ ├── CMakeLists.txt │ │ │ ├── CODE_OWNERS.TXT │ │ │ ├── CREDITS.TXT │ │ │ ├── LICENSE.TXT │ │ │ ├── MODULE_LICENSE_MIT │ │ │ ├── Makefile │ │ │ ├── NOTICE │ │ │ ├── README.android │ │ │ ├── README.txt │ │ │ ├── cmake/ │ │ │ │ ├── Modules/ │ │ │ │ │ ├── AddCompilerRT.cmake │ │ │ │ │ ├── CompilerRTCompile.cmake │ │ │ │ │ ├── CompilerRTDarwinUtils.cmake │ │ │ │ │ ├── CompilerRTLink.cmake │ │ │ │ │ ├── CompilerRTUtils.cmake │ │ │ │ │ └── SanitizerUtils.cmake │ │ │ │ └── config-ix.cmake │ │ │ ├── include/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── sanitizer/ │ │ │ │ ├── allocator_interface.h │ │ │ │ ├── asan_interface.h │ │ │ │ ├── common_interface_defs.h │ │ │ │ ├── coverage_interface.h │ │ │ │ ├── dfsan_interface.h │ │ │ │ ├── linux_syscall_hooks.h │ │ │ │ ├── lsan_interface.h │ │ │ │ ├── msan_interface.h │ │ │ │ └── tsan_interface_atomic.h │ │ │ ├── lib/ │ │ │ │ ├── BlocksRuntime/ │ │ │ │ │ ├── Block.h │ │ │ │ │ ├── Block_private.h │ │ │ │ │ ├── data.c │ │ │ │ │ └── runtime.c │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── Makefile.mk │ │ │ │ ├── asan/ │ │ │ │ │ ├── .clang-format │ │ │ │ │ ├── Android.mk │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── Makefile.mk │ │ │ │ │ ├── README.txt │ │ │ │ │ ├── asan.syms.extra │ │ │ │ │ ├── asan_activation.cc │ │ │ │ │ ├── asan_activation.h │ │ │ │ │ ├── asan_activation_flags.inc │ │ │ │ │ ├── asan_allocator.cc │ │ │ │ │ ├── asan_allocator.h │ │ │ │ │ ├── asan_android_stub.cc │ │ │ │ │ ├── asan_blacklist.txt │ │ │ │ │ ├── asan_debugging.cc │ │ │ │ │ ├── asan_fake_stack.cc │ │ │ │ │ ├── asan_fake_stack.h │ │ │ │ │ ├── asan_flags.cc │ │ │ │ │ ├── asan_flags.h │ │ │ │ │ ├── asan_flags.inc │ │ │ │ │ ├── asan_globals.cc │ │ │ │ │ ├── asan_init_version.h │ │ │ │ │ ├── asan_interceptors.cc │ │ │ │ │ ├── asan_interceptors.h │ │ │ │ │ ├── asan_interface_internal.h │ │ │ │ │ ├── asan_internal.h │ │ │ │ │ ├── asan_linux.cc │ │ │ │ │ ├── asan_lock.h │ │ │ │ │ ├── asan_mac.cc │ │ │ │ │ ├── asan_malloc_linux.cc │ │ │ │ │ ├── asan_malloc_mac.cc │ │ │ │ │ ├── asan_malloc_win.cc │ │ │ │ │ ├── asan_mapping.h │ │ │ │ │ ├── asan_new_delete.cc │ │ │ │ │ ├── asan_poisoning.cc │ │ │ │ │ ├── asan_poisoning.h │ │ │ │ │ ├── asan_posix.cc │ │ │ │ │ ├── asan_preinit.cc │ │ │ │ │ ├── asan_report.cc │ │ │ │ │ ├── asan_report.h │ │ │ │ │ ├── asan_rtl.cc │ │ │ │ │ ├── asan_stack.cc │ │ │ │ │ ├── asan_stack.h │ │ │ │ │ ├── asan_stats.cc │ │ │ │ │ ├── asan_stats.h │ │ │ │ │ ├── asan_suppressions.cc │ │ │ │ │ ├── asan_suppressions.h │ │ │ │ │ ├── asan_thread.cc │ │ │ │ │ ├── asan_thread.h │ │ │ │ │ ├── asan_win.cc │ │ │ │ │ ├── asan_win_dll_thunk.cc │ │ │ │ │ ├── asan_win_dynamic_runtime_thunk.cc │ │ │ │ │ ├── asanwrapper.cc │ │ │ │ │ ├── scripts/ │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── asan_device_setup │ │ │ │ │ │ ├── asan_symbolize.py │ │ │ │ │ │ └── symbolize.py │ │ │ │ │ └── tests/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── asan_asm_test.cc │ │ │ │ │ ├── asan_benchmarks_test.cc │ │ │ │ │ ├── asan_exceptions_test.cc │ │ │ │ │ ├── asan_fake_stack_test.cc │ │ │ │ │ ├── asan_globals_test.cc │ │ │ │ │ ├── asan_interface_test.cc │ │ │ │ │ ├── asan_mac_test.cc │ │ │ │ │ ├── asan_mac_test.h │ │ │ │ │ ├── asan_mac_test_helpers.mm │ │ │ │ │ ├── asan_mem_test.cc │ │ │ │ │ ├── asan_noinst_test.cc │ │ │ │ │ ├── asan_oob_test.cc │ │ │ │ │ ├── asan_racy_double_free_test.cc │ │ │ │ │ ├── asan_str_test.cc │ │ │ │ │ ├── asan_test.cc │ │ │ │ │ ├── asan_test.ignore │ │ │ │ │ ├── asan_test_config.h │ │ │ │ │ ├── asan_test_main.cc │ │ │ │ │ └── asan_test_utils.h │ │ │ │ ├── builtins/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── Darwin-excludes/ │ │ │ │ │ │ ├── 10.4-x86_64.txt │ │ │ │ │ │ ├── 10.4.txt │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── README.TXT │ │ │ │ │ │ ├── ios-armv7.txt │ │ │ │ │ │ ├── ios-armv7s.txt │ │ │ │ │ │ ├── ios.txt │ │ │ │ │ │ ├── ios6-armv7.txt │ │ │ │ │ │ ├── ios6-armv7s.txt │ │ │ │ │ │ ├── ios7-arm64.txt │ │ │ │ │ │ ├── iossim-i386.txt │ │ │ │ │ │ ├── iossim-x86_64.txt │ │ │ │ │ │ ├── iossim.txt │ │ │ │ │ │ ├── osx-i386.txt │ │ │ │ │ │ ├── osx-x86_64.txt │ │ │ │ │ │ └── osx.txt │ │ │ │ │ ├── Makefile.mk │ │ │ │ │ ├── README.txt │ │ │ │ │ ├── absvdi2.c │ │ │ │ │ ├── absvsi2.c │ │ │ │ │ ├── absvti2.c │ │ │ │ │ ├── adddf3.c │ │ │ │ │ ├── addsf3.c │ │ │ │ │ ├── addtf3.c │ │ │ │ │ ├── addvdi3.c │ │ │ │ │ ├── addvsi3.c │ │ │ │ │ ├── addvti3.c │ │ │ │ │ ├── apple_versioning.c │ │ │ │ │ ├── arm/ │ │ │ │ │ │ ├── Makefile.mk │ │ │ │ │ │ ├── adddf3vfp.S │ │ │ │ │ │ ├── addsf3vfp.S │ │ │ │ │ │ ├── aeabi_cdcmp.S │ │ │ │ │ │ ├── aeabi_cdcmpeq_check_nan.c │ │ │ │ │ │ ├── aeabi_cfcmp.S │ │ │ │ │ │ ├── aeabi_cfcmpeq_check_nan.c │ │ │ │ │ │ ├── aeabi_dcmp.S │ │ │ │ │ │ ├── aeabi_div0.c │ │ │ │ │ │ ├── aeabi_drsub.c │ │ │ │ │ │ ├── aeabi_fcmp.S │ │ │ │ │ │ ├── aeabi_frsub.c │ │ │ │ │ │ ├── aeabi_idivmod.S │ │ │ │ │ │ ├── aeabi_ldivmod.S │ │ │ │ │ │ ├── aeabi_memcmp.S │ │ │ │ │ │ ├── aeabi_memcpy.S │ │ │ │ │ │ ├── aeabi_memmove.S │ │ │ │ │ │ ├── aeabi_memset.S │ │ │ │ │ │ ├── aeabi_uidivmod.S │ │ │ │ │ │ ├── aeabi_uldivmod.S │ │ │ │ │ │ ├── bswapdi2.S │ │ │ │ │ │ ├── bswapsi2.S │ │ │ │ │ │ ├── clzdi2.S │ │ │ │ │ │ ├── clzsi2.S │ │ │ │ │ │ ├── comparesf2.S │ │ │ │ │ │ ├── divdf3vfp.S │ │ │ │ │ │ ├── divmodsi4.S │ │ │ │ │ │ ├── divsf3vfp.S │ │ │ │ │ │ ├── divsi3.S │ │ │ │ │ │ ├── eqdf2vfp.S │ │ │ │ │ │ ├── eqsf2vfp.S │ │ │ │ │ │ ├── extendsfdf2vfp.S │ │ │ │ │ │ ├── fixdfsivfp.S │ │ │ │ │ │ ├── fixsfsivfp.S │ │ │ │ │ │ ├── fixunsdfsivfp.S │ │ │ │ │ │ ├── fixunssfsivfp.S │ │ │ │ │ │ ├── floatsidfvfp.S │ │ │ │ │ │ ├── floatsisfvfp.S │ │ │ │ │ │ ├── floatunssidfvfp.S │ │ │ │ │ │ ├── floatunssisfvfp.S │ │ │ │ │ │ ├── gedf2vfp.S │ │ │ │ │ │ ├── gesf2vfp.S │ │ │ │ │ │ ├── gtdf2vfp.S │ │ │ │ │ │ ├── gtsf2vfp.S │ │ │ │ │ │ ├── ledf2vfp.S │ │ │ │ │ │ ├── lesf2vfp.S │ │ │ │ │ │ ├── ltdf2vfp.S │ │ │ │ │ │ ├── ltsf2vfp.S │ │ │ │ │ │ ├── modsi3.S │ │ │ │ │ │ ├── muldf3vfp.S │ │ │ │ │ │ ├── mulsf3vfp.S │ │ │ │ │ │ ├── nedf2vfp.S │ │ │ │ │ │ ├── negdf2vfp.S │ │ │ │ │ │ ├── negsf2vfp.S │ │ │ │ │ │ ├── nesf2vfp.S │ │ │ │ │ │ ├── restore_vfp_d8_d15_regs.S │ │ │ │ │ │ ├── save_vfp_d8_d15_regs.S │ │ │ │ │ │ ├── softfloat-alias.list │ │ │ │ │ │ ├── subdf3vfp.S │ │ │ │ │ │ ├── subsf3vfp.S │ │ │ │ │ │ ├── switch16.S │ │ │ │ │ │ ├── switch32.S │ │ │ │ │ │ ├── switch8.S │ │ │ │ │ │ ├── switchu8.S │ │ │ │ │ │ ├── sync-ops.h │ │ │ │ │ │ ├── sync_fetch_and_add_4.S │ │ │ │ │ │ ├── sync_fetch_and_add_8.S │ │ │ │ │ │ ├── sync_fetch_and_and_4.S │ │ │ │ │ │ ├── sync_fetch_and_and_8.S │ │ │ │ │ │ ├── sync_fetch_and_max_4.S │ │ │ │ │ │ ├── sync_fetch_and_max_8.S │ │ │ │ │ │ ├── sync_fetch_and_min_4.S │ │ │ │ │ │ ├── sync_fetch_and_min_8.S │ │ │ │ │ │ ├── sync_fetch_and_nand_4.S │ │ │ │ │ │ ├── sync_fetch_and_nand_8.S │ │ │ │ │ │ ├── sync_fetch_and_or_4.S │ │ │ │ │ │ ├── sync_fetch_and_or_8.S │ │ │ │ │ │ ├── sync_fetch_and_sub_4.S │ │ │ │ │ │ ├── sync_fetch_and_sub_8.S │ │ │ │ │ │ ├── sync_fetch_and_umax_4.S │ │ │ │ │ │ ├── sync_fetch_and_umax_8.S │ │ │ │ │ │ ├── sync_fetch_and_umin_4.S │ │ │ │ │ │ ├── sync_fetch_and_umin_8.S │ │ │ │ │ │ ├── sync_fetch_and_xor_4.S │ │ │ │ │ │ ├── sync_fetch_and_xor_8.S │ │ │ │ │ │ ├── sync_synchronize.S │ │ │ │ │ │ ├── truncdfsf2vfp.S │ │ │ │ │ │ ├── udivmodsi4.S │ │ │ │ │ │ ├── udivsi3.S │ │ │ │ │ │ ├── umodsi3.S │ │ │ │ │ │ ├── unorddf2vfp.S │ │ │ │ │ │ └── unordsf2vfp.S │ │ │ │ │ ├── arm64/ │ │ │ │ │ │ ├── Makefile.mk │ │ │ │ │ │ └── dummy.c │ │ │ │ │ ├── armv6m/ │ │ │ │ │ │ └── Makefile.mk │ │ │ │ │ ├── ashldi3.c │ │ │ │ │ ├── ashlti3.c │ │ │ │ │ ├── ashrdi3.c │ │ │ │ │ ├── ashrti3.c │ │ │ │ │ ├── assembly.h │ │ │ │ │ ├── atomic.c │ │ │ │ │ ├── atomic_flag_clear.c │ │ │ │ │ ├── atomic_flag_clear_explicit.c │ │ │ │ │ ├── atomic_flag_test_and_set.c │ │ │ │ │ ├── atomic_flag_test_and_set_explicit.c │ │ │ │ │ ├── atomic_signal_fence.c │ │ │ │ │ ├── atomic_thread_fence.c │ │ │ │ │ ├── clear_cache.c │ │ │ │ │ ├── clzdi2.c │ │ │ │ │ ├── clzsi2.c │ │ │ │ │ ├── clzti2.c │ │ │ │ │ ├── cmpdi2.c │ │ │ │ │ ├── cmpti2.c │ │ │ │ │ ├── comparedf2.c │ │ │ │ │ ├── comparesf2.c │ │ │ │ │ ├── comparetf2.c │ │ │ │ │ ├── ctzdi2.c │ │ │ │ │ ├── ctzsi2.c │ │ │ │ │ ├── ctzti2.c │ │ │ │ │ ├── divdc3.c │ │ │ │ │ ├── divdf3.c │ │ │ │ │ ├── divdi3.c │ │ │ │ │ ├── divmoddi4.c │ │ │ │ │ ├── divmodsi4.c │ │ │ │ │ ├── divsc3.c │ │ │ │ │ ├── divsf3.c │ │ │ │ │ ├── divsi3.c │ │ │ │ │ ├── divtc3.c │ │ │ │ │ ├── divtf3.c │ │ │ │ │ ├── divti3.c │ │ │ │ │ ├── divxc3.c │ │ │ │ │ ├── emutls.c │ │ │ │ │ ├── enable_execute_stack.c │ │ │ │ │ ├── eprintf.c │ │ │ │ │ ├── extenddftf2.c │ │ │ │ │ ├── extendhfsf2.c │ │ │ │ │ ├── extendsfdf2.c │ │ │ │ │ ├── extendsftf2.c │ │ │ │ │ ├── ffsdi2.c │ │ │ │ │ ├── ffsti2.c │ │ │ │ │ ├── fixdfdi.c │ │ │ │ │ ├── fixdfsi.c │ │ │ │ │ ├── fixdfti.c │ │ │ │ │ ├── fixsfdi.c │ │ │ │ │ ├── fixsfsi.c │ │ │ │ │ ├── fixsfti.c │ │ │ │ │ ├── fixtfdi.c │ │ │ │ │ ├── fixtfsi.c │ │ │ │ │ ├── fixtfti.c │ │ │ │ │ ├── fixunsdfdi.c │ │ │ │ │ ├── fixunsdfsi.c │ │ │ │ │ ├── fixunsdfti.c │ │ │ │ │ ├── fixunssfdi.c │ │ │ │ │ ├── fixunssfsi.c │ │ │ │ │ ├── fixunssfti.c │ │ │ │ │ ├── fixunstfdi.c │ │ │ │ │ ├── fixunstfsi.c │ │ │ │ │ ├── fixunstfti.c │ │ │ │ │ ├── fixunsxfdi.c │ │ │ │ │ ├── fixunsxfsi.c │ │ │ │ │ ├── fixunsxfti.c │ │ │ │ │ ├── fixxfdi.c │ │ │ │ │ ├── fixxfti.c │ │ │ │ │ ├── floatdidf.c │ │ │ │ │ ├── floatdisf.c │ │ │ │ │ ├── floatditf.c │ │ │ │ │ ├── floatdixf.c │ │ │ │ │ ├── floatsidf.c │ │ │ │ │ ├── floatsisf.c │ │ │ │ │ ├── floatsitf.c │ │ │ │ │ ├── floattidf.c │ │ │ │ │ ├── floattisf.c │ │ │ │ │ ├── floattixf.c │ │ │ │ │ ├── floatundidf.c │ │ │ │ │ ├── floatundisf.c │ │ │ │ │ ├── floatunditf.c │ │ │ │ │ ├── floatundixf.c │ │ │ │ │ ├── floatunsidf.c │ │ │ │ │ ├── floatunsisf.c │ │ │ │ │ ├── floatunsitf.c │ │ │ │ │ ├── floatuntidf.c │ │ │ │ │ ├── floatuntisf.c │ │ │ │ │ ├── floatuntixf.c │ │ │ │ │ ├── fp_add_impl.inc │ │ │ │ │ ├── fp_extend.h │ │ │ │ │ ├── fp_extend_impl.inc │ │ │ │ │ ├── fp_fixint_impl.inc │ │ │ │ │ ├── fp_fixuint_impl.inc │ │ │ │ │ ├── fp_lib.h │ │ │ │ │ ├── fp_mul_impl.inc │ │ │ │ │ ├── fp_trunc.h │ │ │ │ │ ├── fp_trunc_impl.inc │ │ │ │ │ ├── gcc_personality_v0.c │ │ │ │ │ ├── i386/ │ │ │ │ │ │ ├── Makefile.mk │ │ │ │ │ │ ├── ashldi3.S │ │ │ │ │ │ ├── ashrdi3.S │ │ │ │ │ │ ├── chkstk.S │ │ │ │ │ │ ├── chkstk2.S │ │ │ │ │ │ ├── divdi3.S │ │ │ │ │ │ ├── floatdidf.S │ │ │ │ │ │ ├── floatdisf.S │ │ │ │ │ │ ├── floatdixf.S │ │ │ │ │ │ ├── floatundidf.S │ │ │ │ │ │ ├── floatundisf.S │ │ │ │ │ │ ├── floatundixf.S │ │ │ │ │ │ ├── lshrdi3.S │ │ │ │ │ │ ├── moddi3.S │ │ │ │ │ │ ├── muldi3.S │ │ │ │ │ │ ├── udivdi3.S │ │ │ │ │ │ └── umoddi3.S │ │ │ │ │ ├── int_endianness.h │ │ │ │ │ ├── int_lib.h │ │ │ │ │ ├── int_math.h │ │ │ │ │ ├── int_types.h │ │ │ │ │ ├── int_util.c │ │ │ │ │ ├── int_util.h │ │ │ │ │ ├── lshrdi3.c │ │ │ │ │ ├── lshrti3.c │ │ │ │ │ ├── macho_embedded/ │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── arm.txt │ │ │ │ │ │ ├── common.txt │ │ │ │ │ │ ├── i386.txt │ │ │ │ │ │ ├── thumb2-64.txt │ │ │ │ │ │ └── thumb2.txt │ │ │ │ │ ├── moddi3.c │ │ │ │ │ ├── modsi3.c │ │ │ │ │ ├── modti3.c │ │ │ │ │ ├── muldc3.c │ │ │ │ │ ├── muldf3.c │ │ │ │ │ ├── muldi3.c │ │ │ │ │ ├── mulodi4.c │ │ │ │ │ ├── mulosi4.c │ │ │ │ │ ├── muloti4.c │ │ │ │ │ ├── mulsc3.c │ │ │ │ │ ├── mulsf3.c │ │ │ │ │ ├── multc3.c │ │ │ │ │ ├── multf3.c │ │ │ │ │ ├── multi3.c │ │ │ │ │ ├── mulvdi3.c │ │ │ │ │ ├── mulvsi3.c │ │ │ │ │ ├── mulvti3.c │ │ │ │ │ ├── mulxc3.c │ │ │ │ │ ├── negdf2.c │ │ │ │ │ ├── negdi2.c │ │ │ │ │ ├── negsf2.c │ │ │ │ │ ├── negti2.c │ │ │ │ │ ├── negvdi2.c │ │ │ │ │ ├── negvsi2.c │ │ │ │ │ ├── negvti2.c │ │ │ │ │ ├── paritydi2.c │ │ │ │ │ ├── paritysi2.c │ │ │ │ │ ├── parityti2.c │ │ │ │ │ ├── popcountdi2.c │ │ │ │ │ ├── popcountsi2.c │ │ │ │ │ ├── popcountti2.c │ │ │ │ │ ├── powidf2.c │ │ │ │ │ ├── powisf2.c │ │ │ │ │ ├── powitf2.c │ │ │ │ │ ├── powixf2.c │ │ │ │ │ ├── ppc/ │ │ │ │ │ │ ├── DD.h │ │ │ │ │ │ ├── Makefile.mk │ │ │ │ │ │ ├── divtc3.c │ │ │ │ │ │ ├── fixtfdi.c │ │ │ │ │ │ ├── fixunstfdi.c │ │ │ │ │ │ ├── floatditf.c │ │ │ │ │ │ ├── floatunditf.c │ │ │ │ │ │ ├── gcc_qadd.c │ │ │ │ │ │ ├── gcc_qdiv.c │ │ │ │ │ │ ├── gcc_qmul.c │ │ │ │ │ │ ├── gcc_qsub.c │ │ │ │ │ │ ├── multc3.c │ │ │ │ │ │ ├── restFP.S │ │ │ │ │ │ └── saveFP.S │ │ │ │ │ ├── subdf3.c │ │ │ │ │ ├── subsf3.c │ │ │ │ │ ├── subtf3.c │ │ │ │ │ ├── subvdi3.c │ │ │ │ │ ├── subvsi3.c │ │ │ │ │ ├── subvti3.c │ │ │ │ │ ├── trampoline_setup.c │ │ │ │ │ ├── truncdfhf2.c │ │ │ │ │ ├── truncdfsf2.c │ │ │ │ │ ├── truncsfhf2.c │ │ │ │ │ ├── trunctfdf2.c │ │ │ │ │ ├── trunctfsf2.c │ │ │ │ │ ├── ucmpdi2.c │ │ │ │ │ ├── ucmpti2.c │ │ │ │ │ ├── udivdi3.c │ │ │ │ │ ├── udivmoddi4.c │ │ │ │ │ ├── udivmodsi4.c │ │ │ │ │ ├── udivmodti4.c │ │ │ │ │ ├── udivsi3.c │ │ │ │ │ ├── udivti3.c │ │ │ │ │ ├── umoddi3.c │ │ │ │ │ ├── umodsi3.c │ │ │ │ │ ├── umodti3.c │ │ │ │ │ └── x86_64/ │ │ │ │ │ ├── Makefile.mk │ │ │ │ │ ├── chkstk.S │ │ │ │ │ ├── chkstk2.S │ │ │ │ │ ├── floatdidf.c │ │ │ │ │ ├── floatdisf.c │ │ │ │ │ ├── floatdixf.c │ │ │ │ │ ├── floatundidf.S │ │ │ │ │ ├── floatundisf.S │ │ │ │ │ └── floatundixf.S │ │ │ │ ├── cfi/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── cfi.cc │ │ │ │ │ └── cfi_blacklist.txt │ │ │ │ ├── dfsan/ │ │ │ │ │ ├── .clang-format │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── dfsan.cc │ │ │ │ │ ├── dfsan.h │ │ │ │ │ ├── dfsan.syms.extra │ │ │ │ │ ├── dfsan_custom.cc │ │ │ │ │ ├── dfsan_flags.inc │ │ │ │ │ ├── dfsan_interceptors.cc │ │ │ │ │ ├── dfsan_platform.h │ │ │ │ │ ├── done_abilist.txt │ │ │ │ │ ├── libc_ubuntu1404_abilist.txt │ │ │ │ │ └── scripts/ │ │ │ │ │ ├── build-libc-list.py │ │ │ │ │ └── check_custom_wrappers.sh │ │ │ │ ├── interception/ │ │ │ │ │ ├── .clang-format │ │ │ │ │ ├── Android.mk │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── Makefile.mk │ │ │ │ │ ├── interception.h │ │ │ │ │ ├── interception_linux.cc │ │ │ │ │ ├── interception_linux.h │ │ │ │ │ ├── interception_mac.cc │ │ │ │ │ ├── interception_mac.h │ │ │ │ │ ├── interception_type_test.cc │ │ │ │ │ ├── interception_win.cc │ │ │ │ │ └── interception_win.h │ │ │ │ ├── lsan/ │ │ │ │ │ ├── .clang-format │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── Makefile.mk │ │ │ │ │ ├── lsan.cc │ │ │ │ │ ├── lsan.h │ │ │ │ │ ├── lsan_allocator.cc │ │ │ │ │ ├── lsan_allocator.h │ │ │ │ │ ├── lsan_common.cc │ │ │ │ │ ├── lsan_common.h │ │ │ │ │ ├── lsan_common_linux.cc │ │ │ │ │ ├── lsan_flags.inc │ │ │ │ │ ├── lsan_interceptors.cc │ │ │ │ │ ├── lsan_preinit.cc │ │ │ │ │ ├── lsan_thread.cc │ │ │ │ │ └── lsan_thread.h │ │ │ │ ├── msan/ │ │ │ │ │ ├── .clang-format │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── msan.cc │ │ │ │ │ ├── msan.h │ │ │ │ │ ├── msan.syms.extra │ │ │ │ │ ├── msan_allocator.cc │ │ │ │ │ ├── msan_allocator.h │ │ │ │ │ ├── msan_blacklist.txt │ │ │ │ │ ├── msan_chained_origin_depot.cc │ │ │ │ │ ├── msan_chained_origin_depot.h │ │ │ │ │ ├── msan_flags.h │ │ │ │ │ ├── msan_flags.inc │ │ │ │ │ ├── msan_interceptors.cc │ │ │ │ │ ├── msan_interface_internal.h │ │ │ │ │ ├── msan_linux.cc │ │ │ │ │ ├── msan_new_delete.cc │ │ │ │ │ ├── msan_origin.h │ │ │ │ │ ├── msan_poisoning.cc │ │ │ │ │ ├── msan_poisoning.h │ │ │ │ │ ├── msan_report.cc │ │ │ │ │ ├── msan_thread.cc │ │ │ │ │ ├── msan_thread.h │ │ │ │ │ └── tests/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── msan_loadable.cc │ │ │ │ │ ├── msan_test.cc │ │ │ │ │ ├── msan_test_config.h │ │ │ │ │ └── msan_test_main.cc │ │ │ │ ├── profile/ │ │ │ │ │ ├── Android.mk │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── GCDAProfiling.c │ │ │ │ │ ├── InstrProfData.inc │ │ │ │ │ ├── InstrProfiling.c │ │ │ │ │ ├── InstrProfiling.h │ │ │ │ │ ├── InstrProfilingBuffer.c │ │ │ │ │ ├── InstrProfilingFile.c │ │ │ │ │ ├── InstrProfilingInternal.h │ │ │ │ │ ├── InstrProfilingPlatformDarwin.c │ │ │ │ │ ├── InstrProfilingPlatformLinux.c │ │ │ │ │ ├── InstrProfilingPlatformOther.c │ │ │ │ │ ├── InstrProfilingPort.h │ │ │ │ │ ├── InstrProfilingRuntime.cc │ │ │ │ │ ├── InstrProfilingUtil.c │ │ │ │ │ ├── InstrProfilingUtil.h │ │ │ │ │ ├── InstrProfilingValue.c │ │ │ │ │ ├── InstrProfilingWriter.c │ │ │ │ │ └── Makefile.mk │ │ │ │ ├── safestack/ │ │ │ │ │ ├── .clang-format │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── safestack.cc │ │ │ │ ├── sanitizer_common/ │ │ │ │ │ ├── .clang-format │ │ │ │ │ ├── Android.mk │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── Makefile.mk │ │ │ │ │ ├── sanitizer_addrhashmap.h │ │ │ │ │ ├── sanitizer_allocator.cc │ │ │ │ │ ├── sanitizer_allocator.h │ │ │ │ │ ├── sanitizer_allocator_interface.h │ │ │ │ │ ├── sanitizer_allocator_internal.h │ │ │ │ │ ├── sanitizer_asm.h │ │ │ │ │ ├── sanitizer_atomic.h │ │ │ │ │ ├── sanitizer_atomic_clang.h │ │ │ │ │ ├── sanitizer_atomic_clang_other.h │ │ │ │ │ ├── sanitizer_atomic_clang_x86.h │ │ │ │ │ ├── sanitizer_atomic_msvc.h │ │ │ │ │ ├── sanitizer_bitvector.h │ │ │ │ │ ├── sanitizer_bvgraph.h │ │ │ │ │ ├── sanitizer_common.cc │ │ │ │ │ ├── sanitizer_common.h │ │ │ │ │ ├── sanitizer_common_interceptors.inc │ │ │ │ │ ├── sanitizer_common_interceptors_format.inc │ │ │ │ │ ├── sanitizer_common_interceptors_ioctl.inc │ │ │ │ │ ├── sanitizer_common_libcdep.cc │ │ │ │ │ ├── sanitizer_common_nolibc.cc │ │ │ │ │ ├── sanitizer_common_syscalls.inc │ │ │ │ │ ├── sanitizer_coverage_libcdep.cc │ │ │ │ │ ├── sanitizer_coverage_mapping_libcdep.cc │ │ │ │ │ ├── sanitizer_deadlock_detector.h │ │ │ │ │ ├── sanitizer_deadlock_detector1.cc │ │ │ │ │ ├── sanitizer_deadlock_detector2.cc │ │ │ │ │ ├── sanitizer_deadlock_detector_interface.h │ │ │ │ │ ├── sanitizer_flag_parser.cc │ │ │ │ │ ├── sanitizer_flag_parser.h │ │ │ │ │ ├── sanitizer_flags.cc │ │ │ │ │ ├── sanitizer_flags.h │ │ │ │ │ ├── sanitizer_flags.inc │ │ │ │ │ ├── sanitizer_freebsd.h │ │ │ │ │ ├── sanitizer_interface_internal.h │ │ │ │ │ ├── sanitizer_internal_defs.h │ │ │ │ │ ├── sanitizer_lfstack.h │ │ │ │ │ ├── sanitizer_libc.cc │ │ │ │ │ ├── sanitizer_libc.h │ │ │ │ │ ├── sanitizer_libignore.cc │ │ │ │ │ ├── sanitizer_libignore.h │ │ │ │ │ ├── sanitizer_linux.cc │ │ │ │ │ ├── sanitizer_linux.h │ │ │ │ │ ├── sanitizer_linux_libcdep.cc │ │ │ │ │ ├── sanitizer_list.h │ │ │ │ │ ├── sanitizer_mac.cc │ │ │ │ │ ├── sanitizer_mac.h │ │ │ │ │ ├── sanitizer_malloc_mac.inc │ │ │ │ │ ├── sanitizer_mutex.h │ │ │ │ │ ├── sanitizer_persistent_allocator.cc │ │ │ │ │ ├── sanitizer_persistent_allocator.h │ │ │ │ │ ├── sanitizer_placement_new.h │ │ │ │ │ ├── sanitizer_platform.h │ │ │ │ │ ├── sanitizer_platform_interceptors.h │ │ │ │ │ ├── sanitizer_platform_limits_linux.cc │ │ │ │ │ ├── sanitizer_platform_limits_posix.cc │ │ │ │ │ ├── sanitizer_platform_limits_posix.h │ │ │ │ │ ├── sanitizer_posix.cc │ │ │ │ │ ├── sanitizer_posix.h │ │ │ │ │ ├── sanitizer_posix_libcdep.cc │ │ │ │ │ ├── sanitizer_printf.cc │ │ │ │ │ ├── sanitizer_procmaps.h │ │ │ │ │ ├── sanitizer_procmaps_common.cc │ │ │ │ │ ├── sanitizer_procmaps_freebsd.cc │ │ │ │ │ ├── sanitizer_procmaps_linux.cc │ │ │ │ │ ├── sanitizer_procmaps_mac.cc │ │ │ │ │ ├── sanitizer_quarantine.h │ │ │ │ │ ├── sanitizer_report_decorator.h │ │ │ │ │ ├── sanitizer_stackdepot.cc │ │ │ │ │ ├── sanitizer_stackdepot.h │ │ │ │ │ ├── sanitizer_stackdepotbase.h │ │ │ │ │ ├── sanitizer_stacktrace.cc │ │ │ │ │ ├── sanitizer_stacktrace.h │ │ │ │ │ ├── sanitizer_stacktrace_libcdep.cc │ │ │ │ │ ├── sanitizer_stacktrace_printer.cc │ │ │ │ │ ├── sanitizer_stacktrace_printer.h │ │ │ │ │ ├── sanitizer_stoptheworld.h │ │ │ │ │ ├── sanitizer_stoptheworld_linux_libcdep.cc │ │ │ │ │ ├── sanitizer_suppressions.cc │ │ │ │ │ ├── sanitizer_suppressions.h │ │ │ │ │ ├── sanitizer_symbolizer.cc │ │ │ │ │ ├── sanitizer_symbolizer.h │ │ │ │ │ ├── sanitizer_symbolizer_internal.h │ │ │ │ │ ├── sanitizer_symbolizer_libbacktrace.cc │ │ │ │ │ ├── sanitizer_symbolizer_libbacktrace.h │ │ │ │ │ ├── sanitizer_symbolizer_libcdep.cc │ │ │ │ │ ├── sanitizer_symbolizer_mac.cc │ │ │ │ │ ├── sanitizer_symbolizer_mac.h │ │ │ │ │ ├── sanitizer_symbolizer_posix_libcdep.cc │ │ │ │ │ ├── sanitizer_symbolizer_win.cc │ │ │ │ │ ├── sanitizer_syscall_generic.inc │ │ │ │ │ ├── sanitizer_syscall_linux_aarch64.inc │ │ │ │ │ ├── sanitizer_syscall_linux_x86_64.inc │ │ │ │ │ ├── sanitizer_thread_registry.cc │ │ │ │ │ ├── sanitizer_thread_registry.h │ │ │ │ │ ├── sanitizer_tls_get_addr.cc │ │ │ │ │ ├── sanitizer_tls_get_addr.h │ │ │ │ │ ├── sanitizer_unwind_linux_libcdep.cc │ │ │ │ │ ├── sanitizer_win.cc │ │ │ │ │ ├── scripts/ │ │ │ │ │ │ ├── check_lint.sh │ │ │ │ │ │ ├── cpplint.py │ │ │ │ │ │ ├── gen_dynamic_list.py │ │ │ │ │ │ ├── litlint.py │ │ │ │ │ │ ├── litlint_test.py │ │ │ │ │ │ └── sancov.py │ │ │ │ │ └── tests/ │ │ │ │ │ ├── Android.mk │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── sanitizer_allocator_test.cc │ │ │ │ │ ├── sanitizer_allocator_testlib.cc │ │ │ │ │ ├── sanitizer_atomic_test.cc │ │ │ │ │ ├── sanitizer_bitvector_test.cc │ │ │ │ │ ├── sanitizer_bvgraph_test.cc │ │ │ │ │ ├── sanitizer_common_test.cc │ │ │ │ │ ├── sanitizer_deadlock_detector_test.cc │ │ │ │ │ ├── sanitizer_flags_test.cc │ │ │ │ │ ├── sanitizer_format_interceptor_test.cc │ │ │ │ │ ├── sanitizer_ioctl_test.cc │ │ │ │ │ ├── sanitizer_libc_test.cc │ │ │ │ │ ├── sanitizer_linux_test.cc │ │ │ │ │ ├── sanitizer_list_test.cc │ │ │ │ │ ├── sanitizer_mutex_test.cc │ │ │ │ │ ├── sanitizer_nolibc_test.cc │ │ │ │ │ ├── sanitizer_nolibc_test_main.cc │ │ │ │ │ ├── sanitizer_posix_test.cc │ │ │ │ │ ├── sanitizer_printf_test.cc │ │ │ │ │ ├── sanitizer_procmaps_test.cc │ │ │ │ │ ├── sanitizer_pthread_wrappers.h │ │ │ │ │ ├── sanitizer_stackdepot_test.cc │ │ │ │ │ ├── sanitizer_stacktrace_printer_test.cc │ │ │ │ │ ├── sanitizer_stacktrace_test.cc │ │ │ │ │ ├── sanitizer_stoptheworld_test.cc │ │ │ │ │ ├── sanitizer_stoptheworld_testlib.cc │ │ │ │ │ ├── sanitizer_suppressions_test.cc │ │ │ │ │ ├── sanitizer_symbolizer_test.cc │ │ │ │ │ ├── sanitizer_test_config.h │ │ │ │ │ ├── sanitizer_test_main.cc │ │ │ │ │ ├── sanitizer_test_utils.h │ │ │ │ │ ├── sanitizer_thread_registry_test.cc │ │ │ │ │ └── standalone_malloc_test.cc │ │ │ │ ├── tsan/ │ │ │ │ │ ├── .clang-format │ │ │ │ │ ├── Android.mk │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── analyze_libtsan.sh │ │ │ │ │ ├── benchmarks/ │ │ │ │ │ │ ├── mini_bench_local.cc │ │ │ │ │ │ ├── mini_bench_shared.cc │ │ │ │ │ │ ├── start_many_threads.cc │ │ │ │ │ │ └── vts_many_threads_bench.cc │ │ │ │ │ ├── check_analyze.sh │ │ │ │ │ ├── check_cmake.sh │ │ │ │ │ ├── dd/ │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── dd_interceptors.cc │ │ │ │ │ │ ├── dd_rtl.cc │ │ │ │ │ │ └── dd_rtl.h │ │ │ │ │ ├── go/ │ │ │ │ │ │ ├── build.bat │ │ │ │ │ │ ├── buildgo.sh │ │ │ │ │ │ ├── test.c │ │ │ │ │ │ └── tsan_go.cc │ │ │ │ │ ├── rtl/ │ │ │ │ │ │ ├── tsan.syms.extra │ │ │ │ │ │ ├── tsan_clock.cc │ │ │ │ │ │ ├── tsan_clock.h │ │ │ │ │ │ ├── tsan_defs.h │ │ │ │ │ │ ├── tsan_dense_alloc.h │ │ │ │ │ │ ├── tsan_fd.cc │ │ │ │ │ │ ├── tsan_fd.h │ │ │ │ │ │ ├── tsan_flags.cc │ │ │ │ │ │ ├── tsan_flags.h │ │ │ │ │ │ ├── tsan_flags.inc │ │ │ │ │ │ ├── tsan_ignoreset.cc │ │ │ │ │ │ ├── tsan_ignoreset.h │ │ │ │ │ │ ├── tsan_interceptors.cc │ │ │ │ │ │ ├── tsan_interceptors.h │ │ │ │ │ │ ├── tsan_interceptors_mac.cc │ │ │ │ │ │ ├── tsan_interface.cc │ │ │ │ │ │ ├── tsan_interface.h │ │ │ │ │ │ ├── tsan_interface_ann.cc │ │ │ │ │ │ ├── tsan_interface_ann.h │ │ │ │ │ │ ├── tsan_interface_atomic.cc │ │ │ │ │ │ ├── tsan_interface_inl.h │ │ │ │ │ │ ├── tsan_interface_java.cc │ │ │ │ │ │ ├── tsan_interface_java.h │ │ │ │ │ │ ├── tsan_libdispatch_mac.cc │ │ │ │ │ │ ├── tsan_malloc_mac.cc │ │ │ │ │ │ ├── tsan_md5.cc │ │ │ │ │ │ ├── tsan_mman.cc │ │ │ │ │ │ ├── tsan_mman.h │ │ │ │ │ │ ├── tsan_mutex.cc │ │ │ │ │ │ ├── tsan_mutex.h │ │ │ │ │ │ ├── tsan_mutexset.cc │ │ │ │ │ │ ├── tsan_mutexset.h │ │ │ │ │ │ ├── tsan_new_delete.cc │ │ │ │ │ │ ├── tsan_platform.h │ │ │ │ │ │ ├── tsan_platform_linux.cc │ │ │ │ │ │ ├── tsan_platform_mac.cc │ │ │ │ │ │ ├── tsan_platform_posix.cc │ │ │ │ │ │ ├── tsan_platform_windows.cc │ │ │ │ │ │ ├── tsan_ppc_regs.h │ │ │ │ │ │ ├── tsan_report.cc │ │ │ │ │ │ ├── tsan_report.h │ │ │ │ │ │ ├── tsan_rtl.cc │ │ │ │ │ │ ├── tsan_rtl.h │ │ │ │ │ │ ├── tsan_rtl_aarch64.S │ │ │ │ │ │ ├── tsan_rtl_amd64.S │ │ │ │ │ │ ├── tsan_rtl_mutex.cc │ │ │ │ │ │ ├── tsan_rtl_ppc64.S │ │ │ │ │ │ ├── tsan_rtl_report.cc │ │ │ │ │ │ ├── tsan_rtl_thread.cc │ │ │ │ │ │ ├── tsan_stack_trace.cc │ │ │ │ │ │ ├── tsan_stack_trace.h │ │ │ │ │ │ ├── tsan_stat.cc │ │ │ │ │ │ ├── tsan_stat.h │ │ │ │ │ │ ├── tsan_suppressions.cc │ │ │ │ │ │ ├── tsan_suppressions.h │ │ │ │ │ │ ├── tsan_symbolize.cc │ │ │ │ │ │ ├── tsan_symbolize.h │ │ │ │ │ │ ├── tsan_sync.cc │ │ │ │ │ │ ├── tsan_sync.h │ │ │ │ │ │ ├── tsan_trace.h │ │ │ │ │ │ ├── tsan_update_shadow_word_inl.h │ │ │ │ │ │ └── tsan_vector.h │ │ │ │ │ └── tests/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── rtl/ │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── tsan_bench.cc │ │ │ │ │ │ ├── tsan_mop.cc │ │ │ │ │ │ ├── tsan_mutex.cc │ │ │ │ │ │ ├── tsan_posix.cc │ │ │ │ │ │ ├── tsan_string.cc │ │ │ │ │ │ ├── tsan_test.cc │ │ │ │ │ │ ├── tsan_test_util.h │ │ │ │ │ │ ├── tsan_test_util_linux.cc │ │ │ │ │ │ └── tsan_thread.cc │ │ │ │ │ └── unit/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── tsan_clock_test.cc │ │ │ │ │ ├── tsan_dense_alloc_test.cc │ │ │ │ │ ├── tsan_flags_test.cc │ │ │ │ │ ├── tsan_mman_test.cc │ │ │ │ │ ├── tsan_mutex_test.cc │ │ │ │ │ ├── tsan_mutexset_test.cc │ │ │ │ │ ├── tsan_shadow_test.cc │ │ │ │ │ ├── tsan_stack_test.cc │ │ │ │ │ ├── tsan_sync_test.cc │ │ │ │ │ ├── tsan_unit_test_main.cc │ │ │ │ │ └── tsan_vector_test.cc │ │ │ │ └── ubsan/ │ │ │ │ ├── Android.mk │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── Makefile.mk │ │ │ │ ├── ubsan.syms.extra │ │ │ │ ├── ubsan_checks.inc │ │ │ │ ├── ubsan_diag.cc │ │ │ │ ├── ubsan_diag.h │ │ │ │ ├── ubsan_flags.cc │ │ │ │ ├── ubsan_flags.h │ │ │ │ ├── ubsan_flags.inc │ │ │ │ ├── ubsan_handlers.cc │ │ │ │ ├── ubsan_handlers.h │ │ │ │ ├── ubsan_handlers_cxx.cc │ │ │ │ ├── ubsan_handlers_cxx.h │ │ │ │ ├── ubsan_init.cc │ │ │ │ ├── ubsan_init.h │ │ │ │ ├── ubsan_init_standalone.cc │ │ │ │ ├── ubsan_platform.h │ │ │ │ ├── ubsan_type_hash.cc │ │ │ │ ├── ubsan_type_hash.h │ │ │ │ ├── ubsan_type_hash_itanium.cc │ │ │ │ ├── ubsan_type_hash_win.cc │ │ │ │ ├── ubsan_value.cc │ │ │ │ └── ubsan_value.h │ │ │ └── make/ │ │ │ ├── AppleBI.mk │ │ │ ├── config.mk │ │ │ ├── filter-inputs │ │ │ ├── lib_info.mk │ │ │ ├── lib_platforms.mk │ │ │ ├── lib_util.mk │ │ │ ├── options.mk │ │ │ ├── platform/ │ │ │ │ ├── clang_darwin.mk │ │ │ │ ├── clang_darwin_test_input.c │ │ │ │ ├── clang_linux.mk │ │ │ │ ├── clang_linux_test_input.c │ │ │ │ ├── clang_macho_embedded.mk │ │ │ │ ├── clang_macho_embedded_test_input.c │ │ │ │ ├── clang_mingw.mk │ │ │ │ ├── darwin_bni.mk │ │ │ │ └── multi_arch.mk │ │ │ ├── subdir.mk │ │ │ ├── test/ │ │ │ │ └── test-util.mk │ │ │ └── util.mk │ │ ├── expat/ │ │ │ ├── Android.mk │ │ │ ├── Changes │ │ │ ├── CleanSpec.mk │ │ │ ├── MODULE_LICENSE_BSD_LIKE │ │ │ ├── NOTICE │ │ │ ├── README │ │ │ ├── README.android │ │ │ ├── README.version │ │ │ ├── expat_config.h │ │ │ ├── import_expat.sh │ │ │ └── lib/ │ │ │ ├── ascii.h │ │ │ ├── asciitab.h │ │ │ ├── expat.h │ │ │ ├── expat_external.h │ │ │ ├── iasciitab.h │ │ │ ├── internal.h │ │ │ ├── latin1tab.h │ │ │ ├── nametab.h │ │ │ ├── utf8tab.h │ │ │ ├── xmlparse.c │ │ │ ├── xmlrole.c │ │ │ ├── xmlrole.h │ │ │ ├── xmltok.c │ │ │ ├── xmltok.h │ │ │ ├── xmltok_impl.c │ │ │ ├── xmltok_impl.h │ │ │ └── xmltok_ns.c │ │ ├── libcxx/ │ │ │ ├── .arcconfig │ │ │ ├── .gitignore │ │ │ ├── Android.bp │ │ │ ├── Android.mk │ │ │ ├── CMakeLists.txt │ │ │ ├── CREDITS.TXT │ │ │ ├── LICENSE.TXT │ │ │ ├── MODULE_LICENSE_BSD_LIKE │ │ │ ├── Makefile │ │ │ ├── NOTICE │ │ │ ├── TODO.TXT │ │ │ ├── buildcmds/ │ │ │ │ ├── .gitignore │ │ │ │ ├── Android.mk │ │ │ │ ├── buildcmdscc │ │ │ │ └── dummy.cpp │ │ │ ├── cmake/ │ │ │ │ ├── Modules/ │ │ │ │ │ ├── CodeCoverage.cmake │ │ │ │ │ ├── HandleLibCXXABI.cmake │ │ │ │ │ ├── HandleLibcxxFlags.cmake │ │ │ │ │ ├── HandleOutOfTreeLLVM.cmake │ │ │ │ │ └── MacroEnsureOutOfSourceBuild.cmake │ │ │ │ └── config-ix.cmake │ │ │ ├── include/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── __bit_reference │ │ │ │ ├── __config │ │ │ │ ├── __debug │ │ │ │ ├── __functional_03 │ │ │ │ ├── __functional_base │ │ │ │ ├── __functional_base_03 │ │ │ │ ├── __hash_table │ │ │ │ ├── __locale │ │ │ │ ├── __mutex_base │ │ │ │ ├── __refstring │ │ │ │ ├── __split_buffer │ │ │ │ ├── __sso_allocator │ │ │ │ ├── __std_stream │ │ │ │ ├── __tree │ │ │ │ ├── __tuple │ │ │ │ ├── __undef___deallocate │ │ │ │ ├── __undef_min_max │ │ │ │ ├── algorithm │ │ │ │ ├── array │ │ │ │ ├── atomic │ │ │ │ ├── bitset │ │ │ │ ├── cassert │ │ │ │ ├── ccomplex │ │ │ │ ├── cctype │ │ │ │ ├── cerrno │ │ │ │ ├── cfenv │ │ │ │ ├── cfloat │ │ │ │ ├── chrono │ │ │ │ ├── cinttypes │ │ │ │ ├── ciso646 │ │ │ │ ├── climits │ │ │ │ ├── clocale │ │ │ │ ├── cmath │ │ │ │ ├── codecvt │ │ │ │ ├── complex │ │ │ │ ├── complex.h │ │ │ │ ├── condition_variable │ │ │ │ ├── csetjmp │ │ │ │ ├── csignal │ │ │ │ ├── cstdarg │ │ │ │ ├── cstdbool │ │ │ │ ├── cstddef │ │ │ │ ├── cstdint │ │ │ │ ├── cstdio │ │ │ │ ├── cstdlib │ │ │ │ ├── cstring │ │ │ │ ├── ctgmath │ │ │ │ ├── ctime │ │ │ │ ├── cwchar │ │ │ │ ├── cwctype │ │ │ │ ├── deque │ │ │ │ ├── exception │ │ │ │ ├── experimental/ │ │ │ │ │ ├── __config │ │ │ │ │ ├── algorithm │ │ │ │ │ ├── any │ │ │ │ │ ├── chrono │ │ │ │ │ ├── dynarray │ │ │ │ │ ├── functional │ │ │ │ │ ├── optional │ │ │ │ │ ├── ratio │ │ │ │ │ ├── string_view │ │ │ │ │ ├── system_error │ │ │ │ │ ├── tuple │ │ │ │ │ ├── type_traits │ │ │ │ │ └── utility │ │ │ │ ├── ext/ │ │ │ │ │ ├── __hash │ │ │ │ │ ├── hash_map │ │ │ │ │ └── hash_set │ │ │ │ ├── forward_list │ │ │ │ ├── fstream │ │ │ │ ├── functional │ │ │ │ ├── future │ │ │ │ ├── initializer_list │ │ │ │ ├── iomanip │ │ │ │ ├── ios │ │ │ │ ├── iosfwd │ │ │ │ ├── iostream │ │ │ │ ├── istream │ │ │ │ ├── iterator │ │ │ │ ├── limits │ │ │ │ ├── list │ │ │ │ ├── locale │ │ │ │ ├── map │ │ │ │ ├── memory │ │ │ │ ├── module.modulemap │ │ │ │ ├── mutex │ │ │ │ ├── new │ │ │ │ ├── numeric │ │ │ │ ├── ostream │ │ │ │ ├── queue │ │ │ │ ├── random │ │ │ │ ├── ratio │ │ │ │ ├── regex │ │ │ │ ├── scoped_allocator │ │ │ │ ├── set │ │ │ │ ├── shared_mutex │ │ │ │ ├── sstream │ │ │ │ ├── stack │ │ │ │ ├── stdexcept │ │ │ │ ├── streambuf │ │ │ │ ├── string │ │ │ │ ├── strstream │ │ │ │ ├── support/ │ │ │ │ │ ├── android/ │ │ │ │ │ │ └── locale_bionic.h │ │ │ │ │ ├── ibm/ │ │ │ │ │ │ ├── limits.h │ │ │ │ │ │ ├── support.h │ │ │ │ │ │ └── xlocale.h │ │ │ │ │ ├── newlib/ │ │ │ │ │ │ └── xlocale.h │ │ │ │ │ ├── solaris/ │ │ │ │ │ │ ├── floatingpoint.h │ │ │ │ │ │ ├── wchar.h │ │ │ │ │ │ └── xlocale.h │ │ │ │ │ ├── win32/ │ │ │ │ │ │ ├── limits_win32.h │ │ │ │ │ │ ├── locale_win32.h │ │ │ │ │ │ ├── math_win32.h │ │ │ │ │ │ └── support.h │ │ │ │ │ └── xlocale/ │ │ │ │ │ └── xlocale.h │ │ │ │ ├── system_error │ │ │ │ ├── tgmath.h │ │ │ │ ├── thread │ │ │ │ ├── tuple │ │ │ │ ├── type_traits │ │ │ │ ├── typeindex │ │ │ │ ├── typeinfo │ │ │ │ ├── unordered_map │ │ │ │ ├── unordered_set │ │ │ │ ├── utility │ │ │ │ ├── valarray │ │ │ │ └── vector │ │ │ ├── lib/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── buildit │ │ │ │ ├── libc++abi.exp │ │ │ │ ├── libc++abi2.exp │ │ │ │ ├── libc++sjlj-abi.exp │ │ │ │ ├── libc++unexp.exp │ │ │ │ ├── notweak.exp │ │ │ │ └── weak.exp │ │ │ ├── lit.site.cfg │ │ │ ├── ndk-test.sh │ │ │ ├── run-tests.py │ │ │ ├── src/ │ │ │ │ ├── algorithm.cpp │ │ │ │ ├── any.cpp │ │ │ │ ├── bind.cpp │ │ │ │ ├── chrono.cpp │ │ │ │ ├── condition_variable.cpp │ │ │ │ ├── config_elast.h │ │ │ │ ├── debug.cpp │ │ │ │ ├── exception.cpp │ │ │ │ ├── future.cpp │ │ │ │ ├── hash.cpp │ │ │ │ ├── ios.cpp │ │ │ │ ├── iostream.cpp │ │ │ │ ├── locale.cpp │ │ │ │ ├── memory.cpp │ │ │ │ ├── mutex.cpp │ │ │ │ ├── new.cpp │ │ │ │ ├── optional.cpp │ │ │ │ ├── random.cpp │ │ │ │ ├── regex.cpp │ │ │ │ ├── shared_mutex.cpp │ │ │ │ ├── stdexcept.cpp │ │ │ │ ├── string.cpp │ │ │ │ ├── strstream.cpp │ │ │ │ ├── support/ │ │ │ │ │ ├── atomic_support.h │ │ │ │ │ ├── solaris/ │ │ │ │ │ │ ├── README │ │ │ │ │ │ ├── mbsnrtowcs.inc │ │ │ │ │ │ ├── wcsnrtombs.inc │ │ │ │ │ │ └── xlocale.c │ │ │ │ │ └── win32/ │ │ │ │ │ ├── locale_win32.cpp │ │ │ │ │ └── support.cpp │ │ │ │ ├── system_error.cpp │ │ │ │ ├── thread.cpp │ │ │ │ ├── typeinfo.cpp │ │ │ │ ├── utility.cpp │ │ │ │ └── valarray.cpp │ │ │ ├── test.mk │ │ │ └── utils/ │ │ │ ├── not/ │ │ │ │ └── not.py │ │ │ └── sym_check/ │ │ │ ├── linux_blacklist.txt │ │ │ ├── osx_blacklist.txt │ │ │ ├── sym_check/ │ │ │ │ ├── __init__.py │ │ │ │ ├── diff.py │ │ │ │ ├── extract.py │ │ │ │ ├── match.py │ │ │ │ └── util.py │ │ │ ├── sym_diff.py │ │ │ ├── sym_extract.py │ │ │ └── sym_match.py │ │ ├── libcxxabi/ │ │ │ ├── .arcconfig │ │ │ ├── .gitignore │ │ │ ├── Android.bp │ │ │ ├── Android.mk │ │ │ ├── CMakeLists.txt │ │ │ ├── CREDITS.TXT │ │ │ ├── LICENSE.TXT │ │ │ ├── MODULE_LICENSE_BSD_LIKE │ │ │ ├── NOTICE │ │ │ ├── cmake/ │ │ │ │ └── config-ix.cmake │ │ │ ├── include/ │ │ │ │ ├── __cxxabi_config.h │ │ │ │ └── cxxabi.h │ │ │ ├── lib/ │ │ │ │ └── buildit │ │ │ └── src/ │ │ │ ├── CMakeLists.txt │ │ │ ├── abort_message.cpp │ │ │ ├── abort_message.h │ │ │ ├── config.h │ │ │ ├── cxa_aux_runtime.cpp │ │ │ ├── cxa_default_handlers.cpp │ │ │ ├── cxa_demangle.cpp │ │ │ ├── cxa_exception.cpp │ │ │ ├── cxa_exception.hpp │ │ │ ├── cxa_exception_storage.cpp │ │ │ ├── cxa_guard.cpp │ │ │ ├── cxa_handlers.cpp │ │ │ ├── cxa_handlers.hpp │ │ │ ├── cxa_new_delete.cpp │ │ │ ├── cxa_personality.cpp │ │ │ ├── cxa_thread_atexit.cpp │ │ │ ├── cxa_unexpected.cpp │ │ │ ├── cxa_vector.cpp │ │ │ ├── cxa_virtual.cpp │ │ │ ├── exception.cpp │ │ │ ├── fallback_malloc.ipp │ │ │ ├── private_typeinfo.cpp │ │ │ ├── private_typeinfo.h │ │ │ ├── stdexcept.cpp │ │ │ └── typeinfo.cpp │ │ ├── libpng/ │ │ │ ├── ANNOUNCE │ │ │ ├── Android.mk │ │ │ ├── CHANGES │ │ │ ├── CMakeLists.txt │ │ │ ├── CleanSpec.mk │ │ │ ├── INSTALL │ │ │ ├── LICENSE │ │ │ ├── MODULE_LICENSE_BSD_LIKE │ │ │ ├── Makefile.am │ │ │ ├── README │ │ │ ├── README.android │ │ │ ├── README.version │ │ │ ├── TODO │ │ │ ├── arm/ │ │ │ │ ├── arm_init.c │ │ │ │ ├── filter_neon.S │ │ │ │ └── filter_neon_intrinsics.c │ │ │ ├── autogen.sh │ │ │ ├── configure.ac │ │ │ ├── contrib/ │ │ │ │ ├── README.txt │ │ │ │ ├── arm-neon/ │ │ │ │ │ ├── README │ │ │ │ │ ├── android-ndk.c │ │ │ │ │ ├── linux-auxv.c │ │ │ │ │ └── linux.c │ │ │ │ ├── conftest/ │ │ │ │ │ ├── README │ │ │ │ │ ├── read.dfa │ │ │ │ │ ├── s_read.dfa │ │ │ │ │ ├── s_write.dfa │ │ │ │ │ ├── simple.dfa │ │ │ │ │ └── write.dfa │ │ │ │ ├── examples/ │ │ │ │ │ ├── README.txt │ │ │ │ │ ├── iccfrompng.c │ │ │ │ │ ├── pngpixel.c │ │ │ │ │ └── pngtopng.c │ │ │ │ ├── gregbook/ │ │ │ │ │ ├── COPYING │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── Makefile.mingw32 │ │ │ │ │ ├── Makefile.sgi │ │ │ │ │ ├── Makefile.unx │ │ │ │ │ ├── Makefile.w32 │ │ │ │ │ ├── README │ │ │ │ │ ├── makevms.com │ │ │ │ │ ├── readpng.c │ │ │ │ │ ├── readpng.h │ │ │ │ │ ├── readpng2.c │ │ │ │ │ ├── readpng2.h │ │ │ │ │ ├── readppm.c │ │ │ │ │ ├── rpng-win.c │ │ │ │ │ ├── rpng-x.c │ │ │ │ │ ├── rpng2-win.c │ │ │ │ │ ├── rpng2-x.c │ │ │ │ │ ├── wpng.c │ │ │ │ │ ├── writepng.c │ │ │ │ │ └── writepng.h │ │ │ │ ├── intel/ │ │ │ │ │ ├── INSTALL │ │ │ │ │ ├── Makefile.am.patch │ │ │ │ │ ├── configure.ac.patch │ │ │ │ │ ├── filter_sse2_intrinsics.c │ │ │ │ │ └── intel_init.c │ │ │ │ ├── libtests/ │ │ │ │ │ ├── fakepng.c │ │ │ │ │ ├── gentests.sh │ │ │ │ │ ├── makepng.c │ │ │ │ │ ├── pngimage.c │ │ │ │ │ ├── pngstest-errors.h │ │ │ │ │ ├── pngstest.c │ │ │ │ │ ├── pngunknown.c │ │ │ │ │ ├── pngvalid.c │ │ │ │ │ ├── readpng.c │ │ │ │ │ ├── tarith.c │ │ │ │ │ └── timepng.c │ │ │ │ ├── pngminim/ │ │ │ │ │ ├── README │ │ │ │ │ ├── decoder/ │ │ │ │ │ │ ├── README │ │ │ │ │ │ ├── makefile │ │ │ │ │ │ ├── pngusr.dfa │ │ │ │ │ │ └── pngusr.h │ │ │ │ │ ├── encoder/ │ │ │ │ │ │ ├── README │ │ │ │ │ │ ├── makefile │ │ │ │ │ │ ├── pngusr.dfa │ │ │ │ │ │ └── pngusr.h │ │ │ │ │ └── preader/ │ │ │ │ │ ├── README │ │ │ │ │ ├── makefile │ │ │ │ │ ├── pngusr.dfa │ │ │ │ │ └── pngusr.h │ │ │ │ ├── pngminus/ │ │ │ │ │ ├── README │ │ │ │ │ ├── makefile.std │ │ │ │ │ ├── makefile.tc3 │ │ │ │ │ ├── makevms.com │ │ │ │ │ ├── png2pnm.bat │ │ │ │ │ ├── png2pnm.c │ │ │ │ │ ├── png2pnm.sh │ │ │ │ │ ├── pngminus.bat │ │ │ │ │ ├── pngminus.sh │ │ │ │ │ ├── pnm2png.bat │ │ │ │ │ ├── pnm2png.c │ │ │ │ │ └── pnm2png.sh │ │ │ │ ├── pngsuite/ │ │ │ │ │ └── README │ │ │ │ ├── tools/ │ │ │ │ │ ├── README.txt │ │ │ │ │ ├── checksum-icc.c │ │ │ │ │ ├── chkfmt │ │ │ │ │ ├── cvtcolor.c │ │ │ │ │ ├── genpng.c │ │ │ │ │ ├── intgamma.sh │ │ │ │ │ ├── makesRGB.c │ │ │ │ │ ├── png-fix-itxt.c │ │ │ │ │ ├── pngfix.c │ │ │ │ │ └── sRGB.h │ │ │ │ └── visupng/ │ │ │ │ ├── PngFile.c │ │ │ │ ├── PngFile.h │ │ │ │ ├── README.txt │ │ │ │ ├── VisualPng.c │ │ │ │ ├── VisualPng.dsp │ │ │ │ ├── VisualPng.dsw │ │ │ │ ├── VisualPng.rc │ │ │ │ ├── cexcept.h │ │ │ │ └── resource.h │ │ │ ├── example.c │ │ │ ├── libpng-config.in │ │ │ ├── libpng-manual.txt │ │ │ ├── libpng.3 │ │ │ ├── libpng.pc.in │ │ │ ├── libpngpf.3 │ │ │ ├── png.5 │ │ │ ├── png.c │ │ │ ├── png.h │ │ │ ├── pngconf.h │ │ │ ├── pngdebug.h │ │ │ ├── pngerror.c │ │ │ ├── pngget.c │ │ │ ├── pnginfo.h │ │ │ ├── pnglibconf.h │ │ │ ├── pngmem.c │ │ │ ├── pngpread.c │ │ │ ├── pngpriv.h │ │ │ ├── pngread.c │ │ │ ├── pngrio.c │ │ │ ├── pngrtran.c │ │ │ ├── pngrutil.c │ │ │ ├── pngset.c │ │ │ ├── pngstruct.h │ │ │ ├── pngtest.c │ │ │ ├── pngtrans.c │ │ │ ├── pngusr.dfa │ │ │ ├── pngusr.h │ │ │ ├── pngwio.c │ │ │ ├── pngwrite.c │ │ │ ├── pngwtran.c │ │ │ ├── pngwutil.c │ │ │ ├── projects/ │ │ │ │ ├── owatcom/ │ │ │ │ │ ├── libpng.tgt │ │ │ │ │ ├── libpng.wpj │ │ │ │ │ ├── pngconfig.mak │ │ │ │ │ ├── pngstest.tgt │ │ │ │ │ ├── pngtest.tgt │ │ │ │ │ └── pngvalid.tgt │ │ │ │ ├── visualc71/ │ │ │ │ │ ├── PRJ0041.mak │ │ │ │ │ ├── README.txt │ │ │ │ │ ├── README_zlib.txt │ │ │ │ │ ├── libpng.sln │ │ │ │ │ ├── libpng.vcproj │ │ │ │ │ ├── pngtest.vcproj │ │ │ │ │ └── zlib.vcproj │ │ │ │ └── vstudio/ │ │ │ │ ├── README.txt │ │ │ │ ├── libpng/ │ │ │ │ │ └── libpng.vcxproj │ │ │ │ ├── pnglibconf/ │ │ │ │ │ └── pnglibconf.vcxproj │ │ │ │ ├── pngstest/ │ │ │ │ │ └── pngstest.vcxproj │ │ │ │ ├── pngtest/ │ │ │ │ │ └── pngtest.vcxproj │ │ │ │ ├── pngunknown/ │ │ │ │ │ └── pngunknown.vcxproj │ │ │ │ ├── pngvalid/ │ │ │ │ │ └── pngvalid.vcxproj │ │ │ │ ├── vstudio.sln │ │ │ │ ├── zlib/ │ │ │ │ │ └── zlib.vcxproj │ │ │ │ └── zlib.props │ │ │ └── scripts/ │ │ │ ├── README.txt │ │ │ ├── SCOPTIONS.ppc │ │ │ ├── checksym.awk │ │ │ ├── def.c │ │ │ ├── descrip.mms │ │ │ ├── dfn.awk │ │ │ ├── genchk.cmake.in │ │ │ ├── genout.cmake.in │ │ │ ├── gensrc.cmake.in │ │ │ ├── intprefix.c │ │ │ ├── libpng-config-body.in │ │ │ ├── libpng-config-head.in │ │ │ ├── libpng.pc.in │ │ │ ├── macro.lst │ │ │ ├── makefile.32sunu │ │ │ ├── makefile.64sunu │ │ │ ├── makefile.acorn │ │ │ ├── makefile.aix │ │ │ ├── makefile.amiga │ │ │ ├── makefile.atari │ │ │ ├── makefile.bc32 │ │ │ ├── makefile.beos │ │ │ ├── makefile.bor │ │ │ ├── makefile.cegcc │ │ │ ├── makefile.darwin │ │ │ ├── makefile.dec │ │ │ ├── makefile.dj2 │ │ │ ├── makefile.freebsd │ │ │ ├── makefile.gcc │ │ │ ├── makefile.hp64 │ │ │ ├── makefile.hpgcc │ │ │ ├── makefile.hpux │ │ │ ├── makefile.ibmc │ │ │ ├── makefile.intel │ │ │ ├── makefile.knr │ │ │ ├── makefile.linux │ │ │ ├── makefile.mips │ │ │ ├── makefile.msc │ │ │ ├── makefile.msys │ │ │ ├── makefile.ne12bsd │ │ │ ├── makefile.netbsd │ │ │ ├── makefile.openbsd │ │ │ ├── makefile.sco │ │ │ ├── makefile.sggcc │ │ │ ├── makefile.sgi │ │ │ ├── makefile.so9 │ │ │ ├── makefile.solaris │ │ │ ├── makefile.solaris-x86 │ │ │ ├── makefile.std │ │ │ ├── makefile.sunos │ │ │ ├── makefile.tc3 │ │ │ ├── makefile.vcwin32 │ │ │ ├── makevms.com │ │ │ ├── options.awk │ │ │ ├── pnglibconf.dfa │ │ │ ├── pnglibconf.h.prebuilt │ │ │ ├── pnglibconf.mak │ │ │ ├── pngwin.rc │ │ │ ├── prefix.c │ │ │ ├── smakefile.ppc │ │ │ ├── sym.c │ │ │ ├── symbols.c │ │ │ ├── symbols.def │ │ │ ├── test.cmake.in │ │ │ └── vers.c │ │ ├── safe-iop/ │ │ │ ├── Android.mk │ │ │ ├── CleanSpec.mk │ │ │ ├── MODULE_LICENSE_BSD_LIKE │ │ │ ├── NOTICE │ │ │ ├── README.version │ │ │ ├── include/ │ │ │ │ └── safe_iop.h │ │ │ ├── src/ │ │ │ │ └── safe_iop.c │ │ │ └── testsuite/ │ │ │ └── Android.mk │ │ └── zlib/ │ │ ├── Android.mk │ │ ├── CleanSpec.mk │ │ ├── MODULE_LICENSE_BSD_LIKE │ │ ├── NOTICE │ │ ├── src/ │ │ │ ├── CMakeLists.txt │ │ │ ├── ChangeLog │ │ │ ├── FAQ │ │ │ ├── INDEX │ │ │ ├── Makefile.in │ │ │ ├── README │ │ │ ├── adler32.c │ │ │ ├── amiga/ │ │ │ │ ├── Makefile.pup │ │ │ │ └── Makefile.sas │ │ │ ├── as400/ │ │ │ │ ├── bndsrc │ │ │ │ ├── compile.clp │ │ │ │ ├── readme.txt │ │ │ │ └── zlib.inc │ │ │ ├── compress.c │ │ │ ├── configure │ │ │ ├── contrib/ │ │ │ │ ├── README.contrib │ │ │ │ ├── ada/ │ │ │ │ │ ├── buffer_demo.adb │ │ │ │ │ ├── mtest.adb │ │ │ │ │ ├── read.adb │ │ │ │ │ ├── readme.txt │ │ │ │ │ ├── test.adb │ │ │ │ │ ├── zlib-streams.adb │ │ │ │ │ ├── zlib-streams.ads │ │ │ │ │ ├── zlib-thin.adb │ │ │ │ │ ├── zlib-thin.ads │ │ │ │ │ ├── zlib.adb │ │ │ │ │ ├── zlib.ads │ │ │ │ │ └── zlib.gpr │ │ │ │ ├── amd64/ │ │ │ │ │ └── amd64-match.S │ │ │ │ ├── asm686/ │ │ │ │ │ ├── README.686 │ │ │ │ │ └── match.S │ │ │ │ ├── blast/ │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── README │ │ │ │ │ ├── blast.c │ │ │ │ │ ├── blast.h │ │ │ │ │ ├── test.pk │ │ │ │ │ └── test.txt │ │ │ │ ├── delphi/ │ │ │ │ │ ├── ZLib.pas │ │ │ │ │ ├── ZLibConst.pas │ │ │ │ │ ├── readme.txt │ │ │ │ │ └── zlibd32.mak │ │ │ │ ├── dotzlib/ │ │ │ │ │ ├── DotZLib/ │ │ │ │ │ │ ├── AssemblyInfo.cs │ │ │ │ │ │ ├── ChecksumImpl.cs │ │ │ │ │ │ ├── CircularBuffer.cs │ │ │ │ │ │ ├── CodecBase.cs │ │ │ │ │ │ ├── Deflater.cs │ │ │ │ │ │ ├── DotZLib.cs │ │ │ │ │ │ ├── DotZLib.csproj │ │ │ │ │ │ ├── GZipStream.cs │ │ │ │ │ │ ├── Inflater.cs │ │ │ │ │ │ └── UnitTests.cs │ │ │ │ │ ├── DotZLib.build │ │ │ │ │ ├── DotZLib.chm │ │ │ │ │ ├── DotZLib.sln │ │ │ │ │ ├── LICENSE_1_0.txt │ │ │ │ │ └── readme.txt │ │ │ │ ├── gcc_gvmat64/ │ │ │ │ │ └── gvmat64.S │ │ │ │ ├── infback9/ │ │ │ │ │ ├── README │ │ │ │ │ ├── infback9.c │ │ │ │ │ ├── infback9.h │ │ │ │ │ ├── inffix9.h │ │ │ │ │ ├── inflate9.h │ │ │ │ │ ├── inftree9.c │ │ │ │ │ └── inftree9.h │ │ │ │ ├── inflate86/ │ │ │ │ │ ├── inffas86.c │ │ │ │ │ └── inffast.S │ │ │ │ ├── iostream/ │ │ │ │ │ ├── test.cpp │ │ │ │ │ ├── zfstream.cpp │ │ │ │ │ └── zfstream.h │ │ │ │ ├── iostream2/ │ │ │ │ │ ├── zstream.h │ │ │ │ │ └── zstream_test.cpp │ │ │ │ ├── iostream3/ │ │ │ │ │ ├── README │ │ │ │ │ ├── TODO │ │ │ │ │ ├── test.cc │ │ │ │ │ ├── zfstream.cc │ │ │ │ │ └── zfstream.h │ │ │ │ ├── masmx64/ │ │ │ │ │ ├── bld_ml64.bat │ │ │ │ │ ├── gvmat64.asm │ │ │ │ │ ├── inffas8664.c │ │ │ │ │ ├── inffasx64.asm │ │ │ │ │ └── readme.txt │ │ │ │ ├── masmx86/ │ │ │ │ │ ├── bld_ml32.bat │ │ │ │ │ ├── inffas32.asm │ │ │ │ │ ├── match686.asm │ │ │ │ │ └── readme.txt │ │ │ │ ├── minizip/ │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── Makefile.am │ │ │ │ │ ├── MiniZip64_Changes.txt │ │ │ │ │ ├── MiniZip64_info.txt │ │ │ │ │ ├── configure.ac │ │ │ │ │ ├── crypt.h │ │ │ │ │ ├── ioapi.c │ │ │ │ │ ├── ioapi.h │ │ │ │ │ ├── iowin32.c │ │ │ │ │ ├── iowin32.h │ │ │ │ │ ├── make_vms.com │ │ │ │ │ ├── miniunz.c │ │ │ │ │ ├── miniunzip.1 │ │ │ │ │ ├── minizip.1 │ │ │ │ │ ├── minizip.c │ │ │ │ │ ├── minizip.pc.in │ │ │ │ │ ├── mztools.c │ │ │ │ │ ├── mztools.h │ │ │ │ │ ├── unzip.c │ │ │ │ │ ├── unzip.h │ │ │ │ │ ├── zip.c │ │ │ │ │ └── zip.h │ │ │ │ ├── pascal/ │ │ │ │ │ ├── example.pas │ │ │ │ │ ├── readme.txt │ │ │ │ │ ├── zlibd32.mak │ │ │ │ │ └── zlibpas.pas │ │ │ │ ├── puff/ │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── README │ │ │ │ │ ├── puff.c │ │ │ │ │ ├── puff.h │ │ │ │ │ ├── pufftest.c │ │ │ │ │ └── zeros.raw │ │ │ │ ├── testzlib/ │ │ │ │ │ ├── testzlib.c │ │ │ │ │ └── testzlib.txt │ │ │ │ ├── untgz/ │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── Makefile.msc │ │ │ │ │ └── untgz.c │ │ │ │ └── vstudio/ │ │ │ │ ├── readme.txt │ │ │ │ ├── vc10/ │ │ │ │ │ ├── miniunz.vcxproj │ │ │ │ │ ├── miniunz.vcxproj.filters │ │ │ │ │ ├── minizip.vcxproj │ │ │ │ │ ├── minizip.vcxproj.filters │ │ │ │ │ ├── testzlib.vcxproj │ │ │ │ │ ├── testzlib.vcxproj.filters │ │ │ │ │ ├── testzlibdll.vcxproj │ │ │ │ │ ├── testzlibdll.vcxproj.filters │ │ │ │ │ ├── zlib.rc │ │ │ │ │ ├── zlibstat.vcxproj │ │ │ │ │ ├── zlibstat.vcxproj.filters │ │ │ │ │ ├── zlibvc.def │ │ │ │ │ ├── zlibvc.sln │ │ │ │ │ ├── zlibvc.vcxproj │ │ │ │ │ └── zlibvc.vcxproj.filters │ │ │ │ ├── vc11/ │ │ │ │ │ ├── miniunz.vcxproj │ │ │ │ │ ├── minizip.vcxproj │ │ │ │ │ ├── testzlib.vcxproj │ │ │ │ │ ├── testzlibdll.vcxproj │ │ │ │ │ ├── zlib.rc │ │ │ │ │ ├── zlibstat.vcxproj │ │ │ │ │ ├── zlibvc.def │ │ │ │ │ ├── zlibvc.sln │ │ │ │ │ └── zlibvc.vcxproj │ │ │ │ └── vc9/ │ │ │ │ ├── miniunz.vcproj │ │ │ │ ├── minizip.vcproj │ │ │ │ ├── testzlib.vcproj │ │ │ │ ├── testzlibdll.vcproj │ │ │ │ ├── zlib.rc │ │ │ │ ├── zlibstat.vcproj │ │ │ │ ├── zlibvc.def │ │ │ │ ├── zlibvc.sln │ │ │ │ └── zlibvc.vcproj │ │ │ ├── crc32.c │ │ │ ├── crc32.h │ │ │ ├── deflate.c │ │ │ ├── deflate.h │ │ │ ├── doc/ │ │ │ │ ├── algorithm.txt │ │ │ │ ├── rfc1950.txt │ │ │ │ ├── rfc1951.txt │ │ │ │ ├── rfc1952.txt │ │ │ │ └── txtvsbin.txt │ │ │ ├── examples/ │ │ │ │ ├── README.examples │ │ │ │ ├── enough.c │ │ │ │ ├── fitblk.c │ │ │ │ ├── gun.c │ │ │ │ ├── gzappend.c │ │ │ │ ├── gzjoin.c │ │ │ │ ├── gzlog.c │ │ │ │ ├── gzlog.h │ │ │ │ ├── zlib_how.html │ │ │ │ ├── zpipe.c │ │ │ │ └── zran.c │ │ │ ├── gzclose.c │ │ │ ├── gzguts.h │ │ │ ├── gzlib.c │ │ │ ├── gzread.c │ │ │ ├── gzwrite.c │ │ │ ├── infback.c │ │ │ ├── inffast.c │ │ │ ├── inffast.h │ │ │ ├── inffixed.h │ │ │ ├── inflate.c │ │ │ ├── inflate.h │ │ │ ├── inftrees.c │ │ │ ├── inftrees.h │ │ │ ├── make_vms.com │ │ │ ├── msdos/ │ │ │ │ ├── Makefile.bor │ │ │ │ ├── Makefile.dj2 │ │ │ │ ├── Makefile.emx │ │ │ │ ├── Makefile.msc │ │ │ │ └── Makefile.tc │ │ │ ├── nintendods/ │ │ │ │ ├── Makefile │ │ │ │ └── README │ │ │ ├── old/ │ │ │ │ ├── Makefile.emx │ │ │ │ ├── Makefile.riscos │ │ │ │ ├── README │ │ │ │ ├── descrip.mms │ │ │ │ ├── os2/ │ │ │ │ │ ├── Makefile.os2 │ │ │ │ │ └── zlib.def │ │ │ │ └── visual-basic.txt │ │ │ ├── qnx/ │ │ │ │ └── package.qpg │ │ │ ├── test/ │ │ │ │ ├── example.c │ │ │ │ ├── infcover.c │ │ │ │ └── minigzip.c │ │ │ ├── treebuild.xml │ │ │ ├── trees.c │ │ │ ├── trees.h │ │ │ ├── uncompr.c │ │ │ ├── watcom/ │ │ │ │ ├── watcom_f.mak │ │ │ │ └── watcom_l.mak │ │ │ ├── win32/ │ │ │ │ ├── DLL_FAQ.txt │ │ │ │ ├── Makefile.bor │ │ │ │ ├── Makefile.gcc │ │ │ │ ├── Makefile.msc │ │ │ │ ├── README-WIN32.txt │ │ │ │ ├── VisualC.txt │ │ │ │ ├── zlib.def │ │ │ │ └── zlib1.rc │ │ │ ├── zconf.h │ │ │ ├── zconf.h.cmakein │ │ │ ├── zconf.h.in │ │ │ ├── zlib.3 │ │ │ ├── zlib.h │ │ │ ├── zlib.pc │ │ │ ├── zlib.pc.cmakein │ │ │ ├── zlib.pc.in │ │ │ ├── zlib2ansi │ │ │ ├── zutil.c │ │ │ └── zutil.h │ │ └── update_zlib.sh │ ├── frameworks/ │ │ ├── base/ │ │ │ ├── include/ │ │ │ │ ├── android_runtime/ │ │ │ │ │ ├── AndroidRuntime.h │ │ │ │ │ ├── Log.h │ │ │ │ │ ├── android_app_NativeActivity.h │ │ │ │ │ ├── android_content_res_Configuration.h │ │ │ │ │ ├── android_graphics_SurfaceTexture.h │ │ │ │ │ ├── android_hardware_camera2_CameraMetadata.h │ │ │ │ │ ├── android_util_AssetManager.h │ │ │ │ │ ├── android_view_InputQueue.h │ │ │ │ │ ├── android_view_Surface.h │ │ │ │ │ └── android_view_SurfaceSession.h │ │ │ │ ├── androidfw/ │ │ │ │ │ ├── Asset.h │ │ │ │ │ ├── AssetDir.h │ │ │ │ │ ├── AssetManager.h │ │ │ │ │ ├── AttributeFinder.h │ │ │ │ │ ├── BackupHelpers.h │ │ │ │ │ ├── ByteBucketArray.h │ │ │ │ │ ├── CursorWindow.h │ │ │ │ │ ├── DisplayEventDispatcher.h │ │ │ │ │ ├── LocaleData.h │ │ │ │ │ ├── ObbFile.h │ │ │ │ │ ├── ResourcePackageId.h │ │ │ │ │ ├── ResourceTypes.h │ │ │ │ │ ├── StreamingZipInflater.h │ │ │ │ │ ├── TypeWrappers.h │ │ │ │ │ ├── ZipFileRO.h │ │ │ │ │ ├── ZipUtils.h │ │ │ │ │ └── misc.h │ │ │ │ ├── private/ │ │ │ │ │ ├── README │ │ │ │ │ └── hwui/ │ │ │ │ │ └── DrawGlInfo.h │ │ │ │ └── storage/ │ │ │ │ ├── IMountService.h │ │ │ │ ├── IMountServiceListener.h │ │ │ │ ├── IMountShutdownObserver.h │ │ │ │ └── IObbActionListener.h │ │ │ ├── libs/ │ │ │ │ └── androidfw/ │ │ │ │ ├── Android.mk │ │ │ │ ├── Asset.cpp │ │ │ │ ├── AssetDir.cpp │ │ │ │ ├── AssetManager.cpp │ │ │ │ ├── BackupData.cpp │ │ │ │ ├── BackupHelpers.cpp │ │ │ │ ├── CursorWindow.cpp │ │ │ │ ├── DisplayEventDispatcher.cpp │ │ │ │ ├── LocaleData.cpp │ │ │ │ ├── LocaleDataTables.cpp │ │ │ │ ├── MODULE_LICENSE_APACHE2 │ │ │ │ ├── NOTICE │ │ │ │ ├── ObbFile.cpp │ │ │ │ ├── ResourceTypes.cpp │ │ │ │ ├── StreamingZipInflater.cpp │ │ │ │ ├── TypeWrappers.cpp │ │ │ │ ├── ZipFileRO.cpp │ │ │ │ ├── ZipUtils.cpp │ │ │ │ ├── misc.cpp │ │ │ │ └── tests/ │ │ │ │ ├── Android.mk │ │ │ │ ├── AttributeFinder_test.cpp │ │ │ │ ├── BackupData_test.cpp │ │ │ │ ├── ByteBucketArray_test.cpp │ │ │ │ ├── ConfigLocale_test.cpp │ │ │ │ ├── Config_test.cpp │ │ │ │ ├── Idmap_test.cpp │ │ │ │ ├── ObbFile_test.cpp │ │ │ │ ├── ResTable_test.cpp │ │ │ │ ├── Split_test.cpp │ │ │ │ ├── TestHelpers.cpp │ │ │ │ ├── TestHelpers.h │ │ │ │ ├── Theme_test.cpp │ │ │ │ ├── TypeWrappers_test.cpp │ │ │ │ ├── ZipUtils_test.cpp │ │ │ │ └── data/ │ │ │ │ ├── .gitignore │ │ │ │ ├── app/ │ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ │ ├── R.h │ │ │ │ │ ├── app_arsc.h │ │ │ │ │ ├── build │ │ │ │ │ └── res/ │ │ │ │ │ └── values/ │ │ │ │ │ └── values.xml │ │ │ │ ├── basic/ │ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ │ ├── R.h │ │ │ │ │ ├── basic_arsc.h │ │ │ │ │ ├── build │ │ │ │ │ ├── res/ │ │ │ │ │ │ ├── layout/ │ │ │ │ │ │ │ └── main.xml │ │ │ │ │ │ ├── layout-fr-sw600dp/ │ │ │ │ │ │ │ └── main.xml │ │ │ │ │ │ ├── values/ │ │ │ │ │ │ │ └── values.xml │ │ │ │ │ │ ├── values-de/ │ │ │ │ │ │ │ └── values.xml │ │ │ │ │ │ ├── values-fr/ │ │ │ │ │ │ │ └── values.xml │ │ │ │ │ │ ├── values-hdpi/ │ │ │ │ │ │ │ └── values.xml │ │ │ │ │ │ ├── values-sv/ │ │ │ │ │ │ │ └── values.xml │ │ │ │ │ │ ├── values-xhdpi/ │ │ │ │ │ │ │ └── values.xml │ │ │ │ │ │ └── values-xxhdpi/ │ │ │ │ │ │ └── values.xml │ │ │ │ │ ├── split_de_fr_arsc.h │ │ │ │ │ ├── split_hdpi_v4_arsc.h │ │ │ │ │ ├── split_xhdpi_v4_arsc.h │ │ │ │ │ └── split_xxhdpi_v4_arsc.h │ │ │ │ ├── feature/ │ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ │ ├── build │ │ │ │ │ ├── feature_arsc.h │ │ │ │ │ └── res/ │ │ │ │ │ └── values/ │ │ │ │ │ └── values.xml │ │ │ │ ├── lib/ │ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ │ ├── R.h │ │ │ │ │ ├── build │ │ │ │ │ ├── lib_arsc.h │ │ │ │ │ └── res/ │ │ │ │ │ └── values/ │ │ │ │ │ └── values.xml │ │ │ │ ├── overlay/ │ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ │ ├── build │ │ │ │ │ ├── overlay_arsc.h │ │ │ │ │ └── res/ │ │ │ │ │ └── values/ │ │ │ │ │ └── values.xml │ │ │ │ └── system/ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ ├── R.h │ │ │ │ ├── build │ │ │ │ ├── res/ │ │ │ │ │ └── values/ │ │ │ │ │ └── themes.xml │ │ │ │ └── system_arsc.h │ │ │ └── tools/ │ │ │ └── aapt/ │ │ │ ├── AaptAssets.cpp │ │ │ ├── AaptAssets.h │ │ │ ├── AaptConfig.cpp │ │ │ ├── AaptConfig.h │ │ │ ├── AaptUtil.cpp │ │ │ ├── AaptUtil.h │ │ │ ├── AaptXml.cpp │ │ │ ├── AaptXml.h │ │ │ ├── Android.mk │ │ │ ├── ApkBuilder.cpp │ │ │ ├── ApkBuilder.h │ │ │ ├── Bundle.h │ │ │ ├── CacheUpdater.h │ │ │ ├── Command.cpp │ │ │ ├── ConfigDescription.h │ │ │ ├── CrunchCache.cpp │ │ │ ├── CrunchCache.h │ │ │ ├── DirectoryWalker.h │ │ │ ├── FileFinder.cpp │ │ │ ├── FileFinder.h │ │ │ ├── Images.cpp │ │ │ ├── Images.h │ │ │ ├── IndentPrinter.h │ │ │ ├── Main.cpp │ │ │ ├── Main.h │ │ │ ├── NOTICE │ │ │ ├── OutputSet.h │ │ │ ├── Package.cpp │ │ │ ├── Resource.cpp │ │ │ ├── ResourceFilter.cpp │ │ │ ├── ResourceFilter.h │ │ │ ├── ResourceIdCache.cpp │ │ │ ├── ResourceIdCache.h │ │ │ ├── ResourceTable.cpp │ │ │ ├── ResourceTable.h │ │ │ ├── SdkConstants.h │ │ │ ├── SourcePos.cpp │ │ │ ├── SourcePos.h │ │ │ ├── StringPool.cpp │ │ │ ├── StringPool.h │ │ │ ├── Symbol.h │ │ │ ├── WorkQueue.cpp │ │ │ ├── WorkQueue.h │ │ │ ├── XMLNode.cpp │ │ │ ├── XMLNode.h │ │ │ ├── ZipEntry.cpp │ │ │ ├── ZipEntry.h │ │ │ ├── ZipFile.cpp │ │ │ ├── ZipFile.h │ │ │ ├── pseudolocalize.cpp │ │ │ ├── pseudolocalize.h │ │ │ └── tests/ │ │ │ ├── AaptConfig_test.cpp │ │ │ ├── AaptGroupEntry_test.cpp │ │ │ ├── CrunchCache_test.cpp │ │ │ ├── FileFinder_test.cpp │ │ │ ├── MockCacheUpdater.h │ │ │ ├── MockDirectoryWalker.h │ │ │ ├── MockFileFinder.h │ │ │ ├── Pseudolocales_test.cpp │ │ │ ├── ResourceFilter_test.cpp │ │ │ ├── ResourceTable_test.cpp │ │ │ ├── TestHelper.h │ │ │ └── plurals/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── res/ │ │ │ │ └── values/ │ │ │ │ └── strings.xml │ │ │ └── run.sh │ │ └── native/ │ │ └── include/ │ │ ├── android/ │ │ │ ├── asset_manager.h │ │ │ ├── asset_manager_jni.h │ │ │ ├── bitmap.h │ │ │ ├── choreographer.h │ │ │ ├── configuration.h │ │ │ ├── input.h │ │ │ ├── keycodes.h │ │ │ ├── looper.h │ │ │ ├── multinetwork.h │ │ │ ├── native_activity.h │ │ │ ├── native_window.h │ │ │ ├── native_window_jni.h │ │ │ ├── obb.h │ │ │ ├── rect.h │ │ │ ├── sensor.h │ │ │ ├── storage_manager.h │ │ │ ├── trace.h │ │ │ └── window.h │ │ ├── batteryservice/ │ │ │ ├── BatteryService.h │ │ │ ├── IBatteryPropertiesListener.h │ │ │ └── IBatteryPropertiesRegistrar.h │ │ ├── binder/ │ │ │ ├── AppOpsManager.h │ │ │ ├── Binder.h │ │ │ ├── BinderService.h │ │ │ ├── BpBinder.h │ │ │ ├── BufferedTextOutput.h │ │ │ ├── Debug.h │ │ │ ├── IAppOpsCallback.h │ │ │ ├── IAppOpsService.h │ │ │ ├── IBatteryStats.h │ │ │ ├── IBinder.h │ │ │ ├── IInterface.h │ │ │ ├── IMediaResourceMonitor.h │ │ │ ├── IMemory.h │ │ │ ├── IPCThreadState.h │ │ │ ├── IPermissionController.h │ │ │ ├── IProcessInfoService.h │ │ │ ├── IResultReceiver.h │ │ │ ├── IServiceManager.h │ │ │ ├── MemoryBase.h │ │ │ ├── MemoryDealer.h │ │ │ ├── MemoryHeapBase.h │ │ │ ├── Parcel.h │ │ │ ├── Parcelable.h │ │ │ ├── PermissionCache.h │ │ │ ├── PersistableBundle.h │ │ │ ├── ProcessInfoService.h │ │ │ ├── ProcessState.h │ │ │ ├── Status.h │ │ │ └── TextOutput.h │ │ ├── diskusage/ │ │ │ └── dirsize.h │ │ ├── gui/ │ │ │ ├── BitTube.h │ │ │ ├── BufferItem.h │ │ │ ├── BufferItemConsumer.h │ │ │ ├── BufferQueue.h │ │ │ ├── BufferQueueConsumer.h │ │ │ ├── BufferQueueCore.h │ │ │ ├── BufferQueueDefs.h │ │ │ ├── BufferQueueProducer.h │ │ │ ├── BufferSlot.h │ │ │ ├── ConsumerBase.h │ │ │ ├── CpuConsumer.h │ │ │ ├── DisplayEventReceiver.h │ │ │ ├── GLConsumer.h │ │ │ ├── GraphicBufferAlloc.h │ │ │ ├── GuiConfig.h │ │ │ ├── IConsumerListener.h │ │ │ ├── IDisplayEventConnection.h │ │ │ ├── IGraphicBufferAlloc.h │ │ │ ├── IGraphicBufferConsumer.h │ │ │ ├── IGraphicBufferProducer.h │ │ │ ├── IProducerListener.h │ │ │ ├── ISensorEventConnection.h │ │ │ ├── ISensorServer.h │ │ │ ├── ISurfaceComposer.h │ │ │ ├── ISurfaceComposerClient.h │ │ │ ├── Sensor.h │ │ │ ├── SensorEventQueue.h │ │ │ ├── SensorManager.h │ │ │ ├── StreamSplitter.h │ │ │ ├── Surface.h │ │ │ ├── SurfaceComposerClient.h │ │ │ └── SurfaceControl.h │ │ ├── input/ │ │ │ ├── IInputFlinger.h │ │ │ ├── Input.h │ │ │ ├── InputDevice.h │ │ │ ├── InputEventLabels.h │ │ │ ├── InputTransport.h │ │ │ ├── KeyCharacterMap.h │ │ │ ├── KeyLayoutMap.h │ │ │ ├── Keyboard.h │ │ │ ├── VelocityControl.h │ │ │ ├── VelocityTracker.h │ │ │ └── VirtualKeyMap.h │ │ ├── media/ │ │ │ ├── drm/ │ │ │ │ └── DrmAPI.h │ │ │ ├── editor/ │ │ │ │ └── II420ColorConverter.h │ │ │ ├── hardware/ │ │ │ │ ├── CryptoAPI.h │ │ │ │ ├── HDCPAPI.h │ │ │ │ ├── HardwareAPI.h │ │ │ │ ├── MetadataBufferType.h │ │ │ │ ├── OMXPluginBase.h │ │ │ │ └── VideoAPI.h │ │ │ └── openmax/ │ │ │ ├── OMX_AsString.h │ │ │ ├── OMX_Audio.h │ │ │ ├── OMX_AudioExt.h │ │ │ ├── OMX_Component.h │ │ │ ├── OMX_ContentPipe.h │ │ │ ├── OMX_Core.h │ │ │ ├── OMX_IVCommon.h │ │ │ ├── OMX_Image.h │ │ │ ├── OMX_Index.h │ │ │ ├── OMX_IndexExt.h │ │ │ ├── OMX_Other.h │ │ │ ├── OMX_Types.h │ │ │ ├── OMX_Video.h │ │ │ └── OMX_VideoExt.h │ │ ├── powermanager/ │ │ │ ├── IPowerManager.h │ │ │ └── PowerManager.h │ │ ├── private/ │ │ │ ├── binder/ │ │ │ │ ├── Static.h │ │ │ │ └── binder_module.h │ │ │ ├── gui/ │ │ │ │ ├── ComposerService.h │ │ │ │ ├── LayerState.h │ │ │ │ └── SyncFeatures.h │ │ │ └── ui/ │ │ │ └── RegionHelper.h │ │ └── ui/ │ │ ├── ANativeObjectBase.h │ │ ├── DisplayInfo.h │ │ ├── DisplayStatInfo.h │ │ ├── Fence.h │ │ ├── FrameStats.h │ │ ├── GraphicBuffer.h │ │ ├── GraphicBufferAllocator.h │ │ ├── GraphicBufferMapper.h │ │ ├── HdrCapabilities.h │ │ ├── PixelFormat.h │ │ ├── Point.h │ │ ├── Rect.h │ │ ├── Region.h │ │ ├── TMatHelpers.h │ │ ├── TVecHelpers.h │ │ ├── UiConfig.h │ │ ├── mat4.h │ │ ├── vec2.h │ │ ├── vec3.h │ │ └── vec4.h │ ├── libnativehelper/ │ │ ├── ALog-priv.h │ │ ├── Android.mk │ │ ├── AsynchronousCloseMonitor.cpp │ │ ├── JNIHelp.cpp │ │ ├── JniConstants.cpp │ │ ├── JniInvocation.cpp │ │ ├── MODULE_LICENSE_APACHE2 │ │ ├── NOTICE │ │ ├── README │ │ ├── include/ │ │ │ └── nativehelper/ │ │ │ ├── AsynchronousCloseMonitor.h │ │ │ ├── JNIHelp.h │ │ │ ├── JniConstants.h │ │ │ ├── JniInvocation.h │ │ │ ├── ScopedBytes.h │ │ │ ├── ScopedFd.h │ │ │ ├── ScopedLocalFrame.h │ │ │ ├── ScopedLocalRef.h │ │ │ ├── ScopedPrimitiveArray.h │ │ │ ├── ScopedStringChars.h │ │ │ ├── ScopedUtfChars.h │ │ │ ├── UniquePtr.h │ │ │ ├── jni.h │ │ │ └── toStringArray.h │ │ ├── tests/ │ │ │ ├── Android.mk │ │ │ └── JniInvocation_test.cpp │ │ └── toStringArray.cpp │ ├── patch/ │ │ ├── 0001-patch-code.patch │ │ ├── 0002-static-build.patch │ │ └── 003-rewrite-parseResourceName.patch │ └── system/ │ └── core/ │ ├── base/ │ │ ├── .clang-format │ │ ├── Android.mk │ │ ├── CPPLINT.cfg │ │ ├── errors_test.cpp │ │ ├── errors_unix.cpp │ │ ├── errors_windows.cpp │ │ ├── file.cpp │ │ ├── file_test.cpp │ │ ├── include/ │ │ │ └── android-base/ │ │ │ ├── errors.h │ │ │ ├── file.h │ │ │ ├── logging.h │ │ │ ├── macros.h │ │ │ ├── memory.h │ │ │ ├── parseint.h │ │ │ ├── parsenetaddress.h │ │ │ ├── stringprintf.h │ │ │ ├── strings.h │ │ │ ├── test_utils.h │ │ │ ├── thread_annotations.h │ │ │ ├── unique_fd.h │ │ │ └── utf8.h │ │ ├── logging.cpp │ │ ├── logging_test.cpp │ │ ├── parseint_test.cpp │ │ ├── parsenetaddress.cpp │ │ ├── parsenetaddress_test.cpp │ │ ├── stringprintf.cpp │ │ ├── stringprintf_test.cpp │ │ ├── strings.cpp │ │ ├── strings_test.cpp │ │ ├── test_main.cpp │ │ ├── test_utils.cpp │ │ ├── utf8.cpp │ │ └── utf8_test.cpp │ ├── include/ │ │ ├── android/ │ │ │ └── log.h │ │ ├── backtrace/ │ │ │ ├── Backtrace.h │ │ │ ├── BacktraceMap.h │ │ │ └── backtrace_constants.h │ │ ├── binderwrapper/ │ │ │ ├── binder_test_base.h │ │ │ ├── binder_wrapper.h │ │ │ └── stub_binder_wrapper.h │ │ ├── cutils/ │ │ │ ├── android_reboot.h │ │ │ ├── ashmem.h │ │ │ ├── atomic.h │ │ │ ├── bitops.h │ │ │ ├── compiler.h │ │ │ ├── config_utils.h │ │ │ ├── debugger.h │ │ │ ├── fs.h │ │ │ ├── hashmap.h │ │ │ ├── iosched_policy.h │ │ │ ├── jstring.h │ │ │ ├── klog.h │ │ │ ├── list.h │ │ │ ├── log.h │ │ │ ├── memory.h │ │ │ ├── misc.h │ │ │ ├── multiuser.h │ │ │ ├── native_handle.h │ │ │ ├── open_memstream.h │ │ │ ├── partition_utils.h │ │ │ ├── process_name.h │ │ │ ├── properties.h │ │ │ ├── qtaguid.h │ │ │ ├── record_stream.h │ │ │ ├── sched_policy.h │ │ │ ├── sockets.h │ │ │ ├── str_parms.h │ │ │ ├── threads.h │ │ │ ├── trace.h │ │ │ └── uevent.h │ │ ├── diskconfig/ │ │ │ └── diskconfig.h │ │ ├── log/ │ │ │ ├── event_tag_map.h │ │ │ ├── log.h │ │ │ ├── log_read.h │ │ │ ├── logd.h │ │ │ ├── logger.h │ │ │ ├── logprint.h │ │ │ └── uio.h │ │ ├── memtrack/ │ │ │ └── memtrack.h │ │ ├── mincrypt/ │ │ │ ├── dsa_sig.h │ │ │ ├── hash-internal.h │ │ │ ├── p256.h │ │ │ ├── p256_ecdsa.h │ │ │ ├── rsa.h │ │ │ ├── sha.h │ │ │ └── sha256.h │ │ ├── nativebridge/ │ │ │ └── native_bridge.h │ │ ├── netutils/ │ │ │ └── ifc.h │ │ ├── private/ │ │ │ ├── android_filesystem_capability.h │ │ │ ├── android_filesystem_config.h │ │ │ ├── android_logger.h │ │ │ └── canned_fs_config.h │ │ ├── system/ │ │ │ ├── camera.h │ │ │ ├── graphics.h │ │ │ ├── radio.h │ │ │ ├── thread_defs.h │ │ │ └── window.h │ │ ├── sysutils/ │ │ │ ├── FrameworkClient.h │ │ │ ├── FrameworkCommand.h │ │ │ ├── FrameworkListener.h │ │ │ ├── List.h │ │ │ ├── NetlinkEvent.h │ │ │ ├── NetlinkListener.h │ │ │ ├── ServiceManager.h │ │ │ ├── SocketClient.h │ │ │ ├── SocketClientCommand.h │ │ │ └── SocketListener.h │ │ ├── usbhost/ │ │ │ └── usbhost.h │ │ ├── utils/ │ │ │ ├── AndroidThreads.h │ │ │ ├── Atomic.h │ │ │ ├── BitSet.h │ │ │ ├── BlobCache.h │ │ │ ├── ByteOrder.h │ │ │ ├── CallStack.h │ │ │ ├── Compat.h │ │ │ ├── Condition.h │ │ │ ├── Debug.h │ │ │ ├── Endian.h │ │ │ ├── Errors.h │ │ │ ├── FileMap.h │ │ │ ├── Flattenable.h │ │ │ ├── Functor.h │ │ │ ├── JenkinsHash.h │ │ │ ├── KeyedVector.h │ │ │ ├── LinearTransform.h │ │ │ ├── List.h │ │ │ ├── Log.h │ │ │ ├── Looper.h │ │ │ ├── LruCache.h │ │ │ ├── Mutex.h │ │ │ ├── NativeHandle.h │ │ │ ├── Printer.h │ │ │ ├── ProcessCallStack.h │ │ │ ├── PropertyMap.h │ │ │ ├── RWLock.h │ │ │ ├── RefBase.h │ │ │ ├── Singleton.h │ │ │ ├── SortedVector.h │ │ │ ├── StopWatch.h │ │ │ ├── String16.h │ │ │ ├── String8.h │ │ │ ├── StrongPointer.h │ │ │ ├── SystemClock.h │ │ │ ├── Thread.h │ │ │ ├── ThreadDefs.h │ │ │ ├── Timers.h │ │ │ ├── Tokenizer.h │ │ │ ├── Trace.h │ │ │ ├── TypeHelpers.h │ │ │ ├── Unicode.h │ │ │ ├── Vector.h │ │ │ ├── VectorImpl.h │ │ │ ├── ashmem.h │ │ │ ├── misc.h │ │ │ └── threads.h │ │ └── ziparchive/ │ │ ├── zip_archive.h │ │ ├── zip_archive_stream_entry.h │ │ └── zip_writer.h │ ├── libcutils/ │ │ ├── Android.mk │ │ ├── MODULE_LICENSE_APACHE2 │ │ ├── NOTICE │ │ ├── android_reboot.c │ │ ├── arch-arm/ │ │ │ └── memset32.S │ │ ├── arch-arm64/ │ │ │ └── android_memset.S │ │ ├── arch-mips/ │ │ │ └── android_memset.c │ │ ├── arch-x86/ │ │ │ ├── android_memset16.S │ │ │ ├── android_memset32.S │ │ │ └── cache.h │ │ ├── arch-x86_64/ │ │ │ ├── android_memset16.S │ │ │ ├── android_memset32.S │ │ │ └── cache.h │ │ ├── ashmem-dev.c │ │ ├── ashmem-host.c │ │ ├── atomic.c │ │ ├── canned_fs_config.c │ │ ├── config_utils.c │ │ ├── debugger.c │ │ ├── dlmalloc_stubs.c │ │ ├── fs.c │ │ ├── fs_config.c │ │ ├── hashmap.c │ │ ├── iosched_policy.c │ │ ├── klog.c │ │ ├── load_file.c │ │ ├── multiuser.c │ │ ├── native_handle.c │ │ ├── open_memstream.c │ │ ├── partition_utils.c │ │ ├── process_name.c │ │ ├── properties.c │ │ ├── qtaguid.c │ │ ├── record_stream.c │ │ ├── sched_policy.c │ │ ├── socket_inaddr_any_server_unix.c │ │ ├── socket_inaddr_any_server_windows.c │ │ ├── socket_local_client_unix.c │ │ ├── socket_local_server_unix.c │ │ ├── socket_local_unix.h │ │ ├── socket_loopback_client_unix.c │ │ ├── socket_loopback_server_unix.c │ │ ├── socket_network_client_unix.c │ │ ├── socket_network_client_windows.c │ │ ├── sockets.cpp │ │ ├── sockets_unix.cpp │ │ ├── sockets_windows.cpp │ │ ├── str_parms.c │ │ ├── strdup16to8.c │ │ ├── strdup8to16.c │ │ ├── strlcpy.c │ │ ├── tests/ │ │ │ ├── Android.mk │ │ │ ├── MemsetTest.cpp │ │ │ ├── PropertiesTest.cpp │ │ │ └── test_str_parms.cpp │ │ ├── threads.c │ │ ├── trace-dev.c │ │ ├── trace-host.c │ │ └── uevent.c │ ├── liblog/ │ │ ├── Android.bp │ │ ├── Android.mk │ │ ├── NOTICE │ │ ├── README │ │ ├── config_read.c │ │ ├── config_read.h │ │ ├── config_write.c │ │ ├── config_write.h │ │ ├── event.logtags │ │ ├── event_tag_map.c │ │ ├── fake_log_device.c │ │ ├── fake_log_device.h │ │ ├── fake_writer.c │ │ ├── log_event_list.c │ │ ├── log_event_write.c │ │ ├── log_is_loggable.c │ │ ├── log_portability.h │ │ ├── log_time.cpp │ │ ├── logd_reader.c │ │ ├── logd_writer.c │ │ ├── logger.h │ │ ├── logger_lock.c │ │ ├── logger_name.c │ │ ├── logger_read.c │ │ ├── logger_write.c │ │ ├── logprint.c │ │ ├── pmsg_reader.c │ │ ├── pmsg_writer.c │ │ ├── tests/ │ │ │ ├── Android.mk │ │ │ ├── benchmark.h │ │ │ ├── benchmark_main.cpp │ │ │ ├── libc_test.cpp │ │ │ ├── liblog_benchmark.cpp │ │ │ └── liblog_test.cpp │ │ └── uio.c │ ├── libutils/ │ │ ├── Android.mk │ │ ├── BlobCache.cpp │ │ ├── CallStack.cpp │ │ ├── CleanSpec.mk │ │ ├── FileMap.cpp │ │ ├── JenkinsHash.cpp │ │ ├── LinearTransform.cpp │ │ ├── Log.cpp │ │ ├── Looper.cpp │ │ ├── MODULE_LICENSE_APACHE2 │ │ ├── NOTICE │ │ ├── NativeHandle.cpp │ │ ├── Printer.cpp │ │ ├── ProcessCallStack.cpp │ │ ├── PropertyMap.cpp │ │ ├── README │ │ ├── RefBase.cpp │ │ ├── SharedBuffer.cpp │ │ ├── SharedBuffer.h │ │ ├── SharedBufferTest.cpp │ │ ├── Static.cpp │ │ ├── StopWatch.cpp │ │ ├── String16.cpp │ │ ├── String8.cpp │ │ ├── SystemClock.cpp │ │ ├── Threads.cpp │ │ ├── Timers.cpp │ │ ├── Tokenizer.cpp │ │ ├── Trace.cpp │ │ ├── Unicode.cpp │ │ ├── VectorImpl.cpp │ │ ├── misc.cpp │ │ ├── primes.py │ │ └── tests/ │ │ ├── Android.mk │ │ ├── BitSet_test.cpp │ │ ├── BlobCache_test.cpp │ │ ├── Looper_test.cpp │ │ ├── LruCache_test.cpp │ │ ├── String8_test.cpp │ │ ├── StrongPointer_test.cpp │ │ ├── TestHelpers.h │ │ ├── Unicode_test.cpp │ │ └── Vector_test.cpp │ └── libziparchive/ │ ├── Android.mk │ ├── entry_name_utils-inl.h │ ├── entry_name_utils_test.cc │ ├── zip_archive.cc │ ├── zip_archive_common.h │ ├── zip_archive_private.h │ ├── zip_archive_stream_entry.cc │ ├── zip_archive_test.cc │ ├── zip_writer.cc │ └── zip_writer_test.cc ├── atlas-aapt-old/ │ └── frameworks/ │ └── base/ │ ├── include/ │ │ └── androidfw/ │ │ ├── Asset.h │ │ ├── AssetDir.h │ │ ├── AssetManager.h │ │ ├── BackupHelpers.h │ │ ├── ByteBucketArray.h │ │ ├── CursorWindow.h │ │ ├── ObbFile.h │ │ ├── ResourcePackageId.h │ │ ├── ResourceTypes.h │ │ ├── StreamingZipInflater.h │ │ ├── TypeWrappers.h │ │ ├── ZipFileRO.h │ │ ├── ZipUtils.h │ │ └── misc.h │ ├── libs/ │ │ └── androidfw/ │ │ ├── Android.mk │ │ ├── Asset.cpp │ │ ├── AssetDir.cpp │ │ ├── AssetManager.cpp │ │ ├── BackupData.cpp │ │ ├── BackupHelpers.cpp │ │ ├── CursorWindow.cpp │ │ ├── MODULE_LICENSE_APACHE2 │ │ ├── NOTICE │ │ ├── ObbFile.cpp │ │ ├── ResourceTypes.cpp │ │ ├── StreamingZipInflater.cpp │ │ ├── TypeWrappers.cpp │ │ ├── ZipFileRO.cpp │ │ ├── ZipUtils.cpp │ │ ├── misc.cpp │ │ └── tests/ │ │ ├── Android.mk │ │ ├── BackupData_test.cpp │ │ ├── ByteBucketArray_test.cpp │ │ ├── ConfigLocale_test.cpp │ │ ├── Config_test.cpp │ │ ├── Idmap_test.cpp │ │ ├── ObbFile_test.cpp │ │ ├── ResTable_test.cpp │ │ ├── Split_test.cpp │ │ ├── TestHelpers.h │ │ ├── Theme_test.cpp │ │ ├── TypeWrappers_test.cpp │ │ ├── ZipUtils_test.cpp │ │ └── data/ │ │ ├── .gitignore │ │ ├── app/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── R.h │ │ │ ├── app_arsc.h │ │ │ └── res/ │ │ │ └── values/ │ │ │ └── values.xml │ │ ├── basic/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── R.h │ │ │ ├── basic_arsc.h │ │ │ ├── res/ │ │ │ │ ├── layout/ │ │ │ │ │ └── main.xml │ │ │ │ ├── layout-fr-sw600dp/ │ │ │ │ │ └── main.xml │ │ │ │ ├── values/ │ │ │ │ │ └── values.xml │ │ │ │ ├── values-de/ │ │ │ │ │ └── values.xml │ │ │ │ ├── values-fr/ │ │ │ │ │ └── values.xml │ │ │ │ └── values-sv/ │ │ │ │ └── values.xml │ │ │ └── split_de_fr_arsc.h │ │ ├── feature/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── feature_arsc.h │ │ │ └── res/ │ │ │ └── values/ │ │ │ └── values.xml │ │ ├── lib/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── R.h │ │ │ ├── lib_arsc.h │ │ │ └── res/ │ │ │ └── values/ │ │ │ └── values.xml │ │ ├── overlay/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── overlay_arsc.h │ │ │ └── res/ │ │ │ └── values/ │ │ │ └── values.xml │ │ └── system/ │ │ ├── AndroidManifest.xml │ │ ├── R.h │ │ ├── res/ │ │ │ └── values/ │ │ │ └── themes.xml │ │ └── system_arsc.h │ └── tools/ │ └── aapt/ │ ├── AaptAssets.cpp │ ├── AaptAssets.h │ ├── AaptConfig.cpp │ ├── AaptConfig.h │ ├── AaptUtil.cpp │ ├── AaptUtil.h │ ├── AaptXml.cpp │ ├── AaptXml.h │ ├── Android.mk │ ├── ApkBuilder.cpp │ ├── ApkBuilder.h │ ├── Bundle.h │ ├── CacheUpdater.h │ ├── Command.cpp │ ├── ConfigDescription.h │ ├── CrunchCache.cpp │ ├── CrunchCache.h │ ├── DirectoryWalker.h │ ├── FileFinder.cpp │ ├── FileFinder.h │ ├── Images.cpp │ ├── Images.h │ ├── IndentPrinter.h │ ├── Main.cpp │ ├── Main.h │ ├── NOTICE │ ├── OutputSet.h │ ├── Package.cpp │ ├── Resource.cpp │ ├── ResourceFilter.cpp │ ├── ResourceFilter.h │ ├── ResourceIdCache.cpp │ ├── ResourceIdCache.h │ ├── ResourceTable.cpp │ ├── ResourceTable.h │ ├── SourcePos.cpp │ ├── SourcePos.h │ ├── StringPool.cpp │ ├── StringPool.h │ ├── WorkQueue.cpp │ ├── WorkQueue.h │ ├── XMLNode.cpp │ ├── XMLNode.h │ ├── ZipEntry.cpp │ ├── ZipEntry.h │ ├── ZipFile.cpp │ ├── ZipFile.h │ ├── printapk.cpp │ ├── pseudolocalize.cpp │ ├── pseudolocalize.h │ ├── qsort_r_compat.c │ ├── qsort_r_compat.h │ └── tests/ │ ├── AaptConfig_test.cpp │ ├── AaptGroupEntry_test.cpp │ ├── CrunchCache_test.cpp │ ├── FileFinder_test.cpp │ ├── MockCacheUpdater.h │ ├── MockDirectoryWalker.h │ ├── MockFileFinder.h │ ├── ResourceFilter_test.cpp │ ├── TestHelper.h │ └── plurals/ │ ├── AndroidManifest.xml │ ├── res/ │ │ └── values/ │ │ └── strings.xml │ └── run.sh ├── atlas-core/ │ ├── .gitignore │ ├── README.md │ ├── README.zh_cn.md │ ├── build.gradle │ ├── gradle/ │ │ └── wrapper/ │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── lint.xml │ ├── proguard.cfg │ ├── project.properties │ ├── publish.sh │ ├── settings.gradle │ └── src/ │ └── main/ │ ├── AndroidManifest.xml │ ├── aidl/ │ │ └── android/ │ │ ├── app/ │ │ │ ├── IActivityManager/ │ │ │ │ └── ContentProviderHolder.aidl │ │ │ └── IServiceConnection.aidl │ │ └── taobao/ │ │ └── atlas/ │ │ └── runtime/ │ │ ├── ApplicationInitException.java │ │ └── newcomponent/ │ │ └── service/ │ │ └── IDelegateBinder.aidl │ ├── java/ │ │ ├── android/ │ │ │ ├── support/ │ │ │ │ └── multidex/ │ │ │ │ ├── DexElementsMaker.java │ │ │ │ ├── DexElementsMethodInvokerV14.java │ │ │ │ ├── DexElementsMethodInvokerV19.java │ │ │ │ ├── IDexElementsMaker.java │ │ │ │ ├── IDexElementsMethodInvoker.java │ │ │ │ ├── MultiDex.java │ │ │ │ ├── MultiDexExtractor.java │ │ │ │ └── ZipUtil.java │ │ │ └── taobao/ │ │ │ └── atlas/ │ │ │ ├── bridge/ │ │ │ │ └── BridgeApplicationDelegate.java │ │ │ ├── bundleInfo/ │ │ │ │ ├── AtlasBundleInfoGenerator.java │ │ │ │ ├── AtlasBundleInfoManager.java │ │ │ │ ├── BundleListing.java │ │ │ │ └── BundleListingUtil.java │ │ │ ├── framework/ │ │ │ │ ├── Atlas.java │ │ │ │ ├── Framework.java │ │ │ │ └── FrameworkProperties.java │ │ │ ├── hack/ │ │ │ │ ├── AndroidHack.java │ │ │ │ ├── AssertionArrayException.java │ │ │ │ ├── AtlasHacks.java │ │ │ │ ├── Hack.java │ │ │ │ └── Interception.java │ │ │ ├── profile/ │ │ │ │ └── AtlasProfile.java │ │ │ ├── runtime/ │ │ │ │ ├── ActivityLifeCycleObserver.java │ │ │ │ ├── ActivityTaskMgr.java │ │ │ │ ├── ApplicationInvoker.java │ │ │ │ ├── AtlasPreLauncher.java │ │ │ │ ├── BundleIniter.java │ │ │ │ ├── FrameworkLifecycleHandler.java │ │ │ │ ├── LowDiskException.java │ │ │ │ └── RuntimeVariables.java │ │ │ ├── startup/ │ │ │ │ ├── AtlasBridgeApplication.java │ │ │ │ ├── DexFileCompat.java │ │ │ │ ├── KernalVersionManager.java │ │ │ │ ├── NClassLoader.java │ │ │ │ └── patch/ │ │ │ │ ├── CombineDexMerger.java │ │ │ │ ├── CombineDexVerifier.java │ │ │ │ ├── KernalBundle.java │ │ │ │ ├── KernalBundleArchive.java │ │ │ │ ├── KernalConstants.java │ │ │ │ ├── KernalFileLock.java │ │ │ │ ├── PatchMerger.java │ │ │ │ ├── PatchVerifier.java │ │ │ │ └── releaser/ │ │ │ │ ├── BundleReleaser.java │ │ │ │ ├── DexReleaser.java │ │ │ │ ├── PatchDexProfile.java │ │ │ │ └── ReleaseType.java │ │ │ ├── util/ │ │ │ │ ├── ApkUtils.java │ │ │ │ ├── AtlasFileLock.java │ │ │ │ ├── BundleLock.java │ │ │ │ ├── FileUtils.java │ │ │ │ ├── IOUtil.java │ │ │ │ ├── RefectUtils.java │ │ │ │ ├── SoLoader.java │ │ │ │ ├── StringUtils.java │ │ │ │ ├── WrapperUtil.java │ │ │ │ └── log/ │ │ │ │ ├── IAlarmer.java │ │ │ │ ├── ILog.java │ │ │ │ ├── IMonitor.java │ │ │ │ └── impl/ │ │ │ │ ├── AtlasAlarmer.java │ │ │ │ ├── AtlasLog.java │ │ │ │ └── AtlasMonitor.java │ │ │ └── versionInfo/ │ │ │ └── BaselineInfoManager.java │ │ └── org/ │ │ └── osgi/ │ │ └── framework/ │ │ ├── Bundle.java │ │ ├── BundleEvent.java │ │ ├── BundleException.java │ │ ├── BundleListener.java │ │ ├── Constants.java │ │ ├── FrameworkEvent.java │ │ ├── FrameworkListener.java │ │ └── SynchronousBundleListener.java │ └── res/ │ ├── drawable/ │ │ └── atlas_waitview.xml │ ├── layout/ │ │ └── atlas_progress.xml │ └── values/ │ └── style_atlas.xml ├── atlas-demo/ │ ├── .gitignore │ ├── AtlasDemo/ │ │ ├── .gitignore │ │ ├── AwoForBundle.txt │ │ ├── AwoForHost.txt │ │ ├── README.md │ │ ├── Tpatch.txt │ │ ├── activitygroupcompat/ │ │ │ ├── .gitignore │ │ │ ├── build.gradle │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── taobao/ │ │ │ │ └── android/ │ │ │ │ ├── ActivityGroupDelegate.java │ │ │ │ └── LocalActivityManager.java │ │ │ └── res/ │ │ │ └── values/ │ │ │ └── strings.xml │ │ ├── app/ │ │ │ ├── .gitignore │ │ │ ├── .gradletasknamecache │ │ │ ├── build.gradle │ │ │ ├── dexPatchWraper.gradle │ │ │ ├── jd-gui.cfg │ │ │ ├── proguard-rules.pro │ │ │ ├── push_dexpatch_out.sh │ │ │ └── src/ │ │ │ ├── androidTest/ │ │ │ │ └── java/ │ │ │ │ └── com/ │ │ │ │ └── taobao/ │ │ │ │ └── demo/ │ │ │ │ └── ExampleInstrumentedTest.java │ │ │ └── main/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── taobao/ │ │ │ │ ├── demo/ │ │ │ │ │ ├── DemoApplication.java │ │ │ │ │ ├── DemoPreLaunch.java │ │ │ │ │ ├── MainActivity.java │ │ │ │ │ ├── MyContentProvider.java │ │ │ │ │ ├── RemoteDemoActivity.java │ │ │ │ │ ├── UpdateDemoActivity.java │ │ │ │ │ └── databind/ │ │ │ │ │ ├── DataBundleAarActivity.java │ │ │ │ │ └── User.java │ │ │ │ └── update/ │ │ │ │ └── Updater.java │ │ │ └── res/ │ │ │ ├── drawable/ │ │ │ │ ├── ic_dashboard_black_24dp.xml │ │ │ │ ├── ic_home_black_24dp.xml │ │ │ │ ├── ic_notifications_black_24dp.xml │ │ │ │ └── side_nav_bar.xml │ │ │ ├── layout/ │ │ │ │ ├── aar_databind_main.xml │ │ │ │ ├── activity_main.xml │ │ │ │ ├── activity_navigation.xml │ │ │ │ ├── activity_scrolling.xml │ │ │ │ ├── activity_update.xml │ │ │ │ ├── app_bar_main.xml │ │ │ │ ├── content_main.xml │ │ │ │ ├── content_navigation_main.xml │ │ │ │ ├── content_scrolling.xml │ │ │ │ ├── guild_remote_bundle.xml │ │ │ │ └── nav_header_main.xml │ │ │ ├── menu/ │ │ │ │ ├── activity_main_drawer.xml │ │ │ │ ├── main.xml │ │ │ │ └── navigation.xml │ │ │ └── values/ │ │ │ ├── colors.xml │ │ │ ├── dimens.xml │ │ │ ├── main_style.xml │ │ │ └── strings.xml │ │ ├── build.gradle │ │ ├── databindbundle/ │ │ │ ├── .gitignore │ │ │ ├── build.gradle │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── taobao/ │ │ │ │ └── databindbundle/ │ │ │ │ └── databind/ │ │ │ │ ├── DataBundleSampleActivity.java │ │ │ │ └── User.java │ │ │ └── res/ │ │ │ ├── layout/ │ │ │ │ └── bundle_databind_main.xml │ │ │ └── values/ │ │ │ └── strings.xml │ │ ├── databindinglibrary/ │ │ │ ├── .gitignore │ │ │ ├── build.gradle │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── taobao/ │ │ │ │ └── databinding/ │ │ │ │ └── library/ │ │ │ │ ├── DataBingAarActivity.java │ │ │ │ └── User.java │ │ │ └── res/ │ │ │ └── layout/ │ │ │ └── aar_databind.xml │ │ ├── firstbundle/ │ │ │ ├── .gitignore │ │ │ ├── build.gradle │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── taobao/ │ │ │ │ └── firstbundle/ │ │ │ │ ├── FirstBundleActivity.java │ │ │ │ ├── FirstBundleService.java │ │ │ │ ├── UseremoteActivity.java │ │ │ │ └── fragment/ │ │ │ │ ├── BlankFragment.java │ │ │ │ ├── DummyContent.java │ │ │ │ ├── ItemFragment.java │ │ │ │ └── MyItemRecyclerViewAdapter.java │ │ │ └── res/ │ │ │ ├── layout/ │ │ │ │ ├── activity_firstbundle.xml │ │ │ │ ├── activity_useremote.xml │ │ │ │ ├── activity_web_view.xml │ │ │ │ ├── fragment_blank.xml │ │ │ │ ├── fragment_item.xml │ │ │ │ └── fragment_item_list.xml │ │ │ └── values/ │ │ │ └── strings.xml │ │ ├── gradle/ │ │ │ └── wrapper/ │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ │ ├── gradle.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ ├── lottie/ │ │ │ ├── .gitignore │ │ │ ├── build.gradle │ │ │ ├── gradle.properties │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── airbnb/ │ │ │ │ └── lottie/ │ │ │ │ ├── AnimatableColorValue.java │ │ │ │ ├── AnimatableFloatValue.java │ │ │ │ ├── AnimatableIntegerValue.java │ │ │ │ ├── AnimatablePathValue.java │ │ │ │ ├── AnimatablePointValue.java │ │ │ │ ├── AnimatableScaleValue.java │ │ │ │ ├── AnimatableShapeValue.java │ │ │ │ ├── AnimatableSplitDimensionPathValue.java │ │ │ │ ├── AnimatableTransform.java │ │ │ │ ├── AnimatableValue.java │ │ │ │ ├── AnimatableValueParser.java │ │ │ │ ├── BaseAnimatableValue.java │ │ │ │ ├── BaseKeyframeAnimation.java │ │ │ │ ├── BaseLayer.java │ │ │ │ ├── BitmapCanvas.java │ │ │ │ ├── Cancellable.java │ │ │ │ ├── CanvasPool.java │ │ │ │ ├── CircleShape.java │ │ │ │ ├── ColorFactory.java │ │ │ │ ├── ColorKeyframeAnimation.java │ │ │ │ ├── CompositionLayer.java │ │ │ │ ├── CompositionLoader.java │ │ │ │ ├── Content.java │ │ │ │ ├── ContentGroup.java │ │ │ │ ├── CubicCurveData.java │ │ │ │ ├── DrawingContent.java │ │ │ │ ├── EllipseContent.java │ │ │ │ ├── FileCompositionLoader.java │ │ │ │ ├── FillContent.java │ │ │ │ ├── FloatKeyframeAnimation.java │ │ │ │ ├── GammaEvaluator.java │ │ │ │ ├── ImageAssetBitmapManager.java │ │ │ │ ├── ImageAssetDelegate.java │ │ │ │ ├── ImageLayer.java │ │ │ │ ├── IntegerKeyframeAnimation.java │ │ │ │ ├── JsonCompositionLoader.java │ │ │ │ ├── JsonUtils.java │ │ │ │ ├── Keyframe.java │ │ │ │ ├── KeyframeAnimation.java │ │ │ │ ├── L.java │ │ │ │ ├── Layer.java │ │ │ │ ├── LottieAnimationView.java │ │ │ │ ├── LottieComposition.java │ │ │ │ ├── LottieDrawable.java │ │ │ │ ├── LottieImageAsset.java │ │ │ │ ├── Mask.java │ │ │ │ ├── MaskKeyframeAnimation.java │ │ │ │ ├── MergePaths.java │ │ │ │ ├── MergePathsContent.java │ │ │ │ ├── MiscUtils.java │ │ │ │ ├── ModifierContent.java │ │ │ │ ├── NullLayer.java │ │ │ │ ├── OnCompositionLoadedListener.java │ │ │ │ ├── PathContent.java │ │ │ │ ├── PathKeyframe.java │ │ │ │ ├── PathKeyframeAnimation.java │ │ │ │ ├── PointFFactory.java │ │ │ │ ├── PointKeyframeAnimation.java │ │ │ │ ├── PolystarContent.java │ │ │ │ ├── PolystarShape.java │ │ │ │ ├── RectangleContent.java │ │ │ │ ├── RectangleShape.java │ │ │ │ ├── ScaleKeyframeAnimation.java │ │ │ │ ├── ScaleXY.java │ │ │ │ ├── ShapeContent.java │ │ │ │ ├── ShapeData.java │ │ │ │ ├── ShapeFill.java │ │ │ │ ├── ShapeGroup.java │ │ │ │ ├── ShapeKeyframeAnimation.java │ │ │ │ ├── ShapeLayer.java │ │ │ │ ├── ShapePath.java │ │ │ │ ├── ShapeStroke.java │ │ │ │ ├── ShapeTrimPath.java │ │ │ │ ├── SolidLayer.java │ │ │ │ ├── SplitDimensionPathKeyframeAnimation.java │ │ │ │ ├── StaticKeyframeAnimation.java │ │ │ │ ├── StrokeContent.java │ │ │ │ ├── TransformKeyframeAnimation.java │ │ │ │ ├── TrimPathContent.java │ │ │ │ └── Utils.java │ │ │ └── res/ │ │ │ └── values/ │ │ │ ├── attrs.xml │ │ │ └── ids.xml │ │ ├── middlewarelibrary/ │ │ │ ├── .gitignore │ │ │ ├── build.gradle │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ ├── androidTest/ │ │ │ │ └── java/ │ │ │ │ └── com/ │ │ │ │ └── taobao/ │ │ │ │ └── middleware/ │ │ │ │ └── ExampleInstrumentedTest.java │ │ │ ├── main/ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ ├── java/ │ │ │ │ │ └── com/ │ │ │ │ │ ├── middleware/ │ │ │ │ │ │ └── dialog/ │ │ │ │ │ │ ├── Button.java │ │ │ │ │ │ ├── ButtonFlat.java │ │ │ │ │ │ ├── CustomView.java │ │ │ │ │ │ ├── Dialog.java │ │ │ │ │ │ └── Utils.java │ │ │ │ │ └── taobao/ │ │ │ │ │ └── middleware/ │ │ │ │ │ ├── ICaculator.java │ │ │ │ │ ├── ItemDetailActivity.java │ │ │ │ │ ├── ItemDetailFragment.java │ │ │ │ │ ├── ItemListActivity.java │ │ │ │ │ ├── StringUtil.java │ │ │ │ │ └── dummy/ │ │ │ │ │ └── DummyContent.java │ │ │ │ └── res/ │ │ │ │ ├── anim/ │ │ │ │ │ ├── dialog_main_hide_amination.xml │ │ │ │ │ ├── dialog_main_show_amination.xml │ │ │ │ │ ├── dialog_root_hide_amin.xml │ │ │ │ │ └── dialog_root_show_amin.xml │ │ │ │ ├── drawable/ │ │ │ │ │ └── background_transparent.xml │ │ │ │ ├── layout/ │ │ │ │ │ ├── activity_item_detail.xml │ │ │ │ │ ├── activity_item_list.xml │ │ │ │ │ ├── item_detail.xml │ │ │ │ │ ├── item_list.xml │ │ │ │ │ ├── item_list_content.xml │ │ │ │ │ └── update_dialog.xml │ │ │ │ ├── layout-w900dp/ │ │ │ │ │ └── item_list.xml │ │ │ │ └── values/ │ │ │ │ ├── colors.xml │ │ │ │ ├── dimens.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── taobao/ │ │ │ └── middleware/ │ │ │ └── ExampleUnitTest.java │ │ ├── publicbundle/ │ │ │ ├── .gitignore │ │ │ ├── build.gradle │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ ├── androidTest/ │ │ │ │ └── java/ │ │ │ │ └── com/ │ │ │ │ └── taobao/ │ │ │ │ └── publicBundle/ │ │ │ │ └── ExampleInstrumentedTest.java │ │ │ ├── main/ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ ├── java/ │ │ │ │ │ └── com/ │ │ │ │ │ └── taobao/ │ │ │ │ │ └── publicBundle/ │ │ │ │ │ └── Tools.java │ │ │ │ └── res/ │ │ │ │ └── values/ │ │ │ │ └── strings.xml │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── taobao/ │ │ │ └── publicBundle/ │ │ │ └── ExampleUnitTest.java │ │ ├── remotebundle/ │ │ │ ├── .gitignore │ │ │ ├── build.gradle │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ ├── androidTest/ │ │ │ │ └── java/ │ │ │ │ └── com/ │ │ │ │ └── taobao/ │ │ │ │ └── remotebunle/ │ │ │ │ └── ExampleInstrumentedTest.java │ │ │ ├── main/ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ ├── java/ │ │ │ │ │ └── com/ │ │ │ │ │ └── taobao/ │ │ │ │ │ └── remotebunle/ │ │ │ │ │ └── RemoteBundleActivity.java │ │ │ │ └── res/ │ │ │ │ ├── layout/ │ │ │ │ │ └── activity_remote_bundle.xml │ │ │ │ └── values/ │ │ │ │ └── strings.xml │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── taobao/ │ │ │ └── remotebunle/ │ │ │ └── ExampleUnitTest.java │ │ ├── secondbundle/ │ │ │ ├── .gitignore │ │ │ ├── build.gradle │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ ├── main/ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ ├── java/ │ │ │ │ │ └── com/ │ │ │ │ │ └── taobao/ │ │ │ │ │ └── secondbundle/ │ │ │ │ │ ├── MyRichView.java │ │ │ │ │ ├── PlusOneFragment.java │ │ │ │ │ ├── SecondBundleActivity.java │ │ │ │ │ ├── SecondBundleApplication.java │ │ │ │ │ ├── SecondBundleFragment.java │ │ │ │ │ └── SecondBundleIniter.java │ │ │ │ └── res/ │ │ │ │ ├── layout/ │ │ │ │ │ ├── activity_secondbundle.xml │ │ │ │ │ ├── fragment_plus_one.xml │ │ │ │ │ └── test_layout.xml │ │ │ │ └── values/ │ │ │ │ └── strings.xml │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── taobao/ │ │ │ └── secondbundle/ │ │ │ └── ExampleUnitTest.java │ │ ├── secondbundlelibrary/ │ │ │ ├── .gitignore │ │ │ ├── build.gradle │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ ├── androidTest/ │ │ │ │ └── java/ │ │ │ │ └── com/ │ │ │ │ └── taobao/ │ │ │ │ └── secondbundlelibrary/ │ │ │ │ └── ExampleInstrumentedTest.java │ │ │ ├── main/ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ ├── java/ │ │ │ │ │ └── com/ │ │ │ │ │ └── taobao/ │ │ │ │ │ └── secondbundlelibrary/ │ │ │ │ │ └── SecondbundleShareActivity.java │ │ │ │ └── res/ │ │ │ │ ├── layout/ │ │ │ │ │ └── activity_secondbundle_share.xml │ │ │ │ └── values/ │ │ │ │ └── strings.xml │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── taobao/ │ │ │ └── secondbundlelibrary/ │ │ │ └── ExampleUnitTest.java │ │ ├── settings.gradle │ │ ├── splashscreen/ │ │ │ ├── .gitignore │ │ │ ├── build.gradle │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ ├── androidTest/ │ │ │ │ └── java/ │ │ │ │ └── com/ │ │ │ │ └── taobao/ │ │ │ │ └── splashscreen/ │ │ │ │ └── ExampleInstrumentedTest.java │ │ │ ├── main/ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ ├── assets/ │ │ │ │ │ ├── A.json │ │ │ │ │ ├── L.json │ │ │ │ │ ├── S.json │ │ │ │ │ └── T.json │ │ │ │ ├── java/ │ │ │ │ │ └── com/ │ │ │ │ │ ├── airbnb/ │ │ │ │ │ │ └── lottiesplash/ │ │ │ │ │ │ └── LottieFontViewGroup.java │ │ │ │ │ └── taobao/ │ │ │ │ │ └── splashscreen/ │ │ │ │ │ └── WelcomeActivity.java │ │ │ │ └── res/ │ │ │ │ ├── layout/ │ │ │ │ │ └── activity_welcome.xml │ │ │ │ └── values/ │ │ │ │ ├── attrs.xml │ │ │ │ ├── colors.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── taobao/ │ │ │ └── splashscreen/ │ │ │ └── ExampleUnitTest.java │ │ └── structor.md │ ├── IncrementAtlasDemo/ │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── gradle/ │ │ │ └── wrapper/ │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ │ ├── gradle.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ ├── increment_app/ │ │ │ ├── build.gradle │ │ │ └── src/ │ │ │ └── main/ │ │ │ └── AndroidManifest.xml │ │ └── settings.gradle │ ├── MyApplication/ │ │ ├── gradle/ │ │ │ └── wrapper/ │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ │ └── gradlew │ ├── README.md │ ├── multi-feature-module/ │ │ ├── .google/ │ │ │ └── packaging.yaml │ │ ├── LICENSE │ │ ├── NOTICE │ │ ├── README.md │ │ ├── base/ │ │ │ ├── build.gradle │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── example/ │ │ │ │ └── android/ │ │ │ │ └── unsplash/ │ │ │ │ ├── IntentUtil.kt │ │ │ │ ├── data/ │ │ │ │ │ ├── PhotoService.java │ │ │ │ │ ├── UnsplashService.java │ │ │ │ │ └── model/ │ │ │ │ │ └── Photo.java │ │ │ │ ├── test.kt │ │ │ │ ├── transition/ │ │ │ │ │ └── TextResize.java │ │ │ │ └── ui/ │ │ │ │ ├── DetailSharedElementEnterCallback.java │ │ │ │ ├── ForegroundImageView.java │ │ │ │ ├── ImageSize.java │ │ │ │ ├── ThreeTwoImageView.java │ │ │ │ ├── TransitionCallback.java │ │ │ │ ├── grid/ │ │ │ │ │ ├── GridMarginDecoration.java │ │ │ │ │ ├── OnItemSelectedListener.java │ │ │ │ │ ├── PhotoAdapter.java │ │ │ │ │ └── PhotoViewHolder.java │ │ │ │ └── pager/ │ │ │ │ └── DetailViewPagerAdapter.java │ │ │ └── res/ │ │ │ ├── animator/ │ │ │ │ └── raise.xml │ │ │ ├── drawable/ │ │ │ │ ├── grey_ripple.xml │ │ │ │ └── ic_arrow_back.xml │ │ │ ├── layout/ │ │ │ │ ├── detail_view.xml │ │ │ │ └── photo_item.xml │ │ │ ├── transition/ │ │ │ │ ├── grid_exit.xml │ │ │ │ ├── grid_reenter.xml │ │ │ │ └── shared_main_detail.xml │ │ │ └── values/ │ │ │ ├── attrs_foreground_view.xml │ │ │ ├── colors.xml │ │ │ ├── dimens.xml │ │ │ ├── ids.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ ├── build.gradle │ │ ├── detail/ │ │ │ ├── build.gradle │ │ │ └── src/ │ │ │ ├── androidTest/ │ │ │ │ └── java/ │ │ │ │ └── com/ │ │ │ │ └── example/ │ │ │ │ └── android/ │ │ │ │ └── unsplash/ │ │ │ │ └── DetailActivityTest.java │ │ │ └── main/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── example/ │ │ │ │ └── android/ │ │ │ │ └── unsplash/ │ │ │ │ └── DetailActivity.java │ │ │ └── res/ │ │ │ ├── drawable/ │ │ │ │ └── page_margin.xml │ │ │ └── layout/ │ │ │ └── activity_detail.xml │ │ ├── gradle/ │ │ │ └── wrapper/ │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ │ ├── gradle.properties │ │ ├── gradlew │ │ ├── installed/ │ │ │ ├── .gitignore │ │ │ ├── build.gradle │ │ │ └── src/ │ │ │ └── main/ │ │ │ └── AndroidManifest.xml │ │ ├── instant/ │ │ │ └── build.gradle │ │ ├── main/ │ │ │ ├── build.gradle │ │ │ └── src/ │ │ │ ├── androidTest/ │ │ │ │ └── java/ │ │ │ │ └── com/ │ │ │ │ └── example/ │ │ │ │ └── android/ │ │ │ │ └── unsplash/ │ │ │ │ └── MainActivityTest.java │ │ │ └── main/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── example/ │ │ │ │ └── android/ │ │ │ │ └── unsplash/ │ │ │ │ └── MainActivity.java │ │ │ └── res/ │ │ │ └── layout/ │ │ │ └── activity_main.xml │ │ ├── proguard.pro │ │ └── settings.gradle │ └── 基于版本打包的demo/ │ ├── FirstBundle/ │ │ ├── build.gradle │ │ ├── gradle/ │ │ │ └── wrapper/ │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src/ │ │ └── main/ │ │ ├── AndroidManifest.xml │ │ ├── java/ │ │ │ └── com/ │ │ │ └── taobao/ │ │ │ └── firstbundle/ │ │ │ ├── FirstBundleActivity.java │ │ │ └── FirstBundleApplication.java │ │ └── res/ │ │ ├── layout/ │ │ │ └── first_main.xml │ │ └── values/ │ │ └── strings.xml │ ├── README.md │ ├── README.zh_cn.md │ ├── app/ │ │ ├── activitygroupdelegate/ │ │ │ ├── .gitignore │ │ │ ├── build.gradle │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ ├── androidTest/ │ │ │ │ └── java/ │ │ │ │ └── com/ │ │ │ │ └── taoboa/ │ │ │ │ └── activitygroupdelegate/ │ │ │ │ └── ExampleInstrumentedTest.java │ │ │ ├── main/ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ └── res/ │ │ │ │ └── values/ │ │ │ │ └── strings.xml │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── taoboa/ │ │ │ └── activitygroupdelegate/ │ │ │ └── ExampleUnitTest.java │ │ ├── build.gradle │ │ ├── buildApk.sh │ │ ├── buildTpatch.sh │ │ ├── firstbundle/ │ │ │ ├── .gitignore │ │ │ ├── build.gradle │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ ├── androidTest/ │ │ │ │ └── java/ │ │ │ │ └── com/ │ │ │ │ └── taobao/ │ │ │ │ └── firstbundle/ │ │ │ │ └── ExampleInstrumentedTest.java │ │ │ ├── main/ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ ├── java/ │ │ │ │ │ └── com/ │ │ │ │ │ └── taobao/ │ │ │ │ │ └── firstbundle/ │ │ │ │ │ └── MainActivity.java │ │ │ │ └── res/ │ │ │ │ ├── drawable/ │ │ │ │ │ ├── ic_dashboard_black_24dp.xml │ │ │ │ │ ├── ic_home_black_24dp.xml │ │ │ │ │ └── ic_notifications_black_24dp.xml │ │ │ │ ├── layout/ │ │ │ │ │ └── activity_main.xml │ │ │ │ ├── menu/ │ │ │ │ │ └── navigation.xml │ │ │ │ └── values/ │ │ │ │ ├── colors.xml │ │ │ │ ├── dimens.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── taobao/ │ │ │ └── firstbundle/ │ │ │ └── ExampleUnitTest.java │ │ ├── gradle/ │ │ │ └── wrapper/ │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ │ ├── gradle.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ ├── proguard.cfg │ │ ├── secondbundle/ │ │ │ ├── .gitignore │ │ │ ├── build.gradle │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ ├── androidTest/ │ │ │ │ └── java/ │ │ │ │ └── com/ │ │ │ │ └── taobao/ │ │ │ │ └── secondbundle/ │ │ │ │ └── ExampleInstrumentedTest.java │ │ │ ├── main/ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ ├── java/ │ │ │ │ │ └── com/ │ │ │ │ │ └── taobao/ │ │ │ │ │ └── secondbundle/ │ │ │ │ │ └── LoginActivity.java │ │ │ │ └── res/ │ │ │ │ ├── layout/ │ │ │ │ │ └── activity_login.xml │ │ │ │ └── values/ │ │ │ │ ├── colors.xml │ │ │ │ ├── dimens.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── taobao/ │ │ │ └── secondbundle/ │ │ │ └── ExampleUnitTest.java │ │ ├── settings.gradle │ │ ├── sharebundle/ │ │ │ ├── .gitignore │ │ │ ├── build.gradle │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ ├── androidTest/ │ │ │ │ └── java/ │ │ │ │ └── com/ │ │ │ │ └── taobao/ │ │ │ │ └── sharebundle/ │ │ │ │ └── ExampleInstrumentedTest.java │ │ │ ├── main/ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ └── res/ │ │ │ │ └── values/ │ │ │ │ └── strings.xml │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── taobao/ │ │ │ └── sharebundle/ │ │ │ └── ExampleUnitTest.java │ │ ├── sharedlibrary/ │ │ │ ├── .gitignore │ │ │ ├── build.gradle │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ ├── androidTest/ │ │ │ │ └── java/ │ │ │ │ └── taobao/ │ │ │ │ └── sharedlibrary/ │ │ │ │ └── ExampleInstrumentedTest.java │ │ │ ├── main/ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ └── res/ │ │ │ │ └── values/ │ │ │ │ └── strings.xml │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── taobao/ │ │ │ └── sharedlibrary/ │ │ │ └── ExampleUnitTest.java │ │ └── src/ │ │ └── main/ │ │ ├── AndroidManifest.xml │ │ ├── java/ │ │ │ └── com/ │ │ │ └── taobao/ │ │ │ └── demo/ │ │ │ ├── DemoApplication.java │ │ │ ├── WelcomActivity.java │ │ │ └── update/ │ │ │ └── Updater.java │ │ └── res/ │ │ ├── layout/ │ │ │ └── main.xml │ │ └── values/ │ │ ├── colors.xml │ │ ├── strings.xml │ │ └── styles.xml │ ├── build.gradle │ ├── gradle/ │ │ └── wrapper/ │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── atlas-docs/ │ ├── .gitignore │ ├── .si.yml │ ├── README.md │ ├── SUMMARY.md │ ├── _book/ │ │ ├── .gitignore │ │ ├── .si.yml │ │ ├── code_read/ │ │ │ ├── atlas_bundle_load/ │ │ │ │ ├── atlas_bundle_load.html │ │ │ │ ├── bundle_load.uml │ │ │ │ └── bundle_load_part_2.uml │ │ │ ├── atlas_gradle_apk/ │ │ │ │ └── atlas_atlas_gradle_apk.html │ │ │ └── atlas_start/ │ │ │ ├── atlas_core_start.uml │ │ │ ├── atlas_core_start_callback.uml │ │ │ ├── atlas_core_start_provider.uml │ │ │ ├── atlas_java_startup.uml │ │ │ ├── atlas_start_1.html │ │ │ └── atlas_start_2.html │ │ ├── faq/ │ │ │ ├── dynamic_failed_help.html │ │ │ ├── help.html │ │ │ ├── question.html │ │ │ └── variant.html │ │ ├── gitbook/ │ │ │ ├── fonts/ │ │ │ │ └── fontawesome/ │ │ │ │ └── FontAwesome.otf │ │ │ ├── gitbook-plugin-fontsettings/ │ │ │ │ ├── fontsettings.js │ │ │ │ └── website.css │ │ │ ├── gitbook-plugin-highlight/ │ │ │ │ ├── ebook.css │ │ │ │ └── website.css │ │ │ ├── gitbook-plugin-livereload/ │ │ │ │ └── plugin.js │ │ │ ├── gitbook-plugin-lunr/ │ │ │ │ └── search-lunr.js │ │ │ ├── gitbook-plugin-search/ │ │ │ │ ├── search-engine.js │ │ │ │ ├── search.css │ │ │ │ └── search.js │ │ │ ├── gitbook-plugin-sharing/ │ │ │ │ └── buttons.js │ │ │ ├── gitbook.js │ │ │ ├── style.css │ │ │ └── theme.js │ │ ├── guide-for-use/ │ │ │ ├── bundleCommunicate.html │ │ │ ├── guide_for_build.html │ │ │ ├── guide_for_bundle.html │ │ │ ├── guide_for_compile.html │ │ │ └── index.html │ │ ├── index.html │ │ ├── principle-intro/ │ │ │ ├── Apk_architecture.html │ │ │ ├── File_architecture_runtime.html │ │ │ ├── Project_architectured.html │ │ │ └── Runtime_principle.html │ │ ├── search_index.json │ │ └── update/ │ │ ├── dexpatch.html │ │ ├── dexpatch_use_guide.html │ │ ├── guide.html │ │ ├── index.html │ │ └── principle.html │ ├── code_read/ │ │ ├── atlas_bundle_load/ │ │ │ ├── atlas_bundle_load.md │ │ │ ├── bundle_load.uml │ │ │ └── bundle_load_part_2.uml │ │ ├── atlas_gradle_apk/ │ │ │ └── atlas_atlas_gradle_apk.md │ │ └── atlas_start/ │ │ ├── atlas_core_start.uml │ │ ├── atlas_core_start_callback.uml │ │ ├── atlas_core_start_provider.uml │ │ ├── atlas_java_startup.uml │ │ ├── atlas_start_1.md │ │ └── atlas_start_2.md │ ├── faq/ │ │ ├── dynamic_failed_help.md │ │ ├── help.md │ │ ├── question.md │ │ └── variant.md │ ├── guide-for-use/ │ │ ├── README.md │ │ ├── _book/ │ │ │ ├── bundleCommunicate.md │ │ │ ├── gitbook/ │ │ │ │ ├── fonts/ │ │ │ │ │ └── fontawesome/ │ │ │ │ │ └── FontAwesome.otf │ │ │ │ ├── gitbook-plugin-fontsettings/ │ │ │ │ │ ├── fontsettings.js │ │ │ │ │ └── website.css │ │ │ │ ├── gitbook-plugin-highlight/ │ │ │ │ │ ├── ebook.css │ │ │ │ │ └── website.css │ │ │ │ ├── gitbook-plugin-livereload/ │ │ │ │ │ └── plugin.js │ │ │ │ ├── gitbook-plugin-lunr/ │ │ │ │ │ └── search-lunr.js │ │ │ │ ├── gitbook-plugin-search/ │ │ │ │ │ ├── search-engine.js │ │ │ │ │ ├── search.css │ │ │ │ │ └── search.js │ │ │ │ ├── gitbook-plugin-sharing/ │ │ │ │ │ └── buttons.js │ │ │ │ ├── gitbook.js │ │ │ │ ├── style.css │ │ │ │ └── theme.js │ │ │ ├── guide_for_build.md │ │ │ ├── guide_for_bundle.md │ │ │ ├── guide_for_compile.md │ │ │ ├── index.html │ │ │ └── search_index.json │ │ ├── bundleCommunicate.md │ │ ├── guide_for_build.md │ │ ├── guide_for_bundle.md │ │ ├── guide_for_compile.md │ │ └── guide_for_progurad.md │ ├── principle-intro/ │ │ ├── Apk_architecture.md │ │ ├── File_architecture_runtime.md │ │ ├── Project_architectured.md │ │ └── Runtime_principle.md │ └── update/ │ ├── README.md │ ├── dexpatch.md │ ├── dexpatch_use_guide.md │ ├── guide.md │ └── principle.md ├── atlas-gradle-plugin/ │ ├── README.md │ ├── aapt/ │ │ ├── build.gradle │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── taobao/ │ │ │ └── android/ │ │ │ └── AaptLib.java │ │ └── resources/ │ │ └── aapt/ │ │ ├── linux/ │ │ │ └── aapt │ │ └── mac/ │ │ └── aapt │ ├── atlas-plugin/ │ │ ├── .gradletasknamecache │ │ ├── build/ │ │ │ └── resources/ │ │ │ └── main/ │ │ │ └── META-INF/ │ │ │ └── gradle-plugins/ │ │ │ ├── com.taobao.atlas.feature.properties │ │ │ └── com.taobao.atlas.instantapp.properties │ │ ├── build.gradle │ │ ├── increment.sh │ │ ├── libs/ │ │ │ └── libarsc.jar │ │ ├── publish.sh │ │ ├── src/ │ │ │ ├── main/ │ │ │ │ ├── java/ │ │ │ │ │ ├── android/ │ │ │ │ │ │ └── aapt/ │ │ │ │ │ │ └── pb/ │ │ │ │ │ │ └── internal/ │ │ │ │ │ │ └── ResourcesInternal.java │ │ │ │ │ ├── com/ │ │ │ │ │ │ ├── android/ │ │ │ │ │ │ │ ├── aapt/ │ │ │ │ │ │ │ │ └── Resources.java │ │ │ │ │ │ │ ├── build/ │ │ │ │ │ │ │ │ └── gradle/ │ │ │ │ │ │ │ │ ├── internal/ │ │ │ │ │ │ │ │ │ ├── AndroidComponent.java │ │ │ │ │ │ │ │ │ ├── ApkDataUtils.java │ │ │ │ │ │ │ │ │ ├── AtlasDependencyManager.java │ │ │ │ │ │ │ │ │ ├── AtlasDependencyManager2.java │ │ │ │ │ │ │ │ │ ├── api/ │ │ │ │ │ │ │ │ │ │ ├── ApContext.java │ │ │ │ │ │ │ │ │ │ ├── ApkFiles.java │ │ │ │ │ │ │ │ │ │ ├── AppVariantContext.java │ │ │ │ │ │ │ │ │ │ ├── AppVariantOutputContext.java │ │ │ │ │ │ │ │ │ │ ├── AwbTransform.java │ │ │ │ │ │ │ │ │ │ ├── FeatureVariantContext.java │ │ │ │ │ │ │ │ │ │ ├── LibVariantContext.java │ │ │ │ │ │ │ │ │ │ └── VariantContext.java │ │ │ │ │ │ │ │ │ ├── ide/ │ │ │ │ │ │ │ │ │ │ ├── AtlasAndroidLibraryImpl.java │ │ │ │ │ │ │ │ │ │ ├── AtlasDependencyGraph.java │ │ │ │ │ │ │ │ │ │ └── DependencyConvertUtils.java │ │ │ │ │ │ │ │ │ ├── incremental/ │ │ │ │ │ │ │ │ │ │ ├── TBConstructorRedirection.java │ │ │ │ │ │ │ │ │ │ ├── TBIncrementalChangeVisitor.java │ │ │ │ │ │ │ │ │ │ ├── TBIncrementalSupportVisitor.java │ │ │ │ │ │ │ │ │ │ ├── TBIncrementalVisitor.java │ │ │ │ │ │ │ │ │ │ └── TBMethodRedirection.java │ │ │ │ │ │ │ │ │ ├── pipeline/ │ │ │ │ │ │ │ │ │ │ ├── AtlasExtendedContentType.java │ │ │ │ │ │ │ │ │ │ ├── AtlasIncrementalFileMergeTransformUtils.java │ │ │ │ │ │ │ │ │ │ ├── AtlasIntermediateFolderUtils.java │ │ │ │ │ │ │ │ │ │ ├── AtlasIntermediateStreamHelper.java │ │ │ │ │ │ │ │ │ │ ├── InjectTransform.java │ │ │ │ │ │ │ │ │ │ └── InjectTransformManager.java │ │ │ │ │ │ │ │ │ ├── publishing/ │ │ │ │ │ │ │ │ │ │ └── AtlasAndroidArtifacts.java │ │ │ │ │ │ │ │ │ ├── scope/ │ │ │ │ │ │ │ │ │ │ └── ConventionMappingHelper.java │ │ │ │ │ │ │ │ │ └── transforms/ │ │ │ │ │ │ │ │ │ ├── ApTransform.java │ │ │ │ │ │ │ │ │ ├── ExtractApTransform.java │ │ │ │ │ │ │ │ │ ├── ExtractAwbTransform.java │ │ │ │ │ │ │ │ │ ├── ExtractSolibTransform.java │ │ │ │ │ │ │ │ │ ├── LoadSolibFromLibsTransform.java │ │ │ │ │ │ │ │ │ └── LoadSolibTransform.java │ │ │ │ │ │ │ │ └── tasks/ │ │ │ │ │ │ │ │ ├── PackageAwb.java │ │ │ │ │ │ │ │ └── factory/ │ │ │ │ │ │ │ │ └── AwbAndroidJavaCompile.java │ │ │ │ │ │ │ ├── builder/ │ │ │ │ │ │ │ │ └── core/ │ │ │ │ │ │ │ │ ├── AtlasAapt.java │ │ │ │ │ │ │ │ └── AtlasBuilder.java │ │ │ │ │ │ │ ├── ide/ │ │ │ │ │ │ │ │ └── common/ │ │ │ │ │ │ │ │ └── process/ │ │ │ │ │ │ │ │ ├── CmdExecutor.java │ │ │ │ │ │ │ │ ├── MtlProcessExecutor.java │ │ │ │ │ │ │ │ ├── MtlProcessInfo.java │ │ │ │ │ │ │ │ └── MtlProcessInfoBuilder.java │ │ │ │ │ │ │ └── tools/ │ │ │ │ │ │ │ └── r8/ │ │ │ │ │ │ │ ├── AtlasD8.java │ │ │ │ │ │ │ ├── AtlasD8DexArchiveBuilder.java │ │ │ │ │ │ │ ├── AtlasD8Merger.java │ │ │ │ │ │ │ └── dex/ │ │ │ │ │ │ │ ├── AtlasApplicationWriter.java │ │ │ │ │ │ │ └── AtlasVirtualFile.java │ │ │ │ │ │ └── taobao/ │ │ │ │ │ │ └── android/ │ │ │ │ │ │ └── builder/ │ │ │ │ │ │ ├── AtlasAppPlugin.java │ │ │ │ │ │ ├── AtlasBasePlugin.java │ │ │ │ │ │ ├── AtlasBuildContext.java │ │ │ │ │ │ ├── AtlasFeaturePlugin.java │ │ │ │ │ │ ├── AtlasInstantAppPlugin.java │ │ │ │ │ │ ├── AtlasLibPlugin.java │ │ │ │ │ │ ├── AtlasMainDexHelper.java │ │ │ │ │ │ ├── AtlasPlugin.java │ │ │ │ │ │ ├── adapter/ │ │ │ │ │ │ │ ├── AppVariantContextFactory.java │ │ │ │ │ │ │ ├── AtlasExtensionFactory.java │ │ │ │ │ │ │ └── BuilderAdapter.java │ │ │ │ │ │ ├── dependency/ │ │ │ │ │ │ │ ├── AtlasDependencyTree.java │ │ │ │ │ │ │ ├── AtlasProjectDependencyManager.java │ │ │ │ │ │ │ ├── ap/ │ │ │ │ │ │ │ │ └── ApDependency.java │ │ │ │ │ │ │ ├── diff/ │ │ │ │ │ │ │ │ ├── DependencyCompareUtils.java │ │ │ │ │ │ │ │ └── DependencyDiff.java │ │ │ │ │ │ │ ├── model/ │ │ │ │ │ │ │ │ ├── ApLibrary.java │ │ │ │ │ │ │ │ ├── ApkLibrary.java │ │ │ │ │ │ │ │ ├── AwbBundle.java │ │ │ │ │ │ │ │ └── SoLibrary.java │ │ │ │ │ │ │ ├── output/ │ │ │ │ │ │ │ │ └── DependencyJson.java │ │ │ │ │ │ │ └── parser/ │ │ │ │ │ │ │ ├── AtlasDepHelper.java │ │ │ │ │ │ │ ├── AtlasDepTreeParser.java │ │ │ │ │ │ │ ├── CircleDependencyCheck.java │ │ │ │ │ │ │ ├── DependencyLocationManager.java │ │ │ │ │ │ │ ├── ResolvedDependencyInfo.java │ │ │ │ │ │ │ └── helper/ │ │ │ │ │ │ │ ├── DependencyGroup.java │ │ │ │ │ │ │ └── DependencyResolver.java │ │ │ │ │ │ ├── extension/ │ │ │ │ │ │ │ ├── AtlasExtension.java │ │ │ │ │ │ │ ├── BundleConfig.java │ │ │ │ │ │ │ ├── DefaultChannelConfig.java │ │ │ │ │ │ │ ├── DexConfig.java │ │ │ │ │ │ │ ├── EnhanceConfig.java │ │ │ │ │ │ │ ├── ManifestOptions.java │ │ │ │ │ │ │ ├── MultiDexConfig.java │ │ │ │ │ │ │ ├── PatchConfig.java │ │ │ │ │ │ │ ├── TBuildConfig.java │ │ │ │ │ │ │ ├── TBuildType.java │ │ │ │ │ │ │ ├── annotation/ │ │ │ │ │ │ │ │ ├── Config.java │ │ │ │ │ │ │ │ └── ConfigGroup.java │ │ │ │ │ │ │ └── factory/ │ │ │ │ │ │ │ ├── DefaultChannelConfigFactory.java │ │ │ │ │ │ │ ├── DexConfigFactory.java │ │ │ │ │ │ │ ├── EnhanceConfigFactory.java │ │ │ │ │ │ │ ├── MultiDexConfigFactory.java │ │ │ │ │ │ │ ├── PatchConfigFactory.java │ │ │ │ │ │ │ └── TBuildTypeFactory.java │ │ │ │ │ │ ├── hook/ │ │ │ │ │ │ │ ├── AppPluginHook.java │ │ │ │ │ │ │ └── dex/ │ │ │ │ │ │ │ ├── AtlasD8Creator.java │ │ │ │ │ │ │ ├── AtlasDexArchiveMerger.java │ │ │ │ │ │ │ ├── DexArchiveMergerHook.java │ │ │ │ │ │ │ ├── DexByteCodeConverterHook.java │ │ │ │ │ │ │ ├── DexWrapperHook.java │ │ │ │ │ │ │ ├── DirDexArchiveHook.java │ │ │ │ │ │ │ └── NonIncrementalJarDexArchiveHook.java │ │ │ │ │ │ ├── insant/ │ │ │ │ │ │ │ ├── DelegateProguardTransform.java │ │ │ │ │ │ │ ├── InstantInfo.java │ │ │ │ │ │ │ ├── TaobaoExtractJarsTransform.java │ │ │ │ │ │ │ ├── TaobaoInstantRunDependenciesApkBuilder.java │ │ │ │ │ │ │ ├── TaobaoInstantRunDex.java │ │ │ │ │ │ │ ├── TaobaoInstantRunSlicer.java │ │ │ │ │ │ │ ├── TaobaoInstantRunTransform.java │ │ │ │ │ │ │ ├── matcher/ │ │ │ │ │ │ │ │ ├── AllMatcher.java │ │ │ │ │ │ │ │ ├── ClassMatcher.java │ │ │ │ │ │ │ │ ├── ExcludeMatcher.java │ │ │ │ │ │ │ │ ├── Imatcher.java │ │ │ │ │ │ │ │ ├── ImplementsMatcher.java │ │ │ │ │ │ │ │ ├── MatcherCreator.java │ │ │ │ │ │ │ │ ├── NoMatcher.java │ │ │ │ │ │ │ │ ├── PackageMatcher.java │ │ │ │ │ │ │ │ ├── SeveralExcludeMatcher.java │ │ │ │ │ │ │ │ └── SubPackgeMatcher.java │ │ │ │ │ │ │ └── visitor/ │ │ │ │ │ │ │ ├── ModifyClassVisitor.java │ │ │ │ │ │ │ ├── ModifyFieldVisitor.java │ │ │ │ │ │ │ └── ModifyMethodVisitor.java │ │ │ │ │ │ ├── manager/ │ │ │ │ │ │ │ ├── AtlasAppTaskManager.java │ │ │ │ │ │ │ ├── AtlasBaseTaskManager.java │ │ │ │ │ │ │ ├── AtlasConfigurationHelper.java │ │ │ │ │ │ │ ├── AtlasFeatureTaskManager.java │ │ │ │ │ │ │ ├── AtlasLibTaskManager.java │ │ │ │ │ │ │ ├── PluginManager.java │ │ │ │ │ │ │ └── Version.java │ │ │ │ │ │ ├── tasks/ │ │ │ │ │ │ │ ├── PrepareAPTask.java │ │ │ │ │ │ │ ├── app/ │ │ │ │ │ │ │ │ ├── ApBuildTask.java │ │ │ │ │ │ │ │ ├── BuildAtlasEnvTask.java │ │ │ │ │ │ │ │ ├── GenerateAtlasSourceTask.java │ │ │ │ │ │ │ │ ├── LogDependenciesTask.java │ │ │ │ │ │ │ │ ├── ResourcePatch.java │ │ │ │ │ │ │ │ ├── ScanDupResTask.java │ │ │ │ │ │ │ │ ├── bundle/ │ │ │ │ │ │ │ │ │ ├── AtlasSymbolIo.java │ │ │ │ │ │ │ │ │ ├── AwbApkPackageTask.java │ │ │ │ │ │ │ │ │ ├── AwbJavaCompileConfigAction.java │ │ │ │ │ │ │ │ │ ├── AwbPackagingScope.java │ │ │ │ │ │ │ │ │ ├── Dex.java │ │ │ │ │ │ │ │ │ ├── JavacAwbsTask.java │ │ │ │ │ │ │ │ │ ├── PackageAwbsTask.java │ │ │ │ │ │ │ │ │ ├── ProcessAwbAndroidResources.java │ │ │ │ │ │ │ │ │ ├── ProcessResAwbsTask.java │ │ │ │ │ │ │ │ │ └── actions/ │ │ │ │ │ │ │ │ │ ├── FirstApkAction.java │ │ │ │ │ │ │ │ │ ├── LastApkAction.java │ │ │ │ │ │ │ │ │ └── LastBundleAction.java │ │ │ │ │ │ │ │ ├── databinding/ │ │ │ │ │ │ │ │ │ ├── AwbDataBindingExportBuildInfoTask.java │ │ │ │ │ │ │ │ │ ├── AwbDataBindingMergeArtifactsTask.java │ │ │ │ │ │ │ │ │ ├── AwbDataBindingProcessLayoutTask.java │ │ │ │ │ │ │ │ │ ├── AwbDataBindingRenameTask.java │ │ │ │ │ │ │ │ │ └── AwbXmlProcessor.java │ │ │ │ │ │ │ │ ├── manifest/ │ │ │ │ │ │ │ │ │ ├── PostProcessManifestAction.java │ │ │ │ │ │ │ │ │ ├── PreProcessManifestAction.java │ │ │ │ │ │ │ │ │ └── StandardizeLibManifestTask.java │ │ │ │ │ │ │ │ ├── merge/ │ │ │ │ │ │ │ │ │ ├── AppendMainArtifactsCollection.java │ │ │ │ │ │ │ │ │ ├── MainArtifactsCollection.java │ │ │ │ │ │ │ │ │ ├── MainFilesCollection.java │ │ │ │ │ │ │ │ │ ├── MergeAssetAwbsConfigAction.java │ │ │ │ │ │ │ │ │ ├── MergeAwbsJniFolder.java │ │ │ │ │ │ │ │ │ ├── MergeManifestAwbsConfigAction.java │ │ │ │ │ │ │ │ │ ├── MergeResAwbsConfigAction.java │ │ │ │ │ │ │ │ │ ├── MergeResV4Dir.java │ │ │ │ │ │ │ │ │ ├── MergeSoLibTask.java │ │ │ │ │ │ │ │ │ └── bundle/ │ │ │ │ │ │ │ │ │ ├── AwbDataBindingProcessLayoutsTask.java │ │ │ │ │ │ │ │ │ ├── MergeAwbAssets.java │ │ │ │ │ │ │ │ │ └── MergeAwbResource.java │ │ │ │ │ │ │ │ └── prepare/ │ │ │ │ │ │ │ │ ├── AddLocalJarTask.java │ │ │ │ │ │ │ │ ├── BundleInfoSourceCreator.java │ │ │ │ │ │ │ │ ├── PrepareAaptTask.java │ │ │ │ │ │ │ │ ├── PrepareBundleInfoTask.java │ │ │ │ │ │ │ │ └── PreparePackageIdsTask.java │ │ │ │ │ │ │ ├── awo/ │ │ │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ │ │ └── AwoInstaller.java │ │ │ │ │ │ │ ├── execution/ │ │ │ │ │ │ │ │ └── SkipExecuter.java │ │ │ │ │ │ │ ├── feature/ │ │ │ │ │ │ │ │ ├── FeatureLibManifestTask.java │ │ │ │ │ │ │ │ └── PrePareFeatureTask.java │ │ │ │ │ │ │ ├── helper/ │ │ │ │ │ │ │ │ └── AtlasListTask.java │ │ │ │ │ │ │ ├── instantapp/ │ │ │ │ │ │ │ │ └── AtlasBundleInstantApp.java │ │ │ │ │ │ │ ├── library/ │ │ │ │ │ │ │ │ ├── AndroidComponetCreator.java │ │ │ │ │ │ │ │ ├── AwbGenerator.java │ │ │ │ │ │ │ │ ├── JarExtractTask.java │ │ │ │ │ │ │ │ ├── ModuleInfoWriter.java │ │ │ │ │ │ │ │ └── publish/ │ │ │ │ │ │ │ │ ├── PublishHooker.java │ │ │ │ │ │ │ │ └── UpdatePomTask.java │ │ │ │ │ │ │ ├── manager/ │ │ │ │ │ │ │ │ ├── AbstractBundleTask.java │ │ │ │ │ │ │ │ ├── MtlBaseTaskAction.java │ │ │ │ │ │ │ │ ├── MtlParallelTask.java │ │ │ │ │ │ │ │ ├── MtlTaskContext.java │ │ │ │ │ │ │ │ ├── MtlTaskFactory.java │ │ │ │ │ │ │ │ ├── MtlTaskFactoryImpl.java │ │ │ │ │ │ │ │ ├── MtlTaskInjector.java │ │ │ │ │ │ │ │ ├── TaskCreater.java │ │ │ │ │ │ │ │ ├── TaskQueryHelper.java │ │ │ │ │ │ │ │ └── transform/ │ │ │ │ │ │ │ │ ├── MtlInjectTransform.java │ │ │ │ │ │ │ │ ├── MtlTransformContext.java │ │ │ │ │ │ │ │ ├── MtlTransformInjector.java │ │ │ │ │ │ │ │ └── TransformManager.java │ │ │ │ │ │ │ ├── maven/ │ │ │ │ │ │ │ │ └── PublishToMavenRepositoryHook.java │ │ │ │ │ │ │ ├── tpatch/ │ │ │ │ │ │ │ │ ├── DiffBundleInfoTask.java │ │ │ │ │ │ │ │ ├── PackageTPatchConfigAction.java │ │ │ │ │ │ │ │ ├── TPatchDiffApkBuildTask.java │ │ │ │ │ │ │ │ ├── TPatchDiffResAPBuildTask.java │ │ │ │ │ │ │ │ └── TPatchTask.java │ │ │ │ │ │ │ └── transform/ │ │ │ │ │ │ │ ├── AtlasDataBindingMergeArtifactsTransform.java │ │ │ │ │ │ │ ├── AtlasDesugarTransform.java │ │ │ │ │ │ │ ├── AtlasFixStackFramesTransform.java │ │ │ │ │ │ │ ├── AtlasMergeJavaResourcesTransform.java │ │ │ │ │ │ │ ├── AtlasProguardTransform.java │ │ │ │ │ │ │ ├── AtlasTransformUtils.java │ │ │ │ │ │ │ ├── ClassInjectTransform.java │ │ │ │ │ │ │ ├── ResourcesShrinker.java │ │ │ │ │ │ │ ├── TransformReplacer.java │ │ │ │ │ │ │ └── dex/ │ │ │ │ │ │ │ ├── AtlasDexArchiveBuilderCacheHander.java │ │ │ │ │ │ │ ├── AtlasDexArchiveBuilderTransform.java │ │ │ │ │ │ │ ├── AtlasDexMerger.java │ │ │ │ │ │ │ ├── AtlasDexMergerTransform.java │ │ │ │ │ │ │ ├── AtlasMainDexMerger.java │ │ │ │ │ │ │ ├── AtlasMultiDexListTransform.java │ │ │ │ │ │ │ ├── AwbDexsMerger.java │ │ │ │ │ │ │ └── DexMergeTransformCallable.java │ │ │ │ │ │ └── tools/ │ │ │ │ │ │ ├── BuildHelper.java │ │ │ │ │ │ ├── EnvHelper.java │ │ │ │ │ │ ├── FileNameUtils.java │ │ │ │ │ │ ├── JarUtils.java │ │ │ │ │ │ ├── MD5Util.java │ │ │ │ │ │ ├── OSUtils.java │ │ │ │ │ │ ├── PathUtil.java │ │ │ │ │ │ ├── PluginTypeUtils.java │ │ │ │ │ │ ├── Profiler.java │ │ │ │ │ │ ├── ReflectUtils.java │ │ │ │ │ │ ├── TransformInputUtils.java │ │ │ │ │ │ ├── VersionUtils.java │ │ │ │ │ │ ├── asm/ │ │ │ │ │ │ │ ├── ClassNameRenamer.java │ │ │ │ │ │ │ ├── ClazzBasicHandler.java │ │ │ │ │ │ │ ├── ClazzReplacer.java │ │ │ │ │ │ │ ├── MethodReplacer.java │ │ │ │ │ │ │ ├── field/ │ │ │ │ │ │ │ │ ├── AsmFieldEditor.java │ │ │ │ │ │ │ │ ├── Field.java │ │ │ │ │ │ │ │ └── ModifyClassVisiter.java │ │ │ │ │ │ │ └── method/ │ │ │ │ │ │ │ ├── Method.java │ │ │ │ │ │ │ ├── MethodReplaceClazzVisitor.java │ │ │ │ │ │ │ ├── MethodReplaceMethodVisitor.java │ │ │ │ │ │ │ └── MethodStore.java │ │ │ │ │ │ ├── bundleinfo/ │ │ │ │ │ │ │ ├── ApkFileListUtils.java │ │ │ │ │ │ │ ├── BundleGraphExecutor.java │ │ │ │ │ │ │ ├── BundleInfoUtils.java │ │ │ │ │ │ │ ├── BundleItem.java │ │ │ │ │ │ │ ├── BundleItemRunner.java │ │ │ │ │ │ │ ├── DynamicBundleInfo.java │ │ │ │ │ │ │ └── model/ │ │ │ │ │ │ │ ├── BasicBundleInfo.java │ │ │ │ │ │ │ └── BundleInfo.java │ │ │ │ │ │ ├── cache/ │ │ │ │ │ │ │ ├── Cache.java │ │ │ │ │ │ │ ├── FileCacheCenter.java │ │ │ │ │ │ │ ├── FileCacheException.java │ │ │ │ │ │ │ ├── FileLockUtils.java │ │ │ │ │ │ │ ├── SimpleLocalCache.java │ │ │ │ │ │ │ └── SimpleNetworkCache.java │ │ │ │ │ │ ├── classinject/ │ │ │ │ │ │ │ ├── ApkInjectInfoCreator.java │ │ │ │ │ │ │ ├── ClazzInjecter.java │ │ │ │ │ │ │ ├── CodeInjectByJavassist.java │ │ │ │ │ │ │ ├── FrameworkProperties.java │ │ │ │ │ │ │ └── InjectParam.java │ │ │ │ │ │ ├── command/ │ │ │ │ │ │ │ ├── CommandExecutor.java │ │ │ │ │ │ │ └── ExecutionException.java │ │ │ │ │ │ ├── concurrent/ │ │ │ │ │ │ │ └── ExecutorServicesHelper.java │ │ │ │ │ │ ├── diff/ │ │ │ │ │ │ │ └── DiffResExtractor.java │ │ │ │ │ │ ├── groovy/ │ │ │ │ │ │ │ └── ClosureFactory.java │ │ │ │ │ │ ├── guide/ │ │ │ │ │ │ │ ├── AtlasConfigField.java │ │ │ │ │ │ │ ├── AtlasConfigHelper.java │ │ │ │ │ │ │ └── AtlasExtensionOutput.java │ │ │ │ │ │ ├── ideaplugin/ │ │ │ │ │ │ │ ├── ApDownloader.java │ │ │ │ │ │ │ └── AwoPropHandler.java │ │ │ │ │ │ ├── jarmerge/ │ │ │ │ │ │ │ └── JarMergerWithOverride.java │ │ │ │ │ │ ├── log/ │ │ │ │ │ │ │ ├── FileLogger.java │ │ │ │ │ │ │ └── LogOutputListener.java │ │ │ │ │ │ ├── manifest/ │ │ │ │ │ │ │ ├── AtlasProxy.java │ │ │ │ │ │ │ ├── ManifestFileUtils.java │ │ │ │ │ │ │ ├── ManifestHelper.java │ │ │ │ │ │ │ ├── ManifestInfo.java │ │ │ │ │ │ │ ├── Permission.java │ │ │ │ │ │ │ └── Result.java │ │ │ │ │ │ ├── multidex/ │ │ │ │ │ │ │ ├── FastMultiDexer.java │ │ │ │ │ │ │ ├── dex/ │ │ │ │ │ │ │ │ ├── DexGroup.java │ │ │ │ │ │ │ │ ├── DexMerger.java │ │ │ │ │ │ │ │ └── FileComparator.java │ │ │ │ │ │ │ └── mutli/ │ │ │ │ │ │ │ ├── JarRefactor.java │ │ │ │ │ │ │ ├── MainDexLister.java │ │ │ │ │ │ │ ├── MappingReaderProcess.java │ │ │ │ │ │ │ └── NameComparator.java │ │ │ │ │ │ ├── process/ │ │ │ │ │ │ │ └── ApkProcessor.java │ │ │ │ │ │ ├── proguard/ │ │ │ │ │ │ │ ├── AtlasProguardHelper.java │ │ │ │ │ │ │ ├── AwbProguardConfiguration.java │ │ │ │ │ │ │ ├── BundleProguarder.java │ │ │ │ │ │ │ ├── KeepOnlyConfigurationParser.java │ │ │ │ │ │ │ ├── ProGuardPercentPrinter.java │ │ │ │ │ │ │ ├── domain/ │ │ │ │ │ │ │ │ ├── Input.java │ │ │ │ │ │ │ │ └── Result.java │ │ │ │ │ │ │ └── dump/ │ │ │ │ │ │ │ ├── AbstractClasslVisitor.java │ │ │ │ │ │ │ ├── BundleProguardDumper.java │ │ │ │ │ │ │ ├── ClassDetailVisitor.java │ │ │ │ │ │ │ ├── ClassStructVisitor.java │ │ │ │ │ │ │ ├── ClazzRefInfo.java │ │ │ │ │ │ │ ├── ClazzRefInfoContainer.java │ │ │ │ │ │ │ ├── KeepConverter.java │ │ │ │ │ │ │ ├── VisitorDTO.java │ │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ │ └── ReflectUtils.java │ │ │ │ │ │ ├── sign/ │ │ │ │ │ │ │ ├── AndroidSigner.java │ │ │ │ │ │ │ ├── LocalSignHelper.java │ │ │ │ │ │ │ └── LocalSignedJarBuilder.java │ │ │ │ │ │ ├── solib/ │ │ │ │ │ │ │ ├── NativeSoFilter.java │ │ │ │ │ │ │ └── NativeSoUtils.java │ │ │ │ │ │ ├── xml/ │ │ │ │ │ │ │ └── XmlHelper.java │ │ │ │ │ │ ├── zip/ │ │ │ │ │ │ │ ├── BetterZip.java │ │ │ │ │ │ │ ├── FileMkUtils.java │ │ │ │ │ │ │ └── ZipUtils.java │ │ │ │ │ │ └── zipalign/ │ │ │ │ │ │ └── ZipAlignUtils.java │ │ │ │ │ └── proguard/ │ │ │ │ │ ├── AtlasProguardConstants.java │ │ │ │ │ └── io/ │ │ │ │ │ └── JarWriter.java │ │ │ │ └── resources/ │ │ │ │ └── META-INF/ │ │ │ │ └── gradle-plugins/ │ │ │ │ ├── com.taobao.atlas.application.properties │ │ │ │ ├── com.taobao.atlas.dexpatch.properties │ │ │ │ ├── com.taobao.atlas.feature.properties │ │ │ │ ├── com.taobao.atlas.instantapp.properties │ │ │ │ ├── com.taobao.atlas.library.properties │ │ │ │ └── com.taobao.atlas.properties │ │ │ └── test/ │ │ │ ├── java/ │ │ │ │ ├── com/ │ │ │ │ │ └── taobao/ │ │ │ │ │ ├── asm/ │ │ │ │ │ │ ├── AsmExample.java │ │ │ │ │ │ ├── AsmFieldTest.java │ │ │ │ │ │ ├── AsmTest.java │ │ │ │ │ │ └── Config.java │ │ │ │ │ └── atlas/ │ │ │ │ │ ├── bundle/ │ │ │ │ │ │ └── BundleDependenyTest.java │ │ │ │ │ ├── cache/ │ │ │ │ │ │ └── FileLockTest.java │ │ │ │ │ ├── dex/ │ │ │ │ │ │ └── FastDexMergeTest.java │ │ │ │ │ └── manifest/ │ │ │ │ │ ├── ManifestHelperTest.java │ │ │ │ │ └── ManifestTest.java │ │ │ │ └── proguard/ │ │ │ │ └── KeepOnlyConfigurationParserTest.java │ │ │ └── resources/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── AndroidManifest2.xml │ │ │ ├── bundleInfoList.json │ │ │ └── log4j.properties │ │ ├── test.sh │ │ └── todo.txt │ ├── build.gradle │ ├── dexpatch/ │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── gradle/ │ │ │ └── wrapper/ │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ ├── android/ │ │ │ │ └── content/ │ │ │ │ └── res/ │ │ │ │ ├── AXMLResource.java │ │ │ │ ├── IntReader.java │ │ │ │ └── chunk/ │ │ │ │ ├── AttributeType.java │ │ │ │ ├── ChunkType.java │ │ │ │ ├── ChunkUtil.java │ │ │ │ ├── PoolItem.java │ │ │ │ ├── sections/ │ │ │ │ │ ├── ChunkSection.java │ │ │ │ │ ├── GenericChunkSection.java │ │ │ │ │ ├── ResourceSection.java │ │ │ │ │ └── StringSection.java │ │ │ │ └── types/ │ │ │ │ ├── AXMLHeader.java │ │ │ │ ├── Attribute.java │ │ │ │ ├── Buffer.java │ │ │ │ ├── Chunk.java │ │ │ │ ├── EndTag.java │ │ │ │ ├── GenericChunk.java │ │ │ │ ├── NameSpace.java │ │ │ │ ├── StartTag.java │ │ │ │ └── TextTag.java │ │ │ └── com/ │ │ │ └── taobao/ │ │ │ ├── android/ │ │ │ │ ├── PatchManager.java │ │ │ │ ├── PatchType.java │ │ │ │ ├── apatch/ │ │ │ │ │ ├── AndFixFilterImpl.java │ │ │ │ │ ├── ApkPatch.java │ │ │ │ │ ├── Build.java │ │ │ │ │ ├── FastBuild.java │ │ │ │ │ ├── MergePatch.java │ │ │ │ │ ├── annotation/ │ │ │ │ │ │ └── MethodReplaceAnnotation.java │ │ │ │ │ ├── builder/ │ │ │ │ │ │ ├── PatchBuilder.java │ │ │ │ │ │ └── SignedJarBuilder.java │ │ │ │ │ └── utils/ │ │ │ │ │ ├── Formater.java │ │ │ │ │ ├── HexUtil.java │ │ │ │ │ ├── MappingParser.java │ │ │ │ │ ├── SmaliDiffUtils.java │ │ │ │ │ └── TypeGenUtil.java │ │ │ │ ├── baksmali/ │ │ │ │ │ ├── Renderers/ │ │ │ │ │ │ ├── BooleanRenderer.java │ │ │ │ │ │ ├── ByteRenderer.java │ │ │ │ │ │ ├── CharRenderer.java │ │ │ │ │ │ ├── DoubleRenderer.java │ │ │ │ │ │ ├── FloatRenderer.java │ │ │ │ │ │ ├── IntegerRenderer.java │ │ │ │ │ │ ├── LongRenderer.java │ │ │ │ │ │ └── ShortRenderer.java │ │ │ │ │ ├── adaptors/ │ │ │ │ │ │ ├── AnnotationFormatter.java │ │ │ │ │ │ ├── BlankMethodItem.java │ │ │ │ │ │ ├── CatchMethodItem.java │ │ │ │ │ │ ├── ClassDefinition.java │ │ │ │ │ │ ├── CommentMethodItem.java │ │ │ │ │ │ ├── CommentedOutMethodItem.java │ │ │ │ │ │ ├── CommentingIndentingWriter.java │ │ │ │ │ │ ├── Debug/ │ │ │ │ │ │ │ ├── BeginEpilogueMethodItem.java │ │ │ │ │ │ │ ├── DebugMethodItem.java │ │ │ │ │ │ │ ├── EndLocalMethodItem.java │ │ │ │ │ │ │ ├── EndPrologueMethodItem.java │ │ │ │ │ │ │ ├── LineNumberMethodItem.java │ │ │ │ │ │ │ ├── LocalFormatter.java │ │ │ │ │ │ │ ├── RestartLocalMethodItem.java │ │ │ │ │ │ │ ├── SetSourceFileMethodItem.java │ │ │ │ │ │ │ └── StartLocalMethodItem.java │ │ │ │ │ │ ├── EncodedValue/ │ │ │ │ │ │ │ ├── AnnotationEncodedValueAdaptor.java │ │ │ │ │ │ │ ├── ArrayEncodedValueAdaptor.java │ │ │ │ │ │ │ └── EncodedValueAdaptor.java │ │ │ │ │ │ ├── EndTryLabelMethodItem.java │ │ │ │ │ │ ├── FieldDefinition.java │ │ │ │ │ │ ├── Format/ │ │ │ │ │ │ │ ├── ArrayDataMethodItem.java │ │ │ │ │ │ │ ├── InstructionMethodItem.java │ │ │ │ │ │ │ ├── InstructionMethodItemFactory.java │ │ │ │ │ │ │ ├── OffsetInstructionFormatMethodItem.java │ │ │ │ │ │ │ ├── PackedSwitchMethodItem.java │ │ │ │ │ │ │ ├── SparseSwitchMethodItem.java │ │ │ │ │ │ │ └── UnresolvedOdexInstructionMethodItem.java │ │ │ │ │ │ ├── LabelMethodItem.java │ │ │ │ │ │ ├── MethodDefinition.java │ │ │ │ │ │ ├── MethodItem.java │ │ │ │ │ │ ├── PostInstructionRegisterInfoMethodItem.java │ │ │ │ │ │ ├── PreInstructionRegisterInfoMethodItem.java │ │ │ │ │ │ ├── ReferenceFormatter.java │ │ │ │ │ │ ├── RegisterFormatter.java │ │ │ │ │ │ └── SyntheticAccessCommentMethodItem.java │ │ │ │ │ └── util/ │ │ │ │ │ └── ReferenceUtil.java │ │ │ │ ├── dex/ │ │ │ │ │ ├── Annotation.java │ │ │ │ │ ├── ClassData.java │ │ │ │ │ ├── ClassDef.java │ │ │ │ │ ├── Code.java │ │ │ │ │ ├── Dex.java │ │ │ │ │ ├── DexException.java │ │ │ │ │ ├── DexFormat.java │ │ │ │ │ ├── DexIndexOverflowException.java │ │ │ │ │ ├── EncodedValue.java │ │ │ │ │ ├── EncodedValueCodec.java │ │ │ │ │ ├── EncodedValueReader.java │ │ │ │ │ ├── FieldId.java │ │ │ │ │ ├── Leb128.java │ │ │ │ │ ├── MethodId.java │ │ │ │ │ ├── Mutf8.java │ │ │ │ │ ├── ProtoId.java │ │ │ │ │ ├── SizeOf.java │ │ │ │ │ ├── TableOfContents.java │ │ │ │ │ ├── TypeList.java │ │ │ │ │ └── util/ │ │ │ │ │ ├── ByteArrayByteInput.java │ │ │ │ │ ├── ByteInput.java │ │ │ │ │ ├── ByteOutput.java │ │ │ │ │ ├── ExceptionWithContext.java │ │ │ │ │ ├── FileUtils.java │ │ │ │ │ └── Unsigned.java │ │ │ │ ├── differ/ │ │ │ │ │ └── dex/ │ │ │ │ │ ├── ApkDiff.java │ │ │ │ │ ├── BundleDiffResult.java │ │ │ │ │ ├── DexDiffer.java │ │ │ │ │ └── PatchException.java │ │ │ │ ├── dx/ │ │ │ │ │ ├── Version.java │ │ │ │ │ ├── cf/ │ │ │ │ │ │ ├── attrib/ │ │ │ │ │ │ │ ├── AttAnnotationDefault.java │ │ │ │ │ │ │ ├── AttCode.java │ │ │ │ │ │ │ ├── AttConstantValue.java │ │ │ │ │ │ │ ├── AttDeprecated.java │ │ │ │ │ │ │ ├── AttEnclosingMethod.java │ │ │ │ │ │ │ ├── AttExceptions.java │ │ │ │ │ │ │ ├── AttInnerClasses.java │ │ │ │ │ │ │ ├── AttLineNumberTable.java │ │ │ │ │ │ │ ├── AttLocalVariableTable.java │ │ │ │ │ │ │ ├── AttLocalVariableTypeTable.java │ │ │ │ │ │ │ ├── AttRuntimeInvisibleAnnotations.java │ │ │ │ │ │ │ ├── AttRuntimeInvisibleParameterAnnotations.java │ │ │ │ │ │ │ ├── AttRuntimeVisibleAnnotations.java │ │ │ │ │ │ │ ├── AttRuntimeVisibleParameterAnnotations.java │ │ │ │ │ │ │ ├── AttSignature.java │ │ │ │ │ │ │ ├── AttSourceFile.java │ │ │ │ │ │ │ ├── AttSynthetic.java │ │ │ │ │ │ │ ├── BaseAnnotations.java │ │ │ │ │ │ │ ├── BaseAttribute.java │ │ │ │ │ │ │ ├── BaseLocalVariables.java │ │ │ │ │ │ │ ├── BaseParameterAnnotations.java │ │ │ │ │ │ │ ├── InnerClassList.java │ │ │ │ │ │ │ ├── RawAttribute.java │ │ │ │ │ │ │ └── package.html │ │ │ │ │ │ ├── code/ │ │ │ │ │ │ │ ├── BaseMachine.java │ │ │ │ │ │ │ ├── BasicBlocker.java │ │ │ │ │ │ │ ├── ByteBlock.java │ │ │ │ │ │ │ ├── ByteBlockList.java │ │ │ │ │ │ │ ├── ByteCatchList.java │ │ │ │ │ │ │ ├── ByteOps.java │ │ │ │ │ │ │ ├── BytecodeArray.java │ │ │ │ │ │ │ ├── ConcreteMethod.java │ │ │ │ │ │ │ ├── ExecutionStack.java │ │ │ │ │ │ │ ├── Frame.java │ │ │ │ │ │ │ ├── LineNumberList.java │ │ │ │ │ │ │ ├── LocalVariableList.java │ │ │ │ │ │ │ ├── LocalsArray.java │ │ │ │ │ │ │ ├── LocalsArraySet.java │ │ │ │ │ │ │ ├── Machine.java │ │ │ │ │ │ │ ├── Merger.java │ │ │ │ │ │ │ ├── OneLocalsArray.java │ │ │ │ │ │ │ ├── ReturnAddress.java │ │ │ │ │ │ │ ├── Ropper.java │ │ │ │ │ │ │ ├── RopperMachine.java │ │ │ │ │ │ │ ├── SimException.java │ │ │ │ │ │ │ ├── Simulator.java │ │ │ │ │ │ │ ├── SwitchList.java │ │ │ │ │ │ │ ├── ValueAwareMachine.java │ │ │ │ │ │ │ └── package.html │ │ │ │ │ │ ├── cst/ │ │ │ │ │ │ │ ├── ConstantPoolParser.java │ │ │ │ │ │ │ └── ConstantTags.java │ │ │ │ │ │ ├── direct/ │ │ │ │ │ │ │ ├── AnnotationParser.java │ │ │ │ │ │ │ ├── AttributeFactory.java │ │ │ │ │ │ │ ├── AttributeListParser.java │ │ │ │ │ │ │ ├── ClassPathOpener.java │ │ │ │ │ │ │ ├── CodeObserver.java │ │ │ │ │ │ │ ├── DirectClassFile.java │ │ │ │ │ │ │ ├── FieldListParser.java │ │ │ │ │ │ │ ├── MemberListParser.java │ │ │ │ │ │ │ ├── MethodListParser.java │ │ │ │ │ │ │ ├── StdAttributeFactory.java │ │ │ │ │ │ │ └── package.html │ │ │ │ │ │ └── iface/ │ │ │ │ │ │ ├── Attribute.java │ │ │ │ │ │ ├── AttributeList.java │ │ │ │ │ │ ├── ClassFile.java │ │ │ │ │ │ ├── Field.java │ │ │ │ │ │ ├── FieldList.java │ │ │ │ │ │ ├── HasAttribute.java │ │ │ │ │ │ ├── Member.java │ │ │ │ │ │ ├── Method.java │ │ │ │ │ │ ├── MethodList.java │ │ │ │ │ │ ├── ParseException.java │ │ │ │ │ │ ├── ParseObserver.java │ │ │ │ │ │ ├── StdAttributeList.java │ │ │ │ │ │ ├── StdField.java │ │ │ │ │ │ ├── StdFieldList.java │ │ │ │ │ │ ├── StdMember.java │ │ │ │ │ │ ├── StdMethod.java │ │ │ │ │ │ ├── StdMethodList.java │ │ │ │ │ │ └── package.html │ │ │ │ │ ├── command/ │ │ │ │ │ │ ├── DxConsole.java │ │ │ │ │ │ ├── Main.java │ │ │ │ │ │ ├── UsageException.java │ │ │ │ │ │ ├── annotool/ │ │ │ │ │ │ │ ├── AnnotationLister.java │ │ │ │ │ │ │ └── Main.java │ │ │ │ │ │ ├── dexer/ │ │ │ │ │ │ │ └── Main.java │ │ │ │ │ │ ├── dump/ │ │ │ │ │ │ │ ├── Args.java │ │ │ │ │ │ │ ├── BaseDumper.java │ │ │ │ │ │ │ ├── BlockDumper.java │ │ │ │ │ │ │ ├── ClassDumper.java │ │ │ │ │ │ │ ├── DotDumper.java │ │ │ │ │ │ │ ├── Main.java │ │ │ │ │ │ │ └── SsaDumper.java │ │ │ │ │ │ ├── findusages/ │ │ │ │ │ │ │ ├── FindUsages.java │ │ │ │ │ │ │ └── Main.java │ │ │ │ │ │ └── grep/ │ │ │ │ │ │ ├── Grep.java │ │ │ │ │ │ └── Main.java │ │ │ │ │ ├── dex/ │ │ │ │ │ │ ├── DexOptions.java │ │ │ │ │ │ ├── cf/ │ │ │ │ │ │ │ ├── AttributeTranslator.java │ │ │ │ │ │ │ ├── CfOptions.java │ │ │ │ │ │ │ ├── CfTranslator.java │ │ │ │ │ │ │ ├── CodeStatistics.java │ │ │ │ │ │ │ ├── OptimizerOptions.java │ │ │ │ │ │ │ └── package.html │ │ │ │ │ │ ├── code/ │ │ │ │ │ │ │ ├── ArrayData.java │ │ │ │ │ │ │ ├── BlockAddresses.java │ │ │ │ │ │ │ ├── CatchBuilder.java │ │ │ │ │ │ │ ├── CatchHandlerList.java │ │ │ │ │ │ │ ├── CatchTable.java │ │ │ │ │ │ │ ├── CodeAddress.java │ │ │ │ │ │ │ ├── CstInsn.java │ │ │ │ │ │ │ ├── DalvCode.java │ │ │ │ │ │ │ ├── DalvInsn.java │ │ │ │ │ │ │ ├── DalvInsnList.java │ │ │ │ │ │ │ ├── Dop.java │ │ │ │ │ │ │ ├── Dops.java │ │ │ │ │ │ │ ├── FixedSizeInsn.java │ │ │ │ │ │ │ ├── HighRegisterPrefix.java │ │ │ │ │ │ │
Showing preview only (2,383K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (27769 symbols across 2683 files)
FILE: atlas-aapt-old/frameworks/base/include/androidfw/Asset.h
function namespace (line 32) | namespace android {
FILE: atlas-aapt-old/frameworks/base/include/androidfw/AssetDir.h
function namespace (line 29) | namespace android {
function setFileList (line 138) | void setFileList(SortedVector<FileInfo>* list) { mFileInfo = list; }
FILE: atlas-aapt-old/frameworks/base/include/androidfw/AssetManager.h
type AAssetManager (line 40) | struct AAssetManager { }
function namespace (line 51) | namespace android {
FILE: atlas-aapt-old/frameworks/base/include/androidfw/BackupHelpers.h
function namespace (line 24) | namespace android {
FILE: atlas-aapt-old/frameworks/base/include/androidfw/ByteBucketArray.h
function namespace (line 24) | namespace android {
FILE: atlas-aapt-old/frameworks/base/include/androidfw/CursorWindow.h
function namespace (line 39) | namespace android {
FILE: atlas-aapt-old/frameworks/base/include/androidfw/ObbFile.h
function namespace (line 26) | namespace android {
FILE: atlas-aapt-old/frameworks/base/include/androidfw/ResourceTypes.h
function namespace (line 37) | namespace android {
type ResChunk_header (line 180) | struct ResChunk_header
type Res_value (line 246) | struct Res_value
type ResTable_ref (line 368) | struct ResTable_ref
type ResStringPool_ref (line 376) | struct ResStringPool_ref
type ResStringPool_header (line 407) | struct ResStringPool_header
type ResStringPool_span (line 441) | struct ResStringPool_span
function class (line 459) | class ResStringPool
FILE: atlas-aapt-old/frameworks/base/include/androidfw/StreamingZipInflater.h
function namespace (line 26) | namespace android {
FILE: atlas-aapt-old/frameworks/base/include/androidfw/TypeWrappers.h
function namespace (line 22) | namespace android {
function ResTable_entry (line 49) | const ResTable_entry* operator->() const {
FILE: atlas-aapt-old/frameworks/base/include/androidfw/ZipFileRO.h
function namespace (line 45) | namespace android {
FILE: atlas-aapt-old/frameworks/base/include/androidfw/ZipUtils.h
function namespace (line 26) | namespace android {
FILE: atlas-aapt-old/frameworks/base/include/androidfw/misc.h
function namespace (line 25) | namespace android {
FILE: atlas-aapt-old/frameworks/base/libs/androidfw/Asset.cpp
function String8 (line 59) | String8 Asset::getAssetAllocations()
function Asset (line 121) | Asset* Asset::createFromFile(const char* fileName, AccessMode mode)
function Asset (line 177) | Asset* Asset::createFromCompressedFile(const char* fileName,
function Asset (line 235) | Asset* Asset::createFromFileSegment(int fd, off64_t offset,
function Asset (line 253) | Asset* Asset::createFromCompressedData(int fd, off64_t offset,
function Asset (line 274) | Asset* Asset::createFromUncompressedMap(FileMap* dataMap,
function Asset (line 292) | Asset* Asset::createFromCompressedMap(FileMap* dataMap,
function off64_t (line 315) | off64_t Asset::handleSeek(off64_t offset, int whence, off64_t curPosn, o...
function status_t (line 373) | status_t _FileAsset::openChunk(const char* fileName, int fd, off64_t off...
function status_t (line 419) | status_t _FileAsset::openChunk(FileMap* dataMap)
function off64_t (line 502) | off64_t _FileAsset::seek(off64_t offset, int whence)
function status_t (line 698) | status_t _CompressedAsset::openChunk(int fd, off64_t offset,
function status_t (line 731) | status_t _CompressedAsset::openChunk(FileMap* dataMap, int compressionMe...
function off64_t (line 802) | off64_t _CompressedAsset::seek(off64_t offset, int whence)
FILE: atlas-aapt-old/frameworks/base/libs/androidfw/AssetManager.cpp
function String8 (line 93) | String8 idmapPathForPackagePath(const String8& pkgPath)
function String8 (line 343) | String8 AssetManager::getAssetPath(const int32_t cookie) const
function Asset (line 489) | Asset* AssetManager::open(const char* fileName, AccessMode mode)
function Asset (line 526) | Asset* AssetManager::openNonAsset(const char* fileName, AccessMode mode,...
function Asset (line 555) | Asset* AssetManager::openNonAsset(const int32_t cookie, const char* file...
function FileType (line 585) | FileType AssetManager::getFileType(const char* fileName)
function ResTable (line 693) | const ResTable* AssetManager::getResTable(bool required) const
function Asset (line 751) | Asset* AssetManager::openIdmapLocked(const struct asset_path& ap) const
function ResTable (line 806) | const ResTable& AssetManager::getResources(bool required) const
function Asset (line 843) | Asset* AssetManager::openNonAssetInPathLocked(const char* fileName, Acce...
function Asset (line 900) | Asset* AssetManager::openInPathLocked(const char* fileName, AccessMode m...
function Asset (line 929) | Asset* AssetManager::openInLocaleVendorLocked(const char* fileName, Acce...
function String8 (line 1048) | String8 AssetManager::createZipSourceNameLocked(const String8& zipFileName,
function String8 (line 1064) | String8 AssetManager::createPathNameLocked(const asset_path& ap, const c...
function String8 (line 1076) | String8 AssetManager::createPathNameLocked(const asset_path& ap, const c...
function ZipFileRO (line 1096) | ZipFileRO* AssetManager::getZipFileLocked(const asset_path& ap)
function Asset (line 1115) | Asset* AssetManager::openAssetFromFileLocked(const String8& pathName,
function Asset (line 1137) | Asset* AssetManager::openAssetFromZipLocked(const ZipFileRO* pZipFile,
function AssetDir (line 1192) | AssetDir* AssetManager::openDir(const char* dirName)
function AssetDir (line 1255) | AssetDir* AssetManager::openNonAssetDir(const int32_t cookie, const char...
type dirent (line 1441) | struct dirent
function ZipFileRO (line 1893) | ZipFileRO* AssetManager::SharedZip::getZip()
function Asset (line 1898) | Asset* AssetManager::SharedZip::getResourceTableAsset()
function Asset (line 1904) | Asset* AssetManager::SharedZip::setResourceTableAsset(Asset* asset)
function ResTable (line 1920) | ResTable* AssetManager::SharedZip::getResourceTable()
function ResTable (line 1926) | ResTable* AssetManager::SharedZip::setResourceTable(ResTable* res)
function ZipFileRO (line 2009) | ZipFileRO* AssetManager::ZipSet::getZip(const String8& path)
function Asset (line 2020) | Asset* AssetManager::ZipSet::getZipResourceTableAsset(const String8& path)
function Asset (line 2031) | Asset* AssetManager::ZipSet::setZipResourceTableAsset(const String8& path,
function ResTable (line 2040) | ResTable* AssetManager::ZipSet::getZipResourceTable(const String8& path)
function ResTable (line 2051) | ResTable* AssetManager::ZipSet::setZipResourceTable(const String8& path,
function String8 (line 2066) | String8 AssetManager::ZipSet::getPathName(const char* zipPath)
FILE: atlas-aapt-old/frameworks/base/libs/androidfw/BackupData.cpp
type android (line 28) | namespace android {
function round_up (line 47) | static inline size_t
function padding_extra (line 53) | static inline size_t
function status_t (line 73) | status_t
function status_t (line 93) | status_t
function status_t (line 152) | status_t
function status_t (line 199) | status_t
function status_t (line 229) | status_t
function status_t (line 304) | status_t
function status_t (line 318) | status_t
function status_t (line 367) | status_t
FILE: atlas-aapt-old/frameworks/base/libs/androidfw/BackupHelpers.cpp
type android (line 39) | namespace android {
type file_metadata_v1 (line 62) | struct file_metadata_v1 {
function round_up (line 83) | static inline int
function read_snapshot_file (line 89) | static int
function write_snapshot_file (line 146) | static int
function write_delete_file (line 207) | static int
function write_update_file (line 214) | static int
function write_update_file (line 291) | static int
function compute_crc32 (line 312) | static int
function back_up_files (line 331) | int
function calc_tar_checksum (line 457) | static void calc_tar_checksum(char* buf) {
function write_pax_header_entry (line 472) | static int write_pax_header_entry(char* buf, const char* key, const ch...
function send_tarfile_chunk (line 486) | void send_tarfile_chunk(BackupDataWriter* writer, const char* buffer, ...
function write_tarfile (line 492) | int write_tarfile(const String8& packageName, const String8& domain,
function status_t (line 738) | status_t
function status_t (line 818) | status_t
function write_text_file (line 828) | static int
function compare_file (line 853) | static int
function backup_helper_test_empty (line 900) | int
function backup_helper_test_four (line 959) | int
function test_write_header_and_entity (line 1140) | static int
function backup_helper_test_data_writer (line 1161) | int
function test_read_header_and_entity (line 1196) | int
function backup_helper_test_data_reader (line 1267) | int
function get_mod_time (line 1326) | static int
function backup_helper_test_files (line 1357) | int
function backup_helper_test_null_base (line 1489) | int
function backup_helper_test_missing_file (line 1538) | int
FILE: atlas-aapt-old/frameworks/base/libs/androidfw/CursorWindow.cpp
type android (line 31) | namespace android {
function status_t (line 44) | status_t CursorWindow::create(const String8& name, size_t size, Cursor...
function status_t (line 85) | status_t CursorWindow::createFromParcel(Parcel* parcel, CursorWindow**...
function status_t (line 124) | status_t CursorWindow::writeToParcel(Parcel* parcel) {
function status_t (line 132) | status_t CursorWindow::clear() {
function status_t (line 147) | status_t CursorWindow::setNumColumns(uint32_t numColumns) {
function status_t (line 161) | status_t CursorWindow::allocRow() {
function status_t (line 190) | status_t CursorWindow::freeLastRow() {
function status_t (line 273) | status_t CursorWindow::putBlob(uint32_t row, uint32_t column, const vo...
function status_t (line 277) | status_t CursorWindow::putString(uint32_t row, uint32_t column, const ...
function status_t (line 282) | status_t CursorWindow::putBlobOrString(uint32_t row, uint32_t column,
function status_t (line 306) | status_t CursorWindow::putLong(uint32_t row, uint32_t column, int64_t ...
function status_t (line 321) | status_t CursorWindow::putDouble(uint32_t row, uint32_t column, double...
function status_t (line 336) | status_t CursorWindow::putNull(uint32_t row, uint32_t column) {
FILE: atlas-aapt-old/frameworks/base/libs/androidfw/ObbFile.cpp
type android (line 73) | namespace android {
FILE: atlas-aapt-old/frameworks/base/libs/androidfw/ResourceTypes.cpp
type android (line 54) | namespace android {
function isspace16 (line 82) | inline int isspace16(char16_t c) {
function T (line 87) | inline static T max(T a, T b) {
function strcpy16_dtoh (line 94) | static void strcpy16_dtoh(uint16_t* dst, const uint16_t* src, size_t a...
function status_t (line 105) | static status_t validate_chunk(const ResChunk_header* chunk,
function fill9patchOffsets (line 136) | static void fill9patchOffsets(Res_png_9patch* patch) {
function assertIdmapHeader (line 229) | static bool assertIdmapHeader(const void* idmap, size_t size) {
class IdmapEntries (line 258) | class IdmapEntries {
method IdmapEntries (line 260) | IdmapEntries() : mData(NULL) {}
method hasEntries (line 262) | bool hasEntries() const {
method byteSize (line 270) | size_t byteSize() const {
method targetTypeId (line 278) | uint8_t targetTypeId() const {
method overlayTypeId (line 285) | uint8_t overlayTypeId() const {
method status_t (line 292) | status_t setTo(const void* entryHeader, size_t size) {
method status_t (line 321) | status_t lookup(uint16_t entryId, uint16_t* outEntryId) const {
function status_t (line 353) | status_t parseIdmap(const void* idmap, size_t size, uint8_t* outPackag...
function Res_png_9patch (line 405) | Res_png_9patch* Res_png_9patch::deserialize(void* inData)
function status_t (line 451) | status_t ResStringPool::setTo(const void* data, size_t size, bool copy...
function status_t (line 628) | status_t ResStringPool::getError() const
function decodeLength (line 662) | static inline size_t
function decodeLength (line 684) | static inline size_t
function String8 (line 806) | const String8 ResStringPool::string8ObjectAt(size_t idx) const
function ResStringPool_span (line 821) | const ResStringPool_span* ResStringPool::styleAt(const ResStringPool_r...
function ResStringPool_span (line 826) | const ResStringPool_span* ResStringPool::styleAt(size_t idx) const
function ResStringPool (line 993) | const ResStringPool& ResXMLParser::getStrings() const
function status_t (line 1497) | status_t ResXMLTree::setTo(const void* data, size_t size, bool copyData)
function status_t (line 1590) | status_t ResXMLTree::getError() const
function status_t (line 1606) | status_t ResXMLTree::validateNode(const ResXMLTree_node* node) const
function unpackLanguageOrRegion (line 1696) | size_t unpackLanguageOrRegion(const char in[2], const char base,
function packLanguageOrRegion (line 1728) | void packLanguageOrRegion(const char* in, const char base,
function compareLocales (line 1790) | inline int compareLocales(const ResTable_config &l, const ResTable_con...
function assignLocaleComponent (line 2509) | inline bool assignLocaleComponent(ResTable_config* config,
function String8 (line 2560) | String8 ResTable_config::toString() const {
type ResTable::Header (line 2835) | struct ResTable::Header
method Header (line 2837) | Header(ResTable* _owner) : owner(_owner), ownedData(NULL), header(NU...
type ResTable::Entry (line 2858) | struct ResTable::Entry {
type ResTable::Type (line 2869) | struct ResTable::Type
method Type (line 2871) | Type(const Header* _header, const Package* _package, size_t count)
type ResTable::Package (line 2883) | struct ResTable::Package
method Package (line 2885) | Package(ResTable* _owner, const Header* _header, const ResTable_pack...
type ResTable::PackageGroup (line 2907) | struct ResTable::PackageGroup
method PackageGroup (line 2909) | PackageGroup(ResTable* _owner, const String16& _name, uint32_t _id)
method clearBagCache (line 2940) | void clearBagCache() {
method findType16 (line 2965) | ssize_t findType16(const char16_t* type, size_t len) const {
type ResTable::bag_set (line 3001) | struct ResTable::bag_set
function status_t (line 3054) | status_t ResTable::Theme::applyStyle(uint32_t resID, bool force)
function status_t (line 3143) | status_t ResTable::Theme::setTo(const Theme& other)
function status_t (line 3308) | status_t ResTable::add(const void* data, size_t size, const int32_t co...
function status_t (line 3312) | status_t ResTable::add(const void* data, size_t size, const void* idma...
function status_t (line 3317) | status_t ResTable::add(Asset* asset, const int32_t cookie, bool copyDa...
function status_t (line 3327) | status_t ResTable::add(Asset* asset, Asset* idmapAsset, const int32_t ...
function status_t (line 3349) | status_t ResTable::add(ResTable* src)
function status_t (line 3382) | status_t ResTable::addEmpty(const int32_t cookie) {
function status_t (line 3399) | status_t ResTable::addInternal(const void* data, size_t dataSize, cons...
function status_t (line 3523) | status_t ResTable::getError() const
type id_name_map (line 4049) | struct id_name_map {
function get_hex (line 4325) | static uint32_t get_hex(char c, bool* outError)
type unit_entry (line 4338) | struct unit_entry
function parse_unit (line 4360) | static bool parse_unit(const char* str, Res_value* outValue,
function String16 (line 5269) | const String16 ResTable::getBasePackageName(size_t idx) const
function ResStringPool (line 5308) | const ResStringPool* ResTable::getTableStringBlock(size_t index) const
function DynamicRefTable (line 5318) | const DynamicRefTable* ResTable::getDynamicRefTableForCookie(int32_t c...
function status_t (line 5456) | status_t ResTable::getEntry(
function status_t (line 5599) | status_t ResTable::parsePackage(const ResTable_package* const pkg,
function status_t (line 5898) | status_t DynamicRefTable::load(const ResTable_lib_header* const header)
function status_t (line 5927) | status_t DynamicRefTable::addMappings(const DynamicRefTable& other) {
function status_t (line 5958) | status_t DynamicRefTable::addMapping(const String16& packageName, uint...
function status_t (line 5968) | status_t DynamicRefTable::lookupResourceId(uint32_t* resId) const {
function status_t (line 6002) | status_t DynamicRefTable::lookupResourceValue(Res_value* value) const {
type IdmapTypeMap (line 6016) | struct IdmapTypeMap {
function status_t (line 6022) | status_t ResTable::createIdmap(const ResTable& overlay,
function print_complex (line 6204) | static void print_complex(uint32_t complex, bool isFraction)
function String8 (line 6239) | String8 ResTable::normalizeForOutput( const char *input )
FILE: atlas-aapt-old/frameworks/base/libs/androidfw/StreamingZipInflater.cpp
function min_of (line 44) | static inline size_t min_of(size_t a, size_t b) { return (a < b) ? a : b; }
function off64_t (line 229) | off64_t StreamingZipInflater::seekAbsolute(off64_t absoluteInputPosition) {
FILE: atlas-aapt-old/frameworks/base/libs/androidfw/TypeWrappers.cpp
type android (line 19) | namespace android {
function ResTable_entry (line 29) | const ResTable_entry* TypeVariant::iterator::operator*() const {
FILE: atlas-aapt-old/frameworks/base/libs/androidfw/ZipFileRO.cpp
class _ZipEntryRO (line 47) | class _ZipEntryRO {
method _ZipEntryRO (line 53) | _ZipEntryRO() : cookie(NULL) {
function ZipFileRO (line 70) | ZipFileRO* ZipFileRO::open(const char* zipFileName)
function ZipEntryRO (line 83) | ZipEntryRO ZipFileRO::findEntryByName(const char* entryName) const
function ZipEntryRO (line 146) | ZipEntryRO ZipFileRO::nextEntry(void* cookie)
function FileMap (line 193) | FileMap* ZipFileRO::createEntryFileMap(ZipEntryRO entry) const
FILE: atlas-aapt-old/frameworks/base/libs/androidfw/ZipUtils.cpp
function get4LE (line 36) | static inline unsigned long get4LE(const unsigned char* buf) {
function inflateToBuffer (line 54) | bool inflateToBuffer(T& reader, void* buf,
class FileReader (line 151) | class FileReader {
method FileReader (line 153) | FileReader(FILE* fp) :
method read (line 162) | long read(unsigned char** nextBuffer, long readSize) const {
class FdReader (line 171) | class FdReader {
method FdReader (line 173) | FdReader(int fd) :
method read (line 182) | long read(unsigned char** nextBuffer, long readSize) const {
class BufferReader (line 191) | class BufferReader {
method BufferReader (line 193) | BufferReader(void* input, size_t inputSize) :
method read (line 200) | long read(unsigned char** nextBuffer, long /*readSize*/) {
FILE: atlas-aapt-old/frameworks/base/libs/androidfw/misc.cpp
type android (line 31) | namespace android {
function FileType (line 36) | FileType getFileType(const char* fileName)
function time_t (line 73) | time_t getFileModDate(const char* fileName)
FILE: atlas-aapt-old/frameworks/base/libs/androidfw/tests/BackupData_test.cpp
type android (line 29) | namespace android {
class BackupDataTest (line 45) | class BackupDataTest : public testing::Test {
method SetUp (line 54) | virtual void SetUp() {
method TearDown (line 70) | virtual void TearDown() {
function TEST_F (line 74) | TEST_F(BackupDataTest, WriteAndReadSingle) {
function TEST_F (line 116) | TEST_F(BackupDataTest, WriteAndReadMultiple) {
function TEST_F (line 164) | TEST_F(BackupDataTest, SkipEntity) {
function TEST_F (line 219) | TEST_F(BackupDataTest, DeleteEntity) {
function TEST_F (line 258) | TEST_F(BackupDataTest, EneityAfterDelete) {
function TEST_F (line 319) | TEST_F(BackupDataTest, OnlyDeleteEntities) {
function TEST_F (line 387) | TEST_F(BackupDataTest, ReadDeletedEntityData) {
FILE: atlas-aapt-old/frameworks/base/libs/androidfw/tests/ByteBucketArray_test.cpp
function TEST (line 23) | TEST(ByteBucketArrayTest, TestSparseInsertion) {
FILE: atlas-aapt-old/frameworks/base/libs/androidfw/tests/ConfigLocale_test.cpp
type android (line 22) | namespace android {
function TEST (line 24) | TEST(ConfigLocaleTest, packAndUnpack2LetterLanguage) {
function TEST (line 47) | TEST(ConfigLocaleTest, packAndUnpack2LetterRegion) {
function TEST (line 62) | TEST(ConfigLocaleTest, packAndUnpack3LetterLanguage) {
function TEST (line 78) | TEST(ConfigLocaleTest, packAndUnpack3LetterLanguageAtOffset16) {
function TEST (line 102) | TEST(ConfigLocaleTest, packAndUnpack3LetterRegion) {
function fillIn (line 114) | void fillIn(const char* lang, const char* country,
function TEST (line 134) | TEST(ConfigLocaleTest, IsMoreSpecificThan) {
function TEST (line 173) | TEST(ConfigLocaleTest, setLocale) {
FILE: atlas-aapt-old/frameworks/base/libs/androidfw/tests/Config_test.cpp
type android (line 25) | namespace android {
function ResTable_config (line 27) | static ResTable_config selectBest(const ResTable_config& target,
function ResTable_config (line 45) | static ResTable_config buildDensityConfig(int density) {
function TEST (line 53) | TEST(ConfigTest, shouldSelectBestDensity) {
function TEST (line 86) | TEST(ConfigTest, shouldSelectBestDensityWhenNoneSpecified) {
FILE: atlas-aapt-old/frameworks/base/libs/androidfw/tests/Idmap_test.cpp
class IdmapTest (line 47) | class IdmapTest : public ::testing::Test {
method SetUp (line 49) | virtual void SetUp() {
method TearDown (line 57) | virtual void TearDown() {
function TEST_F (line 67) | TEST_F(IdmapTest, canLoadIdmap) {
function TEST_F (line 71) | TEST_F(IdmapTest, overlayOverridesResourceValue) {
function TEST_F (line 100) | TEST_F(IdmapTest, overlaidResourceHasSameName) {
FILE: atlas-aapt-old/frameworks/base/libs/androidfw/tests/ObbFile_test.cpp
type android (line 30) | namespace android {
class ObbFileTest (line 34) | class ObbFileTest : public testing::Test {
method SetUp (line 39) | virtual void SetUp() {
method TearDown (line 52) | virtual void TearDown() {
function TEST_F (line 56) | TEST_F(ObbFileTest, ReadFailure) {
function TEST_F (line 61) | TEST_F(ObbFileTest, WriteThenRead) {
FILE: atlas-aapt-old/frameworks/base/libs/androidfw/tests/ResTable_test.cpp
function TEST (line 42) | TEST(ResTableTest, shouldLoadSuccessfully) {
function TEST (line 47) | TEST(ResTableTest, simpleTypeIsRetrievedCorrectly) {
function TEST (line 62) | TEST(ResTableTest, resourceNameIsResolved) {
function TEST (line 75) | TEST(ResTableTest, noParentThemeIsAppliedCorrectly) {
function TEST (line 95) | TEST(ResTableTest, parentThemeIsAppliedCorrectly) {
function TEST (line 115) | TEST(ResTableTest, libraryThemeIsAppliedCorrectly) {
function TEST (line 130) | TEST(ResTableTest, referenceToBagIsNotResolved) {
function TEST (line 146) | TEST(ResTableTest, resourcesStillAccessibleAfterParameterChange) {
function TEST (line 174) | TEST(ResTableTest, resourceIsOverridenWithBetterConfig) {
function TEST (line 198) | TEST(ResTableTest, emptyTableHasSensibleDefaults) {
FILE: atlas-aapt-old/frameworks/base/libs/androidfw/tests/Split_test.cpp
function makeConfigFrench (line 56) | void makeConfigFrench(ResTable_config* config) {
function TEST (line 62) | TEST(SplitTest, TestLoadBase) {
function TEST (line 67) | TEST(SplitTest, TestGetResourceFromBase) {
function TEST (line 92) | TEST(SplitTest, TestGetResourceFromSplit) {
function TEST (line 113) | TEST(SplitTest, ResourcesFromBaseAndSplitHaveSameNames) {
function TEST (line 143) | TEST(SplitTest, TypeEntrySpecFlagsAreUpdated) {
function TEST (line 166) | TEST(SplitFeatureTest, TestNewResourceIsAccessible) {
function TEST (line 182) | TEST(SplitFeatureTest, TestNewResourceNameHasCorrectName) {
function TEST (line 203) | TEST(SplitFeatureTest, TestNewResourceIsAccessibleByName) {
FILE: atlas-aapt-old/frameworks/base/libs/androidfw/tests/TestHelpers.h
function namespace (line 18) | namespace android {
FILE: atlas-aapt-old/frameworks/base/libs/androidfw/tests/Theme_test.cpp
function TEST (line 39) | TEST(ThemeTest, DISABLED_shouldCopyThemeFromDifferentResTable) {
FILE: atlas-aapt-old/frameworks/base/libs/androidfw/tests/TypeWrappers_test.cpp
type android (line 23) | namespace android {
function TEST (line 78) | TEST(TypeVariantIteratorTest, shouldIterateOverTypeWithoutErrors) {
FILE: atlas-aapt-old/frameworks/base/libs/androidfw/tests/ZipUtils_test.cpp
type android (line 26) | namespace android {
class ZipUtilsTest (line 28) | class ZipUtilsTest : public testing::Test {
method SetUp (line 30) | virtual void SetUp() {
method TearDown (line 33) | virtual void TearDown() {
function TEST_F (line 37) | TEST_F(ZipUtilsTest, ZipTimeConvertSuccess) {
FILE: atlas-aapt-old/frameworks/base/libs/androidfw/tests/data/app/R.h
function namespace (line 4) | namespace app {
FILE: atlas-aapt-old/frameworks/base/libs/androidfw/tests/data/basic/R.h
function namespace (line 4) | namespace base {
FILE: atlas-aapt-old/frameworks/base/libs/androidfw/tests/data/lib/R.h
function namespace (line 4) | namespace lib {
FILE: atlas-aapt-old/frameworks/base/libs/androidfw/tests/data/system/R.h
function namespace (line 4) | namespace android {
FILE: atlas-aapt-old/frameworks/base/tools/aapt/AaptAssets.cpp
function validateFileName (line 38) | static bool validateFileName(const char* fileName)
function isHidden (line 66) | static bool isHidden(const char *root, const char *path)
function isAlpha (line 154) | inline bool isAlpha(const String8& string) {
function isNumber (line 166) | inline bool isNumber(const String8& string) {
function String8 (line 371) | String8 AaptLocaleValue::toDirName() const {
function String8 (line 448) | String8
function status_t (line 512) | status_t AaptFile::writeData(const void* data, size_t size)
function String8 (line 532) | String8 AaptFile::getPrintableSource() const
function status_t (line 547) | status_t AaptGroup::addFile(const sp<AaptFile>& file, const bool overwri...
function String8 (line 603) | String8 AaptGroup::getPrintableSource() const
function status_t (line 619) | status_t AaptDir::addFile(const String8& name, const sp<AaptGroup>& file)
function status_t (line 628) | status_t AaptDir::addDir(const String8& name, const sp<AaptDir>& dir)
function status_t (line 666) | status_t AaptDir::addLeafFile(const String8& leafName, const sp<AaptFile...
type dirent (line 698) | struct dirent
function status_t (line 767) | status_t AaptDir::validate() const
function String8 (line 845) | String8 AaptDir::getPrintableSource() const
function status_t (line 865) | status_t AaptSymbols::applyJavaSymbols(const sp<AaptSymbols>& javaSymbols)
function status_t (line 920) | status_t AaptAssets::addFile(const String8& name, const sp<AaptGroup>& f...
type dirent (line 1171) | struct dirent
function status_t (line 1335) | status_t AaptAssets::filter(Bundle* bundle)
function status_t (line 1515) | status_t AaptAssets::applyJavaSymbols()
function status_t (line 1547) | status_t AaptAssets::buildIncludedResources(Bundle* bundle)
function status_t (line 1646) | status_t AaptAssets::addIncludedResources(const sp<AaptFile>& file)
function ResTable (line 1653) | const ResTable& AaptAssets::getIncludedResources() const
function AssetManager (line 1658) | AssetManager& AaptAssets::getAssetManager()
function ResTable (line 1663) | const ResTable& AaptAssets::getBaselineResources() const
function AssetManager (line 1668) | AssetManager& AaptAssets::getBaselineAssetManager()
function valid_symbol_name (line 1713) | bool
FILE: atlas-aapt-old/frameworks/base/tools/aapt/AaptAssets.h
type AaptLocaleValue (line 61) | struct AaptLocaleValue {
function String8 (line 81) | String8 toDirName() const;
function o (line 88) | inline bool operator<=(const AaptLocaleValue& o) const { return compare(...
function o (line 89) | inline bool operator==(const AaptLocaleValue& o) const { return compare(...
function o (line 90) | inline bool operator!=(const AaptLocaleValue& o) const { return compare(...
function o (line 91) | inline bool operator>=(const AaptLocaleValue& o) const { return compare(...
function o (line 92) | inline bool operator>(const AaptLocaleValue& o) const { return compare(o...
function compare (line 104) | struct AaptGroupEntry
function o (line 115) | inline bool operator<(const AaptGroupEntry& o) const { return compare(o)...
function o (line 116) | inline bool operator<=(const AaptGroupEntry& o) const { return compare(o...
function o (line 117) | inline bool operator==(const AaptGroupEntry& o) const { return compare(o...
function o (line 118) | inline bool operator!=(const AaptGroupEntry& o) const { return compare(o...
function o (line 119) | inline bool operator>=(const AaptGroupEntry& o) const { return compare(o...
function o (line 120) | inline bool operator>(const AaptGroupEntry& o) const { return compare(o)...
function String8 (line 125) | const String8 getVersionString() const { return AaptConfig::getVersion(m...
function strictly_order_type (line 136) | inline int strictly_order_type(const AaptGroupEntry& lhs, const AaptGrou...
function class (line 147) | class AaptFile : public RefBase
function String8 (line 187) | String8 getPrintableSource() const;
function class (line 210) | class AaptGroup : public RefBase
function class (line 243) | class AaptDir : public RefBase
function status_t (line 279) | status_t validate() const;
function class (line 366) | class AaptSymbols : public RefBase
function String16 (line 458) | const String16& getComment(const String8& name) const
function String16 (line 460) | const String16& getTypeComment(const String8& name) const
function AaptSymbolEntry (line 482) | const AaptSymbolEntry& get_symbol(const String8& symbol) const {
function class (line 514) | class AaptAssets : public AaptDir
function setSymbolsPrivatePackage (line 555) | void setSymbolsPrivatePackage(const String8& pkg) {
function sp (line 576) | inline sp<AaptAssets> getOverlay() { return mOverlay; }
function setOverlay (line 577) | inline void setOverlay(sp<AaptAssets>& overlay) { mOverlay = overlay; }
function setResources (line 580) | inline void
function sp (line 583) | inline sp<FilePathStore>& getFullResPaths() { return mFullResPaths; }
function setFullResPaths (line 584) | inline void
function sp (line 587) | inline sp<FilePathStore>& getFullAssetPaths() { return mFullAssetPaths; }
function setFullAssetPaths (line 588) | inline void
FILE: atlas-aapt-old/frameworks/base/tools/aapt/AaptConfig.cpp
type AaptConfig (line 29) | namespace AaptConfig {
function parse (line 33) | bool parse(const String8& str, ConfigDescription* out) {
function parseCommaSeparatedList (line 224) | bool parseCommaSeparatedList(const String8& str, std::set<ConfigDescri...
function applyVersionForCompatibility (line 237) | void applyVersionForCompatibility(ConfigDescription* config) {
function parseMcc (line 267) | bool parseMcc(const char* name, ResTable_config* out) {
function parseMnc (line 297) | bool parseMnc(const char* name, ResTable_config* out) {
function parseLayoutDirection (line 328) | bool parseLayoutDirection(const char* name, ResTable_config* out) {
function parseScreenLayoutSize (line 349) | bool parseScreenLayoutSize(const char* name, ResTable_config* out) {
function parseScreenLayoutLong (line 380) | bool parseScreenLayoutLong(const char* name, ResTable_config* out) {
function parseOrientation (line 401) | bool parseOrientation(const char* name, ResTable_config* out) {
function parseUiModeType (line 419) | bool parseUiModeType(const char* name, ResTable_config* out) {
function parseUiModeNight (line 455) | bool parseUiModeNight(const char* name, ResTable_config* out) {
function parseDensity (line 476) | bool parseDensity(const char* name, ResTable_config* out) {
function parseTouchscreen (line 556) | bool parseTouchscreen(const char* name, ResTable_config* out) {
function parseKeysHidden (line 574) | bool parseKeysHidden(const char* name, ResTable_config* out) {
function parseKeyboard (line 599) | bool parseKeyboard(const char* name, ResTable_config* out) {
function parseNavHidden (line 617) | bool parseNavHidden(const char* name, ResTable_config* out) {
function parseNavigation (line 639) | bool parseNavigation(const char* name, ResTable_config* out) {
function parseScreenSize (line 660) | bool parseScreenSize(const char* name, ResTable_config* out) {
function parseSmallestScreenWidthDp (line 694) | bool parseSmallestScreenWidthDp(const char* name, ResTable_config* out) {
function parseScreenWidthDp (line 718) | bool parseScreenWidthDp(const char* name, ResTable_config* out) {
function parseScreenHeightDp (line 740) | bool parseScreenHeightDp(const char* name, ResTable_config* out) {
function parseVersion (line 762) | bool parseVersion(const char* name, ResTable_config* out) {
function String8 (line 789) | String8 getVersion(const ResTable_config& config) {
function isSameExcept (line 793) | bool isSameExcept(const ResTable_config& a, const ResTable_config& b, ...
FILE: atlas-aapt-old/frameworks/base/tools/aapt/AaptConfig.h
function namespace (line 28) | namespace AaptConfig {
FILE: atlas-aapt-old/frameworks/base/tools/aapt/AaptUtil.cpp
type AaptUtil (line 22) | namespace AaptUtil {
function split (line 24) | Vector<String8> split(const String8& str, const char sep) {
function splitAndLowerCase (line 42) | Vector<String8> splitAndLowerCase(const String8& str, const char sep) {
FILE: atlas-aapt-old/frameworks/base/tools/aapt/AaptUtil.h
function namespace (line 23) | namespace AaptUtil {
FILE: atlas-aapt-old/frameworks/base/tools/aapt/AaptXml.cpp
type AaptXml (line 24) | namespace AaptXml {
function String8 (line 26) | static String8 getStringAttributeAtIndex(const ResXMLTree& tree, ssize...
function getIntegerAttributeAtIndex (line 48) | static int32_t getIntegerAttributeAtIndex(const ResXMLTree& tree, ssiz...
function indexOfAttribute (line 69) | ssize_t indexOfAttribute(const ResXMLTree& tree, uint32_t attrRes) {
function String8 (line 79) | String8 getAttribute(const ResXMLTree& tree, const char* ns,
function String8 (line 88) | String8 getAttribute(const ResXMLTree& tree, uint32_t attrRes, String8...
function String8 (line 96) | String8 getResolvedAttribute(const ResTable& resTable, const ResXMLTre...
function getIntegerAttribute (line 123) | int32_t getIntegerAttribute(const ResXMLTree& tree, const char* ns,
function getIntegerAttribute (line 132) | int32_t getIntegerAttribute(const ResXMLTree& tree, uint32_t attrRes, ...
function getResolvedIntegerAttribute (line 141) | int32_t getResolvedIntegerAttribute(const ResTable& resTable, const Re...
function getResolvedResourceAttribute (line 163) | void getResolvedResourceAttribute(const ResTable& resTable, const ResX...
FILE: atlas-aapt-old/frameworks/base/tools/aapt/AaptXml.h
function namespace (line 26) | namespace AaptXml {
FILE: atlas-aapt-old/frameworks/base/tools/aapt/ApkBuilder.cpp
function status_t (line 30) | status_t ApkBuilder::createSplitForConfigs(const std::set<ConfigDescript...
function status_t (line 59) | status_t ApkBuilder::addEntry(const String8& path, const sp<AaptFile>& f...
function status_t (line 109) | status_t ApkSplit::addEntry(const String8& path, const sp<AaptFile>& fil...
FILE: atlas-aapt-old/frameworks/base/tools/aapt/ApkBuilder.h
function class (line 33) | class ApkBuilder : public android::RefBase {
function class (line 70) | class ApkSplit : public OutputSet {
FILE: atlas-aapt-old/frameworks/base/tools/aapt/Bundle.h
type Command (line 33) | typedef enum Command {
type PseudolocalizationMethod (line 49) | typedef enum PseudolocalizationMethod {
function class (line 58) | class Bundle {
function setCommand (line 86) | void setCommand(Command cmd) { mCmd = cmd; }
function getVerbose (line 92) | bool getVerbose(void) const { return mVerbose; }
function setVerbose (line 93) | void setVerbose(bool val) { mVerbose = val; }
function getAndroidList (line 94) | bool getAndroidList(void) const { return mAndroidList; }
function setAndroidList (line 95) | void setAndroidList(bool val) { mAndroidList = val; }
function getForce (line 96) | bool getForce(void) const { return mForce; }
function setForce (line 97) | void setForce(bool val) { mForce = val; }
function setGrayscaleTolerance (line 98) | void setGrayscaleTolerance(int val) { mGrayscaleTolerance = val; }
function getMakePackageDirs (line 100) | bool getMakePackageDirs(void) const { return mMakePackageDirs; }
function setMakePackageDirs (line 101) | void setMakePackageDirs(bool val) { mMakePackageDirs = val; }
function getUpdate (line 102) | bool getUpdate(void) const { return mUpdate; }
function setUpdate (line 103) | void setUpdate(bool val) { mUpdate = val; }
function getExtending (line 104) | bool getExtending(void) const { return mExtending; }
function setExtending (line 105) | void setExtending(bool val) { mExtending = val; }
function getRequireLocalization (line 106) | bool getRequireLocalization(void) const { return mRequireLocalization; }
function setRequireLocalization (line 107) | void setRequireLocalization(bool val) { mRequireLocalization = val; }
function getPseudolocalize (line 108) | short getPseudolocalize(void) const { return mPseudolocalize; }
function setPseudolocalize (line 109) | void setPseudolocalize(short val) { mPseudolocalize = val; }
function setWantUTF16 (line 110) | void setWantUTF16(bool val) { mWantUTF16 = val; }
function getValues (line 111) | bool getValues(void) const { return mValues; }
function setValues (line 112) | void setValues(bool val) { mValues = val; }
function getIncludeMetaData (line 113) | bool getIncludeMetaData(void) const { return mIncludeMetaData; }
function setIncludeMetaData (line 114) | void setIncludeMetaData(bool val) { mIncludeMetaData = val; }
function getCompressionMethod (line 115) | int getCompressionMethod(void) const { return mCompressionMethod; }
function setCompressionMethod (line 116) | void setCompressionMethod(int val) { mCompressionMethod = val; }
function getJunkPath (line 117) | bool getJunkPath(void) const { return mJunkPath; }
function setJunkPath (line 118) | void setJunkPath(bool val) { mJunkPath = val; }
function setOutputAPKFile (line 120) | void setOutputAPKFile(const char* val) { mOutputAPKFile = val; }
function setManifestPackageNameOverride (line 122) | void setManifestPackageNameOverride(const char * val) { mManifestPackage...
function setInstrumentationPackageNameOverride (line 124) | void setInstrumentationPackageNameOverride(const char * val) { mInstrume...
function getAutoAddOverlay (line 125) | bool getAutoAddOverlay() { return mAutoAddOverlay; }
function setAutoAddOverlay (line 126) | void setAutoAddOverlay(bool val) { mAutoAddOverlay = val; }
function getGenDependencies (line 127) | bool getGenDependencies() { return mGenDependencies; }
function setGenDependencies (line 128) | void setGenDependencies(bool val) { mGenDependencies = val; }
function getErrorOnFailedInsert (line 129) | bool getErrorOnFailedInsert() { return mErrorOnFailedInsert; }
function setErrorOnFailedInsert (line 130) | void setErrorOnFailedInsert(bool val) { mErrorOnFailedInsert = val; }
function getErrorOnMissingConfigEntry (line 131) | bool getErrorOnMissingConfigEntry() { return mErrorOnMissingConfigEntry; }
function setErrorOnMissingConfigEntry (line 132) | void setErrorOnMissingConfigEntry(bool val) { mErrorOnMissingConfigEntry...
function android (line 133) | const android::String8& getPlatformBuildVersionCode() { return mPlatform...
function setPlatformBuildVersionCode (line 134) | void setPlatformBuildVersionCode(const android::String8& code) { mPlatfo...
function android (line 135) | const android::String8& getPlatformBuildVersionName() { return mPlatform...
function setPlatformBuildVersionName (line 136) | void setPlatformBuildVersionName(const android::String8& name) { mPlatfo...
function getUTF16StringsOption (line 138) | bool getUTF16StringsOption() {
function android (line 145) | const android::Vector<const char*>& getAssetSourceDirs() const { return ...
function addAssetSourceDir (line 146) | void addAssetSourceDir(const char* dir) { mAssetSourceDirs.insertAt(dir,...
function setCrunchedOutputDir (line 148) | void setCrunchedOutputDir(const char* dir) { mCrunchedOutputDir = dir; }
function setProguardFile (line 150) | void setProguardFile(const char* file) { mProguardFile = file; }
function setMainDexProguardFile (line 152) | void setMainDexProguardFile(const char* file) { mMainDexProguardFile = f...
function android (line 153) | const android::Vector<const char*>& getResourceSourceDirs() const { retu...
function addResourceSourceDir (line 154) | void addResourceSourceDir(const char* dir) { mResourceSourceDirs.insertA...
function setAndroidManifestFile (line 156) | void setAndroidManifestFile(const char* file) { mAndroidManifestFile = f...
function setPublicOutputFile (line 158) | void setPublicOutputFile(const char* file) { mPublicOutputFile = file; }
function setRClassDir (line 160) | void setRClassDir(const char* dir) { mRClassDir = dir; }
function addConfigurations (line 162) | void addConfigurations(const char* val) { if (mConfigurations.size() > 0...
function setPreferredDensity (line 164) | void setPreferredDensity(const char* val) { mPreferredDensity = val; }
function addSplitConfigurations (line 165) | void addSplitConfigurations(const char* val) { mPartialConfigurations.ad...
function setResourceIntermediatesDir (line 168) | void setResourceIntermediatesDir(const char* dir) { mResourceIntermediat...
function addPackageInclude (line 170) | void addPackageInclude(const char* file) { mPackageIncludes.add(android:...
function setBaselinePackage (line 171) | void setBaselinePackage(const char* str) { mBaselinePackage = str; }
function android (line 173) | const android::Vector<const char*>& getJarFiles() const { return mJarFil...
function addJarFile (line 174) | void addJarFile(const char* file) { mJarFiles.add(file); }
function android (line 175) | const android::Vector<const char*>& getNoCompressExtensions() const { re...
function addNoCompressExtension (line 176) | void addNoCompressExtension(const char* ext) { mNoCompressExtensions.add...
function setFeatureOfPackage (line 177) | void setFeatureOfPackage(const char* str) { mFeatureOfPackage = str; }
function setFeatureAfterPackage (line 179) | void setFeatureAfterPackage(const char* str) { mFeatureAfterPackage.add(...
function setManifestMinSdkVersion (line 183) | void setManifestMinSdkVersion(const char* val) { mManifestMinSdkVersion...
function setMinSdkVersion (line 185) | void setMinSdkVersion(const char* val) { mMinSdkVersion = val; }
function setTargetSdkVersion (line 187) | void setTargetSdkVersion(const char* val) { mTargetSdkVersion = val; }
function setMaxSdkVersion (line 189) | void setMaxSdkVersion(const char* val) { mMaxSdkVersion = val; }
function setVersionCode (line 191) | void setVersionCode(const char* val) { mVersionCode = val; }
function setVersionName (line 193) | void setVersionName(const char* val) { mVersionName = val; }
function getReplaceVersion (line 194) | bool getReplaceVersion() { return mReplaceVersion; }
function setReplaceVersion (line 195) | void setReplaceVersion(bool val) { mReplaceVersion = val; }
function setCustomPackage (line 197) | void setCustomPackage(const char* val) { mCustomPackage = val; }
function setExtraPackages (line 199) | void setExtraPackages(const char* val) { mExtraPackages = val; }
function setMaxResVersion (line 201) | void setMaxResVersion(const char * val) { mMaxResVersion = val; }
function setDebugMode (line 203) | void setDebugMode(bool val) { mDebugMode = val; }
function setNonConstantId (line 205) | void setNonConstantId(bool val) { mNonConstantId = val; }
function setProduct (line 207) | void setProduct(const char * val) { mProduct = val; }
function setUseCrunchCache (line 208) | void setUseCrunchCache(bool val) { mUseCrunchCache = val; }
function setOutputTextSymbols (line 211) | void setOutputTextSymbols(const char* val) { mOutputTextSymbols = val; }
function setSingleCrunchInputFile (line 213) | void setSingleCrunchInputFile(const char* val) { mSingleCrunchInputFile ...
function setSingleCrunchOutputFile (line 215) | void setSingleCrunchOutputFile(const char* val) { mSingleCrunchOutputFil...
function setBuildSharedLibrary (line 217) | void setBuildSharedLibrary(bool val) { mBuildSharedLibrary = val; }
function setTypeIdOffset (line 218) | void setTypeIdOffset(uint32_t val) { mTypeIdOffset = val; }
function setFileSpec (line 226) | void setFileSpec(char* const argv[], int argc) {
function getFileSpecCount (line 230) | int getFileSpecCount(void) const { return mArgc; }
function eatArgs (line 232) | void eatArgs(int n) {
function getPackageCount (line 244) | int getPackageCount(void) const { return mPackageCount; }
function setPackageCount (line 245) | void setPackageCount(int val) { mPackageCount = val; }
function isMinSdkAtLeast (line 252) | bool isMinSdkAtLeast(int desired) {
FILE: atlas-aapt-old/frameworks/base/tools/aapt/CacheUpdater.h
function class (line 49) | class SystemCacheUpdater : public CacheUpdater {
FILE: atlas-aapt-old/frameworks/base/tools/aapt/Command.cpp
function doVersion (line 40) | int doVersion(Bundle* bundle)
function ZipFile (line 56) | ZipFile* openReadOnly(const char* fileName)
function ZipFile (line 85) | ZipFile* openReadWrite(const char* fileName, bool okayToCreate)
function calcPercent (line 126) | int calcPercent(long uncompressedLen, long compressedLen)
function doList (line 142) | int doList(Bundle* bundle)
function printResolvedResourceAttribute (line 263) | static void printResolvedResourceAttribute(const ResTable& resTable, con...
function String8 (line 326) | String8 getComponentName(String8 &pkgName, String8 &componentName) {
function printCompatibleScreens (line 340) | static void printCompatibleScreens(ResXMLTree& tree, String8* outError) {
function printUsesPermission (line 381) | static void printUsesPermission(const String8& name, bool optional=false...
function printUsesImpliedPermission (line 398) | static void printUsesImpliedPermission(const String8& name, const String...
function getNfcAidCategories (line 404) | Vector<String8> getNfcAidCategories(AssetManager& assets, String8 xmlPat...
function printComponentPresence (line 469) | static void printComponentPresence(const char* componentName) {
type ImpliedFeature (line 477) | struct ImpliedFeature {
type FeatureGroup (line 492) | struct FeatureGroup {
method FeatureGroup (line 493) | FeatureGroup() : openGLESVersion(-1) {}
function addImpliedFeature (line 511) | static void addImpliedFeature(KeyedVector<String8, ImpliedFeature>* impl...
function printFeatureGroup (line 522) | static void printFeatureGroup(const FeatureGroup& grp,
function addParentFeatures (line 569) | static void addParentFeatures(FeatureGroup* grp, const String8& name) {
function doDump (line 593) | int doDump(Bundle* bundle)
function doAdd (line 2078) | int doAdd(Bundle* bundle)
function doRemove (line 2149) | int doRemove(Bundle* bundle)
function status_t (line 2200) | static status_t addResourcesToBuilder(const sp<AaptDir>& dir, const sp<A...
function String8 (line 2238) | static String8 buildApkName(const String8& original, const sp<ApkSplit>&...
function doPackage (line 2258) | int doPackage(Bundle* bundle)
function doCrunch (line 2507) | int doCrunch(Bundle* bundle)
function doSingleCrunch (line 2523) | int doSingleCrunch(Bundle* bundle)
function runInDaemonMode (line 2539) | int runInDaemonMode(Bundle* bundle) {
FILE: atlas-aapt-old/frameworks/base/tools/aapt/ConfigDescription.h
type ConfigDescription (line 26) | struct ConfigDescription
function o (line 50) | inline bool operator<=(const ConfigDescription& o) const { return compar...
function o (line 51) | inline bool operator==(const ConfigDescription& o) const { return compar...
function o (line 52) | inline bool operator!=(const ConfigDescription& o) const { return compar...
function o (line 53) | inline bool operator>=(const ConfigDescription& o) const { return compar...
function o (line 54) | inline bool operator>(const ConfigDescription& o) const { return compare...
FILE: atlas-aapt-old/frameworks/base/tools/aapt/CrunchCache.h
function class (line 29) | class CrunchCache {
FILE: atlas-aapt-old/frameworks/base/tools/aapt/DirectoryWalker.h
function class (line 25) | class DirectoryWalker {
function class (line 53) | class SystemDirectoryWalker : public DirectoryWalker {
function virtual (line 67) | virtual bool openDir(const char* path) {
function dirent (line 73) | dirent* nextEntry() {
function stat (line 85) | stat* entryStats() {
function virtual (line 88) | virtual void closeDir() {
function virtual (line 91) | virtual DirectoryWalker* clone() {
FILE: atlas-aapt-old/frameworks/base/tools/aapt/FileFinder.cpp
function isDirectory (line 23) | bool isDirectory(const char* filename) {
function isFile (line 33) | bool isFile(const char* filename) {
type dirent (line 54) | struct dirent
type stat (line 80) | struct stat
FILE: atlas-aapt-old/frameworks/base/tools/aapt/FileFinder.h
function class (line 23) | class FileFinder {
function class (line 32) | class SystemFileFinder : public FileFinder {
FILE: atlas-aapt-old/frameworks/base/tools/aapt/Images.cpp
function png_write_aapt_file (line 19) | static void
function png_flush_aapt_file (line 30) | static void
type image_info (line 36) | struct image_info
method image_info (line 38) | image_info() : rows(NULL), is9Patch(false),
function log_warning (line 92) | static void log_warning(png_structp png_ptr, png_const_charp warning_mes...
function read_png (line 98) | static void read_png(const char* imageName,
function tick_type (line 182) | static int tick_type(png_bytep p, bool transparent, const char** outError)
function status_t (line 234) | static status_t get_horizontal_ticks(
function status_t (line 283) | static status_t get_vertical_ticks(
function status_t (line 332) | static status_t get_horizontal_layout_bounds_ticks(
function status_t (line 370) | static status_t get_vertical_layout_bounds_ticks(
function find_max_opacity (line 408) | static void find_max_opacity(png_byte** rows,
function max_alpha_over_row (line 427) | static uint8_t max_alpha_over_row(png_byte* row, int startX, int endX)
function max_alpha_over_col (line 437) | static uint8_t max_alpha_over_col(png_byte** rows, int offsetX, int star...
function get_outline (line 447) | static void get_outline(image_info* image)
function get_color (line 506) | static uint32_t get_color(
function select_patch (line 536) | static void select_patch(
function get_color (line 555) | static uint32_t get_color(image_info* image, int hpatch, int vpatch)
function status_t (line 571) | static status_t do_9patch(const char* imageName, image_info* image)
function checkNinePatchSerialization (line 819) | static void checkNinePatchSerialization(Res_png_9patch* inPatch, void* ...
function dump_image (line 845) | static void dump_image(int w, int h, png_bytepp rows, int color_type)
function analyze_image (line 897) | static void analyze_image(const char *imageName, image_info &imageInfo, ...
function write_png (line 1067) | static void write_png(const char* imageName,
function status_t (line 1239) | status_t preProcessImage(const Bundle* bundle, const sp<AaptAssets>& ass...
function status_t (line 1359) | status_t preProcessImageToCache(const Bundle* bundle, const String8& sou...
function status_t (line 1486) | status_t postProcessImage(const Bundle* bundle, const sp<AaptAssets>& as...
FILE: atlas-aapt-old/frameworks/base/tools/aapt/IndentPrinter.h
function class (line 4) | class IndentPrinter {
function print (line 20) | void print(const char* fmt, ...) {
function println (line 28) | void println(const char* fmt, ...) {
function println (line 38) | void println() {
FILE: atlas-aapt-old/frameworks/base/tools/aapt/Main.cpp
function convertPath (line 30) | void convertPath(char *path) {
function usage (line 43) | void usage(void)
function handleCommand (line 231) | int handleCommand(Bundle* bundle)
function main (line 257) | int main(int argc, char* const argv[])
FILE: atlas-aapt-old/frameworks/base/tools/aapt/OutputSet.h
function class (line 27) | class OutputEntry {
function class (line 49) | class OutputSet : public virtual android::RefBase {
FILE: atlas-aapt-old/frameworks/base/tools/aapt/Package.cpp
function status_t (line 52) | status_t writeAPK(Bundle* bundle, const String8& outputFile, const sp<Ou...
function processAssets (line 218) | ssize_t processAssets(Bundle* bundle, ZipFile* zip, const sp<const Outpu...
function processFile (line 245) | bool processFile(Bundle* bundle, ZipFile* zip,
function okayToCompress (line 366) | bool okayToCompress(Bundle* bundle, const String8& pathName)
function endsWith (line 395) | bool endsWith(const char* haystack, const char* needle)
function processJarFile (line 403) | ssize_t processJarFile(ZipFile* jar, ZipFile* out)
function processJarFiles (line 428) | ssize_t processJarFiles(Bundle* bundle, ZipFile* zip)
FILE: atlas-aapt-old/frameworks/base/tools/aapt/Resource.cpp
class PackageInfo (line 37) | class PackageInfo
method PackageInfo (line 40) | PackageInfo()
function String8 (line 54) | String8 parseResourceName(const String8& leaf)
class ResourceDirIterator (line 78) | class ResourceDirIterator
method ResourceDirIterator (line 81) | ResourceDirIterator(const sp<ResourceTypeSet>& set, const String8& res...
method String8 (line 90) | inline const String8& getBaseName() const { return mBaseName; }
method String8 (line 91) | inline const String8& getLeafName() const { return mLeafName; }
method String8 (line 92) | inline String8 getPath() const { return mPath; }
method ResTable_config (line 93) | inline const ResTable_config& getParams() const { return mParams; }
method next (line 99) | ssize_t next()
class AnnotationProcessor (line 170) | class AnnotationProcessor {
method AnnotationProcessor (line 172) | AnnotationProcessor() : mDeprecated(false), mSystemApi(false) { }
method preprocessComment (line 174) | void preprocessComment(String8& comment) {
method printAnnotations (line 185) | void printAnnotations(FILE* fp, const char* indentStr) {
function isValidResourceType (line 203) | bool isValidResourceType(const String8& type)
function status_t (line 212) | static status_t parsePackage(Bundle* bundle, const sp<AaptAssets>& assets,
function status_t (line 280) | static status_t makeFileResources(Bundle* bundle, const sp<AaptAssets>& ...
class PreProcessImageWorkUnit (line 324) | class PreProcessImageWorkUnit : public WorkQueue::WorkUnit {
method PreProcessImageWorkUnit (line 326) | PreProcessImageWorkUnit(const Bundle* bundle, const sp<AaptAssets>& as...
method run (line 331) | virtual bool run() {
function status_t (line 346) | static status_t preProcessImages(const Bundle* bundle, const sp<AaptAsse...
function collect_files (line 374) | static void collect_files(const sp<AaptDir>& dir,
function collect_files (line 423) | static void collect_files(const sp<AaptAssets>& ass,
function validateAttr (line 447) | static int validateAttr(const String8& path, const ResTable& table,
function checkForIds (line 548) | static void checkForIds(const String8& path, ResXMLParser& parser)
function applyFileOverlay (line 563) | static bool applyFileOverlay(Bundle *bundle,
function addTagAttribute (line 680) | bool addTagAttribute(const sp<XMLNode>& node, const char* ns8,
function addTagAttribute (line 726) | bool addTagAttribute(const sp<XMLNode>& node, const char* ns8,
function fullyQualifyClassName (line 732) | static void fullyQualifyClassName(const String8& package, sp<XMLNode> node,
function status_t (line 760) | status_t massageManifest(Bundle* bundle, sp<XMLNode> root)
function getPlatformAssetCookie (line 914) | static int32_t getPlatformAssetCookie(const AssetManager& assets) {
function extractPlatformBuildVersion (line 942) | static ssize_t extractPlatformBuildVersion(ResXMLTree& tree, Bundle* bun...
function extractPlatformBuildVersion (line 988) | static ssize_t extractPlatformBuildVersion(AssetManager& assets, Bundle*...
function status_t (line 1022) | status_t updatePreProcessedCache(Bundle* bundle)
function status_t (line 1051) | status_t generateAndroidManifestForSplit(Bundle* bundle, const sp<AaptAs...
function status_t (line 1100) | status_t buildResources(Bundle* bundle, const sp<AaptAssets>& assets, sp...
function String8 (line 1919) | static String8 flattenSymbol(const String8& symbol) {
function String8 (line 1936) | static String8 getSymbolPackage(const String8& symbol, const sp<AaptAsse...
function String8 (line 1944) | static String8 getSymbolName(const String8& symbol) {
function String16 (line 1952) | static String16 getAttributeComment(const sp<AaptAssets>& assets,
function status_t (line 1972) | static status_t writeResourceLoadedCallbackForLayoutClasses(
function status_t (line 2001) | static status_t writeResourceLoadedCallback(
function status_t (line 2043) | static status_t writeLayoutClasses(
function status_t (line 2295) | static status_t writeTextLayoutClasses(
function status_t (line 2398) | static status_t writeSymbolClass(
function status_t (line 2528) | static status_t writeTextSymbolClass(
function status_t (line 2569) | status_t writeResourceSymbols(Bundle* bundle, const sp<AaptAssets>& assets,
class ProguardKeepSet (line 2672) | class ProguardKeepSet
function addProguardKeepRule (line 2690) | void
function addProguardKeepMethodRule (line 2724) | void
function status_t (line 2741) | status_t
type NamespaceAttributePair (line 2862) | struct NamespaceAttributePair {
method NamespaceAttributePair (line 2866) | NamespaceAttributePair(const char* n, const char* a) : ns(n), attr(a) {}
method NamespaceAttributePair (line 2867) | NamespaceAttributePair() : ns(NULL), attr(NULL) {}
function status_t (line 2870) | status_t
function addTagAttrPair (line 2949) | static void addTagAttrPair(KeyedVector<String8, Vector<NamespaceAttribut...
function status_t (line 2963) | status_t
function status_t (line 3023) | status_t
function status_t (line 3048) | status_t
function status_t (line 3073) | status_t
function status_t (line 3093) | status_t writePathsToFile(const sp<FilePathStore>& files, FILE* fp)
function status_t (line 3104) | status_t
FILE: atlas-aapt-old/frameworks/base/tools/aapt/ResourceFilter.cpp
function status_t (line 11) | status_t
function status_t (line 89) | status_t
FILE: atlas-aapt-old/frameworks/base/tools/aapt/ResourceFilter.h
function class (line 21) | class ResourceFilter : public virtual android::RefBase {
function class (line 29) | class WeakResourceFilter : public ResourceFilter {
function class (line 78) | class StrongResourceFilter : public ResourceFilter {
function class (line 107) | class InverseResourceFilter : public ResourceFilter {
function class (line 123) | class AndResourceFilter : public ResourceFilter {
FILE: atlas-aapt-old/frameworks/base/tools/aapt/ResourceIdCache.cpp
type CacheEntry (line 23) | struct CacheEntry {
method CacheEntry (line 28) | CacheEntry() {}
method CacheEntry (line 29) | CacheEntry(const android::String16& name, uint32_t resId) : hashedName...
function hashround (line 36) | static inline uint32_t hashround(uint32_t hash, int c) {
function hash (line 40) | static uint32_t hash(const android::String16& hashableString) {
type android (line 47) | namespace android {
function String16 (line 49) | static inline String16 makeHashableName(const android::String16& package,
FILE: atlas-aapt-old/frameworks/base/tools/aapt/ResourceIdCache.h
function namespace (line 11) | namespace android {
FILE: atlas-aapt-old/frameworks/base/tools/aapt/ResourceTable.cpp
function status_t (line 22) | status_t compileXmlFile(const Bundle* bundle,
function status_t (line 37) | status_t compileXmlFile(const Bundle* bundle,
function status_t (line 53) | status_t compileXmlFile(const Bundle* bundle,
type flag_entry (line 116) | struct flag_entry
function parse_flags (line 182) | static uint32_t parse_flags(const char16_t* str, size_t len,
function String16 (line 223) | static String16 mayOrMust(int type, int flags)
function appendTypeInfo (line 232) | static void appendTypeInfo(ResourceTable* outTable, const String16& pkg,
type PendingAttribute (line 257) | struct PendingAttribute
method PendingAttribute (line 268) | PendingAttribute(String16 _package, const sp<AaptFile>& in,
method status_t (line 279) | status_t createIfNeeded(ResourceTable* outTable)
function status_t (line 315) | static status_t compileAttribute(const sp<AaptFile>& in,
function localeIsDefined (line 571) | bool localeIsDefined(const ResTable_config& config)
function status_t (line 576) | status_t parseAndAddBag(Bundle* bundle,
function isInProductList (line 624) | bool isInProductList(const String16& needle, const String16& haystack) {
type type_ident_pair_t (line 651) | struct type_ident_pair_t {
method type_ident_pair_t (line 655) | type_ident_pair_t() { }
method type_ident_pair_t (line 656) | type_ident_pair_t(const String16& t, const String16& i) : type(t), ide...
method type_ident_pair_t (line 657) | type_ident_pair_t(const type_ident_pair_t& o) : type(o.type), ident(o....
function status_t (line 671) | status_t parseAndAddEntry(Bundle* bundle,
function status_t (line 761) | status_t compileResourceFile(Bundle* bundle,
function findLargestTypeIdForPackage (line 1759) | static uint32_t findLargestTypeIdForPackage(const ResTable& table, const...
function status_t (line 1770) | status_t ResourceTable::addIncludedResources(Bundle* bundle, const sp<Aa...
function status_t (line 1836) | status_t ResourceTable::addMapping(const SourcePos& sourcePos,
function status_t (line 1865) | status_t ResourceTable::addPublic(const SourcePos& sourcePos,
function status_t (line 1889) | status_t ResourceTable::addEntry(const SourcePos& sourcePos,
function status_t (line 1923) | status_t ResourceTable::startBag(const SourcePos& sourcePos,
function status_t (line 1983) | status_t ResourceTable::addBag(const SourcePos& sourcePos,
function status_t (line 2598) | status_t ResourceTable::assignResourceIds(Bundle *bundle)
function status_t (line 2723) | status_t ResourceTable::addSymbols(const sp<AaptSymbols>& outSymbols) {
function status_t (line 2791) | status_t
function status_t (line 2873) | status_t ResourceTable::flatten(Bundle* bundle, const sp<const ResourceF...
function status_t (line 3364) | status_t ResourceTable::flattenLibraryTable(const sp<AaptFile>& dest, co...
function status_t (line 3515) | status_t ResourceTable::Entry::makeItABag(const SourcePos& sourcePos)
function status_t (line 3531) | status_t ResourceTable::Entry::setItem(const SourcePos& sourcePos,
function status_t (line 3566) | status_t ResourceTable::Entry::addToBag(const SourcePos& sourcePos,
function status_t (line 3600) | status_t ResourceTable::Entry::removeFromBag(const String16& key) {
function status_t (line 3611) | status_t ResourceTable::Entry::emptyBag(const SourcePos& sourcePos)
function status_t (line 3622) | status_t ResourceTable::Entry::generateAttributes(ResourceTable* table,
function status_t (line 3668) | status_t ResourceTable::Entry::assignResourceIds(ResourceTable* table,
function status_t (line 3716) | status_t ResourceTable::Entry::prepareFlatten(StringPool* strings, Resou...
function status_t (line 3749) | status_t ResourceTable::Entry::remapStringValue(StringPool* strings)
function status_t (line 3880) | status_t ResourceTable::Type::addMapping(const SourcePos& sourcePos,
function status_t (line 3930) | status_t ResourceTable::Type::addPublic(const SourcePos& sourcePos,
function status_t (line 4094) | status_t ResourceTable::Type::applyMappingEntryOrder()
function status_t (line 4200) | status_t ResourceTable::Type::applyPublicEntryOrder()
function status_t (line 4308) | status_t ResourceTable::Package::setTypeStrings(const sp<AaptFile>& data)
function status_t (line 4322) | status_t ResourceTable::Package::setKeyStrings(const sp<AaptFile>& data)
function status_t (line 4336) | status_t ResourceTable::Package::setStrings(const sp<AaptFile>& data,
function status_t (line 4358) | status_t ResourceTable::Package::applyPublicTypeOrder()
function NOISY (line 4588) | NOISY(
function isMinSdkVersionLOrAbove (line 4622) | static bool isMinSdkVersionLOrAbove(const Bundle* bundle) {
function status_t (line 4680) | status_t ResourceTable::modifyForCompat(const Bundle* bundle) {
function status_t (line 4788) | status_t ResourceTable::modifyForCompat(const Bundle* bundle,
FILE: atlas-aapt-old/frameworks/base/tools/aapt/ResourceTable.h
type AccessorCookie (line 67) | struct AccessorCookie
function size (line 199) | size_t size() const;
function setCurrentXmlPos (line 280) | void setCurrentXmlPos(const SourcePos& pos) { mCurrentXmlPos = pos; }
function class (line 282) | class Item {
function class (line 319) | class Entry : public RefBase {
function class (line 396) | class ConfigList : public RefBase {
function class (line 436) | class Public {
function class (line 460) | class Type : public RefBase {
function setIndex (line 492) | void setIndex(int32_t index) { mIndex = index; }
function class (line 520) | class Package : public RefBase {
FILE: atlas-aapt-old/frameworks/base/tools/aapt/SourcePos.cpp
type ErrorPos (line 11) | struct ErrorPos
type Level (line 13) | enum Level {
function ErrorPos (line 55) | ErrorPos&
type Level (line 13) | enum Level {
FILE: atlas-aapt-old/frameworks/base/tools/aapt/SourcePos.h
function class (line 9) | class SourcePos
FILE: atlas-aapt-old/frameworks/base/tools/aapt/StringPool.cpp
function strcpy16_htod (line 24) | void strcpy16_htod(uint16_t* dst, const uint16_t* src)
function printStringPool (line 34) | void printStringPool(const ResStringPool* pool)
function String8 (line 68) | String8 StringPool::entry::makeConfigsString() const {
function status_t (line 190) | status_t StringPool::addStyleSpan(size_t idx, const String16& name,
function status_t (line 200) | status_t StringPool::addStyleSpans(size_t idx, const Vector<entry_style_...
function status_t (line 212) | status_t StringPool::addStyleSpan(size_t idx, const entry_style_span& span)
function status_t (line 371) | status_t StringPool::writeStringBlock(const sp<AaptFile>& pool)
FILE: atlas-aapt-old/frameworks/base/tools/aapt/StringPool.h
function class (line 38) | class StringPool
type entry_style_span (line 67) | struct entry_style_span {
type entry_style (line 72) | struct entry_style {
function mapOriginalPosToNewPos (line 114) | size_t mapOriginalPosToNewPos(size_t originalPos) const {
function namespace (line 176) | namespace android {
FILE: atlas-aapt-old/frameworks/base/tools/aapt/WorkQueue.cpp
type android (line 23) | namespace android {
function status_t (line 38) | status_t WorkQueue::schedule(WorkUnit* workUnit, size_t backlog) {
function status_t (line 68) | status_t WorkQueue::cancel() {
function status_t (line 74) | status_t WorkQueue::cancelLocked() {
function status_t (line 93) | status_t WorkQueue::finish() {
FILE: atlas-aapt-old/frameworks/base/tools/aapt/WorkQueue.h
function namespace (line 24) | namespace android {
FILE: atlas-aapt-old/frameworks/base/tools/aapt/XMLNode.cpp
function isWhitespace (line 40) | bool isWhitespace(const char16_t* str)
function String16 (line 53) | String16 getNamespaceResourcePackage(String16 appPackage, String16 names...
function status_t (line 79) | status_t hasSubstitutionErrors(const char* fileName,
function status_t (line 184) | status_t parseStyledString(Bundle* bundle,
type namespace_entry (line 410) | struct namespace_entry {
function String8 (line 415) | static String8 make_prefix(int depth)
function String8 (line 425) | static String8 build_namespace(const Vector<namespace_entry>& namespaces,
function printXMLBlock (line 444) | void printXMLBlock(ResXMLTree* block)
function status_t (line 551) | status_t parseXMLResource(const sp<AaptFile>& file, ResXMLTree* outTree,
function String16 (line 664) | const String16& XMLNode::getNamespacePrefix() const
function String16 (line 669) | const String16& XMLNode::getNamespaceUri() const
function String16 (line 674) | const String16& XMLNode::getElementNamespace() const
function String16 (line 679) | const String16& XMLNode::getElementName() const
function String8 (line 689) | const String8& XMLNode::getFilename() const
function String16 (line 726) | const String16& XMLNode::getCData() const
function String16 (line 731) | const String16& XMLNode::getComment() const
function status_t (line 778) | status_t XMLNode::addChild(const sp<XMLNode>& child)
function status_t (line 789) | status_t XMLNode::insertChildAt(const sp<XMLNode>& child, size_t index)
function status_t (line 800) | status_t XMLNode::addAttribute(const String16& ns, const String16& name,
function status_t (line 820) | status_t XMLNode::removeAttribute(size_t index)
function status_t (line 863) | status_t XMLNode::appendChars(const String16& chars)
function status_t (line 873) | status_t XMLNode::appendComment(const String16& comment)
function status_t (line 950) | status_t XMLNode::parseValues(const sp<AaptAssets>& assets,
function status_t (line 997) | status_t XMLNode::assignResourceIds(const sp<AaptAssets>& assets,
function status_t (line 1079) | status_t XMLNode::flatten(const sp<AaptFile>& dest,
function splitName (line 1201) | static void splitName(const char* name, String16* outNs, String16* outName)
function status_t (line 1328) | status_t XMLNode::collect_strings(StringPool* dest, Vector<uint32_t>* ou...
function status_t (line 1383) | status_t XMLNode::collect_attr_strings(StringPool* outPool,
function status_t (line 1435) | status_t XMLNode::collect_resid_strings(StringPool* outPool,
function status_t (line 1449) | status_t XMLNode::flatten_node(const StringPool& strings, const sp<AaptF...
FILE: atlas-aapt-old/frameworks/base/tools/aapt/XMLNode.h
function class (line 37) | class XMLNode : public RefBase
function Vector (line 95) | const Vector<attribute_entry>& getAttributes() const;
type ParseState (line 148) | struct ParseState
FILE: atlas-aapt-old/frameworks/base/tools/aapt/ZipEntry.cpp
function status_t (line 39) | status_t ZipEntry::initFromCDE(FILE* fp)
function status_t (line 144) | status_t ZipEntry::initFromExternal(const ZipFile* pZipFile,
function status_t (line 198) | status_t ZipEntry::addPadding(int padding)
function time_t (line 338) | time_t ZipEntry::getModWhen(void) const
type tm (line 360) | struct tm
type tm (line 365) | struct tm
function status_t (line 402) | status_t ZipEntry::LocalFileHeader::read(FILE* fp)
function status_t (line 469) | status_t ZipEntry::LocalFileHeader::write(FILE* fp)
function status_t (line 536) | status_t ZipEntry::CentralDirEntry::read(FILE* fp)
function status_t (line 627) | status_t ZipEntry::CentralDirEntry::write(FILE* fp)
FILE: atlas-aapt-old/frameworks/base/tools/aapt/ZipEntry.h
function namespace (line 30) | namespace android {
FILE: atlas-aapt-old/frameworks/base/tools/aapt/ZipFile.cpp
function status_t (line 46) | static status_t errnoToStatus(int err)
function status_t (line 59) | status_t ZipFile::open(const char* zipFileName, int flags)
function ZipEntry (line 135) | ZipEntry* ZipFile::getEntryByIndex(int idx) const
function ZipEntry (line 146) | ZipEntry* ZipFile::getEntryByName(const char* fileName) const
function status_t (line 204) | status_t ZipFile::readCentralDir(void)
function status_t (line 358) | status_t ZipFile::addCommon(const char* fileName, const void* data, size...
function status_t (line 539) | status_t ZipFile::add(const ZipFile* pSourceZip, const ZipEntry* pSource...
function status_t (line 646) | status_t ZipFile::copyFpToFp(FILE* dstFp, FILE* srcFp, unsigned long* pC...
function status_t (line 676) | status_t ZipFile::copyDataToFp(FILE* dstFp,
function status_t (line 701) | status_t ZipFile::copyPartialFpToFp(FILE* dstFp, FILE* srcFp, long length,
function status_t (line 743) | status_t ZipFile::compressFpToFp(FILE* dstFp, FILE* srcFp,
function status_t (line 878) | status_t ZipFile::remove(ZipEntry* pEntry)
function status_t (line 897) | status_t ZipFile::flush(void)
function status_t (line 950) | status_t ZipFile::crunchArchive(void)
function status_t (line 1049) | status_t ZipFile::filemove(FILE* fp, off_t dst, off_t src, size_t n)
function time_t (line 1102) | time_t ZipFile::getModTime(int fd)
function status_t (line 1220) | status_t ZipFile::EndOfCentralDir::readBuf(const unsigned char* buf, int...
function status_t (line 1262) | status_t ZipFile::EndOfCentralDir::write(FILE* fp)
FILE: atlas-aapt-old/frameworks/base/tools/aapt/ZipFile.h
function namespace (line 30) | namespace android {
FILE: atlas-aapt-old/frameworks/base/tools/aapt/printapk.cpp
function usage (line 12) | static int
function main (line 24) | int
FILE: atlas-aapt-old/frameworks/base/tools/aapt/pseudolocalize.cpp
function is_possible_normal_placeholder_end (line 81) | static bool
function String16 (line 109) | String16
function String16 (line 136) | String16
function String16 (line 244) | String16
FILE: atlas-aapt-old/frameworks/base/tools/aapt/qsort_r_compat.c
function qsort_r_compat (line 32) | void qsort_r_compat(void* base, size_t nel, size_t width, void* thunk,
type compar_data (line 43) | struct compar_data {
function compar_wrapper (line 48) | static int compar_wrapper(const void* a, const void* b, void* data) {
function qsort_r_compat (line 53) | void qsort_r_compat(void* base, size_t nel, size_t width, void* thunk,
type compar_data (line 71) | struct compar_data {
function compar_wrapper (line 76) | static int compar_wrapper(const void* a, const void* b) {
function qsort_r_compat (line 81) | void qsort_r_compat(void* base, size_t nel, size_t width, void* thunk,
FILE: atlas-aapt-old/frameworks/base/tools/aapt/tests/AaptConfig_test.cpp
function TestParse (line 26) | static ::testing::AssertionResult TestParse(const String8& input, Config...
function TestParse (line 33) | static ::testing::AssertionResult TestParse(const char* input, ConfigDes...
function TEST (line 37) | TEST(AaptConfigTest, ParseFailWhenQualifiersAreOutOfOrder) {
function TEST (line 43) | TEST(AaptConfigTest, ParseFailWhenQualifiersAreNotMatched) {
function TEST (line 47) | TEST(AaptConfigTest, ParseFailWhenQualifiersHaveTrailingDash) {
function TEST (line 51) | TEST(AaptConfigTest, ParseBasicQualifiers) {
function TEST (line 65) | TEST(AaptConfigTest, ParseLocales) {
function TEST (line 71) | TEST(AaptConfigTest, ParseQualifierAddedInApi13) {
FILE: atlas-aapt-old/frameworks/base/tools/aapt/tests/AaptGroupEntry_test.cpp
function TestParse (line 26) | static ::testing::AssertionResult TestParse(AaptGroupEntry& entry, const...
function TestParse (line 34) | static ::testing::AssertionResult TestParse(AaptGroupEntry& entry, const...
function TEST (line 39) | TEST(AaptGroupEntryTest, ParseNoQualifier) {
function TEST (line 46) | TEST(AaptGroupEntryTest, ParseCorrectType) {
FILE: atlas-aapt-old/frameworks/base/tools/aapt/tests/CrunchCache_test.cpp
function expectEqual (line 18) | void expectEqual(int got, int expected, const char* desc) {
function main (line 25) | int main() {
FILE: atlas-aapt-old/frameworks/base/tools/aapt/tests/FileFinder_test.cpp
function main (line 23) | int main()
FILE: atlas-aapt-old/frameworks/base/tools/aapt/tests/MockCacheUpdater.h
function class (line 12) | class MockCacheUpdater : public CacheUpdater {
FILE: atlas-aapt-old/frameworks/base/tools/aapt/tests/MockDirectoryWalker.h
function class (line 22) | class StringDirectoryWalker : public DirectoryWalker {
FILE: atlas-aapt-old/frameworks/base/tools/aapt/tests/MockFileFinder.h
function class (line 16) | class MockFileFinder : public FileFinder {
FILE: atlas-aapt-old/frameworks/base/tools/aapt/tests/ResourceFilter_test.cpp
function TEST (line 30) | TEST(WeakResourceFilterTest, EmptyFilterMatchesAnything) {
function TEST (line 45) | TEST(WeakResourceFilterTest, MatchesConfigWithUnrelatedAxis) {
function TEST (line 55) | TEST(WeakResourceFilterTest, MatchesConfigWithSameValueAxis) {
function TEST (line 66) | TEST(WeakResourceFilterTest, MatchesConfigWithSameValueAxisAndOtherUnrel...
function TEST (line 78) | TEST(WeakResourceFilterTest, MatchesConfigWithOneMatchingAxis) {
function TEST (line 89) | TEST(WeakResourceFilterTest, DoesNotMatchConfigWithDifferentValueAxis) {
function TEST (line 100) | TEST(WeakResourceFilterTest, DoesNotMatchWhenOneQualifierIsExplicitlyNot...
function TEST (line 113) | TEST(WeakResourceFilterTest, MatchesSmallestWidthWhenSmaller) {
function TEST (line 126) | TEST(WeakResourceFilterTest, MatchesConfigWithSameLanguageButNoRegionSpe...
function TEST (line 137) | TEST(WeakResourceFilterTest, ParsesStandardLocaleOnlyString) {
function TEST (line 142) | TEST(WeakResourceFilterTest, IgnoresVersion) {
function TEST (line 154) | TEST(WeakResourceFilterTest, MatchesConfigWithRegion) {
function TEST (line 166) | TEST(StrongResourceFilterTest, MatchesDensities) {
function TEST (line 181) | TEST(StrongResourceFilterTest, MatchOnlyMdpiAndExcludeAllOthers) {
FILE: atlas-aapt-old/frameworks/base/tools/aapt/tests/TestHelper.h
function namespace (line 22) | namespace android {
FILE: atlas-aapt/bionic/libc/include/android/dlext.h
type android_namespace_t (line 119) | struct android_namespace_t
type android_dlextinfo (line 121) | typedef struct {
FILE: atlas-aapt/bionic/libc/include/android/legacy_signal_inlines.h
function sigismember (line 39) | static __inline int sigismember(sigset_t *set, int signum) {
function sigaddset (line 50) | static __inline int sigaddset(sigset_t *set, int signum) {
function sigdelset (line 62) | static __inline int sigdelset(sigset_t *set, int signum) {
function sigemptyset (line 74) | static __inline int sigemptyset(sigset_t *set) {
function sigfillset (line 83) | static __inline int sigfillset(sigset_t *set) {
function sighandler_t (line 92) | static __inline sighandler_t signal(int s, sighandler_t f) {
FILE: atlas-aapt/bionic/libc/include/android/legacy_stdlib_inlines.h
function __BEGIN_DECLS (line 34) | __BEGIN_DECLS
function atof (line 40) | static __inline double atof(const char *nptr) { return (strtod(nptr, NUL...
function abs (line 42) | static __inline int abs(int __n) { return (__n < 0) ? -__n : __n; }
function labs (line 44) | static __inline long labs(long __n) { return (__n < 0L) ? -__n : __n; }
function llabs (line 46) | static __inline long long llabs(long long __n) {
function rand (line 50) | static __inline int rand(void) { return (int)lrand48(); }
function srand (line 52) | static __inline void srand(unsigned int __s) { srand48(__s); }
function random (line 54) | static __inline long random(void) { return lrand48(); }
function srandom (line 56) | static __inline void srandom(unsigned int __s) { srand48(__s); }
function grantpt (line 58) | static __inline int grantpt(int __fd __attribute((unused))) {
FILE: atlas-aapt/bionic/libc/include/android/legacy_sys_atomics_inlines.h
function __ATOMIC_INLINE__ (line 49) | __ATOMIC_INLINE__ int __atomic_cmpxchg(int old, int _new, volatile int *...
function __ATOMIC_INLINE__ (line 54) | __ATOMIC_INLINE__ int __atomic_swap(int _new, volatile int *ptr) {
function __ATOMIC_INLINE__ (line 62) | __ATOMIC_INLINE__ int __atomic_dec(volatile int *ptr) {
function __ATOMIC_INLINE__ (line 66) | __ATOMIC_INLINE__ int __atomic_inc(volatile int *ptr) {
FILE: atlas-aapt/bionic/libc/include/android/legacy_sys_stat_inlines.h
function __BEGIN_DECLS (line 34) | __BEGIN_DECLS
FILE: atlas-aapt/bionic/libc/include/android/legacy_termios_inlines.h
function __BEGIN_DECLS (line 37) | __BEGIN_DECLS
function tcsetattr (line 43) | static __inline int tcsetattr(int fd, int __opt, const struct termios *s) {
function tcflow (line 47) | static __inline int tcflow(int fd, int action) {
function tcflush (line 51) | static __inline int tcflush(int fd, int __queue) {
function pid_t (line 55) | static __inline pid_t tcgetsid(int fd) {
function tcsendbreak (line 60) | static __inline int tcsendbreak(int fd, int __duration) {
function speed_t (line 64) | static __inline speed_t cfgetospeed(const struct termios *s) {
function cfsetospeed (line 68) | static __inline int cfsetospeed(struct termios *s, speed_t speed) {
function speed_t (line 73) | static __inline speed_t cfgetispeed(const struct termios *s) {
function cfsetispeed (line 77) | static __inline int cfsetispeed(struct termios *s, speed_t speed) {
function cfmakeraw (line 82) | static __inline void cfmakeraw(struct termios *s) {
FILE: atlas-aapt/bionic/libc/include/ar.h
type ar_hdr (line 55) | struct ar_hdr {
FILE: atlas-aapt/bionic/libc/include/arpa/inet.h
type in_addr (line 39) | struct in_addr
type in_addr (line 40) | struct in_addr
type in_addr (line 41) | struct in_addr
type in_addr (line 42) | struct in_addr
type in_addr (line 44) | struct in_addr
FILE: atlas-aapt/bionic/libc/include/arpa/nameser.h
type ns_sect (line 97) | typedef enum __ns_sect {
type u_char (line 112) | typedef u_char ns_nname[NS_MAXNNAME];
type u_char (line 113) | typedef const u_char *ns_nname_ct;
type u_char (line 114) | typedef u_char *ns_nname_t;
type ns_namemap (line 116) | struct ns_namemap { ns_nname_ct base; int len; }
type ns_namemap (line 117) | struct ns_namemap
type ns_namemap (line 118) | struct ns_namemap
type ns_msg (line 125) | typedef struct __ns_msg {
type ns_newmsg (line 137) | struct ns_newmsg {
type ns_newmsg (line 142) | typedef struct ns_newmsg ns_newmsg;
type _ns_flagdata (line 145) | struct _ns_flagdata { int mask, shift; }
type _ns_flagdata (line 146) | struct _ns_flagdata
type ns_rr (line 159) | typedef struct __ns_rr {
type ns_rr2 (line 171) | typedef struct __ns_rr2 {
type ns_flag (line 195) | typedef enum __ns_flag {
type ns_opcode (line 212) | typedef enum __ns_opcode {
type ns_rcode (line 225) | typedef enum __ns_rcode {
type ns_update_operation (line 248) | typedef enum __ns_update_operation {
type ns_tsig_key (line 257) | struct ns_tsig_key {
type ns_tsig_key (line 262) | typedef struct ns_tsig_key ns_tsig_key;
type ns_tcp_tsig_state (line 267) | struct ns_tcp_tsig_state {
type ns_tcp_tsig_state (line 274) | typedef struct ns_tcp_tsig_state ns_tcp_tsig_state;
type ns_type (line 287) | typedef enum __ns_type {
type ns_class (line 368) | typedef enum __ns_class {
type ns_key_types (line 382) | typedef enum __ns_key_types {
type ns_cert_types (line 389) | typedef enum __ns_cert_types {
FILE: atlas-aapt/bionic/libc/include/arpa/nameser_compat.h
type HEADER (line 54) | typedef struct {
FILE: atlas-aapt/bionic/libc/include/bits/pthread_types.h
type pthread_t (line 34) | typedef long pthread_t;
type pthread_attr_t (line 36) | typedef struct {
FILE: atlas-aapt/bionic/libc/include/bits/timespec.h
type timespec (line 40) | struct timespec {
FILE: atlas-aapt/bionic/libc/include/dirent.h
type dirent (line 73) | struct dirent
type dirent64 (line 74) | struct dirent64
type dirent (line 75) | struct dirent
type dirent (line 75) | struct dirent
type dirent64 (line 76) | struct dirent64
type dirent64 (line 76) | struct dirent64
type dirent (line 82) | struct dirent
type dirent (line 82) | struct dirent
type dirent64 (line 83) | struct dirent64
type dirent64 (line 83) | struct dirent64
type dirent64 (line 84) | struct dirent64
type dirent64 (line 84) | struct dirent64
type dirent64 (line 84) | struct dirent64
type dirent64 (line 84) | struct dirent64
type dirent (line 85) | struct dirent
type dirent (line 85) | struct dirent
type dirent (line 85) | struct dirent
type dirent (line 85) | struct dirent
type dirent64 (line 88) | struct dirent64
type dirent64 (line 88) | struct dirent64
type dirent64 (line 88) | struct dirent64
type dirent64 (line 88) | struct dirent64
type dirent (line 89) | struct dirent
type dirent (line 89) | struct dirent
type dirent (line 89) | struct dirent
type dirent (line 89) | struct dirent
FILE: atlas-aapt/bionic/libc/include/dlfcn.h
function __BEGIN_DECLS (line 33) | __BEGIN_DECLS
FILE: atlas-aapt/bionic/libc/include/elf.h
type __s64 (line 40) | typedef __s64 Elf32_Sxword;
type Elf32_auxv_t (line 42) | typedef struct {
type Elf64_auxv_t (line 49) | typedef struct {
type Elf32_Half (line 56) | typedef Elf32_Half Elf32_Versym;
type Elf64_Half (line 57) | typedef Elf64_Half Elf64_Versym;
type Elf32_Verdef (line 59) | typedef struct {
type Elf32_Verdaux (line 69) | typedef struct {
type Elf64_Verdef (line 74) | typedef struct {
type Elf64_Verdaux (line 84) | typedef struct {
type Elf32_Verneed (line 89) | typedef struct {
type Elf32_Vernaux (line 97) | typedef struct {
type Elf64_Verneed (line 105) | typedef struct {
type Elf64_Vernaux (line 113) | typedef struct {
FILE: atlas-aapt/bionic/libc/include/fcntl.h
type iovec (line 74) | struct iovec
function __BIONIC_FORTIFY_INLINE (line 100) | __BIONIC_FORTIFY_INLINE
function __BIONIC_FORTIFY_INLINE (line 119) | __BIONIC_FORTIFY_INLINE
FILE: atlas-aapt/bionic/libc/include/fts.h
type FTS (line 40) | typedef struct {
type FTSENT (line 65) | typedef struct _ftsent {
FILE: atlas-aapt/bionic/libc/include/ftw.h
type FTW (line 51) | struct FTW {
type stat (line 57) | struct stat
type stat (line 58) | struct stat
type FTW (line 59) | struct FTW
type stat64 (line 60) | struct stat64
type stat64 (line 61) | struct stat64
type FTW (line 62) | struct FTW
FILE: atlas-aapt/bionic/libc/include/getopt.h
type option (line 46) | struct option {
type option (line 62) | struct option
type option (line 64) | struct option
FILE: atlas-aapt/bionic/libc/include/grp.h
type group (line 46) | struct group {
type group (line 55) | struct group
type group (line 57) | struct group
type group (line 60) | struct group
type group (line 61) | struct group
type group (line 62) | struct group
type group (line 63) | struct group
FILE: atlas-aapt/bionic/libc/include/ifaddrs.h
function __BEGIN_DECLS (line 36) | __BEGIN_DECLS
type ifaddrs (line 54) | struct ifaddrs
type ifaddrs (line 55) | struct ifaddrs
FILE: atlas-aapt/bionic/libc/include/inttypes.h
type imaxdiv_t (line 251) | typedef struct {
FILE: atlas-aapt/bionic/libc/include/link.h
type dl_phdr_info (line 42) | struct dl_phdr_info {
type dl_phdr_info (line 49) | struct dl_phdr_info
type link_map (line 57) | struct link_map {
type r_debug (line 66) | struct r_debug {
FILE: atlas-aapt/bionic/libc/include/locale.h
type lconv (line 68) | struct lconv {
type lconv (line 95) | struct lconv
FILE: atlas-aapt/bionic/libc/include/machine/ieee.h
type ieee_single (line 61) | struct ieee_single {
type ieee_double (line 75) | struct ieee_double {
type ieee_ext (line 105) | struct ieee_ext {
FILE: atlas-aapt/bionic/libc/include/malloc.h
type mallinfo (line 36) | struct mallinfo {
type mallinfo (line 50) | struct mallinfo
FILE: atlas-aapt/bionic/libc/include/mntent.h
type mntent (line 38) | struct mntent {
type mntent (line 50) | struct mntent
type mntent (line 51) | struct mntent
type mntent (line 51) | struct mntent
FILE: atlas-aapt/bionic/libc/include/net/if.h
function __BEGIN_DECLS (line 40) | __BEGIN_DECLS
type if_nameindex (line 49) | struct if_nameindex
type if_nameindex (line 50) | struct if_nameindex
FILE: atlas-aapt/bionic/libc/include/net/if_ether.h
type ether_addr (line 66) | struct ether_addr {
type ether_header (line 73) | struct ether_header {
type ifnet (line 155) | struct ifnet
type ifreq (line 156) | struct ifreq
type ethercom (line 156) | struct ethercom
type ifreq (line 157) | struct ifreq
type ethercom (line 157) | struct ethercom
type ifreq (line 158) | struct ifreq
type ethercom (line 158) | struct ethercom
type sockaddr (line 159) | struct sockaddr
type ifnet (line 192) | struct ifnet
type ifnet (line 193) | struct ifnet
type ether_addr (line 208) | struct ether_addr
type ether_addr (line 209) | struct ether_addr
type ether_addr (line 211) | struct ether_addr
type ether_addr (line 212) | struct ether_addr
type ether_addr (line 213) | struct ether_addr
FILE: atlas-aapt/bionic/libc/include/net/if_ieee1394.h
type ieee1394_hwaddr (line 43) | struct ieee1394_hwaddr {
type ieee1394_bpfhdr (line 53) | struct ieee1394_bpfhdr {
type ieee1394_header (line 62) | struct ieee1394_header {
type ieee1394_unfraghdr (line 70) | struct ieee1394_unfraghdr {
type ieee1394_fraghdr (line 76) | struct ieee1394_fraghdr {
type ieee1394_reass_pkt (line 93) | struct ieee1394_reass_pkt {
type ieee1394_reassq (line 104) | struct ieee1394_reassq {
type ieee1394com (line 110) | struct ieee1394com {
type ifnet (line 118) | struct ifnet
type mbuf (line 118) | struct mbuf
type ifnet (line 119) | struct ifnet
type ieee1394_hwaddr (line 119) | struct ieee1394_hwaddr
type ifnet (line 120) | struct ifnet
type ifnet (line 121) | struct ifnet
type mbuf (line 122) | struct mbuf
type ifnet (line 122) | struct ifnet
type mbuf (line 122) | struct mbuf
type ifnet (line 123) | struct ifnet
type ifnet (line 124) | struct ifnet
FILE: atlas-aapt/bionic/libc/include/netdb.h
type hostent (line 81) | struct hostent {
type netent (line 90) | struct netent {
type servent (line 97) | struct servent {
type protoent (line 104) | struct protoent {
type addrinfo (line 110) | struct addrinfo {
type hostent (line 207) | struct hostent
type hostent (line 208) | struct hostent
type hostent (line 209) | struct hostent
type hostent (line 209) | struct hostent
type hostent (line 210) | struct hostent
type hostent (line 211) | struct hostent
type hostent (line 211) | struct hostent
type hostent (line 212) | struct hostent
type hostent (line 213) | struct hostent
type hostent (line 213) | struct hostent
type hostent (line 214) | struct hostent
type hostent (line 215) | struct hostent
type hostent (line 215) | struct hostent
type hostent (line 216) | struct hostent
type hostent (line 217) | struct hostent
type netent (line 218) | struct netent
type netent (line 219) | struct netent
type netent (line 219) | struct netent
type netent (line 220) | struct netent
type netent (line 221) | struct netent
type netent (line 221) | struct netent
type netent (line 222) | struct netent
type netent (line 223) | struct netent
type netent (line 223) | struct netent
type protoent (line 225) | struct protoent
type protoent (line 226) | struct protoent
type protoent (line 226) | struct protoent
type protoent (line 227) | struct protoent
type protoent (line 228) | struct protoent
type protoent (line 228) | struct protoent
type protoent (line 229) | struct protoent
type protoent (line 230) | struct protoent
type protoent (line 230) | struct protoent
type servent (line 231) | struct servent
type servent (line 232) | struct servent
type servent (line 233) | struct servent
type addrinfo (line 240) | struct addrinfo
type addrinfo (line 240) | struct addrinfo
type sockaddr (line 241) | struct sockaddr
type addrinfo (line 242) | struct addrinfo
FILE: atlas-aapt/bionic/libc/include/netinet/icmp6.h
type icmp6_hdr (line 73) | struct icmp6_hdr {
type mld_hdr (line 183) | struct mld_hdr {
type nd_router_solicit (line 212) | struct nd_router_solicit { /* router solicitation */
type nd_router_advert (line 222) | struct nd_router_advert { /* router advertisement */
type nd_neighbor_solicit (line 250) | struct nd_neighbor_solicit { /* neighbor solicitation */
type nd_neighbor_advert (line 261) | struct nd_neighbor_advert { /* neighbor advertisement */
type nd_redirect (line 283) | struct nd_redirect { /* redirect */
type nd_opt_hdr (line 295) | struct nd_opt_hdr { /* Neighbor discovery option header */
type nd_opt_route_info (line 315) | struct nd_opt_route_info { /* route info */
type nd_opt_prefix_info (line 324) | struct nd_opt_prefix_info { /* prefix information */
type nd_opt_rd_hdr (line 338) | struct nd_opt_rd_hdr { /* redirected header */
type nd_opt_mtu (line 346) | struct nd_opt_mtu { /* MTU option */
type nd_opt_rdnss (line 353) | struct nd_opt_rdnss { /* RDNSS option RFC 6106 */
type nd_opt_dnssl (line 361) | struct nd_opt_dnssl { /* DNSSL option RFC 6106 */
type icmp6_namelookup (line 373) | struct icmp6_namelookup {
type icmp6_nodeinfo (line 387) | struct icmp6_nodeinfo {
type ni_reply_fqdn (line 454) | struct ni_reply_fqdn {
type icmp6_router_renum (line 463) | struct icmp6_router_renum { /* router renumbering header */
type rr_pco_match (line 482) | struct rr_pco_match { /* match prefix part */
type rr_pco_use (line 498) | struct rr_pco_use { /* use prefix part */
type rr_result (line 519) | struct rr_result { /* router renumbering result message */
type icmp6_filter (line 538) | struct icmp6_filter {
type rtentry (line 673) | struct rtentry
type rttimer (line 674) | struct rttimer
type in6_multi (line 675) | struct in6_multi
type mbuf (line 678) | struct mbuf
type mbuf (line 679) | struct mbuf
type mbuf (line 680) | struct mbuf
type ifnet (line 680) | struct ifnet
type mbuf (line 681) | struct mbuf
type mbuf (line 683) | struct mbuf
type mbuf (line 684) | struct mbuf
type mbuf (line 685) | struct mbuf
type mbuf (line 686) | struct mbuf
type rtentry (line 686) | struct rtentry
type ip6ctlparam (line 691) | struct ip6ctlparam
type ip6ctlparam (line 692) | struct ip6ctlparam
type in6_addr (line 693) | struct in6_addr
FILE: atlas-aapt/bionic/libc/include/netinet/in.h
type in_port_t (line 47) | typedef uint16_t in_port_t;
type in_addr_t (line 48) | typedef uint32_t in_addr_t;
type sockaddr_in (line 50) | struct sockaddr_in
type in6_addr (line 52) | struct in6_addr
type in6_addr (line 53) | struct in6_addr
FILE: atlas-aapt/bionic/libc/include/netinet/in_systm.h
type u_int16_t (line 50) | typedef u_int16_t n_short;
type u_int32_t (line 51) | typedef u_int32_t n_long;
type u_int32_t (line 53) | typedef u_int32_t n_time;
FILE: atlas-aapt/bionic/libc/include/netinet/ip.h
type ip (line 55) | struct ip {
type ip_timestamp (line 148) | struct ip_timestamp {
type ippseudo (line 198) | struct ippseudo {
type iphdr (line 231) | struct iphdr {
type ip_auth_hdr (line 252) | struct ip_auth_hdr {
type ip_esp_hdr (line 261) | struct ip_esp_hdr {
type ip_comp_hdr (line 267) | struct ip_comp_hdr {
FILE: atlas-aapt/bionic/libc/include/netinet/ip6.h
type ip6_hdr (line 72) | struct ip6_hdr {
type ip6_hdr_pseudo (line 116) | struct ip6_hdr_pseudo {
type ip6_ext (line 129) | struct ip6_ext {
type ip6_hbh (line 136) | struct ip6_hbh {
type ip6_dest (line 144) | struct ip6_dest {
type ip6_opt (line 174) | struct ip6_opt {
type ip6_opt_jumbo (line 180) | struct ip6_opt_jumbo {
type ip6_opt_nsap (line 188) | struct ip6_opt_nsap {
type ip6_opt_tunnel (line 198) | struct ip6_opt_tunnel {
type ip6_opt_router (line 205) | struct ip6_opt_router {
type ip6_rthdr (line 224) | struct ip6_rthdr {
type ip6_rthdr0 (line 233) | struct ip6_rthdr0 {
type ip6_frag (line 242) | struct ip6_frag {
FILE: atlas-aapt/bionic/libc/include/netinet/ip_icmp.h
function __BEGIN_DECLS (line 41) | __BEGIN_DECLS
type icmp (line 66) | struct icmp {
FILE: atlas-aapt/bionic/libc/include/netinet/udp.h
type udphdr (line 36) | struct udphdr {
FILE: atlas-aapt/bionic/libc/include/nsswitch.h
type ns_dtab (line 110) | typedef struct {
type ns_src (line 140) | typedef struct {
type ns_mtab (line 165) | typedef struct {
type ns_mtab (line 179) | typedef ns_mtab *(*nss_module_register_fn)(const char *, u_int *,
type ns_dbt (line 193) | typedef struct {
type ns_mod (line 202) | typedef struct {
FILE: atlas-aapt/bionic/libc/include/poll.h
type pollfd (line 41) | struct pollfd
type pollfd (line 42) | struct pollfd
type timespec (line 42) | struct timespec
type pollfd (line 44) | struct pollfd
type pollfd (line 45) | struct pollfd
type pollfd (line 48) | struct pollfd
type timespec (line 48) | struct timespec
type pollfd (line 49) | struct pollfd
type timespec (line 49) | struct timespec
function __BIONIC_FORTIFY_INLINE (line 54) | __BIONIC_FORTIFY_INLINE
function __BIONIC_FORTIFY_INLINE (line 70) | __BIONIC_FORTIFY_INLINE
FILE: atlas-aapt/bionic/libc/include/pthread.h
type pthread_mutex_t (line 39) | typedef struct {
type pthread_mutexattr_t (line 47) | typedef long pthread_mutexattr_t;
type pthread_cond_t (line 64) | typedef struct {
type pthread_condattr_t (line 72) | typedef long pthread_condattr_t;
type pthread_rwlock_t (line 76) | typedef struct {
type pthread_rwlockattr_t (line 84) | typedef long pthread_rwlockattr_t;
type pthread_key_t (line 93) | typedef int pthread_key_t;
type pthread_once_t (line 95) | typedef int pthread_once_t;
type pthread_barrier_t (line 99) | typedef struct {
type pthread_barrierattr_t (line 107) | typedef int pthread_barrierattr_t;
type pthread_spinlock_t (line 111) | typedef struct {
type sched_param (line 141) | struct sched_param
type sched_param (line 149) | struct sched_param
type timespec (line 166) | struct timespec
type sched_param (line 179) | struct sched_param
type timespec (line 204) | struct timespec
type timespec (line 224) | struct timespec
type timespec (line 225) | struct timespec
type sched_param (line 250) | struct sched_param
type __pthread_cleanup_t (line 256) | typedef struct __pthread_cleanup_t {
type timespec (line 286) | struct timespec
type timespec (line 287) | struct timespec
type timespec (line 289) | struct timespec
FILE: atlas-aapt/bionic/libc/include/pty.h
type termios (line 39) | struct termios
type winsize (line 39) | struct winsize
type termios (line 40) | struct termios
type winsize (line 40) | struct winsize
FILE: atlas-aapt/bionic/libc/include/pwd.h
type passwd (line 101) | struct passwd
type passwd (line 120) | struct passwd
type passwd (line 122) | struct passwd
type passwd (line 122) | struct passwd
type passwd (line 123) | struct passwd
type passwd (line 123) | struct passwd
FILE: atlas-aapt/bionic/libc/include/regex.h
type regoff_t (line 47) | typedef ssize_t regoff_t;
type regex_t (line 49) | typedef struct {
type regmatch_t (line 56) | typedef struct {
FILE: atlas-aapt/bionic/libc/include/resolv.h
type res_state (line 42) | struct res_state
type __res_state (line 44) | struct __res_state
FILE: atlas-aapt/bionic/libc/include/sched.h
type sched_param (line 40) | struct sched_param {
type sched_param (line 44) | struct sched_param
type sched_param (line 49) | struct sched_param
type sched_param (line 50) | struct sched_param
type timespec (line 51) | struct timespec
type cpu_set_t (line 71) | typedef struct {
FILE: atlas-aapt/bionic/libc/include/search.h
type VISIT (line 15) | typedef enum {
type node_t (line 23) | typedef struct node {
FILE: atlas-aapt/bionic/libc/include/semaphore.h
type sem_t (line 38) | typedef struct {
type timespec (line 51) | struct timespec
FILE: atlas-aapt/bionic/libc/include/sgtty.h
type sgttyb (line 44) | struct sgttyb
type sgttyb (line 45) | struct sgttyb
FILE: atlas-aapt/bionic/libc/include/signal.h
type __sighandler_t (line 76) | typedef __sighandler_t sig_t;
type __sighandler_t (line 77) | typedef __sighandler_t sighandler_t;
type sigaction (line 83) | struct sigaction {
type sigaction (line 95) | struct sigaction {
type sigaction (line 106) | struct sigaction
type sigaction (line 106) | struct sigaction
type timespec (line 136) | struct timespec
FILE: atlas-aapt/bionic/libc/include/stdatomic.h
type memory_order (line 284) | typedef enum {
function atomic_thread_fence (line 297) | static __inline void
function atomic_signal_fence (line 310) | static __inline void
type atomic_bool (line 354) | typedef _Atomic(bool) atomic_bool;
type atomic_char (line 355) | typedef _Atomic(char) atomic_char;
type atomic_schar (line 356) | typedef _Atomic(signed char) atomic_schar;
type atomic_uchar (line 357) | typedef _Atomic(unsigned char) atomic_uchar;
type atomic_short (line 358) | typedef _Atomic(short) atomic_short;
type atomic_ushort (line 359) | typedef _Atomic(unsigned short) atomic_ushort;
type atomic_int (line 360) | typedef _Atomic(int) atomic_int;
type atomic_uint (line 361) | typedef _Atomic(unsigned int) atomic_uint;
type atomic_long (line 362) | typedef _Atomic(long) atomic_long;
type atomic_ulong (line 363) | typedef _Atomic(unsigned long) atomic_ulong;
type atomic_llong (line 364) | typedef _Atomic(long long) atomic_llong;
type atomic_ullong (line 365) | typedef _Atomic(unsigned long long) atomic_ullong;
type atomic_char16_t (line 367) | typedef _Atomic(char16_t) atomic_char16_t;
type atomic_char32_t (line 368) | typedef _Atomic(char32_t) atomic_char32_t;
type atomic_wchar_t (line 370) | typedef _Atomic(wchar_t) atomic_wchar_t;
type atomic_int_least8_t (line 371) | typedef _Atomic(int_least8_t) atomic_int_least8_t;
type atomic_uint_least8_t (line 372) | typedef _Atomic(uint_least8_t) atomic_uint_least8_t;
type atomic_int_least16_t (line 373) | typedef _Atomic(int_least16_t) atomic_int_least16_t;
type atomic_uint_least16_t (line 374) | typedef _Atomic(uint_least16_t) atomic_uint_least16_t;
type atomic_int_least32_t (line 375) | typedef _Atomic(int_least32_t) atomic_int_least32_t;
type atomic_uint_least32_t (line 376) | typedef _Atomic(uint_least32_t) atomic_uint_least32_t;
type atomic_int_least64_t (line 377) | typedef _Atomic(int_least64_t) atomic_int_least64_t;
type atomic_uint_least64_t (line 378) | typedef _Atomic(uint_least64_t) atomic_uint_least64_t;
type atomic_int_fast8_t (line 379) | typedef _Atomic(int_fast8_t) atomic_int_fast8_t;
type atomic_uint_fast8_t (line 380) | typedef _Atomic(uint_fast8_t) atomic_uint_fast8_t;
type atomic_int_fast16_t (line 381) | typedef _Atomic(int_fast16_t) atomic_int_fast16_t;
type atomic_uint_fast16_t (line 382) | typedef _Atomic(uint_fast16_t) atomic_uint_fast16_t;
type atomic_int_fast32_t (line 383) | typedef _Atomic(int_fast32_t) atomic_int_fast32_t;
type atomic_uint_fast32_t (line 384) | typedef _Atomic(uint_fast32_t) atomic_uint_fast32_t;
type atomic_int_fast64_t (line 385) | typedef _Atomic(int_fast64_t) atomic_int_fast64_t;
type atomic_uint_fast64_t (line 386) | typedef _Atomic(uint_fast64_t) atomic_uint_fast64_t;
type atomic_intptr_t (line 387) | typedef _Atomic(intptr_t) atomic_intptr_t;
type atomic_uintptr_t (line 388) | typedef _Atomic(uintptr_t) atomic_uintptr_t;
type atomic_size_t (line 389) | typedef _Atomic(size_t) atomic_size_t;
type atomic_ptrdiff_t (line 390) | typedef _Atomic(ptrdiff_t) atomic_ptrdiff_t;
type atomic_intmax_t (line 391) | typedef _Atomic(intmax_t) atomic_intmax_t;
type atomic_uintmax_t (line 392) | typedef _Atomic(uintmax_t) atomic_uintmax_t;
type atomic_flag (line 543) | typedef struct {
function atomic_flag_test_and_set_explicit (line 549) | static __inline bool
function atomic_flag_clear_explicit (line 556) | static __inline void
function atomic_flag_test_and_set (line 564) | static __inline bool
function atomic_flag_clear (line 572) | static __inline void
FILE: atlas-aapt/bionic/libc/include/stdint.h
type __signed (line 35) | typedef __signed char __int8_t;
type __uint8_t (line 36) | typedef unsigned char __uint8_t;
type __int16_t (line 37) | typedef short __int16_t;
type __uint16_t (line 38) | typedef unsigned short __uint16_t;
type __int32_t (line 39) | typedef int __int32_t;
type __uint32_t (line 40) | typedef unsigned int __uint32_t;
type __int64_t (line 42) | typedef long __int64_t;
type __uint64_t (line 43) | typedef unsigned long __uint64_t;
type __int64_t (line 45) | typedef long long __int64_t;
type __uint64_t (line 46) | typedef unsigned long long __uint64_t;
type __intptr_t (line 50) | typedef long __intptr_t;
type __uintptr_t (line 51) | typedef unsigned long __uintptr_t;
type __intptr_t (line 53) | typedef int __intptr_t;
type __uintptr_t (line 54) | typedef unsigned int __uintptr_t;
type __int8_t (line 57) | typedef __int8_t int8_t;
type __uint8_t (line 58) | typedef __uint8_t uint8_t;
type __int16_t (line 60) | typedef __int16_t int16_t;
type __uint16_t (line 61) | typedef __uint16_t uint16_t;
type __int32_t (line 63) | typedef __int32_t int32_t;
type __uint32_t (line 64) | typedef __uint32_t uint32_t;
type __int64_t (line 66) | typedef __int64_t int64_t;
type __uint64_t (line 67) | typedef __uint64_t uint64_t;
type __intptr_t (line 69) | typedef __intptr_t intptr_t;
type __uintptr_t (line 70) | typedef __uintptr_t uintptr_t;
type int_least8_t (line 72) | typedef int8_t int_least8_t;
type uint_least8_t (line 73) | typedef uint8_t uint_least8_t;
type int_least16_t (line 75) | typedef int16_t int_least16_t;
type uint_least16_t (line 76) | typedef uint16_t uint_least16_t;
type int_least32_t (line 78) | typedef int32_t int_least32_t;
type uint_least32_t (line 79) | typedef uint32_t uint_least32_t;
type int_least64_t (line 81) | typedef int64_t int_least64_t;
type uint_least64_t (line 82) | typedef uint64_t uint_least64_t;
type int_fast8_t (line 84) | typedef int8_t int_fast8_t;
type uint_fast8_t (line 85) | typedef uint8_t uint_fast8_t;
type int_fast64_t (line 87) | typedef int64_t int_fast64_t;
type uint_fast64_t (line 88) | typedef uint64_t uint_fast64_t;
type int_fast16_t (line 91) | typedef int64_t int_fast16_t;
type uint_fast16_t (line 92) | typedef uint64_t uint_fast16_t;
type int_fast32_t (line 93) | typedef int64_t int_fast32_t;
type uint_fast32_t (line 94) | typedef uint64_t uint_fast32_t;
type int_fast16_t (line 96) | typedef int32_t int_fast16_t;
type uint_fast16_t (line 97) | typedef uint32_t uint_fast16_t;
type int_fast32_t (line 98) | typedef int32_t int_fast32_t;
type uint_fast32_t (line 99) | typedef uint32_t uint_fast32_t;
type uintmax_t (line 102) | typedef uint64_t uintmax_t;
type intmax_t (line 103) | typedef int64_t intmax_t;
FILE: atlas-aapt/bionic/libc/include/stdio.h
type off64_t (line 53) | typedef off64_t fpos64_t;
type __sFILE (line 55) | struct __sFILE
type FILE (line 56) | typedef struct __sFILE FILE;
function __BIONIC_FORTIFY_INLINE (line 347) | __BIONIC_FORTIFY_INLINE
function __BIONIC_FORTIFY_INLINE (line 373) | __BIONIC_FORTIFY_INLINE
function __BIONIC_FORTIFY_INLINE (line 401) | __BIONIC_FORTIFY_INLINE
FILE: atlas-aapt/bionic/libc/include/stdlib.h
type div_t (line 138) | typedef struct {
type ldiv_t (line 145) | typedef struct {
type lldiv_t (line 152) | typedef struct {
function __BIONIC_FORTIFY_INLINE (line 185) | __BIONIC_FORTIFY_INLINE
FILE: atlas-aapt/bionic/libc/include/string.h
function __BIONIC_FORTIFY_INLINE (line 148) | __BIONIC_FORTIFY_INLINE
function __BIONIC_FORTIFY_INLINE (line 169) | __BIONIC_FORTIFY_INLINE
function __BIONIC_FORTIFY_INLINE (line 190) | __BIONIC_FORTIFY_INLINE
function __BIONIC_FORTIFY_INLINE (line 195) | __BIONIC_FORTIFY_INLINE
function __BIONIC_FORTIFY_INLINE (line 200) | __BIONIC_FORTIFY_INLINE
function __BIONIC_FORTIFY_INLINE (line 205) | __BIONIC_FORTIFY_INLINE
function __BIONIC_FORTIFY_INLINE (line 210) | __BIONIC_FORTIFY_INLINE
function __BIONIC_FORTIFY_INLINE (line 231) | __BIONIC_FORTIFY_INLINE
function __BIONIC_FORTIFY_INLINE (line 252) | __BIONIC_FORTIFY_INLINE
function __BIONIC_FORTIFY_INLINE (line 257) | __BIONIC_FORTIFY_INLINE
function __BIONIC_FORTIFY_INLINE (line 262) | __BIONIC_FORTIFY_INLINE
function __BIONIC_FORTIFY_INLINE (line 267) | __BIONIC_FORTIFY_INLINE
function __BIONIC_FORTIFY_INLINE (line 288) | __BIONIC_FORTIFY_INLINE
function __BIONIC_FORTIFY_INLINE (line 308) | __BIONIC_FORTIFY_INLINE
function __BIONIC_FORTIFY_INLINE (line 327) | __BIONIC_FORTIFY_INLINE
function __BIONIC_FORTIFY_INLINE (line 346) | __BIONIC_FORTIFY_INLINE
FILE: atlas-aapt/bionic/libc/include/sys/_system_properties.h
type prop_msg (line 37) | typedef struct prop_msg prop_msg;
function __BEGIN_DECLS (line 52) | __BEGIN_DECLS
FILE: atlas-aapt/bionic/libc/include/sys/cdefs.h
function __always_inline (line 465) | extern __inline__ __always_inline __attribute__((gnu_inline))
FILE: atlas-aapt/bionic/libc/include/sys/epoll.h
type epoll_data_t (line 60) | typedef union epoll_data {
type epoll_event (line 67) | struct epoll_event {
type epoll_event (line 78) | struct epoll_event
type epoll_event (line 79) | struct epoll_event
type epoll_event (line 80) | struct epoll_event
FILE: atlas-aapt/bionic/libc/include/sys/eventfd.h
type eventfd_t (line 41) | typedef uint64_t eventfd_t;
FILE: atlas-aapt/bionic/libc/include/sys/ioctl_compat.h
type tchars (line 46) | struct tchars {
type ltchars (line 55) | struct ltchars {
type sgttyb (line 69) | struct sgttyb {
FILE: atlas-aapt/bionic/libc/include/sys/procfs.h
type elf_greg_t (line 38) | typedef elf_greg_t elf_gregset_t[NGREG];
type fpregset_t (line 40) | typedef fpregset_t elf_fpregset_t;
type elf_fpxregset_t (line 43) | typedef struct user_fpxregs_struct elf_fpxregset_t;
type elf_gregset_t (line 46) | typedef elf_gregset_t prgregset_t;
type elf_fpregset_t (line 47) | typedef elf_fpregset_t prfpregset_t;
type pid_t (line 49) | typedef pid_t lwpid_t;
FILE: atlas-aapt/bionic/libc/include/sys/queue.h
type type (line 95) | struct type
type type (line 214) | struct type
type type (line 288) | struct type
type type (line 456) | struct type
type type (line 465) | struct type
FILE: atlas-aapt/bionic/libc/include/sys/resource.h
type rlim_t (line 43) | typedef unsigned long rlim_t;
type rlimit (line 45) | struct rlimit
type rlimit (line 46) | struct rlimit
type rlimit64 (line 48) | struct rlimit64
type rlimit64 (line 49) | struct rlimit64
type rusage (line 54) | struct rusage
type rlimit (line 56) | struct rlimit
type rlimit (line 56) | struct rlimit
type rlimit64 (line 57) | struct rlimit64
type rlimit64 (line 57) | struct rlimit64
FILE: atlas-aapt/bionic/libc/include/sys/select.h
type fd_set (line 43) | typedef struct {
type timeval (line 74) | struct timeval
type timespec (line 75) | struct timespec
FILE: atlas-aapt/bionic/libc/include/sys/socket.h
type sa_family_t (line 46) | typedef unsigned short sa_family_t;
type timespec (line 48) | struct timespec
type sockaddr (line 75) | struct sockaddr {
type linger (line 80) | struct linger {
type msghdr (line 85) | struct msghdr {
type mmsghdr (line 95) | struct mmsghdr {
type cmsghdr (line 100) | struct cmsghdr {
type cmsghdr (line 116) | struct cmsghdr
type msghdr (line 116) | struct msghdr
type cmsghdr (line 116) | struct cmsghdr
type ucred (line 122) | struct ucred {
type sockaddr (line 271) | struct sockaddr
type sockaddr (line 272) | struct sockaddr
type sockaddr (line 273) | struct sockaddr
type sockaddr (line 274) | struct sockaddr
type sockaddr (line 275) | struct sockaddr
type sockaddr (line 276) | struct sockaddr
type mmsghdr (line 279) | struct mmsghdr
type timespec (line 279) | struct timespec
type msghdr (line 280) | struct msghdr
type mmsghdr (line 281) | struct mmsghdr
type msghdr (line 282) | struct msghdr
type sockaddr (line 291) | struct sockaddr
type sockaddr (line 292) | struct sockaddr
type sockaddr (line 295) | struct sockaddr
type sockaddr (line 296) | struct sockaddr
function __BIONIC_FORTIFY_INLINE (line 300) | __BIONIC_FORTIFY_INLINE
function __BIONIC_FORTIFY_INLINE (line 321) | __BIONIC_FORTIFY_INLINE
FILE: atlas-aapt/bionic/libc/include/sys/stat.h
type stat (line 142) | struct stat
type stat64 (line 143) | struct stat64
type stat (line 144) | struct stat
type stat64 (line 145) | struct stat64
type stat (line 146) | struct stat
type stat64 (line 147) | struct stat64
type stat (line 148) | struct stat
type stat64 (line 149) | struct stat64
type timespec (line 183) | struct timespec
type timespec (line 184) | struct timespec
FILE: atlas-aapt/bionic/libc/include/sys/statvfs.h
type statvfs (line 62) | struct statvfs
type statvfs64 (line 63) | struct statvfs64
type statvfs (line 64) | struct statvfs
type statvfs64 (line 65) | struct statvfs64
FILE: atlas-aapt/bionic/libc/include/sys/sysinfo.h
type sysinfo (line 36) | struct sysinfo
FILE: atlas-aapt/bionic/libc/include/sys/system_properties.h
type prop_info (line 36) | struct prop_info
FILE: atlas-aapt/bionic/libc/include/sys/time.h
type timeval (line 41) | struct timeval
type timezone (line 41) | struct timezone
type timeval (line 42) | struct timeval
type timezone (line 42) | struct timezone
type itimerval (line 44) | struct itimerval
type itimerval (line 45) | struct itimerval
type itimerval (line 45) | struct itimerval
type timeval (line 47) | struct timeval
FILE: atlas-aapt/bionic/libc/include/sys/timerfd.h
type itimerspec (line 45) | struct itimerspec
type itimerspec (line 46) | struct itimerspec
type itimerspec (line 47) | struct itimerspec
FILE: atlas-aapt/bionic/libc/include/sys/times.h
type tms (line 38) | struct tms
FILE: atlas-aapt/bionic/libc/include/sys/timex.h
type timex (line 38) | struct timex
type timex (line 39) | struct timex
FILE: atlas-aapt/bionic/libc/include/sys/types.h
type __kernel_gid32_t (line 39) | typedef __kernel_gid32_t __gid_t;
type __gid_t (line 40) | typedef __gid_t gid_t;
type __kernel_uid32_t (line 41) | typedef __kernel_uid32_t __uid_t;
type __uid_t (line 42) | typedef __uid_t uid_t;
type __kernel_pid_t (line 43) | typedef __kernel_pid_t __pid_t;
type __pid_t (line 44) | typedef __pid_t pid_t;
type __id_t (line 45) | typedef uint32_t __id_t;
type __id_t (line 46) | typedef __id_t id_t;
type blkcnt_t (line 48) | typedef unsigned long blkcnt_t;
type blksize_t (line 49) | typedef unsigned long blksize_t;
type __kernel_caddr_t (line 50) | typedef __kernel_caddr_t caddr_t;
type __kernel_clock_t (line 51) | typedef __kernel_clock_t clock_t;
type __kernel_clockid_t (line 53) | typedef __kernel_clockid_t __clockid_t;
type __clockid_t (line 54) | typedef __clockid_t clockid_t;
type __kernel_daddr_t (line 56) | typedef __kernel_daddr_t daddr_t;
type fsblkcnt_t (line 57) | typedef unsigned long fsblkcnt_t;
type fsfilcnt_t (line 58) | typedef unsigned long fsfilcnt_t;
type __kernel_mode_t (line 60) | typedef __kernel_mode_t __mode_t;
type __mode_t (line 61) | typedef __mode_t mode_t;
type __kernel_key_t (line 63) | typedef __kernel_key_t __key_t;
type __key_t (line 64) | typedef __key_t key_t;
type __kernel_ino_t (line 66) | typedef __kernel_ino_t __ino_t;
type __ino_t (line 67) | typedef __ino_t ino_t;
type __nlink_t (line 69) | typedef uint32_t __nlink_t;
type __nlink_t (line 70) | typedef __nlink_t nlink_t;
type __timer_t (line 73) | typedef __timer_t timer_t;
type __kernel_suseconds_t (line 75) | typedef __kernel_suseconds_t __suseconds_t;
type __suseconds_t (line 76) | typedef __suseconds_t suseconds_t;
type __useconds_t (line 79) | typedef uint32_t __useconds_t;
type __useconds_t (line 80) | typedef __useconds_t useconds_t;
type dev_t (line 84) | typedef uint32_t dev_t;
type dev_t (line 86) | typedef uint64_t dev_t;
type __kernel_time_t (line 90) | typedef __kernel_time_t __time_t;
type __time_t (line 91) | typedef __time_t time_t;
type off_t (line 94) | typedef int64_t off_t;
type off_t (line 95) | typedef off_t loff_t;
type loff_t (line 96) | typedef loff_t off64_t;
type __kernel_off_t (line 99) | typedef __kernel_off_t off_t;
type __kernel_loff_t (line 100) | typedef __kernel_loff_t loff_t;
type loff_t (line 101) | typedef loff_t off64_t;
type pthread_attr_t (line 107) | typedef .... pthread_attr_t;
type pthread_cond_t (line 108) | typedef .... pthread_cond_t;
type pthread_condattr_t (line 109) | typedef .... pthread_condattr_t;
type pthread_key_t (line 110) | typedef .... pthread_key_t;
type pthread_mutex_t (line 111) | typedef .... pthread_mutex_t;
type pthread_once_t (line 112) | typedef .... pthread_once_t;
type pthread_rwlock_t (line 113) | typedef .... pthread_rwlock_t;
type pthread_rwlock_attr_t (line 114) | typedef .... pthread_rwlock_attr_t;
type pthread_t (line 115) | typedef .... pthread_t;
type __socklen_t (line 120) | typedef int32_t __socklen_t;
type __socklen_t (line 123) | typedef uint32_t __socklen_t;
type __socklen_t (line 125) | typedef __socklen_t socklen_t;
type __builtin_va_list (line 127) | typedef __builtin_va_list __va_list;
type __kernel_ssize_t (line 136) | typedef __kernel_ssize_t ssize_t;
type uint_t (line 139) | typedef unsigned int uint_t;
type uint (line 140) | typedef unsigned int uint;
type u_char (line 145) | typedef unsigned char u_char;
type u_short (line 146) | typedef unsigned short u_short;
type u_int (line 147) | typedef unsigned int u_int;
type u_long (line 148) | typedef unsigned long u_long;
type u_int32_t (line 150) | typedef uint32_t u_int32_t;
type u_int16_t (line 151) | typedef uint16_t u_int16_t;
type u_int8_t (line 152) | typedef uint8_t u_int8_t;
type u_int64_t (line 153) | typedef uint64_t u_int64_t;
FILE: atlas-aapt/bionic/libc/include/sys/ucontext.h
type greg_t (line 60) | typedef int greg_t;
type greg_t (line 61) | typedef greg_t gregset_t[NGREG];
type fpregset_t (line 62) | typedef struct user_fpregs fpregset_t;
type mcontext_t (line 65) | typedef struct sigcontext mcontext_t;
type ucontext_t (line 67) | typedef struct ucontext {
type greg_t (line 83) | typedef unsigned long greg_t;
type greg_t (line 84) | typedef greg_t gregset_t[NGREG];
type fpregset_t (line 85) | typedef struct user_fpsimd_struct fpregset_t;
type mcontext_t (line 88) | typedef struct sigcontext mcontext_t;
type ucontext_t (line 90) | typedef struct ucontext {
type greg_t (line 125) | typedef int greg_t;
type greg_t (line 126) | typedef greg_t gregset_t[NGREG];
type _libc_fpreg (line 128) | struct _libc_fpreg {
type _libc_fpstate (line 133) | struct _libc_fpstate {
type _libc_fpstate (line 145) | struct _libc_fpstate
type mcontext_t (line 147) | typedef struct {
type ucontext_t (line 154) | typedef struct ucontext {
type greg_t (line 172) | typedef unsigned long long greg_t;
type greg_t (line 173) | typedef greg_t gregset_t[NGREG];
type fpregset_t (line 175) | typedef struct fpregset {
type mcontext_t (line 186) | typedef struct {
type mcontext_t (line 204) | typedef struct {
type ucontext_t (line 226) | typedef struct ucontext {
type greg_t (line 263) | typedef long greg_t;
type greg_t (line 264) | typedef greg_t gregset_t[NGREG];
type _libc_fpxreg (line 266) | struct _libc_fpxreg {
type _libc_xmmreg (line 272) | struct _libc_xmmreg {
type _libc_fpstate (line 276) | struct _libc_fpstate {
type _libc_fpstate (line 290) | struct _libc_fpstate
type mcontext_t (line 292) | typedef struct {
type ucontext_t (line 298) | typedef struct ucontext {
FILE: atlas-aapt/bionic/libc/include/sys/uio.h
type iovec (line 37) | struct iovec
type iovec (line 38) | struct iovec
type iovec (line 42) | struct iovec
type iovec (line 43) | struct iovec
type iovec (line 45) | struct iovec
type iovec (line 46) | struct iovec
type iovec (line 48) | struct iovec
type iovec (line 49) | struct iovec
type iovec (line 53) | struct iovec
type iovec (line 53) | struct iovec
type iovec (line 54) | struct iovec
type iovec (line 54) | struct iovec
FILE: atlas-aapt/bionic/libc/include/sys/un.h
type sa_family_t (line 31) | typedef unsigned short sa_family_t;
FILE: atlas-aapt/bionic/libc/include/sys/user.h
type user_fpregs_struct (line 42) | struct user_fpregs_struct {
type user_fpxregs_struct (line 52) | struct user_fpxregs_struct {
type user_regs_struct (line 67) | struct user_regs_struct {
type user (line 86) | struct user {
type user_fpregs_struct (line 106) | struct user_fpregs_struct {
type user_regs_struct (line 119) | struct user_regs_struct {
type user (line 148) | struct user {
type user (line 172) | struct user {
type user_fpregs (line 188) | struct user_fpregs {
type user_regs (line 203) | struct user_regs {
type user_vfp (line 206) | struct user_vfp {
type user_vfp_exc (line 210) | struct user_vfp_exc {
type user (line 215) | struct user {
type user_regs_struct (line 235) | struct user_regs_struct {
type user_fpsimd_struct (line 241) | struct user_fpsimd_struct {
FILE: atlas-aapt/bionic/libc/include/sys/utsname.h
type utsname (line 37) | struct utsname {
type utsname (line 46) | struct utsname
FILE: atlas-aapt/bionic/libc/include/sys/vfs.h
function __BEGIN_DECLS (line 36) | __BEGIN_DECLS
type __fsid_t (line 40) | typedef __fsid_t fsid_t;
type statfs (line 140) | struct statfs
type statfs64 (line 141) | struct statfs64
type statfs (line 142) | struct statfs
type statfs64 (line 143) | struct statfs64
FILE: atlas-aapt/bionic/libc/include/sys/wait.h
type rusage (line 54) | struct rusage
type idtype_t (line 60) | typedef int idtype_t;
FILE: atlas-aapt/bionic/libc/include/termios.h
type termios (line 39) | struct termios
type termios (line 40) | struct termios
type termios (line 41) | struct termios
type termios (line 42) | struct termios
type termios (line 43) | struct termios
type termios (line 44) | struct termios
type termios (line 48) | struct termios
type termios (line 51) | struct termios
FILE: atlas-aapt/bionic/libc/include/time.h
type sigevent (line 44) | struct sigevent
type tm (line 46) | struct tm {
type timespec (line 63) | struct timespec
type timespec (line 63) | struct timespec
type tm (line 65) | struct tm
type tm (line 66) | struct tm
type tm (line 69) | struct tm
type tm (line 71) | struct tm
type tm (line 72) | struct tm
type tm (line 72) | struct tm
type tm (line 74) | struct tm
type tm (line 75) | struct tm
type tm (line 75) | struct tm
type tm (line 77) | struct tm
type tm (line 78) | struct tm
type tm (line 79) | struct tm
type timespec (line 90) | struct timespec
type timespec (line 91) | struct timespec
type timespec (line 92) | struct timespec
type timespec (line 92) | struct timespec
type timespec (line 93) | struct timespec
type sigevent (line 95) | struct sigevent
type itimerspec (line 97) | struct itimerspec
type itimerspec (line 97) | struct itimerspec
type itimerspec (line 98) | struct itimerspec
type tm (line 102) | struct tm
type tm (line 103) | struct tm
FILE: atlas-aapt/bionic/libc/include/time64.h
type tm (line 50) | struct tm
type tm (line 51) | struct tm
type tm (line 54) | struct tm
type tm (line 55) | struct tm
type tm (line 55) | struct tm
type tm (line 56) | struct tm
type tm (line 57) | struct tm
type tm (line 57) | struct tm
type tm (line 58) | struct tm
type tm (line 59) | struct tm
type tm (line 60) | struct tm
FILE: atlas-aapt/bionic/libc/include/uchar.h
type __CHAR16_TYPE__ (line 38) | typedef __CHAR16_TYPE__ char16_t;
type __CHAR32_TYPE__ (line 39) | typedef __CHAR32_TYPE__ char32_t;
FILE: atlas-aapt/bionic/libc/include/unistd.h
function getpagesize (line 225) | __inline__ int getpagesize(void) {
function __BIONIC_FORTIFY_INLINE (line 297) | __BIONIC_FORTIFY_INLINE
function __BIONIC_FORTIFY_INLINE (line 334) | __BIONIC_FORTIFY_INLINE
function __BIONIC_FORTIFY_INLINE (line 359) | __BIONIC_FORTIFY_INLINE
function __BIONIC_FORTIFY_INLINE (line 390) | __BIONIC_FORTIFY_INLINE
function __BIONIC_FORTIFY_INLINE (line 415) | __BIONIC_FORTIFY_INLINE
function __BIONIC_FORTIFY_INLINE (line 440) | __BIONIC_FORTIFY_INLINE
function __BIONIC_FORTIFY_INLINE (line 465) | __BIONIC_FORTIFY_INLINE
function __BIONIC_FORTIFY_INLINE (line 492) | __BIONIC_FORTIFY_INLINE
function __BIONIC_FORTIFY_INLINE (line 517) | __BIONIC_FORTIFY_INLINE
FILE: atlas-aapt/bionic/libc/include/utime.h
type utimbuf (line 38) | struct utimbuf
FILE: atlas-aapt/bionic/libc/include/utmp.h
type lastlog (line 60) | struct lastlog
type exit_status (line 67) | struct exit_status
type utmp (line 74) | struct utmp
type utmp (line 101) | struct utmp
FILE: atlas-aapt/bionic/libc/include/wchar.h
type mbstate_t (line 44) | typedef struct {
type wctype_t (line 68) | typedef long wctype_t;
type tm (line 125) | struct tm
FILE: atlas-aapt/bionic/libc/include/xlocale.h
type __locale_t (line 33) | struct __locale_t
type __locale_t (line 34) | struct __locale_t
FILE: atlas-aapt/external/compiler-rt/include/sanitizer/common_interface_defs.h
type __sanitizer_sandbox_arguments (line 28) | typedef struct {
FILE: atlas-aapt/external/compiler-rt/include/sanitizer/dfsan_interface.h
type dfsan_label (line 25) | typedef uint16_t dfsan_label;
type dfsan_label_info (line 32) | struct dfsan_label_info {
type dfsan_label_info (line 71) | struct dfsan_label_info
FILE: atlas-aapt/external/compiler-rt/include/sanitizer/lsan_interface.h
function namespace (line 75) | namespace __lsan {
FILE: atlas-aapt/external/compiler-rt/include/sanitizer/tsan_interface_atomic.h
type __tsan_atomic8 (line 21) | typedef char __tsan_atomic8;
type __tsan_atomic16 (line 22) | typedef short __tsan_atomic16;
type __tsan_atomic32 (line 23) | typedef int __tsan_atomic32;
type __tsan_atomic64 (line 24) | typedef long __tsan_atomic64;
type __int128 (line 27) | __extension__ typedef __int128 __tsan_atomic128;
type __tsan_memory_order (line 35) | typedef enum {
FILE: atlas-aapt/external/compiler-rt/lib/BlocksRuntime/Block_private.h
type Block_descriptor (line 62) | struct Block_descriptor {
type Block_layout (line 70) | struct Block_layout {
type Block_byref (line 80) | struct Block_byref {
type Block_byref_header (line 91) | struct Block_byref_header {
type Block_basic (line 163) | struct Block_basic {
FILE: atlas-aapt/external/compiler-rt/lib/BlocksRuntime/data.c
function _Block_copy_error (line 40) | void _Block_copy_error(void) {
FILE: atlas-aapt/external/compiler-rt/lib/BlocksRuntime/runtime.c
function OSAtomicCompareAndSwapLong (line 51) | static __inline bool OSAtomicCompareAndSwapLong(long oldl, long newl, lo...
function OSAtomicCompareAndSwapInt (line 57) | static __inline bool OSAtomicCompareAndSwapInt(int oldi, int newi, int v...
function OSAtomicCompareAndSwapLong (line 72) | static __inline bool OSAtomicCompareAndSwapLong(long oldl, long newl, lo...
function OSAtomicCompareAndSwapInt (line 76) | static __inline bool OSAtomicCompareAndSwapInt(int oldi, int newi, int v...
function latching_incr_long (line 103) | static unsigned long int latching_incr_long(unsigned long int *where) {
function latching_incr_int (line 116) | static int latching_incr_int(int *where) {
function latching_decr_long (line 129) | static int latching_decr_long(unsigned long int *where) {
function latching_decr_int (line 145) | static int latching_decr_int(int *where) {
function _Block_assign_default (line 173) | static void _Block_assign_default(void *value, void **destptr) {
function _Block_setHasRefcount_default (line 177) | static void _Block_setHasRefcount_default(const void *ptr, const bool ha...
function _Block_do_nothing (line 180) | static void _Block_do_nothing(const void *aBlock) { }
function _Block_retain_object_default (line 182) | static void _Block_retain_object_default(const void *ptr) {
function _Block_release_object_default (line 186) | static void _Block_release_object_default(const void *ptr) {
function _Block_assign_weak_default (line 190) | static void _Block_assign_weak_default(const void *ptr, void *dest) {
function _Block_memmove_default (line 194) | static void _Block_memmove_default(void *dst, void *src, unsigned long s...
function _Block_memmove_gc_broken (line 198) | static void _Block_memmove_gc_broken(void *dest, void *src, unsigned lon...
function _Block_use_GC (line 231) | void _Block_use_GC( void *(*alloc)(const unsigned long, const bool isOne...
function _Block_use_GC5 (line 254) | void _Block_use_GC5( void *(*alloc)(const unsigned long, const bool isOn...
function _Block_use_RR (line 270) | void _Block_use_RR( void (*retain)(const void *),
type Block_layout (line 286) | struct Block_layout
type Block_layout (line 294) | struct Block_layout
type Block_layout (line 314) | struct Block_layout
type Block_layout (line 332) | struct Block_layout
function _Block_byref_assign_copy (line 368) | static void _Block_byref_assign_copy(void *dest, const void *arg, const ...
function _Block_byref_release (line 414) | static void _Block_byref_release(const void *arg) {
function _Block_release (line 459) | void _Block_release(void *arg) {
function _Block_destroy (line 487) | static void _Block_destroy(const void *arg) {
function Block_size (line 513) | unsigned long int Block_size(void *arg) {
function _Block_object_assign (line 560) | void _Block_object_assign(void *destAddr, const void *object, const int ...
function _Block_object_dispose (line 593) | void _Block_object_dispose(const void *object, const int flags) {
type Block_layout (line 621) | struct Block_layout
type Block_layout (line 621) | struct Block_layout
type Block_descriptor (line 673) | struct Block_descriptor
type Block_byref (line 687) | struct Block_byref
FILE: atlas-aapt/external/compiler-rt/lib/asan/asan_activation.cc
type __asan (line 23) | namespace __asan {
type AsanDeactivatedFlags (line 25) | struct AsanDeactivatedFlags {
method RegisterActivationFlags (line 32) | void RegisterActivationFlags(FlagParser *parser, Flags *f, CommonFla...
method OverrideFromActivationFlags (line 44) | void OverrideFromActivationFlags() {
method Print (line 77) | void Print() {
function AsanDeactivate (line 91) | void AsanDeactivate() {
function AsanActivate (line 118) | void AsanActivate() {
FILE: atlas-aapt/external/compiler-rt/lib/asan/asan_activation.h
function namespace (line 18) | namespace __asan {
FILE: atlas-aapt/external/compiler-rt/lib/asan/asan_allocator.cc
type __asan (line 32) | namespace __asan {
function u32 (line 36) | static u32 RZLog2Size(u32 rz_log) {
function u32 (line 41) | static u32 RZSize2Log(u32 rz_size) {
type ChunkHeader (line 71) | struct ChunkHeader {
type ChunkBase (line 89) | struct ChunkBase : ChunkHeader {
type AsanChunk (line 109) | struct AsanChunk: ChunkBase {
method uptr (line 110) | uptr Beg() { return reinterpret_cast<uptr>(this) + kChunkHeaderSize; }
method uptr (line 111) | uptr UsedSize(bool locked_version = false) {
method AddrIsInside (line 126) | bool AddrIsInside(uptr addr, bool locked_version = false) {
type QuarantineCallback (line 131) | struct QuarantineCallback {
method QuarantineCallback (line 132) | explicit QuarantineCallback(AllocatorCache *cache)
method Recycle (line 136) | void Recycle(AsanChunk *m) {
method Deallocate (line 166) | void Deallocate(void *p) {
function AllocatorCache (line 197) | AllocatorCache *GetAllocatorCache(AsanThreadLocalMallocStorage *ms) {
function QuarantineCache (line 202) | QuarantineCache *GetQuarantineCache(AsanThreadLocalMallocStorage *ms) {
type Allocator (line 224) | struct Allocator {
method Allocator (line 242) | explicit Allocator(LinkerInitialized)
method CheckOptions (line 246) | void CheckOptions(const AllocatorOptions &options) const {
method SharedInitCode (line 254) | void SharedInitCode(const AllocatorOptions &options) {
method Initialize (line 264) | void Initialize(const AllocatorOptions &options) {
method ReInitialize (line 269) | void ReInitialize(const AllocatorOptions &options) {
method GetOptions (line 274) | void GetOptions(AllocatorOptions *options) const {
method uptr (line 284) | uptr ComputeRZLog(uptr user_requested_size) {
method AsanChunk (line 299) | AsanChunk *ChooseChunk(uptr addr, AsanChunk *left_chunk,
method AtomicallySetQuarantineFlag (line 460) | void AtomicallySetQuarantineFlag(AsanChunk *m, void *ptr,
method QuarantineChunk (line 472) | void QuarantineChunk(AsanChunk *m, void *ptr, BufferedStackTrace *st...
method Deallocate (line 512) | void Deallocate(void *ptr, uptr delete_size, BufferedStackTrace *stack,
method ReportInvalidFree (line 565) | void ReportInvalidFree(void *ptr, u8 chunk_state, BufferedStackTrace...
method CommitBack (line 572) | void CommitBack(AsanThreadLocalMallocStorage *ms) {
method AsanChunk (line 581) | AsanChunk *GetAsanChunk(void *alloc_beg) {
method AsanChunk (line 594) | AsanChunk *GetAsanChunkByAddr(uptr p) {
method AsanChunk (line 600) | AsanChunk *GetAsanChunkByAddrFastLocked(uptr p) {
method uptr (line 606) | uptr AllocationSize(uptr p) {
method AsanChunkView (line 614) | AsanChunkView FindHeapChunkByAddress(uptr addr) {
method PrintStats (line 634) | void PrintStats() {
method ForceLock (line 638) | void ForceLock() {
method ForceUnlock (line 643) | void ForceUnlock() {
function AsanAllocator (line 651) | static AsanAllocator &get_allocator() {
function uptr (line 658) | uptr AsanChunkView::Beg() { return chunk_->Beg(); }
function uptr (line 659) | uptr AsanChunkView::End() { return Beg() + UsedSize(); }
function uptr (line 660) | uptr AsanChunkView::UsedSize() { return chunk_->UsedSize(); }
function uptr (line 661) | uptr AsanChunkView::AllocTid() { return chunk_->alloc_tid; }
function uptr (line 662) | uptr AsanChunkView::FreeTid() { return chunk_->free_tid; }
function StackTrace (line 664) | static StackTrace GetStackTraceFromId(u32 id) {
function StackTrace (line 671) | StackTrace AsanChunkView::GetAllocStack() {
function StackTrace (line 675) | StackTrace AsanChunkView::GetFreeStack() {
function InitializeAllocator (line 679) | void InitializeAllocator(const AllocatorOptions &options) {
function ReInitializeAllocator (line 683) | void ReInitializeAllocator(const AllocatorOptions &options) {
function GetAllocatorOptions (line 687) | void GetAllocatorOptions(AllocatorOptions *options) {
function AsanChunkView (line 691) | AsanChunkView FindHeapChunkByAddress(uptr addr) {
function PrintInternalAllocatorStats (line 699) | void PrintInternalAllocatorStats() {
function asan_free (line 708) | void asan_free(void *ptr, BufferedStackTrace *stack, AllocType alloc_t...
function asan_sized_free (line 712) | void asan_sized_free(void *ptr, uptr size, BufferedStackTrace *stack,
function asan_posix_memalign (line 749) | int asan_posix_memalign(void **memptr, uptr alignment, uptr size,
function uptr (line 757) | uptr asan_malloc_usable_size(void *ptr, uptr pc, uptr bp) {
function uptr (line 767) | uptr asan_mz_size(const void *ptr) {
function asan_mz_force_lock (line 771) | void asan_mz_force_lock() {
function asan_mz_force_unlock (line 775) | void asan_mz_force_unlock() {
function AsanSoftRssLimitExceededCallback (line 779) | void AsanSoftRssLimitExceededCallback(bool exceeded) {
type __lsan (line 786) | namespace __lsan {
function LockAllocator (line 787) | void LockAllocator() {
function UnlockAllocator (line 791) | void UnlockAllocator() {
function GetAllocatorGlobalRange (line 795) | void GetAllocatorGlobalRange(uptr *begin, uptr *end) {
function uptr (line 800) | uptr PointsIntoChunk(void* p) {
function uptr (line 815) | uptr GetUserBegin(uptr chunk) {
function ChunkTag (line 830) | ChunkTag LsanMetadata::tag() const {
function uptr (line 840) | uptr LsanMetadata::requested_size() const {
function u32 (line 845) | u32 LsanMetadata::stack_trace_id() const {
function ForEachChunk (line 850) | void ForEachChunk(ForEachChunkCallback callback, void *arg) {
function IgnoreObjectResult (line 854) | IgnoreObjectResult IgnoreObjectLocked(const void *p) {
function uptr (line 874) | uptr __sanitizer_get_estimated_allocated_size(uptr size) {
function __sanitizer_get_ownership (line 878) | int __sanitizer_get_ownership(const void *p) {
function uptr (line 883) | uptr __sanitizer_get_allocated_size(const void *p) {
function SANITIZER_INTERFACE_ATTRIBUTE (line 898) | SANITIZER_INTERFACE_ATTRIBUTE SANITIZER_WEAK_ATTRIBUTE
function SANITIZER_INTERFACE_ATTRIBUTE (line 903) | SANITIZER_INTERFACE_ATTRIBUTE SANITIZER_WEAK_ATTRIBUTE
FILE: atlas-aapt/external/compiler-rt/lib/asan/asan_allocator.h
type AllocType (line 26) | enum AllocType {
type AsanChunk (line 32) | struct AsanChunk
type AllocatorOptions (line 34) | struct AllocatorOptions {
function class (line 49) | class AsanChunkView {
function class (line 92) | class AsanChunkFifoList: public IntrusiveList<AsanChunk> {
type AsanMapUnmapCallback (line 108) | struct AsanMapUnmapCallback {
type DefaultSizeClassMap (line 126) | typedef DefaultSizeClassMap SizeClassMap;
type SizeClassAllocator64 (line 127) | typedef SizeClassAllocator64<kAllocatorSpace, kAllocatorSize, 0 /*metada...
type TwoLevelByteMap (line 135) | typedef TwoLevelByteMap<(kNumRegions >> 12), 1 << 12> ByteMap;
type CompactSizeClassMap (line 137) | typedef CompactSizeClassMap SizeClassMap;
type SizeClassAllocatorLocalCache (line 145) | typedef SizeClassAllocatorLocalCache<PrimaryAllocator> AllocatorCache;
type LargeMmapAllocator (line 146) | typedef LargeMmapAllocator<AsanMapUnmapCallback> SecondaryAllocator;
type CombinedAllocator (line 147) | typedef CombinedAllocator<PrimaryAllocator, AllocatorCache,
type AsanThreadLocalMallocStorage (line 151) | struct AsanThreadLocalMallocStorage {
FILE: atlas-aapt/external/compiler-rt/lib/asan/asan_debugging.cc
type __asan (line 23) | namespace __asan {
function GetInfoForStackVar (line 25) | void GetInfoForStackVar(uptr addr, AddressDescription *descr, AsanThre...
function GetInfoForHeapAddress (line 50) | void GetInfoForHeapAddress(uptr addr, AddressDescription *descr) {
function AsanLocateAddress (line 67) | void AsanLocateAddress(uptr addr, AddressDescription *descr) {
function uptr (line 84) | static uptr AsanGetStack(uptr addr, uptr *trace, u32 size, u32 *thread...
function SANITIZER_INTERFACE_ATTRIBUTE (line 115) | SANITIZER_INTERFACE_ATTRIBUTE
function SANITIZER_INTERFACE_ATTRIBUTE (line 125) | SANITIZER_INTERFACE_ATTRIBUTE
function SANITIZER_INTERFACE_ATTRIBUTE (line 130) | SANITIZER_INTERFACE_ATTRIBUTE
function SANITIZER_INTERFACE_ATTRIBUTE (line 135) | SANITIZER_INTERFACE_ATTRIBUTE
FILE: atlas-aapt/external/compiler-rt/lib/asan/asan_fake_stack.cc
type __asan (line 19) | namespace __asan {
function ALWAYS_INLINE (line 30) | ALWAYS_INLINE void SetShadow(uptr ptr, uptr size, uptr class_id, u64 m...
function FakeStack (line 45) | FakeStack *FakeStack::Create(uptr stack_size_log) {
function FakeFrame (line 88) | FakeFrame *FakeStack::Allocate(uptr stack_size_log, uptr class_id,
function uptr (line 116) | uptr FakeStack::AddrIsInFakeStack(uptr ptr, uptr *frame_beg, uptr *fra...
function NOINLINE (line 142) | NOINLINE void FakeStack::GC(uptr real_stack) {
function FakeStack (line 177) | FakeStack *GetTLSFakeStack() {
function SetTLSFakeStack (line 180) | void SetTLSFakeStack(FakeStack *fs) {
function FakeStack (line 184) | FakeStack *GetTLSFakeStack() { return 0; }
function SetTLSFakeStack (line 185) | void SetTLSFakeStack(FakeStack *fs) { }
function FakeStack (line 188) | static FakeStack *GetFakeStack() {
function FakeStack (line 194) | static FakeStack *GetFakeStackFast() {
function ALWAYS_INLINE (line 202) | ALWAYS_INLINE uptr OnMalloc(uptr class_id, uptr size) {
function ALWAYS_INLINE (line 214) | ALWAYS_INLINE void OnFree(uptr ptr, uptr class_id, uptr size) {
function SANITIZER_INTERFACE_ATTRIBUTE (line 245) | SANITIZER_INTERFACE_ATTRIBUTE
function SANITIZER_INTERFACE_ATTRIBUTE (line 248) | SANITIZER_INTERFACE_ATTRIBUTE
function SANITIZER_INTERFACE_ATTRIBUTE (line 264) | SANITIZER_INTERFACE_ATTRIBUTE
function SANITIZER_INTERFACE_ATTRIBUTE (line 277) | SANITIZER_INTERFACE_ATTRIBUTE
FILE: atlas-aapt/external/compiler-rt/lib/asan/asan_fake_stack.h
function namespace (line 20) | namespace __asan {
FILE: atlas-aapt/external/compiler-rt/lib/asan/asan_flags.cc
type __asan (line 26) | namespace __asan {
function RegisterAsanFlags (line 51) | static void RegisterAsanFlags(FlagParser *parser, Flags *f) {
function InitializeFlags (line 58) | void InitializeFlags() {
function SANITIZER_INTERFACE_ATTRIBUTE (line 168) | SANITIZER_INTERFACE_ATTRIBUTE SANITIZER_WEAK_ATTRIBUTE
FILE: atlas-aapt/external/compiler-rt/lib/asan/asan_flags.h
function namespace (line 30) | namespace __asan {
FILE: atlas-aapt/external/compiler-rt/lib/asan/asan_globals.cc
type __asan (line 29) | namespace __asan {
type ListOfGlobals (line 33) | struct ListOfGlobals {
type DynInitGlobal (line 43) | struct DynInitGlobal {
type GlobalRegistrationSite (line 52) | struct GlobalRegistrationSite {
function ALWAYS_INLINE (line 59) | ALWAYS_INLINE void PoisonShadowForGlobal(const Global *g, u8 value) {
function ALWAYS_INLINE (line 63) | ALWAYS_INLINE void PoisonRedZones(const Global &g) {
function IsAddressNearGlobal (line 78) | static bool IsAddressNearGlobal(uptr addr, const __asan_global &g) {
function ReportGlobal (line 84) | static void ReportGlobal(const Global &g, const char *prefix) {
function u32 (line 95) | static u32 FindRegistrationSite(const Global *g) {
function GetGlobalsForAddress (line 106) | int GetGlobalsForAddress(uptr addr, Global *globals, u32 *reg_sites,
function GetInfoForAddressIfGlobal (line 126) | bool GetInfoForAddressIfGlobal(uptr addr, AddressDescription *descr) {
function RegisterGlobal (line 141) | static void RegisterGlobal(const Global *g) {
function UnregisterGlobal (line 180) | static void UnregisterGlobal(const Global *g) {
function StopInitOrderChecking (line 195) | void StopInitOrderChecking() {
function __asan_register_globals (line 216) | void __asan_register_globals(__asan_global *globals, uptr n) {
function __asan_unregister_globals (line 237) | void __asan_unregister_globals(__asan_global *globals, uptr n) {
function __asan_before_dynamic_init (line 249) | void __asan_before_dynamic_init(const char *module_name) {
function __asan_after_dynamic_init (line 275) | void __asan_after_dynamic_init() {
FILE: atlas-aapt/external/compiler-rt/lib/asan/asan_interceptors.cc
type __asan (line 36) | namespace __asan {
function QuickCheckForUnpoisonedRegion (line 39) | static inline bool QuickCheckForUnpoisonedRegion(uptr beg, uptr size) {
type AsanInterceptorContext (line 48) | struct AsanInterceptorContext {
function RangesOverlap (line 98) | static inline bool RangesOverlap(const char *offset1, uptr length1,
function uptr (line 112) | static inline uptr MaybeRealStrnlen(const char *s, uptr maxlen) {
function SetThreadName (line 121) | void SetThreadName(const char *name) {
function OnExit (line 127) | int OnExit() {
function InitializeAsanInterceptors (line 735) | void InitializeAsanInterceptors() {
type ThreadStartParam (line 216) | struct ThreadStartParam {
function thread_return_t (line 221) | static thread_return_t THREAD_CALLING_CONV asan_thread_start(void *arg) {
function INTERCEPTOR (line 232) | INTERCEPTOR(int, pthread_create, void *thread,
function INTERCEPTOR (line 263) | INTERCEPTOR(int, pthread_join, void *t, void **arg) {
function INTERCEPTOR (line 273) | INTERCEPTOR(void*, bsd_signal, int signum, void *handler) {
function INTERCEPTOR (line 281) | INTERCEPTOR(void*, signal, int signum, void *handler) {
function INTERCEPTOR (line 288) | INTERCEPTOR(int, sigaction, int signum, const struct sigaction *act,
type __sanitizer (line 296) | namespace __sanitizer {
function real_sigaction (line 297) | int real_sigaction(int signum, const void *act, void *oldact) {
type sigaction (line 305) | struct sigaction
type sigaction (line 306) | struct sigaction
function ClearShadowMemoryForContextStack (line 310) | static void ClearShadowMemoryForContextStack(uptr stack, uptr ssize) {
function INTERCEPTOR (line 322) | INTERCEPTOR(int, swapcontext, struct ucontext_t *oucp,
function INTERCEPTOR (line 345) | INTERCEPTOR(void, longjmp, void *env, int val) {
function INTERCEPTOR (line 351) | INTERCEPTOR(void, _longjmp, void *env, int val) {
function INTERCEPTOR (line 358) | INTERCEPTOR(void, siglongjmp, void *env, int val) {
function INTERCEPTOR (line 365) | INTERCEPTOR(void, __cxa_throw, void *a, void *b, void *c) {
function INTERCEPTOR (line 428) | INTERCEPTOR(void*, memmove, void *to, const void *from, uptr size) {
function INTERCEPTOR (line 434) | INTERCEPTOR(void*, memcpy, void *to, const void *from, uptr size) {
function INTERCEPTOR (line 450) | INTERCEPTOR(void*, memset, void *block, int c, uptr size) {
function INTERCEPTOR (line 456) | INTERCEPTOR(char*, strchr, const char *str, int c) {
function INTERCEPTOR (line 491) | INTERCEPTOR(char*, strcat, char *to, const char *from) { // NOLINT
function INTERCEPTOR (line 512) | INTERCEPTOR(char*, strncat, char *to, const char *from, uptr size) {
function INTERCEPTOR (line 531) | INTERCEPTOR(char*, strcpy, char *to, const char *from) { // NOLINT
function INTERCEPTOR (line 553) | INTERCEPTOR(char*, strdup, const char *s) {
function INTERCEPTOR (line 569) | INTERCEPTOR(SIZE_T, strlen, const char *s) {
function INTERCEPTOR (line 586) | INTERCEPTOR(SIZE_T, wcslen, const wchar_t *s) {
function INTERCEPTOR (line 597) | INTERCEPTOR(char*, strncpy, char *to, const char *from, uptr size) {
function INTERCEPTOR (line 611) | INTERCEPTOR(uptr, strnlen, const char *s, uptr maxlen) {
function INTERCEPTOR (line 623) | INTERCEPTOR(long, strtol, const char *nptr, // NOLINT
function INTERCEPTOR (line 637) | INTERCEPTOR(int, atoi, const char *nptr) {
function INTERCEPTOR (line 658) | INTERCEPTOR(long, atol, const char *nptr) { // NOLINT
function INTERCEPTOR (line 676) | INTERCEPTOR(long long, strtoll, const char *nptr, // NOLINT
function INTERCEPTOR (line 690) | INTERCEPTOR(long long, atoll, const char *nptr) { // NOLINT
function AtCxaAtexit (line 705) | static void AtCxaAtexit(void *unused) {
function INTERCEPTOR (line 711) | INTERCEPTOR(int, __cxa_atexit, void (*func)(void *), void *arg,
function INTERCEPTOR (line 724) | INTERCEPTOR(int, fork, void) {
type __asan (line 734) | namespace __asan {
function QuickCheckForUnpoisonedRegion (line 39) | static inline bool QuickCheckForUnpoisonedRegion(uptr beg, uptr size) {
type AsanInterceptorContext (line 48) | struct AsanInterceptorContext {
function RangesOverlap (line 98) | static inline bool RangesOverlap(const char *offset1, uptr length1,
function uptr (line 112) | static inline uptr MaybeRealStrnlen(const char *s, uptr maxlen) {
function SetThreadName (line 121) | void SetThreadName(const char *name) {
function OnExit (line 127) | int OnExit() {
function InitializeAsanInterceptors (line 735) | void InitializeAsanInterceptors() {
FILE: atlas-aapt/external/compiler-rt/lib/asan/asan_interceptors.h
function namespace (line 112) | namespace __asan {
FILE: atlas-aapt/external/compiler-rt/lib/asan/asan_interface_internal.h
type __asan_global_source_location (line 40) | struct __asan_global_source_location {
type __asan_global (line 47) | struct __asan_global {
FILE: atlas-aapt/external/compiler-rt/lib/asan/asan_internal.h
function namespace (line 58) | namespace __asan {
FILE: atlas-aapt/external/compiler-rt/lib/asan/asan_linux.cc
type __asan (line 69) | namespace __asan {
function InitializePlatformInterceptors (line 71) | void InitializePlatformInterceptors() {}
function AsanCheckDynamicRTPrereqs (line 80) | void AsanCheckDynamicRTPrereqs() {}
function AsanCheckIncompatibleRT (line 81) | void AsanCheckIncompatibleRT() {}
function FindFirstDSOCallback (line 83) | static int FindFirstDSOCallback(struct dl_phdr_info *info, size_t size,
function IsDynamicRTName (line 97) | static bool IsDynamicRTName(const char *libname) {
function ReportIncompatibleRT (line 102) | static void ReportIncompatibleRT() {
function AsanCheckDynamicRTPrereqs (line 107) | void AsanCheckDynamicRTPrereqs() {
function AsanCheckIncompatibleRT (line 122) | void AsanCheckIncompatibleRT() {
function ReadContextStack (line 154) | void ReadContextStack(void *context, uptr *stack, uptr *ssize) {
function ReadContextStack (line 160) | void ReadContextStack(void *context, uptr *stack, uptr *ssize) {
FILE: atlas-aapt/external/compiler-rt/lib/asan/asan_mac.cc
type __asan (line 39) | namespace __asan {
function InitializePlatformInterceptors (line 41) | void InitializePlatformInterceptors() {}
function PlatformHasDifferentMemcpyAndMemmove (line 43) | bool PlatformHasDifferentMemcpyAndMemmove() {
function AsanCheckDynamicRTPrereqs (line 58) | void AsanCheckDynamicRTPrereqs() {}
function AsanCheckIncompatibleRT (line 61) | void AsanCheckIncompatibleRT() {}
function ReadContextStack (line 63) | void ReadContextStack(void *context, uptr *stack, uptr *ssize) {
function ALWAYS_INLINE (line 110) | ALWAYS_INLINE
function asan_dispatch_call_block_and_release (line 125) | void asan_dispatch_call_block_and_release(void *block) {
function asan_block_context_t (line 145) | asan_block_context_t *alloc_asan_context(void *ctxt, dispatch_function_t...
function INTERCEPTOR (line 175) | INTERCEPTOR(void, dispatch_after_f, dispatch_time_t when,
function INTERCEPTOR (line 188) | INTERCEPTOR(void, dispatch_group_async_f, dispatch_group_t group,
function INTERCEPTOR (line 223) | INTERCEPTOR(void, dispatch_async,
function INTERCEPTOR (line 230) | INTERCEPTOR(void, dispatch_group_async,
function INTERCEPTOR (line 237) | INTERCEPTOR(void, dispatch_after,
function INTERCEPTOR (line 244) | INTERCEPTOR(void, dispatch_source_set_cancel_handler,
function INTERCEPTOR (line 255) | INTERCEPTOR(void, dispatch_source_set_event_handler,
FILE: atlas-aapt/external/compiler-rt/lib/asan/asan_malloc_linux.cc
function IsInCallocPool (line 32) | static bool IsInCallocPool(const void *ptr) {
function INTERCEPTOR (line 37) | INTERCEPTOR(void, free, void *ptr) {
function INTERCEPTOR (line 44) | INTERCEPTOR(void, cfree, void *ptr) {
function INTERCEPTOR (line 51) | INTERCEPTOR(void*, malloc, uptr size) {
function INTERCEPTOR (line 56) | INTERCEPTOR(void*, calloc, uptr nmemb, uptr size) {
function INTERCEPTOR (line 70) | INTERCEPTOR(void*, realloc, void *ptr, uptr size) {
function INTERCEPTOR (line 82) | INTERCEPTOR(void*, memalign, uptr boundary, uptr size) {
function INTERCEPTOR (line 87) | INTERCEPTOR(void*, aligned_alloc, uptr boundary, uptr size) {
function INTERCEPTOR (line 92) | INTERCEPTOR(void*, __libc_memalign, uptr boundary, uptr size) {
function INTERCEPTOR (line 99) | INTERCEPTOR(uptr, malloc_usable_size, void *ptr) {
type fake_mallinfo (line 109) | struct fake_mallinfo {
function INTERCEPTOR (line 113) | INTERCEPTOR(struct fake_mallinfo, mallinfo, void) {
function INTERCEPTOR (line 119) | INTERCEPTOR(int, mallopt, int cmd, int value) {
function INTERCEPTOR (line 123) | INTERCEPTOR(int, posix_memalign, void **memptr, uptr alignment, uptr siz...
function INTERCEPTOR (line 129) | INTERCEPTOR(void*, valloc, uptr size) {
function INTERCEPTOR (line 134) | INTERCEPTOR(void*, pvalloc, uptr size) {
function INTERCEPTOR (line 139) | INTERCEPTOR(void, malloc_stats, void) {
type MallocDebugK (line 147) | struct MallocDebugK {
type MallocDebugL (line 156) | struct MallocDebugL {
type __asan (line 179) | namespace __asan {
function ReplaceSystemMalloc (line 180) | void ReplaceSystemMalloc() {
function ReplaceSystemMalloc (line 198) | void ReplaceSystemMalloc() {
type __asan (line 197) | namespace __asan {
function ReplaceSystemMalloc (line 180) | void ReplaceSystemMalloc() {
function ReplaceSystemMalloc (line 198) | void ReplaceSystemMalloc() {
FILE: atlas-aapt/external/compiler-rt/lib/asan/asan_malloc_win.cc
function ALLOCATION_FUNCTION_ATTRIBUTE (line 40) | ALLOCATION_FUNCTION_ATTRIBUTE
function ALLOCATION_FUNCTION_ATTRIBUTE (line 46) | ALLOCATION_FUNCTION_ATTRIBUTE
function ALLOCATION_FUNCTION_ATTRIBUTE (line 51) | ALLOCATION_FUNCTION_ATTRIBUTE
function ALLOCATION_FUNCTION_ATTRIBUTE (line 56) | ALLOCATION_FUNCTION_ATTRIBUTE
function ALLOCATION_FUNCTION_ATTRIBUTE (line 62) | ALLOCATION_FUNCTION_ATTRIBUTE
function ALLOCATION_FUNCTION_ATTRIBUTE (line 67) | ALLOCATION_FUNCTION_ATTRIBUTE
function ALLOCATION_FUNCTION_ATTRIBUTE (line 73) | ALLOCATION_FUNCTION_ATTRIBUTE
function ALLOCATION_FUNCTION_ATTRIBUTE (line 78) | ALLOCATION_FUNCTION_ATTRIBUTE
function ALLOCATION_FUNCTION_ATTRIBUTE (line 83) | ALLOCATION_FUNCTION_ATTRIBUTE
function ALLOCATION_FUNCTION_ATTRIBUTE (line 89) | ALLOCATION_FUNCTION_ATTRIBUTE
function ALLOCATION_FUNCTION_ATTRIBUTE (line 95) | ALLOCATION_FUNCTION_ATTRIBUTE
function ALLOCATION_FUNCTION_ATTRIBUTE (line 105) | ALLOCATION_FUNCTION_ATTRIBUTE
function ALLOCATION_FUNCTION_ATTRIBUTE (line 112) | ALLOCATION_FUNCTION_ATTRIBUTE
function ALLOCATION_FUNCTION_ATTRIBUTE (line 119) | ALLOCATION_FUNCTION_ATTRIBUTE
function _CrtDbgReport (line 127) | int _CrtDbgReport(int, const char*, int,
function _CrtDbgReportW (line 132) | int _CrtDbgReportW(int reportType, const wchar_t*, int,
function _CrtSetReportMode (line 137) | int _CrtSetReportMode(int, int) {
type __asan (line 142) | namespace __asan {
function ReplaceSystemMalloc (line 143) | void ReplaceSystemMalloc() {
FILE: atlas-aapt/external/compiler-rt/lib/asan/asan_mapping.h
function namespace (line 213) | namespace __asan {
FILE: atlas-aapt/external/compiler-rt/lib/asan/asan_new_delete.cc
type std (line 36) | namespace std {
type nothrow_t (line 37) | struct nothrow_t {}
function CXX_OPERATOR_ATTRIBUTE (line 61) | CXX_OPERATOR_ATTRIBUTE
function CXX_OPERATOR_ATTRIBUTE (line 63) | CXX_OPERATOR_ATTRIBUTE
function CXX_OPERATOR_ATTRIBUTE (line 65) | CXX_OPERATOR_ATTRIBUTE
function CXX_OPERATOR_ATTRIBUTE (line 68) | CXX_OPERATOR_ATTRIBUTE
function INTERCEPTOR (line 73) | INTERCEPTOR(void *, _Znwm, size_t size) {
function INTERCEPTOR (line 76) | INTERCEPTOR(void *, _Znam, size_t size) {
function INTERCEPTOR (line 79) | INTERCEPTOR(void *, _ZnwmRKSt9nothrow_t, size_t size, std::nothrow_t con...
function INTERCEPTOR (line 82) | INTERCEPTOR(void *, _ZnamRKSt9nothrow_t, size_t size, std::nothrow_t con...
function CXX_OPERATOR_ATTRIBUTE (line 92) | CXX_OPERATOR_ATTRIBUTE
function CXX_OPERATOR_ATTRIBUTE (line 96) | CXX_OPERATOR_ATTRIBUTE
function CXX_OPERATOR_ATTRIBUTE (line 100) | CXX_OPERATOR_ATTRIBUTE
function CXX_OPERATOR_ATTRIBUTE (line 104) | CXX_OPERATOR_ATTRIBUTE
function CXX_OPERATOR_ATTRIBUTE (line 108) | CXX_OPERATOR_ATTRIBUTE
function CXX_OPERATOR_ATTRIBUTE (line 113) | CXX_OPERATOR_ATTRIBUTE
function INTERCEPTOR (line 120) | INTERCEPTOR(void, _ZdlPv, void *ptr) {
function INTERCEPTOR (line 123) | INTERCEPTOR(void, _ZdaPv, void *ptr) {
function INTERCEPTOR (line 126) | INTERCEPTOR(void, _ZdlPvRKSt9nothrow_t, void *ptr, std::nothrow_t const&) {
function INTERCEPTOR (line 129) | INTERCEPTOR(void, _ZdaPvRKSt9nothrow_t, void *ptr, std::nothrow_t const&) {
FILE: atlas-aapt/external/compiler-rt/lib/asan/asan_poisoning.cc
type __asan (line 22) | namespace __asan {
function SetCanPoisonMemory (line 26) | void SetCanPoisonMemory(bool value) {
function CanPoisonMemory (line 30) | bool CanPoisonMemory() {
function PoisonShadow (line 34) | void PoisonShadow(uptr addr, uptr size, u8 value) {
function PoisonShadowPartialRightRedzone (line 44) | void PoisonShadowPartialRightRedzone(uptr addr,
type ShadowSegmentEndpoint (line 54) | struct ShadowSegmentEndpoint {
method ShadowSegmentEndpoint (line 59) | explicit ShadowSegmentEndpoint(uptr address) {
function FlushUnneededASanShadowMemory (line 66) | void FlushUnneededASanShadowMemory(uptr p, uptr size) {
function AsanPoisonOrUnpoisonIntraObjectRedzone (line 75) | void AsanPoisonOrUnpoisonIntraObjectRedzone(uptr ptr, uptr size, bool ...
function __asan_poison_memory_region (line 111) | void __asan_poison_memory_region(void const volatile *addr, uptr size) {
function __asan_unpoison_memory_region (line 151) | void __asan_unpoison_memory_region(void const volatile *addr, uptr size) {
function __asan_address_is_poisoned (line 181) | int __asan_address_is_poisoned(void const volatile *addr) {
function uptr (line 185) | uptr __asan_region_is_poisoned(uptr beg, uptr size) {
function SANITIZER_INTERFACE_ATTRIBUTE (line 226) | SANITIZER_INTERFACE_ATTRIBUTE
function SANITIZER_INTERFACE_ATTRIBUTE (line 232) | SANITIZER_INTERFACE_ATTRIBUTE
function SANITIZER_INTERFACE_ATTRIBUTE (line 238) | SANITIZER_INTERFACE_ATTRIBUTE
function SANITIZER_INTERFACE_ATTRIBUTE (line 244) | SANITIZER_INTERFACE_ATTRIBUTE
function SANITIZER_INTERFACE_ATTRIBUTE (line 250) | SANITIZER_INTERFACE_ATTRIBUTE
function SANITIZER_INTERFACE_ATTRIBUTE (line 256) | SANITIZER_INTERFACE_ATTRIBUTE
function SANITIZER_INTERFACE_ATTRIBUTE (line 262) | SANITIZER_INTERFACE_ATTRIBUTE
function SANITIZER_INTERFACE_ATTRIBUTE (line 270) | SANITIZER_INTERFACE_ATTRIBUTE
function PoisonAlignedStackMemory (line 294) | static void PoisonAlignedStackMemory(uptr addr, uptr size, bool do_poiso...
function __asan_poison_stack_memory (line 317) | void __asan_poison_stack_memory(uptr addr, uptr size) {
function __asan_unpoison_stack_memory (line 322) | void __asan_unpoison_stack_memory(uptr addr, uptr size) {
function __sanitizer_annotate_contiguous_container (line 327) | void __sanitizer_annotate_contiguous_container(const void *beg_p,
function __sanitizer_verify_contiguous_container (line 411) | int __sanitizer_verify_contiguous_container(const void *beg_p,
function SANITIZER_INTERFACE_ATTRIBUTE (line 418) | SANITIZER_INTERFACE_ATTRIBUTE
function SANITIZER_INTERFACE_ATTRIBUTE (line 423) | SANITIZER_INTERFACE_ATTRIBUTE
type __lsan (line 429) | namespace __lsan {
function WordIsPoisoned (line 430) | bool WordIsPoisoned(uptr addr) {
FILE: atlas-aapt/external/compiler-rt/lib/asan/asan_poisoning.h
function namespace (line 20) | namespace __asan {
FILE: atlas-aapt/external/compiler-rt/lib/asan/asan_posix.cc
type __asan (line 34) | namespace __asan {
function AsanOnDeadlySignal (line 36) | void AsanOnDeadlySignal(int signo, void *siginfo, void *context) {
function AsanTSDInit (line 90) | void AsanTSDInit(void (*destructor)(void *tsd)) {
function AsanTSDSet (line 101) | void AsanTSDSet(void *tsd) {
function PlatformTSDDtor (line 106) | void PlatformTSDDtor(void *tsd) {
FILE: atlas-aapt/external/compiler-rt/lib/asan/asan_report.cc
type __asan (line 27) | namespace __asan {
type ReportData (line 37) | struct ReportData {
function AppendToErrorMessageBuffer (line 50) | void AppendToErrorMessageBuffer(const char *buffer) {
class Decorator (line 68) | class Decorator: public __sanitizer::SanitizerCommonDecorator {
method Decorator (line 70) | Decorator() : SanitizerCommonDecorator() { }
function PrintMemoryByte (line 119) | static void PrintMemoryByte(InternalScopedString *str, const char *bef...
function PrintShadowByte (line 128) | static void PrintShadowByte(InternalScopedString *str, const char *bef...
function PrintShadowBytes (line 133) | static void PrintShadowBytes(InternalScopedString *str, const char *be...
function PrintLegend (line 147) | static void PrintLegend(InternalScopedString *str) {
function MaybeDumpInstructionBytes (line 189) | void MaybeDumpInstructionBytes(uptr pc) {
function PrintShadowMemoryForAddress (line 205) | static void PrintShadowMemoryForAddress(uptr addr) {
function PrintZoneForPointer (line 221) | static void PrintZoneForPointer(uptr ptr, uptr zone_ptr,
function DescribeThread (line 236) | static void DescribeThread(AsanThread *t) {
function IsASCII (line 243) | static bool IsASCII(unsigned char c) {
function PrintGlobalNameIfASCII (line 260) | static void PrintGlobalNameIfASCII(InternalScopedString *str,
function PrintGlobalLocation (line 280) | static void PrintGlobalLocation(InternalScopedString *str,
function DescribeAddressRelativeToGlobal (line 291) | static void DescribeAddressRelativeToGlobal(uptr addr, uptr size,
function DescribeAddressIfGlobal (line 317) | static bool DescribeAddressIfGlobal(uptr addr, uptr size,
function DescribeAddressIfShadow (line 338) | bool DescribeAddressIfShadow(uptr addr, AddressDescription *descr, boo...
function PrintAccessAndVarIntersection (line 378) | static void PrintAccessAndVarIntersection(const StackVarDescr &var, up...
function ParseFrameDescription (line 421) | bool ParseFrameDescription(const char *frame_descr,
function DescribeAddressIfStack (line 448) | bool DescribeAddressIfStack(uptr addr, uptr access_size) {
function DescribeAccessToHeapChunk (line 513) | static void DescribeAccessToHeapChunk(AsanChunkView chunk, uptr addr,
function DescribeHeapAddress (line 539) | void DescribeHeapAddress(uptr addr, uptr access_size) {
function DescribeAddress (line 580) | static void DescribeAddress(uptr addr, uptr access_size, const char *b...
function DescribeThread (line 595) | void DescribeThread(AsanThreadContext *context) {
class ScopedInErrorReport (line 629) | class ScopedInErrorReport {
method ScopedInErrorReport (line 631) | explicit ScopedInErrorReport(ReportData *report = nullptr,
method StartReporting (line 717) | void StartReporting(ReportData *report) {
function ReportStackOverflow (line 740) | void ReportStackOverflow(const SignalContext &sig) {
function ReportDeadlySignal (line 755) | void ReportDeadlySignal(const char *description, const SignalContext &...
function ReportDoubleFree (line 775) | void ReportDoubleFree(uptr addr, BufferedStackTrace *free_stack) {
function ReportNewDeleteSizeMismatch (line 793) | void ReportNewDeleteSizeMismatch(uptr addr, uptr delete_size,
function ReportFreeNotMalloced (line 817) | void ReportFreeNotMalloced(uptr addr, BufferedStackTrace *free_stack) {
function ReportAllocTypeMismatch (line 834) | void ReportAllocTypeMismatch(uptr addr, BufferedStackTrace *free_stack,
function ReportMallocUsableSizeNotOwned (line 857) | void ReportMallocUsableSizeNotOwned(uptr addr, BufferedStackTrace *sta...
function ReportSanitizerGetAllocatedSizeNotOwned (line 870) | void ReportSanitizerGetAllocatedSizeNotOwned(uptr addr,
function ReportStringFunctionMemoryRangesOverlap (line 884) | void ReportStringFunctionMemoryRangesOverlap(const char *function,
function ReportStringFunctionSizeOverflow (line 903) | void ReportStringFunctionSizeOverflow(uptr offset, uptr size,
function ReportBadParamsToAnnotateContiguousContainer (line 916) | void ReportBadParamsToAnnotateContiguousContainer(uptr beg, uptr end,
function ReportODRViolation (line 934) | void ReportODRViolation(const __asan_global *g1, u32 stack_id1,
function NOINLINE (line 964) | static NOINLINE void
function INLINE (line 979) | static INLINE void CheckForInvalidPointerPair(void *p1, void *p2) {
function ReportMacMzReallocUnknown (line 994) | void ReportMacMzReallocUnknown(uptr addr, uptr zone_ptr, const char *z...
function SuppressErrorReport (line 1007) | static bool SuppressErrorReport(uptr pc) {
function ReportGenericError (line 1019) | void ReportGenericError(uptr pc, uptr bp, uptr sp, uptr addr, bool is_...
function __asan_report_error (line 1121) | void __asan_report_error(uptr pc, uptr bp, uptr sp, uptr addr, int is_wr...
function __asan_set_error_report_callback (line 1128) | void NOINLINE __asan_set_error_report_callback(void (*callback)(const ch...
function __asan_describe_address (line 1133) | void __asan_describe_address(uptr addr) {
function __asan_report_present (line 1140) | int __asan_report_present() {
function uptr (line 1144) | uptr __asan_get_report_pc() {
function uptr (line 1148) | uptr __asan_get_report_bp() {
function uptr (line 1152) | uptr __asan_get_report_sp() {
function uptr (line 1156) | uptr __asan_get_report_address() {
function __asan_get_report_access_type (line 1160) | int __asan_get_report_access_type() {
function uptr (line 1164) | uptr __asan_get_report_access_size() {
function SANITIZER_INTERFACE_ATTRIBUTE (line 1173) | SANITIZER_INTERFACE_ATTRIBUTE
function SANITIZER_INTERFACE_ATTRIBUTE (line 1177) | SANITIZER_INTERFACE_ATTRIBUTE
function __asan_on_error (line 1187) | void __asan_on_error() {}
FILE: atlas-aapt/external/compiler-rt/lib/asan/asan_report.h
function namespace (line 19) | namespace __asan {
FILE: atlas-aapt/external/compiler-rt/lib/asan/asan_rtl.cc
type __asan (line 38) | namespace __asan {
function AsanDie (line 42) | static void AsanDie() {
function AsanCheckFailed (line 62) | static void AsanCheckFailed(const char *file, int line, const char *cond,
function ShowStatsAndAbort (line 80) | void ShowStatsAndAbort() {
function ReserveShadowMemoryRange (line 88) | void ReserveShadowMemoryRange(uptr beg, uptr end, const char *name) {
function OnLowLevelAllocate (line 106) | static void OnLowLevelAllocate(uptr ptr, uptr size) {
function NOINLINE (line 204) | NOINLINE INTERFACE_ATTRIBUTE
function NOINLINE (line 213) | NOINLINE INTERFACE_ATTRIBUTE
function NOINLINE (line 222) | NOINLINE INTERFACE_ATTRIBUTE
function NOINLINE (line 231) | NOINLINE INTERFACE_ATTRIBUTE
function NOINLINE (line 240) | NOINLINE INTERFACE_ATTRIBUTE
function NOINLINE (line 249) | NOINLINE INTERFACE_ATTRIBUTE
function NOINLINE (line 262) | static NOINLINE void force_interface_symbols() {
function asan_atexit (line 308) | static void asan_atexit() {
function InitializeHighMemEnd (line 318) | static void InitializeHighMemEnd() {
function ProtectGap (line 328) | static void ProtectGap(uptr addr, uptr size) {
function PrintAddressSpaceLayout (line 354) | static void PrintAddressSpaceLayout() {
function AsanInitInternal (line 404) | static void AsanInitInternal() {
function AsanInitFromRtl (line 560) | void AsanInitFromRtl() {
class AsanInitializer (line 568) | class AsanInitializer {
method AsanInitializer (line 570) | AsanInitializer() {
function __asan_handle_no_return (line 583) | void NOINLINE __asan_handle_no_return() {
function __asan_set_death_callback (line 617) | void NOINLINE __asan_set_death_callback(void (*callback)(void)) {
function __asan_init (line 623) | void __asan_init() {
function __asan_version_mismatch_check (line 628) | void __asan_version_mismatch_check() {
FILE: atlas-aapt/external/compiler-rt/lib/asan/asan_stack.cc
type __asan (line 18) | namespace __asan {
function SetMallocContextSize (line 22) | void SetMallocContextSize(u32 size) {
function u32 (line 26) | u32 GetMallocContextSize() {
function SANITIZER_INTERFACE_ATTRIBUTE (line 35) | SANITIZER_INTERFACE_ATTRIBUTE
FILE: atlas-aapt/external/compiler-rt/lib/asan/asan_stack.h
function namespace (line 23) | namespace __asan {
FILE: atlas-aapt/external/compiler-rt/lib/asan/asan_stats.cc
type __asan (line 22) | namespace __asan {
function PrintMallocStatsArray (line 33) | static void PrintMallocStatsArray(const char *prefix,
function MergeThreadStats (line 75) | static void MergeThreadStats(ThreadContextBase *tctx_base, void *arg) {
function GetAccumulatedStats (line 82) | static void GetAccumulatedStats(AsanStats *stats) {
function FlushToDeadThreadStats (line 102) | void FlushToDeadThreadStats(AsanStats *stats) {
function FillMallocStatistics (line 108) | void FillMallocStatistics(AsanMallocStats *malloc_stats) {
function AsanStats (line 117) | AsanStats &GetCurrentThreadStats() {
function PrintAccumulatedStats (line 122) | static void PrintAccumulatedStats() {
function uptr (line 139) | uptr __sanitizer_get_current_allocated_bytes() {
function uptr (line 149) | uptr __sanitizer_get_heap_size() {
function uptr (line 155) | uptr __sanitizer_get_free_bytes() {
function uptr (line 168) | uptr __sanitizer_get_unmapped_bytes() {
function __asan_print_accumulated_stats (line 172) | void __asan_print_accumulated_stats() {
FILE: atlas-aapt/external/compiler-rt/lib/asan/asan_stats.h
function namespace (line 20) | namespace __asan {
FILE: atlas-aapt/external/compiler-rt/lib/asan/asan_suppressions.cc
type __asan (line 22) | namespace __asan {
function InitializeSuppressions (line 44) | void InitializeSuppressions() {
function IsInterceptorSuppressed (line 53) | bool IsInterceptorSuppressed(const char *interceptor_name) {
function HaveStackTraceBasedSuppressions (line 60) | bool HaveStackTraceBasedSuppressions() {
function IsODRViolationSuppressed (line 66) | bool IsODRViolationSuppressed(const char *global_var_name) {
function IsStackTraceSuppressed (line 73) | bool IsStackTraceSuppressed(const StackTrace *stack) {
FILE: atlas-aapt/external/compiler-rt/lib/asan/asan_suppressions.h
function namespace (line 20) | namespace __asan {
FILE: atlas-aapt/external/compiler-rt/lib/asan/asan_thread.cc
type __asan (line 26) | namespace __asan {
type CreateThreadContextArgs (line 30) | struct CreateThreadContextArgs {
function ThreadContextBase (line 55) | static ThreadContextBase *GetAsanThreadContext(u32 tid) {
function ThreadRegistry (line 60) | ThreadRegistry &asanThreadRegistry() {
function AsanThreadContext (line 76) | AsanThreadContext *GetThreadContextByTidLocked(u32 tid) {
function AsanThread (line 83) | AsanThread *AsanThread::Create(thread_callback_t start_routine, void *...
function FakeStack (line 125) | FakeStack *AsanThread::AsyncSignalSafeLazyInitFakeStack() {
function thread_return_t (line 166) | thread_return_t AsanThread::ThreadStart(
function ThreadStackContainsAddress (line 252) | static bool ThreadStackContainsAddress(ThreadContextBase *tctx_base,
function AsanThread (line 263) | AsanThread *GetCurrentThread() {
function SetCurrentThread (line 284) | void SetCurrentThread(AsanThread *t) {
function u32 (line 294) | u32 GetCurrentTidOrInvalid() {
function AsanThread (line 299) | AsanThread *FindThreadByStackAddress(uptr addr) {
function EnsureMainThreadIDIsCorrect (line 307) | void EnsureMainThreadIDIsCorrect() {
type __lsan (line 323) | namespace __lsan {
function GetThreadRangesLocked (line 324) | bool GetThreadRangesLocked(uptr os_id, uptr *stack_begin, uptr *stack_...
function ForEachExtraStackRange (line 339) | void ForEachExtraStackRange(uptr os_id, RangeIteratorCallback callback,
function LockThreadRegistry (line 346) | void LockThreadRegistry() {
function UnlockThreadRegistry (line 350) | void UnlockThreadRegistry() {
function EnsureMainThreadIDIsCorrect (line 354) | void EnsureMainThreadIDIsCorrect() {
FILE: atlas-aapt/external/compiler-rt/lib/asan/asan_thread.h
function namespace (line 26) | namespace __asan {
FILE: atlas-aapt/external/compiler-rt/lib/asan/asan_win.cc
function SANITIZER_INTERFACE_ATTRIBUTE (line 33) | SANITIZER_INTERFACE_ATTRIBUTE
function __sanitizer_default_malloc_hook (line 44) | void __sanitizer_default_malloc_hook(void *ptr, uptr size) { }
function __sanitizer_default_free_hook (line 45) | void __sanitizer_default_free_hook(void *ptr) { }
function __asan_default_on_error (line 48) | void __asan_default_on_error() {}
function INTERCEPTOR_WINAPI (line 58) | INTERCEPTOR_WINAPI(void, RaiseException, void *a, void *b, void *c, void...
function INTERCEPTOR (line 64) | INTERCEPTOR(int, _except_handler3, void *a, void *b, void *c, void *d) {
function INTERCEPTOR (line 74) | INTERCEPTOR(int, _except_handler4, void *a, void *b, void *c, void *d) {
function thread_return_t (line 80) | static thread_return_t THREAD_CALLING_CONV asan_thread_start(void *arg) {
function INTERCEPTOR_WINAPI (line 86) | INTERCEPTOR_WINAPI(DWORD, CreateThread,
function EnsureWorkerThreadRegistered (line 107) | void EnsureWorkerThreadRegistered() {
function INTERCEPTOR_WINAPI (line 125) | INTERCEPTOR_WINAPI(DWORD, NtWaitForWorkViaWorkerFactory, DWORD a, DWORD ...
type __asan (line 137) | namespace __asan {
function InitializePlatformInterceptors (line 139) | void InitializePlatformInterceptors() {
function AsanTSDInit (line 157) | void AsanTSDInit(void (*destructor)(void *tsd)) {
function AsanTSDSet (line 167) | void AsanTSDSet(void *tsd) {
function PlatformTSDDtor (line 172) | void PlatformTSDDtor(void *tsd) {
function AsanCheckDynamicRTPrereqs (line 185) | void AsanCheckDynamicRTPrereqs() {}
function AsanCheckIncompatibleRT (line 187) | void AsanCheckIncompatibleRT() {}
function ReadContextStack (line 189) | void ReadContextStack(void *context, uptr *stack, uptr *ssize) {
function AsanOnDeadlySignal (line 193) | void AsanOnDeadlySignal(int, void *siginfo, void *context) {
function SEHHandler (line 199) | static long WINAPI SEHHandler(EXCEPTION_POINTERS *info) {
function SANITIZER_INTERFACE_ATTRIBUTE (line 234) | SANITIZER_INTERFACE_ATTRIBUTE
FILE: atlas-aapt/external/compiler-rt/lib/asan/asan_win_dll_thunk.cc
function uptr (line 32) | static uptr getRealProcAddressOrDie(const char *name) {
type FunctionInterceptor (line 54) | struct FunctionInterceptor {
method Execute (line 55) | static void Execute() { FunctionInterceptor<LINE-1>::Execute(); }
type FunctionInterceptor<0> (line 60) | struct FunctionInterceptor<0> {
method Execute (line 61) | static void Execute() {}
function __asan_init (line 206) | void __asan_init() {
function __asan_version_mismatch_check (line 221) | void __asan_version_mismatch_check() {
function INTERCEPTOR (line 377) | INTERCEPTOR(int, _except_handler4, void *a, void *b, void *c, void *d) {
function InterceptHooks (line 407) | void InterceptHooks() {
function call_asan_init (line 419) | static int call_asan_init() {
FILE: atlas-aapt/external/compiler-rt/lib/asan/asan_win_dynamic_runtime_thunk.cc
function UnregisterGlobals (line 69) | void UnregisterGlobals() {
function ScheduleUnregisterGlobals (line 73) | int ScheduleUnregisterGlobals() {
function SetSEHFilter (line 92) | static int SetSEHFilter() { return __asan_set_seh_filter(); }
FILE: atlas-aapt/external/compiler-rt/lib/asan/asanwrapper.cc
function usage (line 11) | void usage(const char* me) {
function env_prepend (line 20) | void env_prepend(const char* name, const char* value, const char* delim) {
function elf_is_64bit (line 30) | bool elf_is_64bit(const char* path) {
function main (line 51) | int main(int argc, char** argv) {
FILE: atlas-aapt/external/compiler-rt/lib/asan/scripts/asan_symbolize.py
function fix_filename (line 29) | def fix_filename(file_name):
function sysroot_path_filter (line 37) | def sysroot_path_filter(binary_name):
function guess_arch (line 40) | def guess_arch(addr):
class Symbolizer (line 47) | class Symbolizer(object):
method __init__ (line 48) | def __init__(self):
method symbolize (line 51) | def symbolize(self, addr, binary, offset):
class LLVMSymbolizer (line 67) | class LLVMSymbolizer(Symbolizer):
method __init__ (line 68) | def __init__(self, symbolizer_path, default_arch, system, dsym_hints=[]):
method open_llvm_symbolizer (line 76) | def open_llvm_symbolizer(self):
method symbolize (line 95) | def symbolize(self, addr, binary, offset):
function LLVMSymbolizerFactory (line 123) | def LLVMSymbolizerFactory(system, default_arch, dsym_hints=[]):
class Addr2LineSymbolizer (line 133) | class Addr2LineSymbolizer(Symbolizer):
method __init__ (line 134) | def __init__(self, binary):
method open_addr2line (line 140) | def open_addr2line(self):
method symbolize (line 153) | def symbolize(self, addr, binary, offset):
class UnbufferedLineConverter (line 175) | class UnbufferedLineConverter(object):
method __init__ (line 180) | def __init__(self, args, close_stderr=False):
method convert (line 200) | def convert(self, line):
method readline (line 204) | def readline(self):
class DarwinSymbolizer (line 208) | class DarwinSymbolizer(Symbolizer):
method __init__ (line 209) | def __init__(self, addr, binary):
method open_atos (line 215) | def open_atos(self):
method symbolize (line 221) | def symbolize(self, addr, binary, offset):
class ChainSymbolizer (line 244) | class ChainSymbolizer(Symbolizer):
method __init__ (line 245) | def __init__(self, symbolizer_list):
method symbolize (line 249) | def symbolize(self, addr, binary, offset):
method append_symbolizer (line 258) | def append_symbolizer(self, symbolizer):
function BreakpadSymbolizerFactory (line 262) | def BreakpadSymbolizerFactory(binary):
function SystemSymbolizerFactory (line 271) | def SystemSymbolizerFactory(system, addr, binary):
class BreakpadSymbolizer (line 278) | class BreakpadSymbolizer(Symbolizer):
method __init__ (line 279) | def __init__(self, filename):
method parse_lines (line 294) | def parse_lines(self, lines):
method get_sym_file_line (line 320) | def get_sym_file_line(self, addr):
method symbolize (line 338) | def symbolize(self, addr, binary, offset):
class SymbolizationLoop (line 352) | class SymbolizationLoop(object):
method __init__ (line 353) | def __init__(self, binary_name_filter=None, dsym_hint_producer=None):
method symbolize_address (line 372) | def symbolize_address(self, addr, binary, offset):
method get_symbolized_lines (line 414) | def get_symbolized_lines(self, symbolized_lines):
method process_logfile (line 424) | def process_logfile(self):
method process_line_echo (line 430) | def process_line_echo(self, line):
method process_line_posix (line 433) | def process_line_posix(self, line):
FILE: atlas-aapt/external/compiler-rt/lib/asan/scripts/symbolize.py
function patch_address (line 21) | def patch_address(frameno, addr_s):
function android_get_load_address (line 36) | def android_get_load_address(path):
function postprocess_file_name (line 53) | def postprocess_file_name(file_name, paths_to_cut):
function symbolize_addr2line (line 61) | def symbolize_addr2line(line, binary_prefix, paths_to_cut):
FILE: atlas-aapt/external/compiler-rt/lib/asan/tests/asan_asm_test.cc
function TestAsmWrite (line 129) | void TestAsmWrite(const char *DeathPattern) {
function TestAsmRead (line 152) | void TestAsmRead(const char *DeathPattern) {
function U4 (line 172) | U4 AsmLoad(U4 *a) {
function AsmStore (line 178) | void AsmStore(U4 r, U4 *a) {
function TestAsmRepMovs (line 183) | void TestAsmRepMovs(const char *DeathPatternRead,
function TEST (line 206) | TEST(AddressSanitizer, asm_load_store) {
function TEST (line 213) | TEST(AddressSanitizer, asm_rw) {
function TEST (line 231) | TEST(AddressSanitizer, asm_flags) {
function TEST (line 256) | TEST(AddressSanitizer, asm_rep_movs) {
FILE: atlas-aapt/external/compiler-rt/lib/asan/tests/asan_benchmarks_test.cc
function ManyAccessFunc (line 18) | __attribute__((noinline))
function TEST (line 44) | TEST(AddressSanitizer, ManyAccessBenchmark) {
function BorderAccessFunc (line 52) | __attribute__((noinline))
function TEST (line 66) | TEST(AddressSanitizer, BorderAccessBenchmark) {
function FunctionWithLargeStack (line 72) | static void FunctionWithLargeStack() {
function TEST (line 77) | TEST(AddressSanitizer, FakeStackBenchmark) {
function main (line 82) | int main(int argc, char **argv) {
FILE: atlas-aapt/external/compiler-rt/lib/asan/tests/asan_exceptions_test.cc
class Action (line 5) | class Action {
method Action (line 7) | Action() {}
method PrintString (line 8) | void PrintString(const std::string& msg) const {
method Throw (line 11) | void Throw(const char& arg) const {
function main (line 17) | int main() {
FILE: atlas-aapt/external/compiler-rt/lib/asan/tests/asan_fake_stack_test.cc
type __asan (line 26) | namespace __asan {
function TEST (line 28) | TEST(FakeStack, FlagsSize) {
function TEST (line 34) | TEST(FakeStack, RequiredSize) {
function TEST (line 46) | TEST(FakeStack, FlagsOffset) {
function TEST (line 63) | TEST(FakeStack, CreateDestroy) {
function TEST (line 73) | TEST(FakeStack, ModuloNumberOfFrames) {
function TEST (line 93) | TEST(FakeStack, GetFrame) {
function TEST (line 106) | TEST(FakeStack, Allocate) {
function RecursiveFunction (line 135) | static void RecursiveFunction(FakeStack *fs, int depth) {
function TEST (line 145) | TEST(FakeStack, RecursiveStressTest) {
FILE: atlas-aapt/external/compiler-rt/lib/asan/tests/asan_globals_test.cc
function GlobalsTest (line 39) | int GlobalsTest(int zero) {
FILE: atlas-aapt/external/compiler-rt/lib/asan/tests/asan_interface_test.cc
function TEST (line 17) | TEST(AddressSanitizerInterface, GetEstimatedAllocatedSize) {
function TEST (line 28) | TEST(AddressSanitizerInterface, GetAllocatedSizeAndOwnershipTest) {
function TEST (line 74) | TEST(AddressSanitizerInterface, GetCurrentAllocatedBytesTest) {
function TEST (line 89) | TEST(AddressSanitizerInterface, GetHeapSizeTest) {
function TEST (line 120) | TEST(AddressSanitizerInterface, ManyThreadsWithStatsStressTest) {
function DoDoubleFree (line 137) | static void DoDoubleFree() {
function TEST (line 143) | TEST(AddressSanitizerInterface, ExitCode) {
function MyDeathCallback (line 153) | static void MyDeathCallback() {
function TEST (line 158) | TEST(AddressSanitizerInterface, DeathCallbackTest) {
function TEST (line 172) | TEST(AddressSanitizerInterface, SimplePoisonMemoryRegionTest) {
function TEST (line 190) | TEST(AddressSanitizerInterface, OverlappingPoisonMemoryRegionTest) {
function TEST (line 211) | TEST(AddressSanitizerInterface, PushAndPopWithPoisoningTest) {
function MakeShadowValid (line 232) | static void MakeShadowValid(bool *shadow, int length, int granularity) {
function TEST (line 245) | TEST(AddressSanitizerInterface, PoisoningStressTest) {
function TEST (line 284) | TEST(AddressSanitizerInterface, GlobalRedzones) {
function TEST (line 331) | TEST(AddressSanitizerInterface, PoisonedRegion) {
function TEST (line 361) | TEST(AddressSanitizerInterface, DISABLED_StressLargeMemset) {
function TEST (line 370) | TEST(AddressSanitizerInterface, DISABLED_StressSmallMemset) {
function TEST (line 380) | TEST(AddressSanitizerInterface, DISABLED_InvalidPoisonAndUnpoisonCallsTe...
function ErrorReportCallbackOneToZ (line 398) | static void ErrorReportCallbackOneToZ(const char *report) {
function TEST (line 406) | TEST(AddressSanitizerInterface, SetErrorReportCallbackTest) {
function TEST (line 414) | TEST(AddressSanitizerInterface, GetOwnershipStressTest) {
FILE: atlas-aapt/external/compiler-rt/lib/asan/tests/asan_mac_test.cc
function TEST (line 22) | TEST(AddressSanitizerMac, CFAllocatorDefaultDoubleFree) {
function CFAllocator_DoubleFreeOnPthread (line 28) | void CFAllocator_DoubleFreeOnPthread() {
function TEST (line 34) | TEST(AddressSanitizerMac, CFAllocatorDefaultDoubleFree_ChildPhread) {
function CFAllocator_PassMemoryToAnotherThread (line 54) | void CFAllocator_PassMemoryToAnotherThread() {
function TEST (line 62) | TEST(AddressSanitizerMac, CFAllocator_PassMemoryToAnotherThread) {
function TEST (line 71) | TEST(AddressSanitizerMac, DISABLED_CFAllocatorSystemDefaultDoubleFree) {
function TEST (line 78) | TEST(AddressSanitizerMac, CFAllocatorMallocDoubleFree) {
function TEST (line 82) | TEST(AddressSanitizerMac, DISABLED_CFAllocatorMallocZoneDoubleFree) {
function TEST (line 89) | TEST(AddressSanitizerMac, GCDDispatchAsync) {
function TEST (line 95) | TEST(AddressSanitizerMac, GCDDispatchSync) {
function TEST (line 102) | TEST(AddressSanitizerMac, GCDReuseWqthreadsAsync) {
function TEST (line 108) | TEST(AddressSanitizerMac, GCDReuseWqthreadsSync) {
function TEST (line 114) | TEST(AddressSanitizerMac, GCDDispatchAfter) {
function TEST (line 120) | TEST(AddressSanitizerMac, GCDSourceEvent) {
function TEST (line 126) | TEST(AddressSanitizerMac, GCDSourceCancel) {
function TEST (line 132) | TEST(AddressSanitizerMac, GCDGroupAsync) {
function TEST (line 169) | TEST(AddressSanitizerMac, MallocIntrospectionLock) {
function TEST (line 196) | TEST(AddressSanitizerMac, DISABLED_TSDWorkqueueTest) {
function TEST (line 206) | TEST(AddressSanitizerMac, CFStringCreateCopy) {
function TEST (line 212) | TEST(AddressSanitizerMac, NSObjectOOB) {
function TEST (line 220) | TEST(AddressSanitizerMac, NSURLDeallocation) {
function TEST (line 225) | TEST(AddressSanitizerMac, Mstats) {
FILE: atlas-aapt/external/compiler-rt/lib/asan/tests/asan_mem_test.cc
function MemSetOOBTestTemplate (line 16) | void MemSetOOBTestTemplate(size_t length) {
function TEST (line 68) | TEST(AddressSanitizer, MemSetOOBTest) {
function AllocateTwoAdjacentArrays (line 78) | static bool AllocateTwoAdjacentArrays(char **x1, char **x2, size_t size) {
function TEST (line 105) | TEST(AddressSanitizer, LargeOOBInMemset) {
function MemTransferOOBTestTemplate (line 123) | void MemTransferOOBTestTemplate(size_t length) {
class MemCpyWrapper (line 184) | class MemCpyWrapper {
function TEST (line 191) | TEST(AddressSanitizer, MemCpyOOBTest) {
class MemMoveWrapper (line 196) | class MemMoveWrapper {
function TEST (line 203) | TEST(AddressSanitizer, MemMoveOOBTest) {
function TEST (line 209) | TEST(AddressSanitizer, MemCmpOOBTest) {
FILE: atlas-aapt/external/compiler-rt/lib/asan/tests/asan_noinst_test.cc
type AsanInitCaller (line 35) | struct AsanInitCaller {
method AsanInitCaller (line 36) | AsanInitCaller() {
function TEST (line 43) | TEST(AddressSanitizer, InternalSimpleDeathTest) {
function MallocStress (line 47) | static void MallocStress(size_t n) {
function TEST (line 95) | TEST(AddressSanitizer, NoInstMallocTest) {
function TEST (line 99) | TEST(AddressSanitizer, ThreadedMallocStressTest) {
function PrintShadow (line 112) | static void PrintShadow(const char *tag, uptr ptr, size_t size) {
function TEST (line 127) | TEST(AddressSanitizer, DISABLED_InternalPrintShadow) {
function TEST (line 136) | TEST(AddressSanitizer, QuarantineTest) {
function TEST (line 171) | TEST(AddressSanitizer, ThreadedQuarantineTest) {
function TEST (line 201) | TEST(AddressSanitizer, ThreadedOneSizeMallocStressTest) {
function TEST (line 212) | TEST(AddressSanitizer, ShadowRegionIsPoisonedTest) {
function TEST (line 224) | TEST(AddressSanitizer, LoadStoreCallbacks) {
FILE: atlas-aapt/external/compiler-rt/lib/asan/tests/asan_oob_test.cc
function NOINLINE (line 15) | NOINLINE void asan_write_sized_aligned(uint8_t *p, size_t size) {
function NOINLINE (line 24) | NOINLINE void oob_test(int size, int off) {
function OOBTest (line 33) | void OOBTest() {
function TEST (line 69) | TEST(AddressSanitizer, OOB_char) {
function TEST (line 73) | TEST(AddressSanitizer, OOB_int) {
function TEST (line 77) | TEST(AddressSanitizer, OOBRightTest) {
function TEST (line 104) | TEST(AddressSanitizer, LargeOOBRightTest) {
function TEST (line 114) | TEST(AddressSanitizer, DISABLED_DemoOOBLeftLow) {
function TEST (line 118) | TEST(AddressSanitizer, DISABLED_DemoOOBLeftHigh) {
function TEST (line 122) | TEST(AddressSanitizer, DISABLED_DemoOOBRightLow) {
function TEST (line 126) | TEST(AddressSanitizer, DISABLED_DemoOOBRightHigh) {
FILE: atlas-aapt/external/compiler-rt/lib/asan/tests/asan_racy_double_free_test.cc
function main (line 24) | int main() {
FILE: atlas-aapt/external/compiler-rt/lib/asan/tests/asan_str_test.cc
function StrLenOOBTestTemplate (line 26) | void StrLenOOBTestTemplate(char *str, size_t length, bool is_global) {
function TEST (line 48) | TEST(AddressSanitizer, StrLenOOBTest) {
function TEST (line 68) | TEST(AddressSanitizer, WcsLenTest) {
function TEST (line 81) | TEST(AddressSanitizer, StrNLenOOBTest) {
function TEST (line 100) | TEST(AddressSanitizer, StrDupOOBTest) {
function TEST (line 119) | TEST(AddressSanitizer, StrCpyOOBTest) {
function TEST (line 142) | TEST(AddressSanitizer, StrNCpyOOBTest) {
function UNUSED (line 189) | UNUSED static void RunStrChrTest(PointerToStrChr1 StrChr) {
function UNUSED (line 205) | UNUSED static void RunStrChrTest(PointerToStrChr2 StrChr) {
function TEST (line 222) | TEST(AddressSanitizer, StrChrAndIndexOOBTest) {
function TEST (line 230) | TEST(AddressSanitizer, StrCmpAndFriendsLogicTest) {
function RunStrCmpTest (line 282) | void RunStrCmpTest(PointerToStrCmp StrCmp) {
function TEST (line 306) | TEST(AddressSanitizer, StrCmpOOBTest) {
function TEST (line 311) | TEST(AddressSanitizer, StrCaseCmpOOBTest) {
function RunStrNCmpTest (line 317) | void RunStrNCmpTest(PointerToStrNCmp StrNCmp) {
function TEST (line 343) | TEST(AddressSanitizer, StrNCmpOOBTest) {
function TEST (line 348) | TEST(AddressSanitizer, StrNCaseCmpOOBTest) {
function TEST (line 353) | TEST(AddressSanitizer, StrCatOOBTest) {
function TEST (line 388) | TEST(AddressSanitizer, StrNCatOOBTest) {
function string (line 424) | static string OverlapErrorMessage(const string &func) {
function TEST (line 428) | TEST(AddressSanitizer, StrArgsOverlapTest) {
function RunAtoiOOBTest (line 495) | void RunAtoiOOBTest(PointerToCallAtoi Atoi) {
function CallAtoi (line 515) | void CallAtoi(const char *nptr) {
function CallAtol (line 518) | void CallAtol(const char *nptr) {
function CallAtoll (line 521) | void CallAtoll(const char *nptr) {
function TEST (line 524) | TEST(AddressSanitizer, AtoiAndFriendsOOBTest) {
function RunStrtolOOBTest (line 533) | void RunStrtolOOBTest(PointerToCallStrtol Strtol) {
function CallStrtol (line 559) | void CallStrtol(const char *nptr, char **endptr, int base) {
function CallStrtoll (line 562) | void CallStrtoll(const char *nptr, char **endptr, int base) {
function TEST (line 565) | TEST(AddressSanitizer, StrtollOOBTest) {
function TEST (line 568) | TEST(AddressSanitizer, StrtolOOBTest) {
FILE: atlas-aapt/external/compiler-rt/lib/asan/tests/asan_test.cc
function NOINLINE (line 15) | NOINLINE void *malloc_fff(size_t size) {
function NOINLINE (line 17) | NOINLINE void *malloc_eee(size_t size) {
function NOINLINE (line 19) | NOINLINE void *malloc_ddd(size_t size) {
function NOINLINE (line 21) | NOINLINE void *malloc_ccc(size_t size) {
function NOINLINE (line 23) | NOINLINE void *malloc_bbb(size_t size) {
function NOINLINE (line 25) | NOINLINE void *malloc_aaa(size_t size) {
function NOINLINE (line 28) | NOINLINE void free_ccc(void *p) { free(p); break_optimization(0);}
function NOINLINE (line 29) | NOINLINE void free_bbb(void *p) { free_ccc(p); break_optimization(0);}
function NOINLINE (line 30) | NOINLINE void free_aaa(void *p) { free_bbb(p); break_optimization(0);}
function NOINLINE (line 33) | NOINLINE void uaf_test(int size, int off) {
function TEST (line 43) | TEST(AddressSanitizer, HasFeatureAddressSanitizerTest) {
function TEST (line 54) | TEST(AddressSanitizer, SimpleDeathTest) {
function TEST (line 58) | TEST(AddressSanitizer, VariousMallocsTest) {
function TEST (line 91) | TEST(AddressSanitizer, CallocTest) {
function TEST (line 97) | TEST(AddressSanitizer, CallocReturnsZeroMem) {
function TEST (line 121) | TEST(AddressSanitizer, VallocTest) {
function TEST (line 129) | TEST(AddressSanitizer, PvallocTest) {
function TSDDestructor (line 151) | void TSDDestructor(void *tsd) {
function TEST (line 165) | TEST(AddressSanitizer, DISABLED_TSDTest) {
function TEST (line 175) | TEST(AddressSanitizer, UAF_char) {
function TEST (line 184) | TEST(AddressSanitizer, UAF_long_double) {
type Packed5 (line 193) | struct Packed5 {
type Packed5 (line 199) | struct Packed5 {
function TEST (line 206) | TEST(AddressSanitizer, UAF_Packed5) {
function TEST (line 215) | TEST(AddressSanitizer, IgnoreTest) {
type StructWithBitField (line 222) | struct StructWithBitField {
function TEST (line 229) | TEST(AddressSanitizer, BitFieldPositiveTest) {
type StructWithBitFields_8_24 (line 238) | struct StructWithBitFields_8_24 {
function TEST (line 243) | TEST(AddressSanitizer, BitFieldNegativeTest) {
function TEST (line 256) | TEST(AddressSanitizer, WildAddressTest) {
function my_sigaction_sighandler (line 261) | void my_sigaction_sighandler(int, siginfo_t*, void*) {
function my_signal_sighandler (line 266) | void my_signal_sighandler(int signum) {
function TEST (line 271) | TEST(AddressSanitizer, SignalTest) {
function TestLargeMalloc (line 290) | static void TestLargeMalloc(size_t size) {
function TEST (line 296) | TEST(AddressSanitizer, LargeMallocTest) {
function TEST (line 303) | TEST(AddressSanitizer, HugeMallocTest) {
function MemalignRun (line 312) | void MemalignRun(size_t align, size_t size, int idx) {
function TEST (line 318) | TEST(AddressSanitizer, memalign) {
function TEST (line 338) | TEST(AddressSanitizer, ManyThreadsTest) {
function TEST (line 350) | TEST(AddressSanitizer, ReallocTest) {
function TEST (line 368) | TEST(AddressSanitizer, ReallocFreedPointerTest) {
function TEST (line 375) | TEST(AddressSanitizer, ReallocInvalidPointerTest) {
function TEST (line 381) | TEST(AddressSanitizer, ZeroSizeMallocTest) {
function TEST (line 405) | TEST(AddressSanitizer, MallocUsableSizeTest) {
function WrongFree (line 421) | void WrongFree() {
function TEST (line 429) | TEST(AddressSanitizer, WrongFreeTest) {
function DoubleFree (line 437) | void DoubleFree() {
function TEST (line 447) | TEST(AddressSanitizer, DoubleFreeTest) {
function NOINLINE (line 457) | NOINLINE void SizedStackTest() {
function TEST (line 472) | TEST(AddressSanitizer, SimpleStackTest) {
function TEST (line 493) | TEST(AddressSanitizer, ManyStackObjectsTest) {
function NOINLINE (line 506) | NOINLINE static void Frame0(int frame, char *a, char *b, char *c) {
function NOINLINE (line 516) | NOINLINE static void Frame1(int frame, char *a, char *b) {
function NOINLINE (line 520) | NOINLINE static void Frame2(int frame, char *a) {
function NOINLINE (line 524) | NOINLINE static void Frame3(int frame) {
function TEST (line 529) | TEST(AddressSanitizer, GuiltyStackFrame0Test) {
function TEST (line 532) | TEST(AddressSanitizer, GuiltyStackFrame1Test) {
function TEST (line 535) | TEST(AddressSanitizer, GuiltyStackFrame2Test) {
function TEST (line 538) | TEST(AddressSanitizer, GuiltyStackFrame3Test) {
function NOINLINE (line 543) | NOINLINE void LongJmpFunc1(jmp_buf buf) {
function NOINLINE (line 554) | NOINLINE void TouchStackFunc() {
function TEST (line 562) | TEST(AddressSanitizer, LongJmpTest) {
function NOINLINE (line 572) | NOINLINE void UnderscopeLongJmpFunc1(jmp_buf buf) {
function NOINLINE (line 583) | NOINLINE void SigLongJmpFunc1(sigjmp_buf buf) {
function NOINLINE (line 598) | NOINLINE void BuiltinLongJmpFunc1(jmp_buf buf) {
function TEST (line 611) | TEST(AddressSanitizer, BuiltinLongJmpTest) {
function TEST (line 623) | TEST(AddressSanitizer, UnderscopeLongJmpTest) {
function TEST (line 632) | TEST(AddressSanitizer, SigLongJmpTest) {
function NOINLINE (line 644) | NOINLINE void ThrowFunc() {
function TEST (line 655) | TEST(AddressSanitizer, CxxExceptionTest) {
function TEST (line 683) | TEST(AddressSanitizer, ThreadStackReuseTest) {
function TEST (line 693) | TEST(AddressSanitizer, Store128Test) {
function string (line 711) | string RightOOBErrorMessage(int oob_distance, bool is_write) {
function string (line 726) | string RightOOBWriteMessage(int oob_distance) {
function string (line 730) | string RightOOBReadMessage(int oob_distance) {
function string (line 750) | string LeftOOBWriteMessage(int oob_distance) {
function string (line 754) | string LeftOOBReadMessage(int oob_distance) {
function string (line 758) | string LeftOOBAccessMessage(int oob_distance) {
function TEST (line 787) | TEST(AddressSanitizer, pread) {
function TEST (line 791) | TEST(AddressSanitizer, pread64) {
function TEST (line 795) | TEST(AddressSanitizer, read) {
function TEST (line 802) | TEST(AddressSanitizer, DISABLED_MemIntrinsicUnalignedAccessTest) {
function NOINLINE (line 812) | NOINLINE static int LargeFunction(bool do_bad_access) {
function TEST (line 844) | TEST(AddressSanitizer, DISABLED_LargeFunctionSymbolizeTest) {
function TEST (line 852) | TEST(AddressSanitizer, DISABLED_MallocFreeUnwindAndSymbolizeTest) {
function TryToSetThreadName (line 860) | static bool TryToSetThreadName(const char *name) {
function ThreadedTestSpawn (line 889) | void ThreadedTestSpawn() {
function TEST (line 901) | TEST(AddressSanitizer, ThreadedTest) {
function TEST (line 926) | TEST(AddressSanitizer, ThreadNamesTest) {
function TEST (line 935) | TEST(AddressSanitizer, ShadowGapTest) {
function NOINLINE (line 950) | NOINLINE static void UseThenFreeThenUse() {
function TEST (line 958) | TEST(AddressSanitizer, UseThenFreeThenUseTest) {
function TEST (line 962) | TEST(AddressSanitizer, StrDupTest) {
function TEST (line 971) | TEST(AddressSanitizer, GlobalTest) {
function TEST (line 1020) | TEST(AddressSanitizer, GlobalStringConstTest) {
function TEST (line 1026) | TEST(AddressSanitizer, FileNameInGlobalReportTest) {
function TEST (line 1039) | TEST(AddressSanitizer, LocalReferenceR
Copy disabled (too large)
Download .json
Condensed preview — 4239 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (41,600K chars).
[
{
"path": ".github/ISSUE_TEMPLATE.md",
"chars": 296,
"preview": "请按照下面的规则提交您的issue,符合标准的issue会被优先处理,\n请先查看有没有同类型的issue已经存在.\n\n1. demo问题的issue格式: [demo]:title\n\n title尽量反应问题的状况,如果是编译问题或者无"
},
{
"path": ".gitignore",
"chars": 759,
"preview": "*.iml\n.gradle\n.idea/\n/local.properties\n/.idea/workspace.xml\n/.idea/libraries\n!.idea/codeStyleSettings.xml\n.DS_Store\n#/bu"
},
{
"path": ".gitmodules",
"chars": 501,
"preview": "[submodule \"atlas-aapt/build\"]\n\tpath = atlas-aapt/build\n\turl = https://android.googlesource.com/platform/build\n[submodul"
},
{
"path": "CONTRIBUTING.md",
"chars": 2790,
"preview": "# Atlas Contributing Guide\n\nWelcome to create [Pull Requests](https://github.com/alibaba/atlas/compare) or open [Issues]"
},
{
"path": "LICENSE",
"chars": 11357,
"preview": " Apache License\n Version 2.0, January 2004\n "
},
{
"path": "NOTICE",
"chars": 540,
"preview": "Atlas-Framework\nCopyright 2016 Alibaba Group\n\nThis product includes software developed at Alibaba Group. (http://www.ali"
},
{
"path": "README.md",
"chars": 3247,
"preview": "# Atlas\n\n[](https://github.com/aliba"
},
{
"path": "_config.yml",
"chars": 26,
"preview": "theme: jekyll-theme-cayman"
},
{
"path": "atlas-aapt/.gitignore",
"chars": 55,
"preview": ".idea/\n.ccache/\nout/\nout-x86_64/\nout-x86/\nShakaAaptBin/"
},
{
"path": "atlas-aapt/CMakeLists.txt",
"chars": 3090,
"preview": "cmake_minimum_required(VERSION 3.3)\nproject(ShakaAapt)\n\nset(CMAKE_CXX_FLAGS \"${CMAKE_CXX_FLAGS} -std=c++11\")\n\nset(AAPTRO"
},
{
"path": "atlas-aapt/Makefile",
"chars": 87,
"preview": "### DO NOT EDIT THIS FILE ###\ninclude build/core/main.mk\n### DO NOT EDIT THIS FILE ###\n"
},
{
"path": "atlas-aapt/README.md",
"chars": 1136,
"preview": "# atlas-aapt\n\nThis project base on [ShakaAapt](https://github.com/rover12421/ShakaAapt),which strip the necessary aapt c"
},
{
"path": "atlas-aapt/README.zh-cn.md",
"chars": 537,
"preview": "## atlas-aapt\n\n此项目基于[ShakaAapt](https://github.com/rover12421/ShakaAapt),该项目抽离了AOSP——android-7.0.0_r6中编译aapt的必要代码。\n\n## 编"
},
{
"path": "atlas-aapt/UpdateAndroidSource.sh",
"chars": 1227,
"preview": "#! /bin/bash\nSRCROOT=/Develop/android/source/android-last\nDESROOT=.\n\narray=( \\\n\tbionic/libc/include \\\n\texternal/compiler"
},
{
"path": "atlas-aapt/bionic/libc/include/alloca.h",
"chars": 1506,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/android/api-level.h",
"chars": 1638,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/android/dlext.h",
"chars": 5472,
"preview": "/*\n * Copyright (C) 2014 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
},
{
"path": "atlas-aapt/bionic/libc/include/android/legacy_errno_inlines.h",
"chars": 1675,
"preview": "/*\n * Copyright (C) 2015 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/android/legacy_signal_inlines.h",
"chars": 3236,
"preview": "/*\n * Copyright (C) 2015 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/android/legacy_stdlib_inlines.h",
"chars": 2355,
"preview": "/*\n * Copyright (C) 2015 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/android/legacy_sys_atomics_inlines.h",
"chars": 2807,
"preview": "/*\n * Copyright (C) 2015 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/android/legacy_sys_stat_inlines.h",
"chars": 1708,
"preview": "/*\n * Copyright (C) 2015 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/android/legacy_termios_inlines.h",
"chars": 3094,
"preview": "/*\n * Copyright (C) 2015 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/android/set_abort_message.h",
"chars": 1591,
"preview": "/*\n * Copyright (C) 2014 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/ar.h",
"chars": 2782,
"preview": "/*\t$OpenBSD: ar.h,v 1.3 2003/06/02 19:34:12 millert Exp $\t*/\n/*\t$NetBSD: ar.h,v 1.4 1994/10/26 00:55:43 cgd Exp $\t*/\n\n/*"
},
{
"path": "atlas-aapt/bionic/libc/include/arpa/inet.h",
"chars": 2063,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/arpa/nameser.h",
"chars": 24537,
"preview": "/*\t$NetBSD: nameser.h,v 1.25 2009/04/12 17:07:34 christos Exp $\t*/\n\n/*\n * Portions Copyright (C) 2004, 2005, 2008, 2009 "
},
{
"path": "atlas-aapt/bionic/libc/include/arpa/nameser_compat.h",
"chars": 6419,
"preview": "/*\t$NetBSD: nameser_compat.h,v 1.1.1.2 2004/11/07 01:28:27 christos Exp $\t*/\n\n/* Copyright (c) 1983, 1989\n * The Rege"
},
{
"path": "atlas-aapt/bionic/libc/include/arpa/telnet.h",
"chars": 10305,
"preview": "/*\n * Copyright (c) 1983, 1993\n *\tThe Regents of the University of California. All rights reserved.\n *\n * Redistributio"
},
{
"path": "atlas-aapt/bionic/libc/include/assert.h",
"chars": 2743,
"preview": "/*\t$OpenBSD: assert.h,v 1.12 2006/01/31 10:53:51 hshoexer Exp $\t*/\n/*\t$NetBSD: assert.h,v 1.6 1994/10/26 00:55:44 cgd Ex"
},
{
"path": "atlas-aapt/bionic/libc/include/bits/lockf.h",
"chars": 1729,
"preview": "/*\n * Copyright (C) 2016 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/bits/posix_limits.h",
"chars": 7747,
"preview": "/*\n * Copyright (C) 2014 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/bits/pthread_types.h",
"chars": 1730,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/bits/timespec.h",
"chars": 1729,
"preview": "/*\n * Copyright (C) 2014 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/bits/wchar_limits.h",
"chars": 1717,
"preview": "/*\n * Copyright (C) 2014 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/byteswap.h",
"chars": 1589,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/ctype.h",
"chars": 3614,
"preview": "/*\t$OpenBSD: ctype.h,v 1.19 2005/12/13 00:35:22 millert Exp $\t*/\n/*\t$NetBSD: ctype.h,v 1.14 1994/10/26 00:55:47 cgd Exp "
},
{
"path": "atlas-aapt/bionic/libc/include/dirent.h",
"chars": 3391,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/dlfcn.h",
"chars": 2763,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/elf.h",
"chars": 5836,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/endian.h",
"chars": 1486,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/err.h",
"chars": 2513,
"preview": "/*\t$OpenBSD: err.h,v 1.10 2006/01/06 18:53:04 millert Exp $\t*/\n/*\t$NetBSD: err.h,v 1.11 1994/10/26 00:55:52 cgd Exp $\t*/"
},
{
"path": "atlas-aapt/bionic/libc/include/errno.h",
"chars": 1987,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/error.h",
"chars": 1765,
"preview": "/*\n * Copyright (C) 2015 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/fcntl.h",
"chars": 4880,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/features.h",
"chars": 1550,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/fnmatch.h",
"chars": 2151,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/fts.h",
"chars": 5084,
"preview": "/*\t$OpenBSD: fts.h,v 1.12 2009/08/27 16:19:27 millert Exp $\t*/\n/*\t$NetBSD: fts.h,v 1.5 1994/12/28 01:41:50 mycroft Exp $"
},
{
"path": "atlas-aapt/bionic/libc/include/ftw.h",
"chars": 2515,
"preview": "/* $NetBSD: ftw.h,v 1.1 2005/12/30 23:07:33 agc Exp $ */\n\n/*\tFrom OpenBSD: ftw.h,v 1.1 2003/07/21 21:13:18 millert Exp \t"
},
{
"path": "atlas-aapt/bionic/libc/include/getopt.h",
"chars": 2748,
"preview": "/*\t$NetBSD: getopt.h,v 1.4 2000/07/07 10:43:54 ad Exp $\t*/\n/*\t$FreeBSD$ */\n\n/*-\n * Copyright (c) 2000 The NetBSD Foundat"
},
{
"path": "atlas-aapt/bionic/libc/include/grp.h",
"chars": 3064,
"preview": "/*\t$OpenBSD: grp.h,v 1.8 2005/12/13 00:35:22 millert Exp $\t*/\n/*\t$NetBSD: grp.h,v 1.7 1995/04/29 05:30:40 cgd Exp $\t*/\n\n"
},
{
"path": "atlas-aapt/bionic/libc/include/ifaddrs.h",
"chars": 1967,
"preview": "/*\n * Copyright (C) 2015 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/inttypes.h",
"chars": 9669,
"preview": "/*\t$OpenBSD: inttypes.h,v 1.9 2006/01/15 00:47:51 millert Exp $\t*/\n\n/*\n * Copyright (c) 1997, 2005 Todd C. Miller <Todd."
},
{
"path": "atlas-aapt/bionic/libc/include/lastlog.h",
"chars": 0,
"preview": ""
},
{
"path": "atlas-aapt/bionic/libc/include/libgen.h",
"chars": 2339,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/limits.h",
"chars": 2906,
"preview": "/*\t$OpenBSD: limits.h,v 1.13 2005/12/31 19:29:38 millert Exp $\t*/\n/*\t$NetBSD: limits.h,v 1.7 1994/10/26 00:56:00 cgd Exp"
},
{
"path": "atlas-aapt/bionic/libc/include/link.h",
"chars": 2385,
"preview": "/*\n * Copyright (C) 2012 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/locale.h",
"chars": 3709,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/machine/endian.h",
"chars": 1607,
"preview": "/*\n * Copyright (C) 2014 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/machine/ieee.h",
"chars": 3671,
"preview": "/*\t$OpenBSD: ieee.h,v 1.4 2011/11/08 17:06:51 deraadt Exp $\t*/\n/*\t$NetBSD: ieee.h,v 1.2 2001/02/21 17:43:50 bjh21 Exp $\t"
},
{
"path": "atlas-aapt/bionic/libc/include/malloc.h",
"chars": 2608,
"preview": "/*\n * Copyright (C) 2012 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
},
{
"path": "atlas-aapt/bionic/libc/include/memory.h",
"chars": 20,
"preview": "#include <string.h>\n"
},
{
"path": "atlas-aapt/bionic/libc/include/mntent.h",
"chars": 1911,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/net/ethernet.h",
"chars": 1512,
"preview": "/*\n * Copyright (C) 2011 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/net/ethertypes.h",
"chars": 17253,
"preview": "/*\t$NetBSD: ethertypes.h,v 1.17 2005/12/10 23:21:38 elad Exp $\t*/\n\n/*\n * Copyright (c) 1982, 1986, 1993\n *\tThe Regents o"
},
{
"path": "atlas-aapt/bionic/libc/include/net/if.h",
"chars": 1828,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/net/if_arp.h",
"chars": 50,
"preview": "#include <sys/socket.h>\n#include <linux/if_arp.h>\n"
},
{
"path": "atlas-aapt/bionic/libc/include/net/if_ether.h",
"chars": 7755,
"preview": "/*\t$NetBSD: if_ether.h,v 1.43 2006/11/24 01:04:30 rpaulo Exp $\t*/\n\n/*\n * Copyright (c) 1982, 1986, 1993\n *\tThe Regents o"
},
{
"path": "atlas-aapt/bionic/libc/include/net/if_ieee1394.h",
"chars": 4305,
"preview": "/*\t$NetBSD: if_ieee1394.h,v 1.6 2005/12/10 23:21:38 elad Exp $\t*/\n\n/*\n * Copyright (c) 2000 The NetBSD Foundation, Inc.\n"
},
{
"path": "atlas-aapt/bionic/libc/include/net/if_packet.h",
"chars": 29,
"preview": "#include <linux/if_packet.h>\n"
},
{
"path": "atlas-aapt/bionic/libc/include/net/if_types.h",
"chars": 13912,
"preview": "/*\t$NetBSD: if_types.h,v 1.26 2012/08/05 21:21:41 wiz Exp $\t*/\n\n/*\n * Copyright (c) 1989, 1993, 1994\n *\tThe Regents of t"
},
{
"path": "atlas-aapt/bionic/libc/include/net/route.h",
"chars": 1554,
"preview": "/*\n * Copyright (C) 2014 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/netdb.h",
"chars": 10102,
"preview": "/*-\n * Copyright (c) 1980, 1983, 1988, 1993\n *\tThe Regents of the University of California. All rights reserved.\n *\n * "
},
{
"path": "atlas-aapt/bionic/libc/include/netinet/ether.h",
"chars": 1424,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/netinet/icmp6.h",
"chars": 27145,
"preview": "/*\t$NetBSD: icmp6.h,v 1.47 2013/07/01 12:43:15 christos Exp $\t*/\n/*\t$KAME: icmp6.h,v 1.84 2003/04/23 10:26:51 itojun Exp"
},
{
"path": "atlas-aapt/bionic/libc/include/netinet/if_ether.h",
"chars": 1567,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/netinet/in.h",
"chars": 1916,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/netinet/in6.h",
"chars": 4263,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/netinet/in_systm.h",
"chars": 2407,
"preview": "/*\t$NetBSD: in_systm.h,v 1.13 2005/12/10 23:36:23 elad Exp $\t*/\n\n/*\n * Copyright (c) 1982, 1986, 1993\n *\tThe Regents of "
},
{
"path": "atlas-aapt/bionic/libc/include/netinet/ip.h",
"chars": 8270,
"preview": "/*\t$OpenBSD: ip.h,v 1.12 2006/04/27 02:19:32 tedu Exp $\t*/\n/*\t$NetBSD: ip.h,v 1.9 1995/05/15 01:22:44 cgd Exp $\t*/\n\n/*\n "
},
{
"path": "atlas-aapt/bionic/libc/include/netinet/ip6.h",
"chars": 10756,
"preview": "/*\t$NetBSD: ip6.h,v 1.23 2007/12/25 18:33:46 perry Exp $\t*/\n/*\t$KAME: ip6.h,v 1.45 2003/06/05 04:46:38 keiichi Exp $\t*/\n"
},
{
"path": "atlas-aapt/bionic/libc/include/netinet/ip_icmp.h",
"chars": 8480,
"preview": "/*\t$OpenBSD: ip_icmp.h,v 1.21 2005/07/31 03:30:55 pascoe Exp $\t*/\n/*\t$NetBSD: ip_icmp.h,v 1.10 1996/02/13 23:42:28 chris"
},
{
"path": "atlas-aapt/bionic/libc/include/netinet/tcp.h",
"chars": 2149,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/netinet/udp.h",
"chars": 1904,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/netpacket/packet.h",
"chars": 29,
"preview": "#include <linux/if_packet.h>\n"
},
{
"path": "atlas-aapt/bionic/libc/include/nsswitch.h",
"chars": 6761,
"preview": "/*\t$NetBSD: nsswitch.h,v 1.21 2011/07/17 20:54:34 joerg Exp $\t*/\n\n/*-\n * Copyright (c) 1997, 1998, 1999, 2004 The NetBSD"
},
{
"path": "atlas-aapt/bionic/libc/include/paths.h",
"chars": 2010,
"preview": "/*\n * Copyright (c) 1989, 1993\n *\tThe Regents of the University of California. All rights reserved.\n *\n * Redistributio"
},
{
"path": "atlas-aapt/bionic/libc/include/poll.h",
"chars": 3290,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/pthread.h",
"chars": 11921,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/pty.h",
"chars": 1698,
"preview": "/*\n * Copyright (C) 2014 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/pwd.h",
"chars": 5276,
"preview": "/*-\n * Copyright (c) 1989, 1993\n *\tThe Regents of the University of California. All rights reserved.\n * (c) UNIX System"
},
{
"path": "atlas-aapt/bionic/libc/include/regex.h",
"chars": 3719,
"preview": "/*\t$OpenBSD: regex.h,v 1.6 2003/06/02 19:34:12 millert Exp $\t*/\n/*\t$NetBSD: regex.h,v 1.4.6.1 1996/06/10 18:57:07 explor"
},
{
"path": "atlas-aapt/bionic/libc/include/resolv.h",
"chars": 2152,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/sched.h",
"chars": 5415,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/search.h",
"chars": 1112,
"preview": "/*-\n * Written by J.T. Conklin <jtc@netbsd.org>\n * Public domain.\n *\n *\t$NetBSD: search.h,v 1.12 1999/02/22 10:34:28 chr"
},
{
"path": "atlas-aapt/bionic/libc/include/semaphore.h",
"chars": 2009,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/setjmp.h",
"chars": 2472,
"preview": "/*\t$OpenBSD: setjmp.h,v 1.5 2005/12/13 00:35:22 millert Exp $\t*/\n/*\t$NetBSD: setjmp.h,v 1.11 1994/12/20 10:35:44 cgd Exp"
},
{
"path": "atlas-aapt/bionic/libc/include/sgtty.h",
"chars": 1942,
"preview": "/*\t$NetBSD: sgtty.h,v 1.8 2005/02/03 04:39:32 perry Exp $\t*/\n\n/*\n * Copyright (c) 1985, 1993\n *\tThe Regents of the Unive"
},
{
"path": "atlas-aapt/bionic/libc/include/signal.h",
"chars": 4654,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/stdatomic.h",
"chars": 19660,
"preview": "/*-\n * Copyright (c) 2011 Ed Schouten <ed@FreeBSD.org>\n * David Chisnall <theraven@FreeBSD.org>\n * Al"
},
{
"path": "atlas-aapt/bionic/libc/include/stdint.h",
"chars": 6640,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/stdio.h",
"chars": 14480,
"preview": "/*\t$OpenBSD: stdio.h,v 1.35 2006/01/13 18:10:09 miod Exp $\t*/\n/*\t$NetBSD: stdio.h,v 1.18 1996/04/25 18:29:21 jtc Exp $\t*"
},
{
"path": "atlas-aapt/bionic/libc/include/stdio_ext.h",
"chars": 1871,
"preview": "/*\n * Copyright (C) 2014 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/stdlib.h",
"chars": 6312,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/string.h",
"chars": 12471,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/strings.h",
"chars": 2794,
"preview": "/*\t$NetBSD: strings.h,v 1.10 2005/02/03 04:39:32 perry Exp $\t*/\n\n/*-\n * Copyright (c) 1998 The NetBSD Foundation, Inc.\n "
},
{
"path": "atlas-aapt/bionic/libc/include/sys/_errdefs.h",
"chars": 10411,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/sys/_sigdefs.h",
"chars": 3070,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/sys/_system_properties.h",
"chars": 6720,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/sys/atomics.h",
"chars": 1944,
"preview": "/*\n * Copyright (C) 2015 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/sys/auxv.h",
"chars": 1599,
"preview": "/*\n * Copyright (C) 2013 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/sys/cachectl.h",
"chars": 1598,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/sys/capability.h",
"chars": 1725,
"preview": "/*\n * Copyright (C) 2013 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/sys/cdefs.h",
"chars": 15704,
"preview": "/*\t$NetBSD: cdefs.h,v 1.58 2004/12/11 05:59:00 christos Exp $\t*/\n\n/*\n * Copyright (c) 1991, 1993\n *\tThe Regents of the U"
},
{
"path": "atlas-aapt/bionic/libc/include/sys/endian.h",
"chars": 3314,
"preview": "/*-\n * Copyright (c) 1997 Niklas Hallqvist. All rights reserved.\n *\n * Redistribution and use in source and binary form"
},
{
"path": "atlas-aapt/bionic/libc/include/sys/epoll.h",
"chars": 2667,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/sys/errno.h",
"chars": 19,
"preview": "#include <errno.h>\n"
},
{
"path": "atlas-aapt/bionic/libc/include/sys/eventfd.h",
"chars": 1828,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/sys/fcntl.h",
"chars": 19,
"preview": "#include <fcntl.h>\n"
},
{
"path": "atlas-aapt/bionic/libc/include/sys/file.h",
"chars": 1585,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/sys/fsuid.h",
"chars": 1603,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/sys/glibc-syscalls.h",
"chars": 63695,
"preview": "/* Generated by gensyscalls.py. Do not edit. */\n#ifndef _BIONIC_GLIBC_SYSCALLS_H_\n#define _BIONIC_GLIBC_SYSCALLS_H_\n#if "
},
{
"path": "atlas-aapt/bionic/libc/include/sys/inotify.h",
"chars": 1884,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/sys/ioctl.h",
"chars": 1840,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/sys/ioctl_compat.h",
"chars": 7061,
"preview": "/*\t$NetBSD: ioctl_compat.h,v 1.15 2005/12/03 17:10:46 christos Exp $\t*/\n\n/*\n * Copyright (c) 1990, 1993\n *\tThe Regents o"
},
{
"path": "atlas-aapt/bionic/libc/include/sys/ipc.h",
"chars": 1608,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/sys/klog.h",
"chars": 1953,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/sys/limits.h",
"chars": 4468,
"preview": "/* $OpenBSD: limits.h,v 1.6 2005/12/13 00:35:23 millert Exp $ */\n/*\n * Copyright (c) 2002 Marc Espie.\n *\n * Redistributi"
},
{
"path": "atlas-aapt/bionic/libc/include/sys/mman.h",
"chars": 2698,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/sys/mount.h",
"chars": 1831,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/sys/msg.h",
"chars": 1489,
"preview": "/*\n * Copyright (C) 2014 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/sys/param.h",
"chars": 1870,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/sys/personality.h",
"chars": 1620,
"preview": "/*\n * Copyright (C) 2012 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/sys/poll.h",
"chars": 18,
"preview": "#include <poll.h>\n"
},
{
"path": "atlas-aapt/bionic/libc/include/sys/prctl.h",
"chars": 1582,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/sys/procfs.h",
"chars": 1867,
"preview": "/*\n * Copyright (C) 2014 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/sys/ptrace.h",
"chars": 2436,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/sys/queue.h",
"chars": 18990,
"preview": "/*\n * Copyright (c) 1991, 1993\n *\tThe Regents of the University of California. All rights reserved.\n *\n * Redistributio"
},
{
"path": "atlas-aapt/bionic/libc/include/sys/reboot.h",
"chars": 1864,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/sys/reg.h",
"chars": 2173,
"preview": "/*\n * Copyright (C) 2014 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/sys/resource.h",
"chars": 2209,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/sys/select.h",
"chars": 2908,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/sys/sem.h",
"chars": 1489,
"preview": "/*\n * Copyright (C) 2014 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/sys/sendfile.h",
"chars": 1858,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/sys/signal.h",
"chars": 20,
"preview": "#include <signal.h>\n"
},
{
"path": "atlas-aapt/bionic/libc/include/sys/signalfd.h",
"chars": 1657,
"preview": "/*\n * Copyright (C) 2013 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/sys/socket.h",
"chars": 9120,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/sys/socketcalls.h",
"chars": 3018,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/sys/stat.h",
"chars": 5768,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/sys/statfs.h",
"chars": 21,
"preview": "#include <sys/vfs.h>\n"
},
{
"path": "atlas-aapt/bionic/libc/include/sys/statvfs.h",
"chars": 1966,
"preview": "/*\n * Copyright (C) 2013 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
},
{
"path": "atlas-aapt/bionic/libc/include/sys/swap.h",
"chars": 1754,
"preview": "/*\n * Copyright (C) 2013 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/sys/syscall.h",
"chars": 1677,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/sys/sysconf.h",
"chars": 7949,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/sys/sysinfo.h",
"chars": 1699,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/sys/syslimits.h",
"chars": 0,
"preview": ""
},
{
"path": "atlas-aapt/bionic/libc/include/sys/syslog.h",
"chars": 20,
"preview": "#include <syslog.h>\n"
},
{
"path": "atlas-aapt/bionic/libc/include/sys/sysmacros.h",
"chars": 1885,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/sys/system_properties.h",
"chars": 3846,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/sys/time.h",
"chars": 3508,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/sys/timerfd.h",
"chars": 1949,
"preview": "/*\n * Copyright (C) 2013 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/sys/times.h",
"chars": 1607,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/sys/timex.h",
"chars": 1646,
"preview": "/*\n * Copyright (C) 2014 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/sys/ttychars.h",
"chars": 0,
"preview": ""
},
{
"path": "atlas-aapt/bionic/libc/include/sys/ttydefaults.h",
"chars": 3786,
"preview": "/*\t$NetBSD: ttydefaults.h,v 1.16 2008/05/24 14:06:39 yamt Exp $\t*/\n\n/*-\n * Copyright (c) 1982, 1986, 1993\n *\tThe Regents"
},
{
"path": "atlas-aapt/bionic/libc/include/sys/ttydev.h",
"chars": 0,
"preview": ""
},
{
"path": "atlas-aapt/bionic/libc/include/sys/types.h",
"chars": 4854,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/sys/ucontext.h",
"chars": 6335,
"preview": "/*\n * Copyright (C) 2014 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/sys/uio.h",
"chars": 2371,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/sys/un.h",
"chars": 1521,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/sys/unistd.h",
"chars": 20,
"preview": "#include <unistd.h>\n"
},
{
"path": "atlas-aapt/bionic/libc/include/sys/user.h",
"chars": 5642,
"preview": "/*\n * Copyright (C) 2013 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/sys/utime.h",
"chars": 1496,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/sys/utsname.h",
"chars": 1799,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/sys/vfs.h",
"chars": 4581,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/sys/vt.h",
"chars": 22,
"preview": "#include <linux/vt.h>\n"
},
{
"path": "atlas-aapt/bionic/libc/include/sys/wait.h",
"chars": 2434,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/sys/xattr.h",
"chars": 2490,
"preview": "/*\n * Copyright (C) 2012 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/syscall.h",
"chars": 25,
"preview": "#include <sys/syscall.h>\n"
},
{
"path": "atlas-aapt/bionic/libc/include/sysexits.h",
"chars": 5448,
"preview": "/*\t$OpenBSD: sysexits.h,v 1.5 2003/06/02 19:34:12 millert Exp $\t*/\n/*\t$NetBSD: sysexits.h,v 1.4 1994/10/26 00:56:33 cgd "
},
{
"path": "atlas-aapt/bionic/libc/include/syslog.h",
"chars": 3126,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/termio.h",
"chars": 1533,
"preview": "/*\n * Copyright (C) 2010 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/termios.h",
"chars": 2118,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/time.h",
"chars": 4057,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/time64.h",
"chars": 2018,
"preview": "/*\n\nCopyright (c) 2007-2008 Michael G Schwern\n\nThis software originally derived from Paul Sheer's pivotal_gmtime_r.c.\n\n"
},
{
"path": "atlas-aapt/bionic/libc/include/uchar.h",
"chars": 2135,
"preview": "/*\n * Copyright (C) 2014 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/ucontext.h",
"chars": 1495,
"preview": "/*\n * Copyright (C) 2014 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/unistd.h",
"chars": 18234,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/util.h",
"chars": 0,
"preview": ""
},
{
"path": "atlas-aapt/bionic/libc/include/utime.h",
"chars": 1614,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/utmp.h",
"chars": 2769,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/wait.h",
"chars": 22,
"preview": "#include <sys/wait.h>\n"
},
{
"path": "atlas-aapt/bionic/libc/include/wchar.h",
"chars": 8002,
"preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/wctype.h",
"chars": 2181,
"preview": "/*\n * Copyright (C) 2014 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/bionic/libc/include/xlocale.h",
"chars": 1591,
"preview": "/*\n * Copyright (C) 2014 The Android Open Source Project\n * All rights reserved.\n *\n * Redistribution and use in source "
},
{
"path": "atlas-aapt/build_ShakaAapt_all_in_linux.sh",
"chars": 992,
"preview": "#! /bin/bash\n#43\n\nexport Project=ShakaAapt\nexport BUILD_NUMBER=$Project.$(date +%Y%m%d.%H%M%S)\nexport BinDir=ShakaAaptBi"
},
{
"path": "atlas-aapt/build_ShakaAapt_all_in_maxos.sh",
"chars": 972,
"preview": "#! /bin/bash\n\nexport Project=ShakaAapt\nexport BUILD_NUMBER=$Project.$(date +%Y%m%d.%H%M%S)\nexport BinDir=ShakaAaptBin\n\ne"
},
{
"path": "atlas-aapt/external/compiler-rt/.arcconfig",
"chars": 81,
"preview": "{\n \"project_id\" : \"compiler-rt\",\n \"conduit_uri\" : \"http://reviews.llvm.org/\"\n}\n"
},
{
"path": "atlas-aapt/external/compiler-rt/.gitignore",
"chars": 44,
"preview": "*~\ndarwin_fat\nclang_darwin\nmulti_arch\n*.sw?\n"
},
{
"path": "atlas-aapt/external/compiler-rt/Android.bp",
"chars": 14839,
"preview": "//\n// Copyright (C) 2012 The Android Open Source Project\n//\n// Licensed under the Apache License, Version 2.0 (the \"Lice"
}
]
// ... and 4039 more files (download for full content)
About this extraction
This page contains the full source code of the alibaba/atlas GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 4239 files (37.8 MB), approximately 10.2M tokens, and a symbol index with 27769 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.